@inkeep/open-knowledge 0.26.0-beta.5 → 0.26.1-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 (229) hide show
  1. package/dist/assets/skills/discovery/SKILL.md +1 -1
  2. package/dist/assets/skills/project/SKILL.md +1 -1
  3. package/dist/assets/skills/write-skill/SKILL.md +1 -1
  4. package/dist/cli.mjs +6 -6
  5. package/dist/constants-DD1vFa4x.mjs +2 -0
  6. package/dist/{dist-DiH4BfG7.mjs → dist-8nP7FWRJ.mjs} +4 -4
  7. package/dist/{dist-DbHpuwTn.mjs → dist-CAqnFXLk.mjs} +1 -1
  8. package/dist/{gh-detect-Dqh25Gvy.mjs → gh-detect-BUJyWvGO.mjs} +2 -2
  9. package/dist/index.mjs +1 -1
  10. package/dist/init-B6R7MjUV.mjs +1 -0
  11. package/dist/{init-D_Hv4G9E.mjs → init-PRyeywYh.mjs} +4 -4
  12. package/dist/loader-BfVnYk1e.mjs +1 -0
  13. package/dist/{loader-ByL0fuo1.mjs → loader-DMPg8dx0.mjs} +2 -2
  14. package/dist/{preview-DqfhiKg1.mjs → preview-CBtfUn_-.mjs} +2 -2
  15. package/dist/preview-DCCaNN2f.mjs +1 -0
  16. package/dist/public/assets/ActivityModeContent-ZV1oiH21.js +2 -0
  17. package/dist/public/assets/{ConsentDialogBody-CJbrNbjF.js → ConsentDialogBody-ClEtx_H4.js} +1 -1
  18. package/dist/public/assets/{DocumentContext-C_V1isNt.js → DocumentContext-CNrQKGNw.js} +20 -20
  19. package/dist/public/assets/{EnableSyncConfirmDialog-Bp6Kd2LQ.js → EnableSyncConfirmDialog-BhMvTv-2.js} +1 -1
  20. package/dist/public/assets/{GraphPanel-BhIkr37z.js → GraphPanel-B_Rx6o7k.js} +2 -2
  21. package/dist/public/assets/{ManagedArtifactProperties-DzFe6puF.js → ManagedArtifactProperties-CabIneyc.js} +1 -1
  22. package/dist/public/assets/{McpConsentDialogBody-B0SbotVo.js → McpConsentDialogBody-DW0Ku8h2.js} +1 -1
  23. package/dist/public/assets/{PropertyPanel-DiDVwjmp.js → PropertyPanel-BGGPGg8z.js} +2 -2
  24. package/dist/public/assets/{SettingsDialogBody-C8PV2L6O.js → SettingsDialogBody-D9Spbasa.js} +2 -2
  25. package/dist/public/assets/{ShareBranchSwitchDialog-C19Tz0FD.js → ShareBranchSwitchDialog-MF01jVyK.js} +1 -1
  26. package/dist/public/assets/{ShareReceiveDialog-dqLPJobK.js → ShareReceiveDialog-BeDLlUWc.js} +1 -1
  27. package/dist/public/assets/{ShareReceiveMissDialog-Dm3YM4sS.js → ShareReceiveMissDialog-CErdFiaW.js} +1 -1
  28. package/dist/public/assets/{SkillEditorActions-OYbuHPJK.js → SkillEditorActions--NrMimEw.js} +1 -1
  29. package/dist/public/assets/SourceEditor-DR04Kk-L.js +2 -0
  30. package/dist/public/assets/{TerminalPanel-DGqKElUY.js → TerminalPanel-CDlxv5DM.js} +1 -1
  31. package/dist/public/assets/{_baseFor-D774tcxR.js → _baseFor-CyNhGcoH.js} +1 -1
  32. package/dist/public/assets/{arc-CbtK-u7K.js → arc-D83o8OOg.js} +1 -1
  33. package/dist/public/assets/architecture-YZFGNWBL-D9UBIAHq.js +1 -0
  34. package/dist/public/assets/{architectureDiagram-Q4EWVU46-BEI0DR2f.js → architectureDiagram-Q4EWVU46-ChCk9piL.js} +1 -1
  35. package/dist/public/assets/{auth-state-cache-UHIDVo1H.js → auth-state-cache-XGzST2ZD.js} +3 -3
  36. package/dist/public/assets/{blockDiagram-DXYQGD6D-CvhaR3v1.js → blockDiagram-DXYQGD6D-BzhsSfS3.js} +1 -1
  37. package/dist/public/assets/{c4Diagram-AHTNJAMY-CGJ_dXh7.js → c4Diagram-AHTNJAMY-DulnnLxj.js} +1 -1
  38. package/dist/public/assets/{calendar-D62otKE3.js → calendar-1ajmwUXD.js} +1 -1
  39. package/dist/public/assets/channel-DytC2OSB.js +1 -0
  40. package/dist/public/assets/{chunk-2KRD3SAO-CTZc4q6X.js → chunk-2KRD3SAO-DsNBCxFU.js} +1 -1
  41. package/dist/public/assets/{chunk-336JU56O-Df_WdTwV.js → chunk-336JU56O-CcZCge2-.js} +2 -2
  42. package/dist/public/assets/chunk-426QAEUC-CAVhttwb.js +1 -0
  43. package/dist/public/assets/{chunk-4BX2VUAB-DdaeBv7j.js → chunk-4BX2VUAB-Grk9TGXN.js} +1 -1
  44. package/dist/public/assets/{chunk-4TB4RGXK-Z_KF79WQ.js → chunk-4TB4RGXK-CAXYTGg7.js} +1 -1
  45. package/dist/public/assets/chunk-55IACEB6-DuYRPofq.js +1 -0
  46. package/dist/public/assets/{chunk-5FUZZQ4R-BP1tPdP4.js → chunk-5FUZZQ4R-BrmoYnYM.js} +1 -1
  47. package/dist/public/assets/{chunk-5PVQY5BW-DHmdYl18.js → chunk-5PVQY5BW-CEeElQgj.js} +1 -1
  48. package/dist/public/assets/{chunk-67CJDMHE-Dr8TgESK.js → chunk-67CJDMHE-DRCcVE5j.js} +1 -1
  49. package/dist/public/assets/{chunk-7N4EOEYR-wyEzdjqa.js → chunk-7N4EOEYR-ChRf9CRN.js} +1 -1
  50. package/dist/public/assets/{chunk-AA7GKIK3-DwcoEi3L.js → chunk-AA7GKIK3-DJMIkYZB.js} +1 -1
  51. package/dist/public/assets/{chunk-BSJP7CBP-Bi10nqUB.js → chunk-BSJP7CBP-CkhFUxRl.js} +1 -1
  52. package/dist/public/assets/{chunk-CIAEETIT-BRhaZZvf.js → chunk-CIAEETIT-aHYgXftd.js} +1 -1
  53. package/dist/public/assets/{chunk-EDXVE4YY-Cdm2p7eD.js → chunk-EDXVE4YY-B1j4UpBa.js} +1 -1
  54. package/dist/public/assets/{chunk-ENJZ2VHE-CtYN5PYG.js → chunk-ENJZ2VHE-BNy6Rh-1.js} +1 -1
  55. package/dist/public/assets/{chunk-FMBD7UC4-yxpni0iy.js → chunk-FMBD7UC4-CSbbREu-.js} +1 -1
  56. package/dist/public/assets/{chunk-FOC6F5B3-zU_D2qL3.js → chunk-FOC6F5B3-Dr33I0tU.js} +1 -1
  57. package/dist/public/assets/{chunk-ICPOFSXX-B1LaL7po.js → chunk-ICPOFSXX-1RLN41rn.js} +1 -1
  58. package/dist/public/assets/{chunk-K5T4RW27-CMA0573G.js → chunk-K5T4RW27-CYsL3ocS.js} +1 -1
  59. package/dist/public/assets/{chunk-KGLVRYIC-4qBf2hVO.js → chunk-KGLVRYIC-D64iCe0j.js} +1 -1
  60. package/dist/public/assets/{chunk-LIHQZDEY-DLhCQB7m.js → chunk-LIHQZDEY-QwBKmGy0.js} +1 -1
  61. package/dist/public/assets/{chunk-ORNJ4GCN-DYvOtc7p.js → chunk-ORNJ4GCN-C7OAq2PD.js} +1 -1
  62. package/dist/public/assets/{chunk-OYMX7WX6-Cb6J6ILi.js → chunk-OYMX7WX6-DKweTKMn.js} +1 -1
  63. package/dist/public/assets/chunk-QZHKN3VN-DhXqi7R7.js +1 -0
  64. package/dist/public/assets/{chunk-U2HBQHQK-BQEFtvNE.js → chunk-U2HBQHQK-mRJ3fq4T.js} +1 -1
  65. package/dist/public/assets/{chunk-X2U36JSP-B0NFvVYj.js → chunk-X2U36JSP-BIFgIXrZ.js} +1 -1
  66. package/dist/public/assets/{chunk-XPW4576I-CWtaxsuf.js → chunk-XPW4576I-DG64u9p6.js} +1 -1
  67. package/dist/public/assets/{chunk-YZCP3GAM-wveZpL2J.js → chunk-YZCP3GAM-BWUy7IDu.js} +1 -1
  68. package/dist/public/assets/{chunk-ZZ45TVLE-DjoyvapL.js → chunk-ZZ45TVLE-DseNoBkl.js} +1 -1
  69. package/dist/public/assets/classDiagram-6PBFFD2Q-DYWeklG8.js +1 -0
  70. package/dist/public/assets/classDiagram-v2-HSJHXN6E-CfLkcf5Y.js +1 -0
  71. package/dist/public/assets/clone-JWFgAdwR.js +1 -0
  72. package/dist/public/assets/{config-provider-BCfJ49jt.js → config-provider-CNEpgM_S.js} +2 -2
  73. package/dist/public/assets/{cose-bilkent-S5V4N54A--ojmzpj3.js → cose-bilkent-S5V4N54A-VDkktAp6.js} +1 -1
  74. package/dist/public/assets/{dagre-KV5264BT-LC6-Nebl.js → dagre-KV5264BT-DSZ_VImb.js} +1 -1
  75. package/dist/public/assets/{dagre-D_jVclke.js → dagre-vhYcUXka.js} +1 -1
  76. package/dist/public/assets/{diagram-5BDNPKRD-HYhuDT0y.js → diagram-5BDNPKRD-DXB4cP1D.js} +1 -1
  77. package/dist/public/assets/{diagram-G4DWMVQ6-CSvJiR_m.js → diagram-G4DWMVQ6-Da83oaRA.js} +1 -1
  78. package/dist/public/assets/{diagram-MMDJMWI5-CaR4m-x5.js → diagram-MMDJMWI5-DjbYSzQh.js} +1 -1
  79. package/dist/public/assets/{diagram-TYMM5635-C2IGbfjW.js → diagram-TYMM5635-Bdai1eSE.js} +1 -1
  80. package/dist/public/assets/{dist-CkLidFHS.js → dist-B9f86446.js} +1 -1
  81. package/dist/public/assets/{dist-BEW6C_CZ.js → dist-BUqH6ZNg.js} +1 -1
  82. package/dist/public/assets/{dist-DPfhM7y8.js → dist-BuALIrNm.js} +1 -1
  83. package/dist/public/assets/{dist-CgYE3gek.js → dist-C71DLMde.js} +1 -1
  84. package/dist/public/assets/{dist-Dg5nhLZ2.js → dist-C75OCMT0.js} +1 -1
  85. package/dist/public/assets/{dist-COgUpCH8.js → dist-CQyX-suk.js} +149 -149
  86. package/dist/public/assets/{dist-DI8cI4NP.js → dist-CiFyjhkz.js} +1 -1
  87. package/dist/public/assets/{dist-CPpRuwFX.js → dist-DG-zKHrl.js} +1 -1
  88. package/dist/public/assets/{dist-BuoXuHTG.js → dist-DQJENePL.js} +1 -1
  89. package/dist/public/assets/{dist-D8Itza26.js → dist-DsZfUH3j.js} +1 -1
  90. package/dist/public/assets/{dist-D7I9jMga.js → dist-jwOy5oFW.js} +1 -1
  91. package/dist/public/assets/doc-hash-DK_ofUpp.js +1 -0
  92. package/dist/public/assets/{documents-events-CC0YYok8.js → documents-events-DWU2wzVY.js} +1 -1
  93. package/dist/public/assets/{erDiagram-SMLLAGMA-D1J1j3Yx.js → erDiagram-SMLLAGMA-BVfj1vre.js} +1 -1
  94. package/dist/public/assets/file-tree-adapter-Co_rTNFv.js +1 -0
  95. package/dist/public/assets/{flatten-CaB4Oqne.js → flatten-D_Wjvstd.js} +1 -1
  96. package/dist/public/assets/{flowDiagram-DWJPFMVM-CMNxv96M.js → flowDiagram-DWJPFMVM-OSUtzHqA.js} +1 -1
  97. package/dist/public/assets/{ganttDiagram-T4ZO3ILL-DSJ51gJ8.js → ganttDiagram-T4ZO3ILL-B-nn56dM.js} +1 -1
  98. package/dist/public/assets/gitGraph-7Q5UKJZL-BbqhmoM-.js +1 -0
  99. package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-eqtXz7Hn.js → gitGraphDiagram-UUTBAWPF-DZkSF-OC.js} +1 -1
  100. package/dist/public/assets/{graphlib-CgeMr8SV.js → graphlib-BIasyxiN.js} +1 -1
  101. package/dist/public/assets/index-CLrcKKoN.css +1 -0
  102. package/dist/public/assets/index-CyAGZpgf.js +2003 -0
  103. package/dist/public/assets/info-OMHHGYJF-DnibNYIM.js +1 -0
  104. package/dist/public/assets/{infoDiagram-42DDH7IO-CB_Gw_tn.js → infoDiagram-42DDH7IO-BeC9BiIu.js} +1 -1
  105. package/dist/public/assets/{isEmpty-DA9OVgr8.js → isEmpty-n3rjfMgT.js} +1 -1
  106. package/dist/public/assets/isSymbol-XZKBrOoF.js +1 -0
  107. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-Cnz_ITKx.js → ishikawaDiagram-UXIWVN3A-Dkujw5jx.js} +1 -1
  108. package/dist/public/assets/{journeyDiagram-VCZTEJTY-3INdsNOc.js → journeyDiagram-VCZTEJTY-CUCWKR7f.js} +1 -1
  109. package/dist/public/assets/{kanban-definition-6JOO6SKY-BXFLNQXS.js → kanban-definition-6JOO6SKY-CYLhLDNP.js} +1 -1
  110. package/dist/public/assets/{keyboard-shortcuts-BvDMvGCY.js → keyboard-shortcuts-B_CAsza0.js} +1 -1
  111. package/dist/public/assets/{line-DXPDJkMA.js → line-C2FdpsKU.js} +1 -1
  112. package/dist/public/assets/{linear-BmFs-_tv.js → linear-uAS6gY07.js} +1 -1
  113. package/dist/public/assets/{mermaid-parser.core-B0CngrEV.js → mermaid-parser.core-D3oLXj2Q.js} +2 -2
  114. package/dist/public/assets/{mermaid.core-BKAbpHOL.js → mermaid.core-Cam_8F7g.js} +3 -3
  115. package/dist/public/assets/{mindmap-definition-QFDTVHPH-Bm9VbqSR.js → mindmap-definition-QFDTVHPH-xm-abLJ0.js} +1 -1
  116. package/dist/public/assets/navigation-targets-B88nmSdU.js +1 -0
  117. package/dist/public/assets/{now-Cnt3xXdO.js → now-Cz4lG-PF.js} +1 -1
  118. package/dist/public/assets/{open-managed-artifact-tab-BcF0fQMf.js → open-managed-artifact-tab-Bk_tqTdp.js} +2 -2
  119. package/dist/public/assets/{ordinal-Ca5DZ3xr.js → ordinal-DdJ_tP-k.js} +1 -1
  120. package/dist/public/assets/packet-4T2RLAQJ-CQ75ftcu.js +1 -0
  121. package/dist/public/assets/{pending-receive-nav-store-DyAPwILy.js → pending-receive-nav-store-DpqQxXOd.js} +1 -1
  122. package/dist/public/assets/pie-ZZUOXDRM-DrLpeke2.js +1 -0
  123. package/dist/public/assets/{pieDiagram-DEJITSTG-0LpqYimt.js → pieDiagram-DEJITSTG-BOho7tDc.js} +1 -1
  124. package/dist/public/assets/prop-types-YLAnoO2T.js +1 -0
  125. package/dist/public/assets/{quadrantDiagram-34T5L4WZ-D4bhJC5O.js → quadrantDiagram-34T5L4WZ-BeSxfVib.js} +1 -1
  126. package/dist/public/assets/radar-PYXPWWZC-DsxR4TyY.js +1 -0
  127. package/dist/public/assets/{receive-store-D19RejeY.js → receive-store-BVPHm3DM.js} +1 -1
  128. package/dist/public/assets/{reduce-BkAOm6E5.js → reduce-CLi1_fYh.js} +1 -1
  129. package/dist/public/assets/{requirementDiagram-MS252O5E-CrZIuUV5.js → requirementDiagram-MS252O5E-Cyy0OBiH.js} +1 -1
  130. package/dist/public/assets/{sankeyDiagram-XADWPNL6-CDJh0Hcw.js → sankeyDiagram-XADWPNL6-CxxO0Br2.js} +1 -1
  131. package/dist/public/assets/{selection-context-BVnim3b0.js → selection-context-ythQq0B9.js} +1 -1
  132. package/dist/public/assets/{sequenceDiagram-FGHM5R23-Crf8F-0v.js → sequenceDiagram-FGHM5R23-D2PtzhZJ.js} +1 -1
  133. package/dist/public/assets/{skill-actions-CPCoy7bt.js → skill-actions-CbRk7LAn.js} +1 -1
  134. package/dist/public/assets/{skills-api-iQOrzhIN.js → skills-api-9bY3Jtgz.js} +1 -1
  135. package/dist/public/assets/{src-60u1_sM3.js → src-28IIV2Sn.js} +1 -1
  136. package/dist/public/assets/{stateDiagram-FHFEXIEX-CoUQpm-3.js → stateDiagram-FHFEXIEX-DFFeLq2Y.js} +1 -1
  137. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-DH8XnZl5.js +1 -0
  138. package/dist/public/assets/target-navigation-intent-CwZkFyaW.js +1 -0
  139. package/dist/public/assets/{telemetry-impl-6qacFa_I.js → telemetry-impl-CWMvXlku.js} +2 -2
  140. package/dist/public/assets/{telemetry-startup-ZaSL-kj2.js → telemetry-startup-C7RfeonD.js} +1 -1
  141. package/dist/public/assets/{timeline-definition-GMOUNBTQ-CiQZrQPS.js → timeline-definition-GMOUNBTQ-DjU4O-O4.js} +1 -1
  142. package/dist/public/assets/treeView-SZITEDCU-DcfbDroR.js +1 -0
  143. package/dist/public/assets/treemap-W4RFUUIX-C1lvB3Lz.js +1 -0
  144. package/dist/public/assets/{typing-burst-detector-cn1H0uS_.js → typing-burst-detector-BwvPMOYl.js} +2 -2
  145. package/dist/public/assets/{vennDiagram-DHZGUBPP-CoqI8iiY.js → vennDiagram-DHZGUBPP-B5IEI223.js} +1 -1
  146. package/dist/public/assets/wardley-RL74JXVD-CsvQ_3RJ.js +1 -0
  147. package/dist/public/assets/{wardleyDiagram-NUSXRM2D-6pXCRu0Y.js → wardleyDiagram-NUSXRM2D-DmKxROfA.js} +1 -1
  148. package/dist/public/assets/{xychartDiagram-5P7HB3ND-C3ELwBEZ.js → xychartDiagram-5P7HB3ND-DfsFGMvs.js} +1 -1
  149. package/dist/public/index.html +36 -35
  150. package/dist/{repair-launch-json-BSGMKC96.mjs → repair-launch-json-BTNj6M_f.mjs} +2 -2
  151. package/dist/{repair-mcp-configs-C9q3ZvVl.mjs → repair-mcp-configs-O16EOKOn.mjs} +2 -2
  152. package/dist/repair-skills-DA0ooyBH.mjs +1 -0
  153. package/dist/{repair-skills-ByLKbnni.mjs → repair-skills-DWD-_EDm.mjs} +2 -2
  154. package/dist/server-lock-GuuouVft-CWlICi2c.mjs +1 -0
  155. package/dist/{server-lock-iLcBw_q0-Da9oOF2w.mjs → server-lock-iLcBw_q0-BF_u0tGL.mjs} +102 -102
  156. package/dist/{src-BA1Yphho.mjs → src-CJVMkS3e.mjs} +2 -2
  157. package/dist/start-BYgL5-Mq.mjs +1 -0
  158. package/dist/{start-DWJqj7vo.mjs → start-ChHGD1-B.mjs} +2 -2
  159. package/dist/{write-project-skill-Bs1gG-wO.mjs → write-project-skill--CBwKYY6.mjs} +2 -2
  160. package/package.json +1 -1
  161. package/dist/constants-S_QhKref.mjs +0 -2
  162. package/dist/init-Bf1DUtlY.mjs +0 -1
  163. package/dist/loader-5mQ7Le9u.mjs +0 -1
  164. package/dist/preview-DMxFmwrk.mjs +0 -1
  165. package/dist/public/assets/ActivityModeContent-Ur2cJgSB.js +0 -2
  166. package/dist/public/assets/SourceEditor-BQ7_OO9h.js +0 -2
  167. package/dist/public/assets/architecture-YZFGNWBL-BuVsq_Vy.js +0 -1
  168. package/dist/public/assets/channel-DQ8biAJJ.js +0 -1
  169. package/dist/public/assets/chunk-426QAEUC-Bmtezokd.js +0 -1
  170. package/dist/public/assets/chunk-55IACEB6-BMw0jGoU.js +0 -1
  171. package/dist/public/assets/chunk-QZHKN3VN-D9Augrqb.js +0 -1
  172. package/dist/public/assets/classDiagram-6PBFFD2Q-Bh_mU7DM.js +0 -1
  173. package/dist/public/assets/classDiagram-v2-HSJHXN6E-thFVFTz4.js +0 -1
  174. package/dist/public/assets/clone-CJvW7gHo.js +0 -1
  175. package/dist/public/assets/doc-hash-DcgMeKm-.js +0 -1
  176. package/dist/public/assets/file-tree-adapter-BLuleDPT.js +0 -1
  177. package/dist/public/assets/gitGraph-7Q5UKJZL-t28UFBv3.js +0 -1
  178. package/dist/public/assets/index-OrIRHYFw.js +0 -2003
  179. package/dist/public/assets/index-ufsO3NHc.css +0 -1
  180. package/dist/public/assets/info-OMHHGYJF-B1OgcQSI.js +0 -1
  181. package/dist/public/assets/isSymbol-BR3mCdgP.js +0 -1
  182. package/dist/public/assets/packet-4T2RLAQJ-BPKm0rz4.js +0 -1
  183. package/dist/public/assets/pie-ZZUOXDRM-C37JdEN8.js +0 -1
  184. package/dist/public/assets/prop-types-aWOJ-TZv.js +0 -1
  185. package/dist/public/assets/radar-PYXPWWZC-BqODBTH1.js +0 -1
  186. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-BM5GAHWg.js +0 -1
  187. package/dist/public/assets/target-navigation-intent-DOVeitMt.js +0 -1
  188. package/dist/public/assets/treeView-SZITEDCU-ByrE6Vcb.js +0 -1
  189. package/dist/public/assets/treemap-W4RFUUIX-BcYBme24.js +0 -1
  190. package/dist/public/assets/wardley-RL74JXVD-DDdV8nDz.js +0 -1
  191. package/dist/repair-skills-BXcD-5AJ.mjs +0 -1
  192. package/dist/server-lock-GuuouVft-inp3R0Qb.mjs +0 -1
  193. package/dist/start-4yoqFsYG.mjs +0 -1
  194. /package/dist/public/assets/{ActivityPanelDiffView-BPrpOwiv.js → ActivityPanelDiffView-DKeRw1Cx.js} +0 -0
  195. /package/dist/public/assets/{__vite-browser-external-DfbEpKPK.js → __vite-browser-external-BYnGn7dC.js} +0 -0
  196. /package/dist/public/assets/{array-DrKFfLpK.js → array-C2ARTgCj.js} +0 -0
  197. /package/dist/public/assets/{clike-CY4jFeI9.js → clike-D1vNpgsL.js} +0 -0
  198. /package/dist/public/assets/{colors-BwB-X4pV.js → colors-S-eYy0dP.js} +0 -0
  199. /package/dist/public/assets/{cytoscape.esm-B72MXB0V.js → cytoscape.esm-C8VTsmgM.js} +0 -0
  200. /package/dist/public/assets/{defaultLocale-DEFJZ-43.js → defaultLocale-Ddnx0blM.js} +0 -0
  201. /package/dist/public/assets/{desktop-bridge-types-C22Y6m5Y.js → desktop-bridge-types-BeY3wQCX.js} +0 -0
  202. /package/dist/public/assets/{diff-VsLDmRbo.js → diff-BeNfkPWe.js} +0 -0
  203. /package/dist/public/assets/{dist-DVPtn9Zx.js → dist-DLLyJf3c.js} +0 -0
  204. /package/dist/public/assets/{dist-BdpTVkuI.js → dist-VYgKuZZh.js} +0 -0
  205. /package/dist/public/assets/{external-link-ChNdN5KK.js → external-link-Do3_Yhal.js} +0 -0
  206. /package/dist/public/assets/{format-CFXD031r.js → format-IdV1ZccK.js} +0 -0
  207. /package/dist/public/assets/{go-CJnIK4Uo.js → go-BPQOrv_-.js} +0 -0
  208. /package/dist/public/assets/{init-20ACqh4a.js → init-C1Y52B8f.js} +0 -0
  209. /package/dist/public/assets/{isObjectLike-DURfeUEd.js → isObjectLike-B-XBvMIZ.js} +0 -0
  210. /package/dist/public/assets/{lua-BTUOHEPy.js → lua-De73j3Nj.js} +0 -0
  211. /package/dist/public/assets/{mcp-consent-store-Bx7YkTj-.js → mcp-consent-store-hDvds8gj.js} +0 -0
  212. /package/dist/public/assets/{min-cXlECwx8.js → min-Du20ti5G.js} +0 -0
  213. /package/dist/public/assets/{panzoom.es-BPpDWM66.js → panzoom.es-BcYSRiVh.js} +0 -0
  214. /package/dist/public/assets/{path-Bbctax8p.js → path-DAmnUwYX.js} +0 -0
  215. /package/dist/public/assets/{pdf-Cz6vffXS.js → pdf-PfDliStv.js} +0 -0
  216. /package/dist/public/assets/{pdf.worker-CUSszLRa.js → pdf.worker-rrxcKZlR.js} +0 -0
  217. /package/dist/public/assets/{perl-CSl7RrAK.js → perl-_CDvIe1D.js} +0 -0
  218. /package/dist/public/assets/{properties-KpJMIKzZ.js → properties-C7HiLOXK.js} +0 -0
  219. /package/dist/public/assets/{r-DFsc7DIH.js → r-C7fediNL.js} +0 -0
  220. /package/dist/public/assets/{rough.esm-CTApjP9q.js → rough.esm-CNnrul_b.js} +0 -0
  221. /package/dist/public/assets/{ruby-dZPnOz8h.js → ruby-ScdRRFFa.js} +0 -0
  222. /package/dist/public/assets/{share-metadata-rows-COyU9rhn.js → share-metadata-rows-Bd_ant37.js} +0 -0
  223. /package/dist/public/assets/{shell-CYSl653a.js → shell-DhAwSAum.js} +0 -0
  224. /package/dist/public/assets/{sql-BfVjfYES.js → sql-Cra_k0U6.js} +0 -0
  225. /package/dist/public/assets/{src-BjEzLuzr.js → src-cx4Sgc5-.js} +0 -0
  226. /package/dist/public/assets/{stex-DYxKXJZx.js → stex-AIAzjJoG.js} +0 -0
  227. /package/dist/public/assets/{swift-DjBuuwmF.js → swift-DmZcjeK9.js} +0 -0
  228. /package/dist/public/assets/{textarea-CUjvX3CU.js → textarea-9jwlIkqW.js} +0 -0
  229. /package/dist/public/assets/{toml-C3_Svn60.js → toml-QZGHzT2O.js} +0 -0
@@ -1,3 +1,3 @@
1
- import{s as e}from"./chunk-C94x7I9S.mjs";import{c as t,l as n,s as r,u as i}from"./server-lock-iLcBw_q0-Da9oOF2w.mjs";import{Mr as a,Nr as o,Tn as s,ii as c,pn as l,xn as u}from"./dist-DiH4BfG7.mjs";import{t as d}from"./esm-CsQUg9js.mjs";import"./gh-detect-Dqh25Gvy.mjs";import{x as f,y as p}from"./init-D_Hv4G9E.mjs";import{l as m,n as ee}from"./write-project-skill-Bs1gG-wO.mjs";import"./loader-ByL0fuo1.mjs";import{c as te}from"./colors-8SzMRIVy.mjs";import"./preview-DqfhiKg1.mjs";import{dirname as ne,isAbsolute as h,join as g,relative as _,resolve as v}from"node:path";import{hostname as re}from"node:os";import{existsSync as y,lstatSync as ie,readFileSync as b,readlinkSync as x,statSync as S}from"node:fs";import{readFile as C,realpath as w}from"node:fs/promises";function T(e,a,o={}){let s=i(e,a);if(!y(s))return{status:`missing`,lockPath:s};let c;try{c=JSON.parse(b(s,`utf-8`))}catch{return{status:`corrupt`,lockPath:s}}if(!c||typeof c!=`object`||!n(c.pid))return{status:`corrupt`,lockPath:s};let l=c;if(!(o.isAlive??t)(l.pid))return{status:`dead-pid`,lockPath:s,lock:l};if(typeof l.machineId==`string`)return l.machineId===(o.machineId??r())?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l};let u=o.host??re();return l.hostname===u?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l}}function E(e){return e.replace(/:\d+$/,``)}function D(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:E(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:E(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:E(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function O(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}function k(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`);if(n.length<5||n[0]!==``||n[3]!==`tree`)return null;let r=n.slice(5);r.length===1&&r[0]===``&&r.pop();let i,a,o,s;try{i=decodeURIComponent(n[1]),a=decodeURIComponent(n[2]),o=decodeURIComponent(n[4]),s=r.map(e=>decodeURIComponent(e))}catch{return null}return!i||!a||!o||s.some(e=>e.length===0)?null:{owner:i,repo:a,branch:o,path:s.join(`/`)}}function ae(e){let t=O(e);if(t)return{kind:`doc`,...t};let n=k(e);return n?{kind:`folder`,...n}:null}const oe=`# >>> open-knowledge cli >>>`,se=`# <<< open-knowledge cli <<<`,A=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function j(e){return g(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const M={existsSync:e=>y(e),readFileSync:(e,t)=>b(e,t),lstatSync:e=>ie(e),readlinkSync:e=>x(e)};function N(e,t=M){let n=j(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function P(e){let t=e.replace(A,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function F(e,t,n=M){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}const I=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`deinit`]);function L(e,t,n=s){if(e!==void 0&&!I.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let R=null;function z(e){R=e}function B(){return R??process.cwd()}var V=e(te(),1);function H(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function U(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function W(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:u(r),command:r,isDesktop:H(r)}}function G(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function K(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&G(e)?`ui-orphan`:`stale`}const ce=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function le(e){switch(e){case`running`:return V.default.green(e);case`desktop`:return V.default.blue(e);case`foreign`:return V.default.cyan(e);case`ui-orphan`:return V.default.magenta(e);case`stale`:return V.default.yellow(e)}}function q(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function ue(e){return`${q(e.server.usage)} | ${q(e.ui?.usage??null)}`}function de(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function fe(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=K(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,de(e),ue(e),t,String(n),U(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=le(K(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=V.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
1
+ import{s as e}from"./chunk-C94x7I9S.mjs";import{c as t,l as n,s as r,u as i}from"./server-lock-iLcBw_q0-BF_u0tGL.mjs";import{Mr as a,Nr as o,Tn as s,ii as c,pn as l,xn as u}from"./dist-8nP7FWRJ.mjs";import{t as d}from"./esm-CsQUg9js.mjs";import"./gh-detect-BUJyWvGO.mjs";import{x as f,y as p}from"./init-PRyeywYh.mjs";import{l as m,n as ee}from"./write-project-skill--CBwKYY6.mjs";import"./loader-DMPg8dx0.mjs";import{c as te}from"./colors-8SzMRIVy.mjs";import"./preview-CBtfUn_-.mjs";import{dirname as ne,isAbsolute as h,join as g,relative as _,resolve as v}from"node:path";import{hostname as re}from"node:os";import{existsSync as y,lstatSync as ie,readFileSync as b,readlinkSync as x,statSync as S}from"node:fs";import{readFile as C,realpath as w}from"node:fs/promises";function T(e,a,o={}){let s=i(e,a);if(!y(s))return{status:`missing`,lockPath:s};let c;try{c=JSON.parse(b(s,`utf-8`))}catch{return{status:`corrupt`,lockPath:s}}if(!c||typeof c!=`object`||!n(c.pid))return{status:`corrupt`,lockPath:s};let l=c;if(!(o.isAlive??t)(l.pid))return{status:`dead-pid`,lockPath:s,lock:l};if(typeof l.machineId==`string`)return l.machineId===(o.machineId??r())?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l};let u=o.host??re();return l.hostname===u?{status:`alive`,lockPath:s,lock:l}:{status:`foreign-host`,lockPath:s,lock:l}}function E(e){return e.replace(/:\d+$/,``)}function D(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:E(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:E(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:E(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function O(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}function k(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`);if(n.length<5||n[0]!==``||n[3]!==`tree`)return null;let r=n.slice(5);r.length===1&&r[0]===``&&r.pop();let i,a,o,s;try{i=decodeURIComponent(n[1]),a=decodeURIComponent(n[2]),o=decodeURIComponent(n[4]),s=r.map(e=>decodeURIComponent(e))}catch{return null}return!i||!a||!o||s.some(e=>e.length===0)?null:{owner:i,repo:a,branch:o,path:s.join(`/`)}}function ae(e){let t=O(e);if(t)return{kind:`doc`,...t};let n=k(e);return n?{kind:`folder`,...n}:null}const oe=`# >>> open-knowledge cli >>>`,se=`# <<< open-knowledge cli <<<`,A=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function j(e){return g(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const M={existsSync:e=>y(e),readFileSync:(e,t)=>b(e,t),lstatSync:e=>ie(e),readlinkSync:e=>x(e)};function N(e,t=M){let n=j(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function P(e){let t=e.replace(A,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function F(e,t,n=M){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}const I=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`deinit`]);function L(e,t,n=s){if(e!==void 0&&!I.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let R=null;function z(e){R=e}function B(){return R??process.cwd()}var V=e(te(),1);function H(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function U(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function W(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:u(r),command:r,isDesktop:H(r)}}function G(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function K(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&G(e)?`ui-orphan`:`stale`}const ce=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function le(e){switch(e){case`running`:return V.default.green(e);case`desktop`:return V.default.blue(e);case`foreign`:return V.default.cyan(e);case`ui-orphan`:return V.default.magenta(e);case`stale`:return V.default.yellow(e)}}function q(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function ue(e){return`${q(e.server.usage)} | ${q(e.ui?.usage??null)}`}function de(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function fe(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=K(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,de(e),ue(e),t,String(n),U(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=le(K(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=V.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
2
2
  `)}async function J(e={}){let t=e.discover??l,n=e.inspect??T,r=e.log??(e=>console.log(e)),i=e.resolveCommand??a,s=e.resolveUsage??o,c=await t(),u=[];for(let e of c){let t=n(e,`server`),r=n(e,`ui`),a=W(e,t,r,t.status===`missing`||t.status===`corrupt`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:s(t.lock.pid),r.status===`missing`||r.status===`corrupt`?null:s(r.lock.pid));a!=null&&u.push(a)}if(e.json){let e=u.map(e=>({...e,displayStatus:K(e)}));r(JSON.stringify(e,null,2));return}r(fe(e.all?u:u.filter(e=>ce.has(K(e)))))}function pe(){return new d(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale (dead-pid) entries (foreign-host shows by default)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await J({all:t.all===!0||e===`all`,json:t.json===!0})})}function me(e,n,r={}){let i=r.isAlive??t,a=[];for(let[t,r]of[[`server`,e],[`ui`,n]])(r.status===`alive`||r.status===`foreign-host`&&i(r.lock.pid))&&a.push({name:t,pid:r.lock.pid,port:r.lock.port});return{targets:a}}function Y(e){let t=e.inspect??(t=>T(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=me(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function X(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function he(e,n=t){let r=await l(),i=null;for(let t of r){let r=T(t,`server`),a=T(t,`ui`);if(X(r,n)&&r.lock.port===e||X(a,n)&&a.lock.port===e)return t;i===null&&(X(r,n)&&r.lock.pid===e||X(a,n)&&a.lock.pid===e)&&(i=t)}return i}function Z(e){let t=Y({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function ge(e){return new d(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async n=>{let r=n.length===0?void 0:n.join(` `);if(r===void 0){e();let t=Y({lockDir:c(process.cwd()),log:()=>{}});if(t.hadTargets){if(t.stopped.length>0){let e=t.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}t.failed.length>0&&(process.exitCode=1)}else await J({});return}if(r===`all`){let e=await l();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let n=0;for(let r of e){let e=T(r,`server`),i=T(r,`ui`);!X(e,t)&&!X(i,t)||(Z(r),n++)}n===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(r)){let e=Number.parseInt(r,10),t=await he(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}Z(t);return}Z(c(v(B(),r)))})}function _e(e){return{event:`mcp-config-decline`,scope:e.scope,surface:e.surface,editorId:e.editorId,reason:e.reason}}async function Q(e,t){let n,r;try{n=await w(v(e)),r=await w(v(ne(e)))}catch{return{kind:`not-git`}}if(!$(n,r))return{kind:`symlink-escape`};let i=g(n,`.git`),a;try{a=S(i)}catch{return{kind:`not-git`}}let o;if(a.isDirectory()){let e;try{e=await w(i)}catch{return{kind:`not-git`}}if(!$(e,n))return{kind:`symlink-escape`};o=e}else if(a.isFile()){let e;try{e=await C(i,`utf-8`)}catch{return{kind:`not-git`}}let t=/^gitdir:\s*(.+)$/m.exec(e.trim());if(!t)return{kind:`not-git`};let r=t[1].trim(),a=h(r)?r:v(n,r);try{o=await w(a)}catch{return{kind:`not-git`}}}else return{kind:`not-git`};let s=g(await ve(o),`config`),c;try{c=await C(s,`utf-8`)}catch{return{kind:`not-git`}}let l=be(c);if(l===null)return{kind:`no-origin`};let u=D(l);if(u===null||u.hostname!==`github.com`)return{kind:`non-github`};let d=u.owner.toLowerCase()===t.owner.toLowerCase(),f=u.name.toLowerCase()===t.repo.toLowerCase();return!d||!f?{kind:`wrong-repo`,actualOwner:u.owner,actualRepo:u.name}:{kind:`ok`,gitRemoteUrl:`https://github.com/${u.owner}/${u.name}.git`}}async function ve(e){let t;try{t=(await C(g(e,`commondir`),`utf-8`)).trim()}catch{return e}if(t.length===0)return e;let n=h(t)?t:v(e,t);try{return await w(n)}catch{return n}}function $(e,t){if(e===t)return!0;let n=_(t,e);return n.length>0&&!n.startsWith(`..`)&&!h(n)}function ye(e){let t=e.indexOf(`#`),n=e.indexOf(`;`),r=-1;return t>=0&&n>=0?r=Math.min(t,n):t>=0?r=t:n>=0&&(r=n),(r===-1?e:e.slice(0,r)).trim()}function be(e){let t=!1;for(let n of e.split(/\r?\n/)){let e=ye(n);if(e.length===0)continue;if(e.startsWith(`[`)){t=/^\[\s*remote\s+["']origin["']\s*\]$/.test(e);continue}if(!t)continue;let r=/^url\s*=\s*(.+)$/.exec(e);if(r)return xe(r[1])}return null}function xe(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}const Se=[{id:`mcp-config`,write(e,t,n){let r=e.projectConfigPath?.(t);if(!r)return{integration:`mcp-config`,editorId:e.id,action:`skipped-unsupported`};try{let i=f(e,t,n,void 0,r);return i.action===`written`||i.action===`overwritten`?{integration:`mcp-config`,editorId:e.id,action:i.action,path:i.configPath}:i.action===`failed`?{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:i.error??`unknown failure`}:i.action===`declined`?{integration:`mcp-config`,editorId:e.id,action:`declined`,path:i.configPath,...i.declineReason===void 0?{}:{reason:i.declineReason}}:{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:`unexpected project-scope action: ${i.action}`}}catch(t){return{integration:`mcp-config`,editorId:e.id,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}},{id:`project-skill`,write(e,t,n){try{let n=ee(e,t);return{integration:`project-skill`,editorId:e.id,action:n.action,...n.path?{path:n.path}:{},...n.error?{error:n.error}:{}}}catch(t){return{integration:`project-skill`,editorId:e.id,action:`failed`,error:t instanceof Error?t.message:String(t)}}}}];function Ce(e,t,n={},r=Se){let i=[];for(let a of t){let t=m[a];for(let a of r)i.push(a.write(t,e,n))}return i}function we(e,t,n={}){return{integrations:Ce(e,t,n),claudeLaunchJson:t.includes(`claude`)?p(e,n):void 0}}export{ae as _,ge as a,T as b,L as c,se as d,F as f,O as g,P as h,Y as i,oe as l,N as m,Q as n,pe as o,j as p,_e as r,z as s,we as t,A as u,k as v,D as y};
3
- //# sourceMappingURL=src-BA1Yphho.mjs.map
3
+ //# sourceMappingURL=src-CJVMkS3e.mjs.map
@@ -0,0 +1 @@
1
+ import{_ as e,f as t,r as n}from"./start-ChHGD1-B.mjs";export{n as bootStartServer,t as resolveHost,e as startCommand};
@@ -1,3 +1,3 @@
1
- import{Mn as e,ht as t}from"./server-lock-iLcBw_q0-Da9oOF2w.mjs";import{cr as n,jr as r,xr as i}from"./dist-DiH4BfG7.mjs";import{n as a,t as o}from"./esm-CsQUg9js.mjs";import{i as s,t as c}from"./gh-detect-Dqh25Gvy.mjs";import{n as l}from"./constants-S_QhKref.mjs";import{spawn as u}from"node:child_process";import{basename as d,dirname as f,join as p}from"node:path";import{homedir as m}from"node:os";import{closeSync as h,existsSync as g,mkdirSync as _,openSync as v,statSync as y}from"node:fs";import{rm as b}from"node:fs/promises";import{setTimeout as x}from"node:timers/promises";const S=`OpenKnowledge.app`,C=`/Applications/${S}`;function w(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return y(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function T(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(E(e,C))return C;let t=p(e.homeDir??m(),`Applications`,S);return E(e,t)?t:null}function E(e,t){try{let n=p(t,`Contents`,`MacOS`,`OpenKnowledge`),r=e.statSync(n);return r&&typeof r.isFile==`function`?r.isFile():!1}catch{return!1}}function D(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`)return{available:!1,reason:`darwin-only`};let t;try{t=T(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.env.SSH_CONNECTION||e.env.SSH_TTY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function O(e){(e.log??(e=>console.error(e)))("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)");let t={...process.env};delete t.ELECTRON_RUN_AS_NODE,e.spawn(`open`,[`-b`,`com.inkeep.open-knowledge`],{detached:!0,stdio:`ignore`,env:t}).unref()}function k(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found at ${C}. Install via DMG, or omit --mode for browser mode.`;case`darwin-only`:return`Desktop app is macOS-only on this release. 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 desktop bundle at ${C} (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available at ${C} but launch dispatch did not fire (caller bug).`}}function A(e){return p(f(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const j=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function M(e){if(e.platform!==`darwin`||!j.test(e.execPath))return null;let t=A(e.execPath);return e.exists(t)?t:null}function N(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??g,a=r[1];return a?{command:M({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 P(e,t){return e.host??t.HOST??`127.0.0.1`}function F(e){let t=d(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var I=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 L(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 R(t){g(t.lockDir)||_(t.lockDir,{recursive:!0});let n=v(p(t.lockDir,e),`w`),r=t.spawn??u,{PORT:i,...a}=process.env,o=N();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{h(n)}catch{}}}function z(e,t,n){return e??(n===void 0?t:void 0)}function B(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function V(e,t,n){return e??(t!=null&&!n?1:0)}async function H(e){let t=e.spawn??u,n=N(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,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=V(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 U(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 W=t;function G(e,t,n=e=>b(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 K(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?1:0,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(i?1:0)}}}function q(e){let t=e.sigtermGraceMs??W,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>x(e));return async()=>{try{let i=e.readUiLock();if(i&&e.isAlive(i.pid))try{e.killPid(i.pid,`SIGTERM`),e.log?.info({pid:i.pid,port:i.port},`idle-shutdown: SIGTERM UI sibling`);let a=Date.now()+t;for(;Date.now()<a&&e.isAlive(i.pid);)await r(n);if(e.isAlive(i.pid))try{e.killPid(i.pid,`SIGKILL`),e.log?.warn({pid:i.pid,graceMs:t},`idle-shutdown: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: SIGKILL failed`)}}catch(t){e.log?.warn({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t instanceof Error?t.message:String(t)},`idle-shutdown: UI lookup failed; proceeding with destroy`)}await e.destroy()}}async function J(e){let{config:t,cwd:a,host:o}=e,l=e.skipAutoInit??!1,u=e.skipUiAutoSpawn??!1,d=e.idleThresholdMs??18e5,{existsSync:f,mkdirSync:p}=await import(`node:fs`),{basename:m,dirname:h}=await import(`node:path`),{bootServer:g,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:b,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./dist-DbHpuwTn.mjs`),w=e.log??_(`start`),T=e.singleFile!==void 0,E=e.projectDir??a,D=T?r(e.singleFile).canonicalFilePath:void 0,O=D?h(D):void 0,k=D?m(D):void 0;if(!T){if(!l&&!n(a))throw new I(a);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-C9q3ZvVl.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-BSGMKC96.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-BXcD-5AJ.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let A=O??b(t,a);!T&&!f(A)&&(p(A,{recursive:!0}),w.info({contentDir:A},`Created content directory`));let j=null,M=async({lockDir:t})=>{if(j=L({uiLock:y(t),isAlive:v}),j.action===`spawn`&&!u)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];R({lockDir:t,cwd:a,spawn:e.spawn,args:n}),w.info({reason:j.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 j.action===`skip`&&w.info({port:j.port,pid:j.pid},`UI already running at port ${j.port}`)},N=e.reactShellDistDir===void 0,P=s(),F=i();{let e=S(T?E:a),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let z=await g({config:t,contentDir:A,projectDir:T?E:a,contentRoot:T?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:c,tokenStore:P,embeddingsKeyStore:F,...T?{ephemeral:!0,singleDocRelPath:k,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],attachUiSibling:N,idleShutdownMs:d,skipAutoInit:!0,...N?{spawnUiSiblingFn:M}:{},idleShutdownHandler:t=>{let n=q({readUiLock:()=>y(z.lockDir),isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return K(T?G(n,E):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets?{serveContentAssets:!0}:{},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});j||={action:`skip`,reason:`alive`,pid:0,port:0};let B=j,V=null;if(B.action===`skip`)V=B.port>0?B.port:null;else if(!u){let t=e.uiBindTimeoutMs??3e3;V=await U({readUiLock:()=>y(z.lockDir),now:Date.now,sleep:e=>x(e),timeoutMs:t,pollIntervalMs:50}),V===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:z.httpServer,destroy:z.destroy,lockDir:z.lockDir,contentDir:A,port:z.port,ready:z.ready,degraded:z.degraded,uiSpawnDecision:j,resolvedUiPort:V}}function ee(e){if(e===`browser`||e===`app`)return e;throw new a(`--mode must be 'browser' or 'app'`)}function te(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new a(`--ui-port must be a port number between 1 and 65535`);return t}function Y(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function X(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 Z(e,t){let n=Y(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-BxCFCyu8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-CmkIIbww.mjs`),c=process.cwd(),u=e;process.title=F(c);let d=P(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=z(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./dist-DbHpuwTn.mjs`);if(B(m,e(t(c)))){await H({cwd:c,uiPort:m});return}}let g;try{g=await J({config:u,cwd:c,host:d,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets?{serveContentAssets:!0}:{},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof I&&(console.error(o(e.message)),process.exit(1));let t=await import(`./dist-DbHpuwTn.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&&Q(e,t)){await H({cwd:c,uiPort:m});return}let n=$(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]=X(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${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://${d}:${g.port}`,b=d===`0.0.0.0`||d===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${d}:${x}`:y;console.log(r({name:`open-knowledge`,version:l,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-DHTbHSqx.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function Q(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function $(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=p(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 ne(e){return new o(`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`,te).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ee).option(`--serve-content-assets`,`Serve content assets from this server`).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{Mn as e,ht as t}from"./server-lock-iLcBw_q0-BF_u0tGL.mjs";import{cr as n,jr as r,xr as i}from"./dist-8nP7FWRJ.mjs";import{n as a,t as o}from"./esm-CsQUg9js.mjs";import{i as s,t as c}from"./gh-detect-BUJyWvGO.mjs";import{n as l}from"./constants-DD1vFa4x.mjs";import{spawn as u}from"node:child_process";import{basename as d,dirname as f,join as p}from"node:path";import{homedir as m}from"node:os";import{closeSync as h,existsSync as g,mkdirSync as _,openSync as v,statSync as y}from"node:fs";import{rm as b}from"node:fs/promises";import{setTimeout as x}from"node:timers/promises";const S=`OpenKnowledge.app`,C=`/Applications/${S}`;function w(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return y(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function T(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(E(e,C))return C;let t=p(e.homeDir??m(),`Applications`,S);return E(e,t)?t:null}function E(e,t){try{let n=p(t,`Contents`,`MacOS`,`OpenKnowledge`),r=e.statSync(n);return r&&typeof r.isFile==`function`?r.isFile():!1}catch{return!1}}function D(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`)return{available:!1,reason:`darwin-only`};let t;try{t=T(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.env.SSH_CONNECTION||e.env.SSH_TTY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function O(e){(e.log??(e=>console.error(e)))("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)");let t={...process.env};delete t.ELECTRON_RUN_AS_NODE,e.spawn(`open`,[`-b`,`com.inkeep.open-knowledge`],{detached:!0,stdio:`ignore`,env:t}).unref()}function k(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found at ${C}. Install via DMG, or omit --mode for browser mode.`;case`darwin-only`:return`Desktop app is macOS-only on this release. 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 desktop bundle at ${C} (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available at ${C} but launch dispatch did not fire (caller bug).`}}function A(e){return p(f(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const j=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function M(e){if(e.platform!==`darwin`||!j.test(e.execPath))return null;let t=A(e.execPath);return e.exists(t)?t:null}function N(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??g,a=r[1];return a?{command:M({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 P(e,t){return e.host??t.HOST??`127.0.0.1`}function F(e){let t=d(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var I=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 L(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 R(t){g(t.lockDir)||_(t.lockDir,{recursive:!0});let n=v(p(t.lockDir,e),`w`),r=t.spawn??u,{PORT:i,...a}=process.env,o=N();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{h(n)}catch{}}}function z(e,t,n){return e??(n===void 0?t:void 0)}function B(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function V(e,t,n){return e??(t!=null&&!n?1:0)}async function H(e){let t=e.spawn??u,n=N(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,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=V(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 U(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 W=t;function G(e,t,n=e=>b(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 K(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?1:0,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(i?1:0)}}}function q(e){let t=e.sigtermGraceMs??W,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>x(e));return async()=>{try{let i=e.readUiLock();if(i&&e.isAlive(i.pid))try{e.killPid(i.pid,`SIGTERM`),e.log?.info({pid:i.pid,port:i.port},`idle-shutdown: SIGTERM UI sibling`);let a=Date.now()+t;for(;Date.now()<a&&e.isAlive(i.pid);)await r(n);if(e.isAlive(i.pid))try{e.killPid(i.pid,`SIGKILL`),e.log?.warn({pid:i.pid,graceMs:t},`idle-shutdown: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: SIGKILL failed`)}}catch(t){e.log?.warn({pid:i.pid,err:t instanceof Error?t.message:String(t)},`idle-shutdown: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t instanceof Error?t.message:String(t)},`idle-shutdown: UI lookup failed; proceeding with destroy`)}await e.destroy()}}async function J(e){let{config:t,cwd:a,host:o}=e,l=e.skipAutoInit??!1,u=e.skipUiAutoSpawn??!1,d=e.idleThresholdMs??18e5,{existsSync:f,mkdirSync:p}=await import(`node:fs`),{basename:m,dirname:h}=await import(`node:path`),{bootServer:g,getLogger:_,isProcessAlive:v,readUiLock:y,resolveContentDir:b,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./dist-CAqnFXLk.mjs`),w=e.log??_(`start`),T=e.singleFile!==void 0,E=e.projectDir??a,D=T?r(e.singleFile).canonicalFilePath:void 0,O=D?h(D):void 0,k=D?m(D):void 0;if(!T){if(!l&&!n(a))throw new I(a);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-O16EOKOn.mjs`)).repairMcpConfigs)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-BTNj6M_f.mjs`)).repairLaunchJson)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-DA0ooyBH.mjs`)).repairSkills)({projectDir:a,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let A=O??b(t,a);!T&&!f(A)&&(p(A,{recursive:!0}),w.info({contentDir:A},`Created content directory`));let j=null,M=async({lockDir:t})=>{if(j=L({uiLock:y(t),isAlive:v}),j.action===`spawn`&&!u)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];R({lockDir:t,cwd:a,spawn:e.spawn,args:n}),w.info({reason:j.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 j.action===`skip`&&w.info({port:j.port,pid:j.pid},`UI already running at port ${j.port}`)},N=e.reactShellDistDir===void 0,P=s(),F=i();{let e=S(T?E:a),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let z=await g({config:t,contentDir:A,projectDir:T?E:a,contentRoot:T?void 0:t.content.dir,port:e.port,host:o,quiet:!1,detectGh:c,tokenStore:P,embeddingsKeyStore:F,...T?{ephemeral:!0,singleDocRelPath:k,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],attachUiSibling:N,idleShutdownMs:d,skipAutoInit:!0,...N?{spawnUiSiblingFn:M}:{},idleShutdownHandler:t=>{let n=q({readUiLock:()=>y(z.lockDir),isAlive:v,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return K(T?G(n,E):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets?{serveContentAssets:!0}:{},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});j||={action:`skip`,reason:`alive`,pid:0,port:0};let B=j,V=null;if(B.action===`skip`)V=B.port>0?B.port:null;else if(!u){let t=e.uiBindTimeoutMs??3e3;V=await U({readUiLock:()=>y(z.lockDir),now:Date.now,sleep:e=>x(e),timeoutMs:t,pollIntervalMs:50}),V===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:z.httpServer,destroy:z.destroy,lockDir:z.lockDir,contentDir:A,port:z.port,ready:z.ready,degraded:z.degraded,uiSpawnDecision:j,resolvedUiPort:V}}function ee(e){if(e===`browser`||e===`app`)return e;throw new a(`--mode must be 'browser' or 'app'`)}function te(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new a(`--ui-port must be a port number between 1 and 65535`);return t}function Y(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function X(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 Z(e,t){let n=Y(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-BxCFCyu8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-CmkIIbww.mjs`),c=process.cwd(),u=e;process.title=F(c);let d=P(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=z(f,p,m);if(m!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./dist-CAqnFXLk.mjs`);if(B(m,e(t(c)))){await H({cwd:c,uiPort:m});return}}let g;try{g=await J({config:u,cwd:c,host:d,port:h,...m===void 0?{}:{uiPort:m},...t.serveContentAssets?{serveContentAssets:!0}:{},...t.reactShellDistDir?{reactShellDistDir:t.reactShellDistDir}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof I&&(console.error(o(e.message)),process.exit(1));let t=await import(`./dist-CAqnFXLk.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&&Q(e,t)){await H({cwd:c,uiPort:m});return}let n=$(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]=X(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${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://${d}:${g.port}`,b=d===`0.0.0.0`||d===`::`?`http://0.0.0.0:${g.port}`:void 0,x=g.resolvedUiPort,S=x!==null&&x>0?`http://${d}:${x}`:y;console.log(r({name:`open-knowledge`,version:l,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-DHTbHSqx.mjs`);e(S)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function Q(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function $(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=p(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 ne(e){return new o(`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`,te).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ee).option(`--serve-content-assets`,`Serve content assets from this server`).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=D(w());if(n.available){O({spawn:u});return}console.error(k(n.reason)),process.exit(1)}await Z(n,t)})}export{D as C,w as S,ne as _,V as a,K as b,F as c,z as d,P as f,R as g,B as h,q as i,X as l,Z as m,U as n,H as o,Y as p,J as r,L as s,I as t,Q as u,$ as v,O as w,N as x,G as y};
3
- //# sourceMappingURL=start-DWJqj7vo.mjs.map
3
+ //# sourceMappingURL=start-ChHGD1-B.mjs.map
@@ -1,4 +1,4 @@
1
- import{It as e,S as t,an as n,wt as r}from"./server-lock-iLcBw_q0-Da9oOF2w.mjs";import{d as i,ei as a,ut as o}from"./dist-DiH4BfG7.mjs";import{basename as s,dirname as c,isAbsolute as l,join as u,posix as d,relative as f,resolve as p,sep as m,win32 as h}from"node:path";import{homedir as g}from"node:os";import{cpSync as _,existsSync as v,lstatSync as y,mkdirSync as b,realpathSync as x,rmSync as S}from"node:fs";const C=t,w=r,T=e,E=`node`,D={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},O=`# ok-mcp-v1`,k=`# ok-mcp-v1
1
+ import{It as e,S as t,an as n,wt as r}from"./server-lock-iLcBw_q0-BF_u0tGL.mjs";import{d as i,ei as a,ut as o}from"./dist-8nP7FWRJ.mjs";import{basename as s,dirname as c,isAbsolute as l,join as u,posix as d,relative as f,resolve as p,sep as m,win32 as h}from"node:path";import{homedir as g}from"node:os";import{cpSync as _,existsSync as v,lstatSync as y,mkdirSync as b,realpathSync as x,rmSync as S}from"node:fs";const C=t,w=r,T=e,E=`node`,D={MCP_DEBUG:`1`,OK_LOG_FILE:`/tmp/ok-mcp.log`},O=`# ok-mcp-v1`,k=`# ok-mcp-v1
2
2
  USER_BUNDLE="$HOME/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
3
3
  [ -f "$USER_BUNDLE" ] && [ -x "$USER_BUNDLE" ] && exec "$USER_BUNDLE" mcp
4
4
  BUNDLE="/Applications/OpenKnowledge.app/Contents/Resources/cli/bin/ok.sh"
@@ -33,4 +33,4 @@ foreach ($d in $dirs) {
33
33
  }
34
34
  [Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
35
35
  exit 127`;function M(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-v1`)}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-v1`)}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}return!1}function N(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=p(e);if(s(t)===`cli.mjs`&&s(c(t))===`dist`)return t;let n=t.split(m),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 u(i.length===0?m:i.join(m),`packages`,`cli`,`dist`,`cli.mjs`)}function P(e={}){return e.mode===`dev`?{command:E,args:[N(),`mcp`],env:{...D}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,j]}:{command:`/bin/sh`,args:[`-l`,`-c`,k]}}function F(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[E,N(),`mcp`],environment:{...D}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,j]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,k]}}function I(e){if(typeof e!=`object`||!e)return!1;let t=e;return L(t,P({mode:`published`,platformName:`darwin`}))||L(t,P({mode:`published`,platformName:`win32`}))}function L(e,t){if(Object.keys(e).length!==Object.keys(t).length||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 R(e){return e===`win32`?h:d}function z(e={}){let t=e.platformName??process.platform,n=e.home??g(),r=e.env??process.env,i=R(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 B(e={}){let t=e.platformName??process.platform,n=e.home??g();return R(t).join(n,`.claude.json`)}function V(e={}){let t=e.platformName??process.platform,n=e.home??g(),r=e.env??process.env;if(t===`darwin`)return d.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??h.join(n,`AppData`,`Roaming`);return h.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function H(e={}){let t=e.platformName??process.platform,n=e.home??g();return R(t).join(n,`.cursor`,`mcp.json`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??g();return(e.env??process.env).CODEX_HOME??R(t).join(n,`.codex`)}function W(e={}){return R(e.platformName??process.platform).join(U(e),`config.toml`)}function G(e={}){let t=e.platformName??process.platform,n=e.home??g(),r=e.env??process.env,i=R(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 R(e.platformName??process.platform).join(G(e),`opencode.json`)}function q(e={}){let t=e.platformName??process.platform,n=e.home??g();return R(t).join(n,`.openclaw`,`openclaw.json`)}const J={claude:{id:`claude`,label:w.claude,configPath:(e,t)=>B({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>u(t??g(),`.claude`),projectConfigPath:e=>u(e,`.mcp.json`),projectSkillPath:e=>u(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:w[`claude-desktop`],configPath:(e,t)=>V({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>c(V({home:t}))},cursor:{id:`cursor`,label:w.cursor,configPath:(e,t)=>H({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>c(H({home:t})),projectConfigPath:e=>u(e,`.cursor`,`mcp.json`),projectSkillPath:e=>u(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:w.codex,configPath:(e,t)=>W({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>c(W({home:t})),projectConfigPath:e=>u(e,`.codex`,`config.toml`),projectSkillPath:e=>u(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:w.opencode,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>n,buildEntry:(e,t)=>F(t),scope:`global`,detectPath:(e,t)=>c(K({home:t})),projectConfigPath:e=>u(e,`opencode.json`),projectSkillPath:e=>u(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:w.openclaw,configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>n,buildEntry:(e,t)=>P(t),scope:`global`,detectPath:(e,t)=>u(t??g(),`.openclaw`),offerOnlyWhenDetected:!0}};function Y(e){let t=e.filter(e=>!Object.hasOwn(J,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${C.join(`, `)}`);return e.map(e=>J[e])}function X(e){let t=[];for(let n of o){let r=i[n];t.push({path:u(e,`.agents`,`skills`,r),bundleId:n,scope:`central`});for(let i of T)t.push({path:u(e,i.hostDir,`skills`,r),bundleId:n,scope:`host`,hostDir:i.hostDir})}return t}function Z(e,t){let n=[];for(let r of X(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 Q(e,t){let n;try{n=x(t)}catch{n=p(t)}let r;try{r=y(e)}catch(e){if(e.code!==`ENOENT`)throw e}if(r?.isSymbolicLink())throw Error(`Refusing to write through a symbolic link at ${e}. Remove the symlink and re-run project setup.`);let i=c(e);for(;i.length>1&&i!==m;){let t;try{t=x(i)}catch(e){if(e.code===`ENOENT`){i=c(i);continue}throw e}let r=f(n,t);if(r===``||!r.startsWith(`..`)&&!l(r))return;throw Error(`Refusing to write at ${e}: ancestor ${i} 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,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=a(`project`,{checkDesktop:!0}),i=c(n);Q(i,t);let o=v(n)?`overwritten`:`written`;return S(i,{recursive:!0,force:!0}),b(c(i),{recursive:!0}),_(r,i,{recursive:!0}),{editorId:e.id,label:e.label,action:o,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{C as a,w as c,P as d,M as f,Y as g,N as h,X as i,J as l,z as m,$ as n,O as o,I as p,Z as r,A as s,Q as t,T as u};
36
- //# sourceMappingURL=write-project-skill-Bs1gG-wO.mjs.map
36
+ //# sourceMappingURL=write-project-skill--CBwKYY6.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.26.0-beta.5",
3
+ "version": "0.26.1-beta.0",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "private": false,
6
6
  "type": "module",
@@ -1,2 +0,0 @@
1
- import"./server-lock-iLcBw_q0-Da9oOF2w.mjs";var e=`0.26.0-beta.5`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-S_QhKref.mjs.map
@@ -1 +0,0 @@
1
- import{v as e}from"./init-D_Hv4G9E.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-ByL0fuo1.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-DqfhiKg1.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ActivityPanelDiffView-BPrpOwiv.js","./chunk-CFjPhJqf.js","./dist-CQw2y-s3.js","./compiler-runtime-CVnuRdak.js","./ActivityPanelDiffView-legcy4jI.css"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./preload-helper-2ej06EnG.js";import{n,r,t as i}from"./compiler-runtime-CVnuRdak.js";import{ar as a,ft as o,n as s,r as c,ur as l}from"./DocumentContext-C_V1isNt.js";import{n as u,r as d}from"./dist-CQw2y-s3.js";import{a as f,i as p,it as m}from"./dist-COgUpCH8.js";import{t as h,u as g}from"./button-cneJOVxD.js";import{t as _}from"./chevron-down-D3nis7uo.js";import{t as v}from"./chevron-right-BfmqRYl8.js";import{i as y}from"./prop-types-aWOJ-TZv.js";import{t as b}from"./loader-circle-CiIO3Fk-.js";import{c as x,i as S,r as C,t as w}from"./agent-presence-C79Orlhd.js";import{n as T}from"./dist-IEs1iCqd.js";import{i as E,n as D,t as O}from"./tooltip-C-qXynAd.js";import{a as k,c as A,i as j,o as M,s as N,t as ee}from"./dialog-BiB39Lhy.js";import{t as P}from"./dist-0Zj_lz7j.js";import{y as F}from"./doc-hash-DcgMeKm-.js";import{o as te}from"./documents-events-CC0YYok8.js";var ne=g(`rewind`,[[`path`,{d:`M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z`,key:`2a1g8i`}],[`path`,{d:`M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z`,key:`rg3s36`}]]),I=i(),L=e(n(),1),re=500,R=64;async function ie(e){let t=`/api/agent-activity?agentId=${encodeURIComponent(e)}`,n=await fetch(t),r;try{r=await n.json()}catch(e){throw new o(`Could not parse /api/agent-activity response.`,{cause:e,status:n.status})}if(!n.ok){let e=m.safeParse(r);throw e.success?Error(e.data.title):new o(`/api/agent-activity returned a non-RFC-9457 error response.`,{cause:e.error,status:n.status})}let i=p.safeParse(r);if(!i.success)throw new o(`/api/agent-activity returned a body that did not match AgentActivitySuccessSchema.`,{cause:i.error,status:n.status});return i.data}async function ae(e,t,n){let r=`/api/agent-burst-diff?agentId=${encodeURIComponent(e)}&docName=${encodeURIComponent(t)}&stackIndex=${n}`,i=await fetch(r),a;try{a=await i.json()}catch(e){throw new o(`Could not parse /api/agent-burst-diff response.`,{cause:e,status:i.status})}if(!i.ok){let e=m.safeParse(a);throw e.success?Error(e.data.title):new o(`/api/agent-burst-diff returned a non-RFC-9457 error response.`,{cause:e.error,status:i.status})}let s=f.safeParse(a);if(!s.success)throw new o(`/api/agent-burst-diff returned a body that did not match AgentBurstDiffSuccessSchema.`,{cause:s.error,status:i.status});return s.data.diff}function oe(e){let t=(0,I.c)(23),{systemProvider:n}=s(),[r,i]=(0,L.useState)(null),[a,o]=(0,L.useState)(`idle`),[c,l]=(0,L.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new S(R),t[0]=u):u=t[0];let d=(0,L.useRef)(u),f=(0,L.useRef)(0),p;t[1]===n?p=t[2]:(p=e=>{let t=f.current+=1;o(`loading`),l(null),ie(e).then(r=>{if(f.current!==t)return;let a=ce(n,e);i({...r,writingDocs:a}),o(`ready`)}).catch(e=>{f.current===t&&(l(e instanceof Error?e.message:String(e)),o(`error`))})},t[1]=n,t[2]=p);let m=p,h;t[3]!==e||t[4]!==m?(h=()=>{if(!e){f.current+=1,i(null),o(`idle`),l(null),d.current.clear();return}d.current.clear(),m(e);let t=null,n=te(n=>{n.includes(`session-activity`)&&(t&&clearTimeout(t),t=setTimeout(()=>{t=null,m(e)},re))});return()=>{t&&clearTimeout(t),n()}},t[3]=e,t[4]=m,t[5]=h):h=t[5];let g;t[6]===e?g=t[7]:(g=[e],t[6]=e,t[7]=g),(0,L.useEffect)(h,g);let _,v;t[8]!==e||t[9]!==n?(_=()=>{if(!e||!n)return;let t=()=>{if(!n.awareness)return;let t=ce(n,e);i(e=>!e||se(e.writingDocs,t)?e:{...e,writingDocs:t})},r=n.awareness;if(!r||typeof r.on!=`function`){t();return}r.on(`update`,t),t();let a=setInterval(t,1e3);return()=>{clearInterval(a),typeof r.off==`function`&&r.off(`update`,t)}},v=[e,n],t[8]=e,t[9]=n,t[10]=_,t[11]=v):(_=t[10],v=t[11]),(0,L.useEffect)(_,v);let y;t[12]===e?y=t[13]:(y=async(t,n)=>{if(!e)return``;let r=`${t}\0${n}`,i=d.current.get(r);if(i!==void 0)return i;let a=await ae(e,t,n);return d.current.set(r,a),a},t[12]=e,t[13]=y);let b=y,x;t[14]!==e||t[15]!==m?(x=()=>{e&&m(e)},t[14]=e,t[15]=m,t[16]=x):x=t[16];let C=x,w;return t[17]!==r||t[18]!==c||t[19]!==b||t[20]!==C||t[21]!==a?(w={data:r,status:a,error:c,reload:C,fetchBurstDiff:b},t[17]=r,t[18]=c,t[19]=b,t[20]=C,t[21]=a,t[22]=w):w=t[22],w}function se(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function ce(e,t){let n=new Set;if(!e)return n;let r=e.awareness;if(!w(r))return n;let i=[t,t.startsWith(`agent-`)?t.slice(6):`agent-${t}`];for(let e of r.getStates().values()){let t=e.agentPresence;if(t)for(let e of i){let r=t[e];r&&r.mode===`writing`&&r.currentDoc&&n.add(r.currentDoc)}}return n}var z=r(),le=(0,L.lazy)(async()=>({default:(await t(()=>import(`./ActivityPanelDiffView-BPrpOwiv.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).ActivityPanelDiffView}));function ue(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return P._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return P._({id:`_rP3HI`,values:{minutes:e}})}return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function de(e){let t=(0,I.c)(42),{burst:n,docName:r,fetchBurstDiff:i}=e,{_:a}=d(),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)(null),[f,p]=(0,L.useState)(null),[m,h]=(0,L.useState)(!1),[g,y]=(0,L.useState)(B),b,x;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{let e=setInterval(()=>y(Date.now()),3e4);return()=>clearInterval(e)},x=[],t[0]=b,t[1]=x):(b=t[0],x=t[1]),(0,L.useEffect)(b,x);let S;t[2]!==n.stackIndex||t[3]!==c||t[4]!==r||t[5]!==o||t[6]!==i||t[7]!==m?(S=()=>{let e=!o;s(e),e&&c===null&&!m&&(h(!0),p(null),i(r,n.stackIndex).then(e=>{l(e),h(!1)}).catch(e=>{p(e instanceof Error?e.message:String(e)),h(!1)}))},t[2]=n.stackIndex,t[3]=c,t[4]=r,t[5]=o,t[6]=i,t[7]=m,t[8]=S):S=t[8];let C=S,w=n.stackIndex+1,T;t[9]!==a||t[10]!==w||t[11]!==o?(T=a(o?{id:`-i7ik4`,values:{burstNumber:w}}:{id:`EeRZnZ`,values:{burstNumber:w}}),t[9]=a,t[10]=w,t[11]=o,t[12]=T):T=t[12];let E;t[13]===o?E=t[14]:(E=o?(0,z.jsx)(_,{className:`size-3 shrink-0`,"aria-hidden":`true`}):(0,z.jsx)(v,{className:`size-3 shrink-0`,"aria-hidden":`true`}),t[13]=o,t[14]=E);let D;t[15]!==n.ts||t[16]!==g?(D=ue(n.ts,g),t[15]=n.ts,t[16]=g,t[17]=D):D=t[17];let O;t[18]===D?O=t[19]:(O=(0,z.jsx)(`span`,{className:`font-mono`,children:D}),t[18]=D,t[19]=O);let k;t[20]===n.additions?k=t[21]:(k=(0,z.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additions]}),t[20]=n.additions,t[21]=k);let A;t[22]===n.deletions?A=t[23]:(A=(0,z.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletions]}),t[22]=n.deletions,t[23]=A);let j;t[24]!==k||t[25]!==A?(j=(0,z.jsxs)(`span`,{className:`ml-auto font-mono`,children:[k,` `,A]}),t[24]=k,t[25]=A,t[26]=j):j=t[26];let M;t[27]!==o||t[28]!==j||t[29]!==T||t[30]!==E||t[31]!==O||t[32]!==C?(M=(0,z.jsxs)(`button`,{type:`button`,onClick:C,className:`flex w-full items-center gap-2 px-4 py-1.5 text-xs text-muted-foreground hover:bg-muted/40`,"aria-expanded":o,"aria-label":T,children:[E,O,j]}),t[27]=o,t[28]=j,t[29]=T,t[30]=E,t[31]=O,t[32]=C,t[33]=M):M=t[33];let N;t[34]!==c||t[35]!==o||t[36]!==f||t[37]!==m?(N=o?(0,z.jsx)(`div`,{className:`bg-muted/20`,children:m?(0,z.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,z.jsx)(u,{id:`38foVZ`})}):f?(0,z.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive`,children:(0,z.jsx)(u,{id:`pmKdif`,values:{loadError:f}})}):c===null?(0,z.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,z.jsx)(u,{id:`iNFKkm`})}):(0,z.jsx)(L.Suspense,{fallback:(0,z.jsx)(`div`,{className:`px-4 py-2 text-xs text-muted-foreground italic`,children:(0,z.jsx)(u,{id:`38foVZ`})}),children:(0,z.jsx)(le,{diff:c})})}):null,t[34]=c,t[35]=o,t[36]=f,t[37]=m,t[38]=N):N=t[38];let ee;return t[39]!==M||t[40]!==N?(ee=(0,z.jsxs)(`div`,{className:`border-t border-border/50`,children:[M,N]}),t[39]=M,t[40]=N,t[41]=ee):ee=t[41],ee}function B(){return Date.now()}function fe(e,t){let n=Math.max(0,t-e);if(n<6e4){let e=Math.round(n/1e3);return P._({id:`pbwTg6`,values:{seconds:e}})}if(n<36e5){let e=Math.round(n/6e4);return P._({id:`_rP3HI`,values:{minutes:e}})}let r=Math.round(n/36e5);return P._({id:`nYeBmY`,values:{hours:r}})}function V(e){let t=(0,I.c)(118),{file:n,sessionAlive:r,isWriting:i,onNavigate:a,onUndoLast:o,onUndoAll:s,fetchBurstDiff:c}=e,{_:l}=d(),{docName:f}=n,[p,m]=(0,L.useState)(!1),[g,y]=(0,L.useState)(!1),[b,S]=(0,L.useState)(!1),[C,w]=(0,L.useState)(me),T,P;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>{let e=setInterval(()=>w(Date.now()),3e4);return()=>clearInterval(e)},P=[],t[0]=T,t[1]=P):(T=t[0],P=t[1]),(0,L.useEffect)(T,P),n.bursts.length===0)return null;let F=!r||n.bursts.length===0||b,te=n.bursts.length,re;t[2]!==l||t[3]!==n.bursts.length||t[4]!==r?(re=r?n.bursts.length===0?l({id:`2fkdnR`}):null:l({id:`NzFvyK`}),t[2]=l,t[3]=n.bursts.length,t[4]=r,t[5]=re):re=t[5];let R=re,ie;t[6]!==F||t[7]!==n.docName||t[8]!==o?(ie=e=>{e.stopPropagation(),!F&&(S(!0),Promise.resolve(o(n.docName)).finally(()=>S(!1)))},t[6]=F,t[7]=n.docName,t[8]=o,t[9]=ie):ie=t[9];let ae=ie,oe;t[10]===F?oe=t[11]:(oe=e=>{e.stopPropagation(),!F&&y(!0)},t[10]=F,t[11]=oe);let se=oe,ce;t[12]!==F||t[13]!==n.docName||t[14]!==s?(ce=()=>{y(!1),!F&&(S(!0),Promise.resolve(s(n.docName)).finally(()=>S(!1)))},t[12]=F,t[13]=n.docName,t[14]=s,t[15]=ce):ce=t[15];let le=ce,ue;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(ue=()=>m(pe),t[16]=ue):ue=t[16];let B;t[17]!==l||t[18]!==f||t[19]!==p?(B=l(p?{id:`rVgSRB`,values:{docName:f}}:{id:`tW_yvQ`,values:{docName:f}}),t[17]=l,t[18]=f,t[19]=p,t[20]=B):B=t[20];let V;t[21]===p?V=t[22]:(V=p?(0,z.jsx)(_,{className:`size-4`,"aria-hidden":`true`}):(0,z.jsx)(v,{className:`size-4`,"aria-hidden":`true`}),t[21]=p,t[22]=V);let H;t[23]!==p||t[24]!==B||t[25]!==V?(H=(0,z.jsx)(`button`,{type:`button`,onClick:ue,className:`flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted`,"aria-expanded":p,"aria-label":B,"data-testid":`activity-panel-file-row-carrot`,children:V}),t[23]=p,t[24]=B,t[25]=V,t[26]=H):H=t[26];let U;t[27]!==n.docName||t[28]!==a?(U=()=>a(n.docName),t[27]=n.docName,t[28]=a,t[29]=U):U=t[29];let W;t[30]!==l||t[31]!==f?(W=l({id:`QcpeeE`,values:{docName:f}}),t[30]=l,t[31]=f,t[32]=W):W=t[32];let G;t[33]!==n.docName||t[34]!==U||t[35]!==W?(G=(0,z.jsx)(`button`,{type:`button`,onClick:U,className:`min-w-0 flex-1 truncate text-left text-foreground hover:underline focus-visible:outline-ring`,"aria-label":W,"data-testid":`activity-panel-file-row-filename`,title:n.docName,children:n.docName}),t[33]=n.docName,t[34]=U,t[35]=W,t[36]=G):G=t[36];let K;t[37]!==l||t[38]!==f?(K=l({id:`m4v3XT`,values:{docName:f}}),t[37]=l,t[38]=f,t[39]=K):K=t[39];let he;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,z.jsx)(x,{className:`size-3.5`,"aria-hidden":`true`}),t[40]=he):he=t[40];let q;t[41]!==F||t[42]!==ae||t[43]!==K?(q=(0,z.jsx)(E,{asChild:!0,children:(0,z.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:ae,disabled:F,"aria-label":K,"data-testid":`activity-panel-undo-last`,children:he})}),t[41]=F,t[42]=ae,t[43]=K,t[44]=q):q=t[44];let J;t[45]!==l||t[46]!==R?(J=R??l({id:`ArBWJf`}),t[45]=l,t[46]=R,t[47]=J):J=t[47];let Y;t[48]===J?Y=t[49]:(Y=(0,z.jsx)(D,{side:`bottom`,children:J}),t[48]=J,t[49]=Y);let X;t[50]!==q||t[51]!==Y?(X=(0,z.jsxs)(O,{children:[q,Y]}),t[50]=q,t[51]=Y,t[52]=X):X=t[52];let Z;t[53]!==l||t[54]!==f?(Z=l({id:`J2MgzQ`,values:{docName:f}}),t[53]=l,t[54]=f,t[55]=Z):Z=t[55];let ge;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,z.jsx)(ne,{className:`size-3.5`,"aria-hidden":`true`}),t[56]=ge):ge=t[56];let Q;t[57]!==F||t[58]!==se||t[59]!==Z?(Q=(0,z.jsx)(E,{asChild:!0,children:(0,z.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-6 shrink-0`,onClick:se,disabled:F,"aria-label":Z,"data-testid":`activity-panel-undo-all`,children:ge})}),t[57]=F,t[58]=se,t[59]=Z,t[60]=Q):Q=t[60];let $;t[61]!==l||t[62]!==R?($=R??l({id:`mNY1G6`}),t[61]=l,t[62]=R,t[63]=$):$=t[63];let _e;t[64]===$?_e=t[65]:(_e=(0,z.jsx)(D,{side:`bottom`,children:$}),t[64]=$,t[65]=_e);let ve;t[66]!==Q||t[67]!==_e?(ve=(0,z.jsxs)(O,{children:[Q,_e]}),t[66]=Q,t[67]=_e,t[68]=ve):ve=t[68];let ye;t[69]===n.additionsTotal?ye=t[70]:(ye=(0,z.jsxs)(`span`,{className:`text-green-600 dark:text-green-400`,children:[`+`,n.additionsTotal]}),t[69]=n.additionsTotal,t[70]=ye);let be;t[71]===n.deletionsTotal?be=t[72]:(be=(0,z.jsxs)(`span`,{className:`text-red-600 dark:text-red-400`,children:[`−`,n.deletionsTotal]}),t[71]=n.deletionsTotal,t[72]=be);let xe;t[73]!==ye||t[74]!==be?(xe=(0,z.jsxs)(`span`,{className:`shrink-0 font-mono text-xs`,children:[ye,` `,be]}),t[73]=ye,t[74]=be,t[75]=xe):xe=t[75];let Se;t[76]!==n.lastTs||t[77]!==C?(Se=fe(n.lastTs,C),t[76]=n.lastTs,t[77]=C,t[78]=Se):Se=t[78];let Ce;t[79]===Se?Ce=t[80]:(Ce=(0,z.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-muted-foreground`,children:Se}),t[79]=Se,t[80]=Ce);let we;t[81]===i?we=t[82]:(we=i?(0,z.jsx)(`span`,{className:`shrink-0 text-[11px] text-primary animate-pulse`,role:`status`,children:(0,z.jsx)(u,{id:`6q0rnH`})}):null,t[81]=i,t[82]=we);let Te;t[83]!==H||t[84]!==G||t[85]!==X||t[86]!==ve||t[87]!==xe||t[88]!==Ce||t[89]!==we?(Te=(0,z.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[H,G,X,ve,xe,Ce,we]}),t[83]=H,t[84]=G,t[85]=X,t[86]=ve,t[87]=xe,t[88]=Ce,t[89]=we,t[90]=Te):Te=t[90];let Ee;t[91]!==p||t[92]!==c||t[93]!==n.bursts||t[94]!==n.docName?(Ee=p?(0,z.jsx)(`div`,{children:n.bursts.map(e=>(0,z.jsx)(de,{burst:e,docName:n.docName,fetchBurstDiff:c},`${n.docName}:${e.stackIndex}`))}):null,t[91]=p,t[92]=c,t[93]=n.bursts,t[94]=n.docName,t[95]=Ee):Ee=t[95];let De;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,z.jsx)(A,{children:(0,z.jsx)(u,{id:`SEYWYq`})}),t[96]=De):De=t[96];let Oe;t[97]!==te||t[98]!==f?(Oe={docName:f,burstCount:te},t[97]=te,t[98]=f,t[99]=Oe):Oe=t[99];let ke;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(ke={0:(0,z.jsx)(`span`,{className:`font-mono text-foreground`})},t[100]=ke):ke=t[100];let Ae;t[101]===Oe?Ae=t[102]:(Ae=(0,z.jsxs)(N,{children:[De,(0,z.jsx)(k,{children:(0,z.jsx)(u,{id:`ZBYKxv`,values:Oe,components:ke})})]}),t[101]=Oe,t[102]=Ae);let je;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(je=()=>y(!1),t[103]=je):je=t[103];let Me;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,z.jsx)(h,{type:`button`,variant:`outline`,onClick:je,"data-testid":`activity-panel-undo-all-cancel`,children:(0,z.jsx)(u,{id:`dEgA5A`})}),t[104]=Me):Me=t[104];let Ne;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,z.jsx)(u,{id:`MWrUEd`}),t[105]=Ne):Ne=t[105];let Pe;t[106]===le?Pe=t[107]:(Pe=(0,z.jsxs)(M,{children:[Me,(0,z.jsx)(h,{type:`button`,variant:`destructive`,onClick:le,"data-testid":`activity-panel-undo-all-confirm`,children:Ne})]}),t[106]=le,t[107]=Pe);let Fe;t[108]!==Ae||t[109]!==Pe?(Fe=(0,z.jsxs)(j,{className:`sm:max-w-md`,children:[Ae,Pe]}),t[108]=Ae,t[109]=Pe,t[110]=Fe):Fe=t[110];let Ie;t[111]!==g||t[112]!==Fe?(Ie=(0,z.jsx)(ee,{open:g,onOpenChange:y,children:Fe}),t[111]=g,t[112]=Fe,t[113]=Ie):Ie=t[113];let Le;return t[114]!==Te||t[115]!==Ee||t[116]!==Ie?(Le=(0,z.jsxs)(`div`,{className:`border-b border-border`,"data-testid":`activity-panel-file-row`,children:[Te,Ee,Ie]}),t[114]=Te,t[115]=Ee,t[116]=Ie,t[117]=Le):Le=t[117],Le}function pe(e){return!e}function me(){return Date.now()}async function H(e){let t=await fetch(`/api/agent-undo`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,agentId:e.connectionId})});if(!t.ok)throw Error(`agent-undo failed: HTTP ${t.status}`)}function U(e){return`#/${e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`}function W(e){typeof window>`u`||(window.location.hash=U(e))}function G(){let e=(0,I.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsx)(b,{className:`mr-2 size-4 animate-spin`,"aria-hidden":`true`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,z.jsxs)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,role:`status`,"aria-busy":`true`,children:[t,(0,z.jsx)(`span`,{className:`text-sm`,children:(0,z.jsx)(u,{id:`ONPvOb`})})]}),e[1]=n):n=e[1],n}function K(e){let t=(0,I.c)(10),{error:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,z.jsx)(a,{className:`size-6 text-destructive`,"aria-hidden":`true`}),t[0]=i):i=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,z.jsx)(`p`,{className:`text-sm font-medium`,children:(0,z.jsx)(u,{id:`DhLHEb`})}),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=(0,z.jsxs)(`div`,{className:`space-y-1`,children:[o,(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n})]}),t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,z.jsx)(u,{id:`6gRgw8`}),t[4]=c):c=t[4];let l;t[5]===r?l=t[6]:(l=(0,z.jsx)(h,{type:`button`,variant:`outline`,size:`sm`,onClick:r,children:c}),t[5]=r,t[6]=l);let d;return t[7]!==s||t[8]!==l?(d=(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-3 p-6 text-center`,role:`alert`,"data-testid":`activity-panel-error`,children:[i,s,l]}),t[7]=s,t[8]=l,t[9]=d):d=t[9],d}function he(){let e=(0,I.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-muted-foreground`,"data-testid":`activity-panel-empty`,children:(0,z.jsx)(`p`,{className:`text-sm italic`,children:(0,z.jsx)(u,{id:`iuTKci`})})}),e[0]=t):t=e[0],t}function q(e){let t=(0,I.c)(12),{onExit:n,showBackButton:r}=e,{_:i}=d(),a;t[0]===i?a=t[1]:(a=i({id:`kYL1lH`}),t[0]=i,t[1]=a);let o;t[2]!==n||t[3]!==r?(o=r?(0,z.jsx)(J,{onClick:n}):null,t[2]=n,t[3]=r,t[4]=o):o=t[4];let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,z.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,z.jsx)(u,{id:`kYL1lH`})}),t[5]=s):s=t[5];let c;t[6]===o?c=t[7]:(c=(0,z.jsxs)(`div`,{className:`flex shrink-0 flex-row items-center gap-2 border-b border-border px-3 py-2`,children:[o,s]}),t[6]=o,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,z.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 text-muted-foreground`,children:(0,z.jsx)(`p`,{className:`text-center text-sm italic`,children:(0,z.jsx)(u,{id:`D_WKe_`})})}),t[8]=l):l=t[8];let f;return t[9]!==a||t[10]!==c?(f=(0,z.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel-no-agent`,"aria-label":a,children:[c,l]}),t[9]=a,t[10]=c,t[11]=f):f=t[11],f}function J(e){let t=(0,I.c)(9),{onClick:n}=e,{_:r}=d(),i;t[0]===r?i=t[1]:(i=r({id:`ogAuyr`}),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,z.jsx)(l,{}),t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=(0,z.jsx)(E,{asChild:!0,children:(0,z.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:n,"aria-label":i,"data-testid":`docpanel-exit-agent-mode`,children:a})}),t[3]=n,t[4]=i,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,z.jsx)(D,{side:`bottom`,children:(0,z.jsx)(u,{id:`ogAuyr`})}),t[6]=s):s=t[6];let c;return t[7]===o?c=t[8]:(c=(0,z.jsxs)(O,{children:[o,s]}),t[7]=o,t[8]=c),c}function Y(e){let t=(0,I.c)(9),{lastTs:n}=e,[r]=(0,L.useState)(X),i;t[0]!==n||t[1]!==r?(i=n?Z(r-n):null,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,z.jsx)(`span`,{className:`font-medium`,children:(0,z.jsx)(u,{id:`LCUy_N`})}),t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=a?(0,z.jsxs)(`span`,{children:[` · `,a]}):null,t[4]=a,t[5]=s);let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,z.jsx)(`div`,{className:`mt-1 opacity-80`,children:(0,z.jsx)(u,{id:`GK-IRZ`})}),t[6]=c):c=t[6];let l;return t[7]===s?l=t[8]:(l=(0,z.jsxs)(`div`,{className:`border-b border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground`,"data-testid":`activity-panel-session-ended`,children:[o,s,c]}),t[7]=s,t[8]=l),l}function X(){return Date.now()}function Z(e){let t=Math.max(0,e);if(t<6e4){let e=Math.round(t/1e3);return P._({id:`pbwTg6`,values:{seconds:e}})}if(t<36e5){let e=Math.round(t/6e4);return P._({id:`_rP3HI`,values:{minutes:e}})}let n=Math.round(t/36e5);return P._({id:`nYeBmY`,values:{hours:n}})}function ge(e){let t=(0,I.c)(10),{agent:n,size:r}=e,i=r===void 0?28:r,a;t[0]!==n.color||t[1]!==i?(a={backgroundColor:n.color,width:i,height:i},t[0]=n.color,t[1]=i,t[2]=a):a=t[2];let o=i*.57,s=i*.57,c;t[3]!==n.icon||t[4]!==o||t[5]!==s?(c=(0,z.jsx)(C,{icon:n.icon,width:o,height:s}),t[3]=n.icon,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;return t[7]!==a||t[8]!==c?(l=(0,z.jsx)(`span`,{className:`inline-flex shrink-0 items-center justify-center rounded-full text-white ring-2 ring-background`,style:a,"aria-hidden":`true`,children:c}),t[7]=a,t[8]=c,t[9]=l):l=t[9],l}function Q(e){let t=(0,I.c)(26),{data:n,status:r,error:i,reload:a,fetchBurstDiff:o,onExit:s,onNavigate:c,onUndoLast:l,onUndoAll:f,showBackButton:p}=e,{_:m}=d(),h=n?.files?.[0]?.lastTs??null,g=n?.files?.length??0,_;t[0]===m?_=t[1]:(_=m({id:`kYL1lH`}),t[0]=m,t[1]=_);let v;t[2]!==s||t[3]!==p?(v=p?(0,z.jsx)(J,{onClick:s}):null,t[2]=s,t[3]=p,t[4]=v):v=t[4];let y;t[5]!==n||t[6]!==g||t[7]!==h?(y=n?.agent?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(ge,{agent:n.agent}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:n.agent.displayName}),(0,z.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[n.sessionAlive?(0,z.jsx)(u,{id:`F6pfE9`}):h===null?(0,z.jsx)(u,{id:`PMyJ9C`}):(0,z.jsx)(u,{id:`237hSL`}),n.files.length>0?(0,z.jsxs)(z.Fragment,{children:[` · `,(0,z.jsx)(u,{id:`u3BOHd`,values:{fileCount:g}})]}):null]})]})]}):(0,z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,z.jsx)(`h2`,{className:`truncate text-sm font-medium`,children:(0,z.jsx)(u,{id:`kYL1lH`})})}),t[5]=n,t[6]=g,t[7]=h,t[8]=y):y=t[8];let b;t[9]!==v||t[10]!==y?(b=(0,z.jsxs)(`div`,{className:`flex flex-row items-center gap-2 border-b border-border px-3 py-2 shrink-0`,children:[v,y]}),t[9]=v,t[10]=y,t[11]=b):b=t[11];let x;t[12]!==n||t[13]!==i||t[14]!==o||t[15]!==h||t[16]!==c||t[17]!==f||t[18]!==l||t[19]!==a||t[20]!==r?(x=(0,z.jsx)(`div`,{className:`flex-1 overflow-y-auto`,"data-testid":`activity-panel-body`,children:r===`loading`&&n===null?(0,z.jsx)(G,{}):r===`error`&&i?(0,z.jsx)(K,{error:i,onRetry:a}):n===null?(0,z.jsx)(he,{}):(0,z.jsxs)(z.Fragment,{children:[!n.sessionAlive&&h!==null?(0,z.jsx)(Y,{lastTs:h}):null,n.files.length===0?(0,z.jsx)(he,{}):n.files.map(e=>(0,z.jsx)(V,{file:e,sessionAlive:n.sessionAlive,isWriting:n.writingDocs.has(e.docName),onNavigate:c,onUndoLast:l,onUndoAll:f,fetchBurstDiff:o},e.docName))]})}),t[12]=n,t[13]=i,t[14]=o,t[15]=h,t[16]=c,t[17]=f,t[18]=l,t[19]=a,t[20]=r,t[21]=x):x=t[21];let S;return t[22]!==_||t[23]!==b||t[24]!==x?(S=(0,z.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`activity-panel`,"aria-label":_,children:[b,x]}),t[22]=_,t[23]=b,t[24]=x,t[25]=S):S=t[25],S}function $(e){let t=(0,I.c)(29),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{showBackButton:r}=n,i=r===void 0?!0:r,{_:a}=d(),{docPanelAgentId:o,closeActivityPanel:l}=s(),{openTargetTransition:u}=c(),{pageMeta:f}=y(),{data:p,status:m,error:h,reload:g,fetchBurstDiff:_}=oe(o);if(o===null){let e;return t[2]!==l||t[3]!==i?(e=(0,z.jsx)(q,{onExit:l,showBackButton:i}),t[2]=l,t[3]=i,t[4]=e):e=t[4],e}let v;t[5]!==u||t[6]!==f?(v=e=>{u(F({kind:`doc`,target:e,docName:e},f)),W(e)},t[5]=u,t[6]=f,t[7]=v):v=t[7];let b=v,x;t[8]!==a||t[9]!==p||t[10]!==o||t[11]!==g?(x=async e=>{try{await H({connectionId:o,docName:e,scope:`last`,agentName:p?.agent?.displayName}),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);T.error(a({id:`EqrC_R`,values:{message:n}})),g()}},t[8]=a,t[9]=p,t[10]=o,t[11]=g,t[12]=x):x=t[12];let S=x,C;t[13]!==a||t[14]!==p||t[15]!==o||t[16]!==g?(C=async e=>{try{await H({connectionId:o,docName:e,scope:`file`,agentName:p?.agent?.displayName}),T.success(a({id:`pRc-Im`,values:{docName:e}})),g()}catch(e){let t=e,n=t instanceof Error?t.message:String(t);T.error(a({id:`7KeV5F`,values:{message:n}})),g()}},t[13]=a,t[14]=p,t[15]=o,t[16]=g,t[17]=C):C=t[17];let w=C,E;return t[18]!==l||t[19]!==p||t[20]!==h||t[21]!==_||t[22]!==b||t[23]!==w||t[24]!==S||t[25]!==g||t[26]!==i||t[27]!==m?(E=(0,z.jsx)(Q,{data:p,status:m,error:h,reload:g,fetchBurstDiff:_,onExit:l,onNavigate:b,onUndoLast:S,onUndoAll:w,showBackButton:i}),t[18]=l,t[19]=p,t[20]=h,t[21]=_,t[22]=b,t[23]=w,t[24]=S,t[25]=g,t[26]=i,t[27]=m,t[28]=E):E=t[28],E}export{$ as ActivityModeContent};
@@ -1,2 +0,0 @@
1
- import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{At as i,G as a,Kt as o,M as s,N as c,P as l,Q as u,X as d,kt as f}from"./DocumentContext-C_V1isNt.js";import{n as p}from"./dist-BVOt51sU.js";import{M as m,sn as h,ti as g}from"./dist-COgUpCH8.js";import{B as _,C as v,H as y,P as b,V as x,b as S,et as C,p as w,tt as T,w as E,y as D}from"./config-provider-BCfJ49jt.js";import{n as ee}from"./config-context-CVpOcWSZ.js";import{l as te}from"./keyboard-shortcuts-BvDMvGCY.js";import{$ as O,Dt as ne,Et as k,Ft as A,J as j,Ot as M,P as N,Q as P,Tt as F,X as I,jt as L,pt as R,ut as re,xt as z}from"./dist-DVPtn9Zx.js";import{a as B,d as ie,f as ae,h as oe,i as V,m as se,t as ce,u as le}from"./typing-burst-detector-cn1H0uS_.js";import{o as H,r as U}from"./selection-context-BVnim3b0.js";var W=e(t(),1),ue=r(),G=class e{constructor(e,t){this.yanchor=e,this.yhead=t}toJSON(){return{yanchor:b(this.yanchor),yhead:b(this.yhead)}}static fromJSON(t){return new e(v(t.yanchor),v(t.yhead))}},K=class{constructor(e,t){this.ytext=e,this.awareness=t,this.undoManager=new w(e)}toYPos(e,t=0){return E(this.ytext,e,t)}fromYPos(e){let t=S(v(e),this.ytext.doc);if(t==null||t.type!==this.ytext)throw Error(`[y-codemirror] The position you want to retrieve was created by a different document`);return{pos:t.index,assoc:t.assoc}}toYRange(e){let t=e.assoc;return new G(this.toYPos(e.anchor,t),this.toYPos(e.head,t))}fromYRange(e){let t=this.fromYPos(e.yanchor),n=this.fromYPos(e.yhead);return t.pos===n.pos?k.cursor(n.pos,n.assoc):k.range(t.pos,n.pos)}},q=M.define({combine(e){return e[e.length-1]}}),J=z.define(),Y=class{constructor(e){this.view=e,this.conf=e.state.facet(q),this._observer=(t,n)=>{if(n.origin!==this.conf){let n=t.delta,r=[],i=0;for(let e=0;e<n.length;e++){let t=n[e];t.insert==null?t.delete==null?i+=t.retain:(r.push({from:i,to:i+t.delete,insert:``}),i+=t.delete):r.push({from:i,to:i,insert:t.insert})}e.dispatch({changes:r,annotations:[J.of(this.conf)]})}},this._ytext=this.conf.ytext,this._ytext.observe(this._observer)}update(e){if(!e.docChanged||e.transactions.length>0&&e.transactions[0].annotation(J)===this.conf)return;let t=this.conf.ytext;t.doc.transact(()=>{let n=0;e.changes.iterChanges((e,r,i,a,o)=>{let s=o.sliceString(0,o.length,`
2
- `);e!==r&&t.delete(e+n,r-e),s.length>0&&t.insert(e+n,s),n+=s.length-(r-e)})},this.conf)}destroy(){this._ytext.unobserve(this._observer)}},de=P.fromClass(Y),fe=I.baseTheme({".cm-ySelection":{},".cm-yLineSelection":{padding:0,margin:`0px 2px 0px 4px`},".cm-ySelectionCaret":{position:`relative`,borderLeft:`1px solid black`,borderRight:`1px solid black`,marginLeft:`-1px`,marginRight:`-1px`,boxSizing:`border-box`,display:`inline`},".cm-ySelectionCaretDot":{borderRadius:`50%`,position:`absolute`,width:`.4em`,height:`.4em`,top:`-.2em`,left:`-.2em`,backgroundColor:`inherit`,transition:`transform .3s ease-in-out`,boxSizing:`border-box`},".cm-ySelectionCaret:hover > .cm-ySelectionCaretDot":{transformOrigin:`bottom center`,transform:`scale(0)`},".cm-ySelectionInfo":{position:`absolute`,top:`-1.05em`,left:`-1px`,fontSize:`.75em`,fontFamily:`serif`,fontStyle:`normal`,fontWeight:`normal`,lineHeight:`normal`,userSelect:`none`,color:`white`,paddingLeft:`2px`,paddingRight:`2px`,zIndex:101,transition:`opacity .3s ease-in-out`,backgroundColor:`inherit`,opacity:0,transitionDelay:`0s`,whiteSpace:`nowrap`},".cm-ySelectionCaret:hover > .cm-ySelectionInfo":{opacity:1,transitionDelay:`0s`}}),pe=z.define(),me=class extends O{constructor(e,t){super(),this.color=e,this.name=t}toDOM(){return _(`span`,[y(`class`,`cm-ySelectionCaret`),y(`style`,`background-color: ${this.color}; border-color: ${this.color}`)],[x(`⁠`),_(`div`,[y(`class`,`cm-ySelectionCaretDot`)]),x(`⁠`),_(`div`,[y(`class`,`cm-ySelectionInfo`)],[x(this.name)]),x(`⁠`)])}eq(e){return e.color===this.color}compare(e){return e.color===this.color}updateDOM(){return!1}get estimatedHeight(){return-1}ignoreEvent(){return!0}},he=class{constructor(e){this.conf=e.state.facet(q),this._listener=({added:t,updated:n,removed:r},i,a)=>{t.concat(n).concat(r).findIndex(e=>e!==this.conf.awareness.doc.clientID)>=0&&e.dispatch({annotations:[pe.of([])]})},this._awareness=this.conf.awareness,this._awareness.on(`change`,this._listener),this.decorations=L.of([])}destroy(){this._awareness.off(`change`,this._listener)}update(e){let t=this.conf.ytext,n=t.doc,r=this.conf.awareness,i=[],a=this.conf.awareness.getLocalState();if(a!=null){let n=e.view.hasFocus&&e.view.dom.ownerDocument.hasFocus(),i=n?e.state.selection.main:null,o=a.cursor==null?null:v(a.cursor.anchor),s=a.cursor==null?null:v(a.cursor.head);if(i!=null){let e=E(t,i.anchor),n=E(t,i.head);(a.cursor==null||!D(o,e)||!D(s,n))&&r.setLocalStateField(`cursor`,{anchor:e,head:n})}else a.cursor!=null&&n&&r.setLocalStateField(`cursor`,null)}r.getStates().forEach((a,o)=>{if(o===r.doc.clientID)return;let s=a.cursor;if(s==null||s.anchor==null||s.head==null)return;let c=S(s.anchor,n),l=S(s.head,n);if(c==null||l==null||c.type!==t||l.type!==t)return;let{color:u=`#30bced`,name:d=`Anonymous`}=a.user||{},f=a.user&&a.user.colorLight||u+`33`,p=T(c.index,l.index),m=C(c.index,l.index),h=e.view.state.doc.lineAt(p),g=e.view.state.doc.lineAt(m);if(h.number===g.number)i.push({from:p,to:m,value:j.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})});else{i.push({from:p,to:h.from+h.length,value:j.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})}),i.push({from:g.from,to:m,value:j.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})});for(let t=h.number+1;t<g.number;t++){let n=e.view.state.doc.line(t).from;i.push({from:n,to:n,value:j.line({attributes:{style:`background-color: ${f}`,class:`cm-yLineSelection`}})})}}i.push({from:l.index,to:l.index,value:j.widget({side:l.index-c.index>0?-1:1,block:!1,widget:new me(u,d)})})}),this.decorations=j.set(i,!0)}},ge=P.fromClass(he,{decorations:e=>e.decorations}),_e=class{constructor(e){this.undoManager=e}addTrackedOrigin(e){this.undoManager.addTrackedOrigin(e)}removeTrackedOrigin(e){this.undoManager.removeTrackedOrigin(e)}undo(){return this.undoManager.undo()!=null}redo(){return this.undoManager.redo()!=null}},X=M.define({combine(e){return e[e.length-1]}});z.define();var ve=class{constructor(e){this.view=e,this.conf=e.state.facet(X),this._undoManager=this.conf.undoManager,this.syncConf=e.state.facet(q),this._beforeChangeSelection=null,this._mux=o(),this._onStackItemAdded=({stackItem:e,changedParentTypes:t})=>{t.has(this.syncConf.ytext)&&this._beforeChangeSelection&&!e.meta.has(this)&&e.meta.set(this,this._beforeChangeSelection)},this._onStackItemPopped=({stackItem:t})=>{let n=t.meta.get(this);if(n){let t=this.syncConf.fromYRange(n);e.dispatch(e.state.update({selection:t,effects:[I.scrollIntoView(t)]})),this._storeSelection()}},this._storeSelection=()=>{this._beforeChangeSelection=this.syncConf.toYRange(this.view.state.selection.main)},this._undoManager.on(`stack-item-added`,this._onStackItemAdded),this._undoManager.on(`stack-item-popped`,this._onStackItemPopped),this._undoManager.addTrackedOrigin(this.syncConf)}update(e){e.selectionSet&&(e.transactions.length===0||e.transactions[0].annotation(J)!==this.syncConf)&&this._storeSelection()}destroy(){this._undoManager.off(`stack-item-added`,this._onStackItemAdded),this._undoManager.off(`stack-item-popped`,this._onStackItemPopped),this._undoManager.removeTrackedOrigin(this.syncConf)}},ye=P.fromClass(ve),be=({state:e,dispatch:t})=>e.facet(X).undo()||!0,xe=({state:e,dispatch:t})=>e.facet(X).redo()||!0,Se=(e,t,{undoManager:n=new w(e)}={})=>{let r=new K(e,t),i=[q.of(r),de];return t&&i.push(fe,ge),n!==!1&&i.push(X.of(new _e(n)),ye,I.domEventHandlers({beforeinput(e,t){return e.inputType===`historyUndo`?be(t):e.inputType===`historyRedo`?xe(t):!1}})),i},Ce=j.mark({class:`cm-link-ref-broken`}),Z=/^\s{0,3}\[([^\]]+)\]:\s/,Q=/\[([^\]]*)\]\[([^\]]*)\]/g,we=new Set([`FencedCode`,`CodeBlock`,`InlineCode`]);function $(e,t){let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>1,a=t[i];if(e<a.from)r=i-1;else if(e>=a.to)n=i+1;else return!0}return!1}function Te(e){let t=[];return N(e).iterate({enter(e){if(we.has(e.name))return t.push({from:e.from,to:e.to}),!1}}),t.sort((e,t)=>e.from-t.from),t}function Ee(e){let t=new Set,n=[],r=e.doc,i=Te(e);for(let e=1;e<=r.lines;e++){let n=r.line(e);if($(n.from,i))continue;let a=Z.exec(n.text);a&&t.add(a[1].toLowerCase())}for(let e=1;e<=r.lines;e++){let t=r.line(e);if(!$(t.from,i)&&!Z.test(t.text))for(Q.lastIndex=0;;){let e=Q.exec(t.text);if(!e)break;let r=t.from+e.index;if($(r,i))continue;let a=e[2]||e[1];n.push({from:r,to:r+e[0].length,label:a.toLowerCase()})}}let a=[];for(let e of n)t.has(e.label)||a.push(Ce.range(e.from,e.to));return a.sort((e,t)=>e.from-t.from),j.set(a)}var De=A.define({create(e){return Ee(e)},update(e,t){return t.docChanged?Ee(t.state):e},provide:e=>I.decorations.from(e)}),Oe=/^(\s*(?:[-*+]|\d+[.)]) (?:\[[ x]\] )?)/,ke=j.mark({class:`cm-del`}),Ae=j.line({class:`cm-table-header`,attributes:{style:`--list-hang: 2ch`}}),je=j.line({class:`cm-table-row`,attributes:{style:`--list-hang: 2ch`}});function Me(e){let t=0;for(let n of e)if(n===` `)t++;else if(n===` `)t+=4;else break;return t}function Ne(e){if(e.doc.lines<2)return null;let t=e.doc.line(1);if(!m.test(t.text))return null;for(let n=2;n<=e.doc.lines;n++){let r=e.doc.line(n);if(m.test(r.text))return{from:t.from,to:r.to}}return null}function Pe(e,t){let n=[],r=N(e),i=Ne(e),a=e=>i!==null&&e>=i.from&&e<=i.to;for(let{from:i,to:o}of t)r.iterate({from:i,to:o,enter(t){if(!a(t.from)){if(t.name===`Strikethrough`){let e=t.from,r=t.to,i=t.node.cursor();if(i.firstChild())do i.name===`StrikethroughMark`&&(i.from===t.from?e=i.to:r=i.from);while(i.nextSibling());return e<r&&n.push(ke.range(e,r)),!1}if(t.name===`ListItem`){let r=e.doc.lineAt(t.from),i=Oe.exec(r.text),a=i?i[1].length:2,o=j.line({class:`cm-list-item`,attributes:{style:`--list-hang: ${a}ch`}});n.push(o.range(r.from));return}if(t.name===`FencedCode`){let r=e.doc.lineAt(t.from),i=e.doc.lineAt(t.to);for(let t=r.number+1;t<i.number;t++){let r=e.doc.line(t),i=Me(r.text),a=j.line({class:`cm-fenced-code-line`,attributes:{style:`--line-indent: ${i}`}});n.push(a.range(r.from))}return!1}if(t.name===`TableHeader`){let r=e.doc.lineAt(t.from);return n.push(Ae.range(r.from)),!1}if(t.name===`TableRow`){let r=e.doc.lineAt(t.from);return n.push(je.range(r.from)),!1}if(t.name===`TableDelimiter`&&t.node.parent?.name===`Table`){let r=e.doc.lineAt(t.from);return n.push(je.range(r.from)),!1}}}});return n.sort((e,t)=>e.from-t.from||e.value.startSide-t.value.startSide),j.set(n)}var Fe=class{decorations;constructor(e){this.decorations=Pe(e.state,e.visibleRanges)}update(e){(e.docChanged||e.viewportChanged||N(e.startState)!==N(e.state))&&(this.decorations=Pe(e.view.state,e.view.visibleRanges))}},Ie=P.fromClass(Fe,{decorations:e=>e.decorations});function Le(){return[Ie,De]}var Re=n(),ze=56;function Be(e,t){let n=e.state.doc,r=1;if(n.lines>=1&&m.test(n.line(1).text)){for(let e=2;e<=n.lines;e++)if(m.test(n.line(e).text)){r=e+1;break}}let i=h(),a=0;for(let o=r;o<=n.lines;o++){let r=n.line(o);if(!i(r.text)&&/^#{1,6}\s/.test(r.text)){if(a===t.index){e.dispatch({selection:k.cursor(r.from),effects:I.scrollIntoView(r.from,{y:`start`})}),e.focus();return}a++}}}function Ve(e,t){requestAnimationFrame(()=>{let n=e.state.doc,r=Math.min(t.offset,n.length);e.dispatch({selection:k.cursor(r),effects:I.scrollIntoView(r,{y:`center`})}),e.focus()})}function He(e){let t=(0,ue.c)(33),{docName:n,ytext:r,provider:a,placeholder:o,isSourceModeActive:m}=e,h=(0,W.useRef)(null),_=(0,W.useRef)(null),[v,y]=(0,W.useState)(null);if(v)throw v;let{resolvedTheme:b}=p(),{merged:x}=ee(),S=(0,W.useRef)(m),C=x?.editor?.wordWrap??!0,w,T;t[0]===m?(w=t[1],T=t[2]):(w=()=>{S.current=m},T=[m],t[0]=m,t[1]=w,t[2]=T),(0,W.useEffect)(w,T);let E=(0,W.useRef)(null),D;t[3]!==o||t[4]!==a||t[5]!==b||t[6]!==C||t[7]!==r?(D=()=>{let e=h.current;if(!e)return;let t=a.configuration.name??``,n,c=Ge;try{n=f({docName:t,container:e,sizeStats:{viewCount:0,bytes:r.length},factory:e=>{let n=null,i=u({ydoc:a.document,ytext:r}),l=new F,f=new F,p=new F,m=new I({state:ne.create({doc:r.toString(),extensions:[le,ie({scrollToMatch:We}),re.of([d]),Se(r,a.awareness),...s({themeCompartment:l,resolvedTheme:b,ydoc:a.document,wordWrapCompartment:f,wordWrap:C,currentDocName:t}),Le(),i,I.updateListener.of(e=>{!e.selectionSet&&!e.docChanged||(n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,V(t,`source`,B(e.view)),U(t,`source`,H(e.view,t))},120))}),I.domEventHandlers({keydown:(e,t)=>!S.current||!g()||!te(e,`edit-with-ai`)?!1:(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),ce(),!0)}),p.of(R(o??``)),I.theme({"&":{height:`100%`}}),I.scrollMargins.of(Ue)]}),parent:e});V(t,`source`,B(m)),U(t,`source`,H(m,t));let h=m.contentDOM;return h.addEventListener(`keydown`,c),h.addEventListener(`paste`,c),h.addEventListener(`drop`,c),h.addEventListener(`cut`,c),{view:m,ydoc:a.document,ytext:r,provider:a,themeCompartment:l,wordWrapCompartment:f,placeholderCompartment:p}}}),E.current=n,_.current=n.view}catch(e){let t=e;console.error(`[SourceEditor] mountCmEditor failed`,t),E.current=null,_.current=null,y(t instanceof Error?t:Error(String(t)))}return()=>{let e=E.current;e&&i(e),E.current=null,_.current=null}},t[3]=o,t[4]=a,t[5]=b,t[6]=C,t[7]=r,t[8]=D):D=t[8];let O;t[9]!==a||t[10]!==r?(O=[r,a],t[9]=a,t[10]=r,t[11]=O):O=t[11],(0,W.useEffect)(D,O);let k,A;t[12]===n?(k=t[13],A=t[14]):(k=()=>{},A=[n],t[12]=n,t[13]=k,t[14]=A),(0,W.useEffect)(k,A);let j,M;t[15]===b?(j=t[16],M=t[17]):(j=()=>{let e=E.current;e&&e.view.dispatch({effects:e.themeCompartment.reconfigure(b===`dark`?c:l)})},M=[b],t[15]=b,t[16]=j,t[17]=M),(0,W.useEffect)(j,M);let N,P;t[18]===C?(N=t[19],P=t[20]):(P=()=>{let e=E.current;e&&e.view.dispatch({effects:e.wordWrapCompartment.reconfigure(C?I.lineWrapping:[])})},N=[C],t[18]=C,t[19]=N,t[20]=P),(0,W.useEffect)(P,N);let L,z;t[21]===o?(L=t[22],z=t[23]):(L=()=>{let e=E.current;e&&e.view.dispatch({effects:e.placeholderCompartment.reconfigure(R(o??``))})},z=[o],t[21]=o,t[22]=L,t[23]=z),(0,W.useEffect)(L,z);let G,K;t[24]!==n||t[25]!==m?(G=()=>{let e=function(e){let t=e.detail;if(!t||t.mode!==`source`||!m)return;let r=_.current;r&&(Be(r,t),se(n))};return window.addEventListener(ae,e),()=>window.removeEventListener(ae,e)},K=[n,m],t[24]=n,t[25]=m,t[26]=G,t[27]=K):(G=t[26],K=t[27]),(0,W.useEffect)(G,K);let q,J;t[28]!==n||t[29]!==m?(q=()=>{if(!m)return;let e=_.current;if(!e)return;let t=oe(n);if(t){if(t.kind===`outline`){Be(e,t.detail);return}Ve(e,t.detail)}},J=[n,m],t[28]=n,t[29]=m,t[30]=q,t[31]=J):(q=t[30],J=t[31]),(0,W.useEffect)(q,J);let Y;return t[32]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,Re.jsx)(`div`,{ref:h,className:`source-editor h-full pb-3`}),t[32]=Y):Y=t[32],Y}function Ue(){return{top:ze}}function We(e){return I.scrollIntoView(e,{y:`start`})}function Ge(){return a()}export{He as SourceEditor};
@@ -1 +0,0 @@
1
- import"./chunk-K5T4RW27-CMA0573G.js";import{n as e}from"./chunk-7N4EOEYR-wyEzdjqa.js";export{e as createArchitectureServices};
@@ -1 +0,0 @@
1
- import{it as e,rt as t}from"./chunk-ICPOFSXX-B1LaL7po.js";var n=(n,r)=>e.lang.round(t.parse(n)[r]);export{n as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./src-60u1_sM3.js";import{b as t}from"./chunk-ICPOFSXX-B1LaL7po.js";import{C as n}from"./src-BjEzLuzr.js";var r=e(e=>{let{securityLevel:r}=t(),i=n(`body`);return r===`sandbox`&&(i=n((n(`#i${e}`).node()?.contentDocument??document).body)),i.select(`#${e}`)},`selectSvgElement`);export{r as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./src-60u1_sM3.js";import{C as t}from"./src-BjEzLuzr.js";var n=e((e,n)=>{let r;return n===`sandbox`&&(r=t(`#i`+e)),t(n===`sandbox`?r.nodes()[0].contentDocument.body:`body`).select(`[id="${e}"]`)},`getDiagramElement`);export{n as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./src-60u1_sM3.js";var t=class{constructor(e){this.init=e,this.records=this.init()}static{e(this,`ImperativeState`)}reset(){this.records=this.init()}};export{t};
@@ -1 +0,0 @@
1
- import{n as e}from"./src-60u1_sM3.js";import"./chunk-ICPOFSXX-B1LaL7po.js";import"./chunk-5PVQY5BW-DHmdYl18.js";import"./chunk-U2HBQHQK-BQEFtvNE.js";import"./chunk-FMBD7UC4-yxpni0iy.js";import"./chunk-BSJP7CBP-Bi10nqUB.js";import"./chunk-ZZ45TVLE-DjoyvapL.js";import"./chunk-YZCP3GAM-wveZpL2J.js";import"./chunk-55IACEB6-BMw0jGoU.js";import"./chunk-EDXVE4YY-Cdm2p7eD.js";import"./chunk-X2U36JSP-B0NFvVYj.js";import"./chunk-5FUZZQ4R-BP1tPdP4.js";import"./chunk-ENJZ2VHE-CtYN5PYG.js";import"./chunk-336JU56O-Df_WdTwV.js";import{i as t,n,r,t as i}from"./chunk-4TB4RGXK-Z_KF79WQ.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import{n as e}from"./src-60u1_sM3.js";import"./chunk-ICPOFSXX-B1LaL7po.js";import"./chunk-5PVQY5BW-DHmdYl18.js";import"./chunk-U2HBQHQK-BQEFtvNE.js";import"./chunk-FMBD7UC4-yxpni0iy.js";import"./chunk-BSJP7CBP-Bi10nqUB.js";import"./chunk-ZZ45TVLE-DjoyvapL.js";import"./chunk-YZCP3GAM-wveZpL2J.js";import"./chunk-55IACEB6-BMw0jGoU.js";import"./chunk-EDXVE4YY-Cdm2p7eD.js";import"./chunk-X2U36JSP-B0NFvVYj.js";import"./chunk-5FUZZQ4R-BP1tPdP4.js";import"./chunk-ENJZ2VHE-CtYN5PYG.js";import"./chunk-336JU56O-Df_WdTwV.js";import{i as t,n,r,t as i}from"./chunk-4TB4RGXK-Z_KF79WQ.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import{i as e}from"./graphlib-CgeMr8SV.js";var t=4;function n(n){return e(n,t)}export{n as t};
@@ -1 +0,0 @@
1
- import{Bn as e,C as t,Gn as n,K as r,Tr as i,Un as a,Zn as o,ar as s,fr as c,sr as l}from"./dist-COgUpCH8.js";function u(e){return e.kind===`asset`}function d(e){return e.kind===`document`}function f(e){return e.kind===`folder`}function p(e){let t=[],n=0;for(let r of e)switch(r.kind){case`document`:if(r.docName===void 0){n+=1;break}t.push({kind:`document`,docName:r.docName,docExt:r.docExt,size:r.size,modified:r.modified,isSymlink:r.isSymlink,canonicalDocName:r.canonicalDocName,targetPath:r.targetPath});break;case`asset`:if(r.path===void 0||r.assetExt===void 0){n+=1;break}t.push({kind:`asset`,path:r.path,assetExt:r.assetExt,mediaKind:r.mediaKind??null,size:r.size,modified:r.modified,referencedBy:r.referencedBy});break;case`file`:if(r.path===void 0){n+=1;break}t.push({kind:`asset`,path:r.path,assetExt:r.assetExt??m(r.path),mediaKind:null,size:r.size,modified:r.modified,referencedBy:[]});break;case`folder`:if(r.path===void 0){n+=1;break}t.push({kind:`folder`,path:r.path,size:r.size,modified:r.modified,hasChildren:r.hasChildren,isSymlink:r.isSymlink,targetPath:r.targetPath});break;default:r.kind;break}return n>0&&console.warn(`[file-tree-utils] dropped ${n} listing entries missing variant identity fields`),t}function m(e){let t=e.includes(`/`)?e.split(`/`).pop()??e:e,n=t.lastIndexOf(`.`);return n>0&&n<t.length-1?t.slice(n+1).toLowerCase():t.startsWith(`.`)&&t.length>1?t.slice(1).toLowerCase():`file`}function h(e){if(!e)return[];let t=e.split(`/`).filter(Boolean),n=[];for(let e=1;e<t.length;e++)n.push(t.slice(0,e).join(`/`));return n}function g(e){if(!e)return``;let t=e.lastIndexOf(`/`);return t>0?e.slice(0,t):``}function _(e,t=!1){return e.filter(e=>{let n=e.docName??e.path??``;return n===``?!1:t?!0:!a(n)})}var v=/\.(md|mdx)$/i;function y(e){return e.trim().replace(/^\.\/+/,``).replace(/^\/+/,``)}function b(e){return y(e).replace(v,``)}function x(e){let t=y(e);return t?v.test(t)?t:`${t}.md`:`untitled.md`}function S(e){let t=b(e),n=t.lastIndexOf(`/`);return{initialDir:n>0?t.slice(0,n):``,suggestedName:`${n>=0?t.slice(n+1):t||`untitled`}.md`}}function C(e){let t=e.trim();return{normalizedTarget:t.replace(/^\.\/+/,``).replace(/^\/+/,``).replace(/\/+$/g,``),expectsFolder:/\/+$/.test(t)}}function w(e){return b(e).replace(/\/+$/g,``)}function T(e){let t=new Set;for(let n of e)for(let e of h(n))t.add(e);return t}function E(e,t){if(!t)return;let n=i(e);if(n)return t.get(n)}function D(e,t){if(!t||e.includes(`/`))return;let n=i(e);if(n)return t.get(n)}function O(e,t){if(n(e)){let t=s(e);if(t?.kind===`reference`){let e=`references/${t.rel}.md`;return{kind:`skill-file`,target:`global/${t.name}/${e}`,scope:`global`,name:t.name,path:e}}let n=l(e);if(n?.kind===`skill`&&n.scope===`project`){let e=c(n.name);return{kind:`doc`,target:e,docName:e}}return{kind:`doc`,target:e,docName:e}}let r=o(e);if(r)return{kind:`doc`,target:r,docName:r};let{normalizedTarget:i,expectsFolder:a}=C(e);if(!i)return{kind:`missing`,target:i};let u=w(e);if(!a&&t.pages.has(i))return{kind:`doc`,target:i,docName:i};if(!a&&u!==i&&t.pages.has(u))return{kind:`doc`,target:u,docName:u};if(!a){let e=E(u,t.pagesBySlug);if(e)return{kind:`doc`,target:e,docName:e}}let d=`${u}/index`;if(t.pages.has(d))return{kind:`folder-index`,target:u,folderPath:u,docName:d,noteKind:`canonical-index`};let f=u.split(`/`).pop(),p=f?`${u}/${f}`:null;if(p&&t.pages.has(p))return{kind:`folder-index`,target:u,folderPath:u,docName:p,noteKind:`legacy-folder-note`};if(!a){let e=D(u,t.pagesByBasename);if(e)return{kind:`doc`,target:e,docName:e}}return(t.folderPaths??T(t.pages)).has(u)?{kind:`folder`,target:u,folderPath:u}:{kind:`missing`,target:u||i}}function k(e){return e.kind===`folder-index`?{kind:`folder`,target:e.folderPath,folderPath:e.folderPath}:e}function A(n,r,i=t){return typeof r!=`number`||!e(r,i)?null:{kind:`large-file`,target:n,docName:n,size:r,limit:i}}function j(e,n,r=t){return e.kind!==`doc`&&e.kind!==`folder-index`?e:A(e.docName,n.get(e.docName)?.size,r)??e}function M(e){switch(e.kind){case`doc`:case`folder-index`:case`large-file`:return e.docName;case`missing`:return e.target;case`asset`:case`skill-file`:case`folder`:return null}}function N(e){return r.includes(e)}function P(e){if(e.startsWith(H)||e.startsWith(K)||!e.startsWith(`#/`))return null;let t=e.slice(2),n=U(t),r=n>=0?t.slice(0,n):t;if(!r)return null;try{return r.split(`/`).map(decodeURIComponent).join(`/`)}catch{return r}}function F(e){if(e.startsWith(H)||!e.startsWith(`#/`))return null;let t=e.slice(2),n=t.indexOf(`#`);if(n<0)return null;let r=t.slice(n+1);if(!r)return null;try{return decodeURIComponent(r)}catch{return r}}function I(e,t){let n=`#/${e}`;return t?`${n}#${encodeURIComponent(t)}`:n}function L(e){if(window.location.hash===e)return;let{pathname:t,search:n}=window.location;window.history.replaceState(null,``,`${t}${n}${e}`)}function R(e){return e.endsWith(`.mdx`)?e.slice(0,-4):e.endsWith(`.md`)?e.slice(0,-3):e}function z(e,t){let n=e.replace(/^\/+|\/+$/g,``),r=n?`#/${n}/`:`#/`;return t?`${r}#${encodeURIComponent(t)}`:r}function B(e,t,n){if(e===`folder`)return z(t);let r=`#/${encodeURIComponent(t)}`;return n==null||n===``?r:`${r}?branch=${encodeURIComponent(n)}`}function V(e){if(e===`#/`)return!0;if(!e.startsWith(`#/`))return!1;let t=e.slice(2);return t.length>0&&t[0]===`?`}var H=`#/__asset__/`;function U(e){let t=e.indexOf(`?`),n=e.indexOf(`#`);return t<0?n:n<0?t:Math.min(t,n)}function W(e){if(!e.startsWith(H))return null;let t=e.slice(12);if(!t)return null;try{return t.split(`/`).map(decodeURIComponent).join(`/`)}catch{return t}}function G(e){return`${H}${e.split(`/`).map(encodeURIComponent).join(`/`)}`}var K=`#/__skill-file__/`;function q(e){return`${K}${[e.scope,e.name].map(encodeURIComponent).join(`/`)}/${e.path.split(`/`).map(encodeURIComponent).join(`/`)}`}function J(e){if(!e.startsWith(K))return null;let t=e.slice(17);if(!t)return null;let n;try{n=t.split(`/`).map(decodeURIComponent)}catch{return null}if(n.length<3)return null;let[r,i,...a]=n,o=a.join(`/`);return!r||!i||!o||!N(r)?null:{scope:r,name:i,path:o}}export{g as C,f as D,d as E,m as O,b as S,u as T,C as _,R as a,S as b,z as c,L as d,J as f,A as g,k as h,B as i,p as k,q as l,M as m,W as n,G as o,T as p,P as r,I as s,F as t,V as u,O as v,_ as w,x,j as y};
@@ -1 +0,0 @@
1
- import{Ii as e}from"./dist-COgUpCH8.js";import{t}from"./file-tree-rename-validation-BkATWpiZ.js";import{D as n,E as r,T as i,c as a,g as o,o as s,s as c}from"./doc-hash-DcgMeKm-.js";var l=`application/x-open-knowledge-sidebar-item+json`,u={image:!0,video:!0,audio:!0,pdf:!0,text:!0};function d(e){return JSON.stringify(e)}function f(e){return e.kind===`folder`?{target:{kind:`folder`,target:e.folderPath,folderPath:e.folderPath},hash:a(e.folderPath)}:e.kind===`asset`?{target:{kind:`asset`,target:e.assetPath,assetPath:e.assetPath,mediaKind:e.mediaKind},hash:s(e.assetPath)}:{target:o(e.docName,e.size)??{kind:`doc`,target:e.docName,docName:e.docName},hash:c(e.docName)}}function p(e){if(!e||!Array.from(e.types).includes(`application/x-open-knowledge-sidebar-item+json`))return null;let t=e.getData(l);if(!t)return null;let n;try{n=JSON.parse(t)}catch{return null}if(!m(n)||n.v!==1||typeof n.kind!=`string`)return null;if(n.kind===`doc`){if(typeof n.docName!=`string`||n.docName.length===0)return null;let e=n.size;return e!==null&&typeof e!=`number`?null:{v:1,kind:`doc`,docName:n.docName,size:e}}if(n.kind===`folder`)return typeof n.folderPath==`string`?{v:1,kind:`folder`,folderPath:n.folderPath}:null;if(n.kind===`asset`){if(typeof n.assetPath!=`string`||n.assetPath.length===0)return null;let e=n.mediaKind;return e!==null&&!h(e)?null:{v:1,kind:`asset`,assetPath:n.assetPath,mediaKind:e}}return null}function m(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function h(e){return typeof e==`string`&&Object.hasOwn(u,e)}var g={background:`#171717`,foreground:`#e5e5e5`,cursor:`#e5e5e5`,cursorAccent:`#171717`,selectionBackground:`#3a3d41`,black:`#000000`,red:`#cd3131`,green:`#0dbc79`,yellow:`#e5e510`,blue:`#2472c8`,magenta:`#bc3fbc`,cyan:`#11a8cd`,white:`#e5e5e5`,brightBlack:`#666666`,brightRed:`#f14c4c`,brightGreen:`#23d18b`,brightYellow:`#f5f543`,brightBlue:`#3b8eea`,brightMagenta:`#d670d6`,brightCyan:`#29b8db`,brightWhite:`#ffffff`},_={background:`#ffffff`,foreground:`#262626`,cursor:`#262626`,cursorAccent:`#ffffff`,selectionBackground:`#add6ff`,black:`#000000`,red:`#cd3131`,green:`#00bc00`,yellow:`#949800`,blue:`#0451a5`,magenta:`#bc05bc`,cyan:`#0598bc`,white:`#555555`,brightBlack:`#666666`,brightRed:`#cd3131`,brightGreen:`#14ce14`,brightYellow:`#b5ba00`,brightBlue:`#0451a5`,brightMagenta:`#bc05bc`,brightCyan:`#0598bc`,brightWhite:`#a5a5a5`};function v(e){return e===`dark`?g:_}var y=`.md`,b=/\.(md|mdx)$/i;function x(e,t=y){return b.test(e)?e:`${e}${t}`}function S(e){return Z(e).replace(b,``)}function C(e,t){let n=Z(e),i=t.find(e=>r(e)&&w(e)===n);if(i)return i.docName;let a=S(n);return t.find(e=>{let t=w(e);return t!==n&&b.test(t)&&S(t)===a})&&b.test(n)?n:a}function w(e){return n(e)?D(e.path):i(e)?e.path:x(e.docName,e.docExt)}function T(e){let t=Z(e).match(b);return t?`.${t[1].toLowerCase()}`:void 0}function E(e){return Z(e)}function D(e){let t=Z(e.trim());return t?`${t}/`:``}function O(e){return e.endsWith(`/`)?E(e):S(e)}function k(e){return e.map(w)}function A(e){return[...e].sort().join(`\0`)}function j(e){return A(k(e))}function M(e){let t=new Set;for(let r of e){let e=(n(r)||i(r)?r.path:r.docName).split(`/`).filter(Boolean);if(e.includes(`.ok`))continue;if(n(r)){let e=D(r.path);e&&t.add(e)}let a=n(r)?e.length:e.length-1;for(let n=1;n<=a;n++)t.add(`${e.slice(0,n).join(`/`)}/`)}return[...t].sort()}function N(e){if(!e)return[];let t=Z(e.replace(b,``)).split(`/`).filter(Boolean),n=[],r=e.endsWith(`/`)?t.length:t.length-1;for(let e=1;e<=r;e++)n.push(`${t.slice(0,e).join(`/`)}/`);return n}function P(e,t,n){let i=T(e);if(i)return i;let a=n.find(e=>r(e)&&e.docName===t);return a?a.docExt??y:X(e).includes(`.`)?void 0:y}function F(e,t){let n=e.lastIndexOf(`/`),r=n===-1?``:e.slice(0,n+1),a=n===-1?e:e.slice(n+1),o=t.filter(e=>{if(!i(e)||!e.path.startsWith(r))return!1;let t=e.path.slice(r.length);return!t.includes(`/`)&&t.startsWith(`${a}.`)});return o.length===1?o[0].path:null}function I(e,t,n){if(T(e))return null;let r=n.find(e=>i(e)&&e.path===t);return r?r.path:X(e).includes(`.`)?t:F(t,n)}function L(e,t){let n=e.kind===`directory`,r=n?E(e.path):C(e.path,t);if(n)return{kind:`folder`,name:Z(X(e.path)).replace(b,``),path:r,treePath:z(e.path,!0)};let i=I(e.path,r,t);if(i)return{kind:`asset`,name:Z(X(i)),path:i,treePath:i};let a=P(e.path,r,t);return{kind:`file`,name:Z(X(e.path)).replace(b,``),path:r,treePath:z(e.path,!1),docExt:a}}function R(e){return e.kind===`directory`?E(e.path):e.path}function z(e,t){return t?D(e):b.test(e)?e:`${e}${y}`}function B(e,t,n){let r=D(t),i=new Set(n);for(let t=0;t<100;t++){let n=t===0?``:` ${t+1}`;if(e===`file`){let e=`${r}Untitled${n}${y}`;if(!i.has(e))return{addPath:e,renamePath:e};continue}let a=`${r}New Folder${n}/`;if(!i.has(a))return{addPath:a,renamePath:a}}throw Error(`Could not allocate a unique tree placeholder`)}function V(e,t){return e===`file`?z(t,!1):`${E(t)}/index${y}`}function H(e,t){return t.kind===`root`||t.directoryPath==null?X(e):`${t.directoryPath}${X(e)}`}function U(e,t){if(t)return E(D(e));let n=S(e),r=n.lastIndexOf(`/`);return r===-1?``:n.slice(0,r)}function W(e,t){let n=E(D(e));return n?`${n}/${t}`:t}function G(e,t,n){e.append(`parentDocName`,W(t,n)),e.append(`placement`,`parent-dir`)}function K(e,t){return(t.path??W(e,t.src)).replace(/^\/+/,``)}function q(e){let t=e.dataTransfer?.types;if(!t)return!1;let n=Array.from(t);return n.includes(`Files`)&&!n.includes(`application/x-open-knowledge-sidebar-item+json`)}function J(e){return Array.from(e.dataTransfer?.files??[]).filter(e=>e.name.length>0||e.size>0)}function Y(n,r){let i=t(n).toLowerCase();if(i===``)return null;let a=new Date().toISOString();if(i===`.md`||i===`.mdx`)return{kind:`document`,docName:S(n),docExt:i,modified:a,size:r.size};let o=i.startsWith(`.`)?i.slice(1):i;return{kind:`asset`,path:n,assetExt:o,mediaKind:e(o),modified:a,size:r.size}}function X(e){let t=Z(e),n=t.lastIndexOf(`/`),r=n===-1?t:t.slice(n+1);return e.endsWith(`/`)?`${r}/`:r}function Z(e){return e.endsWith(`/`)?e.slice(0,-1):e}export{d as A,A as C,l as D,v as E,f as O,L as S,K as T,R as _,V as a,S as b,k as c,w as d,J as f,U as g,z as h,H as i,p as k,j as l,q as m,M as n,B as o,D as p,N as r,x as s,G as t,Y as u,F as v,O as w,C as x,E as y};
@@ -1 +0,0 @@
1
- import"./chunk-K5T4RW27-CMA0573G.js";import{n as e}from"./chunk-67CJDMHE-Dr8TgESK.js";export{e as createGitGraphServices};