@inkeep/open-knowledge 0.49.0-beta.14 → 0.49.0-beta.16

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 (388) hide show
  1. package/dist/{acp-harness-probe-7F7pDfk8.mjs → acp-harness-probe-DnyVs1Kt.mjs} +2 -2
  2. package/dist/cli.mjs +7 -7
  3. package/dist/config-schema.json +21 -0
  4. package/dist/config.user.schema.json +21 -0
  5. package/dist/constants-BSI73Ayf.mjs +2 -0
  6. package/dist/fs-traced-BLumSmkJ.mjs +1 -0
  7. package/dist/{fs-traced-Cq61rC8q.mjs → fs-traced-g8Nfed1O.mjs} +2 -2
  8. package/dist/{git-handle-3e6ruSEO.mjs → git-handle-Pv8SU_Wy.mjs} +2 -2
  9. package/dist/git-handle-o1JfXOwU.mjs +1 -0
  10. package/dist/index.d.mts +31 -17
  11. package/dist/index.mjs +1 -1
  12. package/dist/{init-BcJW1pN_.mjs → init-CmOnvenq.mjs} +3 -3
  13. package/dist/init-DYXmXwDM.mjs +1 -0
  14. package/dist/{launch-json-removal-CMu6q22x.mjs → launch-json-removal-B4OxMeoc.mjs} +2 -2
  15. package/dist/loader-BixbSsQp.mjs +1 -0
  16. package/dist/{loader-Bi_cGpOE.mjs → loader-DJYThXyr.mjs} +2 -2
  17. package/dist/md-manager-DMhQWacM.mjs +2 -0
  18. package/dist/{open-browser-CC2xnhE7.mjs → open-browser-BisNZFSC.mjs} +2 -2
  19. package/dist/parse-worker.mjs +1 -1
  20. package/dist/{preview-CkFbXsn7.mjs → preview-B8qsYLtv.mjs} +2 -2
  21. package/dist/preview-BrxsRSXN.mjs +1 -0
  22. package/dist/public/assets/{ActivityModeContent-mpv-dVWD.js → ActivityModeContent-B1bZdHQD.js} +1 -1
  23. package/dist/public/assets/{AgentDiffPane-CwwPaZ1H.js → AgentDiffPane-Bz05Ih7k.js} +2 -2
  24. package/dist/public/assets/{AgentThreadClientBinder-BUoEh0WV.js → AgentThreadClientBinder-RhA0fCNT.js} +1 -1
  25. package/dist/public/assets/BugReportHistory-DG-lgp18.js +1 -0
  26. package/dist/public/assets/{BugReportHistoryDialog-DlY3rGJB.js → BugReportHistoryDialog-CNv7h40y.js} +1 -1
  27. package/dist/public/assets/{ChangedOutsideBadge-CAsaXgQm.js → ChangedOutsideBadge-Do91LcVl.js} +1 -1
  28. package/dist/public/assets/CodeMirrorPropInput-Ck96DeLI.js +3 -0
  29. package/dist/public/assets/{ConsentDialogBody-B4BDndYH.js → ConsentDialogBody-Kh6K_7rD.js} +1 -1
  30. package/dist/public/assets/{DiffView-CRnGOcsK.js → DiffView-CgTOnNpK.js} +1 -1
  31. package/dist/public/assets/DocumentContext-BS6XmTzN.js +38 -0
  32. package/dist/public/assets/{EditorModeToggle-DsLK07Fd.js → EditorModeToggle-Du5l0TJh.js} +1 -1
  33. package/dist/public/assets/{EnableSyncConfirmDialog-QKk6kzxZ.js → EnableSyncConfirmDialog-DuGblmka.js} +1 -1
  34. package/dist/public/assets/FeedbackForm-DaFWV8Xh.js +1 -0
  35. package/dist/public/assets/{GraphPanel-BzI8bQVI.js → GraphPanel-z9u-l6kP.js} +1 -1
  36. package/dist/public/assets/{ImportSkillDialog-Bvf1hXNq.js → ImportSkillDialog-Cj-5ldJn.js} +1 -1
  37. package/dist/public/assets/{LintConfigEditor-CK_HSvaz.js → LintConfigEditor-BmWDCB0X.js} +1 -1
  38. package/dist/public/assets/ManagedArtifactProperties-Bw5bFeAL.js +2 -0
  39. package/dist/public/assets/ManagedArtifactProperties-CRdAv2oe.js +1 -0
  40. package/dist/public/assets/{McpConsentDialogBody-CBMcx-oi.js → McpConsentDialogBody-BFEpwub3.js} +1 -1
  41. package/dist/public/assets/{Mermaid-VtbzVjk9.js → Mermaid-Bua4Y8k1.js} +2 -2
  42. package/dist/public/assets/{MermaidDocEditor-DpfVegGt.js → MermaidDocEditor-xm6g4t-n.js} +1 -1
  43. package/dist/public/assets/{RegisteredAgentIcon-DaRhHE3D.js → RegisteredAgentIcon-D-voQuM7.js} +1 -1
  44. package/dist/public/assets/{ReportBugDialogBody-CqJmw2gc.js → ReportBugDialogBody-D7q4yP-D.js} +1 -1
  45. package/dist/public/assets/{SchemaConfigEditor-DJfETlMA.js → SchemaConfigEditor--zu1g6YF.js} +1 -1
  46. package/dist/public/assets/{SessionsHost-Cinmy2u3.js → SessionsHost-DtpZGRWd.js} +2 -2
  47. package/dist/public/assets/SettingsDialogBody-CFpjH7yr.js +12 -0
  48. package/dist/public/assets/{ShareBranchSwitchDialog-DpJWy6Wx.js → ShareBranchSwitchDialog-C91vrrkW.js} +1 -1
  49. package/dist/public/assets/{ShareReceiveDialog-Chmfb4jD.js → ShareReceiveDialog-DgH3CXpp.js} +1 -1
  50. package/dist/public/assets/{ShareReceiveMissDialog-6DuaWn36.js → ShareReceiveMissDialog-B2Bj9Xlt.js} +1 -1
  51. package/dist/public/assets/{SkillEditBanner-m23hCynE.js → SkillEditBanner-CiGVcdLf.js} +1 -1
  52. package/dist/public/assets/{SkillOriginInline-CZD9-Qds.js → SkillOriginInline-oOiulqLY.js} +1 -1
  53. package/dist/public/assets/{SkillToolbarControls-Duyn6dih.js → SkillToolbarControls-Bf-FMpDZ.js} +1 -1
  54. package/dist/public/assets/SourceEditor-BUhhAOnA.js +1 -0
  55. package/dist/public/assets/{TerminalPanel-CY8ECSUN.js → TerminalPanel-B0uk6YjD.js} +3 -3
  56. package/dist/public/assets/{TerminalWindowApp-ZGA4A_F0.js → TerminalWindowApp-Dgc7JWwE.js} +1 -1
  57. package/dist/public/assets/{TextDocEditor-CzRb8q4u.js → TextDocEditor-M0ORd9L6.js} +1 -1
  58. package/dist/public/assets/{ThreadView-CjwTtUTE.js → ThreadView-CgunciP2.js} +1 -1
  59. package/dist/public/assets/{TimelineDiffPane-ClzHl4tE.js → TimelineDiffPane-BD2Tv4MA.js} +2 -2
  60. package/dist/public/assets/{abnfDiagram-VRR7QNED-BmIGpDzR.js → abnfDiagram-VRR7QNED-B9waE4EK.js} +1 -1
  61. package/dist/public/assets/{agent-diff-store-sFgLbtZa.js → agent-diff-store-IIgf47cB.js} +1 -1
  62. package/dist/public/assets/{agent-visibility-C3Lr_sAC.js → agent-visibility-BqQueoyX.js} +1 -1
  63. package/dist/public/assets/{arc-CQb2AKAx.js → arc-sbHykFJf.js} +1 -1
  64. package/dist/public/assets/architecture-TIHT7OUA-De4Q2LNd.js +1 -0
  65. package/dist/public/assets/{architectureDiagram-ZJ3FMSHR-B7kRa73u.js → architectureDiagram-ZJ3FMSHR-CTnd5XGZ.js} +1 -1
  66. package/dist/public/assets/auth-state-cache-oh0JZKQ-.js +11 -0
  67. package/dist/public/assets/{blockDiagram-677ZJIJ3-CW_RPrF5.js → blockDiagram-677ZJIJ3-FR-RGOU0.js} +1 -1
  68. package/dist/public/assets/{c4Diagram-LMCZKHZV-DSzPt7hc.js → c4Diagram-LMCZKHZV-qzwldzjO.js} +1 -1
  69. package/dist/public/assets/{calendar-00bIEN9E.js → calendar-l3O6tzZO.js} +1 -1
  70. package/dist/public/assets/channel-CYdCl3nE.js +1 -0
  71. package/dist/public/assets/chunk-2Q5K7J3B-DQitAFVg.js +1 -0
  72. package/dist/public/assets/{chunk-32BRIVSS-CZmcIudv.js → chunk-32BRIVSS-B8DvWzrL.js} +1 -1
  73. package/dist/public/assets/{chunk-52WLFC77-BVOQGRZo.js → chunk-52WLFC77-DTs6cQN0.js} +1 -1
  74. package/dist/public/assets/{chunk-5FCAYU7R-Cw8swtTn.js → chunk-5FCAYU7R-Cvx7FKhp.js} +1 -1
  75. package/dist/public/assets/{chunk-5HE753X5-BcaELnEX.js → chunk-5HE753X5-DDLUoTp6.js} +1 -1
  76. package/dist/public/assets/{chunk-5JV3BV7I-CTGgCtpC.js → chunk-5JV3BV7I-CQq8YbcR.js} +1 -1
  77. package/dist/public/assets/{chunk-5TONJI2A-Bpyxou83.js → chunk-5TONJI2A-DJSumkBm.js} +1 -1
  78. package/dist/public/assets/{chunk-5VM5RSS4-DgdH1pRm.js → chunk-5VM5RSS4-DeuOm09u.js} +1 -1
  79. package/dist/public/assets/{chunk-7BUUIJ7U-ClPt7kN-.js → chunk-7BUUIJ7U-D0g-TABj.js} +1 -1
  80. package/dist/public/assets/{chunk-BIQX33UG-mS9PjbWf.js → chunk-BIQX33UG-Dr_cIS68.js} +1 -1
  81. package/dist/public/assets/{chunk-BO2N2NFS-DPS62-Wy.js → chunk-BO2N2NFS-DixEzVLo.js} +3 -3
  82. package/dist/public/assets/{chunk-C7G6YPKG-QNP-z6to.js → chunk-C7G6YPKG-BF2KLgoZ.js} +1 -1
  83. package/dist/public/assets/{chunk-CQNSW5MT-DMMvOdGr.js → chunk-CQNSW5MT-BCjEqAgz.js} +1 -1
  84. package/dist/public/assets/{chunk-CYSBUYHQ-BICcghCa.js → chunk-CYSBUYHQ-lP6dqpno.js} +1 -1
  85. package/dist/public/assets/{chunk-EMLP6XTP-BImPFoB6.js → chunk-EMLP6XTP-BxJGpKJx.js} +1 -1
  86. package/dist/public/assets/{chunk-EX3LRPZG-CBy8mV-p.js → chunk-EX3LRPZG-ZFs8Ud7F.js} +1 -1
  87. package/dist/public/assets/{chunk-FWX5IMBZ-Be7rLA4R.js → chunk-FWX5IMBZ-Bu5gMU_H.js} +2 -2
  88. package/dist/public/assets/{chunk-HOUHSVGY-BwiBKa9M.js → chunk-HOUHSVGY-DHWvdGV6.js} +1 -1
  89. package/dist/public/assets/{chunk-ICXQ74PX-D-nICoJO.js → chunk-ICXQ74PX-CvfxiLlX.js} +1 -1
  90. package/dist/public/assets/{chunk-JG7HCLWE-Cr6K5vvd.js → chunk-JG7HCLWE-CZ5MQiHc.js} +1 -1
  91. package/dist/public/assets/{chunk-JWPE2WC7-D8-kUsSG.js → chunk-JWPE2WC7-CadUqCIq.js} +1 -1
  92. package/dist/public/assets/{chunk-MOJQB5TN-DYoKyicG.js → chunk-MOJQB5TN-BVs9yOdH.js} +1 -1
  93. package/dist/public/assets/{chunk-MOZMSUNE-Dso0Z5Dr.js → chunk-MOZMSUNE-iEBeHFDC.js} +1 -1
  94. package/dist/public/assets/{chunk-OGEWGWER-CjYwkekm.js → chunk-OGEWGWER-CSCa1WYV.js} +1 -1
  95. package/dist/public/assets/{chunk-OSBZ3O6U-DO9s6SlU.js → chunk-OSBZ3O6U-BIoNhL1K.js} +1 -1
  96. package/dist/public/assets/{chunk-PUDLZKDR-Dv5A5dRj.js → chunk-PUDLZKDR-DE8eb26d.js} +1 -1
  97. package/dist/public/assets/{chunk-Q4XR5HBZ-qovh5WM_.js → chunk-Q4XR5HBZ-CqlgmKkZ.js} +1 -1
  98. package/dist/public/assets/{chunk-QBLGF6JB-DRvINlWy.js → chunk-QBLGF6JB-DFYsDo1Y.js} +1 -1
  99. package/dist/public/assets/{chunk-R7FJI6CG-B7wiPJ88.js → chunk-R7FJI6CG-BBNc_Mta.js} +1 -1
  100. package/dist/public/assets/{chunk-RYQCIY6F-CeBzmL1V.js → chunk-RYQCIY6F-ElePRdpc.js} +1 -1
  101. package/dist/public/assets/{chunk-U6XO7XAA-B3t2ZcvG.js → chunk-U6XO7XAA-Dqow2X4f.js} +1 -1
  102. package/dist/public/assets/{chunk-V7JOEXUC-BaPGIDh2.js → chunk-V7JOEXUC-dFXMASow.js} +1 -1
  103. package/dist/public/assets/chunk-VAUOI2AC-BkgtRWuc.js +1 -0
  104. package/dist/public/assets/{chunk-VR4S4FIN-BKvzLxw6.js → chunk-VR4S4FIN-DX7kgkEZ.js} +1 -1
  105. package/dist/public/assets/{chunk-WYO6CB5R-Dee3LC03.js → chunk-WYO6CB5R-ijUMlRQg.js} +1 -1
  106. package/dist/public/assets/chunk-XXDRQBXY-D8WfEEB8.js +1 -0
  107. package/dist/public/assets/{chunk-YOTPTUD7-B9Vebq-b.js → chunk-YOTPTUD7-D6Uf5sDw.js} +1 -1
  108. package/dist/public/assets/{chunk-ZGVPDNZ5-CQRStGTR.js → chunk-ZGVPDNZ5-D-_2spuk.js} +1 -1
  109. package/dist/public/assets/{chunk-ZIRB5QZD-DEufsvtD.js → chunk-ZIRB5QZD-CGyFgxgE.js} +1 -1
  110. package/dist/public/assets/classDiagram-OUVF2IWQ-hdX1EGrF.js +1 -0
  111. package/dist/public/assets/classDiagram-v2-EOCWNBFH-CVCIHjlC.js +1 -0
  112. package/dist/public/assets/client-version-DfcLXZBn.js +1 -0
  113. package/dist/public/assets/{cm-theme-CZKVXD9s.js → cm-theme-BaOqYOXq.js} +1 -1
  114. package/dist/public/assets/{comment-chips-BsJHBqr7.js → comment-chips-B3SSmsSD.js} +1 -1
  115. package/dist/public/assets/{config-context-CjIu2e9K.js → config-context-DWBFCkMr.js} +1 -1
  116. package/dist/public/assets/config-provider-Ckcik-QN.js +5 -0
  117. package/dist/public/assets/{cose-bilkent-JH36ORCC-CoZVsSg8.js → cose-bilkent-JH36ORCC-ByC8Yy0X.js} +1 -1
  118. package/dist/public/assets/cynefin-VYW2F7L2-CVj5gwTE.js +1 -0
  119. package/dist/public/assets/{cynefinDiagram-TSTJHNR4-DPvTX2wo.js → cynefinDiagram-TSTJHNR4-BFx24SiT.js} +1 -1
  120. package/dist/public/assets/{dagre-Cvkrznc5.js → dagre-Dcc_BFy9.js} +1 -1
  121. package/dist/public/assets/{dagre-VKFMJZFB-DCyCbnWk.js → dagre-VKFMJZFB-CdzPCjFy.js} +1 -1
  122. package/dist/public/assets/{diagram-FQU43EPY-DQfED2jZ.js → diagram-FQU43EPY-BRyDDNNH.js} +1 -1
  123. package/dist/public/assets/{diagram-G47NLZAW-D_tAD-CD.js → diagram-G47NLZAW-8LNSI1k8.js} +1 -1
  124. package/dist/public/assets/{diagram-NH7WQ7WH-B2WHNVdG.js → diagram-NH7WQ7WH-Dqjr2xQ4.js} +1 -1
  125. package/dist/public/assets/{diagram-OA4YK3LP-D8DlKHon.js → diagram-OA4YK3LP-CDUcwFIA.js} +1 -1
  126. package/dist/public/assets/{diagram-WEI45ONY-CWnCxk5f.js → diagram-WEI45ONY-DRnXGROs.js} +1 -1
  127. package/dist/public/assets/{dist-BrVyfPlR.js → dist-B0ot-zCg.js} +1 -1
  128. package/dist/public/assets/{dist-BDbPHHcG.js → dist-BErgrd22.js} +1 -1
  129. package/dist/public/assets/dist-BL5nD31H.js +1 -0
  130. package/dist/public/assets/dist-BOaebJ3y.js +9 -0
  131. package/dist/public/assets/dist-BnT4p1qn.js +1 -0
  132. package/dist/public/assets/{dist-BRXePA0O.js → dist-BvnuHJmQ.js} +1 -1
  133. package/dist/public/assets/dist-BzkDKzOk.js +1 -0
  134. package/dist/public/assets/dist-ClD18cXH.js +1 -0
  135. package/dist/public/assets/dist-CpbZbACh.js +1 -0
  136. package/dist/public/assets/{dist-B2sUyimR.js → dist-DEJ4wECF.js} +1 -1
  137. package/dist/public/assets/{dist-FFXyFMEP2.js → dist-DgVI4NOf2.js} +182 -182
  138. package/dist/public/assets/dist-Dhbfk1jo.js +23 -0
  139. package/dist/public/assets/{dist-Dl_Hcem_.js → dist-RbAfUwYm2.js} +1 -1
  140. package/dist/public/assets/{dist-C5hoswyZ.js → dist-qbDvR5Vm.js} +1 -1
  141. package/dist/public/assets/{doc-paths-BT16-f7r.js → doc-paths-CvSK7JNc.js} +1 -1
  142. package/dist/public/assets/{documents-events-BYhhJH8W.js → documents-events-D0Krdb7q.js} +1 -1
  143. package/dist/public/assets/{ebnfDiagram-CCIWWBDH-CZzPuk9p.js → ebnfDiagram-CCIWWBDH-BGps-Tlh.js} +1 -1
  144. package/dist/public/assets/{erDiagram-Q63AITRT-9xYB2NMy.js → erDiagram-Q63AITRT-BAZLcThH.js} +1 -1
  145. package/dist/public/assets/eventmodeling-45OFAUF4-B6vt2_IC.js +1 -0
  146. package/dist/public/assets/{file-tree-adapter-5NHUF1AU.js → file-tree-adapter-DYMUSVB5.js} +1 -1
  147. package/dist/public/assets/{file-tree-utils-Dfu7Cauy.js → file-tree-utils-U_gH0LWE.js} +1 -1
  148. package/dist/public/assets/flowDiagram-23GEKE2U-nxJZ6d_P.js +1 -0
  149. package/dist/public/assets/{folder-config-api-CgtASyeO.js → folder-config-api-C6ekp4Ky.js} +1 -1
  150. package/dist/public/assets/{follow-file-CJlKhusM.js → follow-file-F7kwrB0K.js} +1 -1
  151. package/dist/public/assets/{ganttDiagram-NO4QXBWP-DijtRRdy.js → ganttDiagram-NO4QXBWP-CnY3tYS4.js} +1 -1
  152. package/dist/public/assets/gherkin-85A09uvl.js +1 -0
  153. package/dist/public/assets/gitGraph-TEB2WS4Q-CrRmctIi.js +1 -0
  154. package/dist/public/assets/{gitGraphDiagram-IHSO6WYX-v6F97UcV.js → gitGraphDiagram-IHSO6WYX-B8O8fZOS.js} +1 -1
  155. package/dist/public/assets/globals-CrUZfUVm.css +1 -0
  156. package/dist/public/assets/{globals-BkB_jgyG.js → globals-DktXHqb9.js} +2 -2
  157. package/dist/public/assets/{graphlib-DhNu5XTn.js → graphlib-qiycimrL.js} +1 -1
  158. package/dist/public/assets/{highlighted-body-OFNGDK62-DxF-jfal.js → highlighted-body-OFNGDK62-C_afdV86.js} +1 -1
  159. package/dist/public/assets/i18n-Ci29nkvq.js +1 -0
  160. package/dist/public/assets/index-D346rxmT.js +2097 -0
  161. package/dist/public/assets/info-DKCQHKI2-BDbq3Equ.js +1 -0
  162. package/dist/public/assets/{infoDiagram-FWYZ7A6U-CZFjeYGc.js → infoDiagram-FWYZ7A6U-Bq0Uw4YR.js} +1 -1
  163. package/dist/public/assets/{input-group-pOmI7K9l.js → input-group-DosHKmfV.js} +1 -1
  164. package/dist/public/assets/{ishikawaDiagram-FXEZZL3T-CkYYfkzy.js → ishikawaDiagram-FXEZZL3T-CLXVFxrS.js} +1 -1
  165. package/dist/public/assets/{journeyDiagram-5HDEW3XC-jznzpifp.js → journeyDiagram-5HDEW3XC-Xt4a8WCT.js} +1 -1
  166. package/dist/public/assets/{kanban-definition-HUTT4EX6-DvW7rPep.js → kanban-definition-HUTT4EX6-2N8NvoYZ.js} +1 -1
  167. package/dist/public/assets/{line-D74h8yJj.js → line-CHX77dzi.js} +1 -1
  168. package/dist/public/assets/{linear-wPQKtCnF.js → linear-CG7OsDbr.js} +1 -1
  169. package/dist/public/assets/{lint-config-client-aw9JiA9H.js → lint-config-client-DLSwD_yF.js} +1 -1
  170. package/dist/public/assets/{map-BUSC3AEl.js → map-CCFSzMRB.js} +1 -1
  171. package/dist/public/assets/{markdownlint-rule-browser-BqwmUz9N.js → markdownlint-rule-browser-DTTo6sys.js} +1 -1
  172. package/dist/public/assets/mermaid-GHXKKRXX-Cay2e487.js +1 -0
  173. package/dist/public/assets/{mermaid-parser.core-CIlXyQdh.js → mermaid-parser.core-D3_-DH8J.js} +2 -2
  174. package/dist/public/assets/{mermaid.core-DZMFZPvc.js → mermaid.core-BfTrAtoH.js} +3 -3
  175. package/dist/public/assets/messages-BAf5RiDt.js +1 -0
  176. package/dist/public/assets/messages-BNaSEGlm.js +1 -0
  177. package/dist/public/assets/messages-BZGasE0y.js +1 -0
  178. package/dist/public/assets/messages-BiaRA9eO.js +1 -0
  179. package/dist/public/assets/messages-CAxz6nlh.js +1 -0
  180. package/dist/public/assets/messages-CQ-KVdTd.js +1 -0
  181. package/dist/public/assets/messages-CT4CGdYa.js +1 -0
  182. package/dist/public/assets/messages-C_h77qzk.js +1 -0
  183. package/dist/public/assets/messages-ClPhVClm.js +1 -0
  184. package/dist/public/assets/messages-Dct80Zji.js +1 -0
  185. package/dist/public/assets/messages-EIESpA1C.js +1 -0
  186. package/dist/public/assets/{mindmap-definition-LN4V7U3C-Bm6pRarL.js → mindmap-definition-LN4V7U3C-wo5DyuZj.js} +1 -1
  187. package/dist/public/assets/{navigation-targets-BB54n_r7.js → navigation-targets-DOPPSLGO.js} +1 -1
  188. package/dist/public/assets/{now-Dj28ysYF.js → now-D_D35T9Z.js} +1 -1
  189. package/dist/public/assets/{open-managed-artifact-tab-B-SCOaEl.js → open-managed-artifact-tab-H6-v57bY.js} +1 -1
  190. package/dist/public/assets/{ordinal-DXfwmpMf.js → ordinal-i63Qg2i5.js} +1 -1
  191. package/dist/public/assets/packet-7NZHBO7P-BSel13EB.js +1 -0
  192. package/dist/public/assets/{pegDiagram-2B236MQR-U4Q3CpHD.js → pegDiagram-2B236MQR-G8WYx7hb.js} +1 -1
  193. package/dist/public/assets/{pending-receive-nav-store-WnN6M6Cf.js → pending-receive-nav-store-DeqVt2UQ.js} +1 -1
  194. package/dist/public/assets/pie-RZYD4A2V-C2Tifyp2.js +1 -0
  195. package/dist/public/assets/{pieDiagram-ENE6RG2P-Y_b1t_zS.js → pieDiagram-ENE6RG2P-BAaCtGbD.js} +1 -1
  196. package/dist/public/assets/{prop-types-BlWArB_E.js → prop-types-Az_QdOEW.js} +1 -1
  197. package/dist/public/assets/{quadrantDiagram-ABIIQ3AL-9TnfTiwS.js → quadrantDiagram-ABIIQ3AL-BTya7X9H.js} +1 -1
  198. package/dist/public/assets/radar-I7S5WNFK-CcbaGPcm.js +1 -0
  199. package/dist/public/assets/railroad-3IZDKUUU-wNnjIbGG.js +1 -0
  200. package/dist/public/assets/railroad-abnf-AHOZXSZD-DlFOCLj9.js +1 -0
  201. package/dist/public/assets/railroad-ebnf-EBAXGLYW-RMzZnNf7.js +1 -0
  202. package/dist/public/assets/railroad-peg-LSFZ7HO6-ByexGK8C.js +1 -0
  203. package/dist/public/assets/{railroadDiagram-RFXS5EU6-BUV8iUi_.js → railroadDiagram-RFXS5EU6-pH4k8bdb.js} +1 -1
  204. package/dist/public/assets/receive-store-DDFCZ_zF.js +2 -0
  205. package/dist/public/assets/{requirementDiagram-TGXJPOKE-GHTFtFmR.js → requirementDiagram-TGXJPOKE-DZL8HnEm.js} +1 -1
  206. package/dist/public/assets/{sankeyDiagram-HTMAVEWB-C8cmLYHE.js → sankeyDiagram-HTMAVEWB-DCS6FztW.js} +1 -1
  207. package/dist/public/assets/{schema-fields-view-intent-YAQkuTWi.js → schema-fields-view-intent-DCPR-Ln-.js} +1 -1
  208. package/dist/public/assets/{selection-context-1v-yONuu.js → selection-context-BZairyTK.js} +1 -1
  209. package/dist/public/assets/{sequenceDiagram-DBY2YBRQ-Bt7zFhks.js → sequenceDiagram-DBY2YBRQ-B82XIxPS.js} +1 -1
  210. package/dist/public/assets/{sizeCapture-X5ZJPWSS-BU3nTQLQ.js → sizeCapture-X5ZJPWSS-BHfXXjP_.js} +1 -1
  211. package/dist/public/assets/{skill-actions-ySWvy7X6.js → skill-actions-BlQDV2hj.js} +2 -2
  212. package/dist/public/assets/{skill-scope-UBfnFDb4.js → skill-scope-aJE1TjDP.js} +1 -1
  213. package/dist/public/assets/{skills-api-9ALineK1.js → skills-api-CuoEB5QE.js} +1 -1
  214. package/dist/public/assets/{src-DvYTkSdj.js → src-BGTHc4YS.js} +2 -2
  215. package/dist/public/assets/{src-B5Uf_H4s.js → src-CO43ViIY.js} +1 -1
  216. package/dist/public/assets/{stateDiagram-2N3HPSRC-BUIZZrgp.js → stateDiagram-2N3HPSRC-Bd5fbfEF.js} +1 -1
  217. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-BoLZPody.js +1 -0
  218. package/dist/public/assets/{swimlanes-5IMT3BWC-bO40Bo1P.js → swimlanes-5IMT3BWC-Ce1zs3rj.js} +2 -2
  219. package/dist/public/assets/swimlanesDiagram-G3AALYLV-CGtxrbZp.js +8 -0
  220. package/dist/public/assets/{tag-pill-input-kaP2lmgo.js → tag-pill-input-B8NePzc1.js} +1 -1
  221. package/dist/public/assets/{target-navigation-intent-CS2r1eMb.js → target-navigation-intent-DLiIAPkk.js} +1 -1
  222. package/dist/public/assets/{telemetry-impl-DEqUGA-0.js → telemetry-impl-DONiTzZ_.js} +2 -2
  223. package/dist/public/assets/{telemetry-startup-BzSWafHK.js → telemetry-startup-BfG2Lp3W.js} +1 -1
  224. package/dist/public/assets/{terminal-launch-events-DKgbFSpL.js → terminal-launch-events--SP0Oc1n.js} +1 -1
  225. package/dist/public/assets/{terminal-telemetry-CY2tEm12.js → terminal-telemetry-FuU-LPps.js} +1 -1
  226. package/dist/public/assets/text-viewer-languages-CSk_u3CS.js +2 -0
  227. package/dist/public/assets/{timeline-definition-FHXFAJF6-BoGbaR7E.js → timeline-definition-FHXFAJF6-B8f83LnN.js} +1 -1
  228. package/dist/public/assets/treeView-QDETBFTQ-Dpmvwpjy.js +1 -0
  229. package/dist/public/assets/treemap-6X3UGDF4-coL9Lbtu.js +1 -0
  230. package/dist/public/assets/{typing-burst-detector-CYnIaM6u.js → typing-burst-detector-D84nemKz.js} +3 -3
  231. package/dist/public/assets/uninstall-DI99nm7f.js +1 -0
  232. package/dist/public/assets/{use-activity-panel-Cwj0_04h.js → use-activity-panel-BFXhDZXM.js} +1 -1
  233. package/dist/public/assets/{use-collab-url-CVs0Opja.js → use-collab-url-DksYHz7U.js} +1 -1
  234. package/dist/public/assets/{use-live-xterm-theme-sbqUOBNg.js → use-live-xterm-theme-DzoPADl1.js} +1 -1
  235. package/dist/public/assets/{use-open-skill-CwXro_jC.js → use-open-skill-B7tHrEgg.js} +1 -1
  236. package/dist/public/assets/{use-settings-route-UI-dlJz3.js → use-settings-route-B4yac1Dy.js} +1 -1
  237. package/dist/public/assets/{use-skill-directory-B6ffBJdj.js → use-skill-directory-BZ1cvffd.js} +1 -1
  238. package/dist/public/assets/{use-skill-origin-V3GZkGVc.js → use-skill-origin-B5Z8v2uI.js} +1 -1
  239. package/dist/public/assets/{use-skills-CvHLXmrt.js → use-skills-CRf-LvEH.js} +1 -1
  240. package/dist/public/assets/{use-terminal-enabled-Q7Gm01hI.js → use-terminal-enabled-U5IlfCxf.js} +1 -1
  241. package/dist/public/assets/{use-timeline-entry-diff-Cb8JrQ_Z.js → use-timeline-entry-diff-B5w_FXM0.js} +4 -4
  242. package/dist/public/assets/{use-workspace-D9sCUZUt.js → use-workspace-BV2GDUTP.js} +1 -1
  243. package/dist/public/assets/{vennDiagram-L72KCM5P-CAtXcJOo.js → vennDiagram-L72KCM5P-C6FxywcL.js} +1 -1
  244. package/dist/public/assets/wardley-OPB4EBWU-DvXXACDx.js +1 -0
  245. package/dist/public/assets/{wardleyDiagram-EHGQE667-mlGW_wQr.js → wardleyDiagram-EHGQE667-BDmpdoJa.js} +1 -1
  246. package/dist/public/assets/{xychartDiagram-FW5EYKEG-B_lKj_cv.js → xychartDiagram-FW5EYKEG-B-T7f0dr.js} +1 -1
  247. package/dist/public/index.html +112 -89
  248. package/dist/public/uninstall.html +9 -7
  249. package/dist/{repair-launch-json-B6W8GS1I.mjs → repair-launch-json-CyF6Yobl.mjs} +2 -2
  250. package/dist/{repair-mcp-configs-DxtNHw8M.mjs → repair-mcp-configs-Bk1NJXTE.mjs} +2 -2
  251. package/dist/{repair-skills-BfSKnUWU.mjs → repair-skills-C-Uxi1F_.mjs} +2 -2
  252. package/dist/repair-skills-iaAxRm65.mjs +1 -0
  253. package/dist/schemas/v0/config.user.schema.json +21 -0
  254. package/dist/{server-lock-Dc1sKhMm.mjs → server-lock-CAxliK3N.mjs} +2 -2
  255. package/dist/server-lock-f0YUD9MT.mjs +1 -0
  256. package/dist/{skill-teardown-exqrf3fF.mjs → skill-teardown-CPU2PCBb.mjs} +2 -2
  257. package/dist/{sleep-ByqzSHar.mjs → sleep-ChnoPlNg.mjs} +5 -5
  258. package/dist/{src-DnjBaD3J.mjs → src-BxACkU3c.mjs} +234 -234
  259. package/dist/{src-D-DjnpUm.mjs → src-CaZ8mGsw.mjs} +2 -2
  260. package/dist/{src-DNT_I4SZ.mjs → src-Dfodvsqg.mjs} +1 -1
  261. package/dist/{src-1Bl34H5k.mjs → src-Xqdqp-3u.mjs} +2 -2
  262. package/dist/{start-BrQCfSmu.mjs → start-B8YAUXgo.mjs} +3 -3
  263. package/dist/start-CU9OGOab.mjs +1 -0
  264. package/dist/{write-project-skill-DuGbv8Sv.mjs → write-project-skill-C7EVY5xL.mjs} +2 -2
  265. package/package.json +4 -4
  266. package/dist/constants-CDBkEzja.mjs +0 -2
  267. package/dist/fs-traced-WMTb98_i.mjs +0 -1
  268. package/dist/git-handle-Ca0yLTy3.mjs +0 -1
  269. package/dist/init-CIdCoNwM.mjs +0 -1
  270. package/dist/loader-D484biLE.mjs +0 -1
  271. package/dist/md-manager-DTsQm4IH.mjs +0 -2
  272. package/dist/preview-DKtzdYoj.mjs +0 -1
  273. package/dist/public/assets/BugReportHistory-CYOPGlVT.js +0 -1
  274. package/dist/public/assets/CodeMirrorPropInput-BgivX4OM.js +0 -3
  275. package/dist/public/assets/DocumentContext-DNGvgipP.js +0 -38
  276. package/dist/public/assets/FeedbackForm-CBBag4DA.js +0 -1
  277. package/dist/public/assets/ManagedArtifactProperties-CBqCEX8-.js +0 -1
  278. package/dist/public/assets/ManagedArtifactProperties-t-5VCzho.js +0 -2
  279. package/dist/public/assets/SettingsDialogBody-C3Mu_5yz.js +0 -12
  280. package/dist/public/assets/SourceEditor-P4OOLH5k.js +0 -1
  281. package/dist/public/assets/architecture-TIHT7OUA-DFOTFBbr.js +0 -1
  282. package/dist/public/assets/auth-state-cache-BBQUZa7Y.js +0 -11
  283. package/dist/public/assets/channel-CTYqt4g0.js +0 -1
  284. package/dist/public/assets/chunk-2Q5K7J3B-ML0MRNMu.js +0 -1
  285. package/dist/public/assets/chunk-VAUOI2AC-BXR6IYEq.js +0 -1
  286. package/dist/public/assets/chunk-XXDRQBXY-svK-_SE4.js +0 -1
  287. package/dist/public/assets/classDiagram-OUVF2IWQ-xqPvGsM8.js +0 -1
  288. package/dist/public/assets/classDiagram-v2-EOCWNBFH-DltLtkHS.js +0 -1
  289. package/dist/public/assets/client-version-CzyGslws.js +0 -1
  290. package/dist/public/assets/config-provider-DOEEoLhw.js +0 -4
  291. package/dist/public/assets/cynefin-VYW2F7L2-DckB7g1t.js +0 -1
  292. package/dist/public/assets/dist-4GhcOoys2.js +0 -1
  293. package/dist/public/assets/dist-BHXZ_sfW.js +0 -1
  294. package/dist/public/assets/dist-BZfOq7Dy.js +0 -9
  295. package/dist/public/assets/dist-CApADOW3.js +0 -1
  296. package/dist/public/assets/dist-CLZZzoNM.js +0 -1
  297. package/dist/public/assets/dist-D5b61U8h.js +0 -23
  298. package/dist/public/assets/dist-eB1cZ_1W.js +0 -1
  299. package/dist/public/assets/eventmodeling-45OFAUF4-BAwLtOJ-.js +0 -1
  300. package/dist/public/assets/flowDiagram-23GEKE2U-DZlqleoU.js +0 -1
  301. package/dist/public/assets/gitGraph-TEB2WS4Q-CtXzB9IZ.js +0 -1
  302. package/dist/public/assets/globals-DAsZiYWs.css +0 -1
  303. package/dist/public/assets/index-BdjlZXPr.js +0 -2091
  304. package/dist/public/assets/info-DKCQHKI2-aojnuX4Q.js +0 -1
  305. package/dist/public/assets/mermaid-GHXKKRXX-DA5mXckx.js +0 -1
  306. package/dist/public/assets/packet-7NZHBO7P-C8VjP4xX.js +0 -1
  307. package/dist/public/assets/pie-RZYD4A2V-D3CTWt5e.js +0 -1
  308. package/dist/public/assets/radar-I7S5WNFK-CiwvsxWN.js +0 -1
  309. package/dist/public/assets/railroad-3IZDKUUU-BiSgeyR-.js +0 -1
  310. package/dist/public/assets/railroad-abnf-AHOZXSZD-MgQ9GoYd.js +0 -1
  311. package/dist/public/assets/railroad-ebnf-EBAXGLYW-CpD9c-Np.js +0 -1
  312. package/dist/public/assets/railroad-peg-LSFZ7HO6-BkiQ4XAA.js +0 -1
  313. package/dist/public/assets/receive-store-8JT58I8W.js +0 -2
  314. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-BMvTsdCm.js +0 -1
  315. package/dist/public/assets/swimlanesDiagram-G3AALYLV-Bw_QSWFE.js +0 -8
  316. package/dist/public/assets/text-viewer-languages-Cg0FdkAb.js +0 -2
  317. package/dist/public/assets/treeView-QDETBFTQ-Ccor-UCe.js +0 -1
  318. package/dist/public/assets/treemap-6X3UGDF4-ivqx2UNe.js +0 -1
  319. package/dist/public/assets/uninstall-CTlK5Oun.js +0 -1
  320. package/dist/public/assets/wardley-OPB4EBWU-D8CQEbqs.js +0 -1
  321. package/dist/repair-skills-DfL4OHJC.mjs +0 -1
  322. package/dist/server-lock-BRHlHA0v.mjs +0 -1
  323. package/dist/start-DP3yT2RQ.mjs +0 -1
  324. /package/dist/public/assets/{ActivityPanelDiffView-BHV3BqCQ.js → ActivityPanelDiffView-DCP4nm4W.js} +0 -0
  325. /package/dist/public/assets/{AppMenubar-DEpF6h8q.js → AppMenubar-C4qV1iIf.js} +0 -0
  326. /package/dist/public/assets/{SkillModeBanner-C_1eHet3.js → SkillModeBanner-BOYKyVNe.js} +0 -0
  327. /package/dist/public/assets/{__vite-browser-external-o4WEX2mj.js → __vite-browser-external-Bn1sh2Cg.js} +0 -0
  328. /package/dist/public/assets/{agent-presence-cKIGljxI.js → agent-presence-DzEPID7X.js} +0 -0
  329. /package/dist/public/assets/{array-DNx71GJU.js → array-Bwq1tsYl.js} +0 -0
  330. /package/dist/public/assets/{asset-dispatch-BZz3JZpZ.js → asset-dispatch-CXdMYaob.js} +0 -0
  331. /package/dist/public/assets/{auth-prompt-store-DaAbCGBh.js → auth-prompt-store--WPFCFKX.js} +0 -0
  332. /package/dist/public/assets/{badge-CBU6CQBJ.js → badge-C9Et23R8.js} +0 -0
  333. /package/dist/public/assets/{chunk-KEIR6QF5-D_HfbxQ3.js → chunk-KEIR6QF5-cfnN9NSb.js} +0 -0
  334. /package/dist/public/assets/{chunk-Y2CYZVJY-CTUIHOWN.js → chunk-Y2CYZVJY-xoDw0I5N.js} +0 -0
  335. /package/dist/public/assets/{clike-DJzNA5uw.js → clike-BPG93dt2.js} +0 -0
  336. /package/dist/public/assets/{clipboard-adapter-jV7IP0XO.js → clipboard-adapter-a6RtqkBy.js} +0 -0
  337. /package/dist/public/assets/{colors-DY6SwyM_.js → colors-DQOebPbz.js} +0 -0
  338. /package/dist/public/assets/{copilot-QWlqAzS5.js → copilot-DyClikmk.js} +0 -0
  339. /package/dist/public/assets/{cursor-C6NZ_NjT.js → cursor-CMobJCAT.js} +0 -0
  340. /package/dist/public/assets/{cytoscape.esm-BUTyEMz2.js → cytoscape.esm-qlH0uBlY.js} +0 -0
  341. /package/dist/public/assets/{defaultLocale-4pz4GyJ6.js → defaultLocale-DeVSBSL_.js} +0 -0
  342. /package/dist/public/assets/{desktop-bridge-types-BIAMkfnk.js → desktop-bridge-types-iItooYXJ.js} +0 -0
  343. /package/dist/public/assets/{diff-UfOtcPBF.js → diff-DCsPLkjo.js} +0 -0
  344. /package/dist/public/assets/{dist-CVvcgj09.js → dist-B7yUMXxJ.js} +0 -0
  345. /package/dist/public/assets/{dist-CWy8xH6X.js → dist-DB-5PbqJ.js} +0 -0
  346. /package/dist/public/assets/{dist-B4r_A2mw.js → dist-DiSMJpcl.js} +0 -0
  347. /package/dist/public/assets/{documents-fetch-CoP66yPf.js → documents-fetch-BFEC452a.js} +0 -0
  348. /package/dist/public/assets/{external-link-DT5mGYp0.js → external-link-DDbTQGpL.js} +0 -0
  349. /package/dist/public/assets/{file-tree-rename-validation-BB1aD1Pp.js → file-tree-rename-validation-C978B2yc.js} +0 -0
  350. /package/dist/public/assets/{form-IV9p7CBQ.js → form-BUN5O-RY.js} +0 -0
  351. /package/dist/public/assets/{format-KYHSRwuS.js → format-PzvEBOT-.js} +0 -0
  352. /package/dist/public/assets/{go-CdNSAW6a.js → go-BErErolW.js} +0 -0
  353. /package/dist/public/assets/{init-D4gOVDL_.js → init--lqjo2WF.js} +0 -0
  354. /package/dist/public/assets/{isObject-CUKQpKBO.js → isObject-CnDWjgGz.js} +0 -0
  355. /package/dist/public/assets/{libesm-CbHWK9K3.js → libesm-55kviNAY.js} +0 -0
  356. /package/dist/public/assets/{lint-plugin-meta-DZaKA5-M.js → lint-plugin-meta-DG13BaAH.js} +0 -0
  357. /package/dist/public/assets/{lru-string-cache-EoEYEZ4C.js → lru-string-cache-DBeVQG4Q.js} +0 -0
  358. /package/dist/public/assets/{lua-BjC_YWX_.js → lua-CeWJy5gJ.js} +0 -0
  359. /package/dist/public/assets/{mcp-consent-store-DZN0FT4T.js → mcp-consent-store-IOrsu48j.js} +0 -0
  360. /package/dist/public/assets/{min-x3trf8Wh.js → min-Xfg-0lOG.js} +0 -0
  361. /package/dist/public/assets/{overlay-layers-Dulb79gg.js → overlay-layers-kYO2Hl8E.js} +0 -0
  362. /package/dist/public/assets/{panel-DFoqAiSq.js → panel-BqgfZ4RF.js} +0 -0
  363. /package/dist/public/assets/{panzoom.es-DKn8NuHU.js → panzoom.es-BYikisPL.js} +0 -0
  364. /package/dist/public/assets/{parse-api-error-CulWAL3N.js → parse-api-error-B1SxBFxO.js} +0 -0
  365. /package/dist/public/assets/{path-CPUiTFzQ.js → path-BeGdDfw0.js} +0 -0
  366. /package/dist/public/assets/{pdf-UdiWtmKI.js → pdf-BLosdk5g.js} +0 -0
  367. /package/dist/public/assets/{pdf.worker-CVlM3MGW.js → pdf.worker-DWcRJEtr.js} +0 -0
  368. /package/dist/public/assets/{perl-B5kh9uCS.js → perl-XkmXldY5.js} +0 -0
  369. /package/dist/public/assets/{properties-DW_pwOFE.js → properties-DKx9JIgS.js} +0 -0
  370. /package/dist/public/assets/{r-HIDEBO1S.js → r-BiwnqVvR.js} +0 -0
  371. /package/dist/public/assets/{rough.esm-Do3Mexf5.js → rough.esm-Cb5P8xvg.js} +0 -0
  372. /package/dist/public/assets/{ruby-mktTWmhU.js → ruby-xxrHyBNI.js} +0 -0
  373. /package/dist/public/assets/{share-metadata-rows-BgvfdoD5.js → share-metadata-rows-DAx7y6kC.js} +0 -0
  374. /package/dist/public/assets/{shell-DW-sch3D.js → shell-Ct18AN_z.js} +0 -0
  375. /package/dist/public/assets/{skeleton-C4vRhplG.js → skeleton-CcN1qHDt.js} +0 -0
  376. /package/dist/public/assets/{sortable.esm-Db0q_rOi.js → sortable.esm-C4qR9epO.js} +0 -0
  377. /package/dist/public/assets/{sql-BnT59v2q.js → sql-CLSfVrfA.js} +0 -0
  378. /package/dist/public/assets/{src-B5LmWD6e.js → src-drjIkPVa.js} +0 -0
  379. /package/dist/public/assets/{startup-marks-CeDK0_f3.js → startup-marks-CJaYfJio.js} +0 -0
  380. /package/dist/public/assets/{stex-dEyUgtYN.js → stex-Dxu2B0oS.js} +0 -0
  381. /package/dist/public/assets/{swift-D-oQbKZh.js → swift-D5PyBHC5.js} +0 -0
  382. /package/dist/public/assets/{textarea-Do-HJCDs.js → textarea-nj8IYW6k.js} +0 -0
  383. /package/dist/public/assets/{thread-client-BNgrlAbM.js → thread-client-C46aiMD1.js} +0 -0
  384. /package/dist/public/assets/{thread-draft-staging-DL81pG7_.js → thread-draft-staging-B-_SkQVw.js} +0 -0
  385. /package/dist/public/assets/{timeline-diff-store-Ct1wjBoU.js → timeline-diff-store-Cl3Q73PI.js} +0 -0
  386. /package/dist/public/assets/{toml-B8_D8Hcu.js → toml-DkaiECsV.js} +0 -0
  387. /package/dist/public/assets/{use-installed-clis-CA__SZ2w.js → use-installed-clis-BgGBXIKu.js} +0 -0
  388. /package/dist/public/assets/{useLintConfigViewMode-ByY6MPfT.js → useLintConfigViewMode-Bv63NPvA.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-DTipWd-i.mjs";import{Y as t}from"./sleep-ByqzSHar.mjs";import{Ds as n,Ho as r,Os as i,Q as a,Z as o}from"./src-1Bl34H5k.mjs";import{Jr as s,Tn as c,at as l,gi as u,it as d,ot as f,rt as p,wa as m}from"./src-DnjBaD3J.mjs";import{O as h,P as g}from"./fs-traced-Cq61rC8q.mjs";import{S as _,u as v,v as y,x as b}from"./server-lock-Dc1sKhMm.mjs";import{t as x}from"./yazl-DZr4PyKA.mjs";import{_ as S,g as C,i as w,s as ee,x as te}from"./write-project-skill-DuGbv8Sv.mjs";import{c as ne}from"./colors-BsmVIwfM.mjs";import"./acp-harness-probe-7F7pDfk8.mjs";import{D as T,E,S as re,T as D,_ as O,b as ie,o as ae,v as k}from"./init-BcJW1pN_.mjs";import{n as A}from"./constants-CDBkEzja.mjs";import{t as j}from"./is-object-ByG7RnjH.mjs";import"./loader-Bi_cGpOE.mjs";import"./skill-teardown-exqrf3fF.mjs";import"./preview-CkFbXsn7.mjs";import{execSync as oe,spawnSync as M}from"node:child_process";import{basename as N,dirname as P,isAbsolute as se,join as F,relative as ce,resolve as I,sep as le}from"node:path";import{cpSync as ue,createWriteStream as de,existsSync as L,lstatSync as fe,mkdirSync as R,mkdtempSync as pe,readFileSync as z,readdirSync as me,readlinkSync as he,rmSync as ge,statSync as _e,writeFileSync as B}from"node:fs";import{arch as ve,freemem as ye,homedir as V,hostname as be,platform as xe,release as Se,tmpdir as Ce,totalmem as we,type as Te,uptime as Ee}from"node:os";import{realpath as H}from"node:fs/promises";import{createHash as De}from"node:crypto";var U=t();const Oe=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function ke(e,t,n=c){if(e!==void 0&&!Oe.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let Ae=null;function je(e){Ae=e}function Me(){return Ae??process.cwd()}function Ne(){return F(V(),`.ok`,`bug-reports`)}function Pe(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=Ne(),r=`${t}-bugreport`,i=F(n,`${r}.zip`);for(let e=2;L(i);e+=1)i=F(n,`${r}-${e}.zip`);return i}function Fe(e,t){let n=F(e,`.ok`,`config.yml`);if(L(n))try{let e=z(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return L(F(e,`.ok`))?De(`sha256`).update(I(e)).digest(`hex`).slice(0,12):null}function Ie(){let e={timestamp:new Date().toISOString(),platform:xe(),osType:Te(),osRelease:Se(),hostname:`[redacted]`,uptime:Ee(),freeMem:ye(),totalMem:we(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=oe(`sw_vers -productVersion 2>/dev/null`,s({encoding:`utf8`})).trim()}catch{}try{let t=F(__dirname,`..`,`..`,`package.json`);L(t)&&(e.okVersion=JSON.parse(z(t,`utf8`)).version)}catch{}return e}function Le(e,t){return Re(e,t).files}function Re(e,t){if(!L(t))return{files:[]};let n=me(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>F(t,e));if(e&&n.length>0){let t=n.filter(t=>{try{return z(t,`utf8`).includes(`"project":"${e}"`)}catch{return!0}});t.length>0&&(n=t)}return{files:n}}function ze(e){let t=F(e,`.ok`,`local`);return L(t)?{files:[`server.lock`,`last-spawn-error.log`,o].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function Be(e){let t=F(e,`.ok`,`local`,`logs`);return L(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function Ve(e){if(e.redact){let{redacted:t,patterns:n,lineCount:r}=i(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),n.length>0&&e.redactions.push({file:e.name,lineCount:r,patterns:n})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function W(e){for(let t of e.files)try{Ve({zipfile:e.zipfile,name:`${e.prefix}/${N(t)}`,content:z(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function He(t){let{redact:r,outputPath:i,logger:a}=t,o=t.userLogsDir??F(V(),`.ok`,`logs`),s=t.projectDir?Fe(t.projectDir,a):null;R(P(i),{recursive:!0}),a?.info({projectSlug:s},`gathering diagnostic data`);let c=Ie();c.desktop=t.desktop??null;let{files:l}=Re(s,o),{files:u}=t.projectDir?ze(t.projectDir):{files:[]},{files:d}=t.projectDir?Be(t.projectDir):{files:[]};a?.info({logFileCount:l.length,lockFileCount:u.length,localSinkFileCount:d.length},`files collected`);let f=[],p=[],{ZipFile:m}=await import(`./yazl-jVENrf5i.mjs`).then(t=>e(t.default,1)),h=new m;W({zipfile:h,files:l,prefix:`logs`,redact:r,bundleFiles:p,redactions:f,logger:a}),W({zipfile:h,files:u,prefix:`lockdir`,redact:r,bundleFiles:p,redactions:f,logger:a}),W({zipfile:h,files:d,prefix:`local-logs`,redact:r,bundleFiles:p,redactions:f,logger:a});for(let e of t.extraFiles??[])try{let t=z(e.sourcePath),n=`extra/${e.zipName??N(e.sourcePath)}`;h.addBuffer(t,n),p.push(n)}catch(t){a?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&Ve({zipfile:h,name:`note.txt`,content:t.note,redact:r,bundleFiles:p,redactions:f});let g=JSON.stringify(c,null,2);h.addBuffer(Buffer.from(g,`utf8`),`sysinfo.json`),p.push(`sysinfo.json`);let _={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:s,files:p,redactions:f,sysinfo:c};h.addBuffer(Buffer.from(JSON.stringify(_,null,2),`utf8`),`MANIFEST.json`);let v=f.reduce((e,t)=>e+t.lineCount,0),y=[`# Bug Report Bundle`,``,`Generated: ${_.generatedAt}`,`Project: ${s??`(unscoped)`}`,`Discipline version: ${_.disciplineVersion}`,``,`## Contents`,``,...p.map(e=>`- ${e}`),``,`## Privacy`,``,...r?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${n.join(`, `)}`,v>0?`${v} line(s) were scrubbed across ${f.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
1
+ import{o as e}from"./chunk-DTipWd-i.mjs";import{Y as t}from"./sleep-ChnoPlNg.mjs";import{Ds as n,Ho as r,Os as i,Q as a,Z as o}from"./src-Xqdqp-3u.mjs";import{Jr as s,Tn as c,at as l,gi as u,it as d,ot as f,rt as p,wa as m}from"./src-BxACkU3c.mjs";import{O as h,P as g}from"./fs-traced-g8Nfed1O.mjs";import{S as _,u as v,v as y,x as b}from"./server-lock-CAxliK3N.mjs";import{t as x}from"./yazl-DZr4PyKA.mjs";import{_ as S,g as C,i as w,s as ee,x as te}from"./write-project-skill-C7EVY5xL.mjs";import{c as ne}from"./colors-BsmVIwfM.mjs";import"./acp-harness-probe-DnyVs1Kt.mjs";import{D as T,E,S as re,T as D,_ as O,b as ie,o as ae,v as k}from"./init-CmOnvenq.mjs";import{n as A}from"./constants-BSI73Ayf.mjs";import{t as j}from"./is-object-ByG7RnjH.mjs";import"./loader-DJYThXyr.mjs";import"./skill-teardown-CPU2PCBb.mjs";import"./preview-B8qsYLtv.mjs";import{execSync as oe,spawnSync as M}from"node:child_process";import{basename as N,dirname as P,isAbsolute as se,join as F,relative as ce,resolve as I,sep as le}from"node:path";import{cpSync as ue,createWriteStream as de,existsSync as L,lstatSync as fe,mkdirSync as R,mkdtempSync as pe,readFileSync as z,readdirSync as me,readlinkSync as he,rmSync as ge,statSync as _e,writeFileSync as B}from"node:fs";import{arch as ve,freemem as ye,homedir as V,hostname as be,platform as xe,release as Se,tmpdir as Ce,totalmem as we,type as Te,uptime as Ee}from"node:os";import{realpath as H}from"node:fs/promises";import{createHash as De}from"node:crypto";var U=t();const Oe=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function ke(e,t,n=c){if(e!==void 0&&!Oe.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let Ae=null;function je(e){Ae=e}function Me(){return Ae??process.cwd()}function Ne(){return F(V(),`.ok`,`bug-reports`)}function Pe(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=Ne(),r=`${t}-bugreport`,i=F(n,`${r}.zip`);for(let e=2;L(i);e+=1)i=F(n,`${r}-${e}.zip`);return i}function Fe(e,t){let n=F(e,`.ok`,`config.yml`);if(L(n))try{let e=z(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return L(F(e,`.ok`))?De(`sha256`).update(I(e)).digest(`hex`).slice(0,12):null}function Ie(){let e={timestamp:new Date().toISOString(),platform:xe(),osType:Te(),osRelease:Se(),hostname:`[redacted]`,uptime:Ee(),freeMem:ye(),totalMem:we(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=oe(`sw_vers -productVersion 2>/dev/null`,s({encoding:`utf8`})).trim()}catch{}try{let t=F(__dirname,`..`,`..`,`package.json`);L(t)&&(e.okVersion=JSON.parse(z(t,`utf8`)).version)}catch{}return e}function Le(e,t){return Re(e,t).files}function Re(e,t){if(!L(t))return{files:[]};let n=me(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>F(t,e));if(e&&n.length>0){let t=n.filter(t=>{try{return z(t,`utf8`).includes(`"project":"${e}"`)}catch{return!0}});t.length>0&&(n=t)}return{files:n}}function ze(e){let t=F(e,`.ok`,`local`);return L(t)?{files:[`server.lock`,`last-spawn-error.log`,o].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function Be(e){let t=F(e,`.ok`,`local`,`logs`);return L(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>F(t,e)).filter(e=>L(e))}:{files:[]}}function Ve(e){if(e.redact){let{redacted:t,patterns:n,lineCount:r}=i(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),n.length>0&&e.redactions.push({file:e.name,lineCount:r,patterns:n})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function W(e){for(let t of e.files)try{Ve({zipfile:e.zipfile,name:`${e.prefix}/${N(t)}`,content:z(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function He(t){let{redact:r,outputPath:i,logger:a}=t,o=t.userLogsDir??F(V(),`.ok`,`logs`),s=t.projectDir?Fe(t.projectDir,a):null;R(P(i),{recursive:!0}),a?.info({projectSlug:s},`gathering diagnostic data`);let c=Ie();c.desktop=t.desktop??null;let{files:l}=Re(s,o),{files:u}=t.projectDir?ze(t.projectDir):{files:[]},{files:d}=t.projectDir?Be(t.projectDir):{files:[]};a?.info({logFileCount:l.length,lockFileCount:u.length,localSinkFileCount:d.length},`files collected`);let f=[],p=[],{ZipFile:m}=await import(`./yazl-jVENrf5i.mjs`).then(t=>e(t.default,1)),h=new m;W({zipfile:h,files:l,prefix:`logs`,redact:r,bundleFiles:p,redactions:f,logger:a}),W({zipfile:h,files:u,prefix:`lockdir`,redact:r,bundleFiles:p,redactions:f,logger:a}),W({zipfile:h,files:d,prefix:`local-logs`,redact:r,bundleFiles:p,redactions:f,logger:a});for(let e of t.extraFiles??[])try{let t=z(e.sourcePath),n=`extra/${e.zipName??N(e.sourcePath)}`;h.addBuffer(t,n),p.push(n)}catch(t){a?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&Ve({zipfile:h,name:`note.txt`,content:t.note,redact:r,bundleFiles:p,redactions:f});let g=JSON.stringify(c,null,2);h.addBuffer(Buffer.from(g,`utf8`),`sysinfo.json`),p.push(`sysinfo.json`);let _={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:s,files:p,redactions:f,sysinfo:c};h.addBuffer(Buffer.from(JSON.stringify(_,null,2),`utf8`),`MANIFEST.json`);let v=f.reduce((e,t)=>e+t.lineCount,0),y=[`# Bug Report Bundle`,``,`Generated: ${_.generatedAt}`,`Project: ${s??`(unscoped)`}`,`Discipline version: ${_.disciplineVersion}`,``,`## Contents`,``,...p.map(e=>`- ${e}`),``,`## Privacy`,``,...r?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${n.join(`, `)}`,v>0?`${v} line(s) were scrubbed across ${f.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
2
2
  `);h.addBuffer(Buffer.from(y,`utf8`),`README.md`),h.end();let b=de(i);return h.outputStream.pipe(b),await new Promise((e,t)=>{b.on(`close`,e),b.on(`error`,t)}),a?.info({bundlePath:i,fileCount:p.length,redactionCount:v},`bundle written`),{zipPath:i,summary:{projectSlug:s,files:p,redactions:f,redactedLineCount:v,generatedAt:_.generatedAt}}}var Ue=e(x(),1),G=e(ne(),1);function K(e,t){return t.length===0||!e.includes(t)?e:e.split(t).join(`<CONTENT_DIR>`)}function We(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function q(e,t){if(typeof e==`string`)return K(e,t.contentDir);if(Array.isArray(e))return e.map(e=>q(e,t));if(!We(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=q(i,t);return n}function Ge(e,t){let n=z(e,`utf-8`);if(n.length===0)return;let r=n.endsWith(`
3
3
  `),i=n.split(`
4
4
  `),a=[];for(let e=0;e<i.length;e++){let n=i[e]??``;if(!(e===i.length-1&&n===``)){if(n.length===0){a.push(``);continue}try{let e=q(JSON.parse(n),t);a.push(JSON.stringify(e))}catch{a.push(n)}}}B(e,r?`${a.join(`
@@ -17,4 +17,4 @@ import{o as e}from"./chunk-DTipWd-i.mjs";import{Y as t}from"./sleep-ByqzSHar.mjs
17
17
  `).replace(/\n/g,`\r
18
18
  `));let u=`${i?``:``}${l}`;return u!==r&&g(e,u,{mode:D(e)}),{kind:`removed`}}function ln(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function un(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function dn(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:d(r),command:r,isDesktop:ln(r)}}function fn(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function Q(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&fn(e)?`ui-orphan`:`stale`}const pn=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function mn(e){switch(e){case`running`:return G.default.green(e);case`desktop`:return G.default.blue(e);case`foreign`:return G.default.cyan(e);case`ui-orphan`:return G.default.magenta(e);case`stale`:return G.default.yellow(e)}}function hn(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function gn(e){return`${hn(e.server.usage)} | ${hn(e.ui?.usage??null)}`}function _n(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function vn(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=Q(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,_n(e),gn(e),t,String(n),un(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=mn(Q(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=G.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
19
19
  `)}async function yn(e={}){let t=e.discover??p,n=e.inspect??Z,r=e.log??(e=>console.log(e)),i=e.resolveCommand??l,a=e.resolveUsage??f,o=await t(),s=[];for(let e of o){let t=n(e,`server`),r=n(e,`ui`),o=dn(e,t,r,t.status===`missing`||t.status===`corrupt`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:a(t.lock.pid),r.status===`missing`||r.status===`corrupt`?null:a(r.lock.pid));o!=null&&s.push(o)}if(e.json){let e=s.map(e=>({...e,displayStatus:Q(e)}));r(JSON.stringify(e,null,2));return}r(vn(e.all?s:s.filter(e=>pn.has(Q(e)))))}function bn(){return new te(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale (dead-pid) entries (foreign-host shows by default)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await yn({all:t.all===!0||e===`all`,json:t.json===!0})})}function xn(e,t,n={}){let r=n.isAlive??b,i=[];for(let[n,a]of[[`server`,e],[`ui`,t]])(a.status===`alive`||a.status===`foreign-host`&&r(a.lock.pid))&&i.push({name:n,pid:a.lock.pid,port:a.lock.port});return{targets:i}}function Sn(e){let t=e.inspect??(t=>Z(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=xn(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function $(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function Cn(e,t=b){let n=await p(),r=null;for(let i of n){let n=Z(i,`server`),a=Z(i,`ui`);if($(n,t)&&n.lock.port===e||$(a,t)&&a.lock.port===e)return i;r===null&&($(n,t)&&n.lock.pid===e||$(a,t)&&a.lock.pid===e)&&(r=i)}return r}function wn(e){let t=Sn({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function Tn(e){return new te(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async t=>{let n=t.length===0?void 0:t.join(` `);if(n===void 0){e();let t=Sn({lockDir:u(process.cwd()),log:()=>{}});if(t.hadTargets){if(t.stopped.length>0){let e=t.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}t.failed.length>0&&(process.exitCode=1)}else await yn({});return}if(n===`all`){let e=await p();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let n of e){let e=Z(n,`server`),r=Z(n,`ui`);!$(e,b)&&!$(r,b)||(wn(n),t++)}t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(n)){let e=Number.parseInt(n,10),t=await Cn(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}wn(t);return}wn(u(I(Me(),n)))})}function En(e){return{event:`mcp-config-decline`,scope:e.scope,surface:e.surface,editorId:e.editorId,reason:e.reason}}async function Dn(e,t){let n,i;try{n=await H(I(e)),i=await H(I(P(e)))}catch{return{kind:`not-git`}}if(!On(n,i))return{kind:`symlink-escape`};let a=F(n,`.git`),o;try{o=_e(a)}catch{return{kind:`not-git`}}if(o.isDirectory()){let e;try{e=await H(a)}catch{return{kind:`not-git`}}if(!On(e,n))return{kind:`symlink-escape`}}else if(!o.isFile())return{kind:`not-git`};let s=m(n);if(s.kind!==`repository`)return{kind:`not-git`};let c=s.repository.readRemoteUrl(`origin`);if(c.kind===`unreadable`)return{kind:`not-git`};if(c.kind===`absent`)return c.reason===`config-missing`?{kind:`not-git`}:{kind:`no-origin`};let l=c.url,u=Wt(l);if(u===null)return{kind:`non-github`};let d=r(u.hostname);if(d===null)return{kind:`non-github`};let f=d===t.host.toLowerCase(),p=u.owner.toLowerCase()===t.owner.toLowerCase(),h=u.name.toLowerCase()===t.repo.toLowerCase();return!f&&p&&h?{kind:`wrong-host`,actualHost:d}:!f||!p||!h?{kind:`wrong-repo`,actualOwner:u.owner,actualRepo:u.name}:{kind:`ok`,gitRemoteUrl:`https://${d}/${u.owner}/${u.name}.git`}}function On(e,t){if(e===t)return!0;let n=ce(t,e);return n.length>0&&!n.startsWith(`..`)&&!se(n)}const kn=[{id:`mcp-config`,write(e,t,n){let r=e.projectConfigPath?.(t);if(!r)return{integration:`mcp-config`,editorId:e.id,action:`skipped-unsupported`};try{let i=k(e,t,n,void 0,r);return i.action===`written`||i.action===`overwritten`?{integration:`mcp-config`,editorId:e.id,action:i.action,path:i.configPath}:i.action===`failed`?{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:i.error??`unknown failure`}:i.action===`declined`?{integration:`mcp-config`,editorId:e.id,action:`declined`,path:i.configPath,...i.declineReason===void 0?{}:{reason:i.declineReason}}:{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:`unexpected project-scope action: ${i.action}`}}catch(t){return{integration:`mcp-config`,editorId:e.id,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}},{id:`project-skill`,write(e,t,n){try{let r=w(e,t,{home:n.home});return{integration:`project-skill`,editorId:e.id,action:r.action,...r.path?{path:r.path}:{},...r.error?{error:r.error}:{}}}catch(t){return{integration:`project-skill`,editorId:e.id,action:`failed`,error:t instanceof Error?t.message:String(t)}}}}];function An(e,t,n={},r=kn){let i=[];for(let a of t){let t=ee[a];for(let a of r)i.push(a.write(t,e,n))}return i}function jn(e,t,n={}){return{integrations:An(e,t,n)}}export{Pe as C,ke as D,je as E,zt as S,Me as T,Kt as _,Tn as a,Ht as b,Jt as c,tn as d,Zt as f,qt as g,Gt as h,Sn as i,Xt as l,en as m,Dn as n,bn as o,$t as p,En as r,an as s,jn as t,Yt as u,Wt as v,Ne as w,Rt as x,Z as y};
20
- //# sourceMappingURL=src-D-DjnpUm.mjs.map
20
+ //# sourceMappingURL=src-CaZ8mGsw.mjs.map
@@ -1 +1 @@
1
- import{F as e,Fo as t,Ro as n,d as r,es as i,fs as a,js as o,l as s,ns as c,z as l,zo as u}from"./src-1Bl34H5k.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Br as w,Bt as T,C as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ei as L,En as R,Er as z,Et as B,F as V,Fi as H,Fn as U,Ft as W,G,Gi as K,Gn as q,Gr as J,Gt as Y,H as X,Hi as Z,Hn as Q,Hr as $,Ht as ee,I as te,Ii as ne,In as re,It as ie,J as ae,Ji as oe,Jn as se,Jr as ce,Jt as le,K as ue,Ki as de,Kn as fe,Kr as pe,Kt as me,L as he,Li as ge,Ln as _e,Lt as ve,M as ye,Mi as be,Mn as xe,Mr as Se,Mt as Ce,N as we,Ni as Te,Nn as Ee,Nt as De,O as Oe,Oi as ke,On as Ae,Or as je,Ot as Me,P as Ne,Pi as Pe,Pn as Fe,Pt as Ie,Q as Le,Qi as Re,Qn as ze,Qr as Be,Qt as Ve,R as He,Ri as Ue,Rn as We,Rr as Ge,Rt as Ke,S as qe,Si as Je,Sn as Ye,Sr as Xe,St as Ze,T as Qe,Ti as $e,Tn as et,Tr as tt,Tt as nt,U as rt,Ui as it,Un as at,Ur as ot,Ut as st,V as ct,Vi as lt,Vn as ut,Vr as dt,Vt as ft,W as pt,Wi as mt,Wn as ht,Wr as gt,Wt as _t,X as vt,Xi as yt,Xn as bt,Xr as xt,Xt as St,Y as Ct,Yi as wt,Yn as Tt,Yr as Et,Yt as Dt,Z as Ot,Zi as kt,Zn as At,Zr as jt,Zt as Mt,_ as Nt,_a as Pt,_i as Ft,_n as It,_r as Lt,_t as Rt,a as zt,aa as Bt,ai as Vt,an as Ht,ar as Ut,at as Wt,b as Gt,ba as Kt,bi as qt,bn as Jt,br as Yt,bt as Xt,c as Zt,ca as Qt,ci as $t,cn as en,cr as tn,d as nn,da as rn,di as an,dn as on,dr as sn,ea as cn,ei as ln,en as un,er as dn,et as fn,f as pn,fa as mn,fi as hn,fn as gn,fr as _n,g as vn,ga as yn,gi as bn,gn as xn,gr as Sn,gt as Cn,h as wn,ha as Tn,hi as En,hn as Dn,hr as On,ht as kn,i as An,ia as jn,ii as Mn,in as Nn,ir as Pn,it as Fn,j as In,ji as Ln,jn as Rn,jr as zn,jt as Bn,k as Vn,ki as Hn,kn as Un,kr as Wn,kt as Gn,l as Kn,la as qn,li as Jn,ln as Yn,lr as Xn,m as Zn,ma as Qn,mi as $n,mn as er,mr as tr,mt as nr,n as rr,na as ir,ni as ar,nn as or,nr as sr,nt as cr,o as lr,oa as ur,oi as dr,on as fr,or as pr,ot as mr,p as hr,pa as gr,pi as _r,pn as vr,pr as yr,q as br,qi as xr,qn as Sr,qr as Cr,qt as wr,r as Tr,ra as Er,ri as Dr,rn as Or,rr as kr,rt as Ar,s as jr,sa as Mr,si as Nr,sn as Pr,sr as Fr,st as Ir,t as Lr,ta as Rr,ti as zr,tn as Br,tr as Vr,tt as Hr,u as Ur,ua as Wr,ui as Gr,un as Kr,ur as qr,v as Jr,va as Yr,vn as Xr,vr as Zr,vt as Qr,w as $r,wi as ei,wn as ti,wr as ni,wt as ri,x as ii,xi as ai,xn as oi,xr as si,xt as ci,y as li,ya as ui,yi as di,yn as fi,yr as pi,yt as mi,z as hi,zi as gi,zn as _i,zr as vi,zt as yi}from"./src-DnjBaD3J.mjs";import{C as bi,E as xi,T as Si,_ as Ci,b as wi,c as Ti,d as Ei,g as Di,i as Oi,l as ki,m as Ai,n as ji,p as Mi,s as Ni,t as Pi,u as Fi,v as Ii,w as Li,x as Ri,y as zi}from"./fs-traced-Cq61rC8q.mjs";import{a as Bi,d as Vi,f as Hi,i as Ui,l as Wi,n as Gi,r as Ki,t as qi,u as Ji}from"./logger-BZPV1wv8.mjs";import{S as Yi,_ as Xi,a as Zi,c as Qi,f as $i,g as ea,h as ta,i as na,l as ra,m as ia,n as aa,o as oa,p as sa,r as ca,s as la,t as ua,u as da,v as fa,x as pa}from"./server-lock-Dc1sKhMm.mjs";export{rn as AGENT_ID_MAX_LEN,mn as AGENT_ID_RE,M as AGENT_WRITE_ORIGIN,Yr as AcpPermissionStore,Tn as AcpRegistry,Je as AcpThreadManager,qt as AgentFocusBroadcaster,di as AgentPresenceBroadcaster,ke as AgentSessionCapacityError,Hn as AgentSessionManager,kn as AutoStartDisabledError,Zr as BUNDLE_IDS,pi as BUNDLE_SCOPE,Yt as BUNDLE_SKILL_NAME,Sr as BacklinkIndex,gi as CC1Broadcaster,c as CC1_CONTRACT_VERSION,Kr as CONFIG_FILENAME,ut as CONFLICT_MARKER_RE,w as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Nt as ConfigSchema,K as DEFAULT_CHECKPOINT_RETENTION,Mn as DEFAULT_EMBEDDINGS_DIMENSIONS,W as DEFAULT_PACK_ID,ct as DocumentDurabilityState,Vt as EMBEDDINGS_API_KEY_ENV,yn as FEATURED_AGENT_IDS,de as FILE_SYSTEM_WRITER,q as FILE_WATCHER_ORIGIN,Be as FileEmbeddingsBackend,Mt as GIT_PREFLIGHT_FAIL_SPAN_NAME,xr as GIT_UPSTREAM_WRITER,ui as GitDirAccessError,h as GitNotAvailableError,un as GitTooOldError,Cn as HOCUSPOCUS_AUTH_REJECTION_REASONS,Rt as HocuspocusAuthRejection,Qr as HocuspocusAuthTokenSchema,pe as INSTALLED_AGENTS_SCHEMES,i as LINEAGE_EPOCH_KEY,He as LIVE_DERIVED_INDEX_DEBOUNCE_MS,ie as LOG_MD_TEMPLATE,nt as MANAGED_RENAME_ORIGIN,D as MAX_ACP_THREADS,_ as MAX_AGENT_SESSIONS,$e as MCP_CONNECTION_ID_HEADER,t as MCP_SERVER_NAME,Ln as MIN_EVICTABLE_IDLE_MS,Br as MIN_GIT_VERSION,X as MISSING_OK_CONFIG_MESSAGE,Kt as MalformedGitPointerError,fn as McpLogger,rt as MissingOkConfigError,Te as OBSERVER_SYNC_ORIGIN,on as OK_OKIGNORE_TEMPLATE,n as ORPHAN_MODES,o as PROTOCOL_VERSION,qi as PinoLogger,Qi as ProcessLockCollisionError,Kn as ProjectGitInitError,B as ROLLBACK_ORIGIN,gn as ROOT_GITIGNORE_TEMPLATE,ea as RUNTIME_VERSION,fi as RemoteConfigError,oe as SERVICE_WRITER,yr as SKILL_INSTALL_EVENTS_FILE_REL,e as SKILL_STATE_TARGETS,ve as STARTER_FOLDERS,Ke as STARTER_FOLDER_FRONTMATTER_FILENAME,yi as STARTER_PACKS,T as STARTER_PACK_IDS,ft as STARTER_TEMPLATES,Qe as STATE_MANIFEST_FILENAME,Xi as STATE_SCHEMA_VERSION,a as SYSTEM_DOC_NAME,wr as SeedPrerequisiteError,le as SeedRootDirError,ua as ServerLockCollisionError,Lr as SingleFileNotAFileError,rr as SingleFileNotFoundError,Tr as SingleFileNotMarkdownError,I as StateManifestError,fe as TagIndex,si as USER_GLOBAL_BUNDLE_IDS,Tt as UiLockCollisionError,F as __getShowAllWalkStatsForTesting,Me as __resetShowAllWalkStatsForTesting,ra as acquireProcessLock,aa as acquireServerLock,bt as acquireUiLock,be as applyAgentMarkdownWrite,_i as applyExternalChange,Ie as applySeed,j as assertCompatibleStateManifest,or as assertGitAvailable,N as assertNeverDiskEvent,ai as attachAcpThreadSocket,nr as attachIdleShutdown,Jr as bootServer,dn as buildAndOpenSkill,vr as buildConfigYmlContent,Ct as buildExecResult,ei as buildOkMcpStdioCommand,On as buildSkillZip,ee as buildStarterFolderFrontmatterYaml,wt as buildWipTree,Xe as bundleSkillMdPath,m as canonicalProjectKey,Ae as classifyEvents,Pi as classifyFsPath,ln as clearAllEmbeddingsKeys,Nr as clearContributors,st as coercePackId,s as colorFromSeed,yt as commitUpstreamImport,kt as commitWip,Re as commitWipFromTree,Or as compareSemver,tt as composeEffectiveLinterConfig,z as composeFrontmatterSchemasConfig,Q as containsConflictMarkers,Un as contentHash,$t as contributorCount,Ne as countShadowObjects,V as countStaleAgentWipRefs,te as countWipRefs,Gn as createApiExtension,ri as createAssetServeMiddleware,G as createCollaborationHost,Ge as createContentFilter,vi as createContentFilterAsync,zr as createEmbeddingsSecretStore,An as createEphemeralProjectDir,C as createExternalChangeHandler,pn as createFileLogger,hi as createLiveDerivedIndexExtension,br as createMcpHttpHandler,Cr as createOsProbe,we as createPersistenceExtension,E as createServer,In as createServerObserverExtension,ne as createStreamingErrorWriter,Gi as createTestLogger,ar as describeStoredEmbeddingsKey,vn as detectClaudeDesktopPresence,Nn as detectGit,Oe as detectProjectShape,Vr as detectUserSkillHosts,Ar as discoverLockDirs,Wn as discoverMarkdownlintConfig,Ve as emitPreflightFailureSpan,vt as encodeDocName,Ot as encodeFolderRoute,Le as encodeSkillRoute,Ur as ensureProjectGit,er as ensureProjectSkillGitignore,ge as errorResponse,v as evictStaleTrackerEntries,b as extractHeadings,Fn as extractOkBinaryPath,se as extractWikiLinksFromMarkdown,Ht as fallbackPaths,nn as findEnclosingGitRoot,et as findEnclosingProjectRoot,y as findNativeMarkdownlintFile,hr as flushFileLogger,mi as formatAuthRejectionWire,Jn as formatContributors,Gr as formatContributorsFrom,Ce as formatPackRationale,f as gcCheckpointRefs,Hr as getCurrentMcpLogger,$n as getLocalDir,Zn as getLogFilePath,Ki as getLogger,wn as getLogsDir,fa as getMachineId,zi as getMeter,ur as getMetrics,wi as getTracer,Mr as handleCollabSocketError,dt as handleSpawnCursor,Jt as hasForwardingHeaders,he as hasGcLogLatch,r as iconFromClientName,Qt as incrementCollabSocketFilteredError,qn as incrementServerObserverFire,Dn as initContent,cn as initShadowRepo,Ri as initTelemetry,Gt as initToleranceTelemetryWriter,Ir as installPrettyZodErrors,Ui as installTestLoggers,sr as installUserSkill,Xr as isAllowedApiOrigin,O as isAllowedWorkspaceHostHeader,S as isConfigDoc,Xt as isHocuspocusAuthRejectionReason,_t as isKnownPackId,lt as isLinkIndexExcludedDoc,ti as isLoopbackAddress,Z as isManagedArtifactDoc,u as isOrphanMode,Pe as isPairedWriteOrigin,$ as isPathWithinDir,pa as isProcessAlive,R as isProjectRoot,oi as isRemoteAdmitted,it as isReservedForUserTree,Rn as isSelfWrite,mt as isSystemDoc,ii as isToleranceTelemetryEnabled,Yi as isValidLockPid,xe as lastKnownHash,Rr as listRescueCheckpoints,Y as listStarterPacks,Pt as loadCustomAgents,ye as loadPrincipal,da as lockFilePath,Bi as loggerFactory,Wi as logsCurrentPath,Ji as logsPreviousPath,Dr as makeLazyEmbeddingsKeyStore,ca as markServerLockDraining,pt as mountMcpAndApi,ji as normalizeFsPath,k as originGitHubHost,xn as packageVersionMajorMinor,ci as parseAuthRejectionWire,fr as parseGitVersion,Ze as parseHocuspocusAuthToken,ue as parseKeepaliveConnectionId,Ee as pathToDocName,De as planSeed,zt as prepareSingleFileOpen,Wt as processCommand,mr as processUsage,Pn as readAllTargets,Ut as readBundleDecision,zn as readOwnNativeRules,$i as readProcessLock,sa as readProcessLockDetailed,x as readProjectHeadState,jt as readProjectLocalSemanticConfig,na as readServerLock,pr as readServerPackageVersion,Fr as readSkillInstallStateSnapshot,Vn as readStateManifest,tn as readTargetRecordedAt,Xn as readTargetVersion,At as readUiLock,at as reconcile,an as recordContributor,tr as recordSkillInstallEvent,ae as registerAllTools,Fe as registerWrite,ia as releaseProcessLock,Zi as releaseServerLock,ze as releaseUiLock,U as removeLastKnownHash,kr as reportSkillInstall,Wr as resetMetrics,l as resolveBundleEnabled,Sn as resolveBundledSkillDir,En as resolveContentDir,ot as resolveCursorBinaryDefault,gt as resolveCursorSpawnInvocation,P as resolveEffectiveLinterConfig,dr as resolveEmbeddingsCredential,bn as resolveLockDir,je as resolveNativeConfigForDoc,Se as resolveNativeMarkdownlintConfig,me as resolvePack,jr as resolvePackageVersion,Ye as resolveRemoteAccess,_n as resolveSkillInstallReportSettings,d as resolveUiInfo,hn as restoreContributors,li as restoreLifecycleFromConflictsJson,Et as rewriteMarkdownLinksForDocumentRename,xt as rewriteWikiLinksForDocumentRename,Pr as runAuthReposSubprocess,en as runAuthStatusSubprocess,Dt as runCloneSubprocess,Yn as runDeviceFlowSubprocess,cr as runWithMcpLogger,Ft as safeContentPath,Bn as safeSubdir,ir as safetyCheckpoint,L as sanitizeClientName,Er as saveInMemoryCheckpoint,jn as saveVersion,A as seedBasenameIndex,lr as serializeError,bi as setActiveSpanAttributes,H as setupServerObservers,Bt as shadowGit,Li as shutdownTelemetry,Vi as spansCurrentPath,Hi as spansPreviousPath,J as spawnDetached,ht as splitMarkdownBlocks,re as startWatcher,Ue as streamingProblemEvent,_r as swapContributors,qe as teardownToleranceTelemetryWriter,gr as toBroadcasterKey,Oi as tracedAppendFileSync,Ni as tracedLinkSync,Ti as tracedMkdir,ki as tracedMkdirSync,Fi as tracedRename,Ei as tracedRenameSync,Mi as tracedRmSync,Ai as tracedRmdirSync,Di as tracedUnlinkSync,Ci as tracedWriteFile,Ii as tracedWriteFileSync,$r as trustSystemCertificates,Zt as untrackTrackedProjectSkillProjection,_e as updateLastKnownHash,ta as updateProcessLockPort,oa as updateServerLockPort,p as updateUiLockPort,Qn as validateAgentId,St as validateCloneInputs,Lt as validateSkillZip,la as waitForServerLockDrain,ce as withHiddenWindowsConsole,Si as withSpan,xi as withSpanSync,qr as writeBundleDecision,ni as writeMarkdownlintRule,It as writeRootGitignoreForNewRepo,g as writeStateManifest,sn as writeTargetVersion,We as writeTracker};
1
+ import{F as e,Fo as t,Ro as n,d as r,es as i,fs as a,js as o,l as s,ns as c,z as l,zo as u}from"./src-Xqdqp-3u.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Br as w,Bt as T,C as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ei as L,En as R,Er as z,Et as B,F as V,Fi as H,Fn as U,Ft as W,G,Gi as K,Gn as q,Gr as J,Gt as Y,H as X,Hi as Z,Hn as Q,Hr as $,Ht as ee,I as te,Ii as ne,In as re,It as ie,J as ae,Ji as oe,Jn as se,Jr as ce,Jt as le,K as ue,Ki as de,Kn as fe,Kr as pe,Kt as me,L as he,Li as ge,Ln as _e,Lt as ve,M as ye,Mi as be,Mn as xe,Mr as Se,Mt as Ce,N as we,Ni as Te,Nn as Ee,Nt as De,O as Oe,Oi as ke,On as Ae,Or as je,Ot as Me,P as Ne,Pi as Pe,Pn as Fe,Pt as Ie,Q as Le,Qi as Re,Qn as ze,Qr as Be,Qt as Ve,R as He,Ri as Ue,Rn as We,Rr as Ge,Rt as Ke,S as qe,Si as Je,Sn as Ye,Sr as Xe,St as Ze,T as Qe,Ti as $e,Tn as et,Tr as tt,Tt as nt,U as rt,Ui as it,Un as at,Ur as ot,Ut as st,V as ct,Vi as lt,Vn as ut,Vr as dt,Vt as ft,W as pt,Wi as mt,Wn as ht,Wr as gt,Wt as _t,X as vt,Xi as yt,Xn as bt,Xr as xt,Xt as St,Y as Ct,Yi as wt,Yn as Tt,Yr as Et,Yt as Dt,Z as Ot,Zi as kt,Zn as At,Zr as jt,Zt as Mt,_ as Nt,_a as Pt,_i as Ft,_n as It,_r as Lt,_t as Rt,a as zt,aa as Bt,ai as Vt,an as Ht,ar as Ut,at as Wt,b as Gt,ba as Kt,bi as qt,bn as Jt,br as Yt,bt as Xt,c as Zt,ca as Qt,ci as $t,cn as en,cr as tn,d as nn,da as rn,di as an,dn as on,dr as sn,ea as cn,ei as ln,en as un,er as dn,et as fn,f as pn,fa as mn,fi as hn,fn as gn,fr as _n,g as vn,ga as yn,gi as bn,gn as xn,gr as Sn,gt as Cn,h as wn,ha as Tn,hi as En,hn as Dn,hr as On,ht as kn,i as An,ia as jn,ii as Mn,in as Nn,ir as Pn,it as Fn,j as In,ji as Ln,jn as Rn,jr as zn,jt as Bn,k as Vn,ki as Hn,kn as Un,kr as Wn,kt as Gn,l as Kn,la as qn,li as Jn,ln as Yn,lr as Xn,m as Zn,ma as Qn,mi as $n,mn as er,mr as tr,mt as nr,n as rr,na as ir,ni as ar,nn as or,nr as sr,nt as cr,o as lr,oa as ur,oi as dr,on as fr,or as pr,ot as mr,p as hr,pa as gr,pi as _r,pn as vr,pr as yr,q as br,qi as xr,qn as Sr,qr as Cr,qt as wr,r as Tr,ra as Er,ri as Dr,rn as Or,rr as kr,rt as Ar,s as jr,sa as Mr,si as Nr,sn as Pr,sr as Fr,st as Ir,t as Lr,ta as Rr,ti as zr,tn as Br,tr as Vr,tt as Hr,u as Ur,ua as Wr,ui as Gr,un as Kr,ur as qr,v as Jr,va as Yr,vn as Xr,vr as Zr,vt as Qr,w as $r,wi as ei,wn as ti,wr as ni,wt as ri,x as ii,xi as ai,xn as oi,xr as si,xt as ci,y as li,ya as ui,yi as di,yn as fi,yr as pi,yt as mi,z as hi,zi as gi,zn as _i,zr as vi,zt as yi}from"./src-BxACkU3c.mjs";import{C as bi,E as xi,T as Si,_ as Ci,b as wi,c as Ti,d as Ei,g as Di,i as Oi,l as ki,m as Ai,n as ji,p as Mi,s as Ni,t as Pi,u as Fi,v as Ii,w as Li,x as Ri,y as zi}from"./fs-traced-g8Nfed1O.mjs";import{a as Bi,d as Vi,f as Hi,i as Ui,l as Wi,n as Gi,r as Ki,t as qi,u as Ji}from"./logger-BZPV1wv8.mjs";import{S as Yi,_ as Xi,a as Zi,c as Qi,f as $i,g as ea,h as ta,i as na,l as ra,m as ia,n as aa,o as oa,p as sa,r as ca,s as la,t as ua,u as da,v as fa,x as pa}from"./server-lock-CAxliK3N.mjs";export{rn as AGENT_ID_MAX_LEN,mn as AGENT_ID_RE,M as AGENT_WRITE_ORIGIN,Yr as AcpPermissionStore,Tn as AcpRegistry,Je as AcpThreadManager,qt as AgentFocusBroadcaster,di as AgentPresenceBroadcaster,ke as AgentSessionCapacityError,Hn as AgentSessionManager,kn as AutoStartDisabledError,Zr as BUNDLE_IDS,pi as BUNDLE_SCOPE,Yt as BUNDLE_SKILL_NAME,Sr as BacklinkIndex,gi as CC1Broadcaster,c as CC1_CONTRACT_VERSION,Kr as CONFIG_FILENAME,ut as CONFLICT_MARKER_RE,w as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Nt as ConfigSchema,K as DEFAULT_CHECKPOINT_RETENTION,Mn as DEFAULT_EMBEDDINGS_DIMENSIONS,W as DEFAULT_PACK_ID,ct as DocumentDurabilityState,Vt as EMBEDDINGS_API_KEY_ENV,yn as FEATURED_AGENT_IDS,de as FILE_SYSTEM_WRITER,q as FILE_WATCHER_ORIGIN,Be as FileEmbeddingsBackend,Mt as GIT_PREFLIGHT_FAIL_SPAN_NAME,xr as GIT_UPSTREAM_WRITER,ui as GitDirAccessError,h as GitNotAvailableError,un as GitTooOldError,Cn as HOCUSPOCUS_AUTH_REJECTION_REASONS,Rt as HocuspocusAuthRejection,Qr as HocuspocusAuthTokenSchema,pe as INSTALLED_AGENTS_SCHEMES,i as LINEAGE_EPOCH_KEY,He as LIVE_DERIVED_INDEX_DEBOUNCE_MS,ie as LOG_MD_TEMPLATE,nt as MANAGED_RENAME_ORIGIN,D as MAX_ACP_THREADS,_ as MAX_AGENT_SESSIONS,$e as MCP_CONNECTION_ID_HEADER,t as MCP_SERVER_NAME,Ln as MIN_EVICTABLE_IDLE_MS,Br as MIN_GIT_VERSION,X as MISSING_OK_CONFIG_MESSAGE,Kt as MalformedGitPointerError,fn as McpLogger,rt as MissingOkConfigError,Te as OBSERVER_SYNC_ORIGIN,on as OK_OKIGNORE_TEMPLATE,n as ORPHAN_MODES,o as PROTOCOL_VERSION,qi as PinoLogger,Qi as ProcessLockCollisionError,Kn as ProjectGitInitError,B as ROLLBACK_ORIGIN,gn as ROOT_GITIGNORE_TEMPLATE,ea as RUNTIME_VERSION,fi as RemoteConfigError,oe as SERVICE_WRITER,yr as SKILL_INSTALL_EVENTS_FILE_REL,e as SKILL_STATE_TARGETS,ve as STARTER_FOLDERS,Ke as STARTER_FOLDER_FRONTMATTER_FILENAME,yi as STARTER_PACKS,T as STARTER_PACK_IDS,ft as STARTER_TEMPLATES,Qe as STATE_MANIFEST_FILENAME,Xi as STATE_SCHEMA_VERSION,a as SYSTEM_DOC_NAME,wr as SeedPrerequisiteError,le as SeedRootDirError,ua as ServerLockCollisionError,Lr as SingleFileNotAFileError,rr as SingleFileNotFoundError,Tr as SingleFileNotMarkdownError,I as StateManifestError,fe as TagIndex,si as USER_GLOBAL_BUNDLE_IDS,Tt as UiLockCollisionError,F as __getShowAllWalkStatsForTesting,Me as __resetShowAllWalkStatsForTesting,ra as acquireProcessLock,aa as acquireServerLock,bt as acquireUiLock,be as applyAgentMarkdownWrite,_i as applyExternalChange,Ie as applySeed,j as assertCompatibleStateManifest,or as assertGitAvailable,N as assertNeverDiskEvent,ai as attachAcpThreadSocket,nr as attachIdleShutdown,Jr as bootServer,dn as buildAndOpenSkill,vr as buildConfigYmlContent,Ct as buildExecResult,ei as buildOkMcpStdioCommand,On as buildSkillZip,ee as buildStarterFolderFrontmatterYaml,wt as buildWipTree,Xe as bundleSkillMdPath,m as canonicalProjectKey,Ae as classifyEvents,Pi as classifyFsPath,ln as clearAllEmbeddingsKeys,Nr as clearContributors,st as coercePackId,s as colorFromSeed,yt as commitUpstreamImport,kt as commitWip,Re as commitWipFromTree,Or as compareSemver,tt as composeEffectiveLinterConfig,z as composeFrontmatterSchemasConfig,Q as containsConflictMarkers,Un as contentHash,$t as contributorCount,Ne as countShadowObjects,V as countStaleAgentWipRefs,te as countWipRefs,Gn as createApiExtension,ri as createAssetServeMiddleware,G as createCollaborationHost,Ge as createContentFilter,vi as createContentFilterAsync,zr as createEmbeddingsSecretStore,An as createEphemeralProjectDir,C as createExternalChangeHandler,pn as createFileLogger,hi as createLiveDerivedIndexExtension,br as createMcpHttpHandler,Cr as createOsProbe,we as createPersistenceExtension,E as createServer,In as createServerObserverExtension,ne as createStreamingErrorWriter,Gi as createTestLogger,ar as describeStoredEmbeddingsKey,vn as detectClaudeDesktopPresence,Nn as detectGit,Oe as detectProjectShape,Vr as detectUserSkillHosts,Ar as discoverLockDirs,Wn as discoverMarkdownlintConfig,Ve as emitPreflightFailureSpan,vt as encodeDocName,Ot as encodeFolderRoute,Le as encodeSkillRoute,Ur as ensureProjectGit,er as ensureProjectSkillGitignore,ge as errorResponse,v as evictStaleTrackerEntries,b as extractHeadings,Fn as extractOkBinaryPath,se as extractWikiLinksFromMarkdown,Ht as fallbackPaths,nn as findEnclosingGitRoot,et as findEnclosingProjectRoot,y as findNativeMarkdownlintFile,hr as flushFileLogger,mi as formatAuthRejectionWire,Jn as formatContributors,Gr as formatContributorsFrom,Ce as formatPackRationale,f as gcCheckpointRefs,Hr as getCurrentMcpLogger,$n as getLocalDir,Zn as getLogFilePath,Ki as getLogger,wn as getLogsDir,fa as getMachineId,zi as getMeter,ur as getMetrics,wi as getTracer,Mr as handleCollabSocketError,dt as handleSpawnCursor,Jt as hasForwardingHeaders,he as hasGcLogLatch,r as iconFromClientName,Qt as incrementCollabSocketFilteredError,qn as incrementServerObserverFire,Dn as initContent,cn as initShadowRepo,Ri as initTelemetry,Gt as initToleranceTelemetryWriter,Ir as installPrettyZodErrors,Ui as installTestLoggers,sr as installUserSkill,Xr as isAllowedApiOrigin,O as isAllowedWorkspaceHostHeader,S as isConfigDoc,Xt as isHocuspocusAuthRejectionReason,_t as isKnownPackId,lt as isLinkIndexExcludedDoc,ti as isLoopbackAddress,Z as isManagedArtifactDoc,u as isOrphanMode,Pe as isPairedWriteOrigin,$ as isPathWithinDir,pa as isProcessAlive,R as isProjectRoot,oi as isRemoteAdmitted,it as isReservedForUserTree,Rn as isSelfWrite,mt as isSystemDoc,ii as isToleranceTelemetryEnabled,Yi as isValidLockPid,xe as lastKnownHash,Rr as listRescueCheckpoints,Y as listStarterPacks,Pt as loadCustomAgents,ye as loadPrincipal,da as lockFilePath,Bi as loggerFactory,Wi as logsCurrentPath,Ji as logsPreviousPath,Dr as makeLazyEmbeddingsKeyStore,ca as markServerLockDraining,pt as mountMcpAndApi,ji as normalizeFsPath,k as originGitHubHost,xn as packageVersionMajorMinor,ci as parseAuthRejectionWire,fr as parseGitVersion,Ze as parseHocuspocusAuthToken,ue as parseKeepaliveConnectionId,Ee as pathToDocName,De as planSeed,zt as prepareSingleFileOpen,Wt as processCommand,mr as processUsage,Pn as readAllTargets,Ut as readBundleDecision,zn as readOwnNativeRules,$i as readProcessLock,sa as readProcessLockDetailed,x as readProjectHeadState,jt as readProjectLocalSemanticConfig,na as readServerLock,pr as readServerPackageVersion,Fr as readSkillInstallStateSnapshot,Vn as readStateManifest,tn as readTargetRecordedAt,Xn as readTargetVersion,At as readUiLock,at as reconcile,an as recordContributor,tr as recordSkillInstallEvent,ae as registerAllTools,Fe as registerWrite,ia as releaseProcessLock,Zi as releaseServerLock,ze as releaseUiLock,U as removeLastKnownHash,kr as reportSkillInstall,Wr as resetMetrics,l as resolveBundleEnabled,Sn as resolveBundledSkillDir,En as resolveContentDir,ot as resolveCursorBinaryDefault,gt as resolveCursorSpawnInvocation,P as resolveEffectiveLinterConfig,dr as resolveEmbeddingsCredential,bn as resolveLockDir,je as resolveNativeConfigForDoc,Se as resolveNativeMarkdownlintConfig,me as resolvePack,jr as resolvePackageVersion,Ye as resolveRemoteAccess,_n as resolveSkillInstallReportSettings,d as resolveUiInfo,hn as restoreContributors,li as restoreLifecycleFromConflictsJson,Et as rewriteMarkdownLinksForDocumentRename,xt as rewriteWikiLinksForDocumentRename,Pr as runAuthReposSubprocess,en as runAuthStatusSubprocess,Dt as runCloneSubprocess,Yn as runDeviceFlowSubprocess,cr as runWithMcpLogger,Ft as safeContentPath,Bn as safeSubdir,ir as safetyCheckpoint,L as sanitizeClientName,Er as saveInMemoryCheckpoint,jn as saveVersion,A as seedBasenameIndex,lr as serializeError,bi as setActiveSpanAttributes,H as setupServerObservers,Bt as shadowGit,Li as shutdownTelemetry,Vi as spansCurrentPath,Hi as spansPreviousPath,J as spawnDetached,ht as splitMarkdownBlocks,re as startWatcher,Ue as streamingProblemEvent,_r as swapContributors,qe as teardownToleranceTelemetryWriter,gr as toBroadcasterKey,Oi as tracedAppendFileSync,Ni as tracedLinkSync,Ti as tracedMkdir,ki as tracedMkdirSync,Fi as tracedRename,Ei as tracedRenameSync,Mi as tracedRmSync,Ai as tracedRmdirSync,Di as tracedUnlinkSync,Ci as tracedWriteFile,Ii as tracedWriteFileSync,$r as trustSystemCertificates,Zt as untrackTrackedProjectSkillProjection,_e as updateLastKnownHash,ta as updateProcessLockPort,oa as updateServerLockPort,p as updateUiLockPort,Qn as validateAgentId,St as validateCloneInputs,Lt as validateSkillZip,la as waitForServerLockDrain,ce as withHiddenWindowsConsole,Si as withSpan,xi as withSpanSync,qr as writeBundleDecision,ni as writeMarkdownlintRule,It as writeRootGitignoreForNewRepo,g as writeStateManifest,sn as writeTargetVersion,We as writeTracker};
@@ -1,4 +1,4 @@
1
- import{i as e,o as t,r as n,t as r}from"./chunk-DTipWd-i.mjs";import{A as i,B as a,Ct as o,Et as s,G as c,I as l,M as u,N as d,P as f,X as p,Y as m,_t as h,at as g,bt as _,dt as v,ft as y,gt as b,it as x,j as S,mt as C,nt as w,ot as T,pt as E,st as D,tt as O,u as ee,ut as te,vt as k,xt as ne,yt as A,z as re}from"./sleep-ByqzSHar.mjs";import{n as ie,t as ae}from"./markdownit-BNz2xGu4.mjs";import j from"node:path";import oe from"node:process";import{fileURLToPath as se}from"node:url";import{access as ce,accessSync as M,readFile as N,readFileSync as le}from"node:fs";import{EOL as ue,homedir as de}from"node:os";const fe=y({at:k(),transport:k(),outcome:k(),reference:k().optional(),error:k().optional()}),pe=y({reason:k(),at:k()});y({version:E().int().catch(1),id:k(),createdAt:k(),bundleLevel:k(),zipBytes:E().int().nonnegative().catch(0),zipDeleted:g().optional(),state:k(),systemWide:g().optional(),projectSlug:k().nullable().optional(),reference:k().optional(),lastError:pe.optional(),attempts:x(fe).optional(),note:k().optional()});const me=1,he={protocol:`x-ok-client-protocol`,runtime:`x-ok-client-runtime`,kind:`x-ok-client-kind`};function ge({kind:e,runtimeVersion:t}){return{[he.protocol]:`1`,[he.runtime]:t,[he.kind]:e}}const _e=[{name:`macos-home-path`,regex:/\/Users\/[^/]+\//g,replacement:`~/`},{name:`linux-home-path`,regex:/\/home\/[^/]+\//g,replacement:`~/`},{name:`github-pat`,regex:/\b(ghp_|gho_|ghu_|ghs_|ghr_)[A-Za-z0-9]{36,}\b/g,replacement:`[REDACTED-GH-PAT]`},{name:`aws-access-key`,regex:/\b(AKIA|ASIA|ABIA)[A-Z2-7]{16}\b/g,replacement:`[REDACTED-AWS-KEY]`},{name:`anthropic-key`,regex:/\bsk-ant-api03-[A-Za-z0-9_-]{20,}\b/g,replacement:`[REDACTED-ANTHROPIC]`},{name:`openai-key`,regex:/\bsk-[A-Za-z0-9]{20,}\b/g,replacement:`[REDACTED-OPENAI]`},{name:`bearer-token`,regex:/([Aa]uthorization:\s*[Bb]earer\s+)\S+/g,replacement:`$1[REDACTED]`},{name:`jwt`,regex:/eyJ[A-Za-z0-9_-]{8,}\.eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g,replacement:`[REDACTED-JWT]`},{name:`url-credentials`,regex:/:\/\/[^/\s:@]+:[^/\s:@]+@/g,replacement:`://[REDACTED]@`},{name:`github-pat-fine-grained`,regex:/\bgithub_pat_[0-9A-Za-z_]{20,}/g,replacement:`[REDACTED-GH-PAT]`},{name:`openai-key-modern`,regex:/\bsk-(?:proj|svcacct|admin|None)-[A-Za-z0-9_-]{20,}/g,replacement:`[REDACTED-OPENAI]`},{name:`slack-token`,regex:/\bxox[a-z]-[A-Za-z0-9-]{10,}/g,replacement:`[REDACTED-SLACK]`},{name:`google-api-key`,regex:/\bAIza[0-9A-Za-z_-]{35}/g,replacement:`[REDACTED-GOOGLE]`},{name:`stripe-secret-key`,regex:/\b(?:sk|rk)_live_[0-9A-Za-z]{16,}\b/g,replacement:`[REDACTED-STRIPE]`},{name:`gitlab-pat`,regex:/\bglpat-[0-9A-Za-z_-]{20,}/g,replacement:`[REDACTED-GITLAB]`},{name:`bearer-token-json`,regex:/("[Aa]uthorization"\s*:\s*"[Bb]earer\s+)[^"]+/g,replacement:`$1[REDACTED]`}],P=_e.map(e=>e.name);function ve(e){let t=new Set,n=0;return{redacted:e.split(`
1
+ import{i as e,o as t,r as n,t as r}from"./chunk-DTipWd-i.mjs";import{A as i,B as a,Ct as o,Et as s,G as c,I as l,M as u,N as d,P as f,X as p,Y as m,_t as h,at as g,bt as _,dt as v,ft as y,gt as b,it as x,j as S,mt as C,nt as w,ot as T,pt as E,st as D,tt as O,u as ee,ut as te,vt as k,xt as ne,yt as A,z as re}from"./sleep-ChnoPlNg.mjs";import{n as ie,t as ae}from"./markdownit-BNz2xGu4.mjs";import j from"node:path";import oe from"node:process";import{fileURLToPath as se}from"node:url";import{access as ce,accessSync as M,readFile as N,readFileSync as le}from"node:fs";import{EOL as ue,homedir as de}from"node:os";const fe=y({at:k(),transport:k(),outcome:k(),reference:k().optional(),error:k().optional()}),pe=y({reason:k(),at:k()});y({version:E().int().catch(1),id:k(),createdAt:k(),bundleLevel:k(),zipBytes:E().int().nonnegative().catch(0),zipDeleted:g().optional(),state:k(),systemWide:g().optional(),projectSlug:k().nullable().optional(),reference:k().optional(),lastError:pe.optional(),attempts:x(fe).optional(),note:k().optional()});const me=1,he={protocol:`x-ok-client-protocol`,runtime:`x-ok-client-runtime`,kind:`x-ok-client-kind`};function ge({kind:e,runtimeVersion:t}){return{[he.protocol]:`1`,[he.runtime]:t,[he.kind]:e}}const _e=[{name:`macos-home-path`,regex:/\/Users\/[^/]+\//g,replacement:`~/`},{name:`linux-home-path`,regex:/\/home\/[^/]+\//g,replacement:`~/`},{name:`github-pat`,regex:/\b(ghp_|gho_|ghu_|ghs_|ghr_)[A-Za-z0-9]{36,}\b/g,replacement:`[REDACTED-GH-PAT]`},{name:`aws-access-key`,regex:/\b(AKIA|ASIA|ABIA)[A-Z2-7]{16}\b/g,replacement:`[REDACTED-AWS-KEY]`},{name:`anthropic-key`,regex:/\bsk-ant-api03-[A-Za-z0-9_-]{20,}\b/g,replacement:`[REDACTED-ANTHROPIC]`},{name:`openai-key`,regex:/\bsk-[A-Za-z0-9]{20,}\b/g,replacement:`[REDACTED-OPENAI]`},{name:`bearer-token`,regex:/([Aa]uthorization:\s*[Bb]earer\s+)\S+/g,replacement:`$1[REDACTED]`},{name:`jwt`,regex:/eyJ[A-Za-z0-9_-]{8,}\.eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g,replacement:`[REDACTED-JWT]`},{name:`url-credentials`,regex:/:\/\/[^/\s:@]+:[^/\s:@]+@/g,replacement:`://[REDACTED]@`},{name:`github-pat-fine-grained`,regex:/\bgithub_pat_[0-9A-Za-z_]{20,}/g,replacement:`[REDACTED-GH-PAT]`},{name:`openai-key-modern`,regex:/\bsk-(?:proj|svcacct|admin|None)-[A-Za-z0-9_-]{20,}/g,replacement:`[REDACTED-OPENAI]`},{name:`slack-token`,regex:/\bxox[a-z]-[A-Za-z0-9-]{10,}/g,replacement:`[REDACTED-SLACK]`},{name:`google-api-key`,regex:/\bAIza[0-9A-Za-z_-]{35}/g,replacement:`[REDACTED-GOOGLE]`},{name:`stripe-secret-key`,regex:/\b(?:sk|rk)_live_[0-9A-Za-z]{16,}\b/g,replacement:`[REDACTED-STRIPE]`},{name:`gitlab-pat`,regex:/\bglpat-[0-9A-Za-z_-]{20,}/g,replacement:`[REDACTED-GITLAB]`},{name:`bearer-token-json`,regex:/("[Aa]uthorization"\s*:\s*"[Bb]earer\s+)[^"]+/g,replacement:`$1[REDACTED]`}],P=_e.map(e=>e.name);function ve(e){let t=new Set,n=0;return{redacted:e.split(`
2
2
  `).map(e=>{let r=e,i=!1;for(let{name:e,regex:n,replacement:a}of _e)n.lastIndex=0,n.test(r)&&(t.add(e),i=!0,n.lastIndex=0,r=r.replace(n,a));return i&&n++,r}).join(`
3
3
  `),patterns:[...t],lineCount:n}}function ye(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?xe(e.position):`start`in e||`end`in e?xe(e):`line`in e||`column`in e?be(e):``}function be(e){return Se(e&&e.line)+`:`+Se(e&&e.column)}function xe(e){return be(e&&e.start)+`-`+be(e&&e.end)}function Se(e){return e&&typeof e==`number`?e:1}var Ce=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=ye(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};Ce.prototype.file=``,Ce.prototype.name=``,Ce.prototype.reason=``,Ce.prototype.message=``,Ce.prototype.stack=``,Ce.prototype.column=void 0,Ce.prototype.line=void 0,Ce.prototype.ancestors=void 0,Ce.prototype.cause=void 0,Ce.prototype.fatal=void 0,Ce.prototype.place=void 0,Ce.prototype.ruleId=void 0,Ce.prototype.source=void 0;const we=new Set([`*`,`_`,"`",`~`,`\\`,`$`]),Te=/^={2,}/,Ee=/^<(?:[A-Za-z][A-Za-z0-9+.-]*:[^<>\s]*|[^\s<>@]+@[^\s<>]+)>/;function De(e,t){return Ee.test(e.slice(t,t+512))}function Oe(e,t){let n=e.lastIndexOf(`<`,t);return n<0||t-n>512?!1:Ee.exec(e.slice(n,t+1))?.[0].length===t+1-n}const ke=/^<\/?[A-Za-z][A-Za-z0-9-]*(?:\s[^>]*?)?\/?>/,Ae=/^!(?=\[)/,je=/^\[\^/,Me=/^\]\[[^\]]*\]/,Ne=/^\[\[[^\][|]*\|/,Pe=/^#[^\][|]*(?=\]\])/,Fe=/^\]\([^)]*\)/,Ie=/^(?:#{1,6}[ \t]+|>[ \t]?|(?:[-*+]|\d{1,9}[.)])[ \t]+(?:\[[ xX]\][ \t]+)?)/,Le=/^(?:`{3,}[^`\n]*|~{3,}[^\n]*)$/,Re=/^(?:(?:[-*_][ \t]*){3,}|=+[ \t]*|[|\-: \t]*-[|\-: \t]*)$/;function ze(e,t){let n=e.indexOf(`
4
4
  `,t),r=n===-1?e.length:n;if(r>t&&e[r-1]===`\r`&&--r,r-t>1024)return 0;let i=e.slice(t,r);return i.length===0||!Le.test(i)&&!Re.test(i)?0:i.length}function Be(e){return e===` `||e===` `||e===`
@@ -345,4 +345,4 @@ Read more at https://docs.orama.com/docs/orama-js/plugins/plugin-secure-proxy#pl
345
345
  `);if(!(t[0]??``).startsWith(`template:`))return null;let n=[t[0]??``],r=1;for(;r<t.length;){let e=t[r]??``;if(/^[ \t]/.test(e)){n.push(e),r++;continue}if(e.trim()===``){let i=r+1;for(;i<t.length&&(t[i]??``).trim()===``;)i++;if(i<t.length&&/^[ \t]/.test(t[i]??``)){n.push(e),r++;continue}}break}let i=a7(n.join(`
346
346
  `))[i7];return{identity:typeof i==`object`&&i&&!Array.isArray(i)?i:{},docFrontmatterText:t.slice(r).join(`
347
347
  `).replace(/\n+$/,``)}}function l7(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,{frontmatter:n,body:r}=Cm(t);if(n===``)return{identity:{},starterContent:t};let i=Tm(n),a=c7(i);if(a)return{identity:a.identity,starterContent:o7(a.docFrontmatterText,r)};let{frontmatter:o}=Cm(r);if(o!==``)return{identity:a7(i),starterContent:r};let s=a7(i);return typeof s.title==`string`?{identity:s,starterContent:r}:{identity:{},starterContent:o7(i,r)}}function u7(e,t){let{docFrontmatterText:n,markdown:r}=s7(t),i={};for(let[t,n]of Object.entries(e))n!==void 0&&(i[t]=n);let a=(0,Ye.stringify)({[i7]:i});return`---\n${n.trim()===``?a:`${a}${n}\n`}---\n${r}`}function d7(e){return l7(e).starterContent}const f7=`(agent thread)`;function p7(){let e=!1,t=``,n=0;return r=>{let i=m7(r);return e?(i&&i.char===t&&i.len>=n&&!i.hasInfo&&(e=!1,t=``,n=0),!0):i?(e=!0,t=i.char,n=i.len,!0):!1}}function m7(e){let t=(e.endsWith(`\r`)?e.slice(0,-1):e).match(/^ {0,3}([`~])(\1{2,})(.*)$/);return t?{char:t[1],len:1+t[2].length,hasInfo:t[3].trim()!==``}:null}const h7=/^(#{1,6})\s+(.+)$/;function g7(e,t){let n=(e.endsWith(`\r`)?e.slice(0,-1):e).match(h7);if(!n)return null;let r=n[2].trim(),i=KY(r,t);return i?{level:n[1].length,text:r,slug:i}:null}const _7=[`#D97757`,`#1B1912`,`#F9F3E9`,`#7A9DFF`,`#8534F3`,`#9663F0`,`#727CF3`],v7={claude:`#D97757`,cursor:`#1B1912`,windsurf:`#0B100F`,openai:`#7A9DFF`,github:`#8534F3`,cline:`#9663F0`,bot:`#727CF3`};function y7(e,t=_7){let n=0;for(let t of e)n=(n<<5)-n+t.charCodeAt(0)|0;return t[Math.abs(n)%t.length]}const b7={"claude-code":`claude`,"claude-ai":`claude`,cursor:`cursor`,"cursor-vscode":`cursor`,cascade:`windsurf`,codex:`openai`,"codex-mcp-client":`openai`,copilot:`github`,cline:`cline`};function x7(e){return e?b7[e]||(e.startsWith(`local-agent-mode-`)?`claude`:`bot`):`bot`}const S7={claude:`Claude`,cursor:`Cursor`,windsurf:`Windsurf`,openai:`Codex`,github:`Copilot`,cline:`Cline`};function C7(e){let t=e?.trim();return t?S7[x7(t)]??t:`Agent`}function w7(e,t){let n=e.trim();if(!n||/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(n)||n.startsWith(`//`)||n.startsWith(`#`))return null;let r=n.indexOf(`#`),i=r>=0?n.slice(0,r):n,a=r>=0?n.slice(r+1):null,o=(i.split(`?`)[0]??``).trim();if(!o)return null;let s=(o.split(`/`).pop()??``).match(/\.([a-z0-9]+)$/i);if(s){let e=(s[1]??``).toLowerCase();if(e!==`md`&&e!==`mdx`)return null}let c=o.toLowerCase(),l=c.endsWith(`.mdx`)?o.slice(0,-4):c.endsWith(`.md`)?o.slice(0,-3):o,u=l.startsWith(`/`),d=u?l.slice(1):l,f=u?[]:t.includes(`/`)?t.split(`/`).slice(0,-1):[];for(let e of d.split(`/`))if(e===`..`){if(f.length===0)return null;f.pop()}else e!==`.`&&e!==``&&f.push(e);return f.length===0?null:{docName:f.join(`/`),anchor:a||null}}const T7=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function E7(e){let t=(e.split(/[?#]/)[0]??e).match(/\.([a-z0-9]+)$/i);return t?(t[1]??``).toLowerCase():null}function D7(e){let t=e.trim();return T7.test(t)||t.startsWith(`//`)}function O7(e,t){let n=e.trim();if(!n)return null;if(n.startsWith(`#`)){let e=n.slice(1).trim();return e?{kind:`anchor`,anchor:e}:null}if(D7(n))return{kind:`external`,url:n};let r=n.indexOf(`#`),i=r<0?n:n.slice(0,r),a=ht(i,t);if(a)return{kind:`doc`,docName:a,anchor:r<0?null:n.slice(r+1)};let o=mt(i,t);if(o)return{kind:`doc`,docName:o,anchor:r<0?null:n.slice(r+1)};let s=w7(n,t);if(s)return{kind:`doc`,docName:s.docName,anchor:s.anchor};let c=E7(n);return c&&c!==`md`&&c!==`mdx`?{kind:`asset`,url:n,ext:c}:null}function k7(e,t){let n=e.trim();if(!n)return null;if(D7(n))return{kind:`external`,url:t?`${n}#${t}`:n};let r=E7(n);return r&&r!==`md`&&r!==`mdx`?{kind:`asset`,url:n,ext:r}:{kind:`doc`,docName:n,anchor:t?.trim()||null}}function A7(e,t){let n=e.trim();if(!n||T7.test(n)||n.startsWith(`//`)||n.startsWith(`#`))return null;let r=n.indexOf(`#`),i=((r>=0?n.slice(0,r):n).split(`?`)[0]??``).trim();if(!i)return null;let a=i.startsWith(`/`),o=a?i.slice(1):i,s=a?[]:t.includes(`/`)?t.split(`/`).slice(0,-1):[];for(let e of o.split(`/`))if(e===`..`){if(s.length===0)return null;s.pop()}else e!==`.`&&e!==``&&s.push(e);return s.length===0?null:s.join(`/`)}function j7(e){let t=e;return t.startsWith(`./`)&&(t=t.slice(2)),t.startsWith(`/`)&&(t=t.slice(1)),t}function M7(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function N7(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t)}function P7(e){return e.split(`/`).filter(e=>e!==``)}function F7(e,t){let n=N7(t);return e===``||n===e?!0:n.startsWith(`${e}/`)}function I7(e,t){let n=N7(t);if(e===n)return 0;let r=e===``?n:n.slice(e.length+1);return r===``?0:P7(r).length}function L7(e,t){let n=P7(e),r=P7(t),i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;return n.length-i+(r.length-i)}function R7(){let e=new Map;function t(t){let n=j7(t);if(n===``)return;let r=M7(n);if(r===``)return;let i=r.toLowerCase(),a=e.get(i);if(!a){e.set(i,[n]);return}a.includes(n)||a.push(n)}function n(t){let n=j7(t),r=M7(n).toLowerCase(),i=e.get(r);if(!i)return;let a=i.indexOf(n);a!==-1&&(i.splice(a,1),i.length===0&&e.delete(r))}function r(e,r){n(e),t(r)}function i(t,n){let r=t.toLowerCase(),i=e.get(r);if(!i||i.length===0)return null;if(i.length===1)return i[0];let a=N7(j7(n)),o=[],s=[];for(let e of i)F7(a,e)?o.push(e):s.push(e);return o.length>0?(e=>{let t=e[0],n=I7(a,t);for(let r=1;r<e.length;r++){let i=e[r],o=I7(a,i);(o<n||o===n&&i<t)&&(t=i,n=o)}return t})(o):(e=>{let t=e[0],n=L7(a,N7(t));for(let r=1;r<e.length;r++){let i=e[r],o=L7(a,N7(i));(o<n||o===n&&i<t)&&(t=i,n=o)}return t})(s)}function a(){let t=new Map;for(let[n,r]of e)t.set(n,[...r]);return t}function o(){e.clear()}return{add:t,remove:n,rename:r,resolveEmbed:i,clear:o,snapshot:a,size:()=>e.size}}function z7(e){if(!e)return[];let t=e.split(`/`),n=[],r=``;for(let e of t)r=r?`${r}/${e}`:e,n.push(r);return n}function B7(e,t){if(e.size===0)return new Set;if(t===``)return new Set(e);let n=new Set,r=`${t}/`;for(let i of e)(i===t||i.startsWith(r))&&n.add(i);return n}export{B2 as $,db as $a,lX as $i,d$ as $n,Dt as $o,WZ as $r,$$ as $t,R5 as A,PW as Aa,eZ as Ai,A$ as An,cn as Ao,AQ as Ar,ge as As,a0 as At,J8 as B,Vb as Ba,FX as Bi,n1 as Bn,Rt as Bo,nQ as Br,M1 as Bt,J5 as C,rY as Ca,iZ as Ci,P$ as Cn,F as Co,vQ as Cr,Xe as Cs,k0 as Ct,V5 as D,RW as Da,nZ as Di,D$ as Dn,en as Do,bQ as Dr,P as Ds,v0 as Dt,B5 as E,zW as Ea,qX as Ei,F$ as En,Xt as Eo,SQ as Er,Je as Es,y0 as Et,C5 as F,pH as Fa,DX as Fi,v$ as Fn,Ut as Fo,ZZ as Fr,G1 as Ft,Z2 as G,Jb as Ga,jX as Gi,i$ as Gn,kt as Go,eQ as Gr,S1 as Gt,g5 as H,Bb as Ha,vX as Hi,v1 as Hn,Bt as Ho,uQ as Hr,k1 as Ht,T5 as I,fH as Ia,yX as Ii,r1 as In,Wt as Io,lQ as Ir,W1 as It,q2 as J,Ub as Ja,BX as Ji,l$ as Jn,jt as Jo,KZ as Jr,C1 as Jt,Q2 as K,Kb as Ka,kX as Ki,n$ as Kn,It as Ko,QZ as Kr,T1 as Kt,O5 as L,qR as La,NX as Li,a1 as Ln,Gt as Lo,sQ as Lr,P1 as Lt,j5 as M,xW as Ma,ZX as Mi,c1 as Mn,Jt as Mo,OQ as Mr,l0 as Mt,M5 as N,BU as Na,VX as Ni,j$ as Nn,Kt as No,kQ as Nr,n0 as Nt,K5 as O,ZW as Oa,$X as Oi,O$ as On,sn as Oo,wQ as Or,ve as Os,u0 as Ot,S5 as P,TH as Pa,HX as Pi,M$ as Pn,qt as Po,XZ as Pr,r0 as Pt,V2 as Q,cb as Qa,sX as Qi,_$ as Qn,Nt as Qo,UZ as Qr,s$ as Qt,A5 as R,IP as Ra,bX as Ri,o1 as Rn,Vt as Ro,aQ as Rr,z1 as Rt,r7 as S,gY as Sa,aZ as Si,Z$ as Sn,ta as So,DQ as Sr,bt as Ss,j0 as St,Z5 as T,LW as Ta,mZ as Ti,L$ as Tn,tn as To,pQ as Tr,Ue as Ts,b0 as Tt,Q8 as U,Wb as Ua,MX as Ui,E$ as Un,Lt as Uo,tQ as Ur,A1 as Ut,K8 as V,qb as Va,RX as Vi,_1 as Vn,zt as Vo,cQ as Vr,j1 as Vt,J2 as W,zb as Wa,_X as Wi,S$ as Wn,Ot as Wo,$Z as Wr,D1 as Wt,z2 as X,Nb as Xa,gX as Xi,m$ as Xn,Mt as Xo,LZ as Xr,a$ as Xt,U2 as Y,Mb as Ya,pX as Yi,p$ as Yn,Ft as Yo,IZ as Yr,x1 as Yt,H2 as Z,Fb as Za,QY as Zi,g$ as Zn,Pt as Zo,RZ as Zr,o$ as Zt,d7 as _,pY as _a,CZ as _i,g1 as _n,zy as _o,gQ as _r,yt as _s,G0 as _t,k7 as a,IY as aa,jZ as ai,R$ as an,Ib as ao,$Q as ar,$e as as,N2 as at,e7 as b,sY as ba,sZ as bi,h1 as bn,Tm as bo,hQ as br,ft as bs,P0 as bt,v7 as c,DY as ca,MZ as ci,V$ as cn,Cb as co,XQ as cr,dt as cs,T2 as ct,x7 as d,MY as da,DZ as di,U$ as dn,tb as do,VQ as dr,ot as ds,g2 as dt,cX as ea,BZ as ei,y$ as en,ub as eo,f$ as er,Et as es,I2 as et,g7 as f,NY as fa,xZ as fi,W$ as fn,Zy as fo,HQ as fr,Ze as fs,_2 as ft,u7 as g,aY as ga,yZ as gi,w$ as gn,Uy as go,BQ as gr,lt as gs,U0 as gt,i7 as h,mY as ha,vZ as hi,i1 as hn,Ky as ho,zQ as hr,wt as hs,Z0 as ht,O7 as i,RY as ia,FZ as ii,N$ as in,bb as io,ZQ as ir,nt as is,L2 as it,z5 as j,FW as ja,QX as ji,s1 as jn,Yt as jo,jQ as jr,me as js,o0 as jt,H5 as k,UW as ka,tZ as ki,k$ as kn,Zt as ko,TQ as kr,he as ks,p0 as kt,y7 as l,xY as la,TZ as li,J$ as ln,Ab as lo,GQ as lr,it as ls,v2 as lt,f7 as m,lY as ma,wZ as mi,K$ as mn,Jy as mo,RQ as mr,st as ms,q0 as mt,B7 as n,BY as na,HZ as ni,p1 as nn,hb as no,x$ as nr,Qe as ns,P2 as nt,A7 as o,LY as oa,kZ as oi,z$ as on,Lb as oo,KQ as or,tt as os,j2 as ot,p7 as p,cY as pa,SZ as pi,G$ as pn,Yy as po,UQ as pr,ct as ps,m2 as pt,$2 as q,Gb as qa,zX as qi,h$ as qn,At as qo,GZ as qr,w1 as qt,R7 as r,zY as ra,NZ as ri,f1 as rn,vb as ro,t$ as rr,rt as rs,R2 as rt,w7 as s,wY as sa,OZ as si,B$ as sn,kb as so,qQ as sr,et as ss,A2 as st,z7 as t,WY as ta,zZ as ti,l1 as tn,gb as to,u$ as tr,Tt as ts,F2 as tt,C7 as u,CY as ua,EZ as ui,q$ as un,xb as uo,WQ as ur,at as us,w2 as ut,l7 as v,yY as va,_Z as vi,b1 as vn,wm as vo,_Q as vr,St as vs,I0 as vt,X5 as w,nY as wa,dZ as wi,I$ as wn,ln as wo,yQ as wr,qe as ws,x0 as wt,t7 as x,vY as xa,lZ as xi,e1 as xn,mf as xo,EQ as xr,ht as xs,w0 as xt,n7 as y,bY as ya,cZ as yi,Q$ as yn,Cm as yo,mQ as yr,_t as ys,L0 as yt,k5 as z,DN as za,PX as zi,t1 as zn,Ht as zo,rQ as zr,O1 as zt};
348
- //# sourceMappingURL=src-1Bl34H5k.mjs.map
348
+ //# sourceMappingURL=src-Xqdqp-3u.mjs.map
@@ -1,4 +1,4 @@
1
- import{$ as e,X as t}from"./src-1Bl34H5k.mjs";import{En as n,Jr as r,a as i,ri as a}from"./src-DnjBaD3J.mjs";import{S as o,x as s}from"./write-project-skill-DuGbv8Sv.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-7F7pDfk8.mjs";import{n as d}from"./constants-CDBkEzja.mjs";import{spawn as f}from"node:child_process";import{basename as p,join as m,posix as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,n={}){let i=(n.spawn??f)(e,[...t],r({detached:!0,stdio:`ignore`,env:E(n.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=m(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,m(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h.join(h.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(m(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function ae(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:r,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-DNT_I4SZ.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??r,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!n(r))throw new W(r);let t=process.env.OK_RECLAIM_DISABLE??null,i=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-DxtNHw8M.mjs`)).repairMcpConfigs)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-B6W8GS1I.mjs`)).repairLaunchJson)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-DfL4OHJC.mjs`)).repairSkills)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,r);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:r,spawn:e.spawn,args:n}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=a();{let e=S(E?D:r),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await _({config:t,contentDir:j,projectDir:E?D:r,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new o(`--ui-port must be a port number between 1 and 65535`);return t}function ue(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function $(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function de(e,t){let n=ue(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-CIK2GwPx.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
2
- `)));let p=V(t,process.env),m=H(p,l);m.coerced&&console.warn(`remote access is enabled and ${p} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${p} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let h=m.host,_=t.port===void 0?void 0:Number(t.port),v=process.env.PORT?Number(process.env.PORT):void 0,b=t.uiPort===void 0?void 0:Number(t.uiPort);l&&_===void 0&&v!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${f.remote?.port}). Pass --port to override deliberately.`);let x=q(_,v,b,l)??(l?f.remote?.port:void 0);if(b!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-DNT_I4SZ.mjs`);if(J(b,e(t(c)))){await X({cwd:c,uiPort:b});return}}let S=t.reactShellDistDir;if(l&&S===void 0){let e=import.meta.dirname??new URL(`.`,import.meta.url).pathname;S=[g(e,`public`),g(e,`../../app/dist`),g(e,`../../../app/dist`)].find(e=>y(e)),S===void 0&&console.warn(`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`)}let C;try{C=await se({config:f,cwd:c,host:h,port:x,...b===void 0?{}:{uiPort:b},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...S?{reactShellDistDir:S}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{},...l?{enableRemote:!0}:{}})}catch(e){e instanceof W&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-DNT_I4SZ.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(o(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),b!==void 0&&fe(e,t)){await X({cwd:c,uiPort:b});return}let n=pe(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let w=!1,T=async e=>{if(w)return;w=!0;let[t,...n]=$(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(C.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-DNT_I4SZ.mjs`);await Q({readUiLock:()=>n(C.lockDir),spawnedUiPid:()=>C.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await C.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{T(`SIGINT`)}),process.once(`SIGTERM`,()=>{T(`SIGTERM`)});let E=`http://${h}:${C.port}`,D=h===`0.0.0.0`||h===`::`?`http://0.0.0.0:${C.port}`:void 0,O=C.resolvedUiPort,k=O!==null&&O>0?`http://${h}:${O}`:E;console.log(r({name:`open-knowledge`,version:d,localUrl:k,apiUrl:k===E?void 0:E,networkUrl:D,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let A={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};C.ready.then(async()=>{if(C.degraded.length>0){console.log();for(let e of C.degraded){let t=A[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-CC2xnhE7.mjs`);e(k)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function fe(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function pe(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=m(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function me(e){return new s(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,le).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ce).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
1
+ import{$ as e,X as t}from"./src-Xqdqp-3u.mjs";import{En as n,Jr as r,a as i,ri as a}from"./src-BxACkU3c.mjs";import{S as o,x as s}from"./write-project-skill-C7EVY5xL.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-DnyVs1Kt.mjs";import{n as d}from"./constants-BSI73Ayf.mjs";import{spawn as f}from"node:child_process";import{basename as p,join as m,posix as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,n={}){let i=(n.spawn??f)(e,[...t],r({detached:!0,stdio:`ignore`,env:E(n.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=m(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,m(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h.join(h.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(m(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function ae(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:r,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-Dfodvsqg.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??r,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!n(r))throw new W(r);let t=process.env.OK_RECLAIM_DISABLE??null,i=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-Bk1NJXTE.mjs`)).repairMcpConfigs)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-CyF6Yobl.mjs`)).repairLaunchJson)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-iaAxRm65.mjs`)).repairSkills)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,r);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:r,spawn:e.spawn,args:n}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=a();{let e=S(E?D:r),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await _({config:t,contentDir:j,projectDir:E?D:r,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new o(`--ui-port must be a port number between 1 and 65535`);return t}function ue(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function $(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function de(e,t){let n=ue(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-CIK2GwPx.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
2
+ `)));let p=V(t,process.env),m=H(p,l);m.coerced&&console.warn(`remote access is enabled and ${p} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${p} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let h=m.host,_=t.port===void 0?void 0:Number(t.port),v=process.env.PORT?Number(process.env.PORT):void 0,b=t.uiPort===void 0?void 0:Number(t.uiPort);l&&_===void 0&&v!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${f.remote?.port}). Pass --port to override deliberately.`);let x=q(_,v,b,l)??(l?f.remote?.port:void 0);if(b!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-Dfodvsqg.mjs`);if(J(b,e(t(c)))){await X({cwd:c,uiPort:b});return}}let S=t.reactShellDistDir;if(l&&S===void 0){let e=import.meta.dirname??new URL(`.`,import.meta.url).pathname;S=[g(e,`public`),g(e,`../../app/dist`),g(e,`../../../app/dist`)].find(e=>y(e)),S===void 0&&console.warn(`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`)}let C;try{C=await se({config:f,cwd:c,host:h,port:x,...b===void 0?{}:{uiPort:b},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...S?{reactShellDistDir:S}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{},...l?{enableRemote:!0}:{}})}catch(e){e instanceof W&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-Dfodvsqg.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(o(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),b!==void 0&&fe(e,t)){await X({cwd:c,uiPort:b});return}let n=pe(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let w=!1,T=async e=>{if(w)return;w=!0;let[t,...n]=$(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(C.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-Dfodvsqg.mjs`);await Q({readUiLock:()=>n(C.lockDir),spawnedUiPid:()=>C.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await C.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{T(`SIGINT`)}),process.once(`SIGTERM`,()=>{T(`SIGTERM`)});let E=`http://${h}:${C.port}`,D=h===`0.0.0.0`||h===`::`?`http://0.0.0.0:${C.port}`:void 0,O=C.resolvedUiPort,k=O!==null&&O>0?`http://${h}:${O}`:E;console.log(r({name:`open-knowledge`,version:d,localUrl:k,apiUrl:k===E?void 0:E,networkUrl:D,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let A={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};C.ready.then(async()=>{if(C.degraded.length>0){console.log();for(let e of C.degraded){let t=A[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-BisNZFSC.mjs`);e(k)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function fe(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function pe(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=m(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function me(e){return new s(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,le).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ce).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
3
3
  `),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=I(A());if(n.available){L({spawn:f},n);return}console.error(R(n.reason)),process.exit(1)}await de(n,t)})}export{B as C,D,L as E,ae as S,I as T,K as _,H as a,pe as b,G as c,fe as d,q as f,J as g,de as h,oe as i,U as l,ue as m,Z as n,Y as o,V as p,se as r,X as s,W as t,$ as u,me as v,A as w,ie as x,Q as y};
4
- //# sourceMappingURL=start-BrQCfSmu.mjs.map
4
+ //# sourceMappingURL=start-B8YAUXgo.mjs.map
@@ -0,0 +1 @@
1
+ import{p as e,r as t,v as n}from"./start-B8YAUXgo.mjs";export{t as bootStartServer,e as resolveHost,n as startCommand};
@@ -1,4 +1,4 @@
1
- import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{Fo as r,Go as i,Wo as a,Yo as o}from"./src-1Bl34H5k.mjs";import{Ir as s,gr as c}from"./src-DnjBaD3J.mjs";import{basename as l,dirname as u,isAbsolute as d,join as f,posix as p,relative as m,resolve as h,sep as g,win32 as _}from"node:path";import{cpSync as ee,existsSync as v,lstatSync as te,mkdirSync as ne,readFileSync as re,realpathSync as y,rmSync as b,statSync as x}from"node:fs";import{homedir as S}from"node:os";var C=n((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),w=n((e=>{let{InvalidArgumentError:t}=C();var n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),T=n((e=>{let{humanReadableArgName:t}=w();var n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
1
+ import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{Fo as r,Go as i,Wo as a,Yo as o}from"./src-Xqdqp-3u.mjs";import{Ir as s,gr as c}from"./src-BxACkU3c.mjs";import{basename as l,dirname as u,isAbsolute as d,join as f,posix as p,relative as m,resolve as h,sep as g,win32 as _}from"node:path";import{cpSync as ee,existsSync as v,lstatSync as te,mkdirSync as ne,readFileSync as re,realpathSync as y,rmSync as b,statSync as x}from"node:fs";import{homedir as S}from"node:os";var C=n((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),w=n((e=>{let{InvalidArgumentError:t}=C();var n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),T=n((e=>{let{humanReadableArgName:t}=w();var n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
2
2
  `)}displayWidth(e){return r(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).join(` `)}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).join(` `)}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
3
3
  `+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
4
4
  `)}};function r(e){return e.replace(/\x1b\[\d*(;\d*)*m/g,``)}e.Help=n,e.stripColor=r})),E=n((e=>{let{InvalidArgumentError:t}=C();var n=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=a(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?i(this.name().replace(/^no-/,``)):i(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},r=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r===void 0?!1:r;return t.negate===(i===e)}};function i(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function a(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
@@ -53,4 +53,4 @@ foreach ($d in $dirs) {
53
53
  }
54
54
  [Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
55
55
  exit 127`,P=`// ok-pi-bridge`,F=`${P}-v1`,I=`ok-pi-managed-extension`;function L(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.command===`/bin/sh`){if(!Array.isArray(t.args)||t.args[0]!==`-l`||t.args[1]!==`-c`)return!1;let e=t.args[2];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command===`powershell`){if(!Array.isArray(t.args)||t.args[0]!==`-NoProfile`||t.args[1]!==`-NonInteractive`||t.args[2]!==`-Command`)return!1;let e=t.args[3];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}if(t.type===`local`&&Array.isArray(t.command)){if(t.command[0]===`/bin/sh`){if(t.command[1]!==`-l`||t.command[2]!==`-c`)return!1;let e=t.command[3];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command[0]===`powershell`){if(t.command[1]!==`-NoProfile`||t.command[2]!==`-NonInteractive`||t.command[3]!==`-Command`)return!1;let e=t.command[4];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}return!1}if(t.command===`ok-pi-managed-extension`){if(!Array.isArray(t.args))return!1;let e=t.args[0];return typeof e==`string`&&e.startsWith(F)}return!1}function R(e=process.argv[1]){if(!e)throw Error(`Cannot infer the local CLI entry for --dev-mcp because process.argv[1] is empty.`);let t=h(e);if(l(t)===`cli.mjs`&&l(u(t))===`dist`)return t;let n=t.split(g),r=n.lastIndexOf(`packages`);if(r===-1||n[r+1]!==`cli`)throw Error(`Cannot infer the repo root for --dev-mcp from ${t}. Run the local CLI from this repo so the built dist path can be derived.`);let i=n.slice(0,r);return f(i.length===0?g:i.join(g),`packages`,`cli`,`dist`,`cli.mjs`)}function z(e={}){return e.mode===`dev`?{command:A,args:[R(),`mcp`],env:{...j}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,N]}:{command:`/bin/sh`,args:[`-l`,`-c`,M]}}function _e(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[A,R(),`mcp`],environment:{...j}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,N]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,M]}}function ve(e){if(typeof e!=`object`||!e)return!1;let t=e;return B(t,z({mode:`published`,platformName:`darwin`}))||B(t,z({mode:`published`,platformName:`win32`}))}function B(e,t){return Object.keys(e).length===Object.keys(t).length?ye(e,t):!1}function ye(e,t){if(e.command!==t.command)return!1;let n=t.args;return!Array.isArray(n)||!Array.isArray(e.args)||e.args.length!==n.length?!1:e.args.every((e,t)=>e===n[t])}function V(e,t){let n=e=>typeof e==`string`&&e.includes(`# ok-mcp`);return t===`/bin/sh`?e[0]===`-l`&&e[1]===`-c`&&n(e[2]):t===`powershell`?e[0]===`-NoProfile`&&e[1]===`-NonInteractive`&&e[2]===`-Command`&&n(e[3]):!1}function be(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.enabled===!1||typeof t.command!=`string`||!Array.isArray(t.args)?!1:V(t.args,t.command)}function xe(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.type!==`local`||t.enabled===!1||!Array.isArray(t.command))return!1;let[n,...r]=t.command;return typeof n==`string`&&V(r,n)}function H(e){return e===`win32`?_:p}function Se(e={}){let t=e.platformName??process.platform,n=e.home??S(),r=e.env??process.env,i=H(t);return t===`darwin`?i.join(n,`Library`,`Application Support`):t===`win32`?r.APPDATA??i.join(n,`AppData`,`Roaming`):r.XDG_CONFIG_HOME??i.join(n,`.config`)}function Ce(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.claude.json`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??S(),r=e.env??process.env;if(t===`darwin`)return p.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??_.join(n,`AppData`,`Roaming`);return _.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function W(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.cursor`,`mcp.json`)}function we(e={}){let t=e.platformName??process.platform,n=e.home??S();return(e.env??process.env).CODEX_HOME??H(t).join(n,`.codex`)}function G(e={}){return H(e.platformName??process.platform).join(we(e),`config.toml`)}function K(e={}){let t=e.platformName??process.platform,n=e.home??S(),r=(e.env??process.env).COPILOT_HOME??H(t).join(n,`.copilot`);return H(t).join(r,`mcp-config.json`)}function Te(e={}){let t=e.platformName??process.platform,n=e.home??S(),r=e.env??process.env,i=H(t);if(t===`win32`){let e=r.APPDATA??i.join(n,`AppData`,`Roaming`);return i.join(e,`opencode`)}let a=r.XDG_CONFIG_HOME??i.join(n,`.config`);return i.join(a,`opencode`)}function q(e={}){return H(e.platformName??process.platform).join(Te(e),`opencode.json`)}function Ee(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.openclaw`,`openclaw.json`)}function De(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.hermes`,`config.yaml`)}function Oe(e={}){let t=e.platformName??process.platform,n=e.home??S();return(e.env??process.env).PI_CODING_AGENT_DIR??H(t).join(n,`.pi`,`agent`)}function ke(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function Ae(e,t){let n=H(t),r=n.join(e,`.lmstudio`,`mcp.json`),i=n.join(e,`.cache`,`lm-studio`,`mcp.json`);return t===`darwin`?[i,r]:[r,i]}function J(e={}){let t=e.platformName??process.platform,n=Ae(e.home??S(),t);return n.find(e=>v(e))||n.find(e=>v(u(e)))||n[0]}function je(e){let t=e.serverName(``);return e.format===`toml`?`[${e.topLevelKey}.${t}]`:[e.topLevelKey,e.serverMapSubKey,t].filter(Boolean).join(`.`)}function Me(e,t){let n;try{n=e.configPath(``,t)}catch{return null}return n.startsWith(`${t}/`)?`~${n.slice(t.length)}`:n}const Y={claude:{id:`claude`,label:k.claude,configPath:(e,t)=>Ce({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.claude`),projectConfigPath:e=>f(e,`.mcp.json`),projectSkillPath:e=>f(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:k[`claude-desktop`],configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(U({home:t}))},cursor:{id:`cursor`,label:k.cursor,configPath:(e,t)=>W({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(W({home:t})),projectConfigPath:e=>f(e,`.cursor`,`mcp.json`),projectSkillPath:e=>f(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:k.codex,configPath:(e,t)=>G({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(G({home:t})),projectConfigPath:e=>f(e,`.codex`,`config.toml`),projectSkillPath:e=>f(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:k.copilot,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(K({home:t})),projectSkillPath:e=>f(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:k.opencode,configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>r,buildEntry:(e,t)=>_e(t),scope:`global`,detectPath:(e,t)=>u(q({home:t})),projectConfigPath:e=>f(e,`opencode.json`),projectSkillPath:e=>f(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:k.openclaw,configPath:(e,t)=>Ee({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.openclaw`),offerOnlyWhenDetected:!0},pi:{id:`pi`,label:k.pi,configPath:()=>{throw Error("Pi has no user-global MCP config; OK's integration is the project-scoped bridge extension at .pi/extensions/open-knowledge.ts (run `ok init` in the project).")},format:`file`,topLevelKey:`mcpServers`,serverName:()=>r,buildEntry:()=>{throw Error(`Pi has no MCP entry shape; the managed bridge file is built by buildPiExtensionSource (integrations/pi-extension.ts).`)},scope:`project`,detectPath:(e,t)=>Oe({home:t}),projectConfigPath:e=>f(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>f(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:k.antigravity,configPath:(e,t)=>ke({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:k[`lm-studio`],configPath:(e,t)=>J({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(J({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:k.hermes,configPath:(e,t)=>De({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.hermes`),offerOnlyWhenDetected:!0}};function Ne(e){let t=e.filter(e=>!Object.hasOwn(Y,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${O.join(`, `)}`);return e.map(e=>Y[e])}function X(e,t){let n;try{n=te(e)}catch(e){if(e.code!==`ENOENT`)throw e}if(n?.isSymbolicLink())throw Error(`Refusing to write through a symbolic link at ${e}. Remove the symlink and re-run project setup.`);Q(e,t)}function Z(e,t){Q(e,t)}function Q(e,t){let n;try{n=y(t)}catch{n=h(t)}let r=u(e);for(;r.length>1&&r!==g;){let t;try{t=y(r)}catch(e){if(e.code===`ENOENT`){r=u(r);continue}throw e}let i=m(n,t);if(i===``||!i.startsWith(`..`)&&!d(i))return;throw Error(`Refusing to write at ${e}: ancestor ${r} resolves to ${t}, which is outside the project directory ${n}. A symbolic link in the path likely escapes the project. Remove the symlink and re-run project setup.`)}}function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Pe(e,t,n){try{if(x(n).size>10485760)return!1}catch{return!1}let r;try{r=re(n,`utf-8`)}catch{return!1}let i=[],a=s(r.charCodeAt(0)===65279?r.slice(1):r,i,{allowTrailingComma:!0,disallowComments:!1});if(i.length>0||!$(a))return!1;let o=a[e.topLevelKey];if(!$(o))return!1;let c=e.serverMapSubKey?o[e.serverMapSubKey]:o;return $(c)?$(c[e.serverName(t)]):!1}function Fe(e,t,n={}){if(e.id!==`copilot`)return!0;try{return Pe(e,t,e.configPath(t,n.home))}catch{return!1}}function Ie(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Fe(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=c(`project`,{checkDesktop:!0}),i=u(r);X(i,t);let a=v(r)?`overwritten`:`written`;return b(i,{recursive:!0,force:!0}),ne(u(i),{recursive:!0}),ee(n,i,{recursive:!0}),{editorId:e.id,label:e.label,action:a,path:r}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}function Le(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=u(n);return v(n)?(Z(r,t),b(r,{recursive:!0,force:!0}),{editorId:e.id,label:e.label,action:`removed`,path:n}):{editorId:e.id,label:e.label,action:`not-present`,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{me as C,D as S,ve as _,O as a,Ne as b,ge as c,I as d,z as f,L as g,be as h,Ie as i,P as l,je as m,Z as n,k as o,Me as p,Le as r,Y as s,X as t,F as u,xe as v,fe as x,Se as y};
56
- //# sourceMappingURL=write-project-skill-DuGbv8Sv.mjs.map
56
+ //# sourceMappingURL=write-project-skill-C7EVY5xL.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.49.0-beta.14",
3
+ "version": "0.49.0-beta.16",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "private": false,
6
6
  "type": "module",
@@ -61,10 +61,10 @@
61
61
  "ajv-formats": "^3.0.1",
62
62
  "tsdown": "^0.21.7",
63
63
  "typescript": "^5.9.3",
64
- "@inkeep/open-knowledge-core": "0.49.0-beta.14",
64
+ "@inkeep/open-knowledge-app": "0.49.0-beta.16",
65
+ "@inkeep/open-knowledge-core": "0.49.0-beta.16",
65
66
  "@inkeep/open-knowledge-native-config": "0.0.0",
66
- "@inkeep/open-knowledge-server": "0.49.0-beta.14",
67
- "@inkeep/open-knowledge-app": "0.49.0-beta.14"
67
+ "@inkeep/open-knowledge-server": "0.49.0-beta.16"
68
68
  },
69
69
  "scripts": {
70
70
  "build:cli": "tsdown",
@@ -1,2 +0,0 @@
1
- import"./src-1Bl34H5k.mjs";var e=`0.49.0-beta.14`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-CDBkEzja.mjs.map
@@ -1 +0,0 @@
1
- import{_ as e,c as t}from"./fs-traced-Cq61rC8q.mjs";export{t as tracedMkdir,e as tracedWriteFile};
@@ -1 +0,0 @@
1
- import{r as e}from"./git-handle-3e6ruSEO.mjs";export{e as createGitInstance};
@@ -1 +0,0 @@
1
- import{g as e}from"./init-BcJW1pN_.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-Bi_cGpOE.mjs";export{e as loadConfig};
@@ -1,2 +0,0 @@
1
- import{Fa as e,go as t,xo as n}from"./src-1Bl34H5k.mjs";const r=new e({extensions:t,deriveStructuralFreshness:!0}),i=n(t);export{i as n,r as t};
2
- //# sourceMappingURL=md-manager-DTsQm4IH.mjs.map
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-CkFbXsn7.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{t as n}from"./react-f2sANaYj.js";import{n as r,r as i}from"./dist-Nvb76hAm.js";import{t as a}from"./compiler-runtime-BfE3aGVn.js";import{t as o}from"./button-RQ5o7P7w.js";import{n as s,r as c,t as l}from"./collapsible-OhEmjTXw.js";import{t as u}from"./createLucideIcon-BbgVV4EV.js";import{t as d}from"./chevron-down-CRb8csep.js";import{t as f}from"./folder-open-ee990ToL.js";import{t as p}from"./loader-circle-DIKwidm8.js";import{t as m}from"./trash-2-KA5Op5VO.js";import{t as h}from"./badge-CBU6CQBJ.js";var g=u(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),_=a(),v=e(n(),1),y=t();function b(e){return e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${Math.max(1,Math.round(e/1024))} KB`:`${e} B`}function x(){let e=(0,_.c)(13),[t,n]=(0,v.useState)(`loading`),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],e[0]=r):r=e[0];let[i,a]=(0,v.useState)(r),o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={},e[1]=o):o=e[1];let[s,c]=(0,v.useState)(o),l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=async function(){let e=window.okDesktop?.bugReport;if(!e){n(`error`);return}try{let t=await e.list();t.ok?(a(t.reports),n(`ready`)):n(`error`)}catch{n(`error`)}},e[2]=l):l=e[2];let u=l,d,f;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>{u()},f=[],e[3]=d,e[4]=f):(d=e[3],f=e[4]),(0,v.useEffect)(d,f);let p;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=function(e){c(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n})},e[5]=p):p=e[5];let m=p,h;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=async function(e){let t=window.okDesktop?.bugReport;if(!t||!e.retryable)return;c(t=>({...t,[e.id]:`retrying`}));let n=await t.send({zipPath:e.zipPath,metadata:{level:e.bundleLevel===`unknown`?`standard`:e.bundleLevel,systemWide:e.systemWide,projectSlug:e.projectSlug}}).catch(C);n&&!n.ok&&n.reason===`email-draft`&&window.okDesktop?.shell.openExternal(n.fallback.mailtoUrl),await u(),m(e.id)},e[6]=h):h=e[6];let g=h,y;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=async function(e){let t=window.okDesktop?.bugReport;t&&(c(t=>({...t,[e.id]:`deleting`})),await t.delete(e.id).catch(S),await u(),m(e.id))},e[7]=y):y=e[7];let b=y,x;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=function(e){window.okDesktop?.shell.showItemInFolder(e.zipPath)},e[8]=x):x=e[8];let w=x,T;return e[9]!==s||e[10]!==i||e[11]!==t?(T={status:t,reports:i,pending:s,retry:g,remove:b,reveal:w},e[9]=s,e[10]=i,e[11]=t,e[12]=T):T=e[12],T}function S(){}function C(){return null}function w(e){let t=(0,_.c)(6),{state:n}=e;switch(n){case`sent`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(h,{variant:`primary`,children:(0,y.jsx)(r,{id:`h69WC6`})}),t[0]=e):e=t[0],e}case`upload-failed`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(h,{variant:`destructive`,children:(0,y.jsx)(r,{id:`7Bj3x9`})}),t[1]=e):e=t[1],e}case`uploading`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(h,{variant:`warning`,children:(0,y.jsx)(r,{id:`9bG48P`})}),t[2]=e):e=t[2],e}case`email-drafted`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(h,{variant:`secondary`,children:(0,y.jsx)(r,{id:`cPAWbl`})}),t[3]=e):e=t[3],e}case`generated`:{let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(h,{variant:`gray`,children:(0,y.jsx)(r,{id:`2C-6zf`})}),t[4]=e):e=t[4],e}default:{let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(h,{variant:`outline`,children:(0,y.jsx)(r,{id:`Ef7StM`})}),t[5]=e):e=t[5],e}}}function T(e){let t=(0,_.c)(50),{row:n,pending:a,onRetry:s,onReveal:c,onDelete:l}=e,{_:u}=i(),d=a!==void 0,v;t[0]!==u||t[1]!==n.createdAt?(v=n.createdAt===``?u({id:`wF2wqQ`}):new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(n.createdAt)),t[0]=u,t[1]=n.createdAt,t[2]=v):v=t[2];let x=v,S;t[3]===n.state?S=t[4]:(S=(0,y.jsx)(w,{state:n.state}),t[3]=n.state,t[4]=S);let C;t[5]===n.bundleLevel?C=t[6]:(C=n.bundleLevel===`unknown`?null:(0,y.jsx)(h,{variant:`gray`,children:n.bundleLevel}),t[5]=n.bundleLevel,t[6]=C);let T;t[7]===x?T=t[8]:(T=(0,y.jsx)(`span`,{className:`truncate text-1sm text-muted-foreground`,children:x}),t[7]=x,t[8]=T);let E;t[9]!==S||t[10]!==C||t[11]!==T?(E=(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[S,C,T]}),t[9]=S,t[10]=C,t[11]=T,t[12]=E):E=t[12];let D;t[13]!==n.lastError||t[14]!==n.reference||t[15]!==n.state||t[16]!==n.zipBytes?(D=(0,y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n.state===`sent`&&n.reference!==void 0?(0,y.jsx)(r,{id:`SInSnF`,values:{0:n.reference},components:{0:(0,y.jsx)(`span`,{className:`font-mono text-foreground`})}}):n.state===`upload-failed`&&n.lastError!==void 0?(0,y.jsx)(`span`,{className:`text-destructive`,children:n.lastError.reason}):(0,y.jsx)(`span`,{children:b(n.zipBytes)})}),t[13]=n.lastError,t[14]=n.reference,t[15]=n.state,t[16]=n.zipBytes,t[17]=D):D=t[17];let O;t[18]!==E||t[19]!==D?(O=(0,y.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[E,D]}),t[18]=E,t[19]=D,t[20]=O):O=t[20];let k;t[21]!==d||t[22]!==s||t[23]!==a||t[24]!==n?(k=n.retryable?(0,y.jsxs)(o,{variant:`outline`,size:`xs`,disabled:d,onClick:()=>s(n),children:[a===`retrying`?(0,y.jsx)(p,{className:`animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}):(0,y.jsx)(g,{"aria-hidden":`true`}),(0,y.jsx)(r,{id:`6gRgw8`})]}):null,t[21]=d,t[22]=s,t[23]=a,t[24]=n,t[25]=k):k=t[25];let A;t[26]!==u||t[27]!==d||t[28]!==c||t[29]!==n?(A=n.zipExists?(0,y.jsx)(o,{variant:`ghost`,size:`icon-xs`,disabled:d,"aria-label":u({id:`LtSYdi`}),onClick:()=>c(n),children:(0,y.jsx)(f,{"aria-hidden":`true`})}):null,t[26]=u,t[27]=d,t[28]=c,t[29]=n,t[30]=A):A=t[30];let j;t[31]===u?j=t[32]:(j=u({id:`rUWrSE`}),t[31]=u,t[32]=j);let M;t[33]!==l||t[34]!==n?(M=()=>l(n),t[33]=l,t[34]=n,t[35]=M):M=t[35];let N;t[36]===a?N=t[37]:(N=a===`deleting`?(0,y.jsx)(p,{className:`animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}):(0,y.jsx)(m,{"aria-hidden":`true`}),t[36]=a,t[37]=N);let P;t[38]!==d||t[39]!==j||t[40]!==M||t[41]!==N?(P=(0,y.jsx)(o,{variant:`ghost`,size:`icon-xs`,disabled:d,"aria-label":j,onClick:M,children:N}),t[38]=d,t[39]=j,t[40]=M,t[41]=N,t[42]=P):P=t[42];let F;t[43]!==P||t[44]!==k||t[45]!==A?(F=(0,y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[k,A,P]}),t[43]=P,t[44]=k,t[45]=A,t[46]=F):F=t[46];let I;return t[47]!==F||t[48]!==O?(I=(0,y.jsxs)(`div`,{className:`flex items-start gap-2.5 rounded-md border px-3 py-2.5`,children:[O,F]}),t[47]=F,t[48]=O,t[49]=I):I=t[49],I}function E(e){let t=(0,_.c)(13),{reports:n,pending:r,retry:i,remove:a,reveal:o}=e,s;if(t[0]!==r||t[1]!==a||t[2]!==n||t[3]!==i||t[4]!==o){let e;t[6]!==r||t[7]!==a||t[8]!==i||t[9]!==o?(e=e=>(0,y.jsx)(T,{row:e,pending:r[e.id],onRetry:i,onReveal:o,onDelete:a},e.id),t[6]=r,t[7]=a,t[8]=i,t[9]=o,t[10]=e):e=t[10],s=n.map(e),t[0]=r,t[1]=a,t[2]=n,t[3]=i,t[4]=o,t[5]=s}else s=t[5];let c;return t[11]===s?c=t[12]:(c=(0,y.jsx)(`div`,{className:`flex flex-col gap-2`,children:s}),t[11]=s,t[12]=c),c}function D(e){let t=(0,_.c)(9),{onReportABug:n}=e,i=x();if(i.status===`loading`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2.5 py-6 text-sm text-muted-foreground`,children:[(0,y.jsx)(p,{className:`size-4 animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}),(0,y.jsx)(r,{id:`VmJT51`})]}),t[0]=e):e=t[0],e}if(i.status===`error`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(`p`,{className:`py-6 text-sm text-muted-foreground`,children:(0,y.jsx)(r,{id:`FgQ7XZ`})}),t[1]=e):e=t[1],e}if(i.reports.length===0){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:(0,y.jsx)(r,{id:`wcfO9r`})}),t[2]=e):e=t[2];let i;t[3]===n?i=t[4]:(i=n?(0,y.jsx)(o,{onClick:n,children:(0,y.jsx)(r,{id:`cd5EXh`})}):null,t[3]=n,t[4]=i);let a;return t[5]===i?a=t[6]:(a=(0,y.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[e,i]}),t[5]=i,t[6]=a),a}let a;return t[7]===i?a=t[8]:(a=(0,y.jsx)(E,{...i}),t[7]=i,t[8]=a),a}function O(){let e=(0,_.c)(14),[t,n]=(0,v.useState)(!1),i=x();if(i.status!==`ready`||i.reports.length===0)return null;let a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,y.jsx)(r,{id:`c2ktXL`}),e[0]=a):a=e[0];let u;e[1]===i.reports.length?u=e[2]:(u=(0,y.jsxs)(`span`,{className:`text-sm font-medium`,children:[a,` `,(0,y.jsxs)(`span`,{className:`font-normal text-muted-foreground`,children:[`(`,i.reports.length,`)`]})]}),e[1]=i.reports.length,e[2]=u);let f=`transition-transform motion-reduce:transition-none ${t?`rotate-180`:``}`,p;e[3]===f?p=e[4]:(p=(0,y.jsx)(d,{className:f,"aria-hidden":`true`}),e[3]=f,e[4]=p);let m;e[5]!==u||e[6]!==p?(m=(0,y.jsx)(c,{asChild:!0,children:(0,y.jsxs)(o,{variant:`ghost`,size:`sm`,className:`-mx-2 -my-0.5 h-auto w-[calc(100%+1rem)] justify-between px-2 py-1.5 data-[state=open]:bg-transparent data-[state=open]:hover:bg-muted`,children:[u,p]})}),e[5]=u,e[6]=p,e[7]=m):m=e[7];let h;e[8]===i?h=e[9]:(h=(0,y.jsx)(s,{className:`pt-2`,children:(0,y.jsx)(E,{...i})}),e[8]=i,e[9]=h);let g;return e[10]!==t||e[11]!==m||e[12]!==h?(g=(0,y.jsxs)(l,{open:t,onOpenChange:n,children:[m,h]}),e[10]=t,e[11]=m,e[12]=h,e[13]=g):g=e[13],g}export{O as n,D as t};