@inkeep/open-knowledge 0.47.0-beta.22 → 0.47.0-beta.24

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 (293) hide show
  1. package/dist/{acp-harness-probe-DT9_Vxdv.mjs → acp-harness-probe-BPks3re6.mjs} +2 -2
  2. package/dist/cli.mjs +7 -7
  3. package/dist/constants-Bl3T2s5_.mjs +2 -0
  4. package/dist/{git-handle-D0JshIxh.mjs → git-handle-DDjBzdsL.mjs} +2 -2
  5. package/dist/git-handle-DtHx3JAy.mjs +1 -0
  6. package/dist/index.mjs +1 -1
  7. package/dist/{init-BAn_74tu.mjs → init-BlIyUl5L.mjs} +3 -3
  8. package/dist/init-zA2hg8qJ.mjs +1 -0
  9. package/dist/{launch-json-removal-BfBphAFi.mjs → launch-json-removal-Do5NOg5V.mjs} +2 -2
  10. package/dist/loader-D1HAG2hm.mjs +1 -0
  11. package/dist/{loader-Cn_VO29L.mjs → loader-D8rLVR12.mjs} +2 -2
  12. package/dist/md-manager-BURSRub5.mjs +2 -0
  13. package/dist/{open-browser-TU_nA_Sm.mjs → open-browser-71rCCeYe.mjs} +2 -2
  14. package/dist/parse-worker.mjs +1 -1
  15. package/dist/{preview-BxddJAc3.mjs → preview-C5KSgDYk.mjs} +2 -2
  16. package/dist/preview-DCwK6Hwd.mjs +1 -0
  17. package/dist/public/assets/{ActivityModeContent-D3YT_cL3.js → ActivityModeContent-DuB-iCkm.js} +1 -1
  18. package/dist/public/assets/{AgentDiffPane-BCIrjLxd.js → AgentDiffPane-B75Uq4pi.js} +1 -1
  19. package/dist/public/assets/{AgentThreadClientBinder-BdHHup4k.js → AgentThreadClientBinder-DWbG4rs8.js} +1 -1
  20. package/dist/public/assets/{AppMenubar-CD82DZmT.js → AppMenubar-_6okky_d.js} +1 -1
  21. package/dist/public/assets/{BugReportHistory-B_qUtT_t.js → BugReportHistory-C_4-NQ-j.js} +1 -1
  22. package/dist/public/assets/{BugReportHistoryDialog-CZdY9Wqt.js → BugReportHistoryDialog-DgM3N4RP.js} +1 -1
  23. package/dist/public/assets/{ChangedOutsideBadge--Hze6vD1.js → ChangedOutsideBadge-DpdgoiRI.js} +1 -1
  24. package/dist/public/assets/{CodeMirrorPropInput-BfYJOB1U.js → CodeMirrorPropInput-NYH7mMLe.js} +3 -3
  25. package/dist/public/assets/{ConfigSharingInfoTooltip-D_b3sMDA.js → ConfigSharingInfoTooltip-BhNgrS2h.js} +1 -1
  26. package/dist/public/assets/{ConsentDialogBody-TldLlXQA.js → ConsentDialogBody-CAqiYyjs.js} +1 -1
  27. package/dist/public/assets/{CopyButton-D6N3opvE.js → CopyButton-DfXJBl0I.js} +1 -1
  28. package/dist/public/assets/{DiffView-by44lBMn.js → DiffView-Bc5gwnAV.js} +1 -1
  29. package/dist/public/assets/DocumentContext-CVei5hwk.js +38 -0
  30. package/dist/public/assets/EditorModeToggle-BnrXtDGP.js +1 -0
  31. package/dist/public/assets/{EnableSyncConfirmDialog-wfbNMORg.js → EnableSyncConfirmDialog-B91n0qh5.js} +1 -1
  32. package/dist/public/assets/FeedbackForm-DQmBPzt_.js +1 -0
  33. package/dist/public/assets/{GraphPanel-DcFOscrG.js → GraphPanel-CCCwgc9t.js} +1 -1
  34. package/dist/public/assets/{ImportSkillDialog-C21eWM_C.js → ImportSkillDialog-B5ni7CCI.js} +1 -1
  35. package/dist/public/assets/{LintConfigEditor-yHM3zNKy.js → LintConfigEditor-DG_zgeXb.js} +1 -1
  36. package/dist/public/assets/ManagedArtifactProperties-DJymAMN1.js +2 -0
  37. package/dist/public/assets/ManagedArtifactProperties-QFkCtGJR.js +1 -0
  38. package/dist/public/assets/{McpConsentDialogBody-DMOmHuL7.js → McpConsentDialogBody-0WUuivuI.js} +1 -1
  39. package/dist/public/assets/{Mermaid-DeqR50Io.js → Mermaid-DT9lZOmy.js} +2 -2
  40. package/dist/public/assets/{MermaidDocEditor-Brsvw0SI.js → MermaidDocEditor-12ZzEU48.js} +1 -1
  41. package/dist/public/assets/{RegisteredAgentIcon-MOyQ-5gc.js → RegisteredAgentIcon-CSZXCqwG.js} +1 -1
  42. package/dist/public/assets/{ReportBugDialogBody-et6slT5A.js → ReportBugDialogBody-Bz6zj2ya.js} +1 -1
  43. package/dist/public/assets/{SchemaConfigEditor-CDfilRoj.js → SchemaConfigEditor-DGxUvYyB.js} +1 -1
  44. package/dist/public/assets/SessionsHost-BH50_eFP.js +2 -0
  45. package/dist/public/assets/{SettingsDialogBody-CHz-Z6pp.js → SettingsDialogBody-CyGsQNAO.js} +4 -4
  46. package/dist/public/assets/{ShareBranchSwitchDialog-Cq3P5fIG.js → ShareBranchSwitchDialog-LWhsqKpx.js} +1 -1
  47. package/dist/public/assets/{ShareReceiveDialog-BZMp2nd8.js → ShareReceiveDialog-DkiMKpYB.js} +1 -1
  48. package/dist/public/assets/{ShareReceiveMissDialog-CtBVQ8M0.js → ShareReceiveMissDialog-C9V4r0vs.js} +1 -1
  49. package/dist/public/assets/{SkillEditBanner-vKY168Q9.js → SkillEditBanner-BKknMb0n.js} +1 -1
  50. package/dist/public/assets/{SkillOriginInline-DgP96Q7o.js → SkillOriginInline-BTfGYiOL.js} +1 -1
  51. package/dist/public/assets/SkillToolbarControls-nCRioYT2.js +1 -0
  52. package/dist/public/assets/SourceEditor-D2J2t0c8.js +1 -0
  53. package/dist/public/assets/{TerminalPanel-D_zDvWvD.js → TerminalPanel-DpTpMxPr.js} +1 -1
  54. package/dist/public/assets/{TerminalWindowApp-CYCVh6Qa.js → TerminalWindowApp-DotNnKMi.js} +1 -1
  55. package/dist/public/assets/{TextDocEditor-BL_-QkB7.js → TextDocEditor-C3XHScUY.js} +1 -1
  56. package/dist/public/assets/ThreadView-BCuQvbQ_.js +6 -0
  57. package/dist/public/assets/{TimelineDiffPane-Dqrp96vQ.js → TimelineDiffPane-DBlFCBvs.js} +1 -1
  58. package/dist/public/assets/{abnfDiagram-VRR7QNED-BnbsMtSZ.js → abnfDiagram-VRR7QNED-Df7YgB-u.js} +1 -1
  59. package/dist/public/assets/{agent-diff-store-x2lZWEbT.js → agent-diff-store-B5tmyxfC.js} +1 -1
  60. package/dist/public/assets/{agent-visibility-DooA6q6Y.js → agent-visibility-pSgQW56D.js} +1 -1
  61. package/dist/public/assets/{architectureDiagram-ZJ3FMSHR-Dosr6E3U.js → architectureDiagram-ZJ3FMSHR-Cid8pwpH.js} +1 -1
  62. package/dist/public/assets/arrow-up-right-Gp4MuO-g.js +1 -0
  63. package/dist/public/assets/{auth-state-cache-UtyGZJkf.js → auth-state-cache-mfYXD_PQ.js} +4 -4
  64. package/dist/public/assets/{blockDiagram-677ZJIJ3-DlZp8ItG.js → blockDiagram-677ZJIJ3-CbwD0mr1.js} +1 -1
  65. package/dist/public/assets/{braces-BG3bQFuB.js → braces-PuTG97X6.js} +1 -1
  66. package/dist/public/assets/{c4Diagram-LMCZKHZV-ET_5c2OJ.js → c4Diagram-LMCZKHZV-CZHW-U3Z.js} +1 -1
  67. package/dist/public/assets/{calendar-DQGpktO3.js → calendar-Dze0sDp0.js} +1 -1
  68. package/dist/public/assets/{case-sensitive-DjnVZ1Bg.js → case-sensitive-DyF7sIpA.js} +1 -1
  69. package/dist/public/assets/channel-BBYqtvcN.js +1 -0
  70. package/dist/public/assets/check-DLRoQSSY.js +1 -0
  71. package/dist/public/assets/{checkbox-IqSEcunZ.js → checkbox-DqQC4GOw.js} +1 -1
  72. package/dist/public/assets/{chevron-down-BeptYHqQ.js → chevron-down-CRb8csep.js} +1 -1
  73. package/dist/public/assets/chevron-left-BRFq0qcJ.js +1 -0
  74. package/dist/public/assets/chevron-right-BjiB8LDf.js +1 -0
  75. package/dist/public/assets/{chevron-up-rNlu7Zrz.js → chevron-up-BZk9M0QL.js} +1 -1
  76. package/dist/public/assets/{chunk-32BRIVSS-DNo-6ebx.js → chunk-32BRIVSS-DT6F-uh7.js} +1 -1
  77. package/dist/public/assets/{chunk-52WLFC77-C6b3SFZy.js → chunk-52WLFC77-z8Dc0FTi.js} +1 -1
  78. package/dist/public/assets/{chunk-BO2N2NFS-B4sTS3Wn.js → chunk-BO2N2NFS-CC8ch_fx.js} +4 -4
  79. package/dist/public/assets/{chunk-C7G6YPKG-DUEN2-Z_.js → chunk-C7G6YPKG-CfSnkt3g.js} +1 -1
  80. package/dist/public/assets/{chunk-EX3LRPZG-yoDTr-PU.js → chunk-EX3LRPZG-Bk_23Lji.js} +1 -1
  81. package/dist/public/assets/{chunk-FWX5IMBZ-BiIbzhiq.js → chunk-FWX5IMBZ-Bcld6_cI.js} +2 -2
  82. package/dist/public/assets/{chunk-HOUHSVGY-Badw-z6W.js → chunk-HOUHSVGY-CFg4tiNL.js} +1 -1
  83. package/dist/public/assets/{chunk-ICXQ74PX-D2JPv1Gr.js → chunk-ICXQ74PX-D2_LgSCG.js} +1 -1
  84. package/dist/public/assets/{chunk-MOJQB5TN-DcXz8tHG.js → chunk-MOJQB5TN-ChUfYEEn.js} +1 -1
  85. package/dist/public/assets/{chunk-OGEWGWER-Cb9fL0HE.js → chunk-OGEWGWER-CivbNyHY.js} +1 -1
  86. package/dist/public/assets/{chunk-PUDLZKDR-BaaHT_On.js → chunk-PUDLZKDR-B7d6ISYj.js} +1 -1
  87. package/dist/public/assets/{chunk-Q4XR5HBZ-BwhG6EW6.js → chunk-Q4XR5HBZ-91W5kPi9.js} +1 -1
  88. package/dist/public/assets/{chunk-V7JOEXUC-BkqBW0FT.js → chunk-V7JOEXUC-Bw7Trikr.js} +1 -1
  89. package/dist/public/assets/{chunk-VAUOI2AC-CgZT0oz9.js → chunk-VAUOI2AC-B4WVYMGW.js} +1 -1
  90. package/dist/public/assets/{chunk-VR4S4FIN-uOOHuLS4.js → chunk-VR4S4FIN-td2s33cT.js} +1 -1
  91. package/dist/public/assets/{chunk-WYO6CB5R-vMJfXjXv.js → chunk-WYO6CB5R-BL3R8kzV.js} +1 -1
  92. package/dist/public/assets/{chunk-ZGVPDNZ5-Dg2m5m88.js → chunk-ZGVPDNZ5-DdQ8WlYq.js} +1 -1
  93. package/dist/public/assets/classDiagram-OUVF2IWQ-CusZeKDE.js +1 -0
  94. package/dist/public/assets/classDiagram-v2-EOCWNBFH-3Dd_UHkU.js +1 -0
  95. package/dist/public/assets/{client-version-BeO7mg7I.js → client-version-BDizBXog.js} +1 -1
  96. package/dist/public/assets/{cm-theme-hkm-VXmY.js → cm-theme-CUwlOcHl.js} +1 -1
  97. package/dist/public/assets/comment-chips-B6PdhPjL.js +7 -0
  98. package/dist/public/assets/{config-context-DO4l6dU6.js → config-context-BwIW8FCz.js} +1 -1
  99. package/dist/public/assets/{config-provider-BmNEf-_4.js → config-provider-DtD0bu1I.js} +1 -1
  100. package/dist/public/assets/{cynefinDiagram-TSTJHNR4-BN7bqTzy.js → cynefinDiagram-TSTJHNR4-BRxY_0dy.js} +1 -1
  101. package/dist/public/assets/{dagre-VKFMJZFB-DlQyYi34.js → dagre-VKFMJZFB-BTPOxYfv.js} +1 -1
  102. package/dist/public/assets/{diagram-FQU43EPY-DaKZOj7t.js → diagram-FQU43EPY-C6lvEDUr.js} +1 -1
  103. package/dist/public/assets/{diagram-G47NLZAW-DjL0bkk2.js → diagram-G47NLZAW-BHMtTNZp.js} +1 -1
  104. package/dist/public/assets/{diagram-NH7WQ7WH-BFVKsCaX.js → diagram-NH7WQ7WH-CaxSgclq.js} +1 -1
  105. package/dist/public/assets/{diagram-OA4YK3LP-CXLUBG3X.js → diagram-OA4YK3LP-C_1H_cmz.js} +1 -1
  106. package/dist/public/assets/{diagram-WEI45ONY-4JXEHpGs.js → diagram-WEI45ONY-hy5nz4b2.js} +1 -1
  107. package/dist/public/assets/{dialog-CCQHftjy.js → dialog-DwFomKjP.js} +1 -1
  108. package/dist/public/assets/{dist-BkKhGRrp2.js → dist-AhKSYQhE2.js} +1 -1
  109. package/dist/public/assets/{dist-D-N_uAqc.js → dist-BHX9GuTC.js} +1 -1
  110. package/dist/public/assets/{dist-B3siOv8e.js → dist-BX-8uxZE.js} +1 -1
  111. package/dist/public/assets/{dist-EhhPm2QX.js → dist-C7PQBily.js} +1 -1
  112. package/dist/public/assets/{dist-6M032-rx.js → dist-CFDOSoEm.js} +1 -1
  113. package/dist/public/assets/{dist-DOpBKTtD.js → dist-CJtNQVui.js} +1 -1
  114. package/dist/public/assets/{dist-Cq2eW_l0.js → dist-CdZbZpjt.js} +1 -1
  115. package/dist/public/assets/{dist-C11p0Ish.js → dist-Cz7Q9WAs.js} +1 -1
  116. package/dist/public/assets/{dist-CLzUuFWF2.js → dist-DYnLkWYw2.js} +186 -185
  117. package/dist/public/assets/{dist-p_jJ7IYj.js → dist-DdN4_oB-.js} +1 -1
  118. package/dist/public/assets/{dist-DmIoZuDL.js → dist-DgD72kci.js} +1 -1
  119. package/dist/public/assets/{dist-DYeLFwEq.js → dist-HbUc9U1a.js} +1 -1
  120. package/dist/public/assets/{dist-DTdK5ajW.js → dist-aEzrjz-4.js} +1 -1
  121. package/dist/public/assets/{dist-lPnSB2_D.js → dist-zYQJXuRH.js} +1 -1
  122. package/dist/public/assets/{doc-paths-D7j_eEce.js → doc-paths-zGDWSnP4.js} +1 -1
  123. package/dist/public/assets/{documents-events-BXEDUEK0.js → documents-events-DrpYhlm4.js} +1 -1
  124. package/dist/public/assets/{download-DlaLrCD-.js → download-QOlmqXQ8.js} +1 -1
  125. package/dist/public/assets/{dropdown-menu-AlVJ7dJz.js → dropdown-menu-DRytYgB4.js} +1 -1
  126. package/dist/public/assets/{ebnfDiagram-CCIWWBDH-BYS8OeyH.js → ebnfDiagram-CCIWWBDH-CSOwp-KN.js} +1 -1
  127. package/dist/public/assets/{erDiagram-Q63AITRT-DJnXYkWL.js → erDiagram-Q63AITRT-CulC3etm.js} +1 -1
  128. package/dist/public/assets/{eye-BIA1oECU.js → eye-CArKS_Md.js} +1 -1
  129. package/dist/public/assets/{field-7smx8aeY.js → field-iFofWrdC.js} +1 -1
  130. package/dist/public/assets/file-tree-adapter-VrQojY1R.js +1 -0
  131. package/dist/public/assets/{file-tree-utils-Ce34hqQC.js → file-tree-utils-DwQGrZOA.js} +1 -1
  132. package/dist/public/assets/flowDiagram-23GEKE2U-BKkbdW0r.js +1 -0
  133. package/dist/public/assets/{folder-DcWlgZbb.js → folder-DxrU2PLH.js} +1 -1
  134. package/dist/public/assets/{folder-config-api-B4ZIaRYS.js → folder-config-api-hHnKg-gr.js} +1 -1
  135. package/dist/public/assets/{folder-open-Ceue91os.js → folder-open-ee990ToL.js} +1 -1
  136. package/dist/public/assets/{follow-file-B0woPClO.js → follow-file-nrgaErEm.js} +1 -1
  137. package/dist/public/assets/{form-D-Z78Sh8.js → form-CGbOgaUs.js} +1 -1
  138. package/dist/public/assets/{ganttDiagram-NO4QXBWP-DItaKOAF.js → ganttDiagram-NO4QXBWP-iVPMtR6h.js} +1 -1
  139. package/dist/public/assets/{git-branch-le6ClqcQ.js → git-branch-B0WeYwW-.js} +1 -1
  140. package/dist/public/assets/{gitGraphDiagram-IHSO6WYX-DHQDAgYw.js → gitGraphDiagram-IHSO6WYX-DdI0uf23.js} +1 -1
  141. package/dist/public/assets/globals-9XRqGE59.css +1 -0
  142. package/dist/public/assets/{globals-C8FNtceU.js → globals-C8FRwDSr.js} +1 -1
  143. package/dist/public/assets/{hash-BXtq910s.js → hash-CDGtqqEo.js} +1 -1
  144. package/dist/public/assets/{highlighted-body-OFNGDK62-B67nCp45.js → highlighted-body-OFNGDK62-nVG7xLpg.js} +1 -1
  145. package/dist/public/assets/index-CD_SIoDr.js +2092 -0
  146. package/dist/public/assets/{info-BO0f2XRt.js → info-BnJuC0vW.js} +1 -1
  147. package/dist/public/assets/{infoDiagram-FWYZ7A6U-DEoYqFCv.js → infoDiagram-FWYZ7A6U-CCLCXbok.js} +1 -1
  148. package/dist/public/assets/{input-group-DySyX67I.js → input-group-BgDCDWUR.js} +1 -1
  149. package/dist/public/assets/{ishikawaDiagram-FXEZZL3T-nCaxlJmo.js → ishikawaDiagram-FXEZZL3T-DYNfj8DM.js} +1 -1
  150. package/dist/public/assets/{journeyDiagram-5HDEW3XC-SSk-SIOT.js → journeyDiagram-5HDEW3XC-D3IdBiiM.js} +1 -1
  151. package/dist/public/assets/{kanban-definition-HUTT4EX6-DRKBtZF0.js → kanban-definition-HUTT4EX6-CF_ZN-jM.js} +1 -1
  152. package/dist/public/assets/{line-D6Xvw2WQ.js → line-BA7emVey.js} +1 -1
  153. package/dist/public/assets/{lint-config-client-5M2PwjWj.js → lint-config-client-iegX1n8T.js} +1 -1
  154. package/dist/public/assets/loader-circle-B0OUuKph.js +1 -0
  155. package/dist/public/assets/local-menu-action-bus-iy6v2osW.js +1 -0
  156. package/dist/public/assets/{markdownlint-rule-browser-Bh_v81ob.js → markdownlint-rule-browser-DLGYhzDM.js} +1 -1
  157. package/dist/public/assets/mermaid-GHXKKRXX-uJrCvmwj.js +1 -0
  158. package/dist/public/assets/{mermaid.core-PVP9iSLZ.js → mermaid.core-gcfl0bT0.js} +3 -3
  159. package/dist/public/assets/{mindmap-definition-LN4V7U3C-DZarlxka.js → mindmap-definition-LN4V7U3C-9ySd_DkR.js} +1 -1
  160. package/dist/public/assets/minus-CKcpBpdR.js +1 -0
  161. package/dist/public/assets/{miss-dialog-store-BGDBpPYJ.js → miss-dialog-store-B3cHkf8G.js} +1 -1
  162. package/dist/public/assets/navigation-targets-BCEN_wqJ.js +1 -0
  163. package/dist/public/assets/{open-managed-artifact-tab-CD2IVH49.js → open-managed-artifact-tab-CkjRYJU3.js} +1 -1
  164. package/dist/public/assets/{panel-right-open-DuqyjMS8.js → panel-right-open-Cc56I_GE.js} +1 -1
  165. package/dist/public/assets/{paperclip-BDIpg8Sx.js → paperclip-D7KMFbO9.js} +1 -1
  166. package/dist/public/assets/{pegDiagram-2B236MQR-xOZS-dXD.js → pegDiagram-2B236MQR-cNCSiNUP.js} +1 -1
  167. package/dist/public/assets/{pending-receive-nav-store-Biw1Epvx.js → pending-receive-nav-store-JTR13dvE.js} +1 -1
  168. package/dist/public/assets/{pieDiagram-ENE6RG2P-DCp62t84.js → pieDiagram-ENE6RG2P-C2bxi6W1.js} +1 -1
  169. package/dist/public/assets/{project-paths-CMGR87VL.js → project-paths--7l9Mqe-.js} +1 -1
  170. package/dist/public/assets/prop-types-CO1vfdpW.js +1 -0
  171. package/dist/public/assets/{propagation-api-CQo94KQr.js → propagation-api-DSg7UKuw.js} +1 -1
  172. package/dist/public/assets/{quadrantDiagram-ABIIQ3AL-BDn0FSq4.js → quadrantDiagram-ABIIQ3AL-C8AftH1G.js} +1 -1
  173. package/dist/public/assets/{railroadDiagram-RFXS5EU6-C8pvuwMD.js → railroadDiagram-RFXS5EU6-CZh61tJk.js} +1 -1
  174. package/dist/public/assets/{receive-store-8-NLCTcl.js → receive-store-Zkulsnri.js} +1 -1
  175. package/dist/public/assets/{refresh-cw-s-1Jcbef.js → refresh-cw-DGLnzhho.js} +1 -1
  176. package/dist/public/assets/{requirementDiagram-TGXJPOKE-D_WWP7vX.js → requirementDiagram-TGXJPOKE-CQLu3M38.js} +1 -1
  177. package/dist/public/assets/{sankeyDiagram-HTMAVEWB-B5F6SKgf.js → sankeyDiagram-HTMAVEWB-Bjus_sTX.js} +1 -1
  178. package/dist/public/assets/{select-BUOcREjn.js → select-BU4xT6VN.js} +1 -1
  179. package/dist/public/assets/selection-context-Bf6D1pDY.js +4 -0
  180. package/dist/public/assets/{sequenceDiagram-DBY2YBRQ-Q2j2kfBA.js → sequenceDiagram-DBY2YBRQ-BR7Ay_cV.js} +1 -1
  181. package/dist/public/assets/skill-actions-BWrNxH2j.js +2 -0
  182. package/dist/public/assets/{skill-scope-DQD8O86J.js → skill-scope-CE5P-qa2.js} +1 -1
  183. package/dist/public/assets/{skills-api-CmrsjdWe.js → skills-api-DiFi6C13.js} +1 -1
  184. package/dist/public/assets/sortable.esm-BT6d9PDz.js +5 -0
  185. package/dist/public/assets/{square-pen-CJ1htiTi.js → square-pen-CEIus1aL.js} +1 -1
  186. package/dist/public/assets/{src-DFNABQhY.js → src-DMEDY0IW.js} +1 -1
  187. package/dist/public/assets/{stateDiagram-2N3HPSRC-rRceSq2o.js → stateDiagram-2N3HPSRC-DJmlM8IW.js} +1 -1
  188. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-DJeEhrn3.js +1 -0
  189. package/dist/public/assets/{swimlanes-5IMT3BWC-BCV0gUXz.js → swimlanes-5IMT3BWC-D8ijXWBf.js} +1 -1
  190. package/dist/public/assets/swimlanesDiagram-G3AALYLV-D5vkX5fS.js +8 -0
  191. package/dist/public/assets/{tag-pill-input-MTbs9SQK.js → tag-pill-input-3_tUFZqt.js} +1 -1
  192. package/dist/public/assets/{target-navigation-intent-O-KNJVho.js → target-navigation-intent-BgP4rk-A.js} +1 -1
  193. package/dist/public/assets/{telemetry-impl-D8fmQ-sL.js → telemetry-impl-DcuJVd--.js} +1 -1
  194. package/dist/public/assets/{telemetry-startup-DC_TV8BC.js → telemetry-startup-C-aCSZUK.js} +1 -1
  195. package/dist/public/assets/terminal-launch-events-AQ_xnG-R.js +1 -0
  196. package/dist/public/assets/{terminal-telemetry-B4AWY5_A.js → terminal-telemetry-BMEqHABV.js} +1 -1
  197. package/dist/public/assets/{text-viewer-languages-Bnw74F7h.js → text-viewer-languages-DEjz8Rlz.js} +2 -2
  198. package/dist/public/assets/{timeline-definition-FHXFAJF6-gfnw-IEO.js → timeline-definition-FHXFAJF6-DwBMj07Z.js} +1 -1
  199. package/dist/public/assets/{trash-2-B8G0hzas.js → trash-2-Ccq_llrY.js} +1 -1
  200. package/dist/public/assets/{triangle-alert-aDFrGIbV.js → triangle-alert-V8YoC6ss.js} +1 -1
  201. package/dist/public/assets/typing-burst-detector-CwUVFjur.js +8 -0
  202. package/dist/public/assets/{undo-2-DKF_XXr6.js → undo-2-bYFSgQwb.js} +1 -1
  203. package/dist/public/assets/{uninstall-D1vd3-cj.js → uninstall-DpiS8BLi.js} +1 -1
  204. package/dist/public/assets/{use-activity-panel-D8J3vm0W.js → use-activity-panel-CYdaDNds.js} +1 -1
  205. package/dist/public/assets/use-collab-url-BwWR4HI-.js +1 -0
  206. package/dist/public/assets/{use-live-xterm-theme-Bit3P-w4.js → use-live-xterm-theme-KbfqWxbp.js} +1 -1
  207. package/dist/public/assets/{use-open-skill-CItHgrjr.js → use-open-skill-D_ce5Ayi.js} +1 -1
  208. package/dist/public/assets/{use-settings-route-DzedD2vL.js → use-settings-route-BOYDhit3.js} +1 -1
  209. package/dist/public/assets/{use-skill-directory-zc2nSEYt.js → use-skill-directory-Bkm0zmlI.js} +1 -1
  210. package/dist/public/assets/{use-skill-origin-C_LYVSfo.js → use-skill-origin-DR4xcMJo.js} +1 -1
  211. package/dist/public/assets/{use-skills-DrxE5iKU.js → use-skills-1DslFHtO.js} +1 -1
  212. package/dist/public/assets/{use-terminal-enabled-CXM-nkD1.js → use-terminal-enabled-LUvzR9JZ.js} +1 -1
  213. package/dist/public/assets/{use-timeline-entry-diff-BvT74ai9.js → use-timeline-entry-diff-7HhWQJ1w.js} +1 -1
  214. package/dist/public/assets/{use-workspace-Di9mo5VO.js → use-workspace-BlkDxHAu.js} +1 -1
  215. package/dist/public/assets/{vennDiagram-L72KCM5P-CbI7Ws0x.js → vennDiagram-L72KCM5P-DZxwOiUn.js} +1 -1
  216. package/dist/public/assets/{wardleyDiagram-EHGQE667-CDUlKkhj.js → wardleyDiagram-EHGQE667-D44Ff-nh.js} +1 -1
  217. package/dist/public/assets/{wrench-tsJ759Zo.js → wrench-D8b4qpCM.js} +1 -1
  218. package/dist/public/assets/x-B3zGPHCO.js +1 -0
  219. package/dist/public/assets/{xychartDiagram-FW5EYKEG-BnHJ2vZS.js → xychartDiagram-FW5EYKEG-B_4MyxsA.js} +1 -1
  220. package/dist/public/index.html +113 -113
  221. package/dist/public/uninstall.html +15 -15
  222. package/dist/{repair-launch-json-CJpyPmD0.mjs → repair-launch-json-BQN42H8u.mjs} +2 -2
  223. package/dist/{repair-mcp-configs-CWnhMNts.mjs → repair-mcp-configs-pNk_zTmC.mjs} +2 -2
  224. package/dist/repair-skills-B9fwDZT5.mjs +1 -0
  225. package/dist/{repair-skills-DueNXSu9.mjs → repair-skills-CZ-a80SS.mjs} +2 -2
  226. package/dist/{server-lock-3ByzWRdV.mjs → server-lock-Cg66XiR-.mjs} +2 -2
  227. package/dist/server-lock-DyY9o-h3.mjs +1 -0
  228. package/dist/{src-czIvvgm0.mjs → src-Bnk118Ag.mjs} +126 -125
  229. package/dist/{src-SNA6giz2.mjs → src-CNQEPas3.mjs} +2 -2
  230. package/dist/{src-C_7vTM-s.mjs → src-DksXweG3.mjs} +4 -4
  231. package/dist/{src-xynSvLbg.mjs → src-Jkr5of5-.mjs} +1 -1
  232. package/dist/{start-oGvb5oXN.mjs → start-C01QC4xV.mjs} +3 -3
  233. package/dist/start-CjlorZHM.mjs +1 -0
  234. package/dist/{write-project-skill-DpGXCFNK.mjs → write-project-skill-B1qOkawu.mjs} +2 -2
  235. package/package.json +4 -4
  236. package/dist/constants-oL_SnsqG.mjs +0 -2
  237. package/dist/git-handle-C8yML4WA.mjs +0 -1
  238. package/dist/init-BvUdLid7.mjs +0 -1
  239. package/dist/loader-DVLQnSyf.mjs +0 -1
  240. package/dist/md-manager-2FlXlcPD.mjs +0 -2
  241. package/dist/preview-CPgNYcXY.mjs +0 -1
  242. package/dist/public/assets/DocumentContext-BpUSHG7l.js +0 -38
  243. package/dist/public/assets/EditorModeToggle-DLnTYb-h.js +0 -1
  244. package/dist/public/assets/FeedbackForm-Bn8BQxGY.js +0 -1
  245. package/dist/public/assets/ManagedArtifactProperties-CBMGEIBV.js +0 -1
  246. package/dist/public/assets/ManagedArtifactProperties-olm0bTI0.js +0 -2
  247. package/dist/public/assets/SessionsHost-MxcgcWYN.js +0 -2
  248. package/dist/public/assets/SkillToolbarControls-DlGm1wVN.js +0 -1
  249. package/dist/public/assets/SourceEditor-CEU2fHXS.js +0 -1
  250. package/dist/public/assets/ThreadView-ChbqsfCR.js +0 -6
  251. package/dist/public/assets/arrow-up-right-CxtRAecj.js +0 -1
  252. package/dist/public/assets/channel-DjvQf__j.js +0 -1
  253. package/dist/public/assets/check-BIbL8Vva.js +0 -1
  254. package/dist/public/assets/chevron-left-B-obKYha.js +0 -1
  255. package/dist/public/assets/chevron-right-CABnKLlm.js +0 -1
  256. package/dist/public/assets/classDiagram-OUVF2IWQ-CJ4TXwAt.js +0 -1
  257. package/dist/public/assets/classDiagram-v2-EOCWNBFH-CQLf9yeG.js +0 -1
  258. package/dist/public/assets/comment-chips-CnL7Mdk6.js +0 -7
  259. package/dist/public/assets/file-tree-adapter-CjX34jcF.js +0 -1
  260. package/dist/public/assets/flowDiagram-23GEKE2U-BuF1ujIX.js +0 -1
  261. package/dist/public/assets/globals-BMBVXTkN.css +0 -1
  262. package/dist/public/assets/index-5hvjqRxk.js +0 -2092
  263. package/dist/public/assets/loader-circle-DJ1nzSAL.js +0 -1
  264. package/dist/public/assets/mermaid-GHXKKRXX-Dejo0Qfr.js +0 -1
  265. package/dist/public/assets/minus-C4B0dZfA.js +0 -1
  266. package/dist/public/assets/navigation-targets-CBDcAPCE.js +0 -1
  267. package/dist/public/assets/prop-types-CzBvMPTy.js +0 -1
  268. package/dist/public/assets/selection-context-e4f29ln_.js +0 -4
  269. package/dist/public/assets/skill-actions-BFg9EzmY.js +0 -2
  270. package/dist/public/assets/sortable.esm-lATz1Hrd.js +0 -5
  271. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-D6QBedzc.js +0 -1
  272. package/dist/public/assets/swimlanesDiagram-G3AALYLV-DTjtbbG7.js +0 -8
  273. package/dist/public/assets/terminal-input-events-BGPQuYMh.js +0 -1
  274. package/dist/public/assets/terminal-launch-events-D3RRaYEw.js +0 -1
  275. package/dist/public/assets/typing-burst-detector-BC_MP6fa.js +0 -8
  276. package/dist/public/assets/use-collab-url-ryL1J_Cn.js +0 -1
  277. package/dist/public/assets/x-DIcZlcqo.js +0 -1
  278. package/dist/repair-skills-rWKf_ECf.mjs +0 -1
  279. package/dist/server-lock-BqPFXabR.mjs +0 -1
  280. package/dist/start-BG2a-Q5T.mjs +0 -1
  281. /package/dist/public/assets/{agent-presence-DuXF7V6Q.js → agent-presence-C8KjkxgZ.js} +0 -0
  282. /package/dist/public/assets/{createLucideIcon-DihYAFEK.js → createLucideIcon-BbgVV4EV.js} +0 -0
  283. /package/dist/public/assets/{katex-7IwCHL6E.js → katex-7OG0ksww.js} +0 -0
  284. /package/dist/public/assets/{label-G0lbYOgL.js → label-BT2yjpKR.js} +0 -0
  285. /package/dist/public/assets/{lib-oSGqv0ZH.js → lib-CtlgmvnR.js} +0 -0
  286. /package/dist/public/assets/{markdownit-BD8ZfAkg.js → markdownit-DoX6x6DK.js} +0 -0
  287. /package/dist/public/assets/{radio-group-CvYE9US5.js → radio-group-CmCnommQ.js} +0 -0
  288. /package/dist/public/assets/{separator-CXVli0aI.js → separator-C4EdGs_S.js} +0 -0
  289. /package/dist/public/assets/{switch-BuVbhbtp.js → switch-0kSGDL9E.js} +0 -0
  290. /package/dist/public/assets/{tabs-BKX_R3ed.js → tabs-CjOEhhKP.js} +0 -0
  291. /package/dist/public/assets/{toggle-group-Cnezoq-B.js → toggle-group-DAYvcc1F.js} +0 -0
  292. /package/dist/public/assets/{trace-api-DzbWkWNJ.js → trace-api-DH580DYm.js} +0 -0
  293. /package/dist/public/assets/{w3c-keyname-a_sRwNLm.js → w3c-keyname-hgmz1BF7.js} +0 -0
@@ -32,41 +32,41 @@
32
32
  script above.
33
33
  -->
34
34
  <style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
35
- <script type="module" crossorigin src="./assets/uninstall-D1vd3-cj.js"></script>
35
+ <script type="module" crossorigin src="./assets/uninstall-DpiS8BLi.js"></script>
36
36
  <link rel="modulepreload" crossorigin href="./assets/chunk-CYidjpOJ.js">
37
37
  <link rel="modulepreload" crossorigin href="./assets/dist-CpRBr-Ct.js">
38
38
  <link rel="modulepreload" crossorigin href="./assets/react-f2sANaYj.js">
39
39
  <link rel="modulepreload" crossorigin href="./assets/react-dom-DPxgxlDT.js">
40
- <link rel="modulepreload" crossorigin href="./assets/globals-C8FNtceU.js">
40
+ <link rel="modulepreload" crossorigin href="./assets/globals-C8FRwDSr.js">
41
41
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-Chd9yIcd.js">
42
- <link rel="modulepreload" crossorigin href="./assets/trace-api-DzbWkWNJ.js">
43
- <link rel="modulepreload" crossorigin href="./assets/lib-oSGqv0ZH.js">
44
- <link rel="modulepreload" crossorigin href="./assets/markdownit-BD8ZfAkg.js">
45
- <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-a_sRwNLm.js">
46
- <link rel="modulepreload" crossorigin href="./assets/dist-CLzUuFWF2.js">
42
+ <link rel="modulepreload" crossorigin href="./assets/trace-api-DH580DYm.js">
43
+ <link rel="modulepreload" crossorigin href="./assets/lib-CtlgmvnR.js">
44
+ <link rel="modulepreload" crossorigin href="./assets/markdownit-DoX6x6DK.js">
45
+ <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-hgmz1BF7.js">
46
+ <link rel="modulepreload" crossorigin href="./assets/dist-DYnLkWYw2.js">
47
47
  <link rel="modulepreload" crossorigin href="./assets/jsx-runtime-BUgB2tll.js">
48
48
  <link rel="modulepreload" crossorigin href="./assets/dist-Nvb76hAm.js">
49
49
  <link rel="modulepreload" crossorigin href="./assets/dist-DUWYPul7.js">
50
50
  <link rel="modulepreload" crossorigin href="./assets/dist-Bi80hc1t.js">
51
51
  <link rel="modulepreload" crossorigin href="./assets/dist-CIv09IXf.js">
52
52
  <link rel="modulepreload" crossorigin href="./assets/dist-CR6aO28t.js">
53
- <link rel="modulepreload" crossorigin href="./assets/createLucideIcon-DihYAFEK.js">
54
- <link rel="modulepreload" crossorigin href="./assets/check-BIbL8Vva.js">
55
- <link rel="modulepreload" crossorigin href="./assets/minus-C4B0dZfA.js">
53
+ <link rel="modulepreload" crossorigin href="./assets/createLucideIcon-BbgVV4EV.js">
54
+ <link rel="modulepreload" crossorigin href="./assets/check-DLRoQSSY.js">
55
+ <link rel="modulepreload" crossorigin href="./assets/minus-CKcpBpdR.js">
56
56
  <link rel="modulepreload" crossorigin href="./assets/compiler-runtime-BfE3aGVn.js">
57
57
  <link rel="modulepreload" crossorigin href="./assets/bundle-mjs-SHeFpKGC.js">
58
58
  <link rel="modulepreload" crossorigin href="./assets/utils-CPqDy6Hr.js">
59
- <link rel="modulepreload" crossorigin href="./assets/checkbox-IqSEcunZ.js">
60
- <link rel="modulepreload" crossorigin href="./assets/label-G0lbYOgL.js">
59
+ <link rel="modulepreload" crossorigin href="./assets/checkbox-DqQC4GOw.js">
60
+ <link rel="modulepreload" crossorigin href="./assets/label-BT2yjpKR.js">
61
61
  <link rel="modulepreload" crossorigin href="./assets/dist-By2lAhKX.js">
62
62
  <link rel="modulepreload" crossorigin href="./assets/dist-DMj9iIHH.js">
63
- <link rel="modulepreload" crossorigin href="./assets/radio-group-CvYE9US5.js">
63
+ <link rel="modulepreload" crossorigin href="./assets/radio-group-CmCnommQ.js">
64
64
  <link rel="modulepreload" crossorigin href="./assets/button-RQ5o7P7w.js">
65
- <link rel="modulepreload" crossorigin href="./assets/loader-circle-DJ1nzSAL.js">
65
+ <link rel="modulepreload" crossorigin href="./assets/loader-circle-B0OUuKph.js">
66
66
  <link rel="modulepreload" crossorigin href="./assets/badge-CnYDYmI5.js">
67
67
  <link rel="modulepreload" crossorigin href="./assets/input-CtKG6a5B.js">
68
68
  <link rel="modulepreload" crossorigin href="./assets/textarea-CUVLEZhx.js">
69
- <link rel="stylesheet" crossorigin href="./assets/globals-BMBVXTkN.css">
69
+ <link rel="stylesheet" crossorigin href="./assets/globals-9XRqGE59.css">
70
70
  </head>
71
71
 
72
72
  <body class="antialiased">
@@ -1,2 +1,2 @@
1
- import{t as e}from"./launch-json-removal-BfBphAFi.mjs";import{join as t}from"node:path";function n(n){let i=n.logger??r,a=t(n.projectDir,`.claude`,`launch.json`);if(n.reclaimDisableEnv===`1`)return i({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:a,outcome:`skipped-reclaim-disabled`},repairedCount:0};let o;try{o=e(n.projectDir)}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`launch-json-repair-write-failed`,configPath:a}),{outcome:{configPath:a,outcome:`write-failed`,error:t},repairedCount:0}}let s=o.kind===`removed`||o.kind===`removed-file`;return s&&i({event:`launch-json-repair-removed`,configPath:a}),{outcome:{configPath:a,outcome:o.kind},repairedCount:+!!s}}function r(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{n as repairLaunchJson};
2
- //# sourceMappingURL=repair-launch-json-CJpyPmD0.mjs.map
1
+ import{t as e}from"./launch-json-removal-Do5NOg5V.mjs";import{join as t}from"node:path";function n(n){let i=n.logger??r,a=t(n.projectDir,`.claude`,`launch.json`);if(n.reclaimDisableEnv===`1`)return i({event:`launch-json-repair-skipped`,reason:`reclaim-disabled`}),{outcome:{configPath:a,outcome:`skipped-reclaim-disabled`},repairedCount:0};let o;try{o=e(n.projectDir)}catch(e){let t=e instanceof Error?e.message:String(e);return i({event:`launch-json-repair-write-failed`,configPath:a}),{outcome:{configPath:a,outcome:`write-failed`,error:t},repairedCount:0}}let s=o.kind===`removed`||o.kind===`removed-file`;return s&&i({event:`launch-json-repair-removed`,configPath:a}),{outcome:{configPath:a,outcome:o.kind},repairedCount:+!!s}}function r(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{n as repairLaunchJson};
2
+ //# sourceMappingURL=repair-launch-json-BQN42H8u.mjs.map
@@ -1,2 +1,2 @@
1
- import{b as e,d as t,l as n}from"./write-project-skill-DpGXCFNK.mjs";import{d as r,v as i}from"./init-BAn_74tu.mjs";import{t as a}from"./mcp-migrate-event-CWx0WLdE.mjs";import{homedir as o}from"node:os";function s(e){let r=e.logger??u,i=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return r({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of n){let n=t[o],s=c(()=>n.configPath(``,i));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:n,home:i,cwd:``,configPath:s,configPathOverride:void 0,logger:r})),n.projectConfigPath){let t=n.projectConfigPath,i=c(()=>t(e.projectDir));i!==null&&a.push(l({scope:`project`,editorId:o,target:n,home:void 0,cwd:e.projectDir,configPath:i,configPathOverride:i,logger:r}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(t){let n={scope:t.scope,editorId:t.editorId,configPath:t.configPath},o=r(t.target,t.cwd,t.home,t.configPathOverride);if(o===null)return{...n,outcome:`no-entry`};if(e(o))return{...n,outcome:`canonical`};t.logger(a({scope:t.scope,surface:`cli-repair`,editorId:t.editorId,configPath:t.configPath,priorEntry:o}));let s=i(t.target,t.cwd,{mode:`published`,skipAvailabilityCheck:!0},t.home,t.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return t.logger({event:`mcp-config-repair-write-failed`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,error:e}),{...n,outcome:`write-failed`,error:e}}return s.action===`declined`?(t.logger({event:`mcp-config-repair-declined`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,reason:s.declineReason}),{...n,outcome:`declined`}):{...n,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
- //# sourceMappingURL=repair-mcp-configs-CWnhMNts.mjs.map
1
+ import{b as e,d as t,l as n}from"./write-project-skill-B1qOkawu.mjs";import{d as r,v as i}from"./init-BlIyUl5L.mjs";import{t as a}from"./mcp-migrate-event-CWx0WLdE.mjs";import{homedir as o}from"node:os";function s(e){let r=e.logger??u,i=e.home??o(),a=[];if(e.reclaimDisableEnv===`1`)return r({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of n){let n=t[o],s=c(()=>n.configPath(``,i));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:n,home:i,cwd:``,configPath:s,configPathOverride:void 0,logger:r})),n.projectConfigPath){let t=n.projectConfigPath,i=c(()=>t(e.projectDir));i!==null&&a.push(l({scope:`project`,editorId:o,target:n,home:void 0,cwd:e.projectDir,configPath:i,configPathOverride:i,logger:r}))}}return{outcomes:a,repairedCount:a.filter(e=>e.outcome===`repaired`).length}}function c(e){try{return e()}catch{return null}}function l(t){let n={scope:t.scope,editorId:t.editorId,configPath:t.configPath},o=r(t.target,t.cwd,t.home,t.configPathOverride);if(o===null)return{...n,outcome:`no-entry`};if(e(o))return{...n,outcome:`canonical`};t.logger(a({scope:t.scope,surface:`cli-repair`,editorId:t.editorId,configPath:t.configPath,priorEntry:o}));let s=i(t.target,t.cwd,{mode:`published`,skipAvailabilityCheck:!0},t.home,t.configPathOverride);if(s.action===`failed`){let e=s.error??`unknown write failure`;return t.logger({event:`mcp-config-repair-write-failed`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,error:e}),{...n,outcome:`write-failed`,error:e}}return s.action===`declined`?(t.logger({event:`mcp-config-repair-declined`,scope:t.scope,editorId:t.editorId,configPath:t.configPath,reason:s.declineReason}),{...n,outcome:`declined`}):{...n,outcome:`repaired`}}function u(e){process.stderr.write(`${JSON.stringify(e)}\n`)}export{s as repairMcpConfigs};
2
+ //# sourceMappingURL=repair-mcp-configs-pNk_zTmC.mjs.map
@@ -0,0 +1 @@
1
+ import{t as e}from"./repair-skills-CZ-a80SS.mjs";export{e as repairSkills};
@@ -1,4 +1,4 @@
1
- import{R as e}from"./src-czIvvgm0.mjs";import{Xn as t,Zn as n,dr as r,er as i,ir as a,nr as o,or as s,tr as c,ur as l}from"./src-C_7vTM-s.mjs";import{T as u,a as d,d as f,f as p,o as m,s as h,t as g}from"./write-project-skill-DpGXCFNK.mjs";import{n as _,s as v,t as y}from"./colors-BsmVIwfM.mjs";import{dirname as b,join as x,relative as S,resolve as C}from"node:path";import{existsSync as w,mkdirSync as T,readFileSync as E,readdirSync as D,rmSync as O,statSync as k,writeFileSync as A}from"node:fs";import{homedir as j}from"node:os";import{createInterface as M}from"node:readline/promises";const N={existsSync:e=>w(e),isDirectory:e=>{try{return k(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>D(e),readFileSync:e=>E(e),writeFileSync:(e,t)=>{A(e,t)},mkdirSync:(e,t)=>{T(e,t)},rmSync:(e,t)=>{O(e,t)}},P={resolveProjectBundledSkillDir:()=>s(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>s(e,{checkDesktop:!1}),readBundledVersion:()=>n(),readRecordedVersion:e=>i(e,`cli-hosts`),writeRecordedVersion:(e,t)=>o(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>a(e),readBundleDecision:(e,n)=>t(e,n),writeBundleDecision:(e,t,n)=>c(e,t,n),removeBundleFromDisk:(e,t)=>h(e,t)};function F(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function I(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(b(t),{recursive:!0}),L(e,t,n)}function L(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=x(e,r),a=x(t,r);n.isDirectory(i)?L(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function R(e,t,n,r,i,a){let o=[],s=x(e,`.agents`,`skills`,t),c=!1;if(r.existsSync(s))o.push({kind:`central`,path:s,outcome:`skipped-present`});else try{I(n,s,r),c=!0,o.push({kind:`central`,path:s,outcome:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:!1,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=x(e,c.hostDir),u=x(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}if(r.existsSync(u)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-present`});continue}try{I(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:!1,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:c}}function z(e,t){if(!e)return!1;try{return t.existsSync(e)?t.readFileSync(e).toString(`utf8`).includes(`# ok-mcp-`):!1}catch{return!1}}function B(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=x(e,t.hostDir,`skills`,`open-knowledge`),s=x(o,`SKILL.md`);if(n.existsSync(s)){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`present`});continue}let c=f[t.editorId]?.projectConfigPath?.(e);if(!z(c,n)){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{g(o,e),I(i,o,n),a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`created`}),r({event:`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 V(t,n,i,a){let o=e=>{n.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),c;try{c=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return a({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){a({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 r)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return a({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let r of d){let o=l[r.id],s=i.existsSync(x(t,`.agents`,`skills`,o)),c=await n.readBundleDecision(t,o).catch(()=>null);if(!e(c,{installedOnDisk:s})){if(s)try{n.removeBundleFromDisk(t,r.id),a({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:r.id})}catch(e){a({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:r.id,error:e instanceof Error?e.message:String(e)})}continue}if(c===null&&s)try{await n.writeBundleDecision(t,o,!0)}catch(e){a({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:r.id,error:e instanceof Error?e.message:String(e)})}p.push(r)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>i.existsSync(x(t,`.agents`,`skills`,l[e.id])));if(u!==null&&u===c&&m)return a({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:c}),{outcome:`skipped`,reason:`version-current`};let h=[],g=d.length===r.length,_=[];for(let{id:e,sourceDir:n}of p){let r=R(t,l[e],n,i,a,c);h.push(...r.entries),_.push({id:e,centralWritten:r.centralWritten})}let v=h.some(e=>e.kind===`central`&&e.outcome===`failed`);if(g&&!v){let e=null;try{await n.writeRecordedVersion(t,c),a({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:c})}catch(t){e=t instanceof Error?t.message:String(t),a({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:c,error:e})}for(let{id:t,centralWritten:n}of _)o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?n?`installed`:`skip-current`:`failed`,version:c,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:c,reason:g?e?`all-writes-failed`:`central-write-failed`:`bundle-unresolved`})}return{outcome:`done`,version:c,entries:h}}async function H(e){let t=e.logger??F,n=e.fs??N,r=e.home??j(),i={...P,...e.deps};if(e.reclaimDisableEnv===`1`)return t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`};let a=B(e.projectDir,i,n,t),o=await V(r,i,n,t),s=m(r),c=[],l=!1,u=!1;if(s.skillDirs.length>0||s.emptyDirs.length>0)if(e.confirmLegacyCleanup&&await e.confirmLegacyCleanup(s)){try{c=d(r,s)}catch(e){u=!0,t({event:`legacy-fanout-cleanup-refused`,scope:`user`,error:e instanceof Error?e.message:String(e)})}for(let e of c)t({event:`legacy-fanout-path-removed`,scope:`user`,path:e})}else l=!0,t({event:`legacy-fanout-cleanup-declined`,scope:`user`});return{status:`done`,project:a,user:o,legacySwept:c,legacyCleanupDeclined:l,legacyCleanupFailed:u}}function U(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 W(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===`present`).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} present, ${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`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-present`).length,i=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,a=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} present, ${i} skipped, ${a} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return e.legacySwept.length>0?t.push(` Cleanup: removed ${e.legacySwept.length} path(s) from a pre-0.42 install.`):e.legacyCleanupFailed?t.push(` Cleanup: failed — see logs; pre-0.42 directories left in place.`):e.legacyCleanupDeclined&&t.push(` Cleanup: declined — pre-0.42 directories left in place.`),t.join(`
1
+ import{R as e}from"./src-Bnk118Ag.mjs";import{Xn as t,Zn as n,dr as r,er as i,ir as a,nr as o,or as s,tr as c,ur as l}from"./src-DksXweG3.mjs";import{T as u,a as d,d as f,f as p,o as m,s as h,t as g}from"./write-project-skill-B1qOkawu.mjs";import{n as _,s as v,t as y}from"./colors-BsmVIwfM.mjs";import{dirname as b,join as x,relative as S,resolve as C}from"node:path";import{existsSync as w,mkdirSync as T,readFileSync as E,readdirSync as D,rmSync as O,statSync as k,writeFileSync as A}from"node:fs";import{homedir as j}from"node:os";import{createInterface as M}from"node:readline/promises";const N={existsSync:e=>w(e),isDirectory:e=>{try{return k(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}},readdirSync:e=>D(e),readFileSync:e=>E(e),writeFileSync:(e,t)=>{A(e,t)},mkdirSync:(e,t)=>{T(e,t)},rmSync:(e,t)=>{O(e,t)}},P={resolveProjectBundledSkillDir:()=>s(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>s(e,{checkDesktop:!1}),readBundledVersion:()=>n(),readRecordedVersion:e=>i(e,`cli-hosts`),writeRecordedVersion:(e,t)=>o(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>a(e),readBundleDecision:(e,n)=>t(e,n),writeBundleDecision:(e,t,n)=>c(e,t,n),removeBundleFromDisk:(e,t)=>h(e,t)};function F(e){process.stderr.write(`${JSON.stringify(e)}\n`)}function I(e,t,n){n.rmSync(t,{recursive:!0,force:!0}),n.mkdirSync(b(t),{recursive:!0}),L(e,t,n)}function L(e,t,n){n.mkdirSync(t,{recursive:!0});for(let r of n.readdirSync(e)){let i=x(e,r),a=x(t,r);n.isDirectory(i)?L(i,a,n):n.writeFileSync(a,n.readFileSync(i))}}function R(e,t,n,r,i,a){let o=[],s=x(e,`.agents`,`skills`,t),c=!1;if(r.existsSync(s))o.push({kind:`central`,path:s,outcome:`skipped-present`});else try{I(n,s,r),c=!0,o.push({kind:`central`,path:s,outcome:`written`}),i({event:`user-skill-reclaim-central-written`,scope:`user`,path:s,preexisting:!1,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=x(e,c.hostDir),u=x(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}if(r.existsSync(u)){o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`skipped-present`});continue}try{I(n,u,r),o.push({kind:`host`,editorId:c.editorId,hostDir:c.hostDir,path:u,outcome:`written`}),i({event:`user-skill-reclaim-host-written`,scope:`user`,editorId:c.editorId,hostDir:c.hostDir,path:u,preexisting:!1,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:c}}function z(e,t){if(!e)return!1;try{return t.existsSync(e)?t.readFileSync(e).toString(`utf8`).includes(`# ok-mcp-`):!1}catch{return!1}}function B(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=x(e,t.hostDir,`skills`,`open-knowledge`),s=x(o,`SKILL.md`);if(n.existsSync(s)){a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`present`});continue}let c=f[t.editorId]?.projectConfigPath?.(e);if(!z(c,n)){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{g(o,e),I(i,o,n),a.push({editorId:t.editorId,hostDir:t.hostDir,path:o,outcome:`created`}),r({event:`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 V(t,n,i,a){let o=e=>{n.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),c;try{c=await n.readBundledVersion()}catch(e){let t=e instanceof Error?e.message:String(e);return a({event:`user-skill-reclaim-version-read-failed`,scope:`user`,error:t}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:`discovery`,outcome:`failed`,reason:`version-read-failed:${t}`}),{outcome:`skipped`,reason:`version-read-failed`}}let u;try{u=await n.readRecordedVersion(t)}catch(e){a({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 r)try{d.push({id:e,sourceDir:n.resolveUserBundledSkillDir(e)})}catch(e){f=e instanceof Error?e.message:String(e)}if(d.length===0)return a({event:`user-skill-reclaim-bundle-missing`,scope:`user`,error:f??`no user-global bundles`}),o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,reason:`bundle-missing:${f}`}),{outcome:`skipped`,reason:`bundle-missing`};let p=[];for(let r of d){let o=l[r.id],s=i.existsSync(x(t,`.agents`,`skills`,o)),c=await n.readBundleDecision(t,o).catch(()=>null);if(!e(c,{installedOnDisk:s})){if(s)try{n.removeBundleFromDisk(t,r.id),a({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:r.id})}catch(e){a({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:r.id,error:e instanceof Error?e.message:String(e)})}continue}if(c===null&&s)try{await n.writeBundleDecision(t,o,!0)}catch(e){a({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:r.id,error:e instanceof Error?e.message:String(e)})}p.push(r)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>i.existsSync(x(t,`.agents`,`skills`,l[e.id])));if(u!==null&&u===c&&m)return a({event:`user-skill-reclaim-skipped-version-current`,scope:`user`,version:c}),{outcome:`skipped`,reason:`version-current`};let h=[],g=d.length===r.length,_=[];for(let{id:e,sourceDir:n}of p){let r=R(t,l[e],n,i,a,c);h.push(...r.entries),_.push({id:e,centralWritten:r.centralWritten})}let v=h.some(e=>e.kind===`central`&&e.outcome===`failed`);if(g&&!v){let e=null;try{await n.writeRecordedVersion(t,c),a({event:`user-skill-reclaim-version-recorded`,scope:`user`,version:c})}catch(t){e=t instanceof Error?t.message:String(t),a({event:`user-skill-reclaim-version-record-failed`,scope:`user`,version:c,error:e})}for(let{id:t,centralWritten:n}of _)o({ts:s(),surface:`cli-start`,target:`cli-hosts`,bundle:t,outcome:e===null?n?`installed`:`skip-current`:`failed`,version:c,...e===null?{}:{reason:`state-write-failed:${e}`}})}else{let e=h.some(e=>e.kind===`host`&&e.outcome===`failed`);o({ts:s(),surface:`cli-start`,target:`cli-hosts`,outcome:`failed`,version:c,reason:g?e?`all-writes-failed`:`central-write-failed`:`bundle-unresolved`})}return{outcome:`done`,version:c,entries:h}}async function H(e){let t=e.logger??F,n=e.fs??N,r=e.home??j(),i={...P,...e.deps};if(e.reclaimDisableEnv===`1`)return t({event:`skill-repair-skipped`,reason:`reclaim-disabled`}),{status:`skipped`,reason:`reclaim-disabled`};let a=B(e.projectDir,i,n,t),o=await V(r,i,n,t),s=m(r),c=[],l=!1,u=!1;if(s.skillDirs.length>0||s.emptyDirs.length>0)if(e.confirmLegacyCleanup&&await e.confirmLegacyCleanup(s)){try{c=d(r,s)}catch(e){u=!0,t({event:`legacy-fanout-cleanup-refused`,scope:`user`,error:e instanceof Error?e.message:String(e)})}for(let e of c)t({event:`legacy-fanout-path-removed`,scope:`user`,path:e})}else l=!0,t({event:`legacy-fanout-cleanup-declined`,scope:`user`});return{status:`done`,project:a,user:o,legacySwept:c,legacyCleanupDeclined:l,legacyCleanupFailed:u}}function U(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 W(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===`present`).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} present, ${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`).length,r=e.user.entries.filter(e=>e.outcome===`skipped-present`).length,i=e.user.entries.filter(e=>e.outcome===`skipped-host-absent`||e.outcome===`skipped-collapsed-with-central`).length,a=e.user.entries.filter(e=>e.outcome===`failed`).length;t.push(` User (${e.user.version}): ${n} written, ${r} present, ${i} skipped, ${a} failed.`)}else t.push(` User: skipped (${e.user.reason}).`);return e.legacySwept.length>0?t.push(` Cleanup: removed ${e.legacySwept.length} path(s) from a pre-0.42 install.`):e.legacyCleanupFailed?t.push(` Cleanup: failed — see logs; pre-0.42 directories left in place.`):e.legacyCleanupDeclined&&t.push(` Cleanup: declined — pre-0.42 directories left in place.`),t.join(`
2
2
  `)}function G(){return new u(`repair-skills`).description("Refresh bundled SKILL.md files for installed AI editors (project-local + user-global). Runs automatically during `ok start`; this command forces an explicit sweep.").option(`-y, --yes`,`Skip the confirmation prompt for removing directories left by a pre-0.42 install.`).action(async e=>{let t=await H({projectDir:C(process.cwd()),reclaimDisableEnv:process.env.OK_RECLAIM_DISABLE??null,confirmLegacyCleanup:t=>K(t,{yes:e.yes===!0})});process.stdout.write(`${W(t)}\n`),process.exitCode=U(t)})}async function K(e,t){let n=j(),r=e=>`~/${S(n,e)}`,i=t.input??process.stdin,a=[``,y(`A previous version of OpenKnowledge installed its skill into agent tools you may never have used.`),_(`(Versions before 0.42 wrote to every host a third-party installer knew about — see issue #820.)`)];if(e.skillDirs.length>0&&a.push(``,`${y(`Remove OpenKnowledge skills:`)} ${e.skillDirs.length}`,...e.skillDirs.map(e=>` ${r(e)}`)),e.emptyDirs.length>0){let t=e.skillDirs.length>0?`Then remove these, which hold nothing else once the above are gone:`:`Remove these empty directories, left behind by that install:`;a.push(``,`${y(t)} ${e.emptyDirs.length}`,...e.emptyDirs.map(e=>` ${r(e)}`))}if(a.push(``,_(`Nothing outside these paths is touched. A directory that still holds anything is kept.`)),process.stdout.write(`${a.join(`
3
3
  `)}\n`),t.yes)return!0;if(!i.isTTY)return process.stdout.write(`${v("Not a terminal — skipping cleanup. Re-run with `ok repair-skills --yes` to remove these.")}\n`),!1;let o=M({input:i,output:process.stdout});try{let e=(await o.question(`\n${y(`Remove them?`)} ${_(`[y/N] `)}`)).trim().toLowerCase();return e===`y`||e===`yes`}finally{o.close()}}export{G as n,H as t};
4
- //# sourceMappingURL=repair-skills-DueNXSu9.mjs.map
4
+ //# sourceMappingURL=repair-skills-CZ-a80SS.mjs.map
@@ -1,2 +1,2 @@
1
- import"./src-czIvvgm0.mjs";import{r as e}from"./logger-5LePyO3n.mjs";import{dirname as t,join as n,resolve as r}from"node:path";import{fileURLToPath as i}from"node:url";import{closeSync as a,existsSync as o,mkdirSync as s,openSync as c,readFileSync as l,unlinkSync as u,writeFileSync as d,writeSync as f}from"node:fs";import{homedir as p,hostname as m}from"node:os";import{randomUUID as h}from"node:crypto";function g(e){try{return process.kill(e,0),!0}catch(e){return!!(e&&typeof e==`object`&&`code`in e&&e.code===`EPERM`)}}function _(e){return!(typeof e!=`number`||!Number.isInteger(e)||e<2||e>2147483647)}function v(e){return new URL(e.url??``,`http://localhost`).searchParams}function y(e){let t=e?.code;return typeof t==`string`?t:void 0}const b=/^[A-Za-z0-9-]{8,64}$/;let x=null;function S(e){return n(e??p(),`.ok`,`machine-id`)}function C(n){if(n===void 0&&x!==null)return x;let r=S(n),i=null;try{let e=l(r,`utf-8`).trim();b.test(e)&&(i=e)}catch{}if(i===null){i=h();try{s(t(r),{recursive:!0}),d(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&&(x=i),i}function w(){try{let e=r(t(i(import.meta.url)),`..`,`package.json`),n=JSON.parse(l(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===C():e.hostname===m()}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(l(e,`utf-8`));if(t?.pid!==process.pid||typeof t.machineId==`string`&&t.machineId!==C()||t.machineId===void 0&&typeof t.hostname==`string`&&t.hostname!==m())continue;u(e)}catch{}}))}function L(e,t){try{let n=JSON.parse(l(e,`utf-8`));return n&&typeof n==`object`&&_(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,i=`[${t}-lock]`;s(n,{recursive:!0});let l=k(n,t),p={pid:process.pid,hostname:m(),port:r.port,startedAt:new Date().toISOString(),worktreeRoot:r.worktreeRoot,machineId:C(),...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(p,null,2);for(let e=0;e<3;e++){if(!o(l))try{let e=c(l,`wx`,384);try{f(e,h)}finally{a(e)}return j(l),I(l),z({lockName:t,lockDir:n,lockPath:l})}catch(e){if(y(e)!==`EEXIST`)throw e}let e=L(l,i);if(e){if(N(e)&&e.pid===process.pid)return d(l,h,{encoding:`utf-8`,mode:384}),j(l),I(l),z({lockName:t,lockDir:n,lockPath:l});if(g(e.pid))throw new O(e,l,t);D.warn({pid:e.pid,host:e.hostname},`${i} Stale lock detected (pid=${e.pid}, host=${e.hostname}) — replacing`)}try{u(l)}catch{}}throw Error(`${i} Failed to acquire ${l} 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]`,a=k(n,t);if(!o(a)){D.warn({lockPath:a},`${i} Lock file missing at ${a} during port update — skipping`);return}let s;try{let e=JSON.parse(l(a,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid)){D.warn({lockPath:a},`${i} Corrupt lock at ${a} during port update — skipping`);return}s=e}catch{D.warn({lockPath:a},`${i} Unreadable lock at ${a} during port update — skipping`);return}if(s.pid===process.pid&&N(s)){s.port=r;try{d(a,JSON.stringify(s,null,2),{encoding:`utf-8`,mode:384})}catch(e){D.warn({lockPath:a,err:e},`${i} Failed to update port in ${a}: ${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(l(i,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid)){D.warn({lockPath:i},`${r} Corrupt lock at ${i} during draining mark — skipping`);return}a=e}catch(e){y(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{d(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(!o(r))return null;let i;try{let e=JSON.parse(l(r,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid))return null;i=e}catch{return null}if(!N(i))return null;if(!g(i.pid)){try{u(r)}catch{}return null}return i}function U(e){let{lockName:t,lockDir:n}=e,r=k(n,t);if(!o(r))return{status:`absent`};let i;try{i=JSON.parse(l(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 a=i;if(!_(a.pid)||typeof a.hostname!=`string`||typeof a.port!=`number`||typeof a.startedAt!=`string`||typeof a.worktreeRoot!=`string`)return{status:`incompatible`,reason:`corrupt`,raw:i};let s={pid:a.pid,hostname:a.hostname,port:a.port,startedAt:a.startedAt,worktreeRoot:a.worktreeRoot,machineId:typeof a.machineId==`string`?a.machineId:void 0,draining:a.draining===!0?!0:void 0,protocolVersion:typeof a.protocolVersion==`number`?a.protocolVersion:void 0,runtimeVersion:typeof a.runtimeVersion==`string`?a.runtimeVersion:void 0};if(!N(s))return{status:`stale`,lock:s};if(!g(s.pid)){try{u(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]`,a=k(n,t);if(M(a)){if(r){V({lockName:t,lockDir:n});return}if(o(a))try{let e=JSON.parse(l(a,`utf-8`));if(!e||typeof e!=`object`||typeof e.pid!=`number`||e.pid!==process.pid||!N(e))return;u(a),P.delete(a)}catch(e){D.warn({lockPath:a,err:e},`${i} Failed to release ${a}: ${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{_ as S,E as _,X as a,v 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,C as v,g as x,y};
2
- //# sourceMappingURL=server-lock-3ByzWRdV.mjs.map
1
+ import"./src-Bnk118Ag.mjs";import{r as e}from"./logger-5LePyO3n.mjs";import{dirname as t,join as n,resolve as r}from"node:path";import{fileURLToPath as i}from"node:url";import{closeSync as a,existsSync as o,mkdirSync as s,openSync as c,readFileSync as l,unlinkSync as u,writeFileSync as d,writeSync as f}from"node:fs";import{homedir as p,hostname as m}from"node:os";import{randomUUID as h}from"node:crypto";function g(e){try{return process.kill(e,0),!0}catch(e){return!!(e&&typeof e==`object`&&`code`in e&&e.code===`EPERM`)}}function _(e){return!(typeof e!=`number`||!Number.isInteger(e)||e<2||e>2147483647)}function v(e){return new URL(e.url??``,`http://localhost`).searchParams}function y(e){let t=e?.code;return typeof t==`string`?t:void 0}const b=/^[A-Za-z0-9-]{8,64}$/;let x=null;function S(e){return n(e??p(),`.ok`,`machine-id`)}function C(n){if(n===void 0&&x!==null)return x;let r=S(n),i=null;try{let e=l(r,`utf-8`).trim();b.test(e)&&(i=e)}catch{}if(i===null){i=h();try{s(t(r),{recursive:!0}),d(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&&(x=i),i}function w(){try{let e=r(t(i(import.meta.url)),`..`,`package.json`),n=JSON.parse(l(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===C():e.hostname===m()}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(l(e,`utf-8`));if(t?.pid!==process.pid||typeof t.machineId==`string`&&t.machineId!==C()||t.machineId===void 0&&typeof t.hostname==`string`&&t.hostname!==m())continue;u(e)}catch{}}))}function L(e,t){try{let n=JSON.parse(l(e,`utf-8`));return n&&typeof n==`object`&&_(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,i=`[${t}-lock]`;s(n,{recursive:!0});let l=k(n,t),p={pid:process.pid,hostname:m(),port:r.port,startedAt:new Date().toISOString(),worktreeRoot:r.worktreeRoot,machineId:C(),...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(p,null,2);for(let e=0;e<3;e++){if(!o(l))try{let e=c(l,`wx`,384);try{f(e,h)}finally{a(e)}return j(l),I(l),z({lockName:t,lockDir:n,lockPath:l})}catch(e){if(y(e)!==`EEXIST`)throw e}let e=L(l,i);if(e){if(N(e)&&e.pid===process.pid)return d(l,h,{encoding:`utf-8`,mode:384}),j(l),I(l),z({lockName:t,lockDir:n,lockPath:l});if(g(e.pid))throw new O(e,l,t);D.warn({pid:e.pid,host:e.hostname},`${i} Stale lock detected (pid=${e.pid}, host=${e.hostname}) — replacing`)}try{u(l)}catch{}}throw Error(`${i} Failed to acquire ${l} 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]`,a=k(n,t);if(!o(a)){D.warn({lockPath:a},`${i} Lock file missing at ${a} during port update — skipping`);return}let s;try{let e=JSON.parse(l(a,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid)){D.warn({lockPath:a},`${i} Corrupt lock at ${a} during port update — skipping`);return}s=e}catch{D.warn({lockPath:a},`${i} Unreadable lock at ${a} during port update — skipping`);return}if(s.pid===process.pid&&N(s)){s.port=r;try{d(a,JSON.stringify(s,null,2),{encoding:`utf-8`,mode:384})}catch(e){D.warn({lockPath:a,err:e},`${i} Failed to update port in ${a}: ${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(l(i,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid)){D.warn({lockPath:i},`${r} Corrupt lock at ${i} during draining mark — skipping`);return}a=e}catch(e){y(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{d(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(!o(r))return null;let i;try{let e=JSON.parse(l(r,`utf-8`));if(!e||typeof e!=`object`||!_(e.pid))return null;i=e}catch{return null}if(!N(i))return null;if(!g(i.pid)){try{u(r)}catch{}return null}return i}function U(e){let{lockName:t,lockDir:n}=e,r=k(n,t);if(!o(r))return{status:`absent`};let i;try{i=JSON.parse(l(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 a=i;if(!_(a.pid)||typeof a.hostname!=`string`||typeof a.port!=`number`||typeof a.startedAt!=`string`||typeof a.worktreeRoot!=`string`)return{status:`incompatible`,reason:`corrupt`,raw:i};let s={pid:a.pid,hostname:a.hostname,port:a.port,startedAt:a.startedAt,worktreeRoot:a.worktreeRoot,machineId:typeof a.machineId==`string`?a.machineId:void 0,draining:a.draining===!0?!0:void 0,protocolVersion:typeof a.protocolVersion==`number`?a.protocolVersion:void 0,runtimeVersion:typeof a.runtimeVersion==`string`?a.runtimeVersion:void 0};if(!N(s))return{status:`stale`,lock:s};if(!g(s.pid)){try{u(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]`,a=k(n,t);if(M(a)){if(r){V({lockName:t,lockDir:n});return}if(o(a))try{let e=JSON.parse(l(a,`utf-8`));if(!e||typeof e!=`object`||typeof e.pid!=`number`||e.pid!==process.pid||!N(e))return;u(a),P.delete(a)}catch(e){D.warn({lockPath:a,err:e},`${i} Failed to release ${a}: ${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{_ as S,E as _,X as a,v 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,C as v,g as x,y};
2
+ //# sourceMappingURL=server-lock-Cg66XiR-.mjs.map
@@ -0,0 +1 @@
1
+ import{a as e,o as t,r as n}from"./server-lock-Cg66XiR-.mjs";export{n as markServerLockDraining,e as releaseServerLock,t as updateServerLockPort};