@inkeep/open-knowledge 0.49.0-beta.26 → 0.49.0-beta.27
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.
- package/dist/{abnfDiagram-VRR7QNED-DQjgDcgA.mjs → abnfDiagram-VRR7QNED-DWDzSKGM.mjs} +2 -2
- package/dist/{acp-harness-probe-B0G2vBqc.mjs → acp-harness-probe-DYSjZblH.mjs} +3 -3
- package/dist/alias-JE7RI5QX-BLuOrjl2.mjs +7 -0
- package/dist/alias-JE7RI5QX-VxEqWoTW.mjs +1 -0
- package/dist/{arc-CO8jsQkL.mjs → arc-DXUbbcxK.mjs} +2 -2
- package/dist/architecture-TIHT7OUA-Bl3hpxt3.mjs +1 -0
- package/dist/{architectureDiagram-ZJ3FMSHR-CkUIG8wd.mjs → architectureDiagram-ZJ3FMSHR-HYEpY7T3.mjs} +2 -2
- package/dist/{array-Cerc_8W3.mjs → array-BbgQa93P.mjs} +1 -1
- package/dist/awk2-BBAGSFUB-ClUuupKf.mjs +21 -0
- package/dist/{awk2-BBAGSFUB-BH8WxyhW.mjs → awk2-BBAGSFUB-Dq-YdAGA.mjs} +1 -1
- package/dist/{banner-CIK2GwPx.mjs → banner-Be20aAVc.mjs} +1 -1
- package/dist/base64-4YMZCVJ5-CtkujsXK.mjs +6 -0
- package/dist/{base64-4YMZCVJ5-CDuRvFBG.mjs → base64-4YMZCVJ5-dXz6vbV-.mjs} +1 -1
- package/dist/{basename-AA2KJYZQ-sv8gJZXS.mjs → basename-AA2KJYZQ-BhoOTAHi.mjs} +1 -1
- package/dist/basename-AA2KJYZQ-CEdH80GO.mjs +6 -0
- package/dist/bash-IJWYRKFO-BDtU-lTC.mjs +6 -0
- package/dist/bash-IJWYRKFO-jaJEvAZe.mjs +1 -0
- package/dist/{blockDiagram-677ZJIJ3-sLhYyPCr.mjs → blockDiagram-677ZJIJ3-yJugV29e.mjs} +2 -2
- package/dist/{c4Diagram-LMCZKHZV-Cg6dfUXU.mjs → c4Diagram-LMCZKHZV-BFQQLctA.mjs} +2 -2
- package/dist/cat-RDUMLXKC-D1H4LA3Z.mjs +6 -0
- package/dist/{cat-RDUMLXKC-BtNo16C3.mjs → cat-RDUMLXKC-DFuXWxVq.mjs} +1 -1
- package/dist/channel-Cjp51EO_.mjs +2 -0
- package/dist/{chmod-SYMGL4JA-B15Xlp42.mjs → chmod-SYMGL4JA-ByMUk130.mjs} +1 -1
- package/dist/chmod-SYMGL4JA-lEGJICyB.mjs +8 -0
- package/dist/{chokidar-CVNrjmRM.mjs → chokidar-dh8zokRd.mjs} +1 -1
- package/dist/chunk-24IMIIXA-RjlBWJtr.mjs +2 -0
- package/dist/{chunk-2Q5K7J3B-2Es1K_NO.mjs → chunk-2Q5K7J3B-Ck8oGqYt.mjs} +2 -2
- package/dist/{chunk-2TRDZQLB-G1LvPXqq.mjs → chunk-2TRDZQLB-AH-I_6yN.mjs} +1 -1
- package/dist/chunk-2TRDZQLB-ZoW1EBbl.mjs +18 -0
- package/dist/{chunk-32BRIVSS-ok2xg0Je.mjs → chunk-32BRIVSS-Dwq69mnI.mjs} +2 -2
- package/dist/{chunk-3BS5SKQH-CFcrGLDG.mjs → chunk-3BS5SKQH-DpdUzS0R.mjs} +3 -3
- package/dist/{chunk-3H6UQG3A-Dx5ykWR0.mjs → chunk-3H6UQG3A-BWCaN15a.mjs} +2 -2
- package/dist/chunk-3THT3N7L-DYkTD3HD.mjs +2 -0
- package/dist/{chunk-3ZUFRYJ4-DzbWfyzV.mjs → chunk-3ZUFRYJ4-H1A1hWy1.mjs} +1 -1
- package/dist/chunk-3ZUFRYJ4-ekaYB_vG.mjs +2 -0
- package/dist/chunk-44UOCSGV-D1FZHMOP.mjs +2 -0
- package/dist/{chunk-4GTNDTRF-COTPYeV6.mjs → chunk-4GTNDTRF-Cx89i2Y1.mjs} +2 -2
- package/dist/{chunk-4HHKTUW3-BkuKGebe.mjs → chunk-4HHKTUW3-Dk2l1S8J.mjs} +1 -1
- package/dist/{chunk-4Q4SM6WR-i8tiQRv3.mjs → chunk-4Q4SM6WR-CGuvvBWe.mjs} +2 -2
- package/dist/{chunk-52WLFC77-BaT5_S-q.mjs → chunk-52WLFC77-Cn-qt8h-.mjs} +2 -2
- package/dist/{chunk-55VFSPNA-Ct9maI6O.mjs → chunk-55VFSPNA-D2U7n2ka.mjs} +2 -2
- package/dist/{chunk-5FCAYU7R-of7BBDNL.mjs → chunk-5FCAYU7R-DszODYLe.mjs} +2 -2
- package/dist/{chunk-5HE753X5-9kILZ5Nr.mjs → chunk-5HE753X5-DDnyF29o.mjs} +2 -2
- package/dist/{chunk-5JV3BV7I-BKVVlFxh.mjs → chunk-5JV3BV7I-BkeVAZnj.mjs} +2 -2
- package/dist/chunk-5QMZ5MUS-C5NTf5Rj.mjs +5 -0
- package/dist/{chunk-5QVNJEHU-CvZ-NmqQ.mjs → chunk-5QVNJEHU-DS9zA_YV.mjs} +2 -2
- package/dist/{chunk-5TONJI2A-CGHpmUrS.mjs → chunk-5TONJI2A-CzUNHQPX.mjs} +2 -2
- package/dist/{chunk-5V6VZH6T-DdeqP2TW.mjs → chunk-5V6VZH6T-DBFenjXz.mjs} +2 -2
- package/dist/{chunk-5VM5RSS4-COK1ErrI.mjs → chunk-5VM5RSS4-C8vNNqW0.mjs} +2 -2
- package/dist/{chunk-62RKD26F-RtrcFE7S.mjs → chunk-62RKD26F-C4qK_fA-.mjs} +2 -2
- package/dist/{chunk-64BAICW3-0h-yIc1e.mjs → chunk-64BAICW3-BupSxcu5.mjs} +2 -2
- package/dist/{chunk-6Z5SFZXK-C5owNg1o.mjs → chunk-6Z5SFZXK-Cz0C4bhB.mjs} +2 -2
- package/dist/{chunk-74CEPOFO--xsxhUFC.mjs → chunk-74CEPOFO-BUVWiXkJ.mjs} +1 -1
- package/dist/chunk-74CEPOFO-BYrCYxKO.mjs +23 -0
- package/dist/{chunk-7BUUIJ7U-_1oXd84C.mjs → chunk-7BUUIJ7U-D7hE25H9.mjs} +2 -2
- package/dist/{chunk-7L36YK2X-VlH7dlrD.mjs → chunk-7L36YK2X-CGwYuotX.mjs} +1 -1
- package/dist/chunk-7L36YK2X-DAp-upAs.mjs +3 -0
- package/dist/{chunk-7TSDKFEO-BjOrsK6M.mjs → chunk-7TSDKFEO-CE_P23TY.mjs} +1 -1
- package/dist/chunk-7TSDKFEO-DBB10vPw.mjs +2 -0
- package/dist/{chunk-A4HU7SVR-oMNSpej4.mjs → chunk-A4HU7SVR-BZJ8xDMo.mjs} +1 -1
- package/dist/{chunk-A4JSPFCI-DtnWqT5O.mjs → chunk-A4JSPFCI-Dej71yGP.mjs} +2 -2
- package/dist/chunk-A5O5YHGN-CczwCZ4d.mjs +2 -0
- package/dist/{chunk-A65PWWJC-LctFeUxK.mjs → chunk-A65PWWJC-C-0S-s_f.mjs} +2 -2
- package/dist/{chunk-A7A2DBEE-DuuhuGG1.mjs → chunk-A7A2DBEE-DCXJ1xmx.mjs} +1 -1
- package/dist/{chunk-A7ICOL4V-CzYDHdxM.mjs → chunk-A7ICOL4V-BQZ9JZ1A.mjs} +2 -2
- package/dist/{chunk-ALLTKNUZ-BnLIZXEI.mjs → chunk-ALLTKNUZ-D2ZOfcEz.mjs} +2 -2
- package/dist/{chunk-APT7OOP2-DESh647P.mjs → chunk-APT7OOP2-D-DaFB7K.mjs} +2 -2
- package/dist/chunk-B74TABJS-BJwhrR8a.mjs +34 -0
- package/dist/{chunk-BIQX33UG-BVtPexox.mjs → chunk-BIQX33UG-Bmho6v3L.mjs} +2 -2
- package/dist/{chunk-C7G6YPKG-DpNJWc2e.mjs → chunk-C7G6YPKG-BAX_SClW.mjs} +2 -2
- package/dist/{chunk-CQNSW5MT-B6mAd0WS.mjs → chunk-CQNSW5MT-FekKjn0i.mjs} +2 -2
- package/dist/chunk-CWQS3NFK-CcBWgb8o.mjs +2 -0
- package/dist/{chunk-CYSBUYHQ-CTWbbsmm.mjs → chunk-CYSBUYHQ-BftsYwRW.mjs} +2 -2
- package/dist/{chunk-D4J545R4-Dy3lcp_X.mjs → chunk-D4J545R4-Br_5qOnE.mjs} +2 -2
- package/dist/{chunk-D6CWQ5DW-Dl4tJcwX.mjs → chunk-D6CWQ5DW-3AWPydfx.mjs} +2 -2
- package/dist/{chunk-D7MEQ3VN-B-Qyxyo5.mjs → chunk-D7MEQ3VN-Df6An2jd.mjs} +2 -2
- package/dist/chunk-DBKNVD4L-B3hX287s.mjs +10 -0
- package/dist/{chunk-DBKNVD4L-Y2Mnp5lC.mjs → chunk-DBKNVD4L-DNQP2COw.mjs} +2 -2
- package/dist/{chunk-DCAAORBQ-BxtVrSMT.mjs → chunk-DCAAORBQ-BDLVpBG2.mjs} +2 -2
- package/dist/chunk-DHbaKqs-.mjs +1 -0
- package/dist/chunk-DXB73IDG-BBwE27jK.mjs +2 -0
- package/dist/{chunk-EEXR5ZDP-BcjEP2wd.mjs → chunk-EEXR5ZDP-CE452hsE.mjs} +1 -1
- package/dist/chunk-EEXR5ZDP-Df-EPnbj.mjs +3 -0
- package/dist/{chunk-EIZGF4BS-DYiqM1Ss.mjs → chunk-EIZGF4BS-86nrMkyt.mjs} +2 -2
- package/dist/chunk-EIZGF4BS-CSFp0aUh.mjs +9 -0
- package/dist/{chunk-EMLP6XTP-AFimKO17.mjs → chunk-EMLP6XTP-C2yfLzVC.mjs} +2 -2
- package/dist/{chunk-EX3LRPZG-BYcqQlY8.mjs → chunk-EX3LRPZG-Chp9b-Lc.mjs} +2 -2
- package/dist/{chunk-F23WWYKW-BuCITNd6.mjs → chunk-F23WWYKW-qKke1WqP.mjs} +2 -2
- package/dist/{chunk-FWX5IMBZ-BFNo8SGu.mjs → chunk-FWX5IMBZ-Cn1xNcn5.mjs} +2 -2
- package/dist/{chunk-GCTKCWKD-jz3yOk3f.mjs → chunk-GCTKCWKD-D0obXRun.mjs} +1 -1
- package/dist/chunk-GFQRA5P5-XqPO4cim.mjs +3 -0
- package/dist/{chunk-GOV5EKKI-IRzA9ik3.mjs → chunk-GOV5EKKI-CDovwI7Z.mjs} +2 -2
- package/dist/{chunk-GXVXFKBA-CGc4vqMu.mjs → chunk-GXVXFKBA-D-BGCybM.mjs} +2 -2
- package/dist/{chunk-HDQ56CKY-Svz-iz8m.mjs → chunk-HDQ56CKY-CI8IkhlS.mjs} +2 -2
- package/dist/chunk-HDQ56CKY-Pa-7c4rC.mjs +16 -0
- package/dist/{chunk-HJQJAYMS-SgZmT_QE.mjs → chunk-HJQJAYMS-BHzb4Ncl.mjs} +1 -1
- package/dist/{chunk-HJWBQKYG-BqFDM0xp.mjs → chunk-HJWBQKYG-B-KESSoV.mjs} +2 -2
- package/dist/{chunk-HKLCLINH-DKx243zB.mjs → chunk-HKLCLINH-Bgw53oZd.mjs} +3 -3
- package/dist/{chunk-HL6NGDO2-B9GCn41X.mjs → chunk-HL6NGDO2-CftrHAlX.mjs} +2 -2
- package/dist/{chunk-HOUHSVGY-Cg_2_CUd.mjs → chunk-HOUHSVGY-C3h3PdhC.mjs} +2 -2
- package/dist/{chunk-HWKDQ44K-CVxg-h0V.mjs → chunk-HWKDQ44K-CGcvROg-.mjs} +2 -2
- package/dist/chunk-HWKDQ44K-D3ZbaPl8.mjs +4 -0
- package/dist/chunk-I57KEIP3-_HYA-njf.mjs +11 -0
- package/dist/{chunk-I57KEIP3-FVl4IVXz.mjs → chunk-I57KEIP3-iiTO2OC-.mjs} +1 -1
- package/dist/{chunk-ICXQ74PX-CewdqzeE.mjs → chunk-ICXQ74PX-DbJy3VdO.mjs} +2 -2
- package/dist/chunk-IPJHKYVM-3ANqAo3C.mjs +2 -0
- package/dist/{chunk-JG7HCLWE-BgiWVzAI.mjs → chunk-JG7HCLWE-lUInQ_44.mjs} +2 -2
- package/dist/{chunk-JVPRLUMK-CH7w4zyh.mjs → chunk-JVPRLUMK-FzUEFQw9.mjs} +2 -2
- package/dist/{chunk-JWPE2WC7-cMhWwV9I.mjs → chunk-JWPE2WC7-iDbhfJR-.mjs} +2 -2
- package/dist/{chunk-K6LIBGJA-DI9ZkJey.mjs → chunk-K6LIBGJA-BXxOXTjI.mjs} +2 -2
- package/dist/{chunk-KEIR6QF5-BhaMJNB5.mjs → chunk-KEIR6QF5-BLwvtFl6.mjs} +1 -1
- package/dist/{chunk-KMEYNNUA-CabTsa7P.mjs → chunk-KMEYNNUA-1KiUKBQV.mjs} +2 -2
- package/dist/chunk-KRBPSX3W-DeaaVEij.mjs +6 -0
- package/dist/{chunk-KRBPSX3W-ciCGjpAL.mjs → chunk-KRBPSX3W-YDdgrCmf.mjs} +2 -2
- package/dist/{chunk-LL3S3NLB-r8mDpVuz.mjs → chunk-LL3S3NLB-D0lLKwVi.mjs} +2 -2
- package/dist/{chunk-LTZRCH7N-Cj1hz7m7.mjs → chunk-LTZRCH7N-DpPs5vSq.mjs} +2 -2
- package/dist/{chunk-LWEGUNWT-C3ON4AHi.mjs → chunk-LWEGUNWT-DOK-XWMd.mjs} +2 -2
- package/dist/{chunk-MDDMCKUK-D3MZs3FF.mjs → chunk-MDDMCKUK-CTA6qEdN.mjs} +2 -2
- package/dist/{chunk-MDLLFABN-DgTeOfIY.mjs → chunk-MDLLFABN-B2tA3LLA.mjs} +2 -2
- package/dist/{chunk-MHTUABJP-BbSobv_U.mjs → chunk-MHTUABJP-CrR3MfDw.mjs} +1 -1
- package/dist/{chunk-MIZPJHVH-CzqfuBdK.mjs → chunk-MIZPJHVH-d3bhRfh4.mjs} +2 -2
- package/dist/{chunk-MLXIYONF-BcM04nM_.mjs → chunk-MLXIYONF-C0S_CKb1.mjs} +1 -1
- package/dist/{chunk-MOJQB5TN-CidbQQ7m.mjs → chunk-MOJQB5TN-CUt4IiNv.mjs} +2 -2
- package/dist/{chunk-MOZMSUNE-DTiZcqZ1.mjs → chunk-MOZMSUNE-DCxwDKn7.mjs} +2 -2
- package/dist/{chunk-MYE6AGBJ-B3ukegXT.mjs → chunk-MYE6AGBJ-CMoRJzYM.mjs} +2 -2
- package/dist/{chunk-NAERJDUW-CoAYVGR3.mjs → chunk-NAERJDUW-Ck-SZ2Ps.mjs} +2 -2
- package/dist/{chunk-NCNPKYJZ-C1KcgrGe.mjs → chunk-NCNPKYJZ-BxqfYu6d.mjs} +2 -2
- package/dist/{chunk-NUYSJFDK-sPbPxu4W.mjs → chunk-NUYSJFDK-DfaBzW-k.mjs} +2 -2
- package/dist/{chunk-OCLXQMOG-BdLZfp3D.mjs → chunk-OCLXQMOG-DC3689MV.mjs} +2 -2
- package/dist/{chunk-OCS6LSEM-7beNWT9m.mjs → chunk-OCS6LSEM-BY3_3dNt.mjs} +2 -2
- package/dist/{chunk-OGEWGWER-B-Vr80Fa.mjs → chunk-OGEWGWER-DgPAesMA.mjs} +2 -2
- package/dist/chunk-OJDRYQWQ-B9KRyRFZ.mjs +2 -0
- package/dist/{chunk-OSBZ3O6U-DwDyo3Ly.mjs → chunk-OSBZ3O6U-BVpvamr7.mjs} +2 -2
- package/dist/{chunk-PBXLG62G-ww-bn-Tp.mjs → chunk-PBXLG62G-C12xrBbG.mjs} +2 -2
- package/dist/{chunk-PP6PSHAB-xKRHmmOd.mjs → chunk-PP6PSHAB-tlM6YKyg.mjs} +1 -1
- package/dist/{chunk-PUDLZKDR-CI0pacGF.mjs → chunk-PUDLZKDR-CIWYIjrF.mjs} +2 -2
- package/dist/{chunk-PXTK5WE2-Dfi2FrE5.mjs → chunk-PXTK5WE2-DNbfUrIy.mjs} +1 -1
- package/dist/chunk-PXTK5WE2-e9kxtsgu.mjs +22 -0
- package/dist/{chunk-PYSFUGCK-BHwvxY2Q.mjs → chunk-PYSFUGCK-DqdcBhD4.mjs} +2 -2
- package/dist/{chunk-Q4XR5HBZ-4H-m7p0G.mjs → chunk-Q4XR5HBZ-jWirJQsj.mjs} +2 -2
- package/dist/{chunk-QBLGF6JB-B_tvtCRO.mjs → chunk-QBLGF6JB-hMrl9lGc.mjs} +2 -2
- package/dist/{chunk-QCDB2VPH-DHsQu4h6.mjs → chunk-QCDB2VPH-Cv7mIZWG.mjs} +2 -2
- package/dist/{chunk-QJ7O6ZN3-CTKdWbns.mjs → chunk-QJ7O6ZN3-BRN048sn.mjs} +2 -2
- package/dist/{chunk-R6QSAL5T-DA60heK6.mjs → chunk-R6QSAL5T-CxzbKF59.mjs} +1 -1
- package/dist/chunk-R6VWJ2ZL-DmUcUF0z.mjs +2 -0
- package/dist/{chunk-R7FJI6CG-BVR1ae7y.mjs → chunk-R7FJI6CG-bmCS8vOS.mjs} +2 -2
- package/dist/{chunk-RPNGRAAP-df7FdhI4.mjs → chunk-RPNGRAAP-BTpXCNpb.mjs} +2 -2
- package/dist/{chunk-RYQCIY6F-C8F82Uai.mjs → chunk-RYQCIY6F-Dt7I2-Oy.mjs} +2 -2
- package/dist/{chunk-SDNKECQQ-BuTL-ot2.mjs → chunk-SDNKECQQ-BNRfy-15.mjs} +2 -2
- package/dist/chunk-SNN4IESC-CZPQ88bY.mjs +2 -0
- package/dist/{chunk-SNN4IESC-DVqEOGsL.mjs → chunk-SNN4IESC-oXVGT9qo.mjs} +1 -1
- package/dist/{chunk-T56QNPHK-COZC2A_r.mjs → chunk-T56QNPHK-lY6QjpkL.mjs} +2 -2
- package/dist/{chunk-TLSUDHID-DAREQN9J.mjs → chunk-TLSUDHID-BP7dARSe.mjs} +2 -2
- package/dist/{chunk-TOMNU26N-C3JZDC96.mjs → chunk-TOMNU26N-BFsBBT9j.mjs} +2 -2
- package/dist/{chunk-TP4BZANS-C2Z-CHHA.mjs → chunk-TP4BZANS-C6KGxaUf.mjs} +2 -2
- package/dist/{chunk-TXBZCHCQ-DOaoE5TV.mjs → chunk-TXBZCHCQ-DxPX5PCF.mjs} +2 -2
- package/dist/{chunk-U6XO7XAA-BpjdcG5R.mjs → chunk-U6XO7XAA-BHty90wb.mjs} +2 -2
- package/dist/{chunk-V5MWI2OL-D8SKWVO_.mjs → chunk-V5MWI2OL-DApVl_z4.mjs} +1 -1
- package/dist/{chunk-V7JOEXUC-CdEIYYNc.mjs → chunk-V7JOEXUC-DNM56rwe.mjs} +2 -2
- package/dist/{chunk-V7TAPXDL-CQbB1mLa.mjs → chunk-V7TAPXDL-CrGsULIH.mjs} +2 -2
- package/dist/chunk-VAUOI2AC-BdotBBDE.mjs +2 -0
- package/dist/{chunk-VJFXDYWH-C7Lg-Yts.mjs → chunk-VJFXDYWH-DXnppZsu.mjs} +2 -2
- package/dist/{chunk-VOBGTVA6-CKl2LR-K.mjs → chunk-VOBGTVA6-_4QbVbSJ.mjs} +2 -2
- package/dist/{chunk-VR4S4FIN-mH-q10Uq.mjs → chunk-VR4S4FIN-RUJ5PgRH.mjs} +2 -2
- package/dist/{chunk-VYOJP4TV-DFxaC5Uc.mjs → chunk-VYOJP4TV-DG_cm0JM.mjs} +2 -2
- package/dist/{chunk-WKFATFPP-R7B51gCW.mjs → chunk-WKFATFPP-DygaP6No.mjs} +2 -2
- package/dist/{chunk-WYO6CB5R-Cg1RXhAT.mjs → chunk-WYO6CB5R-DN1R0VLx.mjs} +2 -2
- package/dist/{chunk-X2AJGDEF-D97qevlv.mjs → chunk-X2AJGDEF-BXjUENXL.mjs} +1 -1
- package/dist/chunk-X2AJGDEF-ivzQBp_p.mjs +2 -0
- package/dist/{chunk-XKQRETAK-BTmmMuta.mjs → chunk-XKQRETAK-CYJSOFLN.mjs} +2 -2
- package/dist/{chunk-XKWWSDBF-BGzAOrO3.mjs → chunk-XKWWSDBF-BTj39eCO.mjs} +2 -2
- package/dist/{chunk-XVDPCNWR-3ajbQWzU.mjs → chunk-XVDPCNWR-BSVT7Ttz.mjs} +2 -2
- package/dist/chunk-XXDRQBXY-D1gFTzjI.mjs +2 -0
- package/dist/{chunk-Y2CYZVJY-C7FmC3Cl.mjs → chunk-Y2CYZVJY-acXC9Sbb.mjs} +1 -1
- package/dist/{chunk-YMMW5UAP-DbBgrudQ.mjs → chunk-YMMW5UAP-CE-EQ2Is.mjs} +2 -2
- package/dist/{chunk-YOTPTUD7-BSOqhRr-.mjs → chunk-YOTPTUD7-63S9b4Z2.mjs} +2 -2
- package/dist/{chunk-YTNYSM6T-CoxqCaLl.mjs → chunk-YTNYSM6T-DFPh_641.mjs} +2 -2
- package/dist/{chunk-YULBWSET-CuKhTv4j.mjs → chunk-YULBWSET-B6FKJjk9.mjs} +2 -2
- package/dist/{chunk-Z6LRHWXI-CujGXDs8.mjs → chunk-Z6LRHWXI-BCgawaNX.mjs} +1 -1
- package/dist/{chunk-Z7JVV2SM-CiJwkxuY.mjs → chunk-Z7JVV2SM-CTUpikzI.mjs} +2 -2
- package/dist/{chunk-ZGVPDNZ5-BE_qYP6z.mjs → chunk-ZGVPDNZ5-CyyHBEs2.mjs} +2 -2
- package/dist/{chunk-ZIRB5QZD-mhYZnDzb.mjs → chunk-ZIRB5QZD-K23GvNu-.mjs} +2 -2
- package/dist/{chunk-ZZO3UDB3-DCkJjNN2.mjs → chunk-ZZO3UDB3-MiEiJy8J.mjs} +2 -2
- package/dist/classDiagram-OUVF2IWQ-0ApI9cDS.mjs +2 -0
- package/dist/classDiagram-v2-EOCWNBFH-DfQYJWNe.mjs +2 -0
- package/dist/clear-5CZ5X4YR-9EZyt4MH.mjs +2 -0
- package/dist/{clear-5CZ5X4YR-BNXs_KRD.mjs → clear-5CZ5X4YR-BICGLF_r.mjs} +1 -1
- package/dist/cli.mjs +22 -22
- package/dist/{column-WLPMMSTS-BrY1gQI1.mjs → column-WLPMMSTS-D0I9TpQ2.mjs} +1 -1
- package/dist/column-WLPMMSTS-Do8HgL6q.mjs +8 -0
- package/dist/comm-5SLSESQG-0igXzBnl.mjs +12 -0
- package/dist/{comm-5SLSESQG-aGB098lH.mjs → comm-5SLSESQG-D2Rs9Jmo.mjs} +1 -1
- package/dist/constants-BEe0tuQx.mjs +2 -0
- package/dist/{cose-bilkent-JH36ORCC-CMfIp4st.mjs → cose-bilkent-JH36ORCC-B1gjUwU3.mjs} +2 -2
- package/dist/cp-XOYR4ABJ-CpnwcT2f.mjs +8 -0
- package/dist/{du-WO2ENHXQ-Cg71FvLi.mjs → cp-XOYR4ABJ-OfwEEWhR.mjs} +1 -1
- package/dist/{curl-47BFPSFW-d1TMPUJw.mjs → curl-47BFPSFW-Ko1BcK_R.mjs} +2 -2
- package/dist/{cut-OPC3VAGB-FXZX1WQM.mjs → cut-OPC3VAGB-BAhJz0Qh.mjs} +1 -1
- package/dist/cut-OPC3VAGB-nJAw1cEp.mjs +6 -0
- package/dist/cynefin-VYW2F7L2-C-aICrN-.mjs +1 -0
- package/dist/{cynefinDiagram-TSTJHNR4-CFbt5v4d.mjs → cynefinDiagram-TSTJHNR4-CoESbhp4.mjs} +2 -2
- package/dist/{cytoscape.esm-Dq6ZD9GH.mjs → cytoscape.esm-D6l9Lhue.mjs} +1 -1
- package/dist/{dagre-CbI1Ylqw.mjs → dagre-BkPA5x_w.mjs} +2 -2
- package/dist/{dagre-VKFMJZFB-BWP36rMX.mjs → dagre-VKFMJZFB-BhCtWAkc.mjs} +2 -2
- package/dist/{head-HT2B6D2J-DSBJixLD.mjs → date-DD7FVA2V-BGJ9-l0O.mjs} +1 -1
- package/dist/date-DD7FVA2V-W_sbdO4n.mjs +5 -0
- package/dist/{defaultLocale-9SlCuWEL.mjs → defaultLocale-DN4qDyCE.mjs} +1 -1
- package/dist/{diagram-FQU43EPY-D2pf7IBH.mjs → diagram-FQU43EPY-BdshpOzp.mjs} +2 -2
- package/dist/{diagram-G47NLZAW-BlOXaBe6.mjs → diagram-G47NLZAW-Lw1fB9_w.mjs} +2 -2
- package/dist/{diagram-NH7WQ7WH-DOwRNWDI.mjs → diagram-NH7WQ7WH-DnzwFaQq.mjs} +2 -2
- package/dist/{diagram-OA4YK3LP-uyGYHUoX.mjs → diagram-OA4YK3LP-BXU-URV1.mjs} +2 -2
- package/dist/{diagram-WEI45ONY-CmW1X9Kx.mjs → diagram-WEI45ONY-CD_Zpcvk.mjs} +2 -2
- package/dist/diff-HJF2MPDN-CQAaA8lM.mjs +1 -0
- package/dist/diff-HJF2MPDN-EjmLU95d.mjs +7 -0
- package/dist/{dirname-LEMTZZFS-RRQ5Ar_Z.mjs → dirname-LEMTZZFS-BG01-R4_.mjs} +1 -1
- package/dist/dirname-LEMTZZFS-Dg3ijqjM.mjs +5 -0
- package/dist/{dist-BmYngy7b.mjs → dist-CMZz8-Ge.mjs} +1 -1
- package/dist/du-WO2ENHXQ-jqWYqk_n.mjs +8 -0
- package/dist/{cp-XOYR4ABJ-D0LUaMQT.mjs → du-WO2ENHXQ-oQRVbsEF.mjs} +1 -1
- package/dist/{ebnfDiagram-CCIWWBDH-BpBYlrRH.mjs → ebnfDiagram-CCIWWBDH-D-647A1u.mjs} +2 -2
- package/dist/echo-O45JWWI2-BPosfKdD.mjs +1 -0
- package/dist/echo-O45JWWI2-gk6mEMAU.mjs +4 -0
- package/dist/env-5EPCWSXR-BU5zTNDV.mjs +9 -0
- package/dist/env-5EPCWSXR-DygzVPiG.mjs +1 -0
- package/dist/{erDiagram-Q63AITRT-ChoKKmxG.mjs → erDiagram-Q63AITRT-DviwoNdm.mjs} +2 -2
- package/dist/eventmodeling-45OFAUF4-CJqJ2hnR.mjs +1 -0
- package/dist/{execAsync-BKp2jujj.mjs → execAsync-BLKHjfg7.mjs} +1 -1
- package/dist/{execAsync-BuUKdKlz.mjs → execAsync-C5ympCkf.mjs} +1 -1
- package/dist/expand-DTNXU4LQ-D2bEx87V.mjs +11 -0
- package/dist/{expand-DTNXU4LQ-BD32VJaK.mjs → expand-DTNXU4LQ-XU44HrWp.mjs} +1 -1
- package/dist/expr-YYCVMXE3-DI2glLwn.mjs +1 -0
- package/dist/expr-YYCVMXE3-wI0boF3e.mjs +5 -0
- package/dist/file-IGDTDPLG-DkYMcmTl.mjs +24 -0
- package/dist/{date-DD7FVA2V-7hk1aW9g.mjs → file-IGDTDPLG-sPfWVy9T.mjs} +1 -1
- package/dist/find-DH2ALKQS-B6bMjuwo.mjs +12 -0
- package/dist/find-DH2ALKQS-CEKaRkgJ.mjs +1 -0
- package/dist/flag-coverage-6JEX67RU-QmoBigPs.mjs +2 -0
- package/dist/flowDiagram-23GEKE2U-Dhi3SNHm.mjs +1 -0
- package/dist/fold-LDSORVYE-Dhx0k6vg.mjs +12 -0
- package/dist/{fold-LDSORVYE-CDU-6eOS.mjs → fold-LDSORVYE-DumfsCQO.mjs} +1 -1
- package/dist/{fs-traced-By5aY-RE.mjs → fs-traced-DVpoNaQJ.mjs} +3 -3
- package/dist/fs-traced-_QGcVmcb.mjs +1 -0
- package/dist/{ganttDiagram-NO4QXBWP-Cv7sGb-R.mjs → ganttDiagram-NO4QXBWP-DnN5cTGV.mjs} +2 -2
- package/dist/{getMachineId-bsd-DtFrm1Uy.mjs → getMachineId-bsd-B_NuwbXS.mjs} +2 -2
- package/dist/{getMachineId-bsd-GFl1-Bje.mjs → getMachineId-bsd-neTWr-l3.mjs} +2 -2
- package/dist/{getMachineId-darwin--IR8MP8d.mjs → getMachineId-darwin-BP4aVKkL.mjs} +2 -2
- package/dist/{getMachineId-darwin-28jQHa_N.mjs → getMachineId-darwin-DKDl-xYO.mjs} +2 -2
- package/dist/{getMachineId-linux-BZgyplQ5.mjs → getMachineId-linux-Bexb2iRT.mjs} +1 -1
- package/dist/{getMachineId-linux-Bzx3S652.mjs → getMachineId-linux-YTb5epZX.mjs} +1 -1
- package/dist/{getMachineId-unsupported-CyTjujlI.mjs → getMachineId-unsupported-Ddv20ynQ.mjs} +1 -1
- package/dist/{getMachineId-unsupported-DuB0leRF.mjs → getMachineId-unsupported-DdwXS_Q3.mjs} +1 -1
- package/dist/{getMachineId-win-BmvAZEMa.mjs → getMachineId-win-BNx0EbPq.mjs} +2 -2
- package/dist/{getMachineId-win-CuOFQQ73.mjs → getMachineId-win-D8cNuBNk.mjs} +2 -2
- package/dist/git-handle-DBSzQutT.mjs +1 -0
- package/dist/{git-handle-BHe1p04S.mjs → git-handle-r3d7s3VF.mjs} +2 -2
- package/dist/gitGraph-TEB2WS4Q-_V7TMkJv.mjs +1 -0
- package/dist/{gitGraphDiagram-IHSO6WYX-DxsFHicP.mjs → gitGraphDiagram-IHSO6WYX-Bs2N855t.mjs} +2 -2
- package/dist/{graphlib-DKEQBDTz.mjs → graphlib-DXQPHTiH.mjs} +1 -1
- package/dist/grep-2HUTXO5U-9G7xEEms.mjs +9 -0
- package/dist/grep-2HUTXO5U-DG5Ulinc.mjs +1 -0
- package/dist/gzip-AQXSGOVS-BcGYw5wM.mjs +32 -0
- package/dist/gzip-AQXSGOVS-D6UYmM0C.mjs +1 -0
- package/dist/head-HT2B6D2J-B5ybc-my.mjs +2 -0
- package/dist/{file-IGDTDPLG-BAlm5q29.mjs → head-HT2B6D2J-CHIR76LI.mjs} +1 -1
- package/dist/help-VVWX7SA5-Bb8T3djf.mjs +16 -0
- package/dist/help-VVWX7SA5-BbK0QLPX.mjs +1 -0
- package/dist/history-J4QRNGRO-5XgHJL_Q.mjs +1 -0
- package/dist/history-J4QRNGRO-DesXbqi2.mjs +3 -0
- package/dist/{hostname-BK6HG2DE-CaZb-T_R.mjs → hostname-BK6HG2DE-Clwz043m.mjs} +1 -1
- package/dist/hostname-BK6HG2DE-DTiGP5th.mjs +3 -0
- package/dist/html-to-markdown-TFCECAGV-BsVwcc4T.mjs +1 -0
- package/dist/html-to-markdown-TFCECAGV-DLUGt6pW.mjs +73 -0
- package/dist/index.d.mts +6867 -242
- package/dist/index.mjs +1521 -1
- package/dist/info-DKCQHKI2-DIsEz1l_.mjs +1 -0
- package/dist/{infoDiagram-FWYZ7A6U-CbPpTq2x.mjs → infoDiagram-FWYZ7A6U-CD5T72Pd.mjs} +2 -2
- package/dist/{init-CYSajZiN.mjs → init-BUIEpJX9.mjs} +54 -59
- package/dist/init-Be3isy7g.mjs +1 -0
- package/dist/{init-Buw5jj4Q.mjs → init-D8OKme52.mjs} +1 -1
- package/dist/{ishikawaDiagram-FXEZZL3T-Dd5BEpOv.mjs → ishikawaDiagram-FXEZZL3T-CzHEtbdq.mjs} +2 -2
- package/dist/join-GG2LDHE5-7k4Syl20.mjs +14 -0
- package/dist/{join-GG2LDHE5-kABASDPB.mjs → join-GG2LDHE5-BIH_-8vD.mjs} +1 -1
- package/dist/{journeyDiagram-5HDEW3XC-W6Nbr96_.mjs → journeyDiagram-5HDEW3XC-BywkQV2b.mjs} +2 -2
- package/dist/jq-LYZFFBZB-BZ4XP29I.mjs +14 -0
- package/dist/jq-LYZFFBZB-Dlyx6Y7w.mjs +1 -0
- package/dist/{js-exec-VXN6TZ7U-1yyCDQqM.mjs → js-exec-VXN6TZ7U-BrugyKqi.mjs} +2 -2
- package/dist/js-exec-VXN6TZ7U-Ds5SsewK.mjs +97 -0
- package/dist/{kanban-definition-HUTT4EX6-xcwe5vNg.mjs → kanban-definition-HUTT4EX6-DIgH0tMg.mjs} +2 -2
- package/dist/{launch-json-removal-A5wdTNlW.mjs → launch-json-removal-DqWNMLcl.mjs} +2 -2
- package/dist/lib-B2tLN_O_.mjs +2 -0
- package/dist/{lib-TLTWf9qr.mjs → lib-DuDqLKFD.mjs} +1 -1
- package/dist/{lib-BCIeHFfP.mjs → lib-ozx_WsjS.mjs} +1 -1
- package/dist/libesm-qUf-Au5c.mjs +14 -0
- package/dist/{line-Cq-NoiNn.mjs → line-eTDW_zUy.mjs} +2 -2
- package/dist/{linear-DPbvcrPk.mjs → linear-Cn1royVQ.mjs} +2 -2
- package/dist/{ln-4TRFBYAT-Dhr3hBr6.mjs → ln-4TRFBYAT-B0hi-FAf.mjs} +1 -1
- package/dist/ln-4TRFBYAT-DGrhTL40.mjs +9 -0
- package/dist/loader-C7VKSyMe.mjs +1 -0
- package/dist/{loader-C6XP6nLE.mjs → loader-CqgZy7s4.mjs} +2 -2
- package/dist/{logger-BZPV1wv8.mjs → logger-DFxEUjvj.mjs} +2 -2
- package/dist/ls-KSXFZCWH-C_kbnNdU.mjs +1 -0
- package/dist/ls-KSXFZCWH-GOWXktO9.mjs +28 -0
- package/dist/{lzma-Dh_aFpqW.mjs → lzma-CD6C2vYw.mjs} +1 -1
- package/dist/lzma-CG6o9sq-.mjs +2 -0
- package/dist/{map-CFzSl60r.mjs → map-bDB3k8vA.mjs} +2 -2
- package/dist/md-manager-BbSzMHHE.mjs +2 -0
- package/dist/md5sum-INMIK4DX-BlgGpdCD.mjs +2 -0
- package/dist/md5sum-INMIK4DX-DGvi_A-E.mjs +1 -0
- package/dist/{mermaid-parser.core-DejmtVwC.mjs → mermaid-parser.core-uwQfwzUX.mjs} +2 -2
- package/dist/{mermaid.core-CB8v9A8r.mjs → mermaid.core-BgpKViY0.mjs} +3 -3
- package/dist/{mindmap-definition-LN4V7U3C-BiYp6fzL.mjs → mindmap-definition-LN4V7U3C-H3p7uT-G.mjs} +2 -2
- package/dist/mkdir-TDEMSB6C-BVcgITXm.mjs +7 -0
- package/dist/mkdir-TDEMSB6C-CMOt1jIT.mjs +1 -0
- package/dist/mv-Z6MORUFL-CqyCV_Ze.mjs +1 -0
- package/dist/mv-Z6MORUFL-El0zMsEA.mjs +7 -0
- package/dist/{nl-U5YJDM32-CrNZhLtI.mjs → nl-U5YJDM32-BO1kUpkn.mjs} +1 -1
- package/dist/nl-U5YJDM32-Y_hGSMac.mjs +17 -0
- package/dist/od-VJEF2UR5-CueTpZ68.mjs +5 -0
- package/dist/{od-VJEF2UR5-5RFpmlxK.mjs → od-VJEF2UR5-DxUGtlve.mjs} +1 -1
- package/dist/{open-browser-mQ1Bw0J9.mjs → open-browser-iTSXc4_G.mjs} +2 -2
- package/dist/{ordinal-D5S_JXYv.mjs → ordinal-BFK2XMXf.mjs} +2 -2
- package/dist/packet-7NZHBO7P-B64OS2eJ.mjs +1 -0
- package/dist/parse-worker.d.mts +6626 -1
- package/dist/parse-worker.mjs +1 -1
- package/dist/paste-7N6AFSDS-BJHZcYXH.mjs +1 -0
- package/dist/paste-7N6AFSDS-BnqApCW_.mjs +8 -0
- package/dist/{path-D4ahAhVD.mjs → path-CIoCsClp.mjs} +1 -1
- package/dist/{pegDiagram-2B236MQR-DMP1ng8V.mjs → pegDiagram-2B236MQR-PBU61CXk.mjs} +2 -2
- package/dist/pie-RZYD4A2V-B313HDTA.mjs +1 -0
- package/dist/{pieDiagram-ENE6RG2P-CSKXRjGQ.mjs → pieDiagram-ENE6RG2P-ClZWrO6e.mjs} +2 -2
- package/dist/preview-6qIUkP7f.mjs +1 -0
- package/dist/{preview-B2oumDjf.mjs → preview-CW1IxLsJ.mjs} +2 -2
- package/dist/printf-CX64KX2P-841sNxew.mjs +1 -0
- package/dist/printf-CX64KX2P-B_vWcqAL.mjs +15 -0
- package/dist/pwd-D4OZ7N27-C41v1g3B.mjs +1 -0
- package/dist/pwd-D4OZ7N27-NYST_A3S.mjs +3 -0
- package/dist/python3-DNGS4G3E-DaBJervu.mjs +12 -0
- package/dist/{python3-DNGS4G3E-BZ5fPY5e.mjs → python3-DNGS4G3E-OzxoFG34.mjs} +2 -2
- package/dist/{quadrantDiagram-ABIIQ3AL-Do93EPf_.mjs → quadrantDiagram-ABIIQ3AL-Z4PbVL1N.mjs} +2 -2
- package/dist/radar-I7S5WNFK-BdiwGd2_.mjs +1 -0
- package/dist/railroad-3IZDKUUU-O4nBw7jb.mjs +1 -0
- package/dist/railroad-abnf-AHOZXSZD-CDaO5Dcu.mjs +1 -0
- package/dist/railroad-ebnf-EBAXGLYW-CS4l_gpR.mjs +1 -0
- package/dist/railroad-peg-LSFZ7HO6-bbLhALeS.mjs +1 -0
- package/dist/{railroadDiagram-RFXS5EU6-BBHONGQu.mjs → railroadDiagram-RFXS5EU6-ZSRYpY_p.mjs} +2 -2
- package/dist/readlink-MI4GCHJF-CQlQ03aa.mjs +1 -0
- package/dist/readlink-MI4GCHJF-Dl1Uxmrf.mjs +6 -0
- package/dist/{repair-launch-json-aFmED0c2.mjs → repair-launch-json-CooRfHHf.mjs} +2 -2
- package/dist/{repair-mcp-configs--aCpb3hv.mjs → repair-mcp-configs-9MXPCm8A.mjs} +2 -2
- package/dist/{repair-skills-pwgCyOxg.mjs → repair-skills-BmfcPXjd.mjs} +2 -2
- package/dist/repair-skills-CrwlZDaN.mjs +1 -0
- package/dist/{requirementDiagram-TGXJPOKE-CAGy_wFo.mjs → requirementDiagram-TGXJPOKE-H6OWjjJE.mjs} +2 -2
- package/dist/{rev-XOSYPP45-G2PvMYC2.mjs → rev-XOSYPP45-BYe7prl1.mjs} +1 -1
- package/dist/rev-XOSYPP45-D6eJxPKd.mjs +7 -0
- package/dist/rg-XNF3R3II-CmxxmmUf.mjs +1 -0
- package/dist/rg-XNF3R3II-vKB7djPZ.mjs +33 -0
- package/dist/rm-RTZG23RL-Bl5s9ltJ.mjs +1 -0
- package/dist/rm-RTZG23RL-sCMTtbxP.mjs +8 -0
- package/dist/rmdir-XTQXT7RK-C1ccje2_.mjs +1 -0
- package/dist/rmdir-XTQXT7RK-DZfv6Zfz.mjs +14 -0
- package/dist/{rough.cjs-LxmwwhvT.mjs → rough.cjs-BGkc0Naf.mjs} +1 -1
- package/dist/{sankeyDiagram-HTMAVEWB-B59ayZ_U.mjs → sankeyDiagram-HTMAVEWB-CtBVJJox.mjs} +2 -2
- package/dist/sed-JAPPVBEU-C7wh6RxT.mjs +100 -0
- package/dist/{sed-JAPPVBEU-BUaK4riL.mjs → sed-JAPPVBEU-D9bYEx2I.mjs} +1 -1
- package/dist/seq-RN5ZUASB-CFySG-xk.mjs +1 -0
- package/dist/seq-RN5ZUASB-R5HjEVux.mjs +7 -0
- package/dist/{sequenceDiagram-DBY2YBRQ-BqY5gm2k.mjs → sequenceDiagram-DBY2YBRQ-DDLm4Ak_.mjs} +2 -2
- package/dist/server-lock-U8YDpJpq.mjs +1 -0
- package/dist/{server-lock-BleUv9m0.mjs → server-lock-aXnDVUI8.mjs} +2 -2
- package/dist/sha1sum-VJPNLNU6-DfzpfxJ-.mjs +2 -0
- package/dist/sha1sum-VJPNLNU6-DgLJCjAg.mjs +1 -0
- package/dist/sha256sum-PI32XWXY-DZ42pgY3.mjs +1 -0
- package/dist/sha256sum-PI32XWXY-DrKtnAPK.mjs +2 -0
- package/dist/{sizeCapture-X5ZJPWSS-D7Nqbe-W.mjs → sizeCapture-X5ZJPWSS-Izaz24Pi.mjs} +2 -2
- package/dist/{skill-teardown-CdEzylv3.mjs → skill-teardown-CjZ8Zkmo.mjs} +2 -2
- package/dist/{sleep-VZFPZFWA-DcISab6N.mjs → sleep-VZFPZFWA-5fZFI3Vy.mjs} +1 -1
- package/dist/sleep-VZFPZFWA-CBARUnrz.mjs +10 -0
- package/dist/sort-DCNRDA7U-RFl0HYBr.mjs +1 -0
- package/dist/sort-DCNRDA7U-vT57Mw8o.mjs +16 -0
- package/dist/{split-SITCSYCZ-D4U2N_sH.mjs → split-SITCSYCZ-BdATfTxU.mjs} +1 -1
- package/dist/split-SITCSYCZ-Ci_IfVPT.mjs +17 -0
- package/dist/{sqlite3-TE5AIOTF-DcjYN7WW.mjs → sqlite3-TE5AIOTF-BIRMe0xz.mjs} +1 -1
- package/dist/sqlite3-TE5AIOTF-BhXSdz7U.mjs +37 -0
- package/dist/{src-BuBt_xnY.mjs → src-BPVU4Y0o.mjs} +2 -2
- package/dist/{src-Cbll3h9C.mjs → src-B_Esv3oA.mjs} +1 -1
- package/dist/src-DGawJ9va.mjs +1 -0
- package/dist/{src-CyIFaiha.mjs → src-DfRHrkSZ.mjs} +134 -134
- package/dist/{src-9BFQh559.mjs → src-TKCctdpc.mjs} +123 -123
- package/dist/src-eJmU7tk9.mjs +20 -0
- package/dist/start-C_ESEIR_.mjs +1 -0
- package/dist/{start-gQp2nx2w.mjs → start-ffP2Ihoz.mjs} +3 -3
- package/dist/stat-BT5A227F-CEZPXJ9_.mjs +9 -0
- package/dist/stat-BT5A227F-Dd-OyLQQ.mjs +1 -0
- package/dist/{stateDiagram-2N3HPSRC-BD1FBZi9.mjs → stateDiagram-2N3HPSRC-pAn2bDnn.mjs} +2 -2
- package/dist/stateDiagram-v2-6OUMAXLB-DCmVVpGm.mjs +2 -0
- package/dist/strings-7PLOGTPD-CiVw0Uh4.mjs +14 -0
- package/dist/strings-7PLOGTPD-v3qEuUEm.mjs +1 -0
- package/dist/{swimlanes-5IMT3BWC-D2eO0gTx.mjs → swimlanes-5IMT3BWC-nSsjdSnj.mjs} +2 -2
- package/dist/swimlanesDiagram-G3AALYLV-CdQlHesp.mjs +9 -0
- package/dist/tac-SJGXQ4T2-BL4Xd7y6.mjs +9 -0
- package/dist/{tac-SJGXQ4T2-D-bfDFKg.mjs → tac-SJGXQ4T2-DphHfCAY.mjs} +1 -1
- package/dist/tail-S5ULNTJU-Cfa1pDQZ.mjs +2 -0
- package/dist/tail-S5ULNTJU-D6qRQZwV.mjs +1 -0
- package/dist/tar-MZQD7NO4-HJsWmzu9.mjs +63 -0
- package/dist/{tar-MZQD7NO4-Cx5bpVMY.mjs → tar-MZQD7NO4-oAQoyk28.mjs} +1 -1
- package/dist/tee-O7VXZDCO-D95l5L5Z.mjs +3 -0
- package/dist/tee-O7VXZDCO-odVO6Wjw.mjs +1 -0
- package/dist/time-DEUO3QV2-CviQF55F.mjs +1 -0
- package/dist/time-DEUO3QV2-DwnT4FOS.mjs +14 -0
- package/dist/{timeline-definition-FHXFAJF6-DZHpuaV_.mjs → timeline-definition-FHXFAJF6-CnTXJoEq.mjs} +2 -2
- package/dist/timeout-VRKMCG72-DFU5EkCe.mjs +12 -0
- package/dist/{timeout-VRKMCG72-DaJVXXR3.mjs → timeout-VRKMCG72-jeMAkAMc.mjs} +1 -1
- package/dist/touch-DX2IJOQ4-CRX6GYeb.mjs +7 -0
- package/dist/touch-DX2IJOQ4-CyiMRd7b.mjs +1 -0
- package/dist/tr-2HXZRDSW-ByYmbFae.mjs +21 -0
- package/dist/tr-2HXZRDSW-CCce6lU_.mjs +1 -0
- package/dist/tree-LYXBS7DC-Dq6aWetx.mjs +12 -0
- package/dist/tree-LYXBS7DC-pAC77Hbt.mjs +1 -0
- package/dist/treeView-QDETBFTQ-BCAjffnq.mjs +1 -0
- package/dist/treemap-6X3UGDF4-Dv-54pyt.mjs +1 -0
- package/dist/true-WHJNXCHG-Dzdq7R5f.mjs +1 -0
- package/dist/true-WHJNXCHG-XC4ZnbBw.mjs +2 -0
- package/dist/unexpand-RGTMIGZM-B06mOUPB.mjs +1 -0
- package/dist/unexpand-RGTMIGZM-BL5sZ5_Z.mjs +11 -0
- package/dist/uniq-SUNANL47-BIgIOFSf.mjs +1 -0
- package/dist/uniq-SUNANL47-DBRSkw7j.mjs +5 -0
- package/dist/{vennDiagram-L72KCM5P-CGoW4QcS.mjs → vennDiagram-L72KCM5P-CqTzYRfa.mjs} +2 -2
- package/dist/wardley-OPB4EBWU-DSvo57UC.mjs +1 -0
- package/dist/{wardleyDiagram-EHGQE667-DHS8jBWZ.mjs → wardleyDiagram-EHGQE667-WhxG-nRT.mjs} +2 -2
- package/dist/wc-TQB3VNOX-9RyJlZXB.mjs +1 -0
- package/dist/wc-TQB3VNOX-DqHFY4jy.mjs +6 -0
- package/dist/which-XZHEH76L-CbmRVw8E.mjs +3 -0
- package/dist/which-XZHEH76L-SMFjHhz2.mjs +1 -0
- package/dist/whoami-DGKU3D2X-BDJh39KM.mjs +3 -0
- package/dist/whoami-DGKU3D2X-BIUooLXE.mjs +1 -0
- package/dist/{write-project-skill-BT83YFFS.mjs → write-project-skill-D38t_B_r.mjs} +4 -4
- package/dist/xan-UD7JYIL2-DAuAMQ0H.mjs +1 -0
- package/dist/xan-UD7JYIL2-DQo9f-1a.mjs +140 -0
- package/dist/xan-view-OW2TB7Z3-BhVOL6hm.mjs +1 -0
- package/dist/xan-view-OW2TB7Z3-CwG0zS53.mjs +1 -0
- package/dist/xargs-I6EZUCYF-C_ZtmUCd.mjs +5 -0
- package/dist/xargs-I6EZUCYF-INAdKqnR.mjs +1 -0
- package/dist/{xychartDiagram-FW5EYKEG-CG0DSvm_.mjs → xychartDiagram-FW5EYKEG-DDE7TRrw.mjs} +2 -2
- package/dist/yazl-BlMyAOcT.mjs +2 -0
- package/dist/yq-OAKYHSXH-C1fFFHD4.mjs +1 -0
- package/dist/yq-OAKYHSXH-COzSqY4J.mjs +288 -0
- package/package.json +6 -5
- package/dist/alias-JE7RI5QX-BfILuEvo.mjs +0 -1
- package/dist/architecture-TIHT7OUA-CScIhnar.mjs +0 -1
- package/dist/bash-IJWYRKFO-DKUaUgF9.mjs +0 -1
- package/dist/channel-DRk0OEK0.mjs +0 -2
- package/dist/chunk-VAUOI2AC-Ds6ZNp2p.mjs +0 -2
- package/dist/chunk-XXDRQBXY-BvbdToKZ.mjs +0 -2
- package/dist/classDiagram-OUVF2IWQ-rKP7gcsT.mjs +0 -2
- package/dist/classDiagram-v2-EOCWNBFH-BoWf4tYI.mjs +0 -2
- package/dist/constants-BmQL4YFQ.mjs +0 -2
- package/dist/cynefin-VYW2F7L2-DtazLHUs.mjs +0 -1
- package/dist/diff-HJF2MPDN-bcOaHvDo.mjs +0 -1
- package/dist/echo-O45JWWI2-BacOdfFs.mjs +0 -1
- package/dist/env-5EPCWSXR-T8XCKOX_.mjs +0 -1
- package/dist/eventmodeling-45OFAUF4-BIXp-P6z.mjs +0 -1
- package/dist/expr-YYCVMXE3-CgQib9F9.mjs +0 -1
- package/dist/find-DH2ALKQS-z-G7VPmU.mjs +0 -1
- package/dist/flag-coverage-6JEX67RU-Cj_NycUm.mjs +0 -2
- package/dist/flowDiagram-23GEKE2U-B4VrCGdr.mjs +0 -1
- package/dist/fs-traced-CkLhqsEn.mjs +0 -1
- package/dist/git-handle-BDmbIWwd.mjs +0 -1
- package/dist/gitGraph-TEB2WS4Q-BaTdqV7-.mjs +0 -1
- package/dist/grep-2HUTXO5U-CsEE08ya.mjs +0 -1
- package/dist/gzip-AQXSGOVS-CmMf6H0r.mjs +0 -1
- package/dist/help-VVWX7SA5-BncYWg0B.mjs +0 -1
- package/dist/history-J4QRNGRO-CULSDkzp.mjs +0 -1
- package/dist/html-to-markdown-TFCECAGV-CF0t8_d3.mjs +0 -1
- package/dist/index-1MIt1xrM.d.mts +0 -6628
- package/dist/info-DKCQHKI2-BxlpeeVn.mjs +0 -1
- package/dist/init-BxgXDSU4.mjs +0 -1
- package/dist/jq-LYZFFBZB-CIwp4u6h.mjs +0 -1
- package/dist/loader-p4V6ECAK.mjs +0 -1
- package/dist/ls-KSXFZCWH-BEv3e7-2.mjs +0 -1
- package/dist/md-manager-B4-M0hXs.mjs +0 -2
- package/dist/md5sum-INMIK4DX-CJ1G9gTe.mjs +0 -1
- package/dist/mkdir-TDEMSB6C-BY7IIkok.mjs +0 -1
- package/dist/mv-Z6MORUFL-C4m2WG8E.mjs +0 -1
- package/dist/packet-7NZHBO7P-DJoR1MQJ.mjs +0 -1
- package/dist/paste-7N6AFSDS-DQNANxpk.mjs +0 -1
- package/dist/pie-RZYD4A2V-Ba8iL0H-.mjs +0 -1
- package/dist/preview-CE8DJNiF.mjs +0 -1
- package/dist/printf-CX64KX2P-CKuJk-Cs.mjs +0 -1
- package/dist/pwd-D4OZ7N27-CSTLotxZ.mjs +0 -1
- package/dist/radar-I7S5WNFK-HP72Fmhl.mjs +0 -1
- package/dist/railroad-3IZDKUUU-DC3PWo_6.mjs +0 -1
- package/dist/railroad-abnf-AHOZXSZD-Vgpa9_KI.mjs +0 -1
- package/dist/railroad-ebnf-EBAXGLYW-B4SmMMsT.mjs +0 -1
- package/dist/railroad-peg-LSFZ7HO6-DLlDiUuB.mjs +0 -1
- package/dist/readlink-MI4GCHJF-V9fwXBrg.mjs +0 -1
- package/dist/repair-skills-DERbFdPf.mjs +0 -1
- package/dist/rg-XNF3R3II-CuFYIwNn.mjs +0 -1
- package/dist/rm-RTZG23RL-BOvMrhon.mjs +0 -1
- package/dist/rmdir-XTQXT7RK-Dk19R-p8.mjs +0 -1
- package/dist/seq-RN5ZUASB-D5aLn_so.mjs +0 -1
- package/dist/server-lock-uucDARDL.mjs +0 -1
- package/dist/sha1sum-VJPNLNU6-DnTKth9v.mjs +0 -1
- package/dist/sha256sum-PI32XWXY-Z-xtGDHc.mjs +0 -1
- package/dist/sort-DCNRDA7U-C1gRzOOY.mjs +0 -1
- package/dist/src-D6BRXZY1.mjs +0 -20
- package/dist/start-Cn6o3oS6.mjs +0 -1
- package/dist/stat-BT5A227F-B4qwqNn_.mjs +0 -1
- package/dist/stateDiagram-v2-6OUMAXLB-CqmBRdZY.mjs +0 -2
- package/dist/strings-7PLOGTPD-BJ6vWsQi.mjs +0 -1
- package/dist/swimlanesDiagram-G3AALYLV-BiRCZWbo.mjs +0 -9
- package/dist/tail-S5ULNTJU-CWnyTuXg.mjs +0 -1
- package/dist/tee-O7VXZDCO-B_duU1hV.mjs +0 -1
- package/dist/time-DEUO3QV2-CekCKA2I.mjs +0 -1
- package/dist/touch-DX2IJOQ4-CZteiICw.mjs +0 -1
- package/dist/tr-2HXZRDSW-D4XuTGWg.mjs +0 -1
- package/dist/tree-LYXBS7DC-CUIzQKTG.mjs +0 -1
- package/dist/treeView-QDETBFTQ-C9yOsbGY.mjs +0 -1
- package/dist/treemap-6X3UGDF4-iowse2nY.mjs +0 -1
- package/dist/true-WHJNXCHG-BzxCUQFd.mjs +0 -1
- package/dist/unexpand-RGTMIGZM-x3XCmR3I.mjs +0 -1
- package/dist/uniq-SUNANL47-DpupkNiO.mjs +0 -1
- package/dist/wardley-OPB4EBWU-BL1Dan_S.mjs +0 -1
- package/dist/wc-TQB3VNOX-D8llmcL9.mjs +0 -1
- package/dist/which-XZHEH76L-imZgNd5x.mjs +0 -1
- package/dist/whoami-DGKU3D2X-CzLNG51j.mjs +0 -1
- package/dist/xan-UD7JYIL2-_38Iv1cI.mjs +0 -1
- package/dist/xan-view-OW2TB7Z3-RT-IKMgr.mjs +0 -1
- package/dist/xargs-I6EZUCYF-Bu8VhXV_.mjs +0 -1
- package/dist/yq-OAKYHSXH-BcCBaLJN.mjs +0 -1
- /package/dist/{expansion-VBDYWVZR-CeY6vkty.mjs → expansion-VBDYWVZR-CpX0YZMb.mjs} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{o as e}from"./chunk-DTipWd-i.mjs";import{Y as t}from"./sleep-DVOInM4H.mjs";import{Es as n,Ts as r,X as i,Z as a}from"./src-TKCctdpc.mjs";import{Jr as o,Tn as s,at as c,gi as l,it as u,ot as d,rt as f}from"./src-DfRHrkSZ.mjs";import{O as p,P as m}from"./fs-traced-DVpoNaQJ.mjs";import{S as ee,u as h,v as g,x as _}from"./server-lock-aXnDVUI8.mjs";import{t as v}from"./yazl-DZr4PyKA.mjs";import{m as y,p as b,v as x}from"./write-project-skill-D38t_B_r.mjs";import{c as S}from"./colors-BsmVIwfM.mjs";import"./acp-harness-probe-DYSjZblH.mjs";import{E as C,T as w,_ as te,o as ne,w as T,x as E,y as re}from"./init-BUIEpJX9.mjs";import{n as D}from"./constants-BEe0tuQx.mjs";import{t as O}from"./is-object-ByG7RnjH.mjs";import"./loader-CqgZy7s4.mjs";import"./skill-teardown-CjZ8Zkmo.mjs";import"./preview-CW1IxLsJ.mjs";import{execSync as k,spawnSync as A}from"node:child_process";import{basename as j,dirname as M,join as N,relative as ie,resolve as P,sep as ae}from"node:path";import{cpSync as oe,createWriteStream as F,existsSync as I,lstatSync as se,mkdirSync as L,mkdtempSync as ce,readFileSync as R,readdirSync as z,readlinkSync as le,rmSync as B,statSync as ue,writeFileSync as V}from"node:fs";import{arch as de,freemem as fe,homedir as H,hostname as pe,platform as me,release as he,tmpdir as ge,totalmem as _e,type as ve,uptime as ye}from"node:os";import"node:fs/promises";import{createHash as be}from"node:crypto";var U=t();const xe=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function Se(e,t,n=s){if(e!==void 0&&!xe.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let Ce=null;function we(e){Ce=e}function Te(){return Ce??process.cwd()}function Ee(){return N(H(),`.ok`,`bug-reports`)}function De(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`),n=Ee(),r=`${t}-bugreport`,i=N(n,`${r}.zip`);for(let e=2;I(i);e+=1)i=N(n,`${r}-${e}.zip`);return i}function Oe(e,t){let n=N(e,`.ok`,`config.yml`);if(I(n))try{let e=R(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return I(N(e,`.ok`))?be(`sha256`).update(P(e)).digest(`hex`).slice(0,12):null}function ke(){let e={timestamp:new Date().toISOString(),platform:me(),osType:ve(),osRelease:he(),hostname:`[redacted]`,uptime:ye(),freeMem:fe(),totalMem:_e(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=k(`sw_vers -productVersion 2>/dev/null`,o({encoding:`utf8`})).trim()}catch{}try{let t=N(__dirname,`..`,`..`,`package.json`);I(t)&&(e.okVersion=JSON.parse(R(t,`utf8`)).version)}catch{}return e}const Ae=[{prefix:`cli`,projectTagged:!0},{prefix:`desktop`,projectTagged:!1},{prefix:`mcp`,projectTagged:!1}];function W(e){let t=j(e);return Ae.some(e=>e.projectTagged&&t.startsWith(`${e.prefix}.`))}function je(e,t){return Me(e,t).files}function Me(e,t){if(!I(t))return{files:[],excludedByProjectSlug:0};let n=z(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>N(t,e));if(!e)return{files:n,excludedByProjectSlug:0};let r=n.filter(W),i=[],a=r.filter(t=>{try{return R(t,`utf8`).includes(`"project":"${e}"`)}catch{return i.push(t),!1}});if(a.length===0)return{files:n,excludedByProjectSlug:0};let o=new Set([...a,...i]);return{files:n.filter(e=>!W(e)||o.has(e)),excludedByProjectSlug:r.length-o.size}}function Ne(e){let t=N(e,`.ok`,`local`);return I(t)?{files:[`server.lock`,`last-spawn-error.log`,i].map(e=>N(t,e)).filter(e=>I(e))}:{files:[]}}function Pe(e){let t=N(e,`.ok`,`local`,`logs`);return I(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>N(t,e)).filter(e=>I(e))}:{files:[]}}function Fe(e){if(e.redact){let{redacted:t,patterns:r,lineCount:i}=n(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),r.length>0&&e.redactions.push({file:e.name,lineCount:i,patterns:r})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function G(e){for(let t of e.files)try{Fe({zipfile:e.zipfile,name:`${e.prefix}/${j(t)}`,content:R(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n},`bug-report: skipped unreadable file`)}}async function Ie(t){let{redact:n,outputPath:i,logger:a}=t,o=t.userLogsDir??N(H(),`.ok`,`logs`),s=t.projectDir?Oe(t.projectDir,a):null;L(M(i),{recursive:!0}),a?.info({projectSlug:s},`gathering diagnostic data`);let c=ke();c.desktop=t.desktop??null;let{files:l,excludedByProjectSlug:u}=Me(s,o),{files:d}=t.projectDir?Ne(t.projectDir):{files:[]},{files:f}=t.projectDir?Pe(t.projectDir):{files:[]};a?.info({logFileCount:l.length,logFilesExcludedByProjectSlug:u,lockFileCount:d.length,localSinkFileCount:f.length},`files collected`);let p=[],m=[],{ZipFile:ee}=await import(`./yazl-jVENrf5i.mjs`).then(t=>e(t.default,1)),h=new ee;G({zipfile:h,files:l,prefix:`logs`,redact:n,bundleFiles:m,redactions:p,logger:a}),G({zipfile:h,files:d,prefix:`lockdir`,redact:n,bundleFiles:m,redactions:p,logger:a}),G({zipfile:h,files:f,prefix:`local-logs`,redact:n,bundleFiles:m,redactions:p,logger:a});for(let e of t.extraFiles??[])try{let t=R(e.sourcePath),n=`extra/${e.zipName??j(e.sourcePath)}`;h.addBuffer(t,n),m.push(n)}catch(t){a?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&Fe({zipfile:h,name:`note.txt`,content:t.note,redact:n,bundleFiles:m,redactions:p});let g=JSON.stringify(c,null,2);h.addBuffer(Buffer.from(g,`utf8`),`sysinfo.json`),m.push(`sysinfo.json`);let _={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:s,files:m,redactions:p,sysinfo:c};h.addBuffer(Buffer.from(JSON.stringify(_,null,2),`utf8`),`MANIFEST.json`);let v=p.reduce((e,t)=>e+t.lineCount,0),y=s?m.filter(e=>e.startsWith(`logs/`)&&!W(e)):[],b=[`# Bug Report Bundle`,``,`Generated: ${_.generatedAt}`,`Project: ${s??`(unscoped)`}`,`Discipline version: ${_.disciplineVersion}`,``,`## Contents`,``,...m.map(e=>`- ${e}`),``,`## Privacy`,``,...y.length>0?[`Scope: some collected logs are user-wide rather than project-scoped.`,`These are written once per machine per day and can contain activity`,`from other projects open on this machine, including captured console`,`output:`,...y.map(e=>`- ${e}`),``]:[],...n?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${r.join(`, `)}`,v>0?`${v} line(s) were scrubbed across ${p.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
|
|
2
|
+
`);h.addBuffer(Buffer.from(b,`utf8`),`README.md`),h.end();let x=F(i);return h.outputStream.pipe(x),await new Promise((e,t)=>{x.on(`close`,e),x.on(`error`,t)}),a?.info({bundlePath:i,fileCount:m.length,redactionCount:v},`bundle written`),{zipPath:i,summary:{projectSlug:s,files:m,redactions:p,redactedLineCount:v,generatedAt:_.generatedAt}}}var Le=e(v(),1),K=e(S(),1);function Re(e,t){return t.length===0||!e.includes(t)?e:e.split(t).join(`<CONTENT_DIR>`)}function ze(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function q(e,t){if(typeof e==`string`)return Re(e,t.contentDir);if(Array.isArray(e))return e.map(e=>q(e,t));if(!ze(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=q(i,t);return n}function Be(e,t){let n=R(e,`utf-8`);if(n.length===0)return;let r=n.endsWith(`
|
|
3
|
+
`),i=n.split(`
|
|
4
|
+
`),a=[];for(let e=0;e<i.length;e++){let n=i[e]??``;if(!(e===i.length-1&&n===``)){if(n.length===0){a.push(``);continue}try{let e=q(JSON.parse(n),t);a.push(JSON.stringify(e))}catch{a.push(n)}}}V(e,r?`${a.join(`
|
|
5
|
+
`)}\n`:a.join(`
|
|
6
|
+
`))}function Ve(e,t){let n=R(e,`utf-8`);if(n.trim().length!==0)try{let r=q(JSON.parse(n),t),i=n.endsWith(`
|
|
7
|
+
`)?`
|
|
8
|
+
`:``;V(e,`${JSON.stringify(r,null,2)}${i}`)}catch{let r=Re(n,t.contentDir);r!==n&&V(e,r)}}function He(e,t){let n=R(e,`utf-8`),r=Re(n,t.contentDir);r!==n&&V(e,r)}function Ue(e){try{return z(e,{withFileTypes:!0}).filter(e=>e.isFile()).map(t=>N(e,t.name))}catch{return[]}}const We=new Set([`agent-presence.json`,`agent-effects.json`,`runtime.json`]);function Ge(e){return/\.log\.\d+$/.test(e)}function Ke(e){return e.endsWith(`.jsonl`)||e.endsWith(`.log`)||Ge(e)}function qe(e){let t={contentDir:e.contentDir};for(let n of[`telemetry`,`logs`,`process`])for(let r of Ue(N(e.stagingDir,n)))Ke(r)?Be(r,t):r.endsWith(`.json`)?Ve(r,t):He(r,t);for(let n of Ue(N(e.stagingDir,`state`))){let e=j(n);n.endsWith(`.jsonl`)?Be(n,t):We.has(e)?Ve(n,t):He(n,t)}}const Je=[`.ok`,`local`,`telemetry`],Ye=[`.ok`,`local`,`logs`],Xe=[`.ok`,`local`,`loss-capture`],Ze=`spans-current.jsonl`,Qe=`spans-prev.jsonl`,$e=`server-current.jsonl`,et=`server-prev.jsonl`,tt=`loss-current.jsonl`,nt=`loss-prev.jsonl`;function rt(e){return N(e,...Je,Ze)}function it(e){return N(e,...Je,Qe)}function at(e){return N(e,...Ye,$e)}function ot(e){return N(e,...Ye,et)}function st(e){return N(e,...Xe,tt)}function ct(e){return N(e,...Xe,nt)}const lt=1e3;async function ut(e){try{let t=await fetch(`http://127.0.0.1:${e}/api/metrics/agent-presence`,{signal:AbortSignal.timeout(lt)});return t.ok?await t.text():null}catch{return null}}async function dt(e){try{let t=await fetch(`http://127.0.0.1:${e}/api/metrics/agent-effects`,{signal:AbortSignal.timeout(lt)});return t.ok?await t.text():null}catch{return null}}async function ft(e){try{let t=await fetch(`http://127.0.0.1:${e}/api/metrics/watcher-recent`,{signal:AbortSignal.timeout(lt)});return t.ok?await t.text():null}catch{return null}}function pt(e){try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return null;let n=t.decisions;return Array.isArray(n)?n.length===0?``:`${n.map(e=>JSON.stringify(e)).join(`
|
|
9
|
+
`)}\n`:null}catch{return null}}function mt(e){let t=N(e,`.git`,`ok`);if(!I(t))return null;let n=A(`git`,[`-C`,t,`log`,`--oneline`,`-50`],o({encoding:`utf-8`,timeout:2e3}));return n.error||n.status!==0?null:n.stdout??``}function ht(e){let t=N(e,`.git`,`ok`);if(!I(t))return null;let n=A(`git`,[`-C`,t,`for-each-ref`,`--sort=-creatordate`,`--count=50`,`--format=%(refname)%09%(creatordate:iso-strict)%09%(contents:subject)`,`refs/checkpoints/`],o({encoding:`utf-8`,timeout:2e3}));return n.error||n.status!==0?null:n.stdout??``}function gt(){let e=process.env.OK_DESKTOP_VERSION,t=process.env.OK_DESKTOP_PACKAGED,n=process.env.OK_DESKTOP_CHANNEL;return e===void 0||t===void 0||n===void 0?null:{electronVersion:e,packaged:t===`1`||t.toLowerCase()===`true`,channel:n}}function _t(){return{nodeVersion:process.version,platform:me(),arch:de()}}function vt(){return process.env.OTEL_SDK_DISABLED===`false`}function J(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yt(e){if(!I(e))return{};let t;try{t=(0,U.parse)(R(e,`utf-8`))}catch(t){return console.warn(`[ok diagnose bundle] failed to parse ${e} for manifest config; manifest will report schema defaults. Reason: ${t instanceof Error?t.message:String(t)}`),{}}if(!J(t))return{};let n=t.telemetry;if(!J(n))return{};let r=n.localSink;return J(r)?r:{}}function bt(e){return typeof e==`boolean`?e:void 0}function xt(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:void 0}function Y(e){if(J(e))return xt(e.maxBytes)}function St(e){let t=yt(p(`project`,e)),n=yt(p(`project-local`,e));return{enabled:bt(n.enabled)??bt(t.enabled)??!0,spansMaxBytes:Y(n.spans)??Y(t.spans)??52428800,logsMaxBytes:Y(n.logs)??Y(t.logs)??26214400}}function Ct(e){return be(`sha256`).update(e).digest(`hex`)}function wt(e){let t=R(e),n=0;for(let e=0;e<t.length;e++)t[e]===10&&n++;return n}function Tt(e){let t=R(e,`utf-8`),n=`"doc.name"`,r=0,i=t.indexOf(n);for(;i!==-1;)r++,i=t.indexOf(n,i+10);return r}function X(e,t){if(!I(e))return!1;try{return L(M(t),{recursive:!0}),oe(e,t),!0}catch{return!1}}function Et(e){let t=[],n=e=>{let r=z(e,{withFileTypes:!0});for(let i of r){let r=N(e,i.name);i.isDirectory()?n(r):i.isFile()&&t.push(r)}};return n(e),t.sort()}const Dt=new Set([`.jsonl`]);function Ot(e){let t=e.lastIndexOf(`.`);return t===-1?!1:Dt.has(e.slice(t))}const kt=new Set([`.jsonl`,`.json`,`.txt`,`.log`,`.lock`]);function At(e){if(Ge(e))return!0;let t=e.lastIndexOf(`.`);return t===-1?!1:kt.has(e.slice(t))}function jt(e){let t=[];for(let r of Et(e)){let i=Mt(e,r);if(!At(i))continue;let{redacted:a,patterns:o,lineCount:s}=n(R(r,`utf-8`));o.length!==0&&(V(r,a),t.push({file:i,lineCount:s,patterns:o}))}return{redactions:t,redactedLineCount:t.reduce((e,t)=>e+t.lineCount,0)}}function Mt(e,t){return ie(e,t).split(ae).join(`/`)}async function Nt(e){let t=P(e.contentDir),n=P(e.projectDir??e.contentDir),r=e.deps??{},o=r.fetchAgentPresence??ut,s=r.fetchAgentEffects??dt,c=r.fetchWatcherRecent??ft,l=r.readShadowHead??mt,u=r.readCheckpointRefs??ht,d=r.now??(()=>new Date),f=r.okVersion??(()=>D),p=r.readDesktopEnv??gt,m=r.readRuntime??_t,ee=r.isOtlpPushEnabled??vt,h=ce(N(ge(),`ok-bundle-`));try{L(N(h,`telemetry`),{recursive:!0}),L(N(h,`logs`),{recursive:!0}),L(N(h,`state`),{recursive:!0}),X(rt(n),N(h,`telemetry`,Ze)),X(it(n),N(h,`telemetry`,Qe)),X(at(n),N(h,`logs`,$e)),X(ot(n),N(h,`logs`,et));for(let t of e.userLogFiles??[])X(t,N(h,`logs`,j(t)));let g=N(n,`.ok`,`local`),_=N(g,`server.lock`),v=`not-running`,y=`no server.lock`,b=null;if(I(_)){X(_,N(h,`state`,`server.lock`));try{let e=R(_,`utf-8`),t=JSON.parse(e);typeof t.port==`number`?b=t.port:y=`lock present but no port`}catch{y=`lock present but unparseable`}}if(b!==null){let e=await o(b);e===null?y=`agent-presence endpoint at :${b} unreachable`:(V(N(h,`state`,`agent-presence.json`),e),v=`running`,y=``);let t=await s(b);t!==null&&V(N(h,`state`,`agent-effects.json`),t);let n=await c(b);if(n!==null){let e=pt(n);e!==null&&V(N(h,`state`,`watcher-recent.jsonl`),e)}}let x=l(t);x!==null&&V(N(h,`state`,`shadow-head.txt`),x);let S=u(t);S!==null&&V(N(h,`state`,`checkpoint-refs.txt`),S),X(st(n),N(h,`state`,tt)),X(ct(n),N(h,`state`,nt)),X(N(g,`last-spawn-error.log`),N(h,`state`,`last-spawn-error.log`)),X(N(g,a),N(h,`state`,a)),X(N(g,i),N(h,`state`,i));let C=m(),w=p(),te={ok:{version:f(),nodeVersion:C.nodeVersion,platform:C.platform,arch:C.arch},host:{desktop:w}};V(N(h,`state`,`runtime.json`),`${JSON.stringify(te,null,2)}\n`);let ne=v===`running`?`running
|
|
10
|
+
`:`not-running (${y})\n`;if(V(N(h,`state`,`server-status.txt`),ne),e.processDir&&I(e.processDir)){let t=N(h,`process`);L(t,{recursive:!0}),oe(e.processDir,t,{recursive:!0})}let T=e.redact===!0;T&&qe({stagingDir:h,contentDir:t}),e.note&&V(N(h,`note.txt`),e.note);let E=null;e.scrubSecrets===!0&&(E=jt(h));for(let t of e.extraFiles??[])X(t.sourcePath,N(h,`extra`,t.zipName??j(t.sourcePath)))||r.logger?.warn({sourcePath:t.sourcePath},`extra file missing; omitted from bundle`);let re=St(n),D=Et(h),O=[],k=0,A=0;for(let e of D){let t=Mt(h,e),n=ue(e).size,r=Ot(t)?wt(e):0;O.push({path:t,bytes:n,lines:r}),k+=n,t.startsWith(`telemetry/`)&&Ot(t)&&(A+=Tt(e))}let M={applied:T};E!==null&&(M.secretScrub=E);let ie={schemaVersion:2,createdAt:d().toISOString(),ok:{version:f(),nodeVersion:C.nodeVersion,platform:C.platform,arch:C.arch},host:{desktop:w},contentDir:{pathSha256:Ct(t),absolutePath:T?`<CONTENT_DIR>`:t},telemetry:{localSink:re,otlpPushEnabled:ee()},redaction:M,serverStatus:v,files:O};V(N(h,`manifest.json`),`${JSON.stringify(ie,null,2)}\n`);let P=D.some(e=>{try{return R(e,`utf-8`).includes(t)}catch{return!1}}),ae={totalBytes:k,fileCount:O.length,docNameCount:A,contentDirVisible:P,redacted:T},F=!1;return{stagingDir:h,manifest:ie,summary:ae,cleanup:()=>{F||(F=!0,B(h,{recursive:!0,force:!0}))}}}catch(e){throw B(h,{recursive:!0,force:!0}),e}}async function Pt(e){let{collected:t,outputPath:n}=e,r=M(n);if(!I(r))throw Error(`ok diagnose bundle: parent directory does not exist: ${r}. Create it or pass --out with an existing parent.`);let i=new Le.ZipFile,a=Et(t.stagingDir);for(let e of a){let n=Mt(t.stagingDir,e);i.addFile(e,n)}i.end();let o=F(n);return i.outputStream.pipe(o),await new Promise((e,t)=>{o.on(`close`,e),o.on(`error`,t),i.outputStream.on(`error`,t)}),n}function Ft(e,t){let n=N(e,`.ok`,`config.yml`);if(I(n))try{let t=(0,U.parse)(R(n,`utf-8`)),r=O(t)?t.content:void 0,i=O(r)?r.dir:void 0;if(typeof i==`string`&&i.length>0)return P(e,i)}catch(e){t?.warn({configPath:n,err:e},`bug-report: failed to read .ok/config.yml; falling back to project root as content dir`)}return P(e)}async function It(e,t,n){let r=Oe(t,e.logger),i=await Nt({contentDir:Ft(t,e.logger),projectDir:t,redact:e.redact,scrubSecrets:e.redact,note:e.note,extraFiles:e.extraFiles,userLogFiles:je(r,e.userLogsDir??N(H(),`.ok`,`logs`)),deps:{readDesktopEnv:n,logger:e.logger}});try{L(M(e.outputPath),{recursive:!0}),await Pt({collected:i,outputPath:e.outputPath});let t=i.manifest.redaction.secretScrub;return{zipPath:e.outputPath,summary:{level:`full`,systemWide:!1,projectSlug:r,files:i.manifest.files.map(e=>e.path),redactions:t?.redactions??[],redactedLineCount:t?.redactedLineCount??0,generatedAt:i.manifest.createdAt}}}finally{i.cleanup()}}async function Lt(e){let{projectDir:t}=e,n=e.readDesktopEnv??gt;if(e.level===`full`&&t!==void 0)return It(e,t,n);let{zipPath:r,summary:i}=await Ie({projectDir:t,redact:e.redact,outputPath:e.outputPath,userLogsDir:e.userLogsDir,logger:e.logger,note:e.note,extraFiles:e.extraFiles,desktop:n()});return{zipPath:r,summary:{level:e.level,systemWide:t===void 0,projectSlug:i.projectSlug,files:i.files,redactions:i.redactions,redactedLineCount:i.redactedLineCount,generatedAt:i.generatedAt}}}function Z(e,t,n={}){let r=h(e,t);if(!I(r))return{status:`missing`,lockPath:r};let i;try{i=JSON.parse(R(r,`utf-8`))}catch{return{status:`corrupt`,lockPath:r}}if(!i||typeof i!=`object`||!ee(i.pid))return{status:`corrupt`,lockPath:r};let a=i;if(!(n.isAlive??_)(a.pid))return{status:`dead-pid`,lockPath:r,lock:a};if(typeof a.machineId==`string`)return a.machineId===(n.machineId??g())?{status:`alive`,lockPath:r,lock:a}:{status:`foreign-host`,lockPath:r,lock:a};let o=n.host??pe();return a.hostname===o?{status:`alive`,lockPath:r,lock:a}:{status:`foreign-host`,lockPath:r,lock:a}}function Rt(e){return e.replace(/:\d+$/,``)}function zt(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:Rt(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:Rt(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:Rt(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}const Bt=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function Vt(e){return N(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const Ht={existsSync:e=>I(e),readFileSync:(e,t)=>R(e,t),lstatSync:e=>se(e),readlinkSync:e=>le(e)};function Ut(e,t=Ht){let n=Vt(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 Wt(e){let t=e.replace(Bt,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function Gt(e,t,n=Ht){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}function Kt(e){return b(e)||y(e)||E(e)}const qt=10*1024*1024;function Jt(e,t,n,r){let i=ne(e,t,n,r);if(i.kind===`absent`||i.kind===`no-entry`)return{kind:`not-present`};if(i.kind===`decline`)return{kind:`declined`,reason:i.reason};if(!Kt(i.entry))return{kind:`left-foreign`};let a;try{a=r??e.configPath(t,n)}catch{return{kind:`not-present`}}let o=e.serverName(t);return e.format===`file`?(B(a,{force:!0}),{kind:`removed`}):e.format===`toml`?Zt(a,o):e.format===`yaml`?Xt(a,e.topLevelKey,o):Yt(a,e.topLevelKey,e.serverMapSubKey,o)}function Yt(e,t,n,r){let i;try{i=R(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}if(Buffer.byteLength(i,`utf-8`)>qt)return{kind:`declined`,reason:`oversize`};let{text:a,changed:o}=C(i,te(t,n,r));return o?(m(e,a,{mode:T(e)}),{kind:`removed`}):{kind:`not-present`}}function Xt(e,t,n){let r;try{r=R(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}if(Buffer.byteLength(r,`utf-8`)>qt)return{kind:`declined`,reason:`oversize`};let i=r.charCodeAt(0)===65279,a=i?r.slice(1):r,o=(0,U.parseDocument)(a);if(o.errors.length>0)return{kind:`declined`,reason:`unparseable`};let s=[t,n];if(!o.hasIn(s))return{kind:`not-present`};o.deleteIn(s);let c=o.toString(),l=w(a);a.trim()===``||a.endsWith(`
|
|
11
|
+
`)?c.endsWith(`
|
|
12
|
+
`)||(c=`${c}\n`):c=c.replace(/\n+$/,``),l&&(c=c.replace(/\r\n/g,`
|
|
13
|
+
`).replace(/\n/g,`\r
|
|
14
|
+
`));let u=`${i?``:``}${c}`;return u!==r&&m(e,u,{mode:T(e)}),{kind:`removed`}}function Zt(e,t){let n=re();if(n.backend===`fallback`)return{kind:`declined`,reason:`no-native-writer`};let r;try{r=R(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}let i=r.charCodeAt(0)===65279,a=i?r.slice(1):r,o=w(a),s=a.trim()===``||a.endsWith(`
|
|
15
|
+
`),c;try{c=n.removeEntry(a,t)}catch{return{kind:`declined`,reason:`unparseable`}}if(!c.existed)return{kind:`not-present`};let l=c.text;s?l.endsWith(`
|
|
16
|
+
`)||(l=`${l}\n`):l=l.replace(/\n+$/,``),o&&(l=l.replace(/\r\n/g,`
|
|
17
|
+
`).replace(/\n/g,`\r
|
|
18
|
+
`));let u=`${i?``:``}${l}`;return u!==r&&m(e,u,{mode:T(e)}),{kind:`removed`}}function Qt(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function $t(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 en(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:Qt(r)}}function tn(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function Q(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&tn(e)?`ui-orphan`:`stale`}const nn=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function rn(e){switch(e){case`running`:return K.default.green(e);case`desktop`:return K.default.blue(e);case`foreign`:return K.default.cyan(e);case`ui-orphan`:return K.default.magenta(e);case`stale`:return K.default.yellow(e)}}function an(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function on(e){return`${an(e.server.usage)} | ${an(e.ui?.usage??null)}`}function sn(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function cn(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=Q(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,sn(e),on(e),t,String(n),$t(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=rn(Q(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=K.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
|
|
19
|
+
`)}async function ln(e={}){let t=e.discover??f,n=e.inspect??Z,r=e.log??(e=>console.log(e)),i=e.resolveCommand??c,a=e.resolveUsage??d,o=await t(),s=[];for(let e of o){let t=n(e,`server`),r=n(e,`ui`),o=en(e,t,r,t.status===`missing`||t.status===`corrupt`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:a(t.lock.pid),r.status===`missing`||r.status===`corrupt`?null:a(r.lock.pid));o!=null&&s.push(o)}if(e.json){let e=s.map(e=>({...e,displayStatus:Q(e)}));r(JSON.stringify(e,null,2));return}r(cn(e.all?s:s.filter(e=>nn.has(Q(e)))))}function un(){return new x(`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 ln({all:t.all===!0||e===`all`,json:t.json===!0})})}function dn(e,t,n={}){let r=n.isAlive??_,i=[];for(let[n,a]of[[`server`,e],[`ui`,t]])(a.status===`alive`||a.status===`foreign-host`&&r(a.lock.pid))&&i.push({name:n,pid:a.lock.pid,port:a.lock.port});return{targets:i}}function fn(e){let t=e.inspect??(t=>Z(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=dn(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function $(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function pn(e,t=_){let n=await f(),r=null;for(let i of n){let n=Z(i,`server`),a=Z(i,`ui`);if($(n,t)&&n.lock.port===e||$(a,t)&&a.lock.port===e)return i;r===null&&($(n,t)&&n.lock.pid===e||$(a,t)&&a.lock.pid===e)&&(r=i)}return r}function mn(e){let t=fn({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function hn(e){return new x(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async t=>{let n=t.length===0?void 0:t.join(` `);if(n===void 0){e();let t=fn({lockDir:l(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 ln({});return}if(n===`all`){let e=await f();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let n of e){let e=Z(n,`server`),r=Z(n,`ui`);!$(e,_)&&!$(r,_)||(mn(n),t++)}t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(n)){let e=Number.parseInt(n,10),t=await pn(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}mn(t);return}mn(l(P(Te(),n)))})}export{Te as _,Bt as a,Ut as c,Z as d,Lt as f,Ee as g,De as h,Jt as i,Wt as l,Pt as m,hn as n,Gt as o,Nt as p,un as r,Vt as s,fn as t,zt as u,we as v,Se as y};
|
|
20
|
+
//# sourceMappingURL=src-eJmU7tk9.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as e,r as t,v as n}from"./start-ffP2Ihoz.mjs";export{t as bootStartServer,e as resolveHost,n as startCommand};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Q as e,Y as t}from"./src-9BFQh559.mjs";import{En as n,Jr as r,a as i,ri as a}from"./src-CyIFaiha.mjs";import{S as o,x as s}from"./write-project-skill-BT83YFFS.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-B0G2vBqc.mjs";import{n as d}from"./constants-BmQL4YFQ.mjs";import{spawn as f}from"node:child_process";import{basename as p,join as m,posix as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,n={}){let i=(n.spawn??f)(e,[...t],r({detached:!0,stdio:`ignore`,env:E(n.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=m(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,m(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h.join(h.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(m(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function ae(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:r,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-Cbll3h9C.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??r,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!n(r))throw new W(r);let t=process.env.OK_RECLAIM_DISABLE??null,i=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs--aCpb3hv.mjs`)).repairMcpConfigs)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-aFmED0c2.mjs`)).repairLaunchJson)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-DERbFdPf.mjs`)).repairSkills)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,r);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:r,spawn:e.spawn,args:n}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=a();{let e=S(E?D:r),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await _({config:t,contentDir:j,projectDir:E?D:r,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new o(`--ui-port must be a port number between 1 and 65535`);return t}function ue(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function $(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function de(e,t){let n=ue(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-CIK2GwPx.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
|
|
2
|
-
`)));let p=V(t,process.env),m=H(p,l);m.coerced&&console.warn(`remote access is enabled and ${p} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${p} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let h=m.host,_=t.port===void 0?void 0:Number(t.port),v=process.env.PORT?Number(process.env.PORT):void 0,b=t.uiPort===void 0?void 0:Number(t.uiPort);l&&_===void 0&&v!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${f.remote?.port}). Pass --port to override deliberately.`);let x=q(_,v,b,l)??(l?f.remote?.port:void 0);if(b!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-
|
|
1
|
+
import{Q as e,Y as t}from"./src-TKCctdpc.mjs";import{En as n,Jr as r,a as i,ri as a}from"./src-DfRHrkSZ.mjs";import{v as o,y as s}from"./write-project-skill-D38t_B_r.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-DYSjZblH.mjs";import{n as d}from"./constants-BEe0tuQx.mjs";import{spawn as f}from"node:child_process";import{basename as p,join as m,posix as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,n={}){let i=(n.spawn??f)(e,[...t],r({detached:!0,stdio:`ignore`,env:E(n.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=m(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,m(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h.join(h.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(m(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function ae(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:r,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-B_Esv3oA.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??r,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!n(r))throw new W(r);let t=process.env.OK_RECLAIM_DISABLE??null,i=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-9MXPCm8A.mjs`)).repairMcpConfigs)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-CooRfHHf.mjs`)).repairLaunchJson)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-CrwlZDaN.mjs`)).repairSkills)({projectDir:r,reclaimDisableEnv:t,logger:i})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,r);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let n=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:r,spawn:e.spawn,args:n}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=a();{let e=S(E?D:r),t=Date.now(),n=await C(e);n!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:n,waitedMs:Date.now()-t,drainLockDir:e},n===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await _({config:t,contentDir:j,projectDir:E?D:r,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new s(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new s(`--ui-port must be a port number between 1 and 65535`);return t}function ue(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function $(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function de(e,t){let n=ue(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-Be20aAVc.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
|
|
2
|
+
`)));let p=V(t,process.env),m=H(p,l);m.coerced&&console.warn(`remote access is enabled and ${p} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${p} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let h=m.host,_=t.port===void 0?void 0:Number(t.port),v=process.env.PORT?Number(process.env.PORT):void 0,b=t.uiPort===void 0?void 0:Number(t.uiPort);l&&_===void 0&&v!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${f.remote?.port}). Pass --port to override deliberately.`);let x=q(_,v,b,l)??(l?f.remote?.port:void 0);if(b!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-B_Esv3oA.mjs`);if(J(b,e(t(c)))){await X({cwd:c,uiPort:b});return}}let S=t.reactShellDistDir;if(l&&S===void 0){let e=import.meta.dirname??new URL(`.`,import.meta.url).pathname;S=[g(e,`public`),g(e,`../../app/dist`),g(e,`../../../app/dist`)].find(e=>y(e)),S===void 0&&console.warn(`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`)}let C;try{C=await se({config:f,cwd:c,host:h,port:x,...b===void 0?{}:{uiPort:b},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...S?{reactShellDistDir:S}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{},...l?{enableRemote:!0}:{}})}catch(e){e instanceof W&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-B_Esv3oA.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(o(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),b!==void 0&&fe(e,t)){await X({cwd:c,uiPort:b});return}let n=pe(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let w=!1,T=async e=>{if(w)return;w=!0;let[t,...n]=$(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(C.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-B_Esv3oA.mjs`);await Q({readUiLock:()=>n(C.lockDir),spawnedUiPid:()=>C.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await C.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{T(`SIGINT`)}),process.once(`SIGTERM`,()=>{T(`SIGTERM`)});let E=`http://${h}:${C.port}`,D=h===`0.0.0.0`||h===`::`?`http://0.0.0.0:${C.port}`:void 0,O=C.resolvedUiPort,k=O!==null&&O>0?`http://${h}:${O}`:E;console.log(r({name:`open-knowledge`,version:d,localUrl:k,apiUrl:k===E?void 0:E,networkUrl:D,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let A={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};C.ready.then(async()=>{if(C.degraded.length>0){console.log();for(let e of C.degraded){let t=A[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-iTSXc4_G.mjs`);e(k)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function fe(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function pe(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=m(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function me(e){return new 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`,le).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ce).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
|
|
3
3
|
`),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=I(A());if(n.available){L({spawn:f},n);return}console.error(R(n.reason)),process.exit(1)}await de(n,t)})}export{B as C,D,L as E,ae as S,I as T,K as _,H as a,pe as b,G as c,fe as d,q as f,J as g,de as h,oe as i,U as l,ue as m,Z as n,Y as o,V as p,se as r,X as s,W as t,$ as u,me as v,A as w,ie as x,Q as y};
|
|
4
|
-
//# sourceMappingURL=start-
|
|
4
|
+
//# sourceMappingURL=start-ffP2Ihoz.mjs.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import"./chunk-DXB73IDG-BBwE27jK.mjs";import{r as e,t}from"./chunk-74CEPOFO-BYrCYxKO.mjs";import{t as n}from"./chunk-HWKDQ44K-D3ZbaPl8.mjs";import{t as r}from"./chunk-X2AJGDEF-ivzQBp_p.mjs";var i={name:`stat`,summary:`display file or file system status`,usage:`stat [OPTION]... FILE...`,options:[`-c FORMAT use the specified FORMAT instead of the default`,` --help display this help and exit`]},a={format:{short:`c`,type:`string`}},o={name:`stat`,async execute(o,s){if(t(o))return e(i);let c=n(`stat`,o,a);if(!c.ok)return c.error;let l=c.result.flags.format??null,u=c.result.positional;if(u.length===0)return{stdout:``,stderr:`stat: missing operand
|
|
2
|
+
`,exitCode:1};let d=``,f=``,p=!1;for(let e of u){let t=s.fs.resolvePath(s.cwd,e);try{let n=await s.fs.stat(t);if(l){let t=l,i=n.mode.toString(8),a=r(n.mode,n.isDirectory);t=t.replace(/%n/g,e),t=t.replace(/%N/g,`'${e}'`),t=t.replace(/%s/g,String(n.size)),t=t.replace(/%F/g,n.isDirectory?`directory`:`regular file`),t=t.replace(/%a/g,i),t=t.replace(/%A/g,a),t=t.replace(/%u/g,`1000`),t=t.replace(/%U/g,`user`),t=t.replace(/%g/g,`1000`),t=t.replace(/%G/g,`group`),d+=`${t}
|
|
3
|
+
`}else{let t=n.mode.toString(8).padStart(4,`0`),i=r(n.mode,n.isDirectory);d+=` File: ${e}
|
|
4
|
+
`,d+=` Size: ${n.size} Blocks: ${Math.ceil(n.size/512)}
|
|
5
|
+
`,d+=`Access: (${t}/${i})
|
|
6
|
+
`,d+=`Modify: ${n.mtime.toISOString()}
|
|
7
|
+
`}}catch{f+=`stat: cannot stat '${e}': No such file or directory
|
|
8
|
+
`,p=!0}}return{stdout:d,stderr:f,exitCode:+!!p}}};export{o as statCommand};
|
|
9
|
+
//# sourceMappingURL=stat-BT5A227F-CEZPXJ9_.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DXB73IDG-q-dGnwlc.mjs";import{t as e}from"./chunk-5QVNJEHU-DS9zA_YV.mjs";export{e as statCommand};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-C7FmC3Cl.mjs";import{m as t,p as n}from"./src-BuBt_xnY.mjs";import{O as r,c as i,s as a,x as o}from"./chunk-WYO6CB5R-Cg1RXhAT.mjs";import{et as s,g as c}from"./chunk-ICXQ74PX-CewdqzeE.mjs";import{t as l}from"./line-Cq-NoiNn.mjs";import"./chunk-HOUHSVGY-Cg_2_CUd.mjs";import"./chunk-Q4XR5HBZ-4H-m7p0G.mjs";import"./chunk-7BUUIJ7U-_1oXd84C.mjs";import"./chunk-OGEWGWER-B-Vr80Fa.mjs";import{t as u}from"./graphlib-DKEQBDTz.mjs";import{t as d}from"./dagre-CbI1Ylqw.mjs";import"./chunk-32BRIVSS-ok2xg0Je.mjs";import"./chunk-XXDRQBXY-BvbdToKZ.mjs";import"./chunk-VR4S4FIN-mH-q10Uq.mjs";import"./chunk-C7G6YPKG-DpNJWc2e.mjs";import"./chunk-ZGVPDNZ5-BE_qYP6z.mjs";import"./chunk-52WLFC77-BaT5_S-q.mjs";import"./chunk-FWX5IMBZ-BFNo8SGu.mjs";import{i as f,n as p,t as m}from"./chunk-EX3LRPZG-BYcqQlY8.mjs";var h=e(e=>e.append(`circle`).attr(`class`,`start-state`).attr(`r`,o().state.sizeUnit).attr(`cx`,o().state.padding+o().state.sizeUnit).attr(`cy`,o().state.padding+o().state.sizeUnit),`drawStartState`),g=e(e=>e.append(`line`).style(`stroke`,`grey`).style(`stroke-dasharray`,`3`).attr(`x1`,o().state.textHeight).attr(`class`,`divider`).attr(`x2`,o().state.textHeight*2).attr(`y1`,0).attr(`y2`,0),`drawDivider`),_=e((e,t)=>{let n=e.append(`text`).attr(`x`,2*o().state.padding).attr(`y`,o().state.textHeight+2*o().state.padding).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(t.id),r=n.node().getBBox();return e.insert(`rect`,`:first-child`).attr(`x`,o().state.padding).attr(`y`,o().state.padding).attr(`width`,r.width+2*o().state.padding).attr(`height`,r.height+2*o().state.padding).attr(`rx`,o().state.radius),n},`drawSimpleState`),v=e((t,n)=>{let r=e(function(e,t,n){let r=e.append(`tspan`).attr(`x`,2*o().state.padding).text(t);n||r.attr(`dy`,o().state.textHeight)},`addTspan`),i=t.append(`text`).attr(`x`,2*o().state.padding).attr(`y`,o().state.textHeight+1.3*o().state.padding).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(n.descriptions[0]).node().getBBox(),a=i.height,s=t.append(`text`).attr(`x`,o().state.padding).attr(`y`,a+o().state.padding*.4+o().state.dividerMargin+o().state.textHeight).attr(`class`,`state-description`),c=!0,l=!0;n.descriptions.forEach(function(e){c||(r(s,e,l),l=!1),c=!1});let u=t.append(`line`).attr(`x1`,o().state.padding).attr(`y1`,o().state.padding+a+o().state.dividerMargin/2).attr(`y2`,o().state.padding+a+o().state.dividerMargin/2).attr(`class`,`descr-divider`),d=s.node().getBBox(),f=Math.max(d.width,i.width);return u.attr(`x2`,f+3*o().state.padding),t.insert(`rect`,`:first-child`).attr(`x`,o().state.padding).attr(`y`,o().state.padding).attr(`width`,f+2*o().state.padding).attr(`height`,d.height+a+2*o().state.padding).attr(`rx`,o().state.radius),t},`drawDescrState`),y=e((e,t,n)=>{let r=o().state.padding,i=2*o().state.padding,a=e.node().getBBox(),s=a.width,c=a.x,l=e.append(`text`).attr(`x`,0).attr(`y`,o().state.titleShift).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(t.id),u=l.node().getBBox().width+i,d=Math.max(u,s);d===s&&(d+=i);let f,p=e.node().getBBox();t.doc,f=c-r,u>s&&(f=(s-d)/2+r),Math.abs(c-p.x)<r&&u>s&&(f=c-(u-s)/2);let m=1-o().state.textHeight;return e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,m).attr(`class`,n?`alt-composit`:`composit`).attr(`width`,d).attr(`height`,p.height+o().state.textHeight+o().state.titleShift+1).attr(`rx`,`0`),l.attr(`x`,f+r),u<=s&&l.attr(`x`,c+(d-i)/2-u/2+r),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,o().state.titleShift-o().state.textHeight-o().state.padding).attr(`width`,d).attr(`height`,o().state.textHeight*3).attr(`rx`,o().state.radius),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,o().state.titleShift-o().state.textHeight-o().state.padding).attr(`width`,d).attr(`height`,p.height+3+2*o().state.textHeight).attr(`rx`,o().state.radius),e},`addTitleAndBox`),b=e(e=>(e.append(`circle`).attr(`class`,`end-state-outer`).attr(`r`,o().state.sizeUnit+o().state.miniPadding).attr(`cx`,o().state.padding+o().state.sizeUnit+o().state.miniPadding).attr(`cy`,o().state.padding+o().state.sizeUnit+o().state.miniPadding),e.append(`circle`).attr(`class`,`end-state-inner`).attr(`r`,o().state.sizeUnit).attr(`cx`,o().state.padding+o().state.sizeUnit+2).attr(`cy`,o().state.padding+o().state.sizeUnit+2)),`drawEndState`),x=e((e,t)=>{let n=o().state.forkWidth,r=o().state.forkHeight;if(t.parentId){let e=n;n=r,r=e}return e.append(`rect`).style(`stroke`,`black`).style(`fill`,`black`).attr(`width`,n).attr(`height`,r).attr(`x`,o().state.padding).attr(`y`,o().state.padding)},`drawForkJoinState`),S=e((e,t,n,r)=>{let i=0,s=r.append(`text`);s.style(`text-anchor`,`start`),s.attr(`class`,`noteText`);let c=e.replace(/\r\n/g,`<br/>`);c=c.replace(/\n/g,`<br/>`);let l=c.split(a.lineBreakRegex),u=1.25*o().state.noteMargin;for(let e of l){let r=e.trim();if(r.length>0){let e=s.append(`tspan`);if(e.text(r),u===0){let t=e.node().getBBox();u+=t.height}i+=u,e.attr(`x`,t+o().state.noteMargin),e.attr(`y`,n+i+1.25*o().state.noteMargin)}}return{textWidth:s.node().getBBox().width,textHeight:i}},`_drawLongText`),C=e((e,t)=>{t.attr(`class`,`state-note`);let n=t.append(`rect`).attr(`x`,0).attr(`y`,o().state.padding),{textWidth:r,textHeight:i}=S(e,0,0,t.append(`g`));return n.attr(`height`,i+2*o().state.noteMargin),n.attr(`width`,r+o().state.noteMargin*2),n},`drawNote`),w=e(function(e,t){let n=t.id,r={id:n,label:t.id,width:0,height:0},i=e.append(`g`).attr(`id`,n).attr(`class`,`stateGroup`);t.type===`start`&&h(i),t.type===`end`&&b(i),(t.type===`fork`||t.type===`join`)&&x(i,t),t.type===`note`&&C(t.note.text,i),t.type===`divider`&&g(i),t.type===`default`&&t.descriptions.length===0&&_(i,t),t.type===`default`&&t.descriptions.length>0&&v(i,t);let a=i.node().getBBox();return r.width=a.width+2*o().state.padding,r.height=a.height+2*o().state.padding,r},`drawState`),T=0,E=e(function(n,i,u){let d=e(function(e){switch(e){case m.relationType.AGGREGATION:return`aggregation`;case m.relationType.EXTENSION:return`extension`;case m.relationType.COMPOSITION:return`composition`;case m.relationType.DEPENDENCY:return`dependency`}},`getRelationType`);i.points=i.points.filter(e=>!Number.isNaN(e.y));let f=i.points,p=l().x(function(e){return e.x}).y(function(e){return e.y}).curve(s),h=n.append(`path`).attr(`d`,p(f)).attr(`id`,`edge`+T).attr(`class`,`transition`),g=``;if(o().state.arrowMarkerAbsolute&&(g=r(!0)),h.attr(`marker-end`,`url(`+g+`#`+d(m.relationType.DEPENDENCY)+`End)`),u.title!==void 0){let e=n.append(`g`).attr(`class`,`stateLabel`),{x:r,y:s}=c.calcLabelPosition(i.points),l=a.getRows(u.title),d=0,f=[],p=0,m=0;for(let n=0;n<=l.length;n++){let i=e.append(`text`).attr(`text-anchor`,`middle`).text(l[n]).attr(`x`,r).attr(`y`,s+d),a=i.node().getBBox();p=Math.max(p,a.width),m=Math.min(m,a.x),t.info(a.x,r,s+d),d===0&&(d=i.node().getBBox().height,t.info(`Title height`,d,s)),f.push(i)}let h=d*l.length;if(l.length>1){let e=(l.length-1)*d*.5;f.forEach((t,n)=>t.attr(`y`,s+n*d-e)),h=d*l.length}let g=e.node().getBBox();e.insert(`rect`,`:first-child`).attr(`class`,`box`).attr(`x`,r-p/2-o().state.padding/2).attr(`y`,s-h/2-o().state.padding/2-3.5).attr(`width`,p+o().state.padding).attr(`height`,h+o().state.padding),t.info(g)}T++},`drawEdge`),D,O={},k=e(function(){},`setConf`),A=e(function(e){e.append(`defs`).append(`marker`).attr(`id`,`dependencyEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`insertMarkers`),j=e(function(e,r,a,s){D=o().state;let c=o().securityLevel,l;c===`sandbox`&&(l=n(`#i`+r));let u=n(c===`sandbox`?l.nodes()[0].contentDocument.body:`body`),d=c===`sandbox`?l.nodes()[0].contentDocument:document;t.debug(`Rendering diagram `+e);let f=u.select(`[id='${r}']`);A(f),N(s.db.getRootDoc(),f.append(`g`).attr(`id`,r+`-root`),void 0,!1,u,d,s);let p=D.padding,m=f.node().getBBox(),h=m.width+p*2,g=m.height+p*2;i(f,g,h*1.75,D.useMaxWidth),f.attr(`viewBox`,`${m.x-D.padding} ${m.y-D.padding} `+h+` `+g)},`draw`),M=e(e=>e?e.length*D.fontSizeFactor:1,`getLabelWidth`),N=e((e,n,r,i,o,s,c)=>{let l=new u({compound:!0,multigraph:!0}),f,p=!0;for(f=0;f<e.length;f++)if(e[f].stmt===`relation`){p=!1;break}r?l.setGraph({rankdir:`LR`,multigraph:!0,compound:!0,ranker:`tight-tree`,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,isMultiGraph:!0}):l.setGraph({rankdir:`TB`,multigraph:!0,compound:!0,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,ranker:`tight-tree`,isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});let m=c.db.getStates(),h=c.db.getRelations(),g=Object.keys(m);for(let e of g){let t=m[e];r&&(t.parentId=r);let a;if(t.doc){let e=n.append(`g`).attr(`id`,t.id).attr(`class`,`stateGroup`);a=N(t.doc,e,t.id,!i,o,s,c);{e=y(e,t,i);let n=e.node().getBBox();a.width=n.width,a.height=n.height+D.padding/2,O[t.id]={y:D.compositTitleSize}}}else a=w(n,t,l);if(t.note){let e=w(n,{descriptions:[],id:t.id+`-note`,note:t.note,type:`note`},l);t.note.position===`left of`?(l.setNode(a.id+`-note`,e),l.setNode(a.id,a)):(l.setNode(a.id,a),l.setNode(a.id+`-note`,e)),l.setParent(a.id,a.id+`-group`),l.setParent(a.id+`-note`,a.id+`-group`)}else l.setNode(a.id,a)}t.debug(`Count=`,l.nodeCount(),l);let _=0;h.forEach(function(e){_++,t.debug(`Setting edge`,e),l.setEdge(e.id1,e.id2,{relation:e,width:M(e.title),height:D.labelHeight*a.getRows(e.title).length,labelpos:`c`},`id`+_)}),d(l),t.debug(`Graph after layout`,l.nodes());let v=n.node();l.nodes().forEach(function(e){e!==void 0&&l.node(e)!==void 0?(t.warn(`Node `+e+`: `+JSON.stringify(l.node(e))),o.select(`#`+v.id+` #`+e).attr(`transform`,`translate(`+(l.node(e).x-l.node(e).width/2)+`,`+(l.node(e).y+(O[e]?O[e].y:0)-l.node(e).height/2)+` )`),o.select(`#`+v.id+` #`+e).attr(`data-x-shift`,l.node(e).x-l.node(e).width/2),s.querySelectorAll(`#`+v.id+` #`+e+` .divider`).forEach(e=>{let t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(`data-x-shift`),10),Number.isNaN(r)&&(r=0)),e.setAttribute(`x1`,0-r+8),e.setAttribute(`x2`,n-r-8)})):t.debug(`No Node `+e+`: `+JSON.stringify(l.node(e)))});let b=v.getBBox();l.edges().forEach(function(e){e!==void 0&&l.edge(e)!==void 0&&(t.debug(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(l.edge(e))),E(n,l.edge(e),l.edge(e).relation))}),b=v.getBBox();let x={id:r||`root`,label:r||`root`,width:0,height:0};return x.width=b.width+2*D.padding,x.height=b.height+2*D.padding,t.debug(`Doc rendered`,x,l),x},`renderDoc`),P={parser:p,get db(){return new m(1)},renderer:{setConf:k,draw:j},styles:f,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{P as diagram};
|
|
2
|
-
//# sourceMappingURL=stateDiagram-2N3HPSRC-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-acXC9Sbb.mjs";import{m as t,p as n}from"./src-BPVU4Y0o.mjs";import{O as r,c as i,s as a,x as o}from"./chunk-WYO6CB5R-DN1R0VLx.mjs";import{et as s,g as c}from"./chunk-ICXQ74PX-DbJy3VdO.mjs";import{t as l}from"./line-eTDW_zUy.mjs";import"./chunk-HOUHSVGY-C3h3PdhC.mjs";import"./chunk-Q4XR5HBZ-jWirJQsj.mjs";import"./chunk-7BUUIJ7U-D7hE25H9.mjs";import"./chunk-OGEWGWER-DgPAesMA.mjs";import{t as u}from"./graphlib-DXQPHTiH.mjs";import{t as d}from"./dagre-BkPA5x_w.mjs";import"./chunk-32BRIVSS-Dwq69mnI.mjs";import"./chunk-XXDRQBXY-D1gFTzjI.mjs";import"./chunk-VR4S4FIN-RUJ5PgRH.mjs";import"./chunk-C7G6YPKG-BAX_SClW.mjs";import"./chunk-ZGVPDNZ5-CyyHBEs2.mjs";import"./chunk-52WLFC77-Cn-qt8h-.mjs";import"./chunk-FWX5IMBZ-Cn1xNcn5.mjs";import{i as f,n as p,t as m}from"./chunk-EX3LRPZG-Chp9b-Lc.mjs";var h=e(e=>e.append(`circle`).attr(`class`,`start-state`).attr(`r`,o().state.sizeUnit).attr(`cx`,o().state.padding+o().state.sizeUnit).attr(`cy`,o().state.padding+o().state.sizeUnit),`drawStartState`),g=e(e=>e.append(`line`).style(`stroke`,`grey`).style(`stroke-dasharray`,`3`).attr(`x1`,o().state.textHeight).attr(`class`,`divider`).attr(`x2`,o().state.textHeight*2).attr(`y1`,0).attr(`y2`,0),`drawDivider`),_=e((e,t)=>{let n=e.append(`text`).attr(`x`,2*o().state.padding).attr(`y`,o().state.textHeight+2*o().state.padding).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(t.id),r=n.node().getBBox();return e.insert(`rect`,`:first-child`).attr(`x`,o().state.padding).attr(`y`,o().state.padding).attr(`width`,r.width+2*o().state.padding).attr(`height`,r.height+2*o().state.padding).attr(`rx`,o().state.radius),n},`drawSimpleState`),v=e((t,n)=>{let r=e(function(e,t,n){let r=e.append(`tspan`).attr(`x`,2*o().state.padding).text(t);n||r.attr(`dy`,o().state.textHeight)},`addTspan`),i=t.append(`text`).attr(`x`,2*o().state.padding).attr(`y`,o().state.textHeight+1.3*o().state.padding).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(n.descriptions[0]).node().getBBox(),a=i.height,s=t.append(`text`).attr(`x`,o().state.padding).attr(`y`,a+o().state.padding*.4+o().state.dividerMargin+o().state.textHeight).attr(`class`,`state-description`),c=!0,l=!0;n.descriptions.forEach(function(e){c||(r(s,e,l),l=!1),c=!1});let u=t.append(`line`).attr(`x1`,o().state.padding).attr(`y1`,o().state.padding+a+o().state.dividerMargin/2).attr(`y2`,o().state.padding+a+o().state.dividerMargin/2).attr(`class`,`descr-divider`),d=s.node().getBBox(),f=Math.max(d.width,i.width);return u.attr(`x2`,f+3*o().state.padding),t.insert(`rect`,`:first-child`).attr(`x`,o().state.padding).attr(`y`,o().state.padding).attr(`width`,f+2*o().state.padding).attr(`height`,d.height+a+2*o().state.padding).attr(`rx`,o().state.radius),t},`drawDescrState`),y=e((e,t,n)=>{let r=o().state.padding,i=2*o().state.padding,a=e.node().getBBox(),s=a.width,c=a.x,l=e.append(`text`).attr(`x`,0).attr(`y`,o().state.titleShift).attr(`font-size`,o().state.fontSize).attr(`class`,`state-title`).text(t.id),u=l.node().getBBox().width+i,d=Math.max(u,s);d===s&&(d+=i);let f,p=e.node().getBBox();t.doc,f=c-r,u>s&&(f=(s-d)/2+r),Math.abs(c-p.x)<r&&u>s&&(f=c-(u-s)/2);let m=1-o().state.textHeight;return e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,m).attr(`class`,n?`alt-composit`:`composit`).attr(`width`,d).attr(`height`,p.height+o().state.textHeight+o().state.titleShift+1).attr(`rx`,`0`),l.attr(`x`,f+r),u<=s&&l.attr(`x`,c+(d-i)/2-u/2+r),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,o().state.titleShift-o().state.textHeight-o().state.padding).attr(`width`,d).attr(`height`,o().state.textHeight*3).attr(`rx`,o().state.radius),e.insert(`rect`,`:first-child`).attr(`x`,f).attr(`y`,o().state.titleShift-o().state.textHeight-o().state.padding).attr(`width`,d).attr(`height`,p.height+3+2*o().state.textHeight).attr(`rx`,o().state.radius),e},`addTitleAndBox`),b=e(e=>(e.append(`circle`).attr(`class`,`end-state-outer`).attr(`r`,o().state.sizeUnit+o().state.miniPadding).attr(`cx`,o().state.padding+o().state.sizeUnit+o().state.miniPadding).attr(`cy`,o().state.padding+o().state.sizeUnit+o().state.miniPadding),e.append(`circle`).attr(`class`,`end-state-inner`).attr(`r`,o().state.sizeUnit).attr(`cx`,o().state.padding+o().state.sizeUnit+2).attr(`cy`,o().state.padding+o().state.sizeUnit+2)),`drawEndState`),x=e((e,t)=>{let n=o().state.forkWidth,r=o().state.forkHeight;if(t.parentId){let e=n;n=r,r=e}return e.append(`rect`).style(`stroke`,`black`).style(`fill`,`black`).attr(`width`,n).attr(`height`,r).attr(`x`,o().state.padding).attr(`y`,o().state.padding)},`drawForkJoinState`),S=e((e,t,n,r)=>{let i=0,s=r.append(`text`);s.style(`text-anchor`,`start`),s.attr(`class`,`noteText`);let c=e.replace(/\r\n/g,`<br/>`);c=c.replace(/\n/g,`<br/>`);let l=c.split(a.lineBreakRegex),u=1.25*o().state.noteMargin;for(let e of l){let r=e.trim();if(r.length>0){let e=s.append(`tspan`);if(e.text(r),u===0){let t=e.node().getBBox();u+=t.height}i+=u,e.attr(`x`,t+o().state.noteMargin),e.attr(`y`,n+i+1.25*o().state.noteMargin)}}return{textWidth:s.node().getBBox().width,textHeight:i}},`_drawLongText`),C=e((e,t)=>{t.attr(`class`,`state-note`);let n=t.append(`rect`).attr(`x`,0).attr(`y`,o().state.padding),{textWidth:r,textHeight:i}=S(e,0,0,t.append(`g`));return n.attr(`height`,i+2*o().state.noteMargin),n.attr(`width`,r+o().state.noteMargin*2),n},`drawNote`),w=e(function(e,t){let n=t.id,r={id:n,label:t.id,width:0,height:0},i=e.append(`g`).attr(`id`,n).attr(`class`,`stateGroup`);t.type===`start`&&h(i),t.type===`end`&&b(i),(t.type===`fork`||t.type===`join`)&&x(i,t),t.type===`note`&&C(t.note.text,i),t.type===`divider`&&g(i),t.type===`default`&&t.descriptions.length===0&&_(i,t),t.type===`default`&&t.descriptions.length>0&&v(i,t);let a=i.node().getBBox();return r.width=a.width+2*o().state.padding,r.height=a.height+2*o().state.padding,r},`drawState`),T=0,E=e(function(n,i,u){let d=e(function(e){switch(e){case m.relationType.AGGREGATION:return`aggregation`;case m.relationType.EXTENSION:return`extension`;case m.relationType.COMPOSITION:return`composition`;case m.relationType.DEPENDENCY:return`dependency`}},`getRelationType`);i.points=i.points.filter(e=>!Number.isNaN(e.y));let f=i.points,p=l().x(function(e){return e.x}).y(function(e){return e.y}).curve(s),h=n.append(`path`).attr(`d`,p(f)).attr(`id`,`edge`+T).attr(`class`,`transition`),g=``;if(o().state.arrowMarkerAbsolute&&(g=r(!0)),h.attr(`marker-end`,`url(`+g+`#`+d(m.relationType.DEPENDENCY)+`End)`),u.title!==void 0){let e=n.append(`g`).attr(`class`,`stateLabel`),{x:r,y:s}=c.calcLabelPosition(i.points),l=a.getRows(u.title),d=0,f=[],p=0,m=0;for(let n=0;n<=l.length;n++){let i=e.append(`text`).attr(`text-anchor`,`middle`).text(l[n]).attr(`x`,r).attr(`y`,s+d),a=i.node().getBBox();p=Math.max(p,a.width),m=Math.min(m,a.x),t.info(a.x,r,s+d),d===0&&(d=i.node().getBBox().height,t.info(`Title height`,d,s)),f.push(i)}let h=d*l.length;if(l.length>1){let e=(l.length-1)*d*.5;f.forEach((t,n)=>t.attr(`y`,s+n*d-e)),h=d*l.length}let g=e.node().getBBox();e.insert(`rect`,`:first-child`).attr(`class`,`box`).attr(`x`,r-p/2-o().state.padding/2).attr(`y`,s-h/2-o().state.padding/2-3.5).attr(`width`,p+o().state.padding).attr(`height`,h+o().state.padding),t.info(g)}T++},`drawEdge`),D,O={},k=e(function(){},`setConf`),A=e(function(e){e.append(`defs`).append(`marker`).attr(`id`,`dependencyEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`insertMarkers`),j=e(function(e,r,a,s){D=o().state;let c=o().securityLevel,l;c===`sandbox`&&(l=n(`#i`+r));let u=n(c===`sandbox`?l.nodes()[0].contentDocument.body:`body`),d=c===`sandbox`?l.nodes()[0].contentDocument:document;t.debug(`Rendering diagram `+e);let f=u.select(`[id='${r}']`);A(f),N(s.db.getRootDoc(),f.append(`g`).attr(`id`,r+`-root`),void 0,!1,u,d,s);let p=D.padding,m=f.node().getBBox(),h=m.width+p*2,g=m.height+p*2;i(f,g,h*1.75,D.useMaxWidth),f.attr(`viewBox`,`${m.x-D.padding} ${m.y-D.padding} `+h+` `+g)},`draw`),M=e(e=>e?e.length*D.fontSizeFactor:1,`getLabelWidth`),N=e((e,n,r,i,o,s,c)=>{let l=new u({compound:!0,multigraph:!0}),f,p=!0;for(f=0;f<e.length;f++)if(e[f].stmt===`relation`){p=!1;break}r?l.setGraph({rankdir:`LR`,multigraph:!0,compound:!0,ranker:`tight-tree`,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,isMultiGraph:!0}):l.setGraph({rankdir:`TB`,multigraph:!0,compound:!0,ranksep:p?1:D.edgeLengthFactor,nodeSep:p?1:50,ranker:`tight-tree`,isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});let m=c.db.getStates(),h=c.db.getRelations(),g=Object.keys(m);for(let e of g){let t=m[e];r&&(t.parentId=r);let a;if(t.doc){let e=n.append(`g`).attr(`id`,t.id).attr(`class`,`stateGroup`);a=N(t.doc,e,t.id,!i,o,s,c);{e=y(e,t,i);let n=e.node().getBBox();a.width=n.width,a.height=n.height+D.padding/2,O[t.id]={y:D.compositTitleSize}}}else a=w(n,t,l);if(t.note){let e=w(n,{descriptions:[],id:t.id+`-note`,note:t.note,type:`note`},l);t.note.position===`left of`?(l.setNode(a.id+`-note`,e),l.setNode(a.id,a)):(l.setNode(a.id,a),l.setNode(a.id+`-note`,e)),l.setParent(a.id,a.id+`-group`),l.setParent(a.id+`-note`,a.id+`-group`)}else l.setNode(a.id,a)}t.debug(`Count=`,l.nodeCount(),l);let _=0;h.forEach(function(e){_++,t.debug(`Setting edge`,e),l.setEdge(e.id1,e.id2,{relation:e,width:M(e.title),height:D.labelHeight*a.getRows(e.title).length,labelpos:`c`},`id`+_)}),d(l),t.debug(`Graph after layout`,l.nodes());let v=n.node();l.nodes().forEach(function(e){e!==void 0&&l.node(e)!==void 0?(t.warn(`Node `+e+`: `+JSON.stringify(l.node(e))),o.select(`#`+v.id+` #`+e).attr(`transform`,`translate(`+(l.node(e).x-l.node(e).width/2)+`,`+(l.node(e).y+(O[e]?O[e].y:0)-l.node(e).height/2)+` )`),o.select(`#`+v.id+` #`+e).attr(`data-x-shift`,l.node(e).x-l.node(e).width/2),s.querySelectorAll(`#`+v.id+` #`+e+` .divider`).forEach(e=>{let t=e.parentElement,n=0,r=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),r=parseInt(t.getAttribute(`data-x-shift`),10),Number.isNaN(r)&&(r=0)),e.setAttribute(`x1`,0-r+8),e.setAttribute(`x2`,n-r-8)})):t.debug(`No Node `+e+`: `+JSON.stringify(l.node(e)))});let b=v.getBBox();l.edges().forEach(function(e){e!==void 0&&l.edge(e)!==void 0&&(t.debug(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(l.edge(e))),E(n,l.edge(e),l.edge(e).relation))}),b=v.getBBox();let x={id:r||`root`,label:r||`root`,width:0,height:0};return x.width=b.width+2*D.padding,x.height=b.height+2*D.padding,t.debug(`Doc rendered`,x,l),x},`renderDoc`),P={parser:p,get db(){return new m(1)},renderer:{setConf:k,draw:j},styles:f,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{P as diagram};
|
|
2
|
+
//# sourceMappingURL=stateDiagram-2N3HPSRC-pAn2bDnn.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-acXC9Sbb.mjs";import"./src-BPVU4Y0o.mjs";import"./chunk-WYO6CB5R-DN1R0VLx.mjs";import"./chunk-ICXQ74PX-DbJy3VdO.mjs";import"./chunk-HOUHSVGY-C3h3PdhC.mjs";import"./chunk-Q4XR5HBZ-jWirJQsj.mjs";import"./chunk-7BUUIJ7U-D7hE25H9.mjs";import"./chunk-OGEWGWER-DgPAesMA.mjs";import"./chunk-32BRIVSS-Dwq69mnI.mjs";import"./chunk-XXDRQBXY-D1gFTzjI.mjs";import"./chunk-VR4S4FIN-RUJ5PgRH.mjs";import"./chunk-C7G6YPKG-BAX_SClW.mjs";import"./chunk-ZGVPDNZ5-CyyHBEs2.mjs";import"./chunk-52WLFC77-Cn-qt8h-.mjs";import"./chunk-FWX5IMBZ-Cn1xNcn5.mjs";import{i as t,n,r,t as i}from"./chunk-EX3LRPZG-Chp9b-Lc.mjs";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|
|
2
|
+
//# sourceMappingURL=stateDiagram-v2-6OUMAXLB-DCmVVpGm.mjs.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import"./chunk-DXB73IDG-BBwE27jK.mjs";import{n as e,r as t,t as n}from"./chunk-74CEPOFO-BYrCYxKO.mjs";var r={name:`strings`,summary:`print the sequences of printable characters in files`,usage:`strings [OPTION]... [FILE]...`,description:`For each FILE, print the printable character sequences that are at least MIN characters long. If no FILE is specified, standard input is read.`,options:[`-n MIN Print sequences of at least MIN characters (default: 4)`,`-t FORMAT Print offset before each string (o=octal, x=hex, d=decimal)`,`-a Scan the entire file (default behavior)`,`-e ENCODING Select character encoding (s=7-bit, S=8-bit)`],examples:[`strings file.bin # Extract strings (min 4 chars)`,`strings -n 8 file.bin # Extract strings (min 8 chars)`,`strings -t x file.bin # Show hex offset`,`echo 'hello' | strings # Read from stdin`]};function i(e){return e>=32&&e<=126||e===9}function a(e,t){if(t===null)return``;switch(t){case`o`:return`${e.toString(8).padStart(7,` `)} `;case`x`:return`${e.toString(16).padStart(7,` `)} `;case`d`:return`${e.toString(10).padStart(7,` `)} `;default:return t}}function o(e,t){let n=[],r=``,o=0,s=typeof e==`string`?new TextEncoder().encode(e):e;for(let e=0;e<s.length;e++){let c=s[e];if(i(c))r.length===0&&(o=e),r+=String.fromCharCode(c);else{if(r.length>=t.minLength){let e=a(o,t.offsetFormat);n.push(`${e}${r}`)}r=``}}if(r.length>=t.minLength){let e=a(o,t.offsetFormat);n.push(`${e}${r}`)}return n}var s={name:`strings`,execute:async(i,a)=>{if(n(i))return t(r);let s={minLength:4,offsetFormat:null},c=[],l=0;for(;l<i.length;){let t=i[l];if(t===`-n`&&l+1<i.length){let e=Number.parseInt(i[l+1],10);if(Number.isNaN(e)||e<1)return{exitCode:1,stdout:``,stderr:`strings: invalid minimum string length: '${i[l+1]}'
|
|
2
|
+
`};s.minLength=e,l+=2}else if(t.match(/^-n\d+$/)){let e=Number.parseInt(t.slice(2),10);if(Number.isNaN(e)||e<1)return{exitCode:1,stdout:``,stderr:`strings: invalid minimum string length: '${t.slice(2)}'
|
|
3
|
+
`};s.minLength=e,l++}else if(t.match(/^-\d+$/)){let e=Number.parseInt(t.slice(1),10);if(Number.isNaN(e)||e<1)return{exitCode:1,stdout:``,stderr:`strings: invalid minimum string length: '${t.slice(1)}'
|
|
4
|
+
`};s.minLength=e,l++}else if(t===`-t`&&l+1<i.length){let e=i[l+1];if(e!==`o`&&e!==`x`&&e!==`d`)return{exitCode:1,stdout:``,stderr:`strings: invalid radix: '${e}'
|
|
5
|
+
`};s.offsetFormat=e,l+=2}else if(t.startsWith(`-t`)&&t.length===3){let e=t[2];if(e!==`o`&&e!==`x`&&e!==`d`)return{exitCode:1,stdout:``,stderr:`strings: invalid radix: '${e}'
|
|
6
|
+
`};s.offsetFormat=e,l++}else if(t===`-a`||t===`--all`||t===`-`)t===`-`&&c.push(t),l++;else if(t===`-e`&&l+1<i.length){let e=i[l+1];if(e!==`s`&&e!==`S`)return{exitCode:1,stdout:``,stderr:`strings: invalid encoding: '${e}'
|
|
7
|
+
`};l+=2}else if(t.startsWith(`-e`)&&t.length===3){let e=t[2];if(e!==`s`&&e!==`S`)return{exitCode:1,stdout:``,stderr:`strings: invalid encoding: '${e}'
|
|
8
|
+
`};l++}else if(t===`--`){c.push(...i.slice(l+1));break}else{if(t.startsWith(`-`)&&t!==`-`)return e(`strings`,t);c.push(t),l++}}let u=``;if(c.length===0){let e=o(a.stdin??``,s);u=e.length>0?`${e.join(`
|
|
9
|
+
`)}
|
|
10
|
+
`:``}else for(let e of c){let t;if(e===`-`)t=a.stdin??``;else{let n=a.fs.resolvePath(a.cwd,e);if(t=await a.fs.readFile(n),t===null)return{exitCode:1,stdout:u,stderr:`strings: ${e}: No such file or directory
|
|
11
|
+
`}}let n=o(t,s);n.length>0&&(u+=`${n.join(`
|
|
12
|
+
`)}
|
|
13
|
+
`)}return{exitCode:0,stdout:u,stderr:``}}};export{s as strings};
|
|
14
|
+
//# sourceMappingURL=strings-7PLOGTPD-CiVw0Uh4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DXB73IDG-q-dGnwlc.mjs";import{n as e}from"./chunk-VYOJP4TV-DG_cm0JM.mjs";export{e as strings};
|