collabmd 0.1.49 → 0.1.52
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/README.md +11 -660
- package/bin/collabmd.js +36 -20
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-BEz2BKN1.js +1 -0
- package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/client/assets/Middleware-DUgFSleI.js +1 -0
- package/dist/client/assets/_basePickBy-QJXUw_pr.js +1 -0
- package/dist/client/assets/_baseUniq-DR4vVjyC.js +1 -0
- package/dist/client/assets/abnfDiagram-O67JEVCF-Dwt6a0Ds.js +1 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-DxNxad6-.js +1 -0
- package/dist/client/assets/ar-SA-5WIASEJP-Di7OimCN.js +10 -0
- package/dist/client/assets/architecture-7GRP2DOG-BBwRXFv3.js +1 -0
- package/dist/client/assets/architecture-7GRP2DOG-DJVtYNt-.js +1 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-C1uvg5id.js +36 -0
- package/dist/client/assets/architectureDiagram-NJMV4G6O-D5CGiX3G.js +36 -0
- package/dist/client/assets/az-AZ-V5EUQD6C-C19OGTT_.js +1 -0
- package/dist/client/assets/{babel-CY5KOv-I.js → babel-Bi_28hhi.js} +1 -1
- package/dist/client/assets/band-D-Cum8PO.js +1 -0
- package/dist/client/assets/bg-BG-EXASCMTR-BIt0xWyb.js +5 -0
- package/dist/client/assets/blockDiagram-BEXU5L5S-BgTM0var.js +140 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-B2YonsoG.js +129 -0
- package/dist/client/assets/bn-BD-U4SYNFCO-CdNaPy4Q.js +3 -0
- package/dist/client/assets/bn-IN-HKDJIITE-CdNaPy4Q.js +3 -0
- package/dist/client/assets/{browser-BKLM0ThC-IxjwuOIz-BBqQnUEb.js → browser-BKLM0ThC-IxjwuOIz-C0mP17s1.js} +1 -1
- package/dist/client/assets/{browser-utils-DbXSMI-6.js → browser-utils-vlHL9goC.js} +1 -1
- package/dist/client/assets/{c4Diagram-7LVT6UL2-yD2poxqw.js → c4Diagram-7LVT6UL2-r4IwomZm.js} +2 -2
- package/dist/client/assets/c4Diagram-YGBWAQC7-_xZPrNkB.js +38 -0
- package/dist/client/assets/ca-ES-2KGUU5XB-C9t-c0cH.js +8 -0
- package/dist/client/assets/channel-CgcHBnmr.js +1 -0
- package/dist/client/assets/chunk-2E4U76K2-CIQUuV9n.js +1 -0
- package/dist/client/assets/chunk-2Q5K7J3B-BMFG3ur0.js +1 -0
- package/dist/client/assets/{chunk-2ZTRR5NV-C2qZJila.js → chunk-2ZTRR5NV-CnDP55cn.js} +1 -1
- package/dist/client/assets/chunk-2ZTRR5NV-DcPRfelM.js +2 -0
- package/dist/client/assets/chunk-3FUC2YCW-8tZlhTGX.js +1 -0
- package/dist/client/assets/{chunk-3Z5EZCMW-DMniOlPd.js → chunk-3Z5EZCMW-BAnA6eQ7.js} +1 -1
- package/dist/client/assets/chunk-3Z5EZCMW-Yx4Q5AcN.js +1 -0
- package/dist/client/assets/chunk-4HAMMTFA-q0ldNVvr.js +62 -0
- package/dist/client/assets/chunk-4SOEAONT-C3fufoVl.js +40 -0
- package/dist/client/assets/chunk-5DYCD2WN-BKWCKnK-.js +1 -0
- package/dist/client/assets/{chunk-5V3GS4D5-i-ZDOEnP.js → chunk-5V3GS4D5-B5uC2oxu.js} +1 -1
- package/dist/client/assets/chunk-5V3GS4D5-BR7kgIgJ.js +1 -0
- package/dist/client/assets/chunk-5VM5RSS4-hE9rU_bl.js +15 -0
- package/dist/client/assets/chunk-6AEJRKK7-DTVZj5bY.js +1 -0
- package/dist/client/assets/{chunk-6AZGARVD-BB6FqMl-.js → chunk-6AZGARVD--pTGpDnx.js} +1 -1
- package/dist/client/assets/chunk-6AZGARVD-CnZDr4Cj.js +1 -0
- package/dist/client/assets/{chunk-6EIED4P4-DdUJkP0f.js → chunk-6EIED4P4-Bp8dpTvX.js} +1 -1
- package/dist/client/assets/chunk-6EIED4P4-DBVWq7Tz.js +1 -0
- package/dist/client/assets/{chunk-6K3QC6MW-CqVsVn-y.js → chunk-6K3QC6MW-DGVRzL6v.js} +1 -1
- package/dist/client/assets/chunk-6K3QC6MW-JnuvEGV4.js +1 -0
- package/dist/client/assets/{chunk-6TQVIW2G-DKlLbNIP.js → chunk-6TQVIW2G-BSj0l_pu.js} +1 -1
- package/dist/client/assets/chunk-6TQVIW2G-DgBX-Pv0.js +1 -0
- package/dist/client/assets/chunk-742MDFTN-D1nh6vNv.js +1 -0
- package/dist/client/assets/{chunk-747NJXEK-BFkZPlab.js → chunk-747NJXEK-BjqqAsS9.js} +1 -1
- package/dist/client/assets/chunk-747NJXEK-Cur1aosP.js +2 -0
- package/dist/client/assets/chunk-75Z2AOVW-DitkSoSG.js +2 -0
- package/dist/client/assets/chunk-7INBJB4K-CDmiHbaX.js +62 -0
- package/dist/client/assets/chunk-7M6MHVWA-BDakkknV.js +213 -0
- package/dist/client/assets/chunk-7PRAP22T-9uTvtc_-.js +1 -0
- package/dist/client/assets/{chunk-CLGD4ZFX-BMeArk03.js → chunk-CLGD4ZFX-BfYJtJm1.js} +1 -1
- package/dist/client/assets/chunk-DU6HZSFF-CWlP1Dk_.js +125 -0
- package/dist/client/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
- package/dist/client/assets/chunk-DYU5D34O-DN0WQZBm.js +1 -0
- package/dist/client/assets/{chunk-F27PBJKO-D4xNct1r.js → chunk-F27PBJKO-DPcsPcEs.js} +1 -1
- package/dist/client/assets/{chunk-FOHPRMQF-DHwB1DNv.js → chunk-FOHPRMQF-Dmmo5Kak.js} +9 -9
- package/dist/client/assets/chunk-FOHPRMQF-DzxwRta7.js +161 -0
- package/dist/client/assets/chunk-GMAD6QVW-Bgk8qnty.js +8 -0
- package/dist/client/assets/chunk-GNY47TPC-CTrH5O5R.js +1 -0
- package/dist/client/assets/{chunk-SVP7TREG-DB485R5x.js → chunk-GTNCS2PH-ChgkzEIi.js} +1 -1
- package/dist/client/assets/chunk-GVQU2GXP-CQ8cl-Uu.js +1 -0
- package/dist/client/assets/chunk-GWA4HPMP-CGmv2yIq.js +1 -0
- package/dist/client/assets/{chunk-I5DQTOEV-Hm2LfiYI.js → chunk-I5DQTOEV-B98XA8VK.js} +1 -1
- package/dist/client/assets/chunk-I5DQTOEV-aBZooNp1.js +1 -0
- package/dist/client/assets/{chunk-ICYGCRZG-749o-pGJ.js → chunk-ICYGCRZG-D97UeqJs.js} +1 -1
- package/dist/client/assets/chunk-ICYGCRZG-odvlDZyA.js +1 -0
- package/dist/client/assets/{chunk-IH6LHLGP-CC6I9F3i.js → chunk-IH6LHLGP-BNevEHZK.js} +1 -1
- package/dist/client/assets/chunk-IH6LHLGP-CvXe34hB.js +1 -0
- package/dist/client/assets/{chunk-IMKFNOWR-D8jEuU3Q.js → chunk-IMKFNOWR-CBqxfpcP.js} +2 -2
- package/dist/client/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
- package/dist/client/assets/chunk-JWPE2WC7-GDilnS5Y.js +1 -0
- package/dist/client/assets/{chunk-KI3K4JFJ-Rma-0k_M.js → chunk-KI3K4JFJ-D5XCPRZv.js} +1 -1
- package/dist/client/assets/chunk-KI3K4JFJ-FTtDwx3-.js +1 -0
- package/dist/client/assets/chunk-L3NEJ4N5-BflzkdTI.js +1 -0
- package/dist/client/assets/{chunk-LNGE3PJU-DWpGwHrW.js → chunk-LNGE3PJU-5-SxdO55.js} +1 -1
- package/dist/client/assets/chunk-LNGE3PJU-5nWSl6jJ.js +34 -0
- package/dist/client/assets/chunk-MBY4JIJT-DTJ4UcAm.js +8 -0
- package/dist/client/assets/chunk-NETBCI7D-CmUwDWUZ.js +1 -0
- package/dist/client/assets/chunk-O7XYJQB3-D0_ZY2za.js +126 -0
- package/dist/client/assets/chunk-OSK3NFVY-DqeKV_pg.js +10 -0
- package/dist/client/assets/{chunk-OUJLGHUK-D0j2JRSg.js → chunk-OUJLGHUK-75UXlPjl.js} +1 -1
- package/dist/client/assets/chunk-OUJLGHUK-DA95-S9B.js +2 -0
- package/dist/client/assets/{chunk-P2QGCYS3-Oag_FdCq.js → chunk-P2QGCYS3-BA--DhpW.js} +1 -1
- package/dist/client/assets/chunk-POPQ4Y6H-V_NEc45n.js +1 -0
- package/dist/client/assets/chunk-PWAF6VOD-D_kLse-N.js +1 -0
- package/dist/client/assets/{chunk-FLYJHZSQ-Be7lKF17.js → chunk-RUX4WMZV-BGnd3s_C.js} +4 -4
- package/dist/client/assets/{chunk-SHT3W25Y-BiQGljao.js → chunk-SHT3W25Y-YM3S-A_M.js} +5 -5
- package/dist/client/assets/chunk-SVP7TREG-DdNhDOmW.js +88 -0
- package/dist/client/assets/{chunk-TICWLB2K-8rAVvoS3.js → chunk-TICWLB2K-BGGgCr4x.js} +3 -3
- package/dist/client/assets/chunk-TLUHSLCS-DCZhIDYA.js +1 -0
- package/dist/client/assets/chunk-UA2S7LBM-DicYDjDM.js +1 -0
- package/dist/client/assets/{chunk-UY3FDG6J-CnmaAkG5.js → chunk-UY3FDG6J-DqSM_0FB.js} +1 -1
- package/dist/client/assets/chunk-UY3FDG6J-QT-rkt0y.js +1 -0
- package/dist/client/assets/chunk-WEXAMYUT-DDlVNp8J.js +1 -0
- package/dist/client/assets/chunk-X3CZISLH-BixgQztF.js +1 -0
- package/dist/client/assets/chunk-X3CZISLH-DwWpRaN8.js +1 -0
- package/dist/client/assets/{chunk-XHIXRSVI-BFQ6B8BE.js → chunk-XHIXRSVI-BSN7JlfK.js} +1 -1
- package/dist/client/assets/chunk-XHIXRSVI-DN_fEwws.js +1 -0
- package/dist/client/assets/chunk-XXDRQBXY-C7hQHDmQ.js +1 -0
- package/dist/client/assets/{chunk-XXDRQBXY-BvKO0v-W.js → chunk-XXDRQBXY-CdRN9Akd.js} +1 -1
- package/dist/client/assets/chunk-Y2CYZVJY-BbRBGnmc.js +1 -0
- package/dist/client/assets/chunk-Z7XXMR3K-P4Vaq8hD.js +10 -0
- package/dist/client/assets/chunk-ZIGJFQKS-b8OUHKK5.js +2 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-QLbh_Nkf.js +1 -0
- package/dist/client/assets/classDiagram-v2-NBCMYWYE-3TQORq33.js +217 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-QLbh_Nkf.js +1 -0
- package/dist/client/assets/clone-C1hp9FUh.js +1 -0
- package/dist/client/assets/comment-markdown-renderer-Bxi_JRSR.js +1 -0
- package/dist/client/assets/comment-thread-store-CHvy8GF8.js +1 -0
- package/dist/client/assets/comment-threads-nJhK1yfc.js +4 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-Czr0rwGr.js +1 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-DLmEf9HS.js +1 -0
- package/dist/client/assets/cs-CZ-VUCGPRML-BfCoYAgj.js +7 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CF3N9j1_.js +1 -0
- package/dist/client/assets/cynefin-OW5HDTMX-e-Quc9Yl.js +1 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DTnLZaO7.js +62 -0
- package/dist/client/assets/cynefinDiagram-VND7K2PF-DwfMZ3vk.js +62 -0
- package/dist/client/assets/cytoscape-cose-bilkent-NdTYBUiT.js +1 -0
- package/dist/client/assets/cytoscape-fcose-DE9_QRG_.js +1 -0
- package/dist/client/assets/cytoscape.esm-EK2DW5Qr.js +321 -0
- package/dist/client/assets/da-DK-NNDP2IVP-DBw9ZNTR.js +2 -0
- package/dist/client/assets/dagre-6A5THRUB-DewyAGK6.js +4 -0
- package/dist/client/assets/dagre-D7FiCLLP.js +1 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-Cr67wLpQ.js → dagre-GXQ25YYZ-Vtyx08Qh.js} +2 -2
- package/dist/client/assets/de-CH-I7RAVIZN-DYW18Vsr.js +11 -0
- package/dist/client/assets/de-DE-WBQ3DQLR-DYW18Vsr.js +11 -0
- package/dist/client/assets/deferred-collab-D4cxEdad.css +1 -0
- package/dist/client/assets/deferred-git-BHKtkFYi.css +1 -0
- package/dist/client/assets/deferred-preview-BAXYgf4T.css +1 -0
- package/dist/client/assets/diagram-22UHCM2B-DbZirFfl.js +200 -0
- package/dist/client/assets/diagram-3UASUU5V-DmhdYv6_.js +24 -0
- package/dist/client/assets/diagram-ATOU4E4O-B5uX-jVO.js +3 -0
- package/dist/client/assets/diagram-CDSNMT55-D_qyS11R.js +30 -0
- package/dist/client/assets/diagram-MLGK6HIB-DIBG6Ivu.js +24 -0
- package/dist/client/assets/diagram-MPIPVDR6-D9XsALDV.js +41 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-DywERe__.js → diagram-S7CK7UJ4-CGTzfo2f.js} +3 -3
- package/dist/client/assets/diagram-UQ7AKVKN-CWZS8QtB.js +41 -0
- package/dist/client/assets/{diagram-VSXAHHWV-0H1a61Bn.js → diagram-VSXAHHWV-DaO1nOZF.js} +3 -3
- package/dist/client/assets/diagram-VX7I27RA-B54P6Cyf.js +24 -0
- package/dist/client/assets/diagram-Z3DM3KII-Cl2EXiXp.js +24 -0
- package/dist/client/assets/direct-engine-DdrQKpgq-4QysbH_V.js +5 -0
- package/dist/client/assets/dist-B7fBbwrO.js +1 -0
- package/dist/client/assets/{dist-DGEbEfw4.js → dist-BVCNc-Es.js} +1 -1
- package/dist/client/assets/dist-BYBF4LtZ.js +1 -0
- package/dist/client/assets/{dist-TW8iFRyW.js → dist-B_1hMrc6.js} +1 -1
- package/dist/client/assets/{dist-DVy5woUy.js → dist-BfpAc922.js} +1 -1
- package/dist/client/assets/dist-BnVaoRgZ.js +1 -0
- package/dist/client/assets/dist-Bog8M5U3.js +13 -0
- package/dist/client/assets/{dist-jVU5Be5P.js → dist-CAG5sIOj.js} +1 -1
- package/dist/client/assets/{dist-LQ4kDCKz.js → dist-CKf7LlAo.js} +1 -1
- package/dist/client/assets/{dist-BeajGMhO.js → dist-CUsXdnU4.js} +1 -1
- package/dist/client/assets/{dist-Tw-Fxpeb.js → dist-CXOUa90Q.js} +1 -1
- package/dist/client/assets/dist-CYMCikZo.js +1 -0
- package/dist/client/assets/dist-CYfPeupF.js +1 -0
- package/dist/client/assets/dist-Ch6Sr9KF.js +28 -0
- package/dist/client/assets/dist-Ck-B8onw.js +2 -0
- package/dist/client/assets/dist-CrkYYcOU.js +1 -0
- package/dist/client/assets/{dist-D5wCC32z.js → dist-CsQTfQFi.js} +1 -1
- package/dist/client/assets/dist-Cu5Ze2cs.js +6 -0
- package/dist/client/assets/{dist-C5NgpdG5.js → dist-CvVoyTRF.js} +1 -1
- package/dist/client/assets/{dist-GvvCNBe4.js → dist-D4kDR0g8.js} +1 -1
- package/dist/client/assets/dist-D8LnhZzy.js +1 -0
- package/dist/client/assets/{dist-D3fehAZ2.js → dist-DGa-2MNX.js} +2 -2
- package/dist/client/assets/dist-DI6c02Da.js +39 -0
- package/dist/client/assets/{dist-BPHLJ09L.js → dist-DNONgI1P.js} +2 -2
- package/dist/client/assets/{dist-C0G3AaXG.js → dist-DVBYH83t.js} +1 -1
- package/dist/client/assets/dist-DX6qtdxv.js +1 -0
- package/dist/client/assets/{dist-DzNmC81X.js → dist-Da-jLrCf.js} +1 -1
- package/dist/client/assets/dist-DofvCYzJ.js +1 -0
- package/dist/client/assets/{dist-CdmKGRGr.js → dist-Dx37MHWs.js} +1 -1
- package/dist/client/assets/dist-GTGhtpyW.js +9 -0
- package/dist/client/assets/{dist-BK9QvQrc.js → dist-W0FoeIxk.js} +9 -9
- package/dist/client/assets/{dist-mj2Ht75J.js → dist-Y6zYRI-A.js} +1 -1
- package/dist/client/assets/{dist-netZOQtD.js → dist-jVKfryIL.js} +1 -1
- package/dist/client/assets/{dist-DuH3ZrHo.js → dist-zHDLm1oE.js} +1 -1
- package/dist/client/assets/document-formatter-gO8qM2qY.js +1 -0
- package/dist/client/assets/drawioEditor-DCkWweiy.js +9 -0
- package/dist/client/assets/duration-BiuFXtXd.js +1 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-PfC84FyI.js +1 -0
- package/dist/client/assets/ebnfDiagram-ZINNZB2B-DYvm_QtE.js +1 -0
- package/dist/client/assets/editor-session-DxRyr4EM.js +14 -0
- package/dist/client/assets/el-GR-TYQHVGXW-Dx82YYAS.js +7 -0
- package/dist/client/assets/elk-276RUBZZ-B8LB3Pac.js +27 -0
- package/dist/client/assets/embedded-editor-base-elU0Avik.css +1 -0
- package/dist/client/assets/{embedpdf-DA4bA119-BPqZxwjc.js → embedpdf-DA4bA119-DsoNiPlQ.js} +4 -5
- package/dist/client/assets/{embedpdf-BmE13ZZ0.js → embedpdf-DyOonRvx.js} +1 -1
- package/dist/client/assets/{en-SJ2YIMFF-CJBL3nkq.js → en-GNC3RJIS-CEy_oGTd.js} +1 -1
- package/dist/client/assets/erDiagram-OPXOYQCR-o8GRv8A_.js +99 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-CbrDdd5P.js → erDiagram-RLTQ6QDP-C9cJl5NB.js} +2 -2
- package/dist/client/assets/es-ES-JEUOREKJ-Rx0NUQDl.js +12 -0
- package/dist/client/assets/esm-BzZ1JFVo.js +65 -0
- package/dist/client/assets/{estree-CuT_pB8K.js → estree-DCT3Jm65.js} +4 -4
- package/dist/client/assets/eu-ES-SO5DEEAN-CDYm-BcK.js +8 -0
- package/dist/client/assets/eventmodeling-NTZA5JFV-CDy1bN6j.js +1 -0
- package/dist/client/assets/eventmodeling-NTZA5JFV-Dxtv5D-P.js +1 -0
- package/dist/client/assets/excalidraw-element-link-CGZ5934B.js +7 -0
- package/dist/client/assets/{excalidrawEditor-BbSbI80a.css → excalidrawEditor-BCTFp_CV.css} +1 -1
- package/dist/client/assets/excalidrawEditor-BVfSxjSO.js +9 -0
- package/dist/client/assets/export-page-BCo_e15t.js +46 -0
- package/dist/client/assets/exportDocument-Ba-n1X4U.css +1 -0
- package/dist/client/assets/exportDocument-DP6oE_or.js +2 -0
- package/dist/client/assets/fa-IR-I4JNTJHK-CFtHZqoT.js +9 -0
- package/dist/client/assets/fi-FI-REAEF6HQ-BIpjJqIb.js +6 -0
- package/dist/client/assets/file-search-3hYF4cYa.js +1 -0
- package/dist/client/assets/flowDiagram-HODETNUW-Bq4470NR.js +1 -0
- package/dist/client/assets/flowDiagram-KWPJA3E3-DQG9qGiU.js +1 -0
- package/dist/client/assets/forth-D6RzAl64.js +1 -0
- package/dist/client/assets/fr-FR-SUCL7J6B-DGAKE8jH.js +12 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-x40PW0Ah.js +292 -0
- package/dist/client/assets/ganttDiagram-FUAMR5RP-BQpsI7gQ.js +292 -0
- package/dist/client/assets/gitGraph-4MIJSDKK-B-rpDYbz.js +1 -0
- package/dist/client/assets/gitGraph-4MIJSDKK-ZaBIE4Lb.js +1 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-ahsNaZsp.js +106 -0
- package/dist/client/assets/gitGraphDiagram-X574FWY7-wbs_2m9f.js +106 -0
- package/dist/client/assets/gl-ES-KHCSOGVH-DWKh0CMu.js +6 -0
- package/dist/client/assets/graphlib-C9Tl7QrK.js +1 -0
- package/dist/client/assets/he-IL-JYXVXV2Q-zqbcM-4g.js +9 -0
- package/dist/client/assets/hi-IN-BU52H3BO-CY8v6eG9.js +3 -0
- package/dist/client/assets/highlight-theme-CzNkO-IJ.js +1 -0
- package/dist/client/assets/{html-Cdnr2qzU.js → html-CBXMuS97.js} +2 -2
- package/dist/client/assets/html-DTuc_pxj.js +1 -0
- package/dist/client/assets/hu-HU-OWADXDQ3-CEl6Udfh.js +3 -0
- package/dist/client/assets/id-ID-2WY7E4VX-CCAeQpPr.js +8 -0
- package/dist/client/assets/image-EJJKRVD3-BQfi5nWJ.js +1 -0
- package/dist/client/assets/{image-blob-reduce.esm-Dj7YBvMv.js → image-blob-reduce.esm-BFq-Mx5V.js} +2 -2
- package/dist/client/assets/index-BxAuGDoN.css +1 -0
- package/dist/client/assets/index-uw9O0z1c.js +1112 -0
- package/dist/client/assets/info-A6RAGUB7-BcGxhjED.js +1 -0
- package/dist/client/assets/info-A6RAGUB7-BlutK7BT.js +1 -0
- package/dist/client/assets/infoDiagram-27XIBGKW-MrZyptIy.js +2 -0
- package/dist/client/assets/infoDiagram-VRGFBTTK-KkUjDRAQ.js +2 -0
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-BMPC6hfp.js → ishikawaDiagram-5VMMS53U-Bnt9yM0O.js} +2 -2
- package/dist/client/assets/ishikawaDiagram-OU5B5YK6-Di9BcpOY.js +70 -0
- package/dist/client/assets/it-IT-INVHSAJF-DytAgndh.js +12 -0
- package/dist/client/assets/ja-JP-JBNTKYP4-BflWlGhw.js +12 -0
- package/dist/client/assets/javascript-B9I2pbsP.js +1 -0
- package/dist/client/assets/javascript-DctB8BJo.js +1 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-B1sApUmM.js → journeyDiagram-3NMN7TZE-Bl0abK1r.js} +1 -1
- package/dist/client/assets/journeyDiagram-ZHPQQLJL-J-sGrs9e.js +139 -0
- package/dist/client/assets/jsx-runtime-DKj5X9O4.js +1 -0
- package/dist/client/assets/kaa-TC3VIB7V-B-xtZfy0.js +1 -0
- package/dist/client/assets/kab-KAB-UOUDSQKM-BmO0O4Y4.js +4 -0
- package/dist/client/assets/kanban-definition-PNTS6WVX-5ZDV_yIa.js +89 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-C9yP4td1.js → kanban-definition-UXKFOSKX-DMgUfNt0.js} +10 -10
- package/dist/client/assets/{katex-CXMH3UgJ.js → katex-9NBMfU68.js} +2 -2
- package/dist/client/assets/katex-ZlcWpGUi.js +257 -0
- package/dist/client/assets/kk-KZ-P5H2X7YS-CSQFB8IN.js +1 -0
- package/dist/client/assets/{km-KH-PCWDKPHP-DSmy5shj.js → km-KH-IHMV2US7-BxrjuEzr.js} +4 -4
- package/dist/client/assets/ko-KR-ZTMANIDF-BnNRXd5J.js +5 -0
- package/dist/client/assets/ku-TR-GPJTRB5G-BZM7f2aT.js +6 -0
- package/dist/client/assets/line-DEbP8Ok6.js +1 -0
- package/dist/client/assets/linear-DExL6ILt.js +1 -0
- package/dist/client/assets/lobby-presence-Cz5jGOPg.js +1 -0
- package/dist/client/assets/lt-LT-V3XDOK3P-MVQBOHmF.js +3 -0
- package/dist/client/assets/{lua-CL1SqxuB.js → lua-zbJo2mq3.js} +1 -1
- package/dist/client/assets/lv-LV-DVQ3FADO-CrenwAhS.js +4 -0
- package/dist/client/assets/{markdown-CByV-4CU.js → markdown-Bo71X2X2.js} +8 -8
- package/dist/client/assets/markdown-it-DpvIRaVq.js +13 -0
- package/dist/client/assets/markdown-math-CyyBVuDO.js +517 -0
- package/dist/client/assets/merge-CALoRt3l.js +1 -0
- package/dist/client/assets/mermaid-parser.core-Bpogunsh.js +3 -0
- package/dist/client/assets/mermaid-parser.core-DBy--Jc0.js +3 -0
- package/dist/client/assets/mermaid.core-BeOUPE3Q.js +10 -0
- package/dist/client/assets/mindmap-definition-NLK3R4M7-ByVb-0vj.js +96 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-BUQHcYbK.js → mindmap-definition-YA3MSWOX-DBZN5_GH.js} +29 -29
- package/dist/client/assets/mr-IN-VZ6HH5FE-B-PHPglH.js +9 -0
- package/dist/client/assets/my-MM-XYKWHRK6-Be5sYp5q.js +1 -0
- package/dist/client/assets/nb-NO-UNO2GGZJ-BvSKGdja.js +8 -0
- package/dist/client/assets/{nginx-BMaDbqW3.js → nginx-8H7HVH4w.js} +1 -1
- package/dist/client/assets/nl-NL-76EFHT4P-C2yNx1Cj.js +13 -0
- package/dist/client/assets/nn-NO-CFKD7ABE-4NsqlDRP.js +4 -0
- package/dist/client/assets/oc-FR-YBJTCJ3J-B4OTQsWW.js +4 -0
- package/dist/client/assets/pa-IN-SNOXSMRV-CKj_sOG7.js +4 -0
- package/dist/client/assets/packet-AYTQ26CC-CqpSjTWl.js +1 -0
- package/dist/client/assets/packet-AYTQ26CC-DvbY8dI6.js +1 -0
- package/dist/client/assets/pegDiagram-GJSIUBJH-aost1sSO.js +1 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-DRo8CZu3.js +1 -0
- package/dist/client/assets/percentages-LWOC67ZH-VhvllE7L.js +1 -0
- package/dist/client/assets/{pica-xkWDouSg.js → pica-BPrp-GK1.js} +1 -1
- package/dist/client/assets/pie-DzWLGKAD.js +1 -0
- package/dist/client/assets/pie-WAS4IAKB-Bg2eCNl5.js +1 -0
- package/dist/client/assets/pie-WAS4IAKB-DWSm9SSD.js +1 -0
- package/dist/client/assets/pieDiagram-5QR66LMP-BICdpEuz.js +39 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-CZThaHsc.js +39 -0
- package/dist/client/assets/pl-PL-BSY6YFZ3-CFuzA6L0.js +12 -0
- package/dist/client/assets/preload-helper-BAlEavIC.js +1 -0
- package/dist/client/assets/preview-render-compiler-ktU0SXxY.js +43 -0
- package/dist/client/assets/preview-render-profile-D652PAjA.js +1 -0
- package/dist/client/assets/preview-render-worker-BI2bFVqM.js +575 -0
- package/dist/client/assets/prod-DU-0VfI7.js +145 -0
- package/dist/client/assets/prod-cXUNdmYV.js +1 -0
- package/dist/client/assets/pt-BR-CZDV62R3-CkPMtyNx.js +10 -0
- package/dist/client/assets/pt-PT-JO57XJJW-CBSnfGtF.js +12 -0
- package/dist/client/assets/{pug-Wky5Dnfy.js → pug-CqqUmdG7.js} +1 -1
- package/dist/client/assets/purify.es-go7v6Te-.js +3 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DwexhEhd.js → quadrantDiagram-AXDQQJYC-C5iowkl_.js} +3 -3
- package/dist/client/assets/quadrantDiagram-O4NWA36T-Bgx5bF97.js +7 -0
- package/dist/client/assets/quick-switcher-De4PjZFC.css +1 -0
- package/dist/client/assets/quick-switcher-controller-DSlOwOsU.js +1 -0
- package/dist/client/assets/radar-RG4KPBEZ-BfNQUEQy.js +1 -0
- package/dist/client/assets/radar-RG4KPBEZ-DxExotg6.js +1 -0
- package/dist/client/assets/railroad-74A4TZTK-BaQ6U6eJ.js +1 -0
- package/dist/client/assets/railroad-74A4TZTK-FfHmeIQk.js +1 -0
- package/dist/client/assets/railroad-abnf-HS5TGJTU-BJ3KZw7J.js +1 -0
- package/dist/client/assets/railroad-abnf-HS5TGJTU-CLkdDRsJ.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-B162zvcG.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-DA0sEq7w.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-CGs5GeJ5.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-DCmlICzO.js +1 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-BTt_rKjT.js +1 -0
- package/dist/client/assets/railroadDiagram-XR7U4H2S-DbVoNgSz.js +1 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-C4cKwiIw.js → requirementDiagram-BXWQKSXE-BkvazG7r.js} +1 -1
- package/dist/client/assets/requirementDiagram-PLB6GJNP-BT0j9C40.js +84 -0
- package/dist/client/assets/ro-RO-UZ5ICYYN-BOuntc_r.js +12 -0
- package/dist/client/assets/room-DX7lIfnu.js +1 -0
- package/dist/client/assets/ru-RU-AN7JPREC-D-ow3SNR.js +10 -0
- package/dist/client/assets/runtime-config-BFVdhnJu.js +1 -0
- package/dist/client/assets/runtime-paths-Cn0snt_9.js +1 -0
- package/dist/client/assets/sankeyDiagram-IPEJSGJF-X1BCUIrf.js +40 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-C_IemB9h.js +40 -0
- package/dist/client/assets/sankeyLinkHorizontal-usjP1-Cg.js +1 -0
- package/dist/client/assets/sequenceDiagram-PO4LG4MO-B-2QfXhV.js +169 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BX6jqJFD.js → sequenceDiagram-WJ2MYXX4-CxFBgLGd.js} +3 -3
- package/dist/client/assets/si-LK-7CBLD6QQ-c91EepX0.js +1 -0
- package/dist/client/assets/{sieve-BAxa3IjF.js → sieve-tLWDfEkZ.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-DrzwYt5z.js +1 -0
- package/dist/client/assets/sk-SK-SWR6DKBI-D5vFMIL6.js +7 -0
- package/dist/client/assets/sl-SI-QY5KCFGA-RZhwMpQL.js +8 -0
- package/dist/client/assets/solr-B78wSQJQ.js +1 -0
- package/dist/client/assets/src-XiVvaevx.js +1 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-BaSQ6Owj.js +1 -0
- package/dist/client/assets/stateDiagram-v2-GCMORJYK-CsVcfwVp.js +291 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CLlwrdvU.js +1 -0
- package/dist/client/assets/sv-SE-O3OFCY3J-DnS86_7q.js +12 -0
- package/dist/client/assets/swimlanes-2SLR337P-CnYTVqRX.js +1 -0
- package/dist/client/assets/swimlanes-42K2YHIH-CALFEmiS.js +1 -0
- package/dist/client/assets/swimlanesDiagram-TC7HE7FX-Bh4tmz27.js +8 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-xhehUG9e.js +8 -0
- package/dist/client/assets/ta-IN-V6NHHU6Z-D5jy7_AE.js +6 -0
- package/dist/client/assets/th-TH-WLSZUSBX-DHehoYR2.js +1 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-BA-lVH6P.js → timeline-definition-24CTP7MA-zse-5Dbm.js} +5 -5
- package/dist/client/assets/timeline-definition-EJHVYXUP-BhqPlKkN.js +120 -0
- package/dist/client/assets/tr-TR-GUFYG22B-ClVaf8h1.js +4 -0
- package/dist/client/assets/treeView-Q6P3EWNA-BvHOzbu9.js +1 -0
- package/dist/client/assets/treeView-Q6P3EWNA-Cccy0ngL.js +1 -0
- package/dist/client/assets/treemap-CxZTjHiH.js +1 -0
- package/dist/client/assets/treemap-WGGIJYW6-oety7paS.js +1 -0
- package/dist/client/assets/treemap-WGGIJYW6-sMRCjCtX.js +1 -0
- package/dist/client/assets/uk-UA-K6SV5NFQ-BLTTtyNB.js +6 -0
- package/dist/client/assets/usecaseDiagram-POWQR4AR-DR2LHQYs.js +328 -0
- package/dist/client/assets/uz-UZ-TVKTZO2G-Bm02Eg3D.js +1 -0
- package/dist/client/assets/v4-DDdyfk2q.js +1 -0
- package/dist/client/assets/vault-api-client-BQxLVPeF.js +7 -0
- package/dist/client/assets/vault-paths-BT-6nztu.js +1 -0
- package/dist/client/assets/vault-utils-Bct69Xw2.js +1 -0
- package/dist/client/assets/venn.esm-C5rDfA9t.js +7 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DgHr6cJD.js +28 -0
- package/dist/client/assets/vennDiagram-UO4OBE2U-BRwLn2Q1.js +28 -0
- package/dist/client/assets/{verilog-7LoJAqYT.js → verilog-CjI9Y6RI.js} +1 -1
- package/dist/client/assets/vi-VN-7FKFXJNO-CL3WPhmG.js +7 -0
- package/dist/client/assets/wardley-WFR3VGLG-BdwDpX_I.js +1 -0
- package/dist/client/assets/wardley-WFR3VGLG-Y7xty_3m.js +1 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-C2oY-YbF.js → wardleyDiagram-VM6X3IG4-9A60XZis.js} +3 -3
- package/dist/client/assets/wardleyDiagram-VNRHLVJA-B_tMcVFG.js +78 -0
- package/dist/client/assets/wiki-link-resolver-Dch88erO.js +1 -0
- package/dist/client/assets/{worker-engine-m0rlHn8R-S8mpn_O0.js → worker-engine-m0rlHn8R-5h66k403.js} +1 -1
- package/dist/client/assets/workspace-change-CVA9dVmy.js +1 -0
- package/dist/client/assets/workspace-sync-client-C2pdaQUN.js +1 -0
- package/dist/client/assets/xychartDiagram-PMCCYNJV-fRpZ1MA5.js +7 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-D00iy-wB.js +7 -0
- package/dist/client/assets/{yaml-9ltHPDNO.js → yaml-BcZaqAz8.js} +1 -1
- package/dist/client/assets/yjs-B41tM6Sz.js +4 -0
- package/dist/client/assets/yjs-provider-reset-guard-DpntzUDR.js +1 -0
- package/dist/client/assets/zh-CN-AOKVLNNK-DGidDH2b.js +11 -0
- package/dist/client/assets/zh-HK-CDKPF5DC-CRcNR3rk.js +1 -0
- package/dist/client/assets/zh-TW-ZVGYESGW-C7Qji1y6.js +13 -0
- package/dist/client/drawio-editor.html +9 -9
- package/dist/client/excalidraw-editor.html +43 -38
- package/dist/client/export-document.html +6 -7
- package/dist/client/index.html +49 -38
- package/package.json +23 -26
- package/src/client/app/drawio-editor.html +2 -1
- package/src/client/app/excalidraw-editor.html +2 -1
- package/src/client/app/export-document-entry.js +1 -0
- package/src/client/app/export-document.html +2 -1
- package/src/client/app/index.html +47 -16
- package/src/client/app/main-entry.js +1 -19
- package/src/client/application/app-shell/comments-feature.js +6 -0
- package/src/client/application/app-shell/ui-feature-shell.js +156 -59
- package/src/client/application/app-shell/ui-feature-tab-activity.js +8 -3
- package/src/client/application/app-shell-elements.js +7 -0
- package/src/client/application/diagram-preview-hydrator.js +7 -0
- package/src/client/application/highlight-theme.js +16 -0
- package/src/client/application/mermaid-preview-hydrator.js +89 -3
- package/src/client/application/preview-diagram-utils.js +1 -0
- package/src/client/application/preview-render-compiler.js +45 -20
- package/src/client/application/preview-render-executor.js +4 -27
- package/src/client/application/preview-render-profile.js +8 -12
- package/src/client/application/preview-renderer.js +27 -7
- package/src/client/application/workspace-coordinator.js +20 -21
- package/src/client/bootstrap/collabmd-app-shell.js +87 -42
- package/src/client/bootstrap/lazy-collab-clients.js +90 -0
- package/src/client/browser-utils.js +1 -1
- package/src/client/domain/excalidraw-scene-reconcile.js +5 -2
- package/src/client/domain/excalidraw-scene.js +0 -11
- package/src/client/domain/file-search.js +1 -0
- package/src/client/domain/hash-routes.js +5 -0
- package/src/client/domain/highlight-runtime.js +74 -0
- package/src/client/domain/lobby-chat.js +2 -0
- package/src/client/domain/markdown-math.js +14 -0
- package/src/client/domain/runtime-paths.js +56 -7
- package/src/client/domain/vault-utils.js +11 -0
- package/src/client/excalidraw-editor.js +20 -4
- package/src/client/export/export-host.js +3 -7
- package/src/client/export/export-pipeline.js +208 -21
- package/src/client/infrastructure/auth-client.js +1 -2
- package/src/client/infrastructure/browser-preferences-port.js +24 -0
- package/src/client/infrastructure/editor-session.js +20 -0
- package/src/client/infrastructure/editor-view-adapter.js +51 -15
- package/src/client/infrastructure/excalidraw-room-client.js +11 -46
- package/src/client/infrastructure/git-api-client.js +5 -0
- package/src/client/infrastructure/hosted-api-client.js +60 -0
- package/src/client/infrastructure/lobby-presence.js +2 -2
- package/src/client/infrastructure/runtime-config.js +3 -1
- package/src/client/infrastructure/tab-activity-lock.js +8 -4
- package/src/client/infrastructure/webmcp-tool-registry.js +27 -6
- package/src/client/presentation/bases-preview-controller.js +2 -1
- package/src/client/presentation/comment-markdown-renderer.js +4 -14
- package/src/client/presentation/comment-overview-controller.js +1 -2
- package/src/client/presentation/comment-ui/comment-ui-shared.js +5 -2
- package/src/client/presentation/comment-ui-controller.js +21 -30
- package/src/client/presentation/create-menu-presenter.js +16 -18
- package/src/client/presentation/drawio-embed-controller.js +55 -7
- package/src/client/presentation/excalidraw-embed-controller.js +11 -3
- package/src/client/presentation/file-explorer-controller.js +4 -0
- package/src/client/presentation/file-explorer-view.js +304 -176
- package/src/client/presentation/file-history-view-controller.js +6 -0
- package/src/client/presentation/git-diff-view-controller.js +3 -2
- package/src/client/presentation/git-panel-controller.js +7 -6
- package/src/client/presentation/hosted-workspace-gate-controller.js +180 -0
- package/src/client/presentation/image-lightbox-controller.js +7 -6
- package/src/client/presentation/layout-controller.js +10 -1
- package/src/client/presentation/outline-controller.js +0 -86
- package/src/client/presentation/quick-switcher-controller.js +50 -13
- package/src/client/presentation/scroll-sync-controller.js +69 -21
- package/src/client/presentation/team-settings-controller.js +228 -0
- package/src/client/styles/components/navigation.css +2 -2
- package/src/client/styles/deferred-collab.css +6 -0
- package/src/client/styles/deferred-git.css +7 -0
- package/src/client/styles/deferred-preview.css +7 -0
- package/src/client/styles/features/diagram-preview.css +1 -15
- package/src/client/styles/features/outline.css +4 -2
- package/src/client/styles/features/preview-markdown.css +29 -15
- package/src/client/styles/features/team-settings.css +162 -0
- package/src/client/styles/foundation/themes.css +56 -271
- package/src/client/styles/foundation/tokens.css +2 -2
- package/src/client/styles/layout/editor-page.css +0 -14
- package/src/client/styles/layout/overlays.css +16 -0
- package/src/client/styles/layout/responsive.css +5 -5
- package/src/client/styles/layout/shell.css +26 -1
- package/src/client/styles/layout/sidebar.css +95 -3
- package/src/client/styles/style.css +3 -19
- package/src/client/styles/surfaces/landing-page.css +260 -0
- package/src/domain/agent-tool-definitions.js +182 -74
- package/src/domain/collabmd-content-capabilities.js +62 -7
- package/src/domain/collaboration-protocol.js +2 -0
- package/src/domain/excalidraw-agent-scene.js +108 -6
- package/src/domain/excalidraw-agent-verification.js +95 -1
- package/src/domain/excalidraw-room-codec.js +12 -1
- package/src/domain/literal-text-search.js +13 -0
- package/src/domain/markdown-outline.js +35 -0
- package/src/server/application/agent-connection-service.js +6 -2
- package/src/server/application/agent-content-service.js +250 -114
- package/src/server/auth/create-auth-service.js +40 -12
- package/src/server/auth/session-cookie.js +49 -38
- package/src/server/config/env.js +97 -6
- package/src/server/create-app-server.js +23 -153
- package/src/server/domain/backlink-index.js +1 -11
- package/src/server/domain/bases/base-query-results.js +7 -3
- package/src/server/domain/bases/base-query-service.js +2 -7
- package/src/server/domain/collaboration/collaboration-room.js +54 -16
- package/src/server/domain/docx-exporter.js +256 -2
- package/src/server/domain/hosted-workspace-contract.js +7 -0
- package/src/server/domain/hosted-workspace.js +39 -63
- package/src/server/domain/ripgrep-search-service.js +97 -34
- package/src/server/infrastructure/git/diff-service.js +15 -11
- package/src/server/infrastructure/git/git-service.js +4 -0
- package/src/server/infrastructure/git/image-mime.js +4 -3
- package/src/server/infrastructure/git/local-exclude.js +13 -1
- package/src/server/infrastructure/git/status-service.js +10 -6
- package/src/server/infrastructure/http/create-agent-api-handler.js +1 -1
- package/src/server/infrastructure/http/create-git-api-query-handler.js +25 -0
- package/src/server/infrastructure/http/create-hosted-api-handler.js +5 -0
- package/src/server/infrastructure/http/create-request-handler.js +95 -26
- package/src/server/infrastructure/http/create-static-handler.js +3 -0
- package/src/server/infrastructure/http/create-vault-api-query-handler.js +28 -55
- package/src/server/infrastructure/http/http-response.js +2 -0
- package/src/server/infrastructure/mcp/create-agent-mcp-handler.js +2 -1
- package/src/server/infrastructure/persistence/hosted-metadata-store.js +42 -5
- package/src/server/infrastructure/persistence/path-utils.js +23 -3
- package/src/server/infrastructure/persistence/pull-backup-store.js +52 -42
- package/src/server/infrastructure/persistence/sidecar-store.js +19 -9
- package/src/server/infrastructure/persistence/vault-file-store.js +57 -171
- package/src/server/infrastructure/plantuml/plantuml-renderer.js +33 -0
- package/src/server/infrastructure/structurizr/structurizr-workspace-service.js +24 -10
- package/src/server/infrastructure/websocket/attach-collaboration-gateway.js +55 -25
- package/src/server/infrastructure/websocket/client-socket-session.js +32 -4
- package/src/server/infrastructure/workspace/file-system-sync-service.js +4 -2
- package/src/server/shared/agent-tool-rate-limiter.js +7 -0
- package/src/server/startup/git-remote-bootstrap.js +56 -49
- package/src/server/vault-registry.js +251 -0
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-C-nmgL5g.js +0 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-CdVZqicp.js +0 -1
- package/dist/client/assets/ar-SA-PQUY64WN-xjXgbW6d.js +0 -10
- package/dist/client/assets/architecture-7GRP2DOG-BMOPAkUC.js +0 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-wUo0bXif.js +0 -36
- package/dist/client/assets/az-AZ-OXJXL76K-4JkO4Pca.js +0 -1
- package/dist/client/assets/base-CaIEJUF9.css +0 -1
- package/dist/client/assets/bg-BG-W2GKIJDF-DnkH_o81.js +0 -5
- package/dist/client/assets/blockDiagram-I7D4REHJ-BRSK3m49.js +0 -129
- package/dist/client/assets/bn-BD-TGL7M4PJ-CG4JkmtP.js +0 -3
- package/dist/client/assets/bn-IN-BKETKYEH-CG4JkmtP.js +0 -3
- package/dist/client/assets/ca-ES-LD5SCRVV-U6_TVMX9.js +0 -8
- package/dist/client/assets/channel-Fa4GS_-F.js +0 -1
- package/dist/client/assets/chunk-2E4U76K2-BPnTT-J3.js +0 -2
- package/dist/client/assets/chunk-4HAMMTFA-DStbIfJ1.js +0 -62
- package/dist/client/assets/chunk-75Z2AOVW-C5pGd3W9.js +0 -2
- package/dist/client/assets/chunk-7XWMRXBY-CfMzEq80.js +0 -1
- package/dist/client/assets/chunk-DU6HZSFF-Zkp69c6c.js +0 -127
- package/dist/client/assets/chunk-GMAD6QVW-NZ6WpDb8.js +0 -72
- package/dist/client/assets/chunk-GVQU2GXP-D8SDprfX.js +0 -1
- package/dist/client/assets/chunk-L3NEJ4N5-aijKP-eh.js +0 -1
- package/dist/client/assets/chunk-OSK3NFVY-CCbLQAMa.js +0 -10
- package/dist/client/assets/chunk-POPQ4Y6H-CYnpIgXT.js +0 -1
- package/dist/client/assets/chunk-PWAF6VOD-JSNrcBmP.js +0 -1
- package/dist/client/assets/chunk-RM4UPSZO-DOWllDY8.js +0 -41
- package/dist/client/assets/chunk-TLUHSLCS-DTY5v0aj.js +0 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-BsQWoR3Q.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-BsQWoR3Q.js +0 -1
- package/dist/client/assets/comment-thread-store-CX98zR6q.js +0 -1
- package/dist/client/assets/comment-threads-BnRwo5B9.js +0 -4
- package/dist/client/assets/cose-bilkent-JH36ORCC-Cm_QF_yb.js +0 -1
- package/dist/client/assets/cs-CZ-OFPU5DBV-BmFAIhqX.js +0 -7
- package/dist/client/assets/cynefin-OW5HDTMX-7tP7QfM3.js +0 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-rTz9RhFH.js +0 -62
- package/dist/client/assets/cytoscape.esm-B-NFISlW.js +0 -321
- package/dist/client/assets/da-DK-FRDJFYWF-H387Jw8B.js +0 -2
- package/dist/client/assets/dagre-PrKaheQc.js +0 -1
- package/dist/client/assets/de-CH-ZG7H3QK3-C_groygo.js +0 -11
- package/dist/client/assets/de-DE-SIJYH4IH-C_groygo.js +0 -11
- package/dist/client/assets/diagram-UQ7AKVKN-CNYlXtu4.js +0 -41
- package/dist/client/assets/diagram-VX7I27RA-CsJbsx5F.js +0 -24
- package/dist/client/assets/diagram-Z3DM3KII-D0mLxEgI.js +0 -24
- package/dist/client/assets/direct-engine-DdrQKpgq-CtKfQzCt.js +0 -5
- package/dist/client/assets/dist--hk9I5HQ.js +0 -1
- package/dist/client/assets/dist-B1XEa-Zs.js +0 -1
- package/dist/client/assets/dist-BJ1bJs33.js +0 -1
- package/dist/client/assets/dist-Bd1JucQF.js +0 -1
- package/dist/client/assets/dist-ByrG2qBA.js +0 -1
- package/dist/client/assets/dist-CKS_-are.js +0 -1
- package/dist/client/assets/dist-D37Hyu3h.js +0 -9
- package/dist/client/assets/dist-Dl_tpDSr.js +0 -1
- package/dist/client/assets/dist-Dm4w5UId.js +0 -1
- package/dist/client/assets/dist-DpYDHR9p.js +0 -6
- package/dist/client/assets/dist-JaU3aRlD.js +0 -19
- package/dist/client/assets/dist-RKBTaQMb.js +0 -13
- package/dist/client/assets/dist-eBx8q6Sy.js +0 -1
- package/dist/client/assets/document-formatter-rDDjRfZ2.js +0 -2
- package/dist/client/assets/drawioEditor-JubEEha7.js +0 -9
- package/dist/client/assets/ebnfDiagram-PWID7BFC-HeTxHpCU.js +0 -1
- package/dist/client/assets/editor-session-Bk6oIvSr.js +0 -54
- package/dist/client/assets/el-GR-IEE2CGI2-BkT6YT54.js +0 -7
- package/dist/client/assets/embedded-editor-base-BlCgz6mw.css +0 -1
- package/dist/client/assets/es-Bfdp096f.js +0 -22
- package/dist/client/assets/es-ES-TVVPWKV5-CpPKJXTM.js +0 -12
- package/dist/client/assets/eu-ES-CGBMFQDT-Bu3N2493.js +0 -8
- package/dist/client/assets/eventmodeling-NTZA5JFV-BR2FzK4R.js +0 -1
- package/dist/client/assets/excalidraw-element-link-YLIaTnVF.js +0 -7
- package/dist/client/assets/excalidrawEditor-dBMbRX_S.js +0 -9
- package/dist/client/assets/export-page-CRRQ2NEl.js +0 -57
- package/dist/client/assets/exportDocument-BlQRd9_m.js +0 -2
- package/dist/client/assets/exportDocument-CNSbjZwu.css +0 -1
- package/dist/client/assets/fa-IR-IE6XAPR4-BEvLCORD.js +0 -9
- package/dist/client/assets/fi-FI-P7TKNHRM-DI0q8iSX.js +0 -6
- package/dist/client/assets/file-icon-svg-Y_kpF957.js +0 -1
- package/dist/client/assets/file-search-DDLyyLDU.js +0 -1
- package/dist/client/assets/flowDiagram-HODETNUW-D5Gy0wmg.js +0 -1
- package/dist/client/assets/forth-Cezjo90N.js +0 -1
- package/dist/client/assets/fr-FR-QI2XZNT7-y8kXd8LA.js +0 -12
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-BHgOYiZz.js +0 -292
- package/dist/client/assets/gitGraph-4MIJSDKK-DYlXv_yJ.js +0 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Dl__X3Sk.js +0 -106
- package/dist/client/assets/gl-ES-TLYCNOZZ-Br-Fhff-.js +0 -6
- package/dist/client/assets/graphlib-DS17s2tU.js +0 -1
- package/dist/client/assets/he-IL-ZX43XLGP-qKQq6V9X.js +0 -9
- package/dist/client/assets/hi-IN-UTYRMTUF-DOUcwrDO.js +0 -3
- package/dist/client/assets/hu-HU-AJOSEBW6-FqTyvHlD.js +0 -3
- package/dist/client/assets/id-ID-ETLTVG6C-CQqh3CLS.js +0 -8
- package/dist/client/assets/image-ZVKINSPA-DgzW5zAy.js +0 -1
- package/dist/client/assets/index-D3RER1SZ.js +0 -1023
- package/dist/client/assets/index-DREVKl_K.css +0 -1
- package/dist/client/assets/info-A6RAGUB7-BlU-8_xu.js +0 -1
- package/dist/client/assets/infoDiagram-27XIBGKW-DBpoANC9.js +0 -2
- package/dist/client/assets/it-IT-B4B6TP6L-V-yK3SZz.js +0 -12
- package/dist/client/assets/ja-JP-IYKVURR5-BQKBXRpX.js +0 -12
- package/dist/client/assets/javascript-BWjar7HY.js +0 -1
- package/dist/client/assets/javascript-D-FtdkNC.js +0 -1
- package/dist/client/assets/jsx-runtime-BpzPEenQ.js +0 -1
- package/dist/client/assets/kaa-SE2BUIKX-CZ5kfwPg.js +0 -1
- package/dist/client/assets/kab-KAB-Y3GLKXLR-Do7GWfuN.js +0 -4
- package/dist/client/assets/kk-KZ-ABWUFVOH-BpqVciQz.js +0 -1
- package/dist/client/assets/ko-KR-7JQDXKGM-N42lep78.js +0 -5
- package/dist/client/assets/ku-TR-NAH2Q5B7-K8LLl9fk.js +0 -6
- package/dist/client/assets/line-BFl3ujec.js +0 -1
- package/dist/client/assets/linear-n-3HSMUF.js +0 -1
- package/dist/client/assets/lt-LT-VQFYRSNQ-BmOd0ALn.js +0 -3
- package/dist/client/assets/lv-LV-T62VSYUM-B22WdPhp.js +0 -4
- package/dist/client/assets/mermaid-parser.core-Bl0efOMt.js +0 -4
- package/dist/client/assets/mermaid.core-BrY09czX.js +0 -11
- package/dist/client/assets/mermaid.core-DfcNfOTv.js +0 -1
- package/dist/client/assets/modulepreload-polyfill-P2Xu9kJm.js +0 -1
- package/dist/client/assets/mr-IN-V4FHLCJE-XX069tpm.js +0 -9
- package/dist/client/assets/my-MM-E3SQ6E54-cst_-5SB.js +0 -1
- package/dist/client/assets/nb-NO-MLNOFN5H-Bu2URWko.js +0 -8
- package/dist/client/assets/nl-NL-D5L3ZV4M-BqrV0btt.js +0 -13
- package/dist/client/assets/nn-NO-NNHDGPKB-DK-xZaWM.js +0 -4
- package/dist/client/assets/oc-FR-DWCRF55G-BZ5Po5R6.js +0 -4
- package/dist/client/assets/pa-IN-3JSAY44M-BZQSjKrS.js +0 -4
- package/dist/client/assets/packet-AYTQ26CC-BSJEH9Lb.js +0 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-Bi2Iml7Z.js +0 -1
- package/dist/client/assets/percentages-ETZPVQEE-DFxFqXgH.js +0 -1
- package/dist/client/assets/pie-WAS4IAKB-qxv01Y8W.js +0 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-_gYXnMoi.js +0 -39
- package/dist/client/assets/pl-PL-ACURYKP3-qcEOSfCk.js +0 -12
- package/dist/client/assets/preload-helper-HclGiUj8.js +0 -1
- package/dist/client/assets/preview-render-compiler-CfxJYldJ.js +0 -41
- package/dist/client/assets/preview-render-compiler-Cu8_i9iS.js +0 -1
- package/dist/client/assets/preview-render-worker-c4Yi93qW.js +0 -66
- package/dist/client/assets/prod-BiJL30sl.js +0 -1
- package/dist/client/assets/prod-qAk7rHa4.js +0 -177
- package/dist/client/assets/pt-BR-LOX7MLGD-DLueHSyZ.js +0 -10
- package/dist/client/assets/pt-PT-CZ2U2RFQ-BJ-GAEm6.js +0 -12
- package/dist/client/assets/quick-switcher-controller-BoIK_wuG.js +0 -1
- package/dist/client/assets/radar-RG4KPBEZ-B6h6pWOs.js +0 -1
- package/dist/client/assets/railroad-74A4TZTK-CGtTWdGc.js +0 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-Cq7y22IA.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-V0aQVv9m.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-BQiIsX_p.js +0 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-BVA5UbMu.js +0 -1
- package/dist/client/assets/ro-RO-2HECL2X6-CJUvKAf0.js +0 -12
- package/dist/client/assets/ru-RU-HAYNXO46-BWSlvTrt.js +0 -10
- package/dist/client/assets/runtime-config-DcmnGcXU.js +0 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-B5HHkRT2.js +0 -40
- package/dist/client/assets/si-LK-W5KNS4H6-DGGCsn7k.js +0 -1
- package/dist/client/assets/sk-SK-7K2CFGDV-CY4uTYgQ.js +0 -7
- package/dist/client/assets/sl-SI-OXV2QZWW-2-weqaBY.js +0 -6
- package/dist/client/assets/solr-BBopId9w.js +0 -1
- package/dist/client/assets/src-oBChb5qS.js +0 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-CmqxyRGx.js +0 -1
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-zoLLQVyh.js +0 -1
- package/dist/client/assets/sv-SE-JTOBZRGL-9-IUtVkO.js +0 -12
- package/dist/client/assets/swimlanes-42K2YHIH-Bmgb9Zld.js +0 -1
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DS-KQN37.js +0 -8
- package/dist/client/assets/ta-IN-KFAVKXGT-gHO6Q_DH.js +0 -6
- package/dist/client/assets/th-TH-VDMSCPDL-BvJuw6PJ.js +0 -1
- package/dist/client/assets/tr-TR-CEZ6GX45-CG6UU3Su.js +0 -4
- package/dist/client/assets/treeView-Q6P3EWNA-BTTYcvrF.js +0 -1
- package/dist/client/assets/treemap-WGGIJYW6-Cg7tyfH8.js +0 -1
- package/dist/client/assets/uk-UA-Q3H3OXQC-CSuIg_DY.js +0 -6
- package/dist/client/assets/uz-UZ-NGCSWWPX-mom7rxSP.js +0 -1
- package/dist/client/assets/vault-api-client-iZLhMJKe.js +0 -6
- package/dist/client/assets/vennDiagram-4TSXK5OY-DNdUC_Xj.js +0 -34
- package/dist/client/assets/vi-VN-P3NDEVPS-BB0Fu9ck.js +0 -7
- package/dist/client/assets/wardley-WFR3VGLG-C6N1rULY.js +0 -1
- package/dist/client/assets/wiki-link-resolver-DFIwErjc.js +0 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CoIR8CBX.js +0 -7
- package/dist/client/assets/yjs-provider-reset-guard-9ul1qF6k.js +0 -4
- package/dist/client/assets/zh-CN-SS3O57GA-Bj8wsiMe.js +0 -11
- package/dist/client/assets/zh-HK-LWJT3VCF-DOTquTCh.js +0 -1
- package/dist/client/assets/zh-TW-VJXC72RT-B48PRo-l.js +0 -13
- package/integrations/pi/index.ts +0 -94
- package/src/server/domain/collaboration/protocol.js +0 -6
- /package/dist/client/assets/{vault-api-client-C3mlS_4N.css → auth-gate-C3mlS_4N.css} +0 -0
- /package/dist/client/assets/{base-BYODPHdS.js → github.min-DBihDoic.js} +0 -0
|
@@ -8,12 +8,6 @@ const REVISION_SCHEMA = {
|
|
|
8
8
|
type: 'string',
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
const DOCUMENT_SCHEMA = objectSchema({
|
|
12
|
-
kind: { type: 'string' },
|
|
13
|
-
mtimeMs: { minimum: 0, type: 'number' },
|
|
14
|
-
path: { type: 'string' },
|
|
15
|
-
size: { minimum: 0, type: 'number' },
|
|
16
|
-
});
|
|
17
11
|
const WORKSPACE_ENTRY_SCHEMA = objectSchema({
|
|
18
12
|
agentEditable: { type: 'boolean' },
|
|
19
13
|
embeddable: { type: 'boolean' },
|
|
@@ -55,6 +49,15 @@ const VALIDATION_ISSUE_SCHEMA = objectSchema({
|
|
|
55
49
|
target: { type: 'string' },
|
|
56
50
|
});
|
|
57
51
|
|
|
52
|
+
const MARKDOWN_VALIDATION_SCHEMA = objectSchema({
|
|
53
|
+
issues: { items: VALIDATION_ISSUE_SCHEMA, type: 'array' },
|
|
54
|
+
valid: { type: 'boolean' },
|
|
55
|
+
});
|
|
56
|
+
const VALIDATE_MARKDOWN_INPUT = {
|
|
57
|
+
description: 'Return reference validation for the exact saved revision. Markdown only; validation issues do not roll back the save.',
|
|
58
|
+
type: 'boolean',
|
|
59
|
+
};
|
|
60
|
+
|
|
58
61
|
const DIAGRAM_RENDER_OUTPUT_PROPERTIES = {
|
|
59
62
|
endLine: { minimum: 1, type: 'integer' },
|
|
60
63
|
format: { enum: ['png', 'svg'], type: 'string' },
|
|
@@ -208,6 +211,12 @@ const EXCALIDRAW_SUMMARY_ELEMENT_SCHEMA = {
|
|
|
208
211
|
},
|
|
209
212
|
endElementId: { type: 'string' },
|
|
210
213
|
containerId: { type: 'string' },
|
|
214
|
+
fontFamily: {
|
|
215
|
+
description: 'Excalidraw font-family identifier. Standard Excalifont is 5; legacy Virgil is 1.',
|
|
216
|
+
minimum: 1,
|
|
217
|
+
type: 'integer',
|
|
218
|
+
},
|
|
219
|
+
fontName: { type: 'string' },
|
|
211
220
|
fontSize: { exclusiveMinimum: 0, type: 'number' },
|
|
212
221
|
height: { minimum: 0, type: 'number' },
|
|
213
222
|
id: { type: 'string' },
|
|
@@ -242,7 +251,16 @@ const EXCALIDRAW_INSPECTION_PROPERTIES = {
|
|
|
242
251
|
bounds: EXCALIDRAW_BOUNDS_SCHEMA,
|
|
243
252
|
elementCount: { minimum: 0, type: 'integer' },
|
|
244
253
|
elements: { items: EXCALIDRAW_SUMMARY_ELEMENT_SCHEMA, type: 'array' },
|
|
254
|
+
layout: objectSchema({
|
|
255
|
+
boundText: objectSchema({
|
|
256
|
+
misaligned: { minimum: 0, type: 'integer' },
|
|
257
|
+
outsideContainer: { minimum: 0, type: 'integer' },
|
|
258
|
+
staleHeight: { minimum: 0, type: 'integer' },
|
|
259
|
+
total: { minimum: 0, type: 'integer' },
|
|
260
|
+
}),
|
|
261
|
+
}),
|
|
245
262
|
truncated: { type: 'boolean' },
|
|
263
|
+
valid: { type: 'boolean' },
|
|
246
264
|
warnings: { items: EXCALIDRAW_WARNING_SCHEMA, type: 'array' },
|
|
247
265
|
};
|
|
248
266
|
const EXCALIDRAW_INSPECTION_SCHEMA = objectSchema(EXCALIDRAW_INSPECTION_PROPERTIES);
|
|
@@ -262,11 +280,6 @@ const EXCALIDRAW_RENDER_RESULT_PROPERTIES = {
|
|
|
262
280
|
warnings: { items: { type: 'string' }, type: 'array' },
|
|
263
281
|
width: { minimum: 1, type: 'integer' },
|
|
264
282
|
};
|
|
265
|
-
const EXCALIDRAW_RENDER_OUTPUT_PROPERTIES = {
|
|
266
|
-
...EXCALIDRAW_RENDER_RESULT_PROPERTIES,
|
|
267
|
-
path: { type: 'string' },
|
|
268
|
-
revision: REVISION_SCHEMA,
|
|
269
|
-
};
|
|
270
283
|
const EXCALIDRAW_RENDER_INPUT_PROPERTIES = {
|
|
271
284
|
format: {
|
|
272
285
|
description: 'Image format. PNG is most widely supported by MCP clients.',
|
|
@@ -285,6 +298,10 @@ const EXCALIDRAW_RENDER_INPUT_PROPERTIES = {
|
|
|
285
298
|
minLength: 1,
|
|
286
299
|
type: 'string',
|
|
287
300
|
},
|
|
301
|
+
render: {
|
|
302
|
+
description: 'Return an image render. Set false for a compact structural and layout verification response.',
|
|
303
|
+
type: 'boolean',
|
|
304
|
+
},
|
|
288
305
|
scale: {
|
|
289
306
|
description: 'Requested output scale; automatically reduced when needed to stay within 4096 pixels.',
|
|
290
307
|
maximum: 4,
|
|
@@ -309,11 +326,29 @@ const EXCALIDRAW_INLINE_VERIFICATION_SCHEMA = objectSchema({
|
|
|
309
326
|
inspection: EXCALIDRAW_INSPECTION_SCHEMA,
|
|
310
327
|
...EXCALIDRAW_RENDER_RESULT_PROPERTIES,
|
|
311
328
|
}, ['inspection']);
|
|
329
|
+
const EXCALIDRAW_COMPACT_VERIFICATION_PROPERTIES = {
|
|
330
|
+
elementCount: { minimum: 0, type: 'integer' },
|
|
331
|
+
format: { enum: ['png', 'svg'], type: 'string' },
|
|
332
|
+
inspection: EXCALIDRAW_INSPECTION_SCHEMA,
|
|
333
|
+
layout: EXCALIDRAW_INSPECTION_PROPERTIES.layout,
|
|
334
|
+
path: { type: 'string' },
|
|
335
|
+
revision: REVISION_SCHEMA,
|
|
336
|
+
valid: { type: 'boolean' },
|
|
337
|
+
};
|
|
338
|
+
const EXCALIDRAW_VERIFY_OUTPUT_SCHEMA = {
|
|
339
|
+
oneOf: [
|
|
340
|
+
objectSchema(EXCALIDRAW_COMPACT_VERIFICATION_PROPERTIES),
|
|
341
|
+
objectSchema({
|
|
342
|
+
...EXCALIDRAW_COMPACT_VERIFICATION_PROPERTIES,
|
|
343
|
+
...EXCALIDRAW_RENDER_RESULT_PROPERTIES,
|
|
344
|
+
}),
|
|
345
|
+
],
|
|
346
|
+
};
|
|
312
347
|
|
|
313
348
|
export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
314
349
|
{
|
|
315
350
|
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
316
|
-
description: 'List
|
|
351
|
+
description: 'List current Vault files and directories, including binary metadata and agent capability flags.',
|
|
317
352
|
inputSchema: objectSchema({
|
|
318
353
|
cursor: {
|
|
319
354
|
description: 'Path from the previous nextCursor; omit for the first page.',
|
|
@@ -326,7 +361,7 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
326
361
|
uniqueItems: true,
|
|
327
362
|
},
|
|
328
363
|
limit: {
|
|
329
|
-
description: 'Maximum
|
|
364
|
+
description: 'Maximum entries to return.',
|
|
330
365
|
maximum: 200,
|
|
331
366
|
minimum: 1,
|
|
332
367
|
type: 'integer',
|
|
@@ -335,34 +370,10 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
335
370
|
description: 'Optional Vault directory or path prefix.',
|
|
336
371
|
type: 'string',
|
|
337
372
|
},
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
documents: { items: DOCUMENT_SCHEMA, type: 'array' },
|
|
343
|
-
nextCursor: { type: ['string', 'null'] },
|
|
344
|
-
truncated: { type: 'boolean' },
|
|
345
|
-
}),
|
|
346
|
-
scope: 'vault:read',
|
|
347
|
-
untrustedContentHint: true,
|
|
348
|
-
webMcp: true,
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
352
|
-
description: 'List current Vault files and directories, including binary metadata and agent capability flags.',
|
|
353
|
-
inputSchema: objectSchema({
|
|
354
|
-
cursor: {
|
|
355
|
-
description: 'Path from the previous nextCursor; omit for the first page.',
|
|
356
|
-
type: 'string',
|
|
357
|
-
},
|
|
358
|
-
limit: {
|
|
359
|
-
description: 'Maximum entries to return.',
|
|
360
|
-
maximum: 200,
|
|
361
|
-
minimum: 1,
|
|
362
|
-
type: 'integer',
|
|
363
|
-
},
|
|
364
|
-
prefix: {
|
|
365
|
-
description: 'Optional Vault directory or path prefix.',
|
|
373
|
+
pathQuery: {
|
|
374
|
+
description: 'Optional case-insensitive substring to match anywhere in an entry path.',
|
|
375
|
+
maxLength: 500,
|
|
376
|
+
minLength: 1,
|
|
366
377
|
type: 'string',
|
|
367
378
|
},
|
|
368
379
|
}, []),
|
|
@@ -380,20 +391,42 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
380
391
|
|
|
381
392
|
{
|
|
382
393
|
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
383
|
-
description: 'Search current Vault text with one
|
|
394
|
+
description: 'Search current Vault text with one literal case-insensitive phrase, not a natural-language question. Defaults to 10 files and 2 snippets each. Read relevant ranges before answering and cite path:line evidence. Narrow prefix or query when truncated; no matches do not prove a topic is absent.',
|
|
384
395
|
inputSchema: objectSchema({
|
|
385
396
|
limit: {
|
|
386
|
-
|
|
397
|
+
default: 10,
|
|
398
|
+
description: 'Maximum matching documents to return (default 10).',
|
|
387
399
|
maximum: 50,
|
|
388
400
|
minimum: 1,
|
|
389
401
|
type: 'integer',
|
|
390
402
|
},
|
|
403
|
+
maxSnippetsPerFile: {
|
|
404
|
+
default: 2,
|
|
405
|
+
description: 'Maximum matching snippets returned per document (default 2).',
|
|
406
|
+
maximum: 10,
|
|
407
|
+
minimum: 1,
|
|
408
|
+
type: 'integer',
|
|
409
|
+
},
|
|
410
|
+
kinds: {
|
|
411
|
+
description: 'Optional CollabMD content kinds to include.',
|
|
412
|
+
items: { type: 'string' },
|
|
413
|
+
type: 'array',
|
|
414
|
+
uniqueItems: true,
|
|
415
|
+
},
|
|
416
|
+
prefix: {
|
|
417
|
+
description: 'Optional Vault directory or path prefix.',
|
|
418
|
+
type: 'string',
|
|
419
|
+
},
|
|
391
420
|
query: {
|
|
392
421
|
description: 'Literal case-insensitive text to find; regular expressions are not supported.',
|
|
393
422
|
maxLength: 500,
|
|
394
423
|
minLength: 2,
|
|
395
424
|
type: 'string',
|
|
396
425
|
},
|
|
426
|
+
wholeWord: {
|
|
427
|
+
description: 'Match only when the literal query is bounded by non-word characters.',
|
|
428
|
+
type: 'boolean',
|
|
429
|
+
},
|
|
397
430
|
}, ['query']),
|
|
398
431
|
method: 'searchVault',
|
|
399
432
|
name: 'search_vault',
|
|
@@ -415,7 +448,7 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
415
448
|
required: ['available', 'backend', 'minQueryLength', 'unavailableReason', 'version'],
|
|
416
449
|
type: 'object',
|
|
417
450
|
},
|
|
418
|
-
truncated: { type: 'boolean' },
|
|
451
|
+
truncated: { description: 'True when documents or snippets were omitted, or the search was incomplete. Counts cover observed matches, not necessarily all Vault matches.', type: 'boolean' },
|
|
419
452
|
}),
|
|
420
453
|
scope: 'vault:read',
|
|
421
454
|
untrustedContentHint: true,
|
|
@@ -423,14 +456,21 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
423
456
|
},
|
|
424
457
|
{
|
|
425
458
|
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
426
|
-
description: 'Read
|
|
459
|
+
description: 'Read current text (default 80 lines) or a compact Markdown outline with full-document revision. Follow nextStartLine for more. Read content immediately before exact edits; on revision conflict reread and recompute. Maximum source size is 1000000 characters; a single content line over 100000 characters fails explicitly.',
|
|
427
460
|
inputSchema: objectSchema({
|
|
428
461
|
lineCount: {
|
|
429
|
-
|
|
462
|
+
default: 80,
|
|
463
|
+
description: 'Maximum content lines or outline headings to return (default 80).',
|
|
430
464
|
maximum: 500,
|
|
431
465
|
minimum: 1,
|
|
432
466
|
type: 'integer',
|
|
433
467
|
},
|
|
468
|
+
mode: {
|
|
469
|
+
default: 'content',
|
|
470
|
+
description: 'Outline returns top-level ATX and single-line Setext headings, excluding fenced code and frontmatter. Heading text is capped at 200 characters.',
|
|
471
|
+
enum: ['content', 'outline'],
|
|
472
|
+
type: 'string',
|
|
473
|
+
},
|
|
434
474
|
path: {
|
|
435
475
|
description: 'Vault-relative document path.',
|
|
436
476
|
maxLength: 1024,
|
|
@@ -448,13 +488,23 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
448
488
|
outputSchema: objectSchema({
|
|
449
489
|
content: { type: 'string' },
|
|
450
490
|
endLine: { minimum: 1, type: 'integer' },
|
|
491
|
+
headings: {
|
|
492
|
+
items: objectSchema({
|
|
493
|
+
level: { minimum: 1, maximum: 6, type: 'integer' },
|
|
494
|
+
line: { minimum: 1, type: 'integer' },
|
|
495
|
+
text: { type: 'string' },
|
|
496
|
+
truncated: { type: 'boolean' },
|
|
497
|
+
}),
|
|
498
|
+
type: 'array',
|
|
499
|
+
},
|
|
500
|
+
nextStartLine: { type: ['integer', 'null'], minimum: 1 },
|
|
451
501
|
kind: { type: 'string' },
|
|
452
502
|
path: { type: 'string' },
|
|
453
503
|
revision: REVISION_SCHEMA,
|
|
454
504
|
startLine: { minimum: 1, type: 'integer' },
|
|
455
505
|
totalLines: { minimum: 1, type: 'integer' },
|
|
456
506
|
truncated: { type: 'boolean' },
|
|
457
|
-
}),
|
|
507
|
+
}, ['content', 'endLine', 'kind', 'nextStartLine', 'path', 'revision', 'startLine', 'totalLines', 'truncated']),
|
|
458
508
|
scope: 'vault:read',
|
|
459
509
|
untrustedContentHint: true,
|
|
460
510
|
webMcp: true,
|
|
@@ -507,6 +557,65 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
507
557
|
untrustedContentHint: true,
|
|
508
558
|
webMcp: true,
|
|
509
559
|
},
|
|
560
|
+
{
|
|
561
|
+
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
562
|
+
description: 'Run a Base query and return filtered rows so you can verify filters and expected output.',
|
|
563
|
+
inputSchema: objectSchema({
|
|
564
|
+
limit: {
|
|
565
|
+
description: 'Maximum rows to return.',
|
|
566
|
+
maximum: 200,
|
|
567
|
+
minimum: 1,
|
|
568
|
+
type: 'integer',
|
|
569
|
+
},
|
|
570
|
+
path: {
|
|
571
|
+
description: 'Vault-relative .base path.',
|
|
572
|
+
maxLength: 1024,
|
|
573
|
+
minLength: 1,
|
|
574
|
+
type: 'string',
|
|
575
|
+
},
|
|
576
|
+
search: {
|
|
577
|
+
description: 'Optional case-insensitive row search across visible columns.',
|
|
578
|
+
maxLength: 500,
|
|
579
|
+
type: 'string',
|
|
580
|
+
},
|
|
581
|
+
view: {
|
|
582
|
+
description: 'Optional Base view name.',
|
|
583
|
+
maxLength: 200,
|
|
584
|
+
type: 'string',
|
|
585
|
+
},
|
|
586
|
+
}, ['path']),
|
|
587
|
+
method: 'queryBase',
|
|
588
|
+
name: 'query_base',
|
|
589
|
+
outputSchema: objectSchema({
|
|
590
|
+
columns: {
|
|
591
|
+
items: objectSchema({
|
|
592
|
+
id: { type: 'string' },
|
|
593
|
+
label: { type: 'string' },
|
|
594
|
+
}),
|
|
595
|
+
type: 'array',
|
|
596
|
+
},
|
|
597
|
+
path: { type: 'string' },
|
|
598
|
+
rows: {
|
|
599
|
+
items: objectSchema({
|
|
600
|
+
cells: {
|
|
601
|
+
additionalProperties: { type: 'string' },
|
|
602
|
+
type: 'object',
|
|
603
|
+
},
|
|
604
|
+
path: { type: 'string' },
|
|
605
|
+
}),
|
|
606
|
+
type: 'array',
|
|
607
|
+
},
|
|
608
|
+
totalRows: { minimum: 0, type: 'integer' },
|
|
609
|
+
truncated: { type: 'boolean' },
|
|
610
|
+
view: objectSchema({
|
|
611
|
+
name: { type: 'string' },
|
|
612
|
+
type: { type: 'string' },
|
|
613
|
+
}),
|
|
614
|
+
}),
|
|
615
|
+
scope: 'vault:read',
|
|
616
|
+
untrustedContentHint: true,
|
|
617
|
+
webMcp: true,
|
|
618
|
+
},
|
|
510
619
|
{
|
|
511
620
|
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
512
621
|
description: 'Render one standalone or fenced Mermaid/PlantUML diagram. Markdown with multiple diagrams requires the opening fence startLine. Mermaid rendering requires WebMCP.',
|
|
@@ -539,7 +648,7 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
539
648
|
|
|
540
649
|
{
|
|
541
650
|
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
542
|
-
description: 'Inspect an Excalidraw scene structurally. Returns paint order, geometry, bindings, bounds, occlusion, clipping, and validity warnings.',
|
|
651
|
+
description: 'Inspect an Excalidraw scene structurally. Returns paint order, geometry, text style, bindings, bounds, layout diagnostics, occlusion, clipping, and validity warnings.',
|
|
543
652
|
inputSchema: objectSchema({
|
|
544
653
|
path: {
|
|
545
654
|
description: 'Vault-relative .excalidraw path.',
|
|
@@ -557,19 +666,7 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
557
666
|
},
|
|
558
667
|
{
|
|
559
668
|
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
560
|
-
description: '
|
|
561
|
-
inputSchema: objectSchema(EXCALIDRAW_RENDER_INPUT_PROPERTIES, ['path']),
|
|
562
|
-
method: 'renderExcalidraw',
|
|
563
|
-
name: 'render_excalidraw',
|
|
564
|
-
outputSchema: objectSchema(EXCALIDRAW_RENDER_OUTPUT_PROPERTIES),
|
|
565
|
-
resultKind: 'image',
|
|
566
|
-
scope: 'vault:read',
|
|
567
|
-
untrustedContentHint: true,
|
|
568
|
-
webMcp: true,
|
|
569
|
-
},
|
|
570
|
-
{
|
|
571
|
-
annotations: { idempotentHint: true, readOnlyHint: true },
|
|
572
|
-
description: 'Inspect and render one Excalidraw revision in a single operation.',
|
|
669
|
+
description: 'Verify one Excalidraw revision with compact structural and layout diagnostics; render is optional.',
|
|
573
670
|
inputSchema: objectSchema({
|
|
574
671
|
...EXCALIDRAW_RENDER_INPUT_PROPERTIES,
|
|
575
672
|
inspectOcclusion: {
|
|
@@ -579,11 +676,8 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
579
676
|
}, ['path']),
|
|
580
677
|
method: 'verifyExcalidraw',
|
|
581
678
|
name: 'verify_excalidraw',
|
|
582
|
-
outputSchema:
|
|
583
|
-
|
|
584
|
-
inspection: EXCALIDRAW_INSPECTION_SCHEMA,
|
|
585
|
-
}),
|
|
586
|
-
resultKind: 'image',
|
|
679
|
+
outputSchema: EXCALIDRAW_VERIFY_OUTPUT_SCHEMA,
|
|
680
|
+
resultKind: 'optional-image',
|
|
587
681
|
scope: 'vault:read',
|
|
588
682
|
untrustedContentHint: true,
|
|
589
683
|
webMcp: true,
|
|
@@ -610,7 +704,7 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
610
704
|
},
|
|
611
705
|
{
|
|
612
706
|
annotations: { destructiveHint: false, idempotentHint: true, readOnlyHint: false },
|
|
613
|
-
description: 'Create
|
|
707
|
+
description: 'Create an editable .excalidraw scene. Before the first diagram in a task, call get_collabmd_syntax with kind="excalidraw" for design guidance and valid examples. Request inline inspection/rendering and examine the image before finishing.',
|
|
614
708
|
inputSchema: objectSchema({
|
|
615
709
|
elements: {
|
|
616
710
|
description: 'One to 200 basic Excalidraw elements in back-to-front order. Text may bind to a container with containerId; groupIds define atomic movement groups. Arrows may bind with startElementId and endElementId. beforeElementId or afterElementId sets explicit placement.',
|
|
@@ -634,14 +728,14 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
634
728
|
path: { type: 'string' },
|
|
635
729
|
revision: REVISION_SCHEMA,
|
|
636
730
|
verification: EXCALIDRAW_INLINE_VERIFICATION_SCHEMA,
|
|
637
|
-
}),
|
|
731
|
+
}, ['elementCount', 'path', 'revision']),
|
|
638
732
|
resultKind: 'optional-image',
|
|
639
733
|
scope: 'vault:edit',
|
|
640
734
|
webMcp: true,
|
|
641
735
|
},
|
|
642
736
|
{
|
|
643
737
|
annotations: { destructiveHint: false, idempotentHint: false, readOnlyHint: false },
|
|
644
|
-
description: '
|
|
738
|
+
description: 'Edit an existing .excalidraw scene only when its revision matches. Before the first diagram edit in a task, consult get_collabmd_syntax with kind="excalidraw". Inspect first, preserve existing style and unrelated elements, then verify the result. Supports create, update, replace, translate, reorder, and delete; bound-text metric edits reflow automatically.',
|
|
645
739
|
inputSchema: objectSchema({
|
|
646
740
|
create: {
|
|
647
741
|
items: EXCALIDRAW_ELEMENT_INPUT_SCHEMA,
|
|
@@ -655,6 +749,11 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
655
749
|
type: 'array',
|
|
656
750
|
uniqueItems: true,
|
|
657
751
|
},
|
|
752
|
+
normalizeTextPlacement: {
|
|
753
|
+
description: 'Normalize every bound text label to its container center and current line-height metrics. This can be the only edit operation.',
|
|
754
|
+
enum: [true],
|
|
755
|
+
type: 'boolean',
|
|
756
|
+
},
|
|
658
757
|
path: {
|
|
659
758
|
description: 'Vault-relative .excalidraw path returned by read_document.',
|
|
660
759
|
maxLength: 1024,
|
|
@@ -690,6 +789,11 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
690
789
|
elementCount: { minimum: 0, type: 'integer' },
|
|
691
790
|
path: { type: 'string' },
|
|
692
791
|
reordered: { minimum: 0, type: 'integer' },
|
|
792
|
+
reflowed: {
|
|
793
|
+
description: 'Number of bound text labels whose position or height was normalized.',
|
|
794
|
+
minimum: 0,
|
|
795
|
+
type: 'integer',
|
|
796
|
+
},
|
|
693
797
|
replaced: { minimum: 0, type: 'integer' },
|
|
694
798
|
revision: REVISION_SCHEMA,
|
|
695
799
|
translated: {
|
|
@@ -699,14 +803,14 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
699
803
|
},
|
|
700
804
|
updated: { minimum: 0, type: 'integer' },
|
|
701
805
|
verification: EXCALIDRAW_INLINE_VERIFICATION_SCHEMA,
|
|
702
|
-
}, ['created', 'deleted', 'elementCount', 'path', 'reordered', 'replaced', 'revision', 'translated', 'updated']),
|
|
806
|
+
}, ['created', 'deleted', 'elementCount', 'path', 'reordered', 'reflowed', 'replaced', 'revision', 'translated', 'updated']),
|
|
703
807
|
resultKind: 'optional-image',
|
|
704
808
|
scope: 'vault:edit',
|
|
705
809
|
webMcp: true,
|
|
706
810
|
},
|
|
707
811
|
{
|
|
708
812
|
annotations: { destructiveHint: false, idempotentHint: false, readOnlyHint: false },
|
|
709
|
-
description: 'Apply
|
|
813
|
+
description: 'Apply up to 20 unique, non-overlapping exact replacements against the revision from a fresh content read. Combined old/new text is limited to 50000 characters. On conflict reread; on ambiguous matches include more surrounding text. Optional Markdown validation checks the saved revision.',
|
|
710
814
|
inputSchema: objectSchema({
|
|
711
815
|
path: {
|
|
712
816
|
description: 'Vault-relative path returned by read_document.',
|
|
@@ -737,6 +841,7 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
737
841
|
type: 'array',
|
|
738
842
|
},
|
|
739
843
|
revision: REVISION_SCHEMA,
|
|
844
|
+
validate: VALIDATE_MARKDOWN_INPUT,
|
|
740
845
|
}, ['path', 'revision', 'replacements']),
|
|
741
846
|
method: 'applyTextEdits',
|
|
742
847
|
name: 'apply_text_edits',
|
|
@@ -744,13 +849,14 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
744
849
|
path: { type: 'string' },
|
|
745
850
|
replacementCount: { minimum: 1, type: 'integer' },
|
|
746
851
|
revision: REVISION_SCHEMA,
|
|
747
|
-
|
|
852
|
+
validation: MARKDOWN_VALIDATION_SCHEMA,
|
|
853
|
+
}, ['path', 'replacementCount', 'revision']),
|
|
748
854
|
scope: 'vault:edit',
|
|
749
855
|
webMcp: true,
|
|
750
856
|
},
|
|
751
857
|
{
|
|
752
858
|
annotations: { destructiveHint: false, idempotentHint: true, readOnlyHint: false },
|
|
753
|
-
description: 'Create a new supported
|
|
859
|
+
description: 'Create a new supported text document (up to 200000 characters). Inspect nearby naming/style and consult get_collabmd_syntax for unfamiliar kinds. Identical retries succeed; different content at an existing path fails. Optional Markdown validation checks the saved revision.',
|
|
754
860
|
inputSchema: objectSchema({
|
|
755
861
|
content: {
|
|
756
862
|
description: 'Initial document text, normalized to LF line endings.',
|
|
@@ -763,6 +869,7 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
763
869
|
minLength: 1,
|
|
764
870
|
type: 'string',
|
|
765
871
|
},
|
|
872
|
+
validate: VALIDATE_MARKDOWN_INPUT,
|
|
766
873
|
}, ['path', 'content']),
|
|
767
874
|
method: 'createDocument',
|
|
768
875
|
name: 'create_document',
|
|
@@ -770,7 +877,8 @@ export const AGENT_TOOL_DEFINITIONS = Object.freeze([
|
|
|
770
877
|
kind: { type: 'string' },
|
|
771
878
|
path: { type: 'string' },
|
|
772
879
|
revision: REVISION_SCHEMA,
|
|
773
|
-
|
|
880
|
+
validation: MARKDOWN_VALIDATION_SCHEMA,
|
|
881
|
+
}, ['kind', 'path', 'revision']),
|
|
774
882
|
scope: 'vault:edit',
|
|
775
883
|
webMcp: true,
|
|
776
884
|
},
|
|
@@ -13,13 +13,63 @@ import {
|
|
|
13
13
|
supportsCommentsForFilePath,
|
|
14
14
|
} from './file-kind.js';
|
|
15
15
|
|
|
16
|
+
const EXCALIDRAW_DESIGN_GUIDE = [
|
|
17
|
+
'Plan: State the question the diagram answers, its audience, the essential entities, and what each connection means. Choose a flowchart for steps/decisions or a layered layout for responsibilities/dependencies. Keep one main idea per diagram; split dense detail into another diagram. Do not invent relationships to fill space.',
|
|
18
|
+
'Layout: Choose left-to-right or top-to-bottom reading order. Place containers before labels and connectors. Align related nodes and use consistent sizes and gaps. As starting points, use 200 x 88 nodes, 80-120 units between columns, and 60-80 between rows; enlarge these for the actual text. Reserve clear connector lanes. Route arrows around unrelated shapes, minimize crossings, and make direction unambiguous. These are defaults, not constraints on an existing design.',
|
|
19
|
+
'Labels and bindings: Prefer short entity names and verb phrases for relationships. Start around 20-unit body text and 28-unit titles, with one font family. Enlarge the container or add deliberate line breaks instead of shrinking text to fit. Create labels as separate text elements using containerId; creation still requires explicit x/y and correctly sized bounds. Bind connectors with startElementId/endElementId and set points relative to the arrow x/y, near the appropriate shape edges. Binding identifies the relationship; it does not plan the route. Allow padding around labels and keep relationship labels away from arrowheads.',
|
|
20
|
+
'Visual hierarchy: Use a clear title, restrained strokes, and at most two or three semantic fill colors with readable dark labels on light fills. Use shape, position, or text as well as color to distinguish roles. Reuse colors for the same meaning. Give related elements groupIds when they should move together. Keep text above its container in paint order. Avoid decorative elements that compete with the information.',
|
|
21
|
+
'Existing diagrams: In WebMCP, get active context first. Inspect the existing scene and preserve its style, IDs, layout, and unrelated elements. Use edit_excalidraw with the returned revision. Prefer translate for moving containers/groups and their related text; inspect attached connector routes after movement. Use reorder for paint order and same-ID replace for a type change. Bound-text placement normalization re-centers labels; use it only when that is intended. On a revision conflict, inspect again and reconsider the edit.',
|
|
22
|
+
'Verify and refine: Create or edit with verify: { render: true } to receive inspection and an image for that exact revision. Check diagnostics for clipping, unintended overlaps, occlusion, text placement, and connectors crossing components. Examine the image for reading order, legibility, correct relationships, and clear arrow direction; structural validity alone does not establish visual quality. Fix concrete problems with revision-guarded edits and verify again. Use verify: { render: false } for intermediate create/edit checks when an image would add no information; use verify_excalidraw with render: true for the final image. Stop when the requested meaning is clear and no material layout issue remains; do not redraw solely to chase cosmetic variation.',
|
|
23
|
+
'Rendering limits: Remote collabmd-basic-svg previews approximate Excalidraw and report preview-not-pixel-identical; WebMCP uses the official browser renderer. If an image is unavailable, report that visual quality was not checked instead of claiming it was verified.',
|
|
24
|
+
'Examples below are complete MCP tools/call payloads using this server\'s schema. Choose a new Vault-relative path and adapt labels, geometry, and relationships. For WebMCP, call the corresponding collabmd_ tool with the arguments object. Reuse this guide during the task; fetching it before every edit is unnecessary.',
|
|
25
|
+
].join('\n\n');
|
|
26
|
+
|
|
27
|
+
const EXCALIDRAW_CREATION_EXAMPLES = [
|
|
28
|
+
{
|
|
29
|
+
name: 'create_excalidraw',
|
|
30
|
+
arguments: {
|
|
31
|
+
path: 'diagrams/request-flow.excalidraw',
|
|
32
|
+
elements: [
|
|
33
|
+
{ id: 'title', type: 'text', x: 40, y: 32, text: 'Request review', fontSize: 28 },
|
|
34
|
+
{ id: 'request', type: 'rectangle', x: 40, y: 96, width: 200, height: 88, backgroundColor: '#e7f5ff' },
|
|
35
|
+
{ id: 'review', type: 'rectangle', x: 360, y: 96, width: 200, height: 88, backgroundColor: '#e7f5ff' },
|
|
36
|
+
{ id: 'respond', type: 'rectangle', x: 680, y: 96, width: 200, height: 88, backgroundColor: '#e7f5ff' },
|
|
37
|
+
{ id: 'request-label', type: 'text', x: 98, y: 127.5, text: 'Request', containerId: 'request' },
|
|
38
|
+
{ id: 'review-label', type: 'text', x: 424, y: 127.5, text: 'Review', containerId: 'review' },
|
|
39
|
+
{ id: 'respond-label', type: 'text', x: 738, y: 127.5, text: 'Respond', containerId: 'respond' },
|
|
40
|
+
{ id: 'request-review', type: 'arrow', x: 244, y: 140, points: [[0, 0], [112, 0]], startElementId: 'request', endElementId: 'review' },
|
|
41
|
+
{ id: 'review-respond', type: 'arrow', x: 564, y: 140, points: [[0, 0], [112, 0]], startElementId: 'review', endElementId: 'respond' },
|
|
42
|
+
],
|
|
43
|
+
verify: { render: true },
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'create_excalidraw',
|
|
48
|
+
arguments: {
|
|
49
|
+
path: 'diagrams/service-layers.excalidraw',
|
|
50
|
+
elements: [
|
|
51
|
+
{ id: 'title', type: 'text', x: 40, y: 32, text: 'Service layers', fontSize: 28 },
|
|
52
|
+
{ id: 'presentation', type: 'rectangle', x: 40, y: 96, width: 360, height: 96, backgroundColor: '#e7f5ff' },
|
|
53
|
+
{ id: 'application', type: 'rectangle', x: 40, y: 256, width: 360, height: 96, backgroundColor: '#e7f5ff' },
|
|
54
|
+
{ id: 'storage', type: 'rectangle', x: 40, y: 416, width: 360, height: 96, backgroundColor: '#e7f5ff' },
|
|
55
|
+
{ id: 'presentation-label', type: 'text', x: 148, y: 131.5, text: 'Presentation', containerId: 'presentation' },
|
|
56
|
+
{ id: 'application-label', type: 'text', x: 154, y: 291.5, text: 'Application', containerId: 'application' },
|
|
57
|
+
{ id: 'storage-label', type: 'text', x: 178, y: 451.5, text: 'Storage', containerId: 'storage' },
|
|
58
|
+
{ id: 'presentation-application', type: 'arrow', x: 220, y: 196, points: [[0, 0], [0, 56]], startElementId: 'presentation', endElementId: 'application' },
|
|
59
|
+
{ id: 'application-storage', type: 'arrow', x: 220, y: 356, points: [[0, 0], [0, 56]], startElementId: 'application', endElementId: 'storage' },
|
|
60
|
+
],
|
|
61
|
+
verify: { render: true },
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
].map((example) => JSON.stringify(example));
|
|
65
|
+
|
|
16
66
|
const CAPABILITIES = Object.freeze({
|
|
17
67
|
base: {
|
|
18
|
-
agentCreatable:
|
|
19
|
-
agentEditable:
|
|
68
|
+
agentCreatable: true,
|
|
69
|
+
agentEditable: true,
|
|
20
70
|
editable: true,
|
|
21
71
|
extensions: [BASE_FILE_EXTENSION],
|
|
22
|
-
guide: 'YAML Base definition. Embed a file with ![[query.base]] or an inline query with a fenced base block.
|
|
72
|
+
guide: 'YAML Base definition. Embed a file with ![[query.base]] or an inline query with a fenced base block. Create and edit with create_document and apply_text_edits. After writing, use query_base to inspect filtered rows.',
|
|
23
73
|
examples: ['```base\nfilters:\n and: []\n```', '![[tasks.base]]'],
|
|
24
74
|
},
|
|
25
75
|
drawio: {
|
|
@@ -35,7 +85,7 @@ const CAPABILITIES = Object.freeze({
|
|
|
35
85
|
agentEditable: true,
|
|
36
86
|
editable: true,
|
|
37
87
|
extensions: [EXCALIDRAW_FILE_EXTENSION],
|
|
38
|
-
guide: 'Excalidraw scene JSON managed by the canvas editor. Use create_excalidraw and edit_excalidraw rather than raw text edits. Element order is back-to-front; create supports beforeElementId and afterElementId, while edit supports relationship-aware translation, reorder, same-ID
|
|
88
|
+
guide: 'Excalidraw scene JSON managed by the canvas editor. Use create_excalidraw and edit_excalidraw rather than raw text edits. Element order is back-to-front; create supports beforeElementId and afterElementId, while edit supports relationship-aware translation, reorder, same-ID replacement, and bound-text placement normalization. Container or group translation also moves bound text and grouped members. Standalone auto-resizing text recalculates its bounds when text metrics change; bound text whose font, size, line height, or content changes is re-centered and remeasured vertically. Line, arrow, and freedraw dimensions are derived from points. Creation and editing support inline inspection and optional rendering; verify_excalidraw can return compact layout diagnostics without an image. Remote fallback renders report preview-not-pixel-identical. Supported agent element types: rectangle, ellipse, diamond, text, arrow, line, and freedraw. Embed with ![[drawing.excalidraw]].',
|
|
39
89
|
examples: ['![[drawing.excalidraw]]'],
|
|
40
90
|
},
|
|
41
91
|
html: {
|
|
@@ -59,12 +109,13 @@ const CAPABILITIES = Object.freeze({
|
|
|
59
109
|
agentEditable: true,
|
|
60
110
|
editable: true,
|
|
61
111
|
extensions: [...MARKDOWN_FILE_EXTENSIONS],
|
|
62
|
-
guide: 'Markdown-it syntax with YAML frontmatter, headings, tables, task lists, fenced code, linkified URLs, [[wiki-links]], aliases, and embeds. Use ![[file.ext]] for Base, draw.io, Excalidraw, Mermaid, or PlantUML Vault embeds. Use  for public video embeds: valid YouTube URLs or direct public HTTPS URLs ending in .mp4, .webm, or .ogg. Use relative Markdown image paths for Vault image attachments. Raw HTML is disabled.',
|
|
112
|
+
guide: 'Markdown-it syntax with YAML frontmatter, headings, tables, task lists, fenced code, linkified URLs, [[wiki-links]], aliases, and embeds. Use $...$ for inline math and $$...$$ on its own lines for display math (KaTeX). Use ![[file.ext]] for Base, draw.io, Excalidraw, Mermaid, or PlantUML Vault embeds. Use  for public video embeds: valid YouTube URLs or direct public HTTPS URLs ending in .mp4, .webm, or .ogg. Use relative Markdown image paths for Vault image attachments. Raw HTML is disabled.',
|
|
63
113
|
examples: [
|
|
64
114
|
'---\ntags: [docs]\n---\n# Title\n\n- [ ] Task\n\n[[Other Note|Alias]]',
|
|
65
115
|
'![[diagram.mmd]]\n![[diagram.puml]]\n![[drawing.excalidraw]]\n![[architecture.drawio]]\n![[query.base]]',
|
|
66
116
|
'\n\n',
|
|
67
117
|
'```mermaid\nflowchart LR\n A --> B\n```\n\n```plantuml\n@startuml\nAlice -> Bob\n@enduml\n```',
|
|
118
|
+
'Inline math $E = mc^2$ and display math:\n\n$$\n\\frac{a}{b}\n$$',
|
|
68
119
|
],
|
|
69
120
|
},
|
|
70
121
|
mermaid: {
|
|
@@ -127,9 +178,13 @@ export function listCollabMdContentCapabilities() {
|
|
|
127
178
|
export function getCollabMdSyntaxGuide(kind) {
|
|
128
179
|
const capability = getCollabMdContentCapability(kind);
|
|
129
180
|
return capability ? {
|
|
130
|
-
examples: capability.
|
|
181
|
+
examples: capability.kind === 'excalidraw'
|
|
182
|
+
? [...EXCALIDRAW_CREATION_EXAMPLES, ...capability.examples]
|
|
183
|
+
: capability.examples,
|
|
131
184
|
extensions: capability.extensions,
|
|
132
|
-
guide: capability.
|
|
185
|
+
guide: capability.kind === 'excalidraw'
|
|
186
|
+
? `${capability.guide}\n\n${EXCALIDRAW_DESIGN_GUIDE}`
|
|
187
|
+
: capability.guide,
|
|
133
188
|
kind: capability.kind,
|
|
134
189
|
} : null;
|
|
135
190
|
}
|