@inkeep/open-knowledge 0.49.0-beta.15 → 0.49.0-beta.17

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 (411) hide show
  1. package/dist/{acp-harness-probe-Ce0tfHhT.mjs → acp-harness-probe-D4sxfShG.mjs} +2 -2
  2. package/dist/cli.mjs +7 -7
  3. package/dist/config-schema.json +38 -0
  4. package/dist/config.user.schema.json +38 -0
  5. package/dist/constants-DDh7JRiH.mjs +2 -0
  6. package/dist/{fs-traced-Cq61rC8q.mjs → fs-traced-By5aY-RE.mjs} +2 -2
  7. package/dist/fs-traced-CkLhqsEn.mjs +1 -0
  8. package/dist/git-handle-BOyHOuUW.mjs +1 -0
  9. package/dist/{git-handle-3e6ruSEO.mjs → git-handle-CxyKwEl2.mjs} +2 -2
  10. package/dist/index.d.mts +34 -17
  11. package/dist/index.mjs +1 -1
  12. package/dist/{init-Di0YD1B9.mjs → init-BSftZaYd.mjs} +3 -3
  13. package/dist/init-BrB3nqhq.mjs +1 -0
  14. package/dist/{launch-json-removal-94lSgz_J.mjs → launch-json-removal-BAZK0l8a.mjs} +2 -2
  15. package/dist/loader-CMSDvZCy.mjs +1 -0
  16. package/dist/{loader-B8jawu5K.mjs → loader-Dc3JqrRk.mjs} +2 -2
  17. package/dist/md-manager-CK3MY8qo.mjs +2 -0
  18. package/dist/{open-browser-DZDWUYF1.mjs → open-browser-DNGjsMld.mjs} +2 -2
  19. package/dist/parse-worker.mjs +1 -1
  20. package/dist/preview-SRNPwqmv.mjs +1 -0
  21. package/dist/{preview-Bbo353IM.mjs → preview-oQZVmLMv.mjs} +2 -2
  22. package/dist/public/assets/{ActivityModeContent-B5po6WtG.js → ActivityModeContent-n6upvTW8.js} +1 -1
  23. package/dist/public/assets/{AgentDiffPane-ZiZJsn41.js → AgentDiffPane-pp-kY810.js} +2 -2
  24. package/dist/public/assets/{AgentThreadClientBinder-BUoEh0WV.js → AgentThreadClientBinder-Biv4Zdo5.js} +1 -1
  25. package/dist/public/assets/BugReportHistory-ByqtNKfa.js +1 -0
  26. package/dist/public/assets/{BugReportHistoryDialog-DlY3rGJB.js → BugReportHistoryDialog-DjkEJgWk.js} +1 -1
  27. package/dist/public/assets/ChangedOutsideBadge-Bg-4Rhrv.js +1 -0
  28. package/dist/public/assets/CodeMirrorPropInput-BN9DkK26.js +3 -0
  29. package/dist/public/assets/{ConsentDialogBody-B4BDndYH.js → ConsentDialogBody-Z8_xWIxM.js} +1 -1
  30. package/dist/public/assets/{DiffView-CRnGOcsK.js → DiffView-Bl0_dOLv.js} +1 -1
  31. package/dist/public/assets/DocumentContext-AhoahLLY.js +38 -0
  32. package/dist/public/assets/{EditorModeToggle-FsNFbWj8.js → EditorModeToggle-BuMW2IKR.js} +1 -1
  33. package/dist/public/assets/{EnableSyncConfirmDialog-C0LTGFxm.js → EnableSyncConfirmDialog-CZGyy-gQ.js} +1 -1
  34. package/dist/public/assets/FeedbackForm-CB4KdOF8.js +1 -0
  35. package/dist/public/assets/{GraphPanel-BzI8bQVI.js → GraphPanel-Chl4d5Cn.js} +1 -1
  36. package/dist/public/assets/{ImportSkillDialog-DxV_cD1x.js → ImportSkillDialog-9TmZa8Xu.js} +1 -1
  37. package/dist/public/assets/{LintConfigEditor-CJLnn55b.js → LintConfigEditor-NG9lVrVr.js} +1 -1
  38. package/dist/public/assets/ManagedArtifactProperties-CgXKNk8O.js +1 -0
  39. package/dist/public/assets/ManagedArtifactProperties-ClyfR13Q.js +2 -0
  40. package/dist/public/assets/{McpConsentDialogBody-CBMcx-oi.js → McpConsentDialogBody-CXTJ3hvD.js} +1 -1
  41. package/dist/public/assets/{Mermaid-VtbzVjk9.js → Mermaid-5Egs9Kop.js} +2 -2
  42. package/dist/public/assets/{MermaidDocEditor-Cs5cY1I4.js → MermaidDocEditor-CuBhijnc.js} +1 -1
  43. package/dist/public/assets/{RegisteredAgentIcon-DaRhHE3D.js → RegisteredAgentIcon-C86VMw2X.js} +1 -1
  44. package/dist/public/assets/{ReportBugDialogBody-CqJmw2gc.js → ReportBugDialogBody-BziQ7PHj.js} +1 -1
  45. package/dist/public/assets/{SchemaConfigEditor-T9auWtcU.js → SchemaConfigEditor-CteLTKvM.js} +1 -1
  46. package/dist/public/assets/SessionsHost-CAk6iGd_.js +2 -0
  47. package/dist/public/assets/SettingsDialogBody-CmI-JgZq.js +12 -0
  48. package/dist/public/assets/{ShareBranchSwitchDialog-DpJWy6Wx.js → ShareBranchSwitchDialog-lme5IS3-.js} +1 -1
  49. package/dist/public/assets/{ShareReceiveDialog-Chmfb4jD.js → ShareReceiveDialog-B3NOY4at.js} +1 -1
  50. package/dist/public/assets/{ShareReceiveMissDialog-DEO-0oqX.js → ShareReceiveMissDialog-BRfn7AHn.js} +1 -1
  51. package/dist/public/assets/{SkillEditBanner-m23hCynE.js → SkillEditBanner-DRHIV9HK.js} +1 -1
  52. package/dist/public/assets/{SkillOriginInline-CZD9-Qds.js → SkillOriginInline-DWokCMi-.js} +1 -1
  53. package/dist/public/assets/{SkillToolbarControls-BK7HSWax.js → SkillToolbarControls-B2sDzDyo.js} +1 -1
  54. package/dist/public/assets/SlidesToolbarControls-CJnETn-Y.js +1 -0
  55. package/dist/public/assets/SourceEditor-CAlDF7Kt.js +1 -0
  56. package/dist/public/assets/TerminalPanel-Dilr8t7_.js +146 -0
  57. package/dist/public/assets/{TerminalWindowApp-CPTC6ix0.js → TerminalWindowApp-yPU9388A.js} +1 -1
  58. package/dist/public/assets/{TextDocEditor-80U8mDiT.js → TextDocEditor-ET923el3.js} +1 -1
  59. package/dist/public/assets/ThreadView-BE_8u65Q.js +8 -0
  60. package/dist/public/assets/{TimelineDiffPane-CfmFp4dH.js → TimelineDiffPane-C65Oyf_V.js} +2 -2
  61. package/dist/public/assets/{abnfDiagram-VRR7QNED-BmIGpDzR.js → abnfDiagram-VRR7QNED-D_khKPsq.js} +1 -1
  62. package/dist/public/assets/{agent-diff-store-B_Ggyl4B.js → agent-diff-store-CgZBsYlZ.js} +1 -1
  63. package/dist/public/assets/{agent-visibility-C3Lr_sAC.js → agent-visibility-Db4MN-dd.js} +1 -1
  64. package/dist/public/assets/{arc-CQb2AKAx.js → arc-BSg5_L5f.js} +1 -1
  65. package/dist/public/assets/architecture-TIHT7OUA-lqj_x00I.js +1 -0
  66. package/dist/public/assets/{architectureDiagram-ZJ3FMSHR-B7kRa73u.js → architectureDiagram-ZJ3FMSHR-DSHzhG2V.js} +1 -1
  67. package/dist/public/assets/auth-state-cache-D4EZ8bSX.js +11 -0
  68. package/dist/public/assets/{blockDiagram-677ZJIJ3-CW_RPrF5.js → blockDiagram-677ZJIJ3-C74Ofxze.js} +1 -1
  69. package/dist/public/assets/{c4Diagram-LMCZKHZV-DSzPt7hc.js → c4Diagram-LMCZKHZV-CK9kFunN.js} +1 -1
  70. package/dist/public/assets/{calendar-00bIEN9E.js → calendar-DNCCx2Tn.js} +1 -1
  71. package/dist/public/assets/channel-CxSvaQye.js +1 -0
  72. package/dist/public/assets/chunk-2Q5K7J3B-BBDHGzDT.js +1 -0
  73. package/dist/public/assets/{chunk-32BRIVSS-CZmcIudv.js → chunk-32BRIVSS-D5tveMQf.js} +1 -1
  74. package/dist/public/assets/{chunk-52WLFC77-BVOQGRZo.js → chunk-52WLFC77-N9WIMthM.js} +1 -1
  75. package/dist/public/assets/{chunk-5FCAYU7R-Cw8swtTn.js → chunk-5FCAYU7R-CGBHAdlb.js} +1 -1
  76. package/dist/public/assets/{chunk-5HE753X5-BcaELnEX.js → chunk-5HE753X5-BhvmdbMf.js} +1 -1
  77. package/dist/public/assets/{chunk-5JV3BV7I-CTGgCtpC.js → chunk-5JV3BV7I-DikkyPAk.js} +1 -1
  78. package/dist/public/assets/{chunk-5TONJI2A-Bpyxou83.js → chunk-5TONJI2A-B5plHHlX.js} +1 -1
  79. package/dist/public/assets/{chunk-5VM5RSS4-DgdH1pRm.js → chunk-5VM5RSS4-ceHGEZQp.js} +1 -1
  80. package/dist/public/assets/{chunk-7BUUIJ7U-ClPt7kN-.js → chunk-7BUUIJ7U-D8nVDVZR.js} +1 -1
  81. package/dist/public/assets/{chunk-BIQX33UG-mS9PjbWf.js → chunk-BIQX33UG-BOQ76aQ_.js} +1 -1
  82. package/dist/public/assets/{chunk-BO2N2NFS-DPS62-Wy.js → chunk-BO2N2NFS-C1rQfpaL.js} +3 -3
  83. package/dist/public/assets/{chunk-C7G6YPKG-QNP-z6to.js → chunk-C7G6YPKG-CKvpw2W_.js} +1 -1
  84. package/dist/public/assets/{chunk-CQNSW5MT-DMMvOdGr.js → chunk-CQNSW5MT-BqvGPWlP.js} +1 -1
  85. package/dist/public/assets/{chunk-CYSBUYHQ-BICcghCa.js → chunk-CYSBUYHQ-CU_8tGva.js} +1 -1
  86. package/dist/public/assets/{chunk-EMLP6XTP-BImPFoB6.js → chunk-EMLP6XTP-CWTQl3Ut.js} +1 -1
  87. package/dist/public/assets/{chunk-EX3LRPZG-CBy8mV-p.js → chunk-EX3LRPZG-D5na3HWw.js} +1 -1
  88. package/dist/public/assets/{chunk-FWX5IMBZ-Be7rLA4R.js → chunk-FWX5IMBZ-BJV077Xm.js} +2 -2
  89. package/dist/public/assets/{chunk-HOUHSVGY-BwiBKa9M.js → chunk-HOUHSVGY-leOe2Wfc.js} +1 -1
  90. package/dist/public/assets/{chunk-ICXQ74PX-D-nICoJO.js → chunk-ICXQ74PX-DrDor7Ec.js} +1 -1
  91. package/dist/public/assets/{chunk-JG7HCLWE-Cr6K5vvd.js → chunk-JG7HCLWE-Dk9CVnqI.js} +1 -1
  92. package/dist/public/assets/{chunk-JWPE2WC7-D8-kUsSG.js → chunk-JWPE2WC7-BN90edxN.js} +1 -1
  93. package/dist/public/assets/{chunk-MOJQB5TN-DYoKyicG.js → chunk-MOJQB5TN-DIPg-dvq.js} +1 -1
  94. package/dist/public/assets/{chunk-MOZMSUNE-Dso0Z5Dr.js → chunk-MOZMSUNE-cMtFub1B.js} +1 -1
  95. package/dist/public/assets/{chunk-OGEWGWER-CjYwkekm.js → chunk-OGEWGWER-C_XS83lr.js} +1 -1
  96. package/dist/public/assets/{chunk-OSBZ3O6U-DO9s6SlU.js → chunk-OSBZ3O6U-BG79ras7.js} +1 -1
  97. package/dist/public/assets/{chunk-PUDLZKDR-Dv5A5dRj.js → chunk-PUDLZKDR-CeLQoV1n.js} +1 -1
  98. package/dist/public/assets/{chunk-Q4XR5HBZ-qovh5WM_.js → chunk-Q4XR5HBZ-BjjkOTzY.js} +1 -1
  99. package/dist/public/assets/{chunk-QBLGF6JB-DRvINlWy.js → chunk-QBLGF6JB-BfFAi7o_.js} +1 -1
  100. package/dist/public/assets/{chunk-R7FJI6CG-B7wiPJ88.js → chunk-R7FJI6CG-BKu7NzzM.js} +1 -1
  101. package/dist/public/assets/{chunk-RYQCIY6F-CeBzmL1V.js → chunk-RYQCIY6F-dUeuj7ml.js} +1 -1
  102. package/dist/public/assets/{chunk-U6XO7XAA-B3t2ZcvG.js → chunk-U6XO7XAA-Be8rJApJ.js} +1 -1
  103. package/dist/public/assets/{chunk-V7JOEXUC-BaPGIDh2.js → chunk-V7JOEXUC-CFm_9_CW.js} +1 -1
  104. package/dist/public/assets/chunk-VAUOI2AC-CkMch8zt.js +1 -0
  105. package/dist/public/assets/{chunk-VR4S4FIN-BKvzLxw6.js → chunk-VR4S4FIN-BcfdRShv.js} +1 -1
  106. package/dist/public/assets/{chunk-WYO6CB5R-Dee3LC03.js → chunk-WYO6CB5R-kBTn4Bj4.js} +1 -1
  107. package/dist/public/assets/chunk-XXDRQBXY-D7AOmAQy.js +1 -0
  108. package/dist/public/assets/{chunk-YOTPTUD7-B9Vebq-b.js → chunk-YOTPTUD7--a72WylF.js} +1 -1
  109. package/dist/public/assets/{chunk-ZGVPDNZ5-CQRStGTR.js → chunk-ZGVPDNZ5-Bteg-rhd.js} +1 -1
  110. package/dist/public/assets/{chunk-ZIRB5QZD-DEufsvtD.js → chunk-ZIRB5QZD-CJWSWsWI.js} +1 -1
  111. package/dist/public/assets/classDiagram-OUVF2IWQ-CRB5-ZdL.js +1 -0
  112. package/dist/public/assets/classDiagram-v2-EOCWNBFH-De2UqgR8.js +1 -0
  113. package/dist/public/assets/client-version-gKRInXGv.js +1 -0
  114. package/dist/public/assets/{cm-theme-CZKVXD9s.js → cm-theme-CEMjBDMc.js} +1 -1
  115. package/dist/public/assets/{comment-chips-BhzTkUdN.js → comment-chips-DTq4YCCg.js} +1 -1
  116. package/dist/public/assets/{config-context-CjIu2e9K.js → config-context-1rmAj5Zi.js} +1 -1
  117. package/dist/public/assets/config-provider-rDSDXt7j.js +5 -0
  118. package/dist/public/assets/{cose-bilkent-JH36ORCC-CoZVsSg8.js → cose-bilkent-JH36ORCC-xObutf9P.js} +1 -1
  119. package/dist/public/assets/cynefin-VYW2F7L2-DfJvFSNr.js +1 -0
  120. package/dist/public/assets/{cynefinDiagram-TSTJHNR4-DPvTX2wo.js → cynefinDiagram-TSTJHNR4-BSZ6QtvY.js} +1 -1
  121. package/dist/public/assets/{dagre-Cvkrznc5.js → dagre-Cqtp1SYG.js} +1 -1
  122. package/dist/public/assets/{dagre-VKFMJZFB-DCyCbnWk.js → dagre-VKFMJZFB-Ch3PVDjG.js} +1 -1
  123. package/dist/public/assets/{diagram-FQU43EPY-DQfED2jZ.js → diagram-FQU43EPY-BUpSpRIE.js} +1 -1
  124. package/dist/public/assets/{diagram-G47NLZAW-D_tAD-CD.js → diagram-G47NLZAW-CKUH8xVt.js} +1 -1
  125. package/dist/public/assets/{diagram-NH7WQ7WH-B2WHNVdG.js → diagram-NH7WQ7WH-CYGNz2sT.js} +1 -1
  126. package/dist/public/assets/{diagram-OA4YK3LP-D8DlKHon.js → diagram-OA4YK3LP-DEgoBqaw.js} +1 -1
  127. package/dist/public/assets/{diagram-WEI45ONY-CWnCxk5f.js → diagram-WEI45ONY-CeOjV9QL.js} +1 -1
  128. package/dist/public/assets/{dialog-B0SeVR1b.js → dialog-CcXKVLIB.js} +1 -1
  129. package/dist/public/assets/dist-8RD7Tv4S.js +1 -0
  130. package/dist/public/assets/dist-B-mKvwgg.js +1 -0
  131. package/dist/public/assets/{dist-B2sUyimR.js → dist-B4trhYTE.js} +1 -1
  132. package/dist/public/assets/{dist-BDbPHHcG.js → dist-BA4Ebfzd.js} +1 -1
  133. package/dist/public/assets/dist-BaXc7LtC.js +1 -0
  134. package/dist/public/assets/dist-BaY_jSiN.js +9 -0
  135. package/dist/public/assets/dist-C06PewhS.js +1 -0
  136. package/dist/public/assets/dist-C2LaS-vN.js +23 -0
  137. package/dist/public/assets/dist-CRwqp1kW.js +1 -0
  138. package/dist/public/assets/{dist-FFXyFMEP2.js → dist-DPrOTK3n2.js} +182 -182
  139. package/dist/public/assets/{dist-Dl_Hcem_.js → dist-DabikqIh2.js} +1 -1
  140. package/dist/public/assets/{dist-BrVyfPlR.js → dist-R1uAe8ee.js} +1 -1
  141. package/dist/public/assets/{dist-BRXePA0O.js → dist-TZRViVSr.js} +1 -1
  142. package/dist/public/assets/{dist-C5hoswyZ.js → dist-uCz6hXhc.js} +1 -1
  143. package/dist/public/assets/{doc-paths-BT16-f7r.js → doc-paths-CWjzUJaI.js} +1 -1
  144. package/dist/public/assets/{documents-events-BYhhJH8W.js → documents-events-H7SxtX3p.js} +1 -1
  145. package/dist/public/assets/{ebnfDiagram-CCIWWBDH-CZzPuk9p.js → ebnfDiagram-CCIWWBDH-DyhbJMNB.js} +1 -1
  146. package/dist/public/assets/{erDiagram-Q63AITRT-9xYB2NMy.js → erDiagram-Q63AITRT-CISX1BU6.js} +1 -1
  147. package/dist/public/assets/eventmodeling-45OFAUF4-CylxYPTv.js +1 -0
  148. package/dist/public/assets/{file-tree-adapter-5NHUF1AU.js → file-tree-adapter-CjXr6ajD.js} +1 -1
  149. package/dist/public/assets/{file-tree-utils-Dfu7Cauy.js → file-tree-utils-k-AZyfkA.js} +1 -1
  150. package/dist/public/assets/flowDiagram-23GEKE2U-CWuu50Yk.js +1 -0
  151. package/dist/public/assets/{folder-config-api-CgtASyeO.js → folder-config-api-Br4F_K_L.js} +1 -1
  152. package/dist/public/assets/{follow-file-qiIw6X4h.js → follow-file-2dfYZkFe.js} +1 -1
  153. package/dist/public/assets/{ganttDiagram-NO4QXBWP-DijtRRdy.js → ganttDiagram-NO4QXBWP-D6fKxYAj.js} +1 -1
  154. package/dist/public/assets/gherkin-Bm-FJVNe.js +1 -0
  155. package/dist/public/assets/gitGraph-TEB2WS4Q-D1FPGcxf.js +1 -0
  156. package/dist/public/assets/{gitGraphDiagram-IHSO6WYX-v6F97UcV.js → gitGraphDiagram-IHSO6WYX-qhZlkCwW.js} +1 -1
  157. package/dist/public/assets/globals-CrUZfUVm.css +1 -0
  158. package/dist/public/assets/{globals-BkB_jgyG.js → globals-DktXHqb9.js} +2 -2
  159. package/dist/public/assets/{graphlib-DhNu5XTn.js → graphlib-CltjDiBv.js} +1 -1
  160. package/dist/public/assets/{highlighted-body-OFNGDK62-DxF-jfal.js → highlighted-body-OFNGDK62-BUmudHfs.js} +1 -1
  161. package/dist/public/assets/i18n-CHftDxDL.js +1 -0
  162. package/dist/public/assets/index-D9hPlEJA.js +2097 -0
  163. package/dist/public/assets/info-DKCQHKI2-CcfoV-RV.js +1 -0
  164. package/dist/public/assets/{infoDiagram-FWYZ7A6U-CZFjeYGc.js → infoDiagram-FWYZ7A6U-Ds6lhUVr.js} +1 -1
  165. package/dist/public/assets/{input-group-pOmI7K9l.js → input-group-8jkSntF3.js} +1 -1
  166. package/dist/public/assets/{ishikawaDiagram-FXEZZL3T-CkYYfkzy.js → ishikawaDiagram-FXEZZL3T-BPjCb-CY.js} +1 -1
  167. package/dist/public/assets/{journeyDiagram-5HDEW3XC-jznzpifp.js → journeyDiagram-5HDEW3XC-CWW-IGFT.js} +1 -1
  168. package/dist/public/assets/{kanban-definition-HUTT4EX6-DvW7rPep.js → kanban-definition-HUTT4EX6-9DWv9ZC3.js} +1 -1
  169. package/dist/public/assets/{line-D74h8yJj.js → line-BpUHNPvt.js} +1 -1
  170. package/dist/public/assets/{linear-wPQKtCnF.js → linear-D9gTM_xH.js} +1 -1
  171. package/dist/public/assets/{lint-config-client-aw9JiA9H.js → lint-config-client-Dn6suOfe.js} +1 -1
  172. package/dist/public/assets/{map-BUSC3AEl.js → map-Ct5PeyyT.js} +1 -1
  173. package/dist/public/assets/{markdownlint-rule-browser-BqwmUz9N.js → markdownlint-rule-browser-kSmxbTRp.js} +1 -1
  174. package/dist/public/assets/mascot-outline-CtS592mc.js +1 -0
  175. package/dist/public/assets/mermaid-GHXKKRXX-B_btJJuL.js +1 -0
  176. package/dist/public/assets/{mermaid-parser.core-CIlXyQdh.js → mermaid-parser.core-BFnosmj6.js} +2 -2
  177. package/dist/public/assets/{mermaid.core-DZMFZPvc.js → mermaid.core-BDdIvnQn.js} +3 -3
  178. package/dist/public/assets/messages-BILUjz8f.js +1 -0
  179. package/dist/public/assets/messages-BjB6-hIv.js +1 -0
  180. package/dist/public/assets/messages-C3_4lmjV.js +1 -0
  181. package/dist/public/assets/messages-C3vPC7TS.js +1 -0
  182. package/dist/public/assets/messages-CV_K588q.js +1 -0
  183. package/dist/public/assets/messages-CYFqiGZZ.js +1 -0
  184. package/dist/public/assets/messages-Do4l3D_j.js +1 -0
  185. package/dist/public/assets/messages-DoIRtVOU.js +1 -0
  186. package/dist/public/assets/messages-HxZqeGVD.js +1 -0
  187. package/dist/public/assets/messages-RO6UphD8.js +1 -0
  188. package/dist/public/assets/messages-wypNkXwX.js +1 -0
  189. package/dist/public/assets/{mindmap-definition-LN4V7U3C-Bm6pRarL.js → mindmap-definition-LN4V7U3C-DX4UIJ16.js} +1 -1
  190. package/dist/public/assets/{navigation-targets-BB54n_r7.js → navigation-targets-Ba5Bru24.js} +1 -1
  191. package/dist/public/assets/{now-Dj28ysYF.js → now-BfOBLGzk.js} +1 -1
  192. package/dist/public/assets/{open-managed-artifact-tab-B-SCOaEl.js → open-managed-artifact-tab-DwwjW03V.js} +1 -1
  193. package/dist/public/assets/{ordinal-DXfwmpMf.js → ordinal-Clehsfbq.js} +1 -1
  194. package/dist/public/assets/packet-7NZHBO7P-P_QuUvCU.js +1 -0
  195. package/dist/public/assets/{pegDiagram-2B236MQR-U4Q3CpHD.js → pegDiagram-2B236MQR-KbnUE00J.js} +1 -1
  196. package/dist/public/assets/{pending-receive-nav-store-CKgZuSOc.js → pending-receive-nav-store-BQgyh_41.js} +1 -1
  197. package/dist/public/assets/pie-RZYD4A2V-BAgvHjr6.js +1 -0
  198. package/dist/public/assets/{pieDiagram-ENE6RG2P-Y_b1t_zS.js → pieDiagram-ENE6RG2P-BSQjKVIo.js} +1 -1
  199. package/dist/public/assets/{project-paths-CQTj3FbI.js → project-paths-BA2dpw2i.js} +1 -1
  200. package/dist/public/assets/{prop-types-BlWArB_E.js → prop-types-DdiRqdud.js} +1 -1
  201. package/dist/public/assets/{quadrantDiagram-ABIIQ3AL-9TnfTiwS.js → quadrantDiagram-ABIIQ3AL-FpTddTRX.js} +1 -1
  202. package/dist/public/assets/radar-I7S5WNFK-CD_Ktumt.js +1 -0
  203. package/dist/public/assets/railroad-3IZDKUUU-D9xUiDqw.js +1 -0
  204. package/dist/public/assets/railroad-abnf-AHOZXSZD-BYSfqgSZ.js +1 -0
  205. package/dist/public/assets/railroad-ebnf-EBAXGLYW-D6OcRAMK.js +1 -0
  206. package/dist/public/assets/railroad-peg-LSFZ7HO6-QFl0rwvI.js +1 -0
  207. package/dist/public/assets/{railroadDiagram-RFXS5EU6-BUV8iUi_.js → railroadDiagram-RFXS5EU6-12xH5l2l.js} +1 -1
  208. package/dist/public/assets/receive-store-CbuU-nbY.js +2 -0
  209. package/dist/public/assets/{requirementDiagram-TGXJPOKE-GHTFtFmR.js → requirementDiagram-TGXJPOKE-B3aIYt8o.js} +1 -1
  210. package/dist/public/assets/{sankeyDiagram-HTMAVEWB-C8cmLYHE.js → sankeyDiagram-HTMAVEWB-BqwgLAql.js} +1 -1
  211. package/dist/public/assets/schema-fields-view-intent-BBuKxRbl.js +1 -0
  212. package/dist/public/assets/{selection-context-D_wjAabH.js → selection-context-BJWMsPmX.js} +1 -1
  213. package/dist/public/assets/{sequenceDiagram-DBY2YBRQ-Bt7zFhks.js → sequenceDiagram-DBY2YBRQ-cPDkPtWk.js} +1 -1
  214. package/dist/public/assets/{sizeCapture-X5ZJPWSS-BU3nTQLQ.js → sizeCapture-X5ZJPWSS-DYI0x1uf.js} +1 -1
  215. package/dist/public/assets/skill-actions-hp7tjN8x.js +2 -0
  216. package/dist/public/assets/{skill-scope-UBfnFDb4.js → skill-scope-BjCR3NWy.js} +1 -1
  217. package/dist/public/assets/{skills-api-9ALineK1.js → skills-api-Bs4nS7E3.js} +1 -1
  218. package/dist/public/assets/{src-b2zZu8bk.js → src-Cj_ozY2I.js} +2 -2
  219. package/dist/public/assets/{src-B5Uf_H4s.js → src-uUlC2ieD.js} +1 -1
  220. package/dist/public/assets/{stateDiagram-2N3HPSRC-BUIZZrgp.js → stateDiagram-2N3HPSRC-Cl5jHCUD.js} +1 -1
  221. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-CRekuG26.js +1 -0
  222. package/dist/public/assets/{swimlanes-5IMT3BWC-bO40Bo1P.js → swimlanes-5IMT3BWC-CD7Eu7Pn.js} +2 -2
  223. package/dist/public/assets/swimlanesDiagram-G3AALYLV-J3LCiUf7.js +8 -0
  224. package/dist/public/assets/{tag-pill-input-kaP2lmgo.js → tag-pill-input-CqZT0rvq.js} +1 -1
  225. package/dist/public/assets/{target-navigation-intent-CS2r1eMb.js → target-navigation-intent-Cba6K6oJ.js} +1 -1
  226. package/dist/public/assets/{telemetry-impl-BsfnaFQP.js → telemetry-impl-BWM40APK.js} +2 -2
  227. package/dist/public/assets/{telemetry-startup-DDHLFOTt.js → telemetry-startup-BeDw1PMK.js} +1 -1
  228. package/dist/public/assets/terminal-N6WHmTOJ.js +1 -0
  229. package/dist/public/assets/terminal-command-events-BMsp915C.js +1 -0
  230. package/dist/public/assets/{terminal-launch-events-DKgbFSpL.js → terminal-launch-events-DdMesZ76.js} +1 -1
  231. package/dist/public/assets/{terminal-telemetry-CY2tEm12.js → terminal-telemetry-BdPNvYrr.js} +1 -1
  232. package/dist/public/assets/text-viewer-languages-BmF39alz.js +2 -0
  233. package/dist/public/assets/{thread-client-BNgrlAbM.js → thread-client-CkbDHaAL.js} +1 -1
  234. package/dist/public/assets/{timeline-definition-FHXFAJF6-BoGbaR7E.js → timeline-definition-FHXFAJF6-usqWKMi8.js} +1 -1
  235. package/dist/public/assets/treeView-QDETBFTQ-CjsH23fm.js +1 -0
  236. package/dist/public/assets/treemap-6X3UGDF4-B13JQvEF.js +1 -0
  237. package/dist/public/assets/{typing-burst-detector-BOg_zjfO.js → typing-burst-detector-1DBUBU0D.js} +3 -3
  238. package/dist/public/assets/uninstall-D1Tk1Qqr.js +1 -0
  239. package/dist/public/assets/{use-activity-panel-B0S1WvGg.js → use-activity-panel-BqhbnAvy.js} +1 -1
  240. package/dist/public/assets/{use-collab-url-CVs0Opja.js → use-collab-url-JGs-jjqU.js} +1 -1
  241. package/dist/public/assets/{use-live-xterm-theme-sbqUOBNg.js → use-live-xterm-theme-HFSp-SRO.js} +1 -1
  242. package/dist/public/assets/{use-open-skill-rBEbc_V6.js → use-open-skill-BTMPhN9U.js} +1 -1
  243. package/dist/public/assets/{use-settings-route-UI-dlJz3.js → use-settings-route-CCJsQ2fk.js} +1 -1
  244. package/dist/public/assets/{use-skill-directory-D9WsFuCq.js → use-skill-directory-BbBarJwR.js} +1 -1
  245. package/dist/public/assets/{use-skill-origin-V3GZkGVc.js → use-skill-origin-C-J-8dk_.js} +1 -1
  246. package/dist/public/assets/{use-skills-CvHLXmrt.js → use-skills-KNFnIiiN.js} +1 -1
  247. package/dist/public/assets/{use-terminal-enabled-B1WBXw0T.js → use-terminal-enabled-Bjyjp4IN.js} +1 -1
  248. package/dist/public/assets/{use-timeline-entry-diff-B9l_gpfZ.js → use-timeline-entry-diff-ghPGxcIE.js} +4 -4
  249. package/dist/public/assets/use-workspace-C7CSsYNe.js +1 -0
  250. package/dist/public/assets/{vennDiagram-L72KCM5P-CAtXcJOo.js → vennDiagram-L72KCM5P-Dttl5H6Y.js} +1 -1
  251. package/dist/public/assets/wardley-OPB4EBWU-MMAa33SU.js +1 -0
  252. package/dist/public/assets/{wardleyDiagram-EHGQE667-mlGW_wQr.js → wardleyDiagram-EHGQE667-DwgG2hBB.js} +1 -1
  253. package/dist/public/assets/workspace-paths-ptn1w1-t.js +1 -0
  254. package/dist/public/assets/{xychartDiagram-FW5EYKEG-B_lKj_cv.js → xychartDiagram-FW5EYKEG-Bg_jujbe.js} +1 -1
  255. package/dist/public/index.html +124 -98
  256. package/dist/public/uninstall.html +10 -8
  257. package/dist/{repair-launch-json-7YVtnaAc.mjs → repair-launch-json-Azr3s4iC.mjs} +2 -2
  258. package/dist/{repair-mcp-configs-Cdf96gPC.mjs → repair-mcp-configs-SxtozYrl.mjs} +2 -2
  259. package/dist/repair-skills--hN1CbbJ.mjs +1 -0
  260. package/dist/{repair-skills-BAusSdNE.mjs → repair-skills-DUZhp7YP.mjs} +2 -2
  261. package/dist/schemas/v0/config.user.schema.json +38 -0
  262. package/dist/server-lock-CSAtOeDZ.mjs +1 -0
  263. package/dist/{server-lock-Dc1sKhMm.mjs → server-lock-D7MC1H2C.mjs} +2 -2
  264. package/dist/{skill-teardown-Civ13nQy.mjs → skill-teardown-B2XAb7rJ.mjs} +2 -2
  265. package/dist/{sleep-ByqzSHar.mjs → sleep-DVOInM4H.mjs} +5 -5
  266. package/dist/{src-CSv3k56d.mjs → src-DEM_c4GV.mjs} +310 -310
  267. package/dist/{src-Cx1wkeXN.mjs → src-DZT47hO7.mjs} +1 -1
  268. package/dist/{src-1Bl34H5k.mjs → src-DevJlbVv.mjs} +2 -2
  269. package/dist/{src-joEY89vd.mjs → src-nnByndhY.mjs} +2 -2
  270. package/dist/{start-CtQAE6DT.mjs → start-CBuODZiA.mjs} +3 -3
  271. package/dist/start-Cp9lt_vZ.mjs +1 -0
  272. package/dist/{write-project-skill-DLbZanxo.mjs → write-project-skill-RvzxhWzq.mjs} +2 -2
  273. package/package.json +5 -5
  274. package/dist/constants-BG-_TaCy.mjs +0 -2
  275. package/dist/fs-traced-WMTb98_i.mjs +0 -1
  276. package/dist/git-handle-Ca0yLTy3.mjs +0 -1
  277. package/dist/init-CypeIpDY.mjs +0 -1
  278. package/dist/loader-Bl5ihPef.mjs +0 -1
  279. package/dist/md-manager-DTsQm4IH.mjs +0 -2
  280. package/dist/preview-BhLZ6TAG.mjs +0 -1
  281. package/dist/public/assets/BugReportHistory-CYOPGlVT.js +0 -1
  282. package/dist/public/assets/ChangedOutsideBadge-Bihnu7k7.js +0 -1
  283. package/dist/public/assets/CodeMirrorPropInput-CnRlIy5L.js +0 -3
  284. package/dist/public/assets/DocumentContext-CUIMtHot.js +0 -38
  285. package/dist/public/assets/FeedbackForm-DwuqNU9P.js +0 -1
  286. package/dist/public/assets/ManagedArtifactProperties--55KwZ-r.js +0 -1
  287. package/dist/public/assets/ManagedArtifactProperties-Ub0g1I2w.js +0 -2
  288. package/dist/public/assets/SessionsHost-DDSYGLPw.js +0 -2
  289. package/dist/public/assets/SettingsDialogBody-CayS2Oyi.js +0 -12
  290. package/dist/public/assets/SourceEditor-JAuf0ZLh.js +0 -1
  291. package/dist/public/assets/TerminalPanel-CY8ECSUN.js +0 -146
  292. package/dist/public/assets/ThreadView-BUoOjt6c.js +0 -8
  293. package/dist/public/assets/architecture-TIHT7OUA-DFOTFBbr.js +0 -1
  294. package/dist/public/assets/auth-state-cache-48tXQsrs.js +0 -11
  295. package/dist/public/assets/channel-CTYqt4g0.js +0 -1
  296. package/dist/public/assets/chunk-2Q5K7J3B-ML0MRNMu.js +0 -1
  297. package/dist/public/assets/chunk-VAUOI2AC-BXR6IYEq.js +0 -1
  298. package/dist/public/assets/chunk-XXDRQBXY-svK-_SE4.js +0 -1
  299. package/dist/public/assets/classDiagram-OUVF2IWQ-xqPvGsM8.js +0 -1
  300. package/dist/public/assets/classDiagram-v2-EOCWNBFH-DltLtkHS.js +0 -1
  301. package/dist/public/assets/client-version-DZVDd3p2.js +0 -1
  302. package/dist/public/assets/config-provider-CNEA51rl.js +0 -4
  303. package/dist/public/assets/cynefin-VYW2F7L2-DckB7g1t.js +0 -1
  304. package/dist/public/assets/dist-4GhcOoys2.js +0 -1
  305. package/dist/public/assets/dist-BHXZ_sfW.js +0 -1
  306. package/dist/public/assets/dist-BZfOq7Dy.js +0 -9
  307. package/dist/public/assets/dist-CApADOW3.js +0 -1
  308. package/dist/public/assets/dist-CLZZzoNM.js +0 -1
  309. package/dist/public/assets/dist-D5b61U8h.js +0 -23
  310. package/dist/public/assets/dist-eB1cZ_1W.js +0 -1
  311. package/dist/public/assets/eventmodeling-45OFAUF4-BAwLtOJ-.js +0 -1
  312. package/dist/public/assets/flowDiagram-23GEKE2U-DZlqleoU.js +0 -1
  313. package/dist/public/assets/gitGraph-TEB2WS4Q-CtXzB9IZ.js +0 -1
  314. package/dist/public/assets/globals-DAsZiYWs.css +0 -1
  315. package/dist/public/assets/index-DILBplC4.js +0 -2091
  316. package/dist/public/assets/info-DKCQHKI2-aojnuX4Q.js +0 -1
  317. package/dist/public/assets/mermaid-GHXKKRXX-DA5mXckx.js +0 -1
  318. package/dist/public/assets/packet-7NZHBO7P-C8VjP4xX.js +0 -1
  319. package/dist/public/assets/pie-RZYD4A2V-D3CTWt5e.js +0 -1
  320. package/dist/public/assets/radar-I7S5WNFK-CiwvsxWN.js +0 -1
  321. package/dist/public/assets/railroad-3IZDKUUU-BiSgeyR-.js +0 -1
  322. package/dist/public/assets/railroad-abnf-AHOZXSZD-MgQ9GoYd.js +0 -1
  323. package/dist/public/assets/railroad-ebnf-EBAXGLYW-CpD9c-Np.js +0 -1
  324. package/dist/public/assets/railroad-peg-LSFZ7HO6-BkiQ4XAA.js +0 -1
  325. package/dist/public/assets/receive-store-8JT58I8W.js +0 -2
  326. package/dist/public/assets/schema-fields-view-intent-YAQkuTWi.js +0 -1
  327. package/dist/public/assets/skill-actions-C6iaHDPS.js +0 -2
  328. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-BMvTsdCm.js +0 -1
  329. package/dist/public/assets/swimlanesDiagram-G3AALYLV-Bw_QSWFE.js +0 -8
  330. package/dist/public/assets/text-viewer-languages-Cg0FdkAb.js +0 -2
  331. package/dist/public/assets/treeView-QDETBFTQ-Ccor-UCe.js +0 -1
  332. package/dist/public/assets/treemap-6X3UGDF4-ivqx2UNe.js +0 -1
  333. package/dist/public/assets/uninstall-CTlK5Oun.js +0 -1
  334. package/dist/public/assets/use-workspace-D9sCUZUt.js +0 -1
  335. package/dist/public/assets/wardley-OPB4EBWU-D8CQEbqs.js +0 -1
  336. package/dist/repair-skills-DluI8IZ-.mjs +0 -1
  337. package/dist/server-lock-BRHlHA0v.mjs +0 -1
  338. package/dist/start-DbRUS7U-.mjs +0 -1
  339. /package/dist/public/assets/{ActivityPanelDiffView-BHV3BqCQ.js → ActivityPanelDiffView-DCOzeJ88.js} +0 -0
  340. /package/dist/public/assets/{AppMenubar-DEpF6h8q.js → AppMenubar-CbB3Kvzl.js} +0 -0
  341. /package/dist/public/assets/{ConfigSharingInfoTooltip-DXfX9VNk.js → ConfigSharingInfoTooltip-Q3RTOsMb.js} +0 -0
  342. /package/dist/public/assets/{SkillModeBanner-C_1eHet3.js → SkillModeBanner-w66P3TkR.js} +0 -0
  343. /package/dist/public/assets/{__vite-browser-external-o4WEX2mj.js → __vite-browser-external-CMguwo5b.js} +0 -0
  344. /package/dist/public/assets/{agent-presence-cKIGljxI.js → agent-presence-BwRP12AH.js} +0 -0
  345. /package/dist/public/assets/{array-DNx71GJU.js → array-DwdVlTkF.js} +0 -0
  346. /package/dist/public/assets/{asset-dispatch-BZz3JZpZ.js → asset-dispatch-CNWIuI7Y.js} +0 -0
  347. /package/dist/public/assets/{auth-prompt-store-DaAbCGBh.js → auth-prompt-store-qhsqWxXr.js} +0 -0
  348. /package/dist/public/assets/{badge-CBU6CQBJ.js → badge-DR05DWAy.js} +0 -0
  349. /package/dist/public/assets/{chunk-KEIR6QF5-D_HfbxQ3.js → chunk-KEIR6QF5-CruR3qxO.js} +0 -0
  350. /package/dist/public/assets/{chunk-Y2CYZVJY-CTUIHOWN.js → chunk-Y2CYZVJY-B79Syyvi.js} +0 -0
  351. /package/dist/public/assets/{clike-DJzNA5uw.js → clike-VfSCFzJ-.js} +0 -0
  352. /package/dist/public/assets/{clipboard-adapter-jV7IP0XO.js → clipboard-adapter-D8nxEygB.js} +0 -0
  353. /package/dist/public/assets/{colors-DY6SwyM_.js → colors-CK0BOVxF.js} +0 -0
  354. /package/dist/public/assets/{copilot-QWlqAzS5.js → copilot-Cp15XCYu.js} +0 -0
  355. /package/dist/public/assets/{cursor-C6NZ_NjT.js → cursor-CQIJPvnZ.js} +0 -0
  356. /package/dist/public/assets/{cytoscape.esm-BUTyEMz2.js → cytoscape.esm-DMJgKOfr.js} +0 -0
  357. /package/dist/public/assets/{defaultLocale-4pz4GyJ6.js → defaultLocale-DKHHE2Ij.js} +0 -0
  358. /package/dist/public/assets/{desktop-bridge-types-BIAMkfnk.js → desktop-bridge-types-ramF7tJC.js} +0 -0
  359. /package/dist/public/assets/{diff-UfOtcPBF.js → diff-BetFikpI.js} +0 -0
  360. /package/dist/public/assets/{dist-CWy8xH6X.js → dist-18L8ocZ2.js} +0 -0
  361. /package/dist/public/assets/{dist-B4r_A2mw.js → dist-C06Ap4fK.js} +0 -0
  362. /package/dist/public/assets/{dist-CVvcgj09.js → dist-CuX_Rrkr.js} +0 -0
  363. /package/dist/public/assets/{dist-CBLxq4zk.js → dist-RSOBQKjU.js} +0 -0
  364. /package/dist/public/assets/{dist-ByZ-P6Dg.js → dist-mSvoNcEp.js} +0 -0
  365. /package/dist/public/assets/{documents-fetch-CoP66yPf.js → documents-fetch-CtTxHqu_.js} +0 -0
  366. /package/dist/public/assets/{external-link-DT5mGYp0.js → external-link-Cze_gp1i.js} +0 -0
  367. /package/dist/public/assets/{file-tree-rename-validation-BB1aD1Pp.js → file-tree-rename-validation-Dp_emyCt.js} +0 -0
  368. /package/dist/public/assets/{form-IV9p7CBQ.js → form-DKv3NNbf.js} +0 -0
  369. /package/dist/public/assets/{format-KYHSRwuS.js → format-B35NAkHU.js} +0 -0
  370. /package/dist/public/assets/{go-CdNSAW6a.js → go-CKVc437z.js} +0 -0
  371. /package/dist/public/assets/{init-D4gOVDL_.js → init-EmgYNkpL.js} +0 -0
  372. /package/dist/public/assets/{input-FE6wkApb.js → input-f7fQRB6C.js} +0 -0
  373. /package/dist/public/assets/{isObject-CUKQpKBO.js → isObject-CPq0L377.js} +0 -0
  374. /package/dist/public/assets/{libesm-CbHWK9K3.js → libesm-mJv9HK9s.js} +0 -0
  375. /package/dist/public/assets/{lint-plugin-meta-DZaKA5-M.js → lint-plugin-meta-Crx9nyCJ.js} +0 -0
  376. /package/dist/public/assets/{lru-string-cache-EoEYEZ4C.js → lru-string-cache-Bc1KPwlG.js} +0 -0
  377. /package/dist/public/assets/{lua-BjC_YWX_.js → lua-DzLDiP5w.js} +0 -0
  378. /package/dist/public/assets/{mcp-consent-store-DZN0FT4T.js → mcp-consent-store-CkZ3JHza.js} +0 -0
  379. /package/dist/public/assets/{min-x3trf8Wh.js → min-C0lkNog_.js} +0 -0
  380. /package/dist/public/assets/{overlay-layers-Dulb79gg.js → overlay-layers-oPln_qw0.js} +0 -0
  381. /package/dist/public/assets/{panel-DFoqAiSq.js → panel-DwaSkgpQ.js} +0 -0
  382. /package/dist/public/assets/{panzoom.es-DKn8NuHU.js → panzoom.es-BuPYtP8p.js} +0 -0
  383. /package/dist/public/assets/{parse-api-error-CulWAL3N.js → parse-api-error-cKrN25NM.js} +0 -0
  384. /package/dist/public/assets/{path-CPUiTFzQ.js → path-vqW-z8T-.js} +0 -0
  385. /package/dist/public/assets/{pdf-UdiWtmKI.js → pdf-DotDPaoK.js} +0 -0
  386. /package/dist/public/assets/{pdf.worker-CVlM3MGW.js → pdf.worker-C4ihG_G5.js} +0 -0
  387. /package/dist/public/assets/{perl-B5kh9uCS.js → perl-fNWW9euq.js} +0 -0
  388. /package/dist/public/assets/{properties-DW_pwOFE.js → properties-Cf5aBlHO.js} +0 -0
  389. /package/dist/public/assets/{r-HIDEBO1S.js → r-DhZe-FVk.js} +0 -0
  390. /package/dist/public/assets/{rough.esm-Do3Mexf5.js → rough.esm-BendJciT.js} +0 -0
  391. /package/dist/public/assets/{ruby-mktTWmhU.js → ruby-CQWcsOX5.js} +0 -0
  392. /package/dist/public/assets/{share-metadata-rows-BgvfdoD5.js → share-metadata-rows-CcFPZR4t.js} +0 -0
  393. /package/dist/public/assets/{shell-DW-sch3D.js → shell-OsBsDhE7.js} +0 -0
  394. /package/dist/public/assets/{skeleton-C4vRhplG.js → skeleton-DGDFt7g1.js} +0 -0
  395. /package/dist/public/assets/{sortable.esm-Db0q_rOi.js → sortable.esm-DHKl87XW.js} +0 -0
  396. /package/dist/public/assets/{sql-BnT59v2q.js → sql-vZZQK8OH.js} +0 -0
  397. /package/dist/public/assets/{src-B5LmWD6e.js → src-C9yMkITM.js} +0 -0
  398. /package/dist/public/assets/{startup-marks-CeDK0_f3.js → startup-marks-BLN7_giM.js} +0 -0
  399. /package/dist/public/assets/{stex-dEyUgtYN.js → stex-BxL9zHYm.js} +0 -0
  400. /package/dist/public/assets/{swift-D-oQbKZh.js → swift-DfLF96S5.js} +0 -0
  401. /package/dist/public/assets/{textarea-Do-HJCDs.js → textarea-CDztjpzM.js} +0 -0
  402. /package/dist/public/assets/{thread-draft-staging-DL81pG7_.js → thread-draft-staging-B8sdbzWG.js} +0 -0
  403. /package/dist/public/assets/{timeline-diff-store-Ct1wjBoU.js → timeline-diff-store-CdUa_mgQ.js} +0 -0
  404. /package/dist/public/assets/{toml-B8_D8Hcu.js → toml-CIem2qnh.js} +0 -0
  405. /package/dist/public/assets/{trash-2-KA5Op5VO.js → trash-2-DaXJ0Umv.js} +0 -0
  406. /package/dist/public/assets/{triangle-alert-BUshYMrj.js → triangle-alert-BXiy8iCO.js} +0 -0
  407. /package/dist/public/assets/{undo-2-BAIHjcAR.js → undo-2-y0RjQHDE.js} +0 -0
  408. /package/dist/public/assets/{use-installed-clis-CA__SZ2w.js → use-installed-clis-Dno6QhYH.js} +0 -0
  409. /package/dist/public/assets/{useLintConfigViewMode-ByY6MPfT.js → useLintConfigViewMode-Qe3K_Gka.js} +0 -0
  410. /package/dist/public/assets/{wrench-8zCTfk9X.js → wrench-BPduNbqB.js} +0 -0
  411. /package/dist/public/assets/{x-KPhjHGr2.js → x-CqpcnhWG.js} +0 -0
@@ -69,23 +69,44 @@
69
69
  the editor-mode FOUC above.
70
70
  -->
71
71
  <script>(() => { const isMode = (v) => v === 'light' || v === 'dark' || v === 'system'; const isThemeId = (v) => typeof v === 'string' && /^[a-z0-9-]{1,32}$/.test(v); let pref = 'system'; try { const r = localStorage.getItem('ok-theme-v1'); if (isMode(r)) pref = r; } catch {} let slots = null; try { const raw = localStorage.getItem('ok-color-theme-pair-v1'); if (raw) { const o = JSON.parse(raw); if (o?.light && o?.dark) { slots = o; if (isMode(o.pref)) pref = o.pref; } } } catch {} let dark = pref === 'dark'; if (pref === 'system') { try { dark = window.matchMedia('(prefers-color-scheme: dark)').matches; } catch {} } let ct = null; if (slots) { const slot = dark ? slots.dark : slots.light; if (isThemeId(slot?.id)) { dark = !!slot.dark; if (slot.id !== 'default') ct = slot.id; } } else { try { const c = localStorage.getItem('ok-color-theme-v1'); if (isThemeId(c) && c !== 'default') ct = c; } catch {} } let customCss = null; if (ct === 'custom') { try { const raw = localStorage.getItem('ok-custom-theme-v1'); if (raw) { const o = JSON.parse(raw); if (o?.css) { customCss = o.css; dark = !!o.dark; } } } catch {} if (!customCss) ct = null; } if (dark) document.documentElement.classList.add('dark'); if (ct) document.documentElement.setAttribute('data-color-theme', ct); if (customCss) { const s = document.createElement('style'); s.id = 'ok-custom-theme'; s.textContent = customCss; document.head.appendChild(s); } if (window.okDesktop) { document.documentElement.classList.add('electron-mode'); document.documentElement.classList.add(`electron-platform-${window.okDesktop.platform}`); } })();</script>
72
+ <!--
73
+ Language FOUC prevention. Reads the persisted interface language
74
+ synchronously before React mounts so the first painted frame carries the
75
+ right `lang` (which picks the font stack and shaper) and the right base
76
+ `dir` — a late direction flip moves the whole layout, not just a word.
77
+ Paired consumer/writer: `src/lib/use-apply-config-language.ts`
78
+ (`ok-language-v1`) — keep the key and the `locale` / `dir` field names in
79
+ sync; `src/lib/language-fouc-prepaint.dom.test.ts` runs this script over
80
+ that writer's real output to hold the two together.
81
+
82
+ The cached locale is painted as-is and never re-resolved here: turning an
83
+ OS language list back into a catalog needs the maximizing matcher, which is
84
+ bundle code. The `pref` field is written for the app, not read here.
85
+
86
+ `<html lang>` above is the no-cache default, so a first-ever launch paints
87
+ the bootstrap catalog's language rather than an empty attribute.
88
+
89
+ Single-line script body — same biome HTML-formatter constraint as the two
90
+ FOUC scripts above.
91
+ -->
92
+ <script>(() => { try { const raw = localStorage.getItem('ok-language-v1'); if (!raw) return; const o = JSON.parse(raw); if (typeof o?.locale !== 'string' || !/^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{2,8})*$/.test(o.locale)) return; document.documentElement.lang = o.locale; document.documentElement.dir = o.dir === 'rtl' ? 'rtl' : 'ltr'; } catch {} })();</script>
72
93
  <style>html { background-color: #fafafa } html.dark { background-color: #171717 }</style>
73
- <script type="module" crossorigin src="./assets/index-DILBplC4.js"></script>
94
+ <script type="module" crossorigin src="./assets/index-D9hPlEJA.js"></script>
74
95
  <link rel="modulepreload" crossorigin href="./assets/chunk-CYidjpOJ.js">
75
- <link rel="modulepreload" crossorigin href="./assets/dist-ByZ-P6Dg.js">
76
96
  <link rel="modulepreload" crossorigin href="./assets/react-f2sANaYj.js">
77
97
  <link rel="modulepreload" crossorigin href="./assets/react-dom-DPxgxlDT.js">
78
- <link rel="modulepreload" crossorigin href="./assets/globals-BkB_jgyG.js">
98
+ <link rel="modulepreload" crossorigin href="./assets/globals-DktXHqb9.js">
79
99
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-Chd9yIcd.js">
80
100
  <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-hgmz1BF7.js">
81
- <link rel="modulepreload" crossorigin href="./assets/dist-CVvcgj09.js">
82
- <link rel="modulepreload" crossorigin href="./assets/cm-theme-CZKVXD9s.js">
83
- <link rel="modulepreload" crossorigin href="./assets/dist-C5hoswyZ.js">
84
- <link rel="modulepreload" crossorigin href="./assets/dist-Dl_Hcem_.js">
85
- <link rel="modulepreload" crossorigin href="./assets/dist-CLZZzoNM.js">
86
- <link rel="modulepreload" crossorigin href="./assets/dist-D5b61U8h.js">
87
- <link rel="modulepreload" crossorigin href="./assets/dist-4GhcOoys2.js">
88
- <link rel="modulepreload" crossorigin href="./assets/dist-BDbPHHcG.js">
101
+ <link rel="modulepreload" crossorigin href="./assets/dist-CuX_Rrkr.js">
102
+ <link rel="modulepreload" crossorigin href="./assets/cm-theme-CEMjBDMc.js">
103
+ <link rel="modulepreload" crossorigin href="./assets/dist-uCz6hXhc.js">
104
+ <link rel="modulepreload" crossorigin href="./assets/dist-DabikqIh2.js">
105
+ <link rel="modulepreload" crossorigin href="./assets/dist-8RD7Tv4S.js">
106
+ <link rel="modulepreload" crossorigin href="./assets/dist-C2LaS-vN.js">
107
+ <link rel="modulepreload" crossorigin href="./assets/dist-CRwqp1kW.js">
108
+ <link rel="modulepreload" crossorigin href="./assets/dist-BA4Ebfzd.js">
109
+ <link rel="modulepreload" crossorigin href="./assets/dist-mSvoNcEp.js">
89
110
  <link rel="modulepreload" crossorigin href="./assets/jsx-runtime-BUgB2tll.js">
90
111
  <link rel="modulepreload" crossorigin href="./assets/dist-Nvb76hAm.js">
91
112
  <link rel="modulepreload" crossorigin href="./assets/dist-DUWYPul7.js">
@@ -93,19 +114,22 @@
93
114
  <link rel="modulepreload" crossorigin href="./assets/compiler-runtime-BfE3aGVn.js">
94
115
  <link rel="modulepreload" crossorigin href="./assets/utils-CPqDy6Hr.js">
95
116
  <link rel="modulepreload" crossorigin href="./assets/button-RQ5o7P7w.js">
96
- <link rel="modulepreload" crossorigin href="./assets/dist-BrVyfPlR.js">
97
- <link rel="modulepreload" crossorigin href="./assets/dist-B2sUyimR.js">
117
+ <link rel="modulepreload" crossorigin href="./assets/dist-R1uAe8ee.js">
118
+ <link rel="modulepreload" crossorigin href="./assets/dist-B4trhYTE.js">
98
119
  <link rel="modulepreload" crossorigin href="./assets/dist-PQ5KMVDh.js">
99
- <link rel="modulepreload" crossorigin href="./assets/DiffView-CRnGOcsK.js">
100
- <link rel="modulepreload" crossorigin href="./assets/sortable.esm-Db0q_rOi.js">
120
+ <link rel="modulepreload" crossorigin href="./assets/DiffView-Bl0_dOLv.js">
121
+ <link rel="modulepreload" crossorigin href="./assets/sortable.esm-DHKl87XW.js">
101
122
  <link rel="modulepreload" crossorigin href="./assets/floating-ui.dom-C0wusa09.js">
102
123
  <link rel="modulepreload" crossorigin href="./assets/trace-api-DH580DYm.js">
103
124
  <link rel="modulepreload" crossorigin href="./assets/lib-CtlgmvnR.js">
104
125
  <link rel="modulepreload" crossorigin href="./assets/markdownit-DoX6x6DK.js">
105
- <link rel="modulepreload" crossorigin href="./assets/dist-FFXyFMEP2.js">
106
- <link rel="modulepreload" crossorigin href="./assets/client-version-DZVDd3p2.js">
107
- <link rel="modulepreload" crossorigin href="./assets/config-context-CjIu2e9K.js">
108
- <link rel="modulepreload" crossorigin href="./assets/config-provider-CNEA51rl.js">
126
+ <link rel="modulepreload" crossorigin href="./assets/dist-DPrOTK3n2.js">
127
+ <link rel="modulepreload" crossorigin href="./assets/dist-RSOBQKjU.js">
128
+ <link rel="modulepreload" crossorigin href="./assets/client-version-gKRInXGv.js">
129
+ <link rel="modulepreload" crossorigin href="./assets/config-context-1rmAj5Zi.js">
130
+ <link rel="modulepreload" crossorigin href="./assets/messages-HxZqeGVD.js">
131
+ <link rel="modulepreload" crossorigin href="./assets/i18n-CHftDxDL.js">
132
+ <link rel="modulepreload" crossorigin href="./assets/config-provider-rDSDXt7j.js">
109
133
  <link rel="modulepreload" crossorigin href="./assets/dist-Bi80hc1t.js">
110
134
  <link rel="modulepreload" crossorigin href="./assets/dist-CR6aO28t.js">
111
135
  <link rel="modulepreload" crossorigin href="./assets/dist-DpaqLIPT.js">
@@ -122,117 +146,119 @@
122
146
  <link rel="modulepreload" crossorigin href="./assets/minus-DzV1Xdva.js">
123
147
  <link rel="modulepreload" crossorigin href="./assets/checkbox-k5Do5hry.js">
124
148
  <link rel="modulepreload" crossorigin href="./assets/collapsible-OhEmjTXw.js">
125
- <link rel="modulepreload" crossorigin href="./assets/x-KPhjHGr2.js">
126
- <link rel="modulepreload" crossorigin href="./assets/dialog-B0SeVR1b.js">
149
+ <link rel="modulepreload" crossorigin href="./assets/x-CqpcnhWG.js">
150
+ <link rel="modulepreload" crossorigin href="./assets/dialog-CcXKVLIB.js">
127
151
  <link rel="modulepreload" crossorigin href="./assets/dist-DMj9iIHH.js">
128
152
  <link rel="modulepreload" crossorigin href="./assets/dist-G89kioZo.js">
129
153
  <link rel="modulepreload" crossorigin href="./assets/chevron-right-BjiB8LDf.js">
130
154
  <link rel="modulepreload" crossorigin href="./assets/dropdown-menu-DRytYgB4.js">
131
155
  <link rel="modulepreload" crossorigin href="./assets/label-BT2yjpKR.js">
132
156
  <link rel="modulepreload" crossorigin href="./assets/local-menu-action-bus-iy6v2osW.js">
133
- <link rel="modulepreload" crossorigin href="./assets/dist-BHXZ_sfW.js">
134
- <link rel="modulepreload" crossorigin href="./assets/dist-eB1cZ_1W.js">
135
- <link rel="modulepreload" crossorigin href="./assets/stex-dEyUgtYN.js">
157
+ <link rel="modulepreload" crossorigin href="./assets/dist-BaXc7LtC.js">
158
+ <link rel="modulepreload" crossorigin href="./assets/dist-C06PewhS.js">
159
+ <link rel="modulepreload" crossorigin href="./assets/stex-BxL9zHYm.js">
136
160
  <link rel="modulepreload" crossorigin href="./assets/propagation-api-DSg7UKuw.js">
137
161
  <link rel="modulepreload" crossorigin href="./assets/switch-0kSGDL9E.js">
138
162
  <link rel="modulepreload" crossorigin href="./assets/folder-open-ee990ToL.js">
139
- <link rel="modulepreload" crossorigin href="./assets/trash-2-KA5Op5VO.js">
140
- <link rel="modulepreload" crossorigin href="./assets/file-tree-utils-Dfu7Cauy.js">
141
- <link rel="modulepreload" crossorigin href="./assets/doc-paths-BT16-f7r.js">
142
- <link rel="modulepreload" crossorigin href="./assets/skill-scope-UBfnFDb4.js">
143
- <link rel="modulepreload" crossorigin href="./assets/navigation-targets-BB54n_r7.js">
144
- <link rel="modulepreload" crossorigin href="./assets/asset-dispatch-BZz3JZpZ.js">
145
- <link rel="modulepreload" crossorigin href="./assets/external-link-DT5mGYp0.js">
146
- <link rel="modulepreload" crossorigin href="./assets/documents-fetch-CoP66yPf.js">
147
- <link rel="modulepreload" crossorigin href="./assets/CodeMirrorPropInput-CnRlIy5L.js">
163
+ <link rel="modulepreload" crossorigin href="./assets/trash-2-DaXJ0Umv.js">
164
+ <link rel="modulepreload" crossorigin href="./assets/file-tree-utils-k-AZyfkA.js">
165
+ <link rel="modulepreload" crossorigin href="./assets/doc-paths-CWjzUJaI.js">
166
+ <link rel="modulepreload" crossorigin href="./assets/skill-scope-BjCR3NWy.js">
167
+ <link rel="modulepreload" crossorigin href="./assets/navigation-targets-Ba5Bru24.js">
168
+ <link rel="modulepreload" crossorigin href="./assets/asset-dispatch-CNWIuI7Y.js">
169
+ <link rel="modulepreload" crossorigin href="./assets/external-link-Cze_gp1i.js">
170
+ <link rel="modulepreload" crossorigin href="./assets/documents-fetch-CtTxHqu_.js">
171
+ <link rel="modulepreload" crossorigin href="./assets/CodeMirrorPropInput-BN9DkK26.js">
148
172
  <link rel="modulepreload" crossorigin href="./assets/git-branch-B0WeYwW-.js">
149
- <link rel="modulepreload" crossorigin href="./assets/triangle-alert-BUshYMrj.js">
150
- <link rel="modulepreload" crossorigin href="./assets/Mermaid-VtbzVjk9.js">
173
+ <link rel="modulepreload" crossorigin href="./assets/triangle-alert-BXiy8iCO.js">
174
+ <link rel="modulepreload" crossorigin href="./assets/Mermaid-5Egs9Kop.js">
151
175
  <link rel="modulepreload" crossorigin href="./assets/CopyButton-DfXJBl0I.js">
152
- <link rel="modulepreload" crossorigin href="./assets/documents-events-BYhhJH8W.js">
153
- <link rel="modulepreload" crossorigin href="./assets/parse-api-error-CulWAL3N.js">
154
- <link rel="modulepreload" crossorigin href="./assets/startup-marks-CeDK0_f3.js">
155
- <link rel="modulepreload" crossorigin href="./assets/prop-types-BlWArB_E.js">
176
+ <link rel="modulepreload" crossorigin href="./assets/documents-events-H7SxtX3p.js">
177
+ <link rel="modulepreload" crossorigin href="./assets/parse-api-error-cKrN25NM.js">
178
+ <link rel="modulepreload" crossorigin href="./assets/startup-marks-BLN7_giM.js">
179
+ <link rel="modulepreload" crossorigin href="./assets/prop-types-DdiRqdud.js">
156
180
  <link rel="modulepreload" crossorigin href="./assets/eye-CArKS_Md.js">
157
181
  <link rel="modulepreload" crossorigin href="./assets/hash-CDGtqqEo.js">
158
182
  <link rel="modulepreload" crossorigin href="./assets/info-BnJuC0vW.js">
159
183
  <link rel="modulepreload" crossorigin href="./assets/loader-circle-DIKwidm8.js">
160
184
  <link rel="modulepreload" crossorigin href="./assets/paperclip-CLX0WpG3.js">
161
- <link rel="modulepreload" crossorigin href="./assets/dist-CBLxq4zk.js">
162
- <link rel="modulepreload" crossorigin href="./assets/file-tree-rename-validation-BB1aD1Pp.js">
163
- <link rel="modulepreload" crossorigin href="./assets/badge-CBU6CQBJ.js">
164
- <link rel="modulepreload" crossorigin href="./assets/input-FE6wkApb.js">
165
- <link rel="modulepreload" crossorigin href="./assets/use-collab-url-CVs0Opja.js">
166
- <link rel="modulepreload" crossorigin href="./assets/skills-api-9ALineK1.js">
167
- <link rel="modulepreload" crossorigin href="./assets/DocumentContext-CUIMtHot.js">
168
- <link rel="modulepreload" crossorigin href="./assets/format-KYHSRwuS.js">
185
+ <link rel="modulepreload" crossorigin href="./assets/file-tree-rename-validation-Dp_emyCt.js">
186
+ <link rel="modulepreload" crossorigin href="./assets/badge-DR05DWAy.js">
187
+ <link rel="modulepreload" crossorigin href="./assets/input-f7fQRB6C.js">
188
+ <link rel="modulepreload" crossorigin href="./assets/use-collab-url-JGs-jjqU.js">
189
+ <link rel="modulepreload" crossorigin href="./assets/skills-api-Bs4nS7E3.js">
190
+ <link rel="modulepreload" crossorigin href="./assets/DocumentContext-AhoahLLY.js">
191
+ <link rel="modulepreload" crossorigin href="./assets/format-B35NAkHU.js">
169
192
  <link rel="modulepreload" crossorigin href="./assets/braces-PuTG97X6.js">
170
- <link rel="modulepreload" crossorigin href="./assets/folder-config-api-CgtASyeO.js">
171
- <link rel="modulepreload" crossorigin href="./assets/comment-chips-BhzTkUdN.js">
172
- <link rel="modulepreload" crossorigin href="./assets/textarea-Do-HJCDs.js">
173
- <link rel="modulepreload" crossorigin href="./assets/selection-context-D_wjAabH.js">
174
- <link rel="modulepreload" crossorigin href="./assets/lint-config-client-aw9JiA9H.js">
175
- <link rel="modulepreload" crossorigin href="./assets/use-skills-CvHLXmrt.js">
176
- <link rel="modulepreload" crossorigin href="./assets/ManagedArtifactProperties-Ub0g1I2w.js">
177
- <link rel="modulepreload" crossorigin href="./assets/cursor-C6NZ_NjT.js">
178
- <link rel="modulepreload" crossorigin href="./assets/RegisteredAgentIcon-DaRhHE3D.js">
193
+ <link rel="modulepreload" crossorigin href="./assets/folder-config-api-Br4F_K_L.js">
194
+ <link rel="modulepreload" crossorigin href="./assets/comment-chips-DTq4YCCg.js">
195
+ <link rel="modulepreload" crossorigin href="./assets/textarea-CDztjpzM.js">
196
+ <link rel="modulepreload" crossorigin href="./assets/selection-context-BJWMsPmX.js">
197
+ <link rel="modulepreload" crossorigin href="./assets/lint-config-client-Dn6suOfe.js">
198
+ <link rel="modulepreload" crossorigin href="./assets/use-skills-KNFnIiiN.js">
199
+ <link rel="modulepreload" crossorigin href="./assets/ManagedArtifactProperties-ClyfR13Q.js">
200
+ <link rel="modulepreload" crossorigin href="./assets/cursor-CQIJPvnZ.js">
201
+ <link rel="modulepreload" crossorigin href="./assets/RegisteredAgentIcon-C86VMw2X.js">
179
202
  <link rel="modulepreload" crossorigin href="./assets/folder-DxrU2PLH.js">
180
- <link rel="modulepreload" crossorigin href="./assets/copilot-QWlqAzS5.js">
181
- <link rel="modulepreload" crossorigin href="./assets/agent-visibility-C3Lr_sAC.js">
182
- <link rel="modulepreload" crossorigin href="./assets/use-workspace-D9sCUZUt.js">
183
- <link rel="modulepreload" crossorigin href="./assets/ChangedOutsideBadge-Bihnu7k7.js">
203
+ <link rel="modulepreload" crossorigin href="./assets/copilot-Cp15XCYu.js">
204
+ <link rel="modulepreload" crossorigin href="./assets/agent-visibility-Db4MN-dd.js">
205
+ <link rel="modulepreload" crossorigin href="./assets/mascot-outline-CtS592mc.js">
206
+ <link rel="modulepreload" crossorigin href="./assets/ChangedOutsideBadge-Bg-4Rhrv.js">
184
207
  <link rel="modulepreload" crossorigin href="./assets/list-plus-DMZ39tO_.js">
185
- <link rel="modulepreload" crossorigin href="./assets/use-open-skill-rBEbc_V6.js">
186
- <link rel="modulepreload" crossorigin href="./assets/use-settings-route-UI-dlJz3.js">
187
- <link rel="modulepreload" crossorigin href="./assets/clipboard-adapter-jV7IP0XO.js">
188
- <link rel="modulepreload" crossorigin href="./assets/skill-actions-C6iaHDPS.js">
208
+ <link rel="modulepreload" crossorigin href="./assets/use-open-skill-BTMPhN9U.js">
209
+ <link rel="modulepreload" crossorigin href="./assets/use-settings-route-CCJsQ2fk.js">
210
+ <link rel="modulepreload" crossorigin href="./assets/clipboard-adapter-D8nxEygB.js">
211
+ <link rel="modulepreload" crossorigin href="./assets/use-workspace-C7CSsYNe.js">
212
+ <link rel="modulepreload" crossorigin href="./assets/workspace-paths-ptn1w1-t.js">
213
+ <link rel="modulepreload" crossorigin href="./assets/skill-actions-hp7tjN8x.js">
189
214
  <link rel="modulepreload" crossorigin href="./assets/radio-group-CmCnommQ.js">
190
215
  <link rel="modulepreload" crossorigin href="./assets/separator-C4EdGs_S.js">
191
216
  <link rel="modulepreload" crossorigin href="./assets/toggle-group-DAYvcc1F.js">
192
217
  <link rel="modulepreload" crossorigin href="./assets/useQuery-ZeEDLtxh.js">
193
- <link rel="modulepreload" crossorigin href="./assets/EnableSyncConfirmDialog-C0LTGFxm.js">
218
+ <link rel="modulepreload" crossorigin href="./assets/EnableSyncConfirmDialog-CZGyy-gQ.js">
194
219
  <link rel="modulepreload" crossorigin href="./assets/arrow-up-right-Gp4MuO-g.js">
195
220
  <link rel="modulepreload" crossorigin href="./assets/case-sensitive-DyF7sIpA.js">
196
221
  <link rel="modulepreload" crossorigin href="./assets/chevron-left-BRFq0qcJ.js">
197
222
  <link rel="modulepreload" crossorigin href="./assets/refresh-cw-_2dDOCdN.js">
198
- <link rel="modulepreload" crossorigin href="./assets/wrench-8zCTfk9X.js">
199
- <link rel="modulepreload" crossorigin href="./assets/lint-plugin-meta-DZaKA5-M.js">
200
- <link rel="modulepreload" crossorigin href="./assets/panel-DFoqAiSq.js">
201
- <link rel="modulepreload" crossorigin href="./assets/skeleton-C4vRhplG.js">
202
- <link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-BOg_zjfO.js">
223
+ <link rel="modulepreload" crossorigin href="./assets/wrench-BPduNbqB.js">
224
+ <link rel="modulepreload" crossorigin href="./assets/lint-plugin-meta-Crx9nyCJ.js">
225
+ <link rel="modulepreload" crossorigin href="./assets/panel-DwaSkgpQ.js">
226
+ <link rel="modulepreload" crossorigin href="./assets/skeleton-DGDFt7g1.js">
227
+ <link rel="modulepreload" crossorigin href="./assets/typing-burst-detector-1DBUBU0D.js">
203
228
  <link rel="modulepreload" crossorigin href="./assets/download-QOlmqXQ8.js">
204
229
  <link rel="modulepreload" crossorigin href="./assets/field-GJ7NzaJt.js">
205
- <link rel="modulepreload" crossorigin href="./assets/auth-state-cache-48tXQsrs.js">
230
+ <link rel="modulepreload" crossorigin href="./assets/auth-state-cache-D4EZ8bSX.js">
206
231
  <link rel="modulepreload" crossorigin href="./assets/miss-dialog-store-DJRgNfjG.js">
207
- <link rel="modulepreload" crossorigin href="./assets/pending-receive-nav-store-CKgZuSOc.js">
208
- <link rel="modulepreload" crossorigin href="./assets/terminal-launch-events-DKgbFSpL.js">
209
- <link rel="modulepreload" crossorigin href="./assets/open-managed-artifact-tab-B-SCOaEl.js">
210
- <link rel="modulepreload" crossorigin href="./assets/use-skill-directory-D9WsFuCq.js">
232
+ <link rel="modulepreload" crossorigin href="./assets/pending-receive-nav-store-BQgyh_41.js">
233
+ <link rel="modulepreload" crossorigin href="./assets/terminal-launch-events-DdMesZ76.js">
234
+ <link rel="modulepreload" crossorigin href="./assets/open-managed-artifact-tab-DwwjW03V.js">
235
+ <link rel="modulepreload" crossorigin href="./assets/use-skill-directory-BbBarJwR.js">
211
236
  <link rel="modulepreload" crossorigin href="./assets/panel-right-open-D4VBDtOp.js">
212
237
  <link rel="modulepreload" crossorigin href="./assets/square-pen-CLflIRwR.js">
213
- <link rel="modulepreload" crossorigin href="./assets/undo-2-BAIHjcAR.js">
214
- <link rel="modulepreload" crossorigin href="./assets/form-IV9p7CBQ.js">
215
- <link rel="modulepreload" crossorigin href="./assets/follow-file-qiIw6X4h.js">
216
- <link rel="modulepreload" crossorigin href="./assets/text-viewer-languages-Cg0FdkAb.js">
217
- <link rel="modulepreload" crossorigin href="./assets/EditorModeToggle-FsNFbWj8.js">
218
- <link rel="modulepreload" crossorigin href="./assets/ConfigSharingInfoTooltip-DXfX9VNk.js">
219
- <link rel="modulepreload" crossorigin href="./assets/project-paths-CQTj3FbI.js">
220
- <link rel="modulepreload" crossorigin href="./assets/SkillModeBanner-C_1eHet3.js">
221
- <link rel="modulepreload" crossorigin href="./assets/file-tree-adapter-5NHUF1AU.js">
222
- <link rel="modulepreload" crossorigin href="./assets/agent-diff-store-B_Ggyl4B.js">
223
- <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-CS2r1eMb.js">
224
- <link rel="modulepreload" crossorigin href="./assets/use-live-xterm-theme-sbqUOBNg.js">
225
- <link rel="modulepreload" crossorigin href="./assets/input-group-pOmI7K9l.js">
226
- <link rel="modulepreload" crossorigin href="./assets/use-installed-clis-CA__SZ2w.js">
227
- <link rel="modulepreload" crossorigin href="./assets/use-skill-origin-V3GZkGVc.js">
228
- <link rel="modulepreload" crossorigin href="./assets/terminal-telemetry-CY2tEm12.js">
229
- <link rel="modulepreload" crossorigin href="./assets/agent-presence-cKIGljxI.js">
230
- <link rel="modulepreload" crossorigin href="./assets/auth-prompt-store-DaAbCGBh.js">
231
- <link rel="modulepreload" crossorigin href="./assets/mcp-consent-store-DZN0FT4T.js">
232
- <link rel="modulepreload" crossorigin href="./assets/overlay-layers-Dulb79gg.js">
233
- <link rel="modulepreload" crossorigin href="./assets/receive-store-8JT58I8W.js">
234
- <link rel="modulepreload" crossorigin href="./assets/timeline-diff-store-Ct1wjBoU.js">
235
- <link rel="stylesheet" crossorigin href="./assets/globals-DAsZiYWs.css">
238
+ <link rel="modulepreload" crossorigin href="./assets/undo-2-y0RjQHDE.js">
239
+ <link rel="modulepreload" crossorigin href="./assets/form-DKv3NNbf.js">
240
+ <link rel="modulepreload" crossorigin href="./assets/follow-file-2dfYZkFe.js">
241
+ <link rel="modulepreload" crossorigin href="./assets/text-viewer-languages-BmF39alz.js">
242
+ <link rel="modulepreload" crossorigin href="./assets/EditorModeToggle-BuMW2IKR.js">
243
+ <link rel="modulepreload" crossorigin href="./assets/ConfigSharingInfoTooltip-Q3RTOsMb.js">
244
+ <link rel="modulepreload" crossorigin href="./assets/project-paths-BA2dpw2i.js">
245
+ <link rel="modulepreload" crossorigin href="./assets/SkillModeBanner-w66P3TkR.js">
246
+ <link rel="modulepreload" crossorigin href="./assets/file-tree-adapter-CjXr6ajD.js">
247
+ <link rel="modulepreload" crossorigin href="./assets/terminal-command-events-BMsp915C.js">
248
+ <link rel="modulepreload" crossorigin href="./assets/agent-diff-store-CgZBsYlZ.js">
249
+ <link rel="modulepreload" crossorigin href="./assets/target-navigation-intent-Cba6K6oJ.js">
250
+ <link rel="modulepreload" crossorigin href="./assets/use-live-xterm-theme-HFSp-SRO.js">
251
+ <link rel="modulepreload" crossorigin href="./assets/input-group-8jkSntF3.js">
252
+ <link rel="modulepreload" crossorigin href="./assets/use-installed-clis-Dno6QhYH.js">
253
+ <link rel="modulepreload" crossorigin href="./assets/use-skill-origin-C-J-8dk_.js">
254
+ <link rel="modulepreload" crossorigin href="./assets/terminal-telemetry-BdPNvYrr.js">
255
+ <link rel="modulepreload" crossorigin href="./assets/agent-presence-BwRP12AH.js">
256
+ <link rel="modulepreload" crossorigin href="./assets/auth-prompt-store-qhsqWxXr.js">
257
+ <link rel="modulepreload" crossorigin href="./assets/mcp-consent-store-CkZ3JHza.js">
258
+ <link rel="modulepreload" crossorigin href="./assets/overlay-layers-oPln_qw0.js">
259
+ <link rel="modulepreload" crossorigin href="./assets/receive-store-CbuU-nbY.js">
260
+ <link rel="modulepreload" crossorigin href="./assets/timeline-diff-store-CdUa_mgQ.js">
261
+ <link rel="stylesheet" crossorigin href="./assets/globals-CrUZfUVm.css">
236
262
  <link rel="stylesheet" crossorigin href="./assets/DocumentContext-B0sQn39F.css">
237
263
  <link rel="stylesheet" crossorigin href="./assets/index-CDpJ2gXn.css">
238
264
  </head>
@@ -32,18 +32,18 @@
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-CTlK5Oun.js"></script>
35
+ <script type="module" crossorigin src="./assets/uninstall-D1Tk1Qqr.js"></script>
36
36
  <link rel="modulepreload" crossorigin href="./assets/chunk-CYidjpOJ.js">
37
- <link rel="modulepreload" crossorigin href="./assets/dist-ByZ-P6Dg.js">
38
37
  <link rel="modulepreload" crossorigin href="./assets/react-f2sANaYj.js">
39
38
  <link rel="modulepreload" crossorigin href="./assets/react-dom-DPxgxlDT.js">
40
- <link rel="modulepreload" crossorigin href="./assets/globals-BkB_jgyG.js">
39
+ <link rel="modulepreload" crossorigin href="./assets/globals-DktXHqb9.js">
41
40
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-Chd9yIcd.js">
42
41
  <link rel="modulepreload" crossorigin href="./assets/trace-api-DH580DYm.js">
43
42
  <link rel="modulepreload" crossorigin href="./assets/lib-CtlgmvnR.js">
44
43
  <link rel="modulepreload" crossorigin href="./assets/markdownit-DoX6x6DK.js">
45
44
  <link rel="modulepreload" crossorigin href="./assets/w3c-keyname-hgmz1BF7.js">
46
- <link rel="modulepreload" crossorigin href="./assets/dist-FFXyFMEP2.js">
45
+ <link rel="modulepreload" crossorigin href="./assets/dist-DPrOTK3n2.js">
46
+ <link rel="modulepreload" crossorigin href="./assets/dist-mSvoNcEp.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">
@@ -63,10 +63,12 @@
63
63
  <link rel="modulepreload" crossorigin href="./assets/radio-group-CmCnommQ.js">
64
64
  <link rel="modulepreload" crossorigin href="./assets/button-RQ5o7P7w.js">
65
65
  <link rel="modulepreload" crossorigin href="./assets/loader-circle-DIKwidm8.js">
66
- <link rel="modulepreload" crossorigin href="./assets/badge-CBU6CQBJ.js">
67
- <link rel="modulepreload" crossorigin href="./assets/input-FE6wkApb.js">
68
- <link rel="modulepreload" crossorigin href="./assets/textarea-Do-HJCDs.js">
69
- <link rel="stylesheet" crossorigin href="./assets/globals-DAsZiYWs.css">
66
+ <link rel="modulepreload" crossorigin href="./assets/badge-DR05DWAy.js">
67
+ <link rel="modulepreload" crossorigin href="./assets/input-f7fQRB6C.js">
68
+ <link rel="modulepreload" crossorigin href="./assets/textarea-CDztjpzM.js">
69
+ <link rel="modulepreload" crossorigin href="./assets/messages-HxZqeGVD.js">
70
+ <link rel="modulepreload" crossorigin href="./assets/i18n-CHftDxDL.js">
71
+ <link rel="stylesheet" crossorigin href="./assets/globals-CrUZfUVm.css">
70
72
  </head>
71
73
 
72
74
  <body class="antialiased">
@@ -1,2 +1,2 @@
1
- import{t as e}from"./launch-json-removal-94lSgz_J.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-7YVtnaAc.mjs.map
1
+ import{t as e}from"./launch-json-removal-BAZK0l8a.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-Azr3s4iC.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as e,g as t,s as n}from"./write-project-skill-DLbZanxo.mjs";import{d as r,v as i}from"./init-Di0YD1B9.mjs";import{t as a}from"./mcp-migrate-event-B1gJf6bG.mjs";import{homedir as o}from"node:os";function s(t){let r=t.logger??u,i=t.home??o(),a=[];if(t.reclaimDisableEnv===`1`)return r({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of e){let e=n[o],s=c(()=>e.configPath(``,i));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:e,home:i,cwd:``,configPath:s,configPathOverride:void 0,logger:r})),e.projectConfigPath){let n=e.projectConfigPath,i=c(()=>n(t.projectDir));i!==null&&a.push(l({scope:`project`,editorId:o,target:e,home:void 0,cwd:t.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(e){let n={scope:e.scope,editorId:e.editorId,configPath:e.configPath},o=r(e.target,e.cwd,e.home,e.configPathOverride);if(o===null)return{...n,outcome:`no-entry`};if(t(o))return{...n,outcome:`canonical`};e.logger(a({scope:e.scope,surface:`cli-repair`,editorId:e.editorId,configPath:e.configPath,priorEntry:o}));let s=i(e.target,e.cwd,{mode:`published`,skipAvailabilityCheck:!0},e.home,e.configPathOverride);if(s.action===`failed`){let t=s.error??`unknown write failure`;return e.logger({event:`mcp-config-repair-write-failed`,scope:e.scope,editorId:e.editorId,configPath:e.configPath,error:t}),{...n,outcome:`write-failed`,error:t}}return s.action===`declined`?(e.logger({event:`mcp-config-repair-declined`,scope:e.scope,editorId:e.editorId,configPath:e.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-Cdf96gPC.mjs.map
1
+ import{a as e,g as t,s as n}from"./write-project-skill-RvzxhWzq.mjs";import{d as r,v as i}from"./init-BSftZaYd.mjs";import{t as a}from"./mcp-migrate-event-B1gJf6bG.mjs";import{homedir as o}from"node:os";function s(t){let r=t.logger??u,i=t.home??o(),a=[];if(t.reclaimDisableEnv===`1`)return r({event:`mcp-config-repair-skipped`,reason:`reclaim-disabled`}),{outcomes:a,repairedCount:0};for(let o of e){let e=n[o],s=c(()=>e.configPath(``,i));if(s!==null&&a.push(l({scope:`user`,editorId:o,target:e,home:i,cwd:``,configPath:s,configPathOverride:void 0,logger:r})),e.projectConfigPath){let n=e.projectConfigPath,i=c(()=>n(t.projectDir));i!==null&&a.push(l({scope:`project`,editorId:o,target:e,home:void 0,cwd:t.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(e){let n={scope:e.scope,editorId:e.editorId,configPath:e.configPath},o=r(e.target,e.cwd,e.home,e.configPathOverride);if(o===null)return{...n,outcome:`no-entry`};if(t(o))return{...n,outcome:`canonical`};e.logger(a({scope:e.scope,surface:`cli-repair`,editorId:e.editorId,configPath:e.configPath,priorEntry:o}));let s=i(e.target,e.cwd,{mode:`published`,skipAvailabilityCheck:!0},e.home,e.configPathOverride);if(s.action===`failed`){let t=s.error??`unknown write failure`;return e.logger({event:`mcp-config-repair-write-failed`,scope:e.scope,editorId:e.editorId,configPath:e.configPath,error:t}),{...n,outcome:`write-failed`,error:t}}return s.action===`declined`?(e.logger({event:`mcp-config-repair-declined`,scope:e.scope,editorId:e.editorId,configPath:e.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-SxtozYrl.mjs.map
@@ -0,0 +1 @@
1
+ import{t as e}from"./repair-skills-DUZhp7YP.mjs";export{e as repairSkills};
@@ -1,4 +1,4 @@
1
- import{z as e}from"./src-1Bl34H5k.mjs";import{ar as t,br as n,dr as r,gr as i,lr as a,mr as o,or as s,ur as c,xr as l}from"./src-CSv3k56d.mjs";import{c as u,s as d,t as f,x as p}from"./write-project-skill-DLbZanxo.mjs";import{n as m,s as h,t as g}from"./colors-BsmVIwfM.mjs";import{n as _,r as v,t as y}from"./skill-teardown-Civ13nQy.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:()=>i(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>i(e,{checkDesktop:!1}),readBundledVersion:()=>s(),readRecordedVersion:e=>a(e,`cli-hosts`),writeRecordedVersion:(e,t)=>r(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>o(e),readBundleDecision:(e,n)=>t(e,n),writeBundleDecision:(e,t,n)=>c(e,t,n),removeBundleFromDisk:(e,t)=>v(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 u){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 u){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=d[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{f(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,r,i,a){let o=e=>{r.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),c;try{c=await r.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 r.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 l)try{d.push({id:e,sourceDir:r.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 o of d){let s=n[o.id],c=i.existsSync(x(t,`.agents`,`skills`,s)),l=await r.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{r.removeBundleFromDisk(t,o.id),a({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:o.id})}catch(e){a({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await r.writeBundleDecision(t,s,!0)}catch(e){a({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}p.push(o)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>i.existsSync(x(t,`.agents`,`skills`,n[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===l.length,_=[];for(let{id:e,sourceDir:r}of p){let o=R(t,n[e],r,i,a,c);h.push(...o.entries),_.push({id:e,centralWritten:o.centralWritten})}let v=h.some(e=>e.kind===`central`&&e.outcome===`failed`);if(g&&!v){let e=null;try{await r.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=_(r),c=[],l=!1,u=!1;if(s.skillDirs.length>0||s.emptyDirs.length>0)if(e.confirmLegacyCleanup&&await e.confirmLegacyCleanup(s)){try{c=y(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{z as e}from"./src-DevJlbVv.mjs";import{ar as t,br as n,dr as r,gr as i,lr as a,mr as o,or as s,ur as c,xr as l}from"./src-DEM_c4GV.mjs";import{c as u,s as d,t as f,x as p}from"./write-project-skill-RvzxhWzq.mjs";import{n as m,s as h,t as g}from"./colors-BsmVIwfM.mjs";import{n as _,r as v,t as y}from"./skill-teardown-B2XAb7rJ.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:()=>i(`project`,{checkDesktop:!1}),resolveUserBundledSkillDir:e=>i(e,{checkDesktop:!1}),readBundledVersion:()=>s(),readRecordedVersion:e=>a(e,`cli-hosts`),writeRecordedVersion:(e,t)=>r(e,`cli-hosts`,t,`cli-start`),recordEvent:e=>o(e),readBundleDecision:(e,n)=>t(e,n),writeBundleDecision:(e,t,n)=>c(e,t,n),removeBundleFromDisk:(e,t)=>v(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 u){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 u){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=d[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{f(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,r,i,a){let o=e=>{r.recordEvent(e).catch(()=>{})},s=()=>new Date().toISOString(),c;try{c=await r.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 r.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 l)try{d.push({id:e,sourceDir:r.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 o of d){let s=n[o.id],c=i.existsSync(x(t,`.agents`,`skills`,s)),l=await r.readBundleDecision(t,s).catch(()=>null);if(!e(l,{installedOnDisk:c})){if(c)try{r.removeBundleFromDisk(t,o.id),a({event:`user-skill-reclaim-bundle-declined-removed`,scope:`user`,bundle:o.id})}catch(e){a({event:`user-skill-reclaim-bundle-remove-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}continue}if(l===null&&c)try{await r.writeBundleDecision(t,s,!0)}catch(e){a({event:`user-skill-reclaim-grandfather-write-failed`,scope:`user`,bundle:o.id,error:e instanceof Error?e.message:String(e)})}p.push(o)}if(p.length===0)return{outcome:`skipped`,reason:`all-bundles-declined`};let m=p.every(e=>i.existsSync(x(t,`.agents`,`skills`,n[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===l.length,_=[];for(let{id:e,sourceDir:r}of p){let o=R(t,n[e],r,i,a,c);h.push(...o.entries),_.push({id:e,centralWritten:o.centralWritten})}let v=h.some(e=>e.kind===`central`&&e.outcome===`failed`);if(g&&!v){let e=null;try{await r.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=_(r),c=[],l=!1,u=!1;if(s.skillDirs.length>0||s.emptyDirs.length>0)if(e.confirmLegacyCleanup&&await e.confirmLegacyCleanup(s)){try{c=y(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 p(`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=[``,g(`A previous version of OpenKnowledge installed its skill into agent tools you may never have used.`),m(`(Versions before 0.42 wrote to every host a third-party installer knew about — see issue #820.)`)];if(e.skillDirs.length>0&&a.push(``,`${g(`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(``,`${g(t)} ${e.emptyDirs.length}`,...e.emptyDirs.map(e=>` ${r(e)}`))}if(a.push(``,m(`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(`${h("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${g(`Remove them?`)} ${m(`[y/N] `)}`)).trim().toLowerCase();return e===`y`||e===`yes`}finally{o.close()}}export{G as n,H as t};
4
- //# sourceMappingURL=repair-skills-BAusSdNE.mjs.map
4
+ //# sourceMappingURL=repair-skills-DUZhp7YP.mjs.map
@@ -22,6 +22,27 @@
22
22
  "defaultScope": "user",
23
23
  "description": "Editor color theme: 'light', 'dark', or 'system' (follow the OS). A personal preference (user scope) — not shared with the project."
24
24
  },
25
+ "language": {
26
+ "type": "string",
27
+ "enum": [
28
+ "system",
29
+ "en",
30
+ "zh-Hans",
31
+ "zh-Hant",
32
+ "hi",
33
+ "es",
34
+ "ar",
35
+ "fr",
36
+ "bn",
37
+ "pt-BR",
38
+ "id",
39
+ "ur"
40
+ ],
41
+ "scope": "user",
42
+ "agentSettable": false,
43
+ "defaultScope": "user",
44
+ "description": "Interface language. 'system' follows the operating system. A personal preference (user scope) — not shared with the project, and never applied to document content."
45
+ },
25
46
  "colorThemeLight": {
26
47
  "type": "string",
27
48
  "enum": [
@@ -385,6 +406,23 @@
385
406
  },
386
407
  "additionalProperties": {}
387
408
  },
409
+ "slides": {
410
+ "default": {
411
+ "enabled": false
412
+ },
413
+ "type": "object",
414
+ "properties": {
415
+ "enabled": {
416
+ "default": false,
417
+ "type": "boolean",
418
+ "scope": "user",
419
+ "agentSettable": false,
420
+ "defaultScope": "user",
421
+ "description": "Whether the Slides plugin appears in Settings → Plugins. When on, a document whose frontmatter has `slides: true` offers an action that opens the deck in a dedicated window (desktop only, requires a resolvable slidev). A personal preference (user scope). Default off."
422
+ }
423
+ },
424
+ "additionalProperties": {}
425
+ },
388
426
  "telemetry": {
389
427
  "default": {
390
428
  "localSink": {
@@ -0,0 +1 @@
1
+ import{a as e,o as t,r as n}from"./server-lock-D7MC1H2C.mjs";export{n as markServerLockDraining,e as releaseServerLock,t as updateServerLockPort};
@@ -1,2 +1,2 @@
1
- import"./src-1Bl34H5k.mjs";import{r as e}from"./logger-BZPV1wv8.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-Dc1sKhMm.mjs.map
1
+ import"./src-DevJlbVv.mjs";import{r as e}from"./logger-BZPV1wv8.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-D7MC1H2C.mjs.map
@@ -1,2 +1,2 @@
1
- import{br as e,xr as t}from"./src-CSv3k56d.mjs";import{c as n}from"./write-project-skill-DLbZanxo.mjs";import{dirname as r,isAbsolute as i,join as a,relative as o,resolve as s,sep as c}from"node:path";import{existsSync as l,lstatSync as u,readdirSync as d,rmSync as f,rmdirSync as p}from"node:fs";const m=[{hostDir:`.adal`,pruneRoot:`.adal`},{hostDir:`.aider-desk`,pruneRoot:`.aider-desk`},{hostDir:`.astrbot/data`,pruneRoot:`.astrbot`},{hostDir:`.augment`,pruneRoot:`.augment`},{hostDir:`.autohand`,pruneRoot:`.autohand`},{hostDir:`.bob`,pruneRoot:`.bob`},{hostDir:`.codeartsdoer`,pruneRoot:`.codeartsdoer`},{hostDir:`.codebuddy`,pruneRoot:`.codebuddy`},{hostDir:`.codeium/windsurf`,pruneRoot:`.codeium`},{hostDir:`.codemaker`,pruneRoot:`.codemaker`},{hostDir:`.codestudio`,pruneRoot:`.codestudio`},{hostDir:`.commandcode`,pruneRoot:`.commandcode`},{hostDir:`.config/crush`,pruneRoot:`.config/crush`},{hostDir:`.config/devin`,pruneRoot:`.config/devin`},{hostDir:`.config/goose`,pruneRoot:`.config/goose`},{hostDir:`.config/kimchi/harness`,pruneRoot:`.config/kimchi`},{hostDir:`.continue`,pruneRoot:`.continue`},{hostDir:`.factory`,pruneRoot:`.factory`},{hostDir:`.forge`,pruneRoot:`.forge`},{hostDir:`.grok`,pruneRoot:`.grok`},{hostDir:`.iflow`,pruneRoot:`.iflow`},{hostDir:`.inferencesh`,pruneRoot:`.inferencesh`},{hostDir:`.jazz`,pruneRoot:`.jazz`},{hostDir:`.junie`,pruneRoot:`.junie`},{hostDir:`.kilocode`,pruneRoot:`.kilocode`},{hostDir:`.kiro`,pruneRoot:`.kiro`},{hostDir:`.kode`,pruneRoot:`.kode`},{hostDir:`.lingma`,pruneRoot:`.lingma`},{hostDir:`.mcpjam`,pruneRoot:`.mcpjam`},{hostDir:`.moxby`,pruneRoot:`.moxby`},{hostDir:`.mux`,pruneRoot:`.mux`},{hostDir:`.neovate`,pruneRoot:`.neovate`},{hostDir:`.ona`,pruneRoot:`.ona`},{hostDir:`.openhands`,pruneRoot:`.openhands`},{hostDir:`.pochi`,pruneRoot:`.pochi`},{hostDir:`.qoder`,pruneRoot:`.qoder`},{hostDir:`.qoder-cn`,pruneRoot:`.qoder-cn`},{hostDir:`.qwen`,pruneRoot:`.qwen`},{hostDir:`.reasonix`,pruneRoot:`.reasonix`},{hostDir:`.roo`,pruneRoot:`.roo`},{hostDir:`.rovodev`,pruneRoot:`.rovodev`},{hostDir:`.snowflake/cortex`,pruneRoot:`.snowflake`},{hostDir:`.tabnine/agent`,pruneRoot:`.tabnine`},{hostDir:`.terramind`,pruneRoot:`.terramind`},{hostDir:`.tinycloud`,pruneRoot:`.tinycloud`},{hostDir:`.trae`,pruneRoot:`.trae`},{hostDir:`.trae-cn`,pruneRoot:`.trae-cn`},{hostDir:`.vibe`,pruneRoot:`.vibe`},{hostDir:`.zcode`,pruneRoot:`.zcode`},{hostDir:`.zencoder`,pruneRoot:`.zencoder`}],h=[...t.map(t=>e[t]),`open-knowledge`];function g(e){if(!i(e))throw Error(`skill cleanup requires an absolute home directory; got ${JSON.stringify(e)}`);let t=s(e);if(t===c||r(t)===t)throw Error(`skill cleanup refuses to operate on the filesystem root (${t})`);return t}function _(e,t){let n=o(e,t);if(n.startsWith(`..`)||i(n))return!1;let r=e;for(let e of n.split(c)){r=a(r,e);try{if(!u(r).isDirectory())return!1}catch{return!1}}return!0}function v(e,t){try{return d(e).every(n=>t.has(a(e,n)))}catch{return!1}}function y(e){let t=g(e),n=[],i=[],o=new Set;for(let e of m){let s=a(t,e.hostDir,`skills`);if(!_(t,s))continue;let u=h.map(e=>a(s,e)).filter(e=>l(e));n.push(...u);for(let e of u)o.add(e);let d=a(t,e.pruneRoot),f=s;for(;v(f,o)&&(i.push(f),o.add(f),f!==d);){let e=r(f);if(e===f||e===t||!e.startsWith(t+c))break;f=e}}return{skillDirs:n,emptyDirs:i}}function b(e){try{if(!u(e).isDirectory())return!1;let t=d(e);return t.length===0||t.includes(`SKILL.md`)}catch{return!1}}function x(e){let t=new Set,n=new Set;for(let i of m){let o=a(e,i.hostDir,`skills`);for(let e of h)t.add(a(o,e));let s=a(e,i.pruneRoot),l=o;for(;n.add(l),l!==s;){let t=r(l);if(t===l||t===e||!t.startsWith(e+c))break;l=t}}return{skillDirs:t,emptyDirs:n}}function S(e,t){let n=g(e),r=x(n),i=[...t.skillDirs.filter(e=>!r.skillDirs.has(e)),...t.emptyDirs.filter(e=>!r.emptyDirs.has(e))];if(i.length>0)throw Error(`refusing skill cleanup — ${i.length} path(s) outside the known legacy set: ${i.join(`, `)}`);let a=[];for(let e of t.skillDirs)if(_(n,e)&&b(e))try{f(e,{recursive:!0,force:!0}),a.push(e)}catch{}for(let e of t.emptyDirs)if(_(n,e))try{p(e),a.push(e)}catch{}return a}function C(r){let i=g(r),o=[];for(let r of t){let t=e[r];o.push({path:a(i,`.agents`,`skills`,t),bundleId:r,scope:`central`});for(let e of n)o.push({path:a(i,e.hostDir,`skills`,t),bundleId:r,scope:`host`,hostDir:e.hostDir})}return o}function w(e,t){let n=[];for(let r of C(e))if(r.bundleId===t)try{f(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}export{C as i,y as n,w as r,S as t};
2
- //# sourceMappingURL=skill-teardown-Civ13nQy.mjs.map
1
+ import{br as e,xr as t}from"./src-DEM_c4GV.mjs";import{c as n}from"./write-project-skill-RvzxhWzq.mjs";import{dirname as r,isAbsolute as i,join as a,relative as o,resolve as s,sep as c}from"node:path";import{existsSync as l,lstatSync as u,readdirSync as d,rmSync as f,rmdirSync as p}from"node:fs";const m=[{hostDir:`.adal`,pruneRoot:`.adal`},{hostDir:`.aider-desk`,pruneRoot:`.aider-desk`},{hostDir:`.astrbot/data`,pruneRoot:`.astrbot`},{hostDir:`.augment`,pruneRoot:`.augment`},{hostDir:`.autohand`,pruneRoot:`.autohand`},{hostDir:`.bob`,pruneRoot:`.bob`},{hostDir:`.codeartsdoer`,pruneRoot:`.codeartsdoer`},{hostDir:`.codebuddy`,pruneRoot:`.codebuddy`},{hostDir:`.codeium/windsurf`,pruneRoot:`.codeium`},{hostDir:`.codemaker`,pruneRoot:`.codemaker`},{hostDir:`.codestudio`,pruneRoot:`.codestudio`},{hostDir:`.commandcode`,pruneRoot:`.commandcode`},{hostDir:`.config/crush`,pruneRoot:`.config/crush`},{hostDir:`.config/devin`,pruneRoot:`.config/devin`},{hostDir:`.config/goose`,pruneRoot:`.config/goose`},{hostDir:`.config/kimchi/harness`,pruneRoot:`.config/kimchi`},{hostDir:`.continue`,pruneRoot:`.continue`},{hostDir:`.factory`,pruneRoot:`.factory`},{hostDir:`.forge`,pruneRoot:`.forge`},{hostDir:`.grok`,pruneRoot:`.grok`},{hostDir:`.iflow`,pruneRoot:`.iflow`},{hostDir:`.inferencesh`,pruneRoot:`.inferencesh`},{hostDir:`.jazz`,pruneRoot:`.jazz`},{hostDir:`.junie`,pruneRoot:`.junie`},{hostDir:`.kilocode`,pruneRoot:`.kilocode`},{hostDir:`.kiro`,pruneRoot:`.kiro`},{hostDir:`.kode`,pruneRoot:`.kode`},{hostDir:`.lingma`,pruneRoot:`.lingma`},{hostDir:`.mcpjam`,pruneRoot:`.mcpjam`},{hostDir:`.moxby`,pruneRoot:`.moxby`},{hostDir:`.mux`,pruneRoot:`.mux`},{hostDir:`.neovate`,pruneRoot:`.neovate`},{hostDir:`.ona`,pruneRoot:`.ona`},{hostDir:`.openhands`,pruneRoot:`.openhands`},{hostDir:`.pochi`,pruneRoot:`.pochi`},{hostDir:`.qoder`,pruneRoot:`.qoder`},{hostDir:`.qoder-cn`,pruneRoot:`.qoder-cn`},{hostDir:`.qwen`,pruneRoot:`.qwen`},{hostDir:`.reasonix`,pruneRoot:`.reasonix`},{hostDir:`.roo`,pruneRoot:`.roo`},{hostDir:`.rovodev`,pruneRoot:`.rovodev`},{hostDir:`.snowflake/cortex`,pruneRoot:`.snowflake`},{hostDir:`.tabnine/agent`,pruneRoot:`.tabnine`},{hostDir:`.terramind`,pruneRoot:`.terramind`},{hostDir:`.tinycloud`,pruneRoot:`.tinycloud`},{hostDir:`.trae`,pruneRoot:`.trae`},{hostDir:`.trae-cn`,pruneRoot:`.trae-cn`},{hostDir:`.vibe`,pruneRoot:`.vibe`},{hostDir:`.zcode`,pruneRoot:`.zcode`},{hostDir:`.zencoder`,pruneRoot:`.zencoder`}],h=[...t.map(t=>e[t]),`open-knowledge`];function g(e){if(!i(e))throw Error(`skill cleanup requires an absolute home directory; got ${JSON.stringify(e)}`);let t=s(e);if(t===c||r(t)===t)throw Error(`skill cleanup refuses to operate on the filesystem root (${t})`);return t}function _(e,t){let n=o(e,t);if(n.startsWith(`..`)||i(n))return!1;let r=e;for(let e of n.split(c)){r=a(r,e);try{if(!u(r).isDirectory())return!1}catch{return!1}}return!0}function v(e,t){try{return d(e).every(n=>t.has(a(e,n)))}catch{return!1}}function y(e){let t=g(e),n=[],i=[],o=new Set;for(let e of m){let s=a(t,e.hostDir,`skills`);if(!_(t,s))continue;let u=h.map(e=>a(s,e)).filter(e=>l(e));n.push(...u);for(let e of u)o.add(e);let d=a(t,e.pruneRoot),f=s;for(;v(f,o)&&(i.push(f),o.add(f),f!==d);){let e=r(f);if(e===f||e===t||!e.startsWith(t+c))break;f=e}}return{skillDirs:n,emptyDirs:i}}function b(e){try{if(!u(e).isDirectory())return!1;let t=d(e);return t.length===0||t.includes(`SKILL.md`)}catch{return!1}}function x(e){let t=new Set,n=new Set;for(let i of m){let o=a(e,i.hostDir,`skills`);for(let e of h)t.add(a(o,e));let s=a(e,i.pruneRoot),l=o;for(;n.add(l),l!==s;){let t=r(l);if(t===l||t===e||!t.startsWith(e+c))break;l=t}}return{skillDirs:t,emptyDirs:n}}function S(e,t){let n=g(e),r=x(n),i=[...t.skillDirs.filter(e=>!r.skillDirs.has(e)),...t.emptyDirs.filter(e=>!r.emptyDirs.has(e))];if(i.length>0)throw Error(`refusing skill cleanup — ${i.length} path(s) outside the known legacy set: ${i.join(`, `)}`);let a=[];for(let e of t.skillDirs)if(_(n,e)&&b(e))try{f(e,{recursive:!0,force:!0}),a.push(e)}catch{}for(let e of t.emptyDirs)if(_(n,e))try{p(e),a.push(e)}catch{}return a}function C(r){let i=g(r),o=[];for(let r of t){let t=e[r];o.push({path:a(i,`.agents`,`skills`,t),bundleId:r,scope:`central`});for(let e of n)o.push({path:a(i,e.hostDir,`skills`,t),bundleId:r,scope:`host`,hostDir:e.hostDir})}return o}function w(e,t){let n=[];for(let r of C(e))if(r.bundleId===t)try{f(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}export{C as i,y as n,w as r,S as t};
2
+ //# sourceMappingURL=skill-teardown-B2XAb7rJ.mjs.map