@inkeep/open-knowledge 0.40.0-beta.2 → 0.41.0-beta.0

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 (437) hide show
  1. package/dist/{acp-harness-probe-DR1ZKGnH.mjs → acp-harness-probe-BxjXsPOq.mjs} +2 -2
  2. package/dist/assets/skills/discovery/SKILL.md +1 -1
  3. package/dist/assets/skills/project/SKILL.md +1 -1
  4. package/dist/assets/skills/write-skill/SKILL.md +1 -1
  5. package/dist/cli.mjs +63 -63
  6. package/dist/config-schema.json +56 -0
  7. package/dist/config.project.schema.json +56 -0
  8. package/dist/constants-bmev5FwS.mjs +2 -0
  9. package/dist/{fs-traced-PoaSX4-V.mjs → fs-traced-CNJs7Awa.mjs} +2 -2
  10. package/dist/fs-traced-DgSYzTia.mjs +1 -0
  11. package/dist/{git-handle-DQgl5oTH.mjs → git-handle-DklxWau8.mjs} +2 -2
  12. package/dist/git-handle-sbdi3Vzr.mjs +1 -0
  13. package/dist/index.d.mts +9 -1
  14. package/dist/index.mjs +1 -1
  15. package/dist/init-B-FNuVLD.mjs +1 -0
  16. package/dist/{init-CRqHukN0.mjs → init-JMQ-3ZKg.mjs} +11 -11
  17. package/dist/{launch-json-removal-D2RKDIfa.mjs → launch-json-removal-xORplwHY.mjs} +2 -2
  18. package/dist/loader-DdZabgzf.mjs +1 -0
  19. package/dist/{loader-B2FwNLO-.mjs → loader-G247xVVO.mjs} +2 -2
  20. package/dist/md-manager-BxIIRrx9.mjs +2 -0
  21. package/dist/{open-browser-B_gopYWU.mjs → open-browser-BxTeTvF1.mjs} +2 -2
  22. package/dist/parse-worker.mjs +1 -1
  23. package/dist/preview-C3pbNWkQ.mjs +1 -0
  24. package/dist/{preview-2zt9BjS6.mjs → preview-CpkyThwj.mjs} +2 -2
  25. package/dist/public/assets/{ActivityModeContent-dWIhYEu6.js → ActivityModeContent-D4HgJCqO.js} +1 -1
  26. package/dist/public/assets/{ActivityPanelDiffView-Ca-9q7Zb.js → ActivityPanelDiffView-BlsCddlr.js} +1 -1
  27. package/dist/public/assets/{AgentDiffPane-ZSMGc24S.js → AgentDiffPane-CF-TbfmZ.js} +2 -2
  28. package/dist/public/assets/AgentThreadClientBinder-Dpyf5sM1.js +1 -0
  29. package/dist/public/assets/{AppMenubar-BuB4TAd6.js → AppMenubar-CqSGRAc3.js} +1 -1
  30. package/dist/public/assets/CodeMirrorPropInput-DtBXfCv4.js +3 -0
  31. package/dist/public/assets/{ConsentDialogBody-BBzNYhHt.js → ConsentDialogBody-Cdr00Adv.js} +1 -1
  32. package/dist/public/assets/{CopyButton-Ja2824Ao.js → CopyButton-tIb30IiS.js} +1 -1
  33. package/dist/public/assets/DocumentContext-DOrUYOMA.js +38 -0
  34. package/dist/public/assets/EditorModeToggle-BbmLhPID.js +2 -0
  35. package/dist/public/assets/{EnableSyncConfirmDialog-DPaSz-wC.js → EnableSyncConfirmDialog-joOV35Dx.js} +1 -1
  36. package/dist/public/assets/FeedbackForm-CQc3lxnB.js +1 -0
  37. package/dist/public/assets/{GraphPanel-BpzaeAQp.js → GraphPanel-6soc8rip.js} +2 -2
  38. package/dist/public/assets/LintConfigEditor-CDx1eqC2.js +1 -0
  39. package/dist/public/assets/ManagedArtifactProperties-KEOfe-lF.js +1 -0
  40. package/dist/public/assets/{McpConsentDialogBody-DHTkre7u.js → McpConsentDialogBody-CMdEW0Jf.js} +1 -1
  41. package/dist/public/assets/MermaidDocEditor-BvnOVcfR.js +1 -0
  42. package/dist/public/assets/PropertyPanel-CnC-grqg.js +2 -0
  43. package/dist/public/assets/{RegisteredAgentIcon-B57vI5w6.js → RegisteredAgentIcon-BYstaLMY.js} +1 -1
  44. package/dist/public/assets/{ReportBugDialogBody-DrIG1ML_.js → ReportBugDialogBody-DWp9BbwF.js} +1 -1
  45. package/dist/public/assets/SchemaConfigEditor-CS0s2hEm.js +1 -0
  46. package/dist/public/assets/SettingsDialogBody-D4oXv9m2.js +7 -0
  47. package/dist/public/assets/{ShareBranchSwitchDialog-C179lw0C.js → ShareBranchSwitchDialog-I1sCMM_-.js} +1 -1
  48. package/dist/public/assets/{ShareReceiveDialog-TtY0UQrE.js → ShareReceiveDialog-BmY-2e0s.js} +1 -1
  49. package/dist/public/assets/{ShareReceiveMissDialog-op0Pk4ih.js → ShareReceiveMissDialog-qvLgAowX.js} +1 -1
  50. package/dist/public/assets/{SkillEditorActions-DVAUJ782.js → SkillEditorActions-Dg-HbG9_.js} +1 -1
  51. package/dist/public/assets/SourceEditor-DH16cqjY.js +1 -0
  52. package/dist/public/assets/{TerminalPanel-DqAeIpPV.js → TerminalPanel-DXQ0GSej.js} +3 -3
  53. package/dist/public/assets/TerminalSessionsHost-BscGA05Z.js +2 -0
  54. package/dist/public/assets/{TerminalWindowApp-C0nQcTDF.js → TerminalWindowApp-BLTq-pir.js} +1 -1
  55. package/dist/public/assets/ThreadView-BBswMilr.js +6 -0
  56. package/dist/public/assets/TimelineDiffPane-DYqU_NIC.js +2 -0
  57. package/dist/public/assets/__vite-browser-external-Ducgp38Y.js +1 -0
  58. package/dist/public/assets/{abnfDiagram-VRR7QNED-D9F9DXsr.js → abnfDiagram-VRR7QNED-Pz-d7QUO.js} +1 -1
  59. package/dist/public/assets/{agent-diff-store-_LaXNJgH.js → agent-diff-store-CCCbFYpb.js} +1 -1
  60. package/dist/public/assets/agent-visibility-BKmC0R33.js +1 -0
  61. package/dist/public/assets/{arc-CycIfT6O.js → arc-zavTz6Mi.js} +1 -1
  62. package/dist/public/assets/architecture-TIHT7OUA-BmEXwMPm.js +1 -0
  63. package/dist/public/assets/{architectureDiagram-ZJ3FMSHR-DfsVDv0h.js → architectureDiagram-ZJ3FMSHR-DPFdhM_J.js} +1 -1
  64. package/dist/public/assets/arrow-up-right-DtHvY6Qg.js +1 -0
  65. package/dist/public/assets/auth-state-cache-C3hA0fzC.js +11 -0
  66. package/dist/public/assets/{badge-BDZGi1Ks.js → badge-kWhLcwP5.js} +1 -1
  67. package/dist/public/assets/{blockDiagram-677ZJIJ3-a-alorma.js → blockDiagram-677ZJIJ3-BcUTUrKf.js} +1 -1
  68. package/dist/public/assets/braces-DUywltjC.js +1 -0
  69. package/dist/public/assets/{button-DHE6Sx02.js → button-B5JstM7q.js} +1 -1
  70. package/dist/public/assets/{c4Diagram-LMCZKHZV-Cc0-n0UQ.js → c4Diagram-LMCZKHZV-DX6b63EP.js} +1 -1
  71. package/dist/public/assets/{calendar-HuZ4s1vW.js → calendar-B17Fe4zV.js} +1 -1
  72. package/dist/public/assets/case-sensitive-B_HNX58h.js +1 -0
  73. package/dist/public/assets/channel-DnLJ-ZjM.js +1 -0
  74. package/dist/public/assets/check-DJxEKgxy.js +1 -0
  75. package/dist/public/assets/{checkbox-DAZcO8UL.js → checkbox-DgMFNyxc.js} +1 -1
  76. package/dist/public/assets/{chevron-down-CQd32BUC.js → chevron-down-DQUaF_vw.js} +1 -1
  77. package/dist/public/assets/chevron-left-DemaPXNL.js +1 -0
  78. package/dist/public/assets/chevron-right-DNxn1CM1.js +1 -0
  79. package/dist/public/assets/chunk-2Q5K7J3B-Bw7pux3Y.js +1 -0
  80. package/dist/public/assets/{chunk-32BRIVSS-DAp6JEen.js → chunk-32BRIVSS-Demy6w9E.js} +1 -1
  81. package/dist/public/assets/{chunk-52WLFC77-DOJ_zrKl.js → chunk-52WLFC77-BlEIphDp.js} +1 -1
  82. package/dist/public/assets/{chunk-5FCAYU7R-BZbSx9vA.js → chunk-5FCAYU7R-lS620rLS.js} +1 -1
  83. package/dist/public/assets/{chunk-5HE753X5-B2Flc7i4.js → chunk-5HE753X5-Ctwpftk0.js} +1 -1
  84. package/dist/public/assets/{chunk-5JV3BV7I-B6P7lOib.js → chunk-5JV3BV7I-B0xTm5To.js} +1 -1
  85. package/dist/public/assets/{chunk-5TONJI2A-Bx2IxKM5.js → chunk-5TONJI2A-CTbq1Ges.js} +1 -1
  86. package/dist/public/assets/{chunk-5VM5RSS4-DC5JDqIq.js → chunk-5VM5RSS4-DIOyJEh7.js} +1 -1
  87. package/dist/public/assets/{chunk-7BUUIJ7U-D6E7ODqO.js → chunk-7BUUIJ7U-DJAQBDRB.js} +1 -1
  88. package/dist/public/assets/{chunk-BIQX33UG-BK09YW6f.js → chunk-BIQX33UG-BJ4KOiuD.js} +1 -1
  89. package/dist/public/assets/{chunk-BO2N2NFS-d0sH-rMK.js → chunk-BO2N2NFS-BKwKMCf_.js} +4 -4
  90. package/dist/public/assets/{chunk-C7G6YPKG-DyJUpciK.js → chunk-C7G6YPKG-DKtlXCwT.js} +1 -1
  91. package/dist/public/assets/{chunk-CQNSW5MT-BAtlNSBX.js → chunk-CQNSW5MT-CztK3zab.js} +1 -1
  92. package/dist/public/assets/{chunk-CYSBUYHQ-D8hsDORv.js → chunk-CYSBUYHQ-CvFdHE5W.js} +1 -1
  93. package/dist/public/assets/{chunk-EMLP6XTP-ChQSYJxh.js → chunk-EMLP6XTP-VxWimccr.js} +1 -1
  94. package/dist/public/assets/{chunk-EX3LRPZG-h-6LYf1x.js → chunk-EX3LRPZG-CO_SPblJ.js} +1 -1
  95. package/dist/public/assets/{chunk-FWX5IMBZ-DRwSfJSX.js → chunk-FWX5IMBZ-JMqub3ht.js} +2 -2
  96. package/dist/public/assets/{chunk-HOUHSVGY-F4yPi64m.js → chunk-HOUHSVGY-By4XpU6I.js} +1 -1
  97. package/dist/public/assets/{chunk-ICXQ74PX-BF1AraUQ.js → chunk-ICXQ74PX-DWdDeVYv.js} +1 -1
  98. package/dist/public/assets/{chunk-JG7HCLWE-Biog_J3i.js → chunk-JG7HCLWE-BQ8U-ghC.js} +1 -1
  99. package/dist/public/assets/{chunk-JWPE2WC7-BuX-EugW.js → chunk-JWPE2WC7-DcQSwMri.js} +1 -1
  100. package/dist/public/assets/{chunk-MOJQB5TN-Pk-JS7uF.js → chunk-MOJQB5TN-BBaMKQVw.js} +1 -1
  101. package/dist/public/assets/{chunk-MOZMSUNE-CPb1eEls.js → chunk-MOZMSUNE-CRVOIrQ5.js} +1 -1
  102. package/dist/public/assets/{chunk-OGEWGWER-D_9VshMV.js → chunk-OGEWGWER-ba9ltMXK.js} +1 -1
  103. package/dist/public/assets/{chunk-OSBZ3O6U-DLOl9lpV.js → chunk-OSBZ3O6U-BwLKYi-M.js} +1 -1
  104. package/dist/public/assets/{chunk-PUDLZKDR-D_qil-uw.js → chunk-PUDLZKDR-DJ-xx1Uu.js} +1 -1
  105. package/dist/public/assets/{chunk-Q4XR5HBZ--lNMVAiV.js → chunk-Q4XR5HBZ-BNj93MDr.js} +1 -1
  106. package/dist/public/assets/{chunk-QBLGF6JB-CXHeFNVR.js → chunk-QBLGF6JB-hOGtWhlz.js} +1 -1
  107. package/dist/public/assets/{chunk-R7FJI6CG-C16CHt3a.js → chunk-R7FJI6CG-BjWQRpAc.js} +1 -1
  108. package/dist/public/assets/{chunk-RYQCIY6F-DNu-IRpO.js → chunk-RYQCIY6F-B9SS86ok.js} +1 -1
  109. package/dist/public/assets/{chunk-U6XO7XAA-DbjPtJON.js → chunk-U6XO7XAA-DBbzoX4Z.js} +1 -1
  110. package/dist/public/assets/{chunk-V7JOEXUC-TOHJpp-0.js → chunk-V7JOEXUC-EpFJBpvk.js} +1 -1
  111. package/dist/public/assets/chunk-VAUOI2AC-Dn-E52TZ.js +1 -0
  112. package/dist/public/assets/{chunk-VR4S4FIN-DRClO3Vp.js → chunk-VR4S4FIN-B7zogTZo.js} +1 -1
  113. package/dist/public/assets/{chunk-WYO6CB5R-DyzfGKK0.js → chunk-WYO6CB5R-bpRilmGb.js} +2 -2
  114. package/dist/public/assets/chunk-XXDRQBXY-sKXoKzRW.js +1 -0
  115. package/dist/public/assets/{chunk-YOTPTUD7-CI44npHy.js → chunk-YOTPTUD7-WzuLu2rZ.js} +1 -1
  116. package/dist/public/assets/{chunk-ZGVPDNZ5-B4UAL6rf.js → chunk-ZGVPDNZ5-BwWckaeQ.js} +1 -1
  117. package/dist/public/assets/{chunk-ZIRB5QZD-BSn4ei2K.js → chunk-ZIRB5QZD-BtkU1hkD.js} +1 -1
  118. package/dist/public/assets/chunk-zsgVPwQN.js +1 -0
  119. package/dist/public/assets/classDiagram-OUVF2IWQ-DnCJ0gX4.js +1 -0
  120. package/dist/public/assets/classDiagram-v2-EOCWNBFH-Dm_rQEzS.js +1 -0
  121. package/dist/public/assets/client-version-Bma7l-bS.js +1 -0
  122. package/dist/public/assets/{collapsible-BIzY37go.js → collapsible-snx-HFVG.js} +1 -1
  123. package/dist/public/assets/compiler-runtime-YPpVnfQ-.js +1 -0
  124. package/dist/public/assets/config-context-Lgd8fBM2.js +1 -0
  125. package/dist/public/assets/{config-provider-BgOkEHZH.js → config-provider-DQaCjhBX.js} +2 -2
  126. package/dist/public/assets/{copilot-Be7YOjJF.js → copilot-fpMAoCAq.js} +1 -1
  127. package/dist/public/assets/{copy-Dwat-rG5.js → copy-C1RMi2cI.js} +1 -1
  128. package/dist/public/assets/{cose-bilkent-JH36ORCC-CNo4r1jR.js → cose-bilkent-JH36ORCC-v6AC1hlD.js} +1 -1
  129. package/dist/public/assets/{createLucideIcon-BUb14crZ.js → createLucideIcon-BwsSSL7z.js} +1 -1
  130. package/dist/public/assets/{cursor-AolWKuZw.js → cursor-BSZbWhxr.js} +1 -1
  131. package/dist/public/assets/cynefin-VYW2F7L2-BgEeRk9i.js +1 -0
  132. package/dist/public/assets/{cynefinDiagram-TSTJHNR4-BerNcsRY.js → cynefinDiagram-TSTJHNR4-DJT_8PZ9.js} +1 -1
  133. package/dist/public/assets/{dagre-B556Eg9Y.js → dagre-C139UR6G.js} +1 -1
  134. package/dist/public/assets/{dagre-VKFMJZFB-DsGixG0T.js → dagre-VKFMJZFB-5RJKKLB6.js} +1 -1
  135. package/dist/public/assets/{diagram-FQU43EPY-Bn3pI3fo.js → diagram-FQU43EPY-CMw4bmCQ.js} +1 -1
  136. package/dist/public/assets/{diagram-G47NLZAW-DlmHXzE8.js → diagram-G47NLZAW-CYLhDQDm.js} +1 -1
  137. package/dist/public/assets/{diagram-NH7WQ7WH-DSU5C3aY.js → diagram-NH7WQ7WH-lnG_Yvrf.js} +1 -1
  138. package/dist/public/assets/{diagram-OA4YK3LP-BxczHUUr.js → diagram-OA4YK3LP-tjz67Utc.js} +1 -1
  139. package/dist/public/assets/{diagram-WEI45ONY-9RfHZ21T.js → diagram-WEI45ONY-keCs6tdk.js} +1 -1
  140. package/dist/public/assets/{dialog-BLaUGJCd.js → dialog-BvA78Pbg.js} +1 -1
  141. package/dist/public/assets/{dist-C5VV4AJh.js → dist-B22zi36Z.js} +1 -1
  142. package/dist/public/assets/{dist-Cx2QCt5k.js → dist-B2SLv_cy.js} +1 -1
  143. package/dist/public/assets/{dist-DUnAX2Ky.js → dist-BHnd2TCW.js} +1 -1
  144. package/dist/public/assets/{dist-Bv-DNDka.js → dist-BNSJKKYT.js} +1 -1
  145. package/dist/public/assets/{dist-C5oOOujV.js → dist-BPbnU4MJ.js} +1 -1
  146. package/dist/public/assets/{dist-COAuqNbv.js → dist-C3RLAwRF.js} +1 -1
  147. package/dist/public/assets/{dist-BlUN9R-p.js → dist-CEEceAlU.js} +1 -1
  148. package/dist/public/assets/{dist-BgCLeN3Q.js → dist-CUQV7eXO.js} +1 -1
  149. package/dist/public/assets/{dist-DfKVxirz.js → dist-CXEsWt_M.js} +1 -1
  150. package/dist/public/assets/{dist-n-Hi6NdA.js → dist-Ck2P_69m.js} +1 -1
  151. package/dist/public/assets/{dist-DrdxKM3X.js → dist-Cm6pClkc2.js} +1 -1
  152. package/dist/public/assets/dist-CwM3Fx_3.js +565 -0
  153. package/dist/public/assets/{dist-93kZXTH1.js → dist-CwZTPnUs.js} +1 -1
  154. package/dist/public/assets/dist-DEF-YX4p.js +1 -0
  155. package/dist/public/assets/{dist-CcNiwixP.js → dist-DNTp9iqB.js} +1 -1
  156. package/dist/public/assets/dist-DVNg6hPx.js +2 -0
  157. package/dist/public/assets/{dist-DBENJeML.js → dist-De9aiAJx.js} +1 -1
  158. package/dist/public/assets/{dist-kVT8A9Kf.js → dist-DoAMXMs5.js} +1 -1
  159. package/dist/public/assets/{dist-B4uQVk5s.js → dist-DoyeToaO.js} +1 -1
  160. package/dist/public/assets/{dist-5kUc8Rop.js → dist-Ds91W2q2.js} +1 -1
  161. package/dist/public/assets/{dist-uVOKoIoH.js → dist-EBCF8Hyi.js} +1 -1
  162. package/dist/public/assets/{dist-635PXtcP.js → dist-PyCLG6aQ.js} +1 -1
  163. package/dist/public/assets/{dist-BJxDYUHt.js → dist-UJD1w5LO.js} +1 -1
  164. package/dist/public/assets/{dist-DwCd6eR-.js → dist-t90i8nhW.js} +1 -1
  165. package/dist/public/assets/{doc-hash-Bgdowslw.js → doc-hash-CzxKqowf.js} +1 -1
  166. package/dist/public/assets/{documents-events-HEfBwy2y.js → documents-events-BL57BK03.js} +1 -1
  167. package/dist/public/assets/{dropdown-menu-DVTufjNA.js → dropdown-menu-Br5y3pW-.js} +1 -1
  168. package/dist/public/assets/{ebnfDiagram-CCIWWBDH-D2xzvzqw.js → ebnfDiagram-CCIWWBDH-B-u3v2zf.js} +1 -1
  169. package/dist/public/assets/{erDiagram-Q63AITRT-CYNZizIY.js → erDiagram-Q63AITRT-CJ_Cnn6b.js} +1 -1
  170. package/dist/public/assets/{es2015-D5U2f808.js → es2015-BPXMTj9r.js} +1 -1
  171. package/dist/public/assets/esm-BTOPTNTx.js +1 -0
  172. package/dist/public/assets/eventmodeling-45OFAUF4-ZjNWMPgH.js +1 -0
  173. package/dist/public/assets/{eye-DuFNDQPj.js → eye-Bd06Ragq.js} +1 -1
  174. package/dist/public/assets/field-L06JWfWh.js +1 -0
  175. package/dist/public/assets/file-tree-adapter-BPfbWs81.js +1 -0
  176. package/dist/public/assets/file-tree-utils-D741Um3O.js +1 -0
  177. package/dist/public/assets/flowDiagram-23GEKE2U-emKuZ14A.js +1 -0
  178. package/dist/public/assets/{folder-open-C-WgQ0Xp.js → folder-open-uBVyDcrj.js} +1 -1
  179. package/dist/public/assets/follow-file-DcOgGK76.js +1 -0
  180. package/dist/public/assets/{form-CTttIps7.js → form-DqVoiojI.js} +1 -1
  181. package/dist/public/assets/{ganttDiagram-NO4QXBWP-sqpYy8P9.js → ganttDiagram-NO4QXBWP-DHV4x4CM.js} +1 -1
  182. package/dist/public/assets/{git-branch-DFJ3yJt8.js → git-branch-Dt9AthpR.js} +1 -1
  183. package/dist/public/assets/gitGraph-TEB2WS4Q-DULAthqL.js +1 -0
  184. package/dist/public/assets/{gitGraphDiagram-IHSO6WYX-LRtYXzVh.js → gitGraphDiagram-IHSO6WYX-BCudlL0f.js} +1 -1
  185. package/dist/public/assets/{graphlib-C8fe8zk2.js → graphlib-C20MI2IN.js} +1 -1
  186. package/dist/public/assets/hash-BBX_Yf_s.js +1 -0
  187. package/dist/public/assets/{highlighted-body-OFNGDK62-D_PnaFD1.js → highlighted-body-OFNGDK62-C-4VTnbV.js} +1 -1
  188. package/dist/public/assets/index-BH0n8V71.js +2022 -0
  189. package/dist/public/assets/index-BNgm62X1.css +1 -0
  190. package/dist/public/assets/{info-DV3bzhzI.js → info-CUyu_utl.js} +1 -1
  191. package/dist/public/assets/info-DKCQHKI2-bR6bCx3M.js +1 -0
  192. package/dist/public/assets/{infoDiagram-FWYZ7A6U-CoQbECuU.js → infoDiagram-FWYZ7A6U-BgYy4d56.js} +1 -1
  193. package/dist/public/assets/{input-CsXmpyZP.js → input-DAAOxj0-.js} +1 -1
  194. package/dist/public/assets/{ishikawaDiagram-FXEZZL3T-C_Cz2h3y.js → ishikawaDiagram-FXEZZL3T-CCS72EW8.js} +1 -1
  195. package/dist/public/assets/{journeyDiagram-5HDEW3XC-DFrtpWnU.js → journeyDiagram-5HDEW3XC-CoREp23c.js} +1 -1
  196. package/dist/public/assets/{jsx-runtime-DyiINK0N.js → jsx-runtime-Dda6ZcOg.js} +1 -1
  197. package/dist/public/assets/{kanban-definition-HUTT4EX6-BpqONXYd.js → kanban-definition-HUTT4EX6-DSFIJzBy.js} +1 -1
  198. package/dist/public/assets/{label-bn6BDr7p.js → label-BPs9TAEe.js} +1 -1
  199. package/dist/public/assets/{lib-9ZUh4rh4.js → lib-7eiHvDyn.js} +1 -1
  200. package/dist/public/assets/{line-CGcPvb4l.js → line-DN_hBe-O.js} +1 -1
  201. package/dist/public/assets/{linear-DrLUUwfa.js → linear-D449kPqH.js} +1 -1
  202. package/dist/public/assets/lint-config-client-tK7RuglK.js +1 -0
  203. package/dist/public/assets/lint-plugin-meta-CZ4Yze5u.js +1 -0
  204. package/dist/public/assets/loader-circle-DquHdXOY.js +1 -0
  205. package/dist/public/assets/{map-WpH6dMWB.js → map-MD1QDiqI.js} +1 -1
  206. package/dist/public/assets/{markdownit-BEubyjFu.js → markdownit-D5ckRcLX.js} +1 -1
  207. package/dist/public/assets/markdownlint-rule-browser-DvPHhOzr.js +1 -0
  208. package/dist/public/assets/mermaid-GHXKKRXX-CmCfs7wO.js +1 -0
  209. package/dist/public/assets/{mermaid-parser.core-3Xu6H-xr.js → mermaid-parser.core-Cm2pHXoA.js} +2 -2
  210. package/dist/public/assets/{mermaid.core-BgfUsmdk.js → mermaid.core-CBLgP-tq.js} +3 -3
  211. package/dist/public/assets/{mindmap-definition-LN4V7U3C-C5hGDmLh.js → mindmap-definition-LN4V7U3C-CuiM6FsU.js} +1 -1
  212. package/dist/public/assets/{miss-dialog-store-81J1GwFD.js → miss-dialog-store-tptqlgbE.js} +1 -1
  213. package/dist/public/assets/navigation-targets-BkPd72gM.js +1 -0
  214. package/dist/public/assets/{now-LAZzaJBH.js → now-Dq6LIEaU.js} +1 -1
  215. package/dist/public/assets/{open-managed-artifact-tab-D70MXBHT.js → open-managed-artifact-tab-Bo3JdcHq.js} +1 -1
  216. package/dist/public/assets/{ordinal-DC5m951M.js → ordinal-BIOoIzFp.js} +1 -1
  217. package/dist/public/assets/packet-7NZHBO7P-CcYWaX_e.js +1 -0
  218. package/dist/public/assets/{panel-DLUMbyPl.js → panel-DoEQccon.js} +1 -1
  219. package/dist/public/assets/{panel-right-open-CBweAP43.js → panel-right-open-DXZ0AA7N.js} +1 -1
  220. package/dist/public/assets/{paperclip-DF10JkTg.js → paperclip-B0H0WUBm.js} +1 -1
  221. package/dist/public/assets/{pegDiagram-2B236MQR-BWoigFVh.js → pegDiagram-2B236MQR-BLm9aXLc.js} +1 -1
  222. package/dist/public/assets/{pending-receive-nav-store-CMbR1DlR.js → pending-receive-nav-store-DILNtcMD.js} +1 -1
  223. package/dist/public/assets/pie-RZYD4A2V-BDSTcnr_.js +1 -0
  224. package/dist/public/assets/{pieDiagram-ENE6RG2P-CkC6m5hO.js → pieDiagram-ENE6RG2P-DWSDBj0y.js} +1 -1
  225. package/dist/public/assets/{project-paths-DcJ4HDNl.js → project-paths-s6FVZ5CP.js} +1 -1
  226. package/dist/public/assets/{prop-types-X3nIYAt7.js → prop-types-deRNMwVG.js} +1 -1
  227. package/dist/public/assets/{propagation-api-yIIm019t.js → propagation-api-C2s1QQGZ.js} +1 -1
  228. package/dist/public/assets/{quadrantDiagram-ABIIQ3AL-CHcF1Exh.js → quadrantDiagram-ABIIQ3AL-y4XpclHG.js} +1 -1
  229. package/dist/public/assets/radar-I7S5WNFK-BxDARIlg.js +1 -0
  230. package/dist/public/assets/{radio-group-DW_ypmKx.js → radio-group-CAXEEQ3G.js} +1 -1
  231. package/dist/public/assets/railroad-3IZDKUUU-BCCxSkZw.js +1 -0
  232. package/dist/public/assets/railroad-abnf-AHOZXSZD-Cuizy3dO.js +1 -0
  233. package/dist/public/assets/railroad-ebnf-EBAXGLYW-TmaYmurZ.js +1 -0
  234. package/dist/public/assets/railroad-peg-LSFZ7HO6-DB-VHQzx.js +1 -0
  235. package/dist/public/assets/{railroadDiagram-RFXS5EU6-DFdEG7eg.js → railroadDiagram-RFXS5EU6-D9LfvazB.js} +1 -1
  236. package/dist/public/assets/{react-JNybMug3.js → react-BN2QHhcO.js} +1 -1
  237. package/dist/public/assets/{react-dom-Db7zF7dM.js → react-dom-BtuvISNc.js} +1 -1
  238. package/dist/public/assets/{receive-store-CXRtunGe.js → receive-store-WiVBTPya.js} +1 -1
  239. package/dist/public/assets/{refresh-cw-DSH9Of_0.js → refresh-cw-iL3pn0CM.js} +1 -1
  240. package/dist/public/assets/{requirementDiagram-TGXJPOKE-CGyQCT2G.js → requirementDiagram-TGXJPOKE-CagEMoI5.js} +1 -1
  241. package/dist/public/assets/{sankeyDiagram-HTMAVEWB-DTVS4b12.js → sankeyDiagram-HTMAVEWB-DJKiupTl.js} +1 -1
  242. package/dist/public/assets/schema-fields-view-intent-BjfU6Zlh.js +1 -0
  243. package/dist/public/assets/{selection-context-BiPXU2rp.js → selection-context-BS88-VYp.js} +1 -1
  244. package/dist/public/assets/separator-DDR192VD.js +1 -0
  245. package/dist/public/assets/{sequenceDiagram-DBY2YBRQ-pna9hZ0I.js → sequenceDiagram-DBY2YBRQ-nJTL2lqd.js} +1 -1
  246. package/dist/public/assets/{share-metadata-rows-C7rJ-Cd0.js → share-metadata-rows-Bv7Ioipm.js} +1 -1
  247. package/dist/public/assets/{sizeCapture-X5ZJPWSS-zTum-WLf.js → sizeCapture-X5ZJPWSS-dyd3KiMv.js} +1 -1
  248. package/dist/public/assets/{skeleton-CA6hvjst.js → skeleton-CHlN2fwE.js} +1 -1
  249. package/dist/public/assets/skill-actions-DYgaLxsb.js +1 -0
  250. package/dist/public/assets/{skills-api-C_fjXVRf.js → skills-api-uFanX4oJ.js} +1 -1
  251. package/dist/public/assets/{sliders-horizontal-C9Uy29A1.js → sliders-horizontal-BF9G548a.js} +1 -1
  252. package/dist/public/assets/{sortable.esm-DcjmFgta.js → sortable.esm-Cj1OlkyK.js} +1 -1
  253. package/dist/public/assets/square-pen-DYNBYC6t.js +1 -0
  254. package/dist/public/assets/{src-BlkIpXCO.js → src-BM1NAcg_.js} +1 -1
  255. package/dist/public/assets/{src-Bv1hrVBW.js → src-h4FvJn1N.js} +1 -1
  256. package/dist/public/assets/{startup-marks-CytO17UM.js → startup-marks-lzQ6NDDC.js} +1 -1
  257. package/dist/public/assets/{stateDiagram-2N3HPSRC-CyBtuA0r.js → stateDiagram-2N3HPSRC-SO_TzvB4.js} +1 -1
  258. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-JVqQagQd.js +1 -0
  259. package/dist/public/assets/{stex-Hrt2qQag.js → stex-CcubjMmP.js} +1 -1
  260. package/dist/public/assets/{swimlanes-5IMT3BWC-D50reMLQ.js → swimlanes-5IMT3BWC-I_fog1Gx.js} +2 -2
  261. package/dist/public/assets/swimlanesDiagram-G3AALYLV-DRypLOPY.js +8 -0
  262. package/dist/public/assets/switch-BHGjWF45.js +1 -0
  263. package/dist/public/assets/tag-pill-input-BMmUS_WQ.js +1 -0
  264. package/dist/public/assets/{target-navigation-intent-DW8AJzuM.js → target-navigation-intent-BBHZfQ77.js} +1 -1
  265. package/dist/public/assets/{telemetry-impl-5fGxwbNg.js → telemetry-impl-BKKGF3Eq.js} +2 -2
  266. package/dist/public/assets/telemetry-startup-DukOvXUN.js +1 -0
  267. package/dist/public/assets/{terminal-input-events-DxwonmvH.js → terminal-input-events-Bedf4049.js} +1 -1
  268. package/dist/public/assets/{terminal-launch-events-CuvBwfob.js → terminal-launch-events-B9McD1vp.js} +1 -1
  269. package/dist/public/assets/{terminal-telemetry-qJ0O-9wu.js → terminal-telemetry-D45Iq_is.js} +1 -1
  270. package/dist/public/assets/{textarea-DwJR-19i.js → textarea-BuxwyMFe.js} +1 -1
  271. package/dist/public/assets/{thread-client-DyotU42S.js → thread-client-CZmxW8Kl.js} +1 -1
  272. package/dist/public/assets/{timeline-definition-FHXFAJF6-CuzBF-5l.js → timeline-definition-FHXFAJF6-BQOKl1Wr.js} +1 -1
  273. package/dist/public/assets/{timeline-diff-store-dt1fl2gd.js → timeline-diff-store-C_Gy5mJi.js} +1 -1
  274. package/dist/public/assets/{toggle-group-CxrQL99E.js → toggle-group-D6QJybW6.js} +1 -1
  275. package/dist/public/assets/{tooltip-BCGL5jDF.js → tooltip-BI4ZrlGO.js} +1 -1
  276. package/dist/public/assets/{trash-2-DpF__0y9.js → trash-2-Baoxa0CE.js} +1 -1
  277. package/dist/public/assets/treeView-QDETBFTQ-Dpe2j0i9.js +1 -0
  278. package/dist/public/assets/treemap-6X3UGDF4-C95sDBTA.js +1 -0
  279. package/dist/public/assets/{triangle-alert-DpxK7pzx.js → triangle-alert-CoYdkHNh.js} +1 -1
  280. package/dist/public/assets/typing-burst-detector-BIkRjVzN.js +6 -0
  281. package/dist/public/assets/{use-activity-panel-DEqogtJb.js → use-activity-panel-moy0VULL.js} +1 -1
  282. package/dist/public/assets/{use-apply-config-color-theme-CbAc42DQ.js → use-apply-config-color-theme-DjtvV6aD.js} +1 -1
  283. package/dist/public/assets/{use-collab-url-CDJf5CAl.js → use-collab-url-WOwjT5g9.js} +1 -1
  284. package/dist/public/assets/{use-installed-clis-DmVWBoog.js → use-installed-clis-Civ9j_Zf.js} +1 -1
  285. package/dist/public/assets/{use-live-xterm-theme-DsNSOoA7.js → use-live-xterm-theme-Cy4XCERE.js} +1 -1
  286. package/dist/public/assets/use-settings-route-B9FDd0vP.js +1 -0
  287. package/dist/public/assets/{use-terminal-enabled-CjyUXLzD.js → use-terminal-enabled-Dzj-2NfI.js} +1 -1
  288. package/dist/public/assets/use-timeline-entry-diff-BbF516OI.js +6 -0
  289. package/dist/public/assets/{use-workspace-CHGWiUmE.js → use-workspace-ZAVODT_V.js} +1 -1
  290. package/dist/public/assets/useLintConfigViewMode-B3XLyk60.js +1 -0
  291. package/dist/public/assets/{useQuery-NsPxD6kI.js → useQuery-4J-R1a0S.js} +1 -1
  292. package/dist/public/assets/{vennDiagram-L72KCM5P-BehiEQfV.js → vennDiagram-L72KCM5P-qzJ6aksY.js} +1 -1
  293. package/dist/public/assets/wardley-OPB4EBWU-Ce2t1r0s.js +1 -0
  294. package/dist/public/assets/{wardleyDiagram-EHGQE667-C30zq5TO.js → wardleyDiagram-EHGQE667-CiP5w3Gp.js} +1 -1
  295. package/dist/public/assets/{workspace-paths-DgJUp1dw.js → workspace-paths-CWFRWNa_.js} +1 -1
  296. package/dist/public/assets/{wrench-BDWKT3wQ.js → wrench-C6cgdqwA.js} +1 -1
  297. package/dist/public/assets/x-CxAa17gB.js +1 -0
  298. package/dist/public/assets/{xychartDiagram-FW5EYKEG-G_u042Mg.js → xychartDiagram-FW5EYKEG-DlKpchAN.js} +1 -1
  299. package/dist/public/index.html +135 -125
  300. package/dist/{repair-launch-json-C3uqYkeS.mjs → repair-launch-json-BYeznHy1.mjs} +2 -2
  301. package/dist/{repair-mcp-configs-i7dMnghP.mjs → repair-mcp-configs-BRROn8jU.mjs} +2 -2
  302. package/dist/{repair-skills-P9l196Qv.mjs → repair-skills-151h5k8W.mjs} +2 -2
  303. package/dist/repair-skills-DZ0Xp2Qs.mjs +1 -0
  304. package/dist/schemas/v0/config.project.schema.json +56 -0
  305. package/dist/server-lock-B5AUGEQr.mjs +1 -0
  306. package/dist/{server-lock-DWsOY8Sf.mjs → server-lock-KBZIBxqm.mjs} +2 -2
  307. package/dist/{sleep-CnRgOMGV.mjs → sleep-DPcGAk1M.mjs} +2 -2
  308. package/dist/src-BTZ4BQel.mjs +330 -0
  309. package/dist/{src-Dj-HA_-C.mjs → src-CCAHJYob.mjs} +5 -5
  310. package/dist/src-DFk8Tui7.mjs +3265 -0
  311. package/dist/src-DyjLVrS0.mjs +1 -0
  312. package/dist/{start-CcMTV_IU.mjs → start-BJNRAUkA.mjs} +2 -2
  313. package/dist/start-DEJNwvqi.mjs +1 -0
  314. package/dist/{write-project-skill-Cm0CAVv2.mjs → write-project-skill-XdhLhz7G.mjs} +4 -4
  315. package/package.json +4 -4
  316. package/dist/constants-BJzJKgN0.mjs +0 -2
  317. package/dist/fs-traced-CIBSRy3q.mjs +0 -1
  318. package/dist/git-handle-Dv50ya_5.mjs +0 -1
  319. package/dist/init-BNoSqnre.mjs +0 -1
  320. package/dist/loader-3kHXROAa.mjs +0 -1
  321. package/dist/md-manager-BFa4uLFA.mjs +0 -2
  322. package/dist/preview-rVAd6E5r.mjs +0 -1
  323. package/dist/public/assets/AgentThreadClientBinder-CLmx-vqX.js +0 -1
  324. package/dist/public/assets/CodeMirrorPropInput-C9WmN90w.js +0 -3
  325. package/dist/public/assets/DocumentContext-BcbJIejF.js +0 -38
  326. package/dist/public/assets/FeedbackForm-BeMx2Cc0.js +0 -1
  327. package/dist/public/assets/ManagedArtifactProperties-CQXgVT_Z.js +0 -1
  328. package/dist/public/assets/MermaidDocEditor-DL9NPMko.js +0 -1
  329. package/dist/public/assets/PropertyPanel-DEgQa4x9.js +0 -2
  330. package/dist/public/assets/SettingsDialogBody-BZ10IzbM.js +0 -7
  331. package/dist/public/assets/SourceEditor-Nfwr4rkI.js +0 -1
  332. package/dist/public/assets/TerminalSessionsHost-CMZ3pfB8.js +0 -2
  333. package/dist/public/assets/ThreadView-Dd8w-hhw.js +0 -6
  334. package/dist/public/assets/TimelineDiffPane-DKx6CcI9.js +0 -2
  335. package/dist/public/assets/__vite-browser-external-CW7faKnP.js +0 -1
  336. package/dist/public/assets/agent-visibility-CaL4MDEH.js +0 -1
  337. package/dist/public/assets/architecture-TIHT7OUA-B1GVwxkr.js +0 -1
  338. package/dist/public/assets/arrow-up-right-Bzc4GmE5.js +0 -1
  339. package/dist/public/assets/auth-state-cache-9Mxvjb5G.js +0 -11
  340. package/dist/public/assets/channel-Dnd06LFp.js +0 -1
  341. package/dist/public/assets/check-D_9hlB38.js +0 -1
  342. package/dist/public/assets/chevron-left-4ixwi2VD.js +0 -1
  343. package/dist/public/assets/chevron-right-cXK7rcek.js +0 -1
  344. package/dist/public/assets/chunk-2Q5K7J3B-Bk0ErfBQ.js +0 -1
  345. package/dist/public/assets/chunk-DseTPa7n.js +0 -1
  346. package/dist/public/assets/chunk-VAUOI2AC-BGyW6aBf.js +0 -1
  347. package/dist/public/assets/chunk-XXDRQBXY-D5Z2YAqk.js +0 -1
  348. package/dist/public/assets/classDiagram-OUVF2IWQ-T0UcJd03.js +0 -1
  349. package/dist/public/assets/classDiagram-v2-EOCWNBFH-vS8mV2Ho.js +0 -1
  350. package/dist/public/assets/client-version-yw5_4u_I.js +0 -1
  351. package/dist/public/assets/compiler-runtime-dQcBxOhn.js +0 -1
  352. package/dist/public/assets/config-context-C5AosGyi.js +0 -1
  353. package/dist/public/assets/cynefin-VYW2F7L2-IoPsg8uT.js +0 -1
  354. package/dist/public/assets/dist-Bjs7qRWH.js +0 -2
  355. package/dist/public/assets/dist-CHLZ8lz0.js +0 -557
  356. package/dist/public/assets/dist-xZVtOT7r.js +0 -1
  357. package/dist/public/assets/eventmodeling-45OFAUF4-Miu5EHpe.js +0 -1
  358. package/dist/public/assets/file-tree-adapter-Bvk6LAfH.js +0 -1
  359. package/dist/public/assets/flowDiagram-23GEKE2U-k4ax4B4W.js +0 -1
  360. package/dist/public/assets/follow-file-grI1hNx7.js +0 -1
  361. package/dist/public/assets/gitGraph-TEB2WS4Q-OmjugmYN.js +0 -1
  362. package/dist/public/assets/index-DsA_F7eu.js +0 -2022
  363. package/dist/public/assets/index-G6x9YQiR.css +0 -1
  364. package/dist/public/assets/info-DKCQHKI2-BNI5cXhn.js +0 -1
  365. package/dist/public/assets/keyboard-shortcuts-DEJA0SzW.js +0 -1
  366. package/dist/public/assets/lint-config-client-DJccpgCS.js +0 -1
  367. package/dist/public/assets/loader-circle-K7Xwpjny.js +0 -1
  368. package/dist/public/assets/mermaid-GHXKKRXX-m6Nh9s9H.js +0 -1
  369. package/dist/public/assets/navigation-targets-CPuDxLos.js +0 -1
  370. package/dist/public/assets/packet-7NZHBO7P-B_5BB2Lm.js +0 -1
  371. package/dist/public/assets/pie-RZYD4A2V-DN_XCApP.js +0 -1
  372. package/dist/public/assets/radar-I7S5WNFK-KdS1Y0nk.js +0 -1
  373. package/dist/public/assets/railroad-3IZDKUUU-CargXMo2.js +0 -1
  374. package/dist/public/assets/railroad-abnf-AHOZXSZD-rKz-719h.js +0 -1
  375. package/dist/public/assets/railroad-ebnf-EBAXGLYW-BwxcIuUm.js +0 -1
  376. package/dist/public/assets/railroad-peg-LSFZ7HO6-D-qfZOX5.js +0 -1
  377. package/dist/public/assets/separator-Cvkbg_YK.js +0 -1
  378. package/dist/public/assets/skill-actions-8sFn_d3u.js +0 -1
  379. package/dist/public/assets/stateDiagram-v2-6OUMAXLB-DqUkY3SY.js +0 -1
  380. package/dist/public/assets/swimlanesDiagram-G3AALYLV-DauLKJFl.js +0 -8
  381. package/dist/public/assets/telemetry-startup-CLLgwJqA.js +0 -1
  382. package/dist/public/assets/treeView-QDETBFTQ-ocdjjjzR.js +0 -1
  383. package/dist/public/assets/treemap-6X3UGDF4-PQZ2TLFo.js +0 -1
  384. package/dist/public/assets/typing-burst-detector-CY0OrGne.js +0 -6
  385. package/dist/public/assets/use-timeline-entry-diff-CaKIZSP2.js +0 -6
  386. package/dist/public/assets/wardley-OPB4EBWU-CAyNEwcQ.js +0 -1
  387. package/dist/public/assets/x-6ATUQvcC.js +0 -1
  388. package/dist/repair-skills-DJ7FOTZZ.mjs +0 -1
  389. package/dist/server-lock-Bhmg0tcS.mjs +0 -1
  390. package/dist/src-7LOBasfG.mjs +0 -3272
  391. package/dist/src-CgblAAT9.mjs +0 -1
  392. package/dist/src-IQdx1yfl.mjs +0 -322
  393. package/dist/start-Br97vCln.mjs +0 -1
  394. /package/dist/public/assets/{agent-presence-DdJtLtJ1.js → agent-presence-DNc33brV.js} +0 -0
  395. /package/dist/public/assets/{array-rrgqyMEz.js → array-CymCLnp2.js} +0 -0
  396. /package/dist/public/assets/{chunk-KEIR6QF5-dYt3HMDt.js → chunk-KEIR6QF5-lISElqQF.js} +0 -0
  397. /package/dist/public/assets/{chunk-Y2CYZVJY-CX0MjbSu.js → chunk-Y2CYZVJY-DG6TUVdx.js} +0 -0
  398. /package/dist/public/assets/{clike-mYAQK8rB.js → clike-9w8A902Z.js} +0 -0
  399. /package/dist/public/assets/{clipboard-adapter-BGIXxhKQ.js → clipboard-adapter-Drwe8q2F.js} +0 -0
  400. /package/dist/public/assets/{colors-N4wXgevD.js → colors-C5iIWSWx.js} +0 -0
  401. /package/dist/public/assets/{cytoscape.esm-DVWrVKKE.js → cytoscape.esm-o_6HroCP.js} +0 -0
  402. /package/dist/public/assets/{defaultLocale-D0l1NlB5.js → defaultLocale-Ci_cmxto.js} +0 -0
  403. /package/dist/public/assets/{desktop-bridge-types-Ij8BA7el.js → desktop-bridge-types-D4yyohEA.js} +0 -0
  404. /package/dist/public/assets/{diff-CQoFqEJ8.js → diff-n4NkdSZN.js} +0 -0
  405. /package/dist/public/assets/{dist-Y35lJRjm.js → dist-AKpDSDgD.js} +0 -0
  406. /package/dist/public/assets/{dist-BD3698ve.js → dist-BsjuWfqE.js} +0 -0
  407. /package/dist/public/assets/{documents-fetch-CyAk_i-3.js → documents-fetch-DjUIhwk3.js} +0 -0
  408. /package/dist/public/assets/{external-link-BtglP1zb.js → external-link-I5y7ImPR.js} +0 -0
  409. /package/dist/public/assets/{file-tree-rename-validation-DMHa94fr.js → file-tree-rename-validation-VypXChwN.js} +0 -0
  410. /package/dist/public/assets/{format-Dn5VT_ew.js → format-Dz9WHgnR.js} +0 -0
  411. /package/dist/public/assets/{go-DksFOnIG.js → go-D_ersHVS.js} +0 -0
  412. /package/dist/public/assets/{init-BZfMkAqI.js → init-C7ZvyJtv.js} +0 -0
  413. /package/dist/public/assets/{isObject-ClHKc-zZ.js → isObject-DaX0mC2K.js} +0 -0
  414. /package/dist/public/assets/{katex-arNHcYlY.js → katex-DZtlYSy3.js} +0 -0
  415. /package/dist/public/assets/{libesm-BUX1Jc4h.js → libesm-Dk2Xd9ht.js} +0 -0
  416. /package/dist/public/assets/{lru-string-cache-D19dwCKJ.js → lru-string-cache-mZvIfIzw.js} +0 -0
  417. /package/dist/public/assets/{lua-DtKxmweM.js → lua-BZ3SwmRr.js} +0 -0
  418. /package/dist/public/assets/{mcp-consent-store-rBVJ88Wy.js → mcp-consent-store-D6bfXqet.js} +0 -0
  419. /package/dist/public/assets/{min-C03Z0UNc.js → min-BNBb-xib.js} +0 -0
  420. /package/dist/public/assets/{panzoom.es-DSQCRJbU.js → panzoom.es-ChI1_jtK.js} +0 -0
  421. /package/dist/public/assets/{parse-api-error-DucXvNZh.js → parse-api-error-CWeCvbNN.js} +0 -0
  422. /package/dist/public/assets/{path-vgVLrjZ6.js → path-CYY6b8e4.js} +0 -0
  423. /package/dist/public/assets/{pdf-B7Aueyrp.js → pdf-DQbEAtJS.js} +0 -0
  424. /package/dist/public/assets/{pdf.worker-DcgidUky.js → pdf.worker-DsFSKvhP.js} +0 -0
  425. /package/dist/public/assets/{perl-BXzCUtdd.js → perl-FdQByH_S.js} +0 -0
  426. /package/dist/public/assets/{properties-CJAqwakm.js → properties-CBj992v9.js} +0 -0
  427. /package/dist/public/assets/{r-Brb1bnAX.js → r-qg1NnfeR.js} +0 -0
  428. /package/dist/public/assets/{rough.esm-DTi2YMB-.js → rough.esm-wROa2UhX.js} +0 -0
  429. /package/dist/public/assets/{ruby-CWNYdZZ6.js → ruby-Cg1fwXaw.js} +0 -0
  430. /package/dist/public/assets/{shell-B3Wf6FeS.js → shell-CA2_MAbd.js} +0 -0
  431. /package/dist/public/assets/{sql-BRvyk2_W.js → sql-Cr2C6qVg.js} +0 -0
  432. /package/dist/public/assets/{src-DlwJ21NB.js → src-CrMlpkn3.js} +0 -0
  433. /package/dist/public/assets/{swift-DT2ta4LM.js → swift-D3NgIBNg.js} +0 -0
  434. /package/dist/public/assets/{toml-C1FnyICQ.js → toml-DzNmVe9T.js} +0 -0
  435. /package/dist/public/assets/{trace-api-CXljsYUC.js → trace-api-BEJdTRcX.js} +0 -0
  436. /package/dist/public/assets/{w3c-keyname-Daddi42S.js → w3c-keyname-BPyKWMWB.js} +0 -0
  437. /package/dist/public/assets/{worktree-store-1tC864Do.js → worktree-store-CcI-M07q.js} +0 -0
@@ -0,0 +1 @@
1
+ import{C as e,Ca as t,Ta as n,Va as r,Za as i,d as a,l as o,lo as s,wa as c,y as l,za as u}from"./src-BTZ4BQel.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,Ar as y,At as b,B as x,Bi as S,Bn as C,Br as w,Bt as T,C as E,Ci as D,Cn as O,Cr as k,Ct as A,D as j,Di as M,Dn as N,Dr as P,Dt as F,E as I,Ei as L,En as R,Er as z,Et as B,F as V,Fi as H,Fn as U,Fr as W,Ft as G,G as K,Gi as q,Gn as J,Gr as Y,Gt as X,H as Z,Hi as Q,Hn as $,Hr as ee,Ht as te,I as ne,Ii as re,In as ie,Ir as ae,It as oe,J as se,Ji as ce,Jn as le,Jt as ue,K as de,Ki as fe,Kn as pe,Kt as me,L as he,Li as ge,Ln as _e,Lr as ve,Lt as ye,M as be,Mi as xe,Mn as Se,Mr as Ce,Mt as we,N as Te,Ni as Ee,Nn as De,Nr as Oe,Nt as ke,O as Ae,Oi as je,On as Me,Or as Ne,Ot as Pe,P as Fe,Pi as Ie,Pn as Le,Pr as Re,Pt as ze,Q as Be,Qi as Ve,Qn as He,Qr as Ue,Qt as We,R as Ge,Ri as Ke,Rn as qe,Rr as Je,Rt as Ye,S as Xe,Si as Ze,Sn as Qe,Sr as $e,St as et,T as tt,Ti as nt,Tn as rt,Tr as it,Tt as at,U as ot,Ui as st,Un as ct,Ur as lt,Ut as ut,V as dt,Vi as ft,Vn as pt,Vr as mt,Vt as ht,W as gt,Wi as _t,Wn as vt,Wr as yt,Wt as bt,X as xt,Xi as St,Xn as Ct,Xt as wt,Y as Tt,Yi as Et,Yn as Dt,Yt as Ot,Z as kt,Zi as At,Zn as jt,Zr as Mt,Zt as Nt,_ as Pt,_i as Ft,_n as It,_r as Lt,a as Rt,aa as zt,ai as Bt,an as Vt,ar as Ht,at as Ut,b as Wt,bi as Gt,bn as Kt,br as qt,bt as Jt,c as Yt,ca as Xt,ci as Zt,cn as Qt,cr as $t,ct as en,d as tn,da as nn,di as rn,dn as an,dr as on,dt as sn,ea as cn,ei as ln,en as un,er as dn,et as fn,f as pn,fa as mn,fi as hn,fn as gn,fr as _n,ft as vn,g as yn,gi as bn,gn as xn,gr as Sn,h as Cn,hi as wn,hn as Tn,hr as En,i as Dn,ia as On,ii as kn,in as An,ir as jn,it as Mn,j as Nn,ji as Pn,jn as Fn,jr as In,jt as Ln,k as Rn,ki as zn,kn as Bn,kr as Vn,kt as Hn,l as Un,la as Wn,li as Gn,ln as Kn,lr as qn,lt as Jn,m as Yn,mi as Xn,mn as Zn,mr as Qn,n as $n,na as er,ni as tr,nn as nr,nr as rr,nt as ir,o as ar,oa as or,oi as sr,on as cr,or as lr,ot as ur,p as dr,pi as fr,pn as pr,pr as mr,q as hr,qi as gr,qn as _r,qt as vr,r as yr,ra as br,ri as xr,rn as Sr,rr as Cr,rt as wr,s as Tr,sa as Er,si as Dr,sn as Or,sr as kr,st as Ar,t as jr,ta as Mr,ti as Nr,tn as Pr,tr as Fr,tt as Ir,u as Lr,ua as Rr,ui as zr,un as Br,ur as Vr,ut as Hr,v as Ur,vi as Wr,vn as Gr,vr as Kr,w as qr,wi as Jr,wn as Yr,wr as Xr,wt as Zr,x as Qr,xi as $r,xn as ei,xr as ti,xt as ni,y as ri,yi as ii,yn as ai,yr as oi,yt as si,z as ci,zi as li,zn as ui,zr as di,zt as fi}from"./src-DFk8Tui7.mjs";import{C as pi,E as mi,T as hi,_ as gi,b as _i,c as vi,d as yi,g as bi,i as xi,l as Si,m as Ci,n as wi,p as Ti,s as Ei,t as Di,u as Oi,v as ki,w as Ai,x as ji,y as Mi}from"./fs-traced-CNJs7Awa.mjs";import{a as Ni,d as Pi,f as Fi,i as Ii,l as Li,n as Ri,r as zi,t as Bi,u as Vi}from"./logger-B7Z8XO-z.mjs";import{_ as Hi,a as Ui,b as Wi,c as Gi,f as Ki,g as qi,h as Ji,i as Yi,l as Xi,m as Zi,n as Qi,o as $i,p as ea,r as ta,s as na,t as ra,u as ia,v as aa,y as oa}from"./server-lock-KBZIBxqm.mjs";export{br as AGENT_ID_MAX_LEN,On as AGENT_ID_RE,ge as AGENT_WRITE_ORIGIN,Rr as AcpPermissionStore,Er as AcpRegistry,Ie as AcpThreadManager,xe as AgentFocusBroadcaster,Pn as AgentPresenceBroadcaster,Ke as AgentSessionCapacityError,li as AgentSessionManager,Jt as AutoStartDisabledError,In as BUNDLE_IDS,Ce as BUNDLE_SCOPE,Oe as BUNDLE_SKILL_NAME,jt as BacklinkIndex,fe as CC1Broadcaster,r as CC1_CONTRACT_VERSION,Or as CONFIG_FILENAME,pe as CONFLICT_MARKER_RE,Nr as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Pt as ConfigSchema,Fn as DEFAULT_CHECKPOINT_RETENTION,bn as DEFAULT_EMBEDDINGS_DIMENSIONS,Ye as DEFAULT_PACK_ID,K as DocumentDurabilityState,Ft as EMBEDDINGS_API_KEY_ENV,Xt as FEATURED_AGENT_IDS,Se as FILE_SYSTEM_WRITER,Ct as FILE_WATCHER_ORIGIN,rn as FileEmbeddingsBackend,nr as GIT_PREFLIGHT_FAIL_SPAN_NAME,De as GIT_UPSTREAM_WRITER,nn as GitDirAccessError,jn as GitNotAvailableError,Ht as GitTooOldError,ni as HOCUSPOCUS_AUTH_REJECTION_REASONS,et as HocuspocusAuthRejection,A as HocuspocusAuthTokenSchema,Dr as INSTALLED_AGENTS_SCHEMES,u as LINEAGE_EPOCH_KEY,Z as LIVE_DERIVED_INDEX_DEBOUNCE_MS,fi as LOG_MD_TEMPLATE,Hn as MANAGED_RENAME_ORIGIN,H as MAX_ACP_THREADS,S as MAX_AGENT_SESSIONS,sn as MCP_CONNECTION_ID_HEADER,t as MCP_SERVER_NAME,ft as MIN_EVICTABLE_IDLE_MS,lr as MIN_GIT_VERSION,de as MISSING_OK_CONFIG_MESSAGE,mn as MalformedGitPointerError,wr as McpLogger,hr as MissingOkConfigError,V as OBSERVER_SYNC_ORIGIN,Qt as OK_OKIGNORE_TEMPLATE,c as ORPHAN_MODES,s as PROTOCOL_VERSION,Bi as PinoLogger,Gi as ProcessLockCollisionError,Un as ProjectGitInitError,b as ROLLBACK_ORIGIN,Kn as ROOT_GITIGNORE_TEMPLATE,qi as RUNTIME_VERSION,Le as SERVICE_WRITER,z as SKILL_INSTALL_EVENTS_FILE_REL,l as SKILL_STATE_TARGETS,T as STARTER_FOLDERS,ht as STARTER_FOLDER_FRONTMATTER_FILENAME,te as STARTER_PACKS,ut as STARTER_PACK_IDS,bt as STARTER_TEMPLATES,I as STATE_MANIFEST_FILENAME,Hi as STATE_SCHEMA_VERSION,i as SYSTEM_DOC_NAME,wt as SeedPrerequisiteError,Nt as SeedRootDirError,ra as ServerLockCollisionError,jr as SingleFileNotAFileError,$n as SingleFileNotFoundError,yr as SingleFileNotMarkdownError,j as StateManifestError,tt as TagIndex,Re as USER_GLOBAL_BUNDLE_IDS,p as UiLockCollisionError,Ln as __getShowAllWalkStatsForTesting,we as __resetShowAllWalkStatsForTesting,Xi as acquireProcessLock,Qi as acquireServerLock,dn as acquireUiLock,Q as applyAgentMarkdownWrite,Bn as applyExternalChange,ye as applySeed,Ae as assertCompatibleStateManifest,kr as assertGitAvailable,It as assertNeverDiskEvent,Ee as attachAcpThreadSocket,si as attachIdleShutdown,Ur as bootServer,Sn as buildAndOpenSkill,Br as buildConfigYmlContent,Be as buildExecResult,re as buildOkMcpStdioCommand,Ne as buildSkillZip,X as buildStarterFolderFrontmatterYaml,U as buildWipTree,W as bundleSkillMdPath,Gr as classifyEvents,Di as classifyFsPath,Wr as clearContributors,hn as clearEmbeddingsKeyFromAllBackends,me as coercePackId,o as colorFromSeed,ie as commitUpstreamImport,_e as commitWip,qe as commitWipFromTree,$t as compareSemver,Je as composeEffectiveLinterConfig,di as composeFrontmatterSchemasConfig,_r as containsConflictMarkers,ai as contentHash,ii as contributorCount,Ge as countShadowObjects,ci as countStaleAgentWipRefs,x as countWipRefs,ke as createApiExtension,je as createAssetServeMiddleware,Mt as createContentFilter,Ue as createContentFilterAsync,fr as createEmbeddingsSecretStore,Dn as createEphemeralProjectDir,v as createExternalChangeHandler,pn as createFileLogger,ot as createLiveDerivedIndexExtension,xt as createMcpHttpHandler,Zt as createOsProbe,Fe as createPersistenceExtension,E as createServer,be as createServerObserverExtension,st as createStreamingErrorWriter,Ri as createTestLogger,Xn as describeStoredEmbeddingsKey,yn as detectClaudeDesktopPresence,qn as detectGit,Rn as detectProjectShape,ur as discoverLockDirs,ee as discoverMarkdownlintConfig,Sr as emitPreflightFailureSpan,d as encodeDocName,fn as encodeFolderRoute,Ir as encodeSkillRoute,Lr as ensureProjectGit,an as ensureProjectSkillGitignore,_t as errorResponse,Kt as evictStaleTrackerEntries,Ar as extractOkBinaryPath,He as extractWikiLinksFromMarkdown,Vr as fallbackPaths,tn as findEnclosingGitRoot,Tn as findEnclosingProjectRoot,lt as findNativeMarkdownlintFile,dr as flushFileLogger,Zr as formatAuthRejectionWire,Gt as formatContributors,$r as formatContributorsFrom,G as formatPackRationale,ui as gcCheckpointRefs,Mn as getCurrentMcpLogger,nt as getLocalDir,Yn as getLogFilePath,zi as getLogger,Cn as getLogsDir,Wi as getMachineId,Mi as getMeter,Ve as getMetrics,_i as getTracer,f as handleCollabSocketError,tr as handleSpawnCursor,dt as hasGcLogLatch,a as iconFromClientName,cn as incrementCollabSocketFilteredError,Mr as incrementServerObserverFire,gn as initContent,C as initShadowRepo,ji as initTelemetry,Wt as initToleranceTelemetryWriter,Hr as installPrettyZodErrors,Ii as installTestLoggers,Lt as installUserSkill,_ as isAllowedApiOrigin,We as isAllowedWorkspaceHostHeader,gr as isConfigDoc,at as isHocuspocusAuthRejectionReason,vr as isKnownPackId,ce as isLinkIndexExcludedDoc,h as isLoopbackAddress,Et as isManagedArtifactDoc,n as isOrphanMode,ne as isPairedWriteOrigin,xr as isPathWithinDir,aa as isProcessAlive,xn as isProjectRoot,_n as isProjectSkillManaged,St as isReservedForUserTree,ei as isSelfWrite,At as isSystemDoc,Qr as isToleranceTelemetryEnabled,oa as isValidLockPid,Qe as lastKnownHash,pt as listRescueCheckpoints,ue as listStarterPacks,Wn as loadCustomAgents,Te as loadPrincipal,ia as lockFilePath,Ni as loggerFactory,Li as logsCurrentPath,Vi as logsPreviousPath,wn as makeLazyEmbeddingsKeyStore,ta as markServerLockDraining,se as mountMcpAndApi,wi as normalizeFsPath,ae as originGitHubHost,pr as packageVersionMajorMinor,B as parseAuthRejectionWire,on as parseGitVersion,F as parseHocuspocusAuthToken,Tt as parseKeepaliveConnectionId,O as pathToDocName,oe as planSeed,Rt as prepareSingleFileOpen,en as processCommand,Jn as processUsage,Kr as readAllTargets,oi as readBundleDecision,yt as readOwnNativeRules,Ki as readProcessLock,ea as readProcessLockDetailed,gt as readProjectHeadState,zr as readProjectLocalSemanticConfig,Yi as readServerLock,qt as readServerPackageVersion,ti as readSkillInstallStateSnapshot,mr as readSkillManagement,g as readStateManifest,$e as readTargetRecordedAt,k as readTargetVersion,Fr as readUiLock,le as reconcile,Ze as recordContributor,P as recordSkillInstallEvent,kt as registerAllTools,Yr as registerWrite,Zi as releaseProcessLock,Ui as releaseServerLock,rr as releaseUiLock,rt as removeLastKnownHash,er as resetMetrics,e as resolveBundleEnabled,Vn as resolveBundledSkillDir,L as resolveContentDir,kn as resolveCursorBinaryDefault,Bt as resolveCursorSpawnInvocation,w as resolveEffectiveLinterConfig,M as resolveLockDir,mt as resolveNativeConfigForDoc,Y as resolveNativeMarkdownlintConfig,Ot as resolvePack,Tr as resolvePackageVersion,ir as resolveUiInfo,D as restoreContributors,ri as restoreLifecycleFromConflictsJson,m as rewriteMarkdownLinksForDocumentRename,ln as rewriteWikiLinksForDocumentRename,An as runAuthReposSubprocess,Vt as runAuthStatusSubprocess,un as runCloneSubprocess,cr as runDeviceFlowSubprocess,Ut as runWithMcpLogger,zn as safeContentPath,ze as safeSubdir,$ as safetyCheckpoint,vn as sanitizeClientName,ct as saveInMemoryCheckpoint,vt as saveVersion,Pe as seedBasenameIndex,ar as serializeError,pi as setActiveSpanAttributes,he as setupServerObservers,J as shadowGit,Ai as shutdownTelemetry,Qn as skillManagementPath,Pi as spansCurrentPath,Fi as spansPreviousPath,sr as spawnDetached,Dt as splitMarkdownBlocks,R as startWatcher,q as streamingProblemEvent,Jr as swapContributors,Xe as teardownToleranceTelemetryWriter,zt as toBroadcasterKey,xi as tracedAppendFileSync,Ei as tracedLinkSync,vi as tracedMkdir,Si as tracedMkdirSync,Oi as tracedRename,yi as tracedRenameSync,Ti as tracedRmSync,Ci as tracedRmdirSync,bi as tracedUnlinkSync,gi as tracedWriteFile,ki as tracedWriteFileSync,qr as trustSystemCertificates,Yt as untrackTrackedProjectSkillProjection,N as updateLastKnownHash,Ji as updateProcessLockPort,$i as updateServerLockPort,Cr as updateUiLockPort,or as validateAgentId,Pr as validateCloneInputs,y as validateSkillZip,na as waitForServerLockDrain,Gn as withHiddenWindowsConsole,hi as withSpan,mi as withSpanSync,Xr as writeBundleDecision,ve as writeMarkdownlintRule,Zn as writeRootGitignoreForNewRepo,En as writeSkillManagement,Nn as writeStateManifest,it as writeTargetVersion,Me as writeTracker};
@@ -1,3 +1,3 @@
1
- import{L as e,P as t}from"./src-IQdx1yfl.mjs";import{a as n,ci as r,gn as i,mi as a}from"./src-7LOBasfG.mjs";import{S as o,x as s}from"./write-project-skill-Cm0CAVv2.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-DR1ZKGnH.mjs";import{n as d}from"./constants-BJzJKgN0.mjs";import{spawn as f}from"node:child_process";import{basename as p,dirname as m,join as h,win32 as g}from"node:path";import{closeSync as _,existsSync as v,mkdirSync as y,openSync as b,statSync as x}from"node:fs";import{homedir as S}from"node:os";import{rm as C}from"node:fs/promises";import{setTimeout as w}from"node:timers/promises";function T(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function E(e,t,n={}){let i=(n.spawn??f)(e,[...t],r({detached:!0,stdio:`ignore`,env:T(n.env??process.env)}));return i.unref(),i}const D=`OpenKnowledge.app`,O=`/Applications/${D}`;function k(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return x(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function A(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(j(e,O))return O;let t=h(e.homeDir??S(),`Applications`,D);return j(e,t)?t:null}function j(e,t){return M(e,h(t,`Contents`,`MacOS`,`OpenKnowledge`))}function M(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const N=[`@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 N){let r=g.join(t,`Programs`,n,`OpenKnowledge.exe`);if(M(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 M(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`?A(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`){E(`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}E(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(m(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const B=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ee(e){if(e.platform!==`darwin`||!B.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function V(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??v,a=r[1];return a?{command:ee({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 te(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var U=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 W(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 G(t){v(t.lockDir)||y(t.lockDir,{recursive:!0});let n=b(h(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=V();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{_(n)}catch{}}}function K(e,t,n){return e??(n===void 0?t:void 0)}function q(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function J(e,t,n){return e??+(t!=null&&!n)}async function Y(e){let t=e.spawn??f,n=V(),{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=J(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 X(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 ne=t;function Z(e,t,n=e=>C(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 Q(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 $(e){let t=e.sigtermGraceMs??ne,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>w(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 re(e){let{destroy:t,...n}=e;return async()=>{await $({...n,reason:`idle-shutdown`}),await t()}}async function ie(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-CgblAAT9.mjs`),T=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??r,O=E?n(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!i(r))throw new U(r);let t=process.env.OK_RECLAIM_DISABLE??null,n=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&T.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-i7dMnghP.mjs`)).repairMcpConfigs)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-C3uqYkeS.mjs`)).repairLaunchJson)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-DJ7FOTZZ.mjs`)).repairSkills)({projectDir:r,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,r);!E&&!p(j)&&(m(j,{recursive:!0}),T.info({contentDir:j},`Created content directory`));let M=null,N=null,P=async({lockDir:t})=>{if(M=W({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=G({lockDir:t,cwd:r,spawn:e.spawn,args:n}).pid??null,T.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`&&T.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},F=e.reactShellDistDir===void 0,I=c(),L=a();{let e=S(E?D:r),t=Date.now(),n=await C(e);n!==`no-drain`&&T.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 R=await _({config:t,contentDir:j,projectDir:E?D:r,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:l,tokenStore:I,embeddingsKeyStore:L,...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:F,idleShutdownMs:f,skipAutoInit:!0,...F?{spawnUiSiblingFn:P}:{},idleShutdownHandler:t=>{let n=re({readUiLock:()=>b(R.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:T});return Q(E?Z(n,D):n,{log:T,exit:e.idleExit})},log:T,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let z=M,B=null;if(z.action===`skip`)B=z.port>0?z.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;B=await X({readUiLock:()=>b(R.lockDir),now:Date.now,sleep:e=>w(e),timeoutMs:t,pollIntervalMs:50}),B===null&&T.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:R.httpServer,destroy:R.destroy,lockDir:R.lockDir,contentDir:j,port:R.port,ready:R.ready,degraded:R.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:B}}function ae(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function oe(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 se(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function ce(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 le(e,t){let n=se(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner--DGfdMN8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=e;process.title=H(c);let u=te(t,process.env),f=t.port===void 0?void 0:Number(t.port),p=process.env.PORT?Number(process.env.PORT):void 0,m=t.uiPort===void 0?void 0:Number(t.uiPort),h=K(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-CgblAAT9.mjs`);if(q(m,e(t(c)))){await Y({cwd:c,uiPort:m});return}}let g;try{g=await ie({config:l,cwd:c,host:u,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof U&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-CgblAAT9.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),m!==void 0&&ue(e,t)){await Y({cwd:c,uiPort:m});return}let n=de(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 _=!1,v=async e=>{if(_)return;_=!0;let[t,...n]=ce(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(g.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-CgblAAT9.mjs`);await $({readUiLock:()=>n(g.lockDir),spawnedUiPid:()=>g.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 g.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`,()=>{v(`SIGINT`)}),process.once(`SIGTERM`,()=>{v(`SIGTERM`)});let y=`http://${u}:${g.port}`,b=u===`0.0.0.0`||u===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${u}:${x}`:y;console.log(r({name:`open-knowledge`,version:d,localUrl:S,apiUrl:S===y?void 0:y,networkUrl:b,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let C={"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`};g.ready.then(async()=>{if(g.degraded.length>0){console.log();for(let e of g.degraded){let t=C[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-B_gopYWU.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function ue(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function de(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=h(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 fe(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`,oe).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ae).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)`).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{L as e,P as t}from"./src-BTZ4BQel.mjs";import{a as n,gn as r,hi as i,li as a}from"./src-DFk8Tui7.mjs";import{S as o,x as s}from"./write-project-skill-XdhLhz7G.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-BxjXsPOq.mjs";import{n as d}from"./constants-bmev5FwS.mjs";import{spawn as f}from"node:child_process";import{basename as p,dirname as m,join as h,win32 as g}from"node:path";import{closeSync as _,existsSync as v,mkdirSync as y,openSync as b,statSync as x}from"node:fs";import{homedir as S}from"node:os";import{rm as C}from"node:fs/promises";import{setTimeout as w}from"node:timers/promises";function T(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function E(e,t,n={}){let r=(n.spawn??f)(e,[...t],a({detached:!0,stdio:`ignore`,env:T(n.env??process.env)}));return r.unref(),r}const D=`OpenKnowledge.app`,O=`/Applications/${D}`;function k(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return x(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function A(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(j(e,O))return O;let t=h(e.homeDir??S(),`Applications`,D);return j(e,t)?t:null}function j(e,t){return M(e,h(t,`Contents`,`MacOS`,`OpenKnowledge`))}function M(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const N=[`@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 N){let r=g.join(t,`Programs`,n,`OpenKnowledge.exe`);if(M(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 M(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`?A(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`){E(`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}E(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(m(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const B=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ee(e){if(e.platform!==`darwin`||!B.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function V(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??v,a=r[1];return a?{command:ee({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 te(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var U=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 W(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 G(t){v(t.lockDir)||y(t.lockDir,{recursive:!0});let n=b(h(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=V();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{_(n)}catch{}}}function K(e,t,n){return e??(n===void 0?t:void 0)}function q(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function J(e,t,n){return e??+(t!=null&&!n)}async function Y(e){let t=e.spawn??f,n=V(),{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=J(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 X(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 ne=t;function Z(e,t,n=e=>C(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 Q(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 $(e){let t=e.sigtermGraceMs??ne,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>w(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 re(e){let{destroy:t,...n}=e;return async()=>{await $({...n,reason:`idle-shutdown`}),await t()}}async function ie(e){let{config:t,cwd:a,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-DyjLVrS0.mjs`),T=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??a,O=E?n(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!r(a))throw new U(a);let t=process.env.OK_RECLAIM_DISABLE??null,n=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&T.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-BRROn8jU.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-BYeznHy1.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-DZ0Xp2Qs.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:n})}catch(e){T.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,a);!E&&!p(j)&&(m(j,{recursive:!0}),T.info({contentDir:j},`Created content directory`));let M=null,N=null,P=async({lockDir:t})=>{if(M=W({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=G({lockDir:t,cwd:a,spawn:e.spawn,args:n}).pid??null,T.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`&&T.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},F=e.reactShellDistDir===void 0,I=c(),L=i();{let e=S(E?D:a),t=Date.now(),n=await C(e);n!==`no-drain`&&T.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 R=await _({config:t,contentDir:j,projectDir:E?D:a,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:l,tokenStore:I,embeddingsKeyStore:L,...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:F,idleShutdownMs:f,skipAutoInit:!0,...F?{spawnUiSiblingFn:P}:{},idleShutdownHandler:t=>{let n=re({readUiLock:()=>b(R.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:T});return Q(E?Z(n,D):n,{log:T,exit:e.idleExit})},log:T,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let z=M,B=null;if(z.action===`skip`)B=z.port>0?z.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;B=await X({readUiLock:()=>b(R.lockDir),now:Date.now,sleep:e=>w(e),timeoutMs:t,pollIntervalMs:50}),B===null&&T.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:R.httpServer,destroy:R.destroy,lockDir:R.lockDir,contentDir:j,port:R.port,ready:R.ready,degraded:R.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:B}}function ae(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function oe(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 se(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function ce(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 le(e,t){let n=se(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner--DGfdMN8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=e;process.title=H(c);let u=te(t,process.env),f=t.port===void 0?void 0:Number(t.port),p=process.env.PORT?Number(process.env.PORT):void 0,m=t.uiPort===void 0?void 0:Number(t.uiPort),h=K(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-DyjLVrS0.mjs`);if(q(m,e(t(c)))){await Y({cwd:c,uiPort:m});return}}let g;try{g=await ie({config:l,cwd:c,host:u,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof U&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-DyjLVrS0.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),m!==void 0&&ue(e,t)){await Y({cwd:c,uiPort:m});return}let n=de(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 _=!1,v=async e=>{if(_)return;_=!0;let[t,...n]=ce(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(g.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-DyjLVrS0.mjs`);await $({readUiLock:()=>n(g.lockDir),spawnedUiPid:()=>g.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 g.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`,()=>{v(`SIGINT`)}),process.once(`SIGTERM`,()=>{v(`SIGTERM`)});let y=`http://${u}:${g.port}`,b=u===`0.0.0.0`||u===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${u}:${x}`:y;console.log(r({name:`open-knowledge`,version:d,localUrl:S,apiUrl:S===y?void 0:y,networkUrl:b,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let C={"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`};g.ready.then(async()=>{if(g.degraded.length>0){console.log();for(let e of g.degraded){let t=C[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-BxTeTvF1.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function ue(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function de(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=h(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 fe(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`,oe).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ae).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)`).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)
2
2
  `),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(k());if(n.available){L({spawn:f},n);return}console.error(R(n.reason)),process.exit(1)}await le(n,t)})}export{k as C,E,V as S,L as T,fe as _,J as a,Z as b,H as c,K as d,te as f,G as g,q as h,re as i,ce as l,le as m,X as n,Y as o,se as p,ie as r,W as s,U as t,ue as u,$ as v,I as w,Q as x,de as y};
3
- //# sourceMappingURL=start-CcMTV_IU.mjs.map
3
+ //# sourceMappingURL=start-BJNRAUkA.mjs.map
@@ -0,0 +1 @@
1
+ import{_ as e,f as t,r as n}from"./start-BJNRAUkA.mjs";export{n as bootStartServer,t as resolveHost,e as startCommand};
@@ -1,4 +1,4 @@
1
- import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{_a as r,ba as i,ga as a,la as o}from"./src-IQdx1yfl.mjs";import{Jr as s,Nr as c,Pr as l,kr as u}from"./src-7LOBasfG.mjs";import{basename as d,dirname as f,isAbsolute as p,join as m,posix as h,relative as g,resolve as _,sep as v,win32 as y}from"node:path";import{cpSync as ee,existsSync as b,lstatSync as te,mkdirSync as ne,readFileSync as re,realpathSync as x,rmSync as S,statSync as ie}from"node:fs";import{homedir as C}from"node:os";var w=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})),T=n((e=>{let{InvalidArgumentError:t}=w();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})),E=n((e=>{let{humanReadableArgName:t}=T();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{Aa as r,Ca as i,Pa as a,ja as o}from"./src-BTZ4BQel.mjs";import{Nr as s,Pr as c,Yr as l,kr as u}from"./src-DFk8Tui7.mjs";import{basename as d,dirname as f,isAbsolute as p,join as m,posix as h,relative as g,resolve as _,sep as v,win32 as y}from"node:path";import{cpSync as ee,existsSync as b,lstatSync as te,mkdirSync as ne,readFileSync as re,realpathSync as x,rmSync as S,statSync as ie}from"node:fs";import{homedir as C}from"node:os";var w=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})),T=n((e=>{let{InvalidArgumentError:t}=w();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})),E=n((e=>{let{humanReadableArgName:t}=T();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})),D=n((e=>{let{InvalidArgumentError:t}=w();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}
@@ -16,7 +16,7 @@ Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._life
16
16
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
17
17
  - ${t?`searched for local subcommand relative to directory '${t}'`:`no directory for search for local subcommand, use .executableDir() to supply a custom directory`}`;throw Error(r)}_executeSubCommand(e,t){t=t.slice();let n=!1,s=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function c(e,t){let n=i.resolve(e,t);if(a.existsSync(n))return n;if(s.includes(i.extname(t)))return;let r=s.find(e=>a.existsSync(`${n}${e}`));if(r)return`${n}${r}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let u=e._executableFile||`${this._name}-${e._name}`,d=this._executableDir||``;if(this._scriptPath){let e;try{e=a.realpathSync(this._scriptPath)}catch{e=this._scriptPath}d=i.resolve(i.dirname(e),d)}if(d){let t=c(d,u);if(!t&&!e._executableFile&&this._scriptPath){let n=i.basename(this._scriptPath,i.extname(this._scriptPath));n!==this._name&&(t=c(d,`${n}-${e._name}`))}u=t||u}n=s.includes(i.extname(u));let f;o.platform===`win32`?(this._checkForMissingExecutable(u,d,e._name),t.unshift(u),t=g(o.execArgv).concat(t),f=r.spawn(o.execPath,t,{stdio:`inherit`})):n?(t.unshift(u),t=g(o.execArgv).concat(t),f=r.spawn(o.argv[0],t,{stdio:`inherit`})):f=r.spawn(u,t,{stdio:`inherit`}),f.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{o.on(e,()=>{f.killed===!1&&f.exitCode===null&&f.kill(e)})});let p=this._exitCallback;f.on(`close`,e=>{e??=1,p?p(new l(e,`commander.executeSubCommandAsync`,`(close)`)):o.exit(e)}),f.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(u,d,e._name);else if(t.code===`EACCES`)throw Error(`'${u}' not executable`);if(!p)o.exit(1);else{let e=new l(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,p(e)}}),this.runningCommand=f}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)===void 0?!1:this.getOptionValueSource(t)!==`default`});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}else if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}else if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
18
18
  `),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in o.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,o.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new p(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`implied`)})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:`commander.missingArgument`})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:`commander.optionMissingArgument`})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:`commander.missingMandatoryOptionValue`})}_conflictingOption(e,t){let n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=m(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${e.length}.`;this.error(r,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=m(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t||=`-V, --version`,n||=`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>c(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=i.basename(e,i.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e||={};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(o.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
19
- Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function g(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function _(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}t.Command=h,t.useColor=_}));const{program:se,createCommand:ce,createArgument:le,createOption:ue,CommanderError:de,InvalidArgumentError:fe,InvalidOptionArgumentError:pe,Command:me,Argument:he,Option:ge,Help:_e}=t(n((e=>{let{Argument:t}=T(),{Command:n}=oe(),{CommanderError:r,InvalidArgumentError:i}=w(),{Help:a}=E(),{Option:o}=D();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i}))(),1).default,O=a,k=r,A=i,j=`node`,M={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},N=`# ok-mcp-v2
19
+ Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function g(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function _(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}t.Command=h,t.useColor=_}));const{program:se,createCommand:ce,createArgument:le,createOption:ue,CommanderError:de,InvalidArgumentError:fe,InvalidOptionArgumentError:pe,Command:me,Argument:he,Option:ge,Help:_e}=t(n((e=>{let{Argument:t}=T(),{Command:n}=oe(),{CommanderError:r,InvalidArgumentError:i}=w(),{Help:a}=E(),{Option:o}=D();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i}))(),1).default,O=r,k=o,A=a,j=`node`,M={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},N=`# ok-mcp-v2
20
20
  USER_BUNDLE="$HOME/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
21
21
  [ -f "$USER_BUNDLE" ] && [ -x "$USER_BUNDLE" ] && exec "$USER_BUNDLE" mcp
22
22
  BUNDLE="/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
@@ -52,5 +52,5 @@ foreach ($d in $dirs) {
52
52
  if (Test-Path -LiteralPath $probe -PathType Leaf) { & $probe -y '@inkeep/open-knowledge@latest' mcp; exit $LASTEXITCODE }
53
53
  }
54
54
  [Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
55
- exit 127`,F=`// ok-pi-bridge`,I=`${F}-v1`,ve=`ok-pi-managed-extension`;function ye(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(I)}return!1}function L(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=_(e);if(d(t)===`cli.mjs`&&d(f(t))===`dist`)return t;let n=t.split(v),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 m(i.length===0?v:i.join(v),`packages`,`cli`,`dist`,`cli.mjs`)}function R(e={}){return e.mode===`dev`?{command:j,args:[L(),`mcp`],env:{...M}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,P]}:{command:`/bin/sh`,args:[`-l`,`-c`,N]}}function be(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[j,L(),`mcp`],environment:{...M}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,P]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,N]}}function xe(e){if(typeof e!=`object`||!e)return!1;let t=e;return z(t,R({mode:`published`,platformName:`darwin`}))||z(t,R({mode:`published`,platformName:`win32`}))}function z(e,t){return Object.keys(e).length===Object.keys(t).length?Se(e,t):!1}function Se(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 B(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 Ce(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.enabled===!1||typeof t.command!=`string`||!Array.isArray(t.args)?!1:B(t.args,t.command)}function we(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`&&B(r,n)}function V(e){return e===`win32`?y:h}function Te(e={}){let t=e.platformName??process.platform,n=e.home??C(),r=e.env??process.env,i=V(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 Ee(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.claude.json`)}function H(e={}){let t=e.platformName??process.platform,n=e.home??C(),r=e.env??process.env;if(t===`darwin`)return h.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??y.join(n,`AppData`,`Roaming`);return y.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.cursor`,`mcp.json`)}function De(e={}){let t=e.platformName??process.platform,n=e.home??C();return(e.env??process.env).CODEX_HOME??V(t).join(n,`.codex`)}function W(e={}){return V(e.platformName??process.platform).join(De(e),`config.toml`)}function G(e={}){let t=e.platformName??process.platform,n=e.home??C(),r=(e.env??process.env).COPILOT_HOME??V(t).join(n,`.copilot`);return V(t).join(r,`mcp-config.json`)}function Oe(e={}){let t=e.platformName??process.platform,n=e.home??C(),r=e.env??process.env,i=V(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 K(e={}){return V(e.platformName??process.platform).join(Oe(e),`opencode.json`)}function ke(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.openclaw`,`openclaw.json`)}function Ae(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.hermes`,`config.yaml`)}function je(e={}){let t=e.platformName??process.platform,n=e.home??C();return(e.env??process.env).PI_CODING_AGENT_DIR??V(t).join(n,`.pi`,`agent`)}function Me(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function Ne(e,t){let n=V(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 q(e={}){let t=e.platformName??process.platform,n=Ne(e.home??C(),t);return n.find(e=>b(e))||n.find(e=>b(f(e)))||n[0]}const J={claude:{id:`claude`,label:k.claude,configPath:(e,t)=>Ee({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>m(t??C(),`.claude`),projectConfigPath:e=>m(e,`.mcp.json`),projectSkillPath:e=>m(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:k[`claude-desktop`],configPath:(e,t)=>H({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(H({home:t}))},cursor:{id:`cursor`,label:k.cursor,configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(U({home:t})),projectConfigPath:e=>m(e,`.cursor`,`mcp.json`),projectSkillPath:e=>m(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:k.codex,configPath:(e,t)=>W({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(W({home:t})),projectConfigPath:e=>m(e,`.codex`,`config.toml`),projectSkillPath:e=>m(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:k.copilot,configPath:(e,t)=>G({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(G({home:t})),projectSkillPath:e=>m(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:k.opencode,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>o,buildEntry:(e,t)=>be(t),scope:`global`,detectPath:(e,t)=>f(K({home:t})),projectConfigPath:e=>m(e,`opencode.json`),projectSkillPath:e=>m(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:k.openclaw,configPath:(e,t)=>ke({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>m(t??C(),`.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:()=>o,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)=>je({home:t}),projectConfigPath:e=>m(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>m(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:k.antigravity,configPath:(e,t)=>Me({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>m(t??C(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:k[`lm-studio`],configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(q({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:k.hermes,configPath:(e,t)=>Ae({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>o,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>m(t??C(),`.hermes`),offerOnlyWhenDetected:!0}};function Pe(e){let t=e.filter(e=>!Object.hasOwn(J,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${O.join(`, `)}`);return e.map(e=>J[e])}function Y(e){let t=[];for(let n of l){let r=c[n];t.push({path:m(e,`.agents`,`skills`,r),bundleId:n,scope:`central`});for(let i of A)t.push({path:m(e,i.hostDir,`skills`,r),bundleId:n,scope:`host`,hostDir:i.hostDir})}return t}function Fe(e,t){let n=[];for(let r of Y(e))if(r.bundleId===t)try{S(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}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=x(t)}catch{n=_(t)}let r=f(e);for(;r.length>1&&r!==v;){let t;try{t=x(r)}catch(e){if(e.code===`ENOENT`){r=f(r);continue}throw e}let i=g(n,t);if(i===``||!i.startsWith(`..`)&&!p(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 Ie(e,t,n){try{if(ie(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 Le(e,t,n={}){if(e.id!==`copilot`)return!0;try{return Ie(e,t,e.configPath(t,n.home))}catch{return!1}}function Re(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Le(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=u(`project`,{checkDesktop:!0}),i=f(r);X(i,t);let a=b(r)?`overwritten`:`written`;return S(i,{recursive:!0,force:!0}),ne(f(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 ze(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=f(n);return b(n)?(Z(r,t),S(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{ge as C,fe as S,xe as _,Fe as a,Pe as b,k as c,F as d,I as f,ye as g,Ce as h,Re as i,J as l,R as m,Z as n,Y as o,ve as p,ze as r,O as s,X as t,A as u,we as v,me as x,Te as y};
56
- //# sourceMappingURL=write-project-skill-Cm0CAVv2.mjs.map
55
+ exit 127`,F=`// ok-pi-bridge`,I=`${F}-v1`,ve=`ok-pi-managed-extension`;function ye(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(I)}return!1}function L(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=_(e);if(d(t)===`cli.mjs`&&d(f(t))===`dist`)return t;let n=t.split(v),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 m(i.length===0?v:i.join(v),`packages`,`cli`,`dist`,`cli.mjs`)}function R(e={}){return e.mode===`dev`?{command:j,args:[L(),`mcp`],env:{...M}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,P]}:{command:`/bin/sh`,args:[`-l`,`-c`,N]}}function be(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[j,L(),`mcp`],environment:{...M}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,P]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,N]}}function xe(e){if(typeof e!=`object`||!e)return!1;let t=e;return z(t,R({mode:`published`,platformName:`darwin`}))||z(t,R({mode:`published`,platformName:`win32`}))}function z(e,t){return Object.keys(e).length===Object.keys(t).length?Se(e,t):!1}function Se(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 B(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 Ce(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.enabled===!1||typeof t.command!=`string`||!Array.isArray(t.args)?!1:B(t.args,t.command)}function we(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`&&B(r,n)}function V(e){return e===`win32`?y:h}function Te(e={}){let t=e.platformName??process.platform,n=e.home??C(),r=e.env??process.env,i=V(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 Ee(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.claude.json`)}function H(e={}){let t=e.platformName??process.platform,n=e.home??C(),r=e.env??process.env;if(t===`darwin`)return h.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??y.join(n,`AppData`,`Roaming`);return y.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.cursor`,`mcp.json`)}function De(e={}){let t=e.platformName??process.platform,n=e.home??C();return(e.env??process.env).CODEX_HOME??V(t).join(n,`.codex`)}function W(e={}){return V(e.platformName??process.platform).join(De(e),`config.toml`)}function G(e={}){let t=e.platformName??process.platform,n=e.home??C(),r=(e.env??process.env).COPILOT_HOME??V(t).join(n,`.copilot`);return V(t).join(r,`mcp-config.json`)}function Oe(e={}){let t=e.platformName??process.platform,n=e.home??C(),r=e.env??process.env,i=V(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 K(e={}){return V(e.platformName??process.platform).join(Oe(e),`opencode.json`)}function ke(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.openclaw`,`openclaw.json`)}function Ae(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.hermes`,`config.yaml`)}function je(e={}){let t=e.platformName??process.platform,n=e.home??C();return(e.env??process.env).PI_CODING_AGENT_DIR??V(t).join(n,`.pi`,`agent`)}function Me(e={}){let t=e.platformName??process.platform,n=e.home??C();return V(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function Ne(e,t){let n=V(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 q(e={}){let t=e.platformName??process.platform,n=Ne(e.home??C(),t);return n.find(e=>b(e))||n.find(e=>b(f(e)))||n[0]}const J={claude:{id:`claude`,label:k.claude,configPath:(e,t)=>Ee({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>m(t??C(),`.claude`),projectConfigPath:e=>m(e,`.mcp.json`),projectSkillPath:e=>m(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:k[`claude-desktop`],configPath:(e,t)=>H({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(H({home:t}))},cursor:{id:`cursor`,label:k.cursor,configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(U({home:t})),projectConfigPath:e=>m(e,`.cursor`,`mcp.json`),projectSkillPath:e=>m(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:k.codex,configPath:(e,t)=>W({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(W({home:t})),projectConfigPath:e=>m(e,`.codex`,`config.toml`),projectSkillPath:e=>m(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:k.copilot,configPath:(e,t)=>G({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(G({home:t})),projectSkillPath:e=>m(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:k.opencode,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>i,buildEntry:(e,t)=>be(t),scope:`global`,detectPath:(e,t)=>f(K({home:t})),projectConfigPath:e=>m(e,`opencode.json`),projectSkillPath:e=>m(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:k.openclaw,configPath:(e,t)=>ke({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>m(t??C(),`.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:()=>i,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)=>je({home:t}),projectConfigPath:e=>m(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>m(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:k.antigravity,configPath:(e,t)=>Me({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>m(t??C(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:k[`lm-studio`],configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>f(q({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:k.hermes,configPath:(e,t)=>Ae({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>i,buildEntry:(e,t)=>R(t),scope:`global`,detectPath:(e,t)=>m(t??C(),`.hermes`),offerOnlyWhenDetected:!0}};function Pe(e){let t=e.filter(e=>!Object.hasOwn(J,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${O.join(`, `)}`);return e.map(e=>J[e])}function Y(e){let t=[];for(let n of c){let r=s[n];t.push({path:m(e,`.agents`,`skills`,r),bundleId:n,scope:`central`});for(let i of A)t.push({path:m(e,i.hostDir,`skills`,r),bundleId:n,scope:`host`,hostDir:i.hostDir})}return t}function Fe(e,t){let n=[];for(let r of Y(e))if(r.bundleId===t)try{S(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}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=x(t)}catch{n=_(t)}let r=f(e);for(;r.length>1&&r!==v;){let t;try{t=x(r)}catch(e){if(e.code===`ENOENT`){r=f(r);continue}throw e}let i=g(n,t);if(i===``||!i.startsWith(`..`)&&!p(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 Ie(e,t,n){try{if(ie(n).size>10485760)return!1}catch{return!1}let r;try{r=re(n,`utf-8`)}catch{return!1}let i=[],a=l(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 s=e.serverMapSubKey?o[e.serverMapSubKey]:o;return $(s)?$(s[e.serverName(t)]):!1}function Le(e,t,n={}){if(e.id!==`copilot`)return!0;try{return Ie(e,t,e.configPath(t,n.home))}catch{return!1}}function Re(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Le(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=u(`project`,{checkDesktop:!0}),i=f(r);X(i,t);let a=b(r)?`overwritten`:`written`;return S(i,{recursive:!0,force:!0}),ne(f(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 ze(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=f(n);return b(n)?(Z(r,t),S(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{ge as C,fe as S,xe as _,Fe as a,Pe as b,k as c,F as d,I as f,ye as g,Ce as h,Re as i,J as l,R as m,Z as n,Y as o,ve as p,ze as r,O as s,X as t,A as u,we as v,me as x,Te as y};
56
+ //# sourceMappingURL=write-project-skill-XdhLhz7G.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.40.0-beta.2",
3
+ "version": "0.41.0-beta.0",
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-app": "0.40.0-beta.2",
65
- "@inkeep/open-knowledge-core": "0.40.0-beta.2",
64
+ "@inkeep/open-knowledge-app": "0.41.0-beta.0",
65
+ "@inkeep/open-knowledge-core": "0.41.0-beta.0",
66
66
  "@inkeep/open-knowledge-native-config": "0.0.0",
67
- "@inkeep/open-knowledge-server": "0.40.0-beta.2"
67
+ "@inkeep/open-knowledge-server": "0.41.0-beta.0"
68
68
  },
69
69
  "scripts": {
70
70
  "build:cli": "tsdown",
@@ -1,2 +0,0 @@
1
- import"./src-IQdx1yfl.mjs";var e=`0.40.0-beta.2`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-BJzJKgN0.mjs.map
@@ -1 +0,0 @@
1
- import{_ as e,c as t}from"./fs-traced-PoaSX4-V.mjs";export{t as tracedMkdir,e as tracedWriteFile};
@@ -1 +0,0 @@
1
- import{r as e}from"./git-handle-DQgl5oTH.mjs";export{e as createGitInstance};
@@ -1 +0,0 @@
1
- import{g as e}from"./init-CRqHukN0.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-B2FwNLO-.mjs";export{e as loadConfig};
@@ -1,2 +0,0 @@
1
- import{Xi as e,_i as t,ta as n}from"./src-IQdx1yfl.mjs";const r=new t({extensions:e,deriveStructuralFreshness:!0}),i=n(e);export{i as n,r as t};
2
- //# sourceMappingURL=md-manager-BFa4uLFA.mjs.map
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-2zt9BjS6.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DseTPa7n.js";import{t}from"./react-JNybMug3.js";import{t as n}from"./compiler-runtime-dQcBxOhn.js";import{n as r}from"./use-collab-url-CDJf5CAl.js";import{i,r as a}from"./thread-client-DyotU42S.js";var o=n(),s=e(t(),1);function c(){let e=(0,o.c)(3),{collabUrl:t}=r(),n,c;return e[0]===t?(n=e[1],c=e[2]):(n=()=>{a().setUrl(i(t))},c=[t],e[0]=t,e[1]=n,e[2]=c),(0,s.useEffect)(n,c),null}export{c as AgentThreadClientBinder};