ryugi-artifacts 1.42.2 → 1.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +14504 -376
- package/dist/server.cjs +138 -85
- package/dist/viewer/{ArtboardLayout-7_rmu60e.js → ArtboardLayout-v5QCVEaH.js} +1 -1
- package/dist/viewer/{ArtifactList-CC5-1ZFP.js → ArtifactList-mxXh57SU.js} +1 -1
- package/dist/viewer/{AutoPublishPrompt-B2D53_Kz.js → AutoPublishPrompt-COIe6yz0.js} +1 -1
- package/dist/viewer/{Canvas-13klENDh.js → Canvas-DIlI-OTY.js} +1 -1
- package/dist/viewer/{DocumentLayout-DZ-2_UTn.js → DocumentLayout-CarX1EiV.js} +2 -2
- package/dist/viewer/{DocumentPage-BcgERMV0.js → DocumentPage-BgoMJYd6.js} +1 -1
- package/dist/viewer/{HtmlLayout-CtlWM446.js → HtmlLayout-BmYAOIJ4.js} +1 -1
- package/dist/viewer/{MenuRoot-CwCVByOp.js → MenuRoot-CCLU8wQR.js} +1 -1
- package/dist/viewer/{PopoverPopup-BA537pRU.js → PopoverPopup-By2qMtdn.js} +1 -1
- package/dist/viewer/{PreviewLayout-C5OKA9J4.js → PreviewLayout-Dzkz7UOF.js} +2 -2
- package/dist/viewer/{Select-D2-94UGe.js → Select-CpRtuH5I.js} +1 -1
- package/dist/viewer/{SnapshotDocument-kHyl0dKv.js → SnapshotDocument-D0Lkq1g9.js} +1 -1
- package/dist/viewer/{ThreadView-Qlz9Ufo7.js → ThreadView-CmAxKSZ7.js} +1 -1
- package/dist/viewer/{TooltipPopup-Cpm4Cwxn.js → TooltipPopup-CdpS4tTR.js} +1 -1
- package/dist/viewer/{WarningsBadge-BtRPiCiS.js → WarningsBadge-xIuKcdGp.js} +1 -1
- package/dist/viewer/{abnfDiagram-VCTEODGH-Cc589tRO.js → abnfDiagram-VCTEODGH-vYXwOi2L.js} +1 -1
- package/dist/viewer/{ar-SA-G6X2FPQ2-qNPFpNYG.js → ar-SA-G6X2FPQ2-9GXzPlrK.js} +1 -1
- package/dist/viewer/{architecture-7GRP2DOG-BizmpjHH.js → architecture-7GRP2DOG-Dy3GJfSN.js} +1 -1
- package/dist/viewer/{architectureDiagram-5GKGNRK7-BuHdaFmM.js → architectureDiagram-5GKGNRK7-1EQ6eTro.js} +1 -1
- package/dist/viewer/{az-AZ-76LH7QW2-CbXvPy4A.js → az-AZ-76LH7QW2-B6E08k0L.js} +1 -1
- package/dist/viewer/{bg-BG-XCXSNQG7-DcRkeEZa.js → bg-BG-XCXSNQG7-CT75Hh8J.js} +1 -1
- package/dist/viewer/{blockDiagram-I7D4REHJ-BjZAhqNZ.js → blockDiagram-I7D4REHJ-Bots_bLJ.js} +1 -1
- package/dist/viewer/{bn-BD-2XOGV67Q-CYG0oQ07.js → bn-BD-2XOGV67Q-CdBG2RJk.js} +1 -1
- package/dist/viewer/{c4Diagram-7LVT6UL2-Dw9Lqcc4.js → c4Diagram-7LVT6UL2-C7DksWh5.js} +1 -1
- package/dist/viewer/{ca-ES-6MX7JW3Y-DZg7oXog.js → ca-ES-6MX7JW3Y-DDc1wD41.js} +1 -1
- package/dist/viewer/channel-ByZrhKcD.js +1 -0
- package/dist/viewer/{channel-CgSk2sDt.js → channel-CK8VjRfv.js} +4 -4
- package/dist/viewer/{chunk-4HAMMTFA-CmIOM_4n.js → chunk-4HAMMTFA-CFwFBnb7.js} +1 -1
- package/dist/viewer/{chunk-75Z2AOVW-Bk3gHz3u.js → chunk-75Z2AOVW-Ckcf4HXf.js} +1 -1
- package/dist/viewer/{chunk-DU6HZSFF-Z871Xxjd.js → chunk-DU6HZSFF-DSkKm1Sg.js} +1 -1
- package/dist/viewer/{chunk-EIO257PC-BowPlGMj.js → chunk-EIO257PC-Cp5jHH2B.js} +1 -1
- package/dist/viewer/{chunk-F27PBJKO-Da_Uy85s.js → chunk-F27PBJKO-CGR7FwkE.js} +1 -1
- package/dist/viewer/{chunk-GMAD6QVW-D99eqSu1.js → chunk-GMAD6QVW-CrVyThKY.js} +1 -1
- package/dist/viewer/{chunk-GVQU2GXP-DpHE-JHS.js → chunk-GVQU2GXP-DeN7DWg4.js} +1 -1
- package/dist/viewer/{chunk-IMKFNOWR-DNlzjXm8.js → chunk-IMKFNOWR-fh_OFrpb.js} +1 -1
- package/dist/viewer/{chunk-L3NEJ4N5-CwGjxbjF.js → chunk-L3NEJ4N5-B5ku2yKH.js} +1 -1
- package/dist/viewer/{chunk-OSK3NFVY-B4adwKZF.js → chunk-OSK3NFVY-BZxVtLcj.js} +1 -1
- package/dist/viewer/{chunk-P2QGCYS3-CR8elxW8.js → chunk-P2QGCYS3-vj5npGX4.js} +1 -1
- package/dist/viewer/{chunk-POPQ4Y6H-D5X5fYtJ.js → chunk-POPQ4Y6H-y6gZTjTL.js} +1 -1
- package/dist/viewer/{chunk-PWAF6VOD-C52ljaIH.js → chunk-PWAF6VOD-C5U8QIrG.js} +1 -1
- package/dist/viewer/{chunk-SHT3W25Y-Bqd2yIYA.js → chunk-SHT3W25Y-CrNt-vdk.js} +1 -1
- package/dist/viewer/{chunk-SVP7TREG-B-2E6atr.js → chunk-SVP7TREG-B4H37B9Z.js} +1 -1
- package/dist/viewer/{chunk-TICWLB2K-C4hY4B9O.js → chunk-TICWLB2K-DYoGsdJA.js} +1 -1
- package/dist/viewer/classDiagram-ZZMXUADV-G09oZdI0.js +1 -0
- package/dist/viewer/classDiagram-v2-VYDZK3BY-G09oZdI0.js +1 -0
- package/dist/viewer/{cs-CZ-2BRQDIVT-DmUu99ZE.js → cs-CZ-2BRQDIVT-DgBiVbuw.js} +1 -1
- package/dist/viewer/{cynefin-OW5HDTMX-CNpCyJlF.js → cynefin-OW5HDTMX-bvMkVO6w.js} +1 -1
- package/dist/viewer/{cynefinDiagram-5FMLGOSQ-D_E8exI5.js → cynefinDiagram-5FMLGOSQ-CjPrZzrG.js} +1 -1
- package/dist/viewer/{da-DK-5WZEPLOC-DrcqQnR5.js → da-DK-5WZEPLOC-D-yGNnLN.js} +1 -1
- package/dist/viewer/{dagre-GXQ25YYZ-B-hQNnoj.js → dagre-GXQ25YYZ-CuRrD3a3.js} +1 -1
- package/dist/viewer/{de-DE-XR44H4JA-BwGQ1Bu3.js → de-DE-XR44H4JA-Bgx9Q_D-.js} +1 -1
- package/dist/viewer/{diagram-S7CK7UJ4-DyrrPPnW.js → diagram-S7CK7UJ4-d9huVCZC.js} +1 -1
- package/dist/viewer/{diagram-UQ7AKVKN-DFdvde_8.js → diagram-UQ7AKVKN-Dw0NgQU7.js} +1 -1
- package/dist/viewer/{diagram-VSXAHHWV-BDdvfK3v.js → diagram-VSXAHHWV-BO48ZPAa.js} +1 -1
- package/dist/viewer/{diagram-VX7I27RA-Bv2wKJgk.js → diagram-VX7I27RA-CjjLbqAT.js} +1 -1
- package/dist/viewer/{diagram-Z3DM3KII-DVbVVBJH.js → diagram-Z3DM3KII-CqSQfWgq.js} +1 -1
- package/dist/viewer/{dist-DL1gyV3R.js → dist-96ICyKY0.js} +1 -1
- package/dist/viewer/{dist-DRMtu_-x.js → dist-BICCa23f.js} +1 -1
- package/dist/viewer/{dist-gv6IdArU.js → dist-BQJ_hgBh.js} +1 -1
- package/dist/viewer/{dist-DJjmFLDp.js → dist-BdwcfhMg.js} +1 -1
- package/dist/viewer/{dist-nHjoUtlT.js → dist-BohmHXvo.js} +1 -1
- package/dist/viewer/{dist-Cp67yPvp.js → dist-Bq5yGCvS.js} +1 -1
- package/dist/viewer/{dist-BpMGGlEV.js → dist-Bsxu0shl.js} +4 -4
- package/dist/viewer/{dist-C1no3jCb.js → dist-C8DkAQYd.js} +1 -1
- package/dist/viewer/{dist-B_G83rKD.js → dist-CACUOSsz.js} +1 -1
- package/dist/viewer/{dist-3KIsZmwj.js → dist-CFmM2XV7.js} +1 -1
- package/dist/viewer/{dist-C-Ceo6Fq.js → dist-CGDckSlK.js} +1 -1
- package/dist/viewer/{dist-BLMq_PiX.js → dist-CNKIbzP5.js} +1 -1
- package/dist/viewer/{dist-CLaYa349.js → dist-CoNkk-jP.js} +1 -1
- package/dist/viewer/{dist-DDjqhgMa.js → dist-Ct9Rv4Nb.js} +1 -1
- package/dist/viewer/{dist-Cs9q7OJl.js → dist-DFqgUaXc.js} +1 -1
- package/dist/viewer/{dist-Dril0ai0.js → dist-DHvxE90p.js} +1 -1
- package/dist/viewer/{dist-BfMsz_Mq.js → dist-DRVN9BoJ.js} +1 -1
- package/dist/viewer/{dist-Ks19j7-h.js → dist-DbTvrrue.js} +1 -1
- package/dist/viewer/{dist-DJtATNMP.js → dist-DeTBwAKa.js} +1 -1
- package/dist/viewer/{dist-BqBGd2fX.js → dist-DwmGeZQ2.js} +1 -1
- package/dist/viewer/{dist-Dbb4bImq.js → dist-PKCsW6uh.js} +1 -1
- package/dist/viewer/{dist-DpiVIFsv.js → dist-f6pfIPrl.js} +1 -1
- package/dist/viewer/{dist-2N6kKX64.js → dist-iWGU90nm.js} +1 -1
- package/dist/viewer/{dist-b6M4YQd0.js → dist-tEmP_1dP.js} +1 -1
- package/dist/viewer/{ebnfDiagram-PWID7BFC-BPZEgIKG.js → ebnfDiagram-PWID7BFC-DUuSLOwC.js} +1 -1
- package/dist/viewer/{el-GR-BZB4AONW-BHX9PTvB.js → el-GR-BZB4AONW-DBGnJY6B.js} +1 -1
- package/dist/viewer/{en-B4ZKOASM-ChdJoy_X.js → en-B4ZKOASM-ChYtA4ee.js} +1 -1
- package/dist/viewer/{erDiagram-RLTQ6QDP-teAVgmCA.js → erDiagram-RLTQ6QDP-6atcXUph.js} +1 -1
- package/dist/viewer/{es-ES-U4NZUMDT-DGRmVt9a.js → es-ES-U4NZUMDT-CktGk8Tg.js} +1 -1
- package/dist/viewer/{eu-ES-A7QVB2H4-6SSWUUs4.js → eu-ES-A7QVB2H4-CFlNXwf5.js} +1 -1
- package/dist/viewer/{eventmodeling-NTZA5JFV-B1I1Mylr.js → eventmodeling-NTZA5JFV-C5ZVZEiz.js} +1 -1
- package/dist/viewer/{fa-IR-HGAKTJCU-B_-FrT72.js → fa-IR-HGAKTJCU-CQRMDqXN.js} +1 -1
- package/dist/viewer/{fi-FI-Z5N7JZ37-C7SiOzZ-.js → fi-FI-Z5N7JZ37-CHKM1WB9.js} +1 -1
- package/dist/viewer/flowDiagram-HODETNUW-B9-KDJxc.js +1 -0
- package/dist/viewer/{fr-FR-RHASNOE6-B_QvfKMB.js → fr-FR-RHASNOE6-CUyuT7p6.js} +1 -1
- package/dist/viewer/{ganttDiagram-EL5Y4UJY-BMv_Q37E.js → ganttDiagram-EL5Y4UJY-DD2E-HAj.js} +1 -1
- package/dist/viewer/{gitGraph-4MIJSDKK-Bu1dbHFU.js → gitGraph-4MIJSDKK-BLvljQme.js} +1 -1
- package/dist/viewer/{gitGraphDiagram-WWUBYQGX-DUZ8_32F.js → gitGraphDiagram-WWUBYQGX-B0qzhOb6.js} +1 -1
- package/dist/viewer/{gl-ES-HMX3MZ6V-CmXVsVrw.js → gl-ES-HMX3MZ6V-CwJG5tWR.js} +1 -1
- package/dist/viewer/{he-IL-6SHJWFNN-8kv-3A3Y.js → he-IL-6SHJWFNN-_DosmhM7.js} +1 -1
- package/dist/viewer/{hi-IN-IWLTKZ5I-CvpAemRq.js → hi-IN-IWLTKZ5I-CrW9_EjK.js} +1 -1
- package/dist/viewer/{hu-HU-A5ZG7DT2-DOiAQ3qh.js → hu-HU-A5ZG7DT2-Dczvo59m.js} +1 -1
- package/dist/viewer/{id-ID-SAP4L64H-BK_k3fGY.js → id-ID-SAP4L64H-iSPag4VQ.js} +1 -1
- package/dist/viewer/{image-GAAHSSAO-WbKWFRU6.js → image-GAAHSSAO-BVJuAdML.js} +1 -1
- package/dist/viewer/{imperative-DfjHJwB9.js → imperative-_CkvZv3L.js} +1 -1
- package/dist/viewer/index.html +3 -3
- package/dist/viewer/index.js +3 -3
- package/dist/viewer/{info-A6RAGUB7-BVW83dCy.js → info-A6RAGUB7-Bhn0w0ii.js} +1 -1
- package/dist/viewer/{infoDiagram-27XIBGKW-C7TxtcWL.js → infoDiagram-27XIBGKW-BVSbmxC-.js} +1 -1
- package/dist/viewer/{ishikawaDiagram-5VMMS53U-BT-yQVRc.js → ishikawaDiagram-5VMMS53U-DdsbHCoI.js} +1 -1
- package/dist/viewer/{it-IT-JPQ66NNP-BNsEQmLq.js → it-IT-JPQ66NNP-8-_iFasU.js} +1 -1
- package/dist/viewer/{itemEquality-Dx2kxFQI.js → itemEquality-C3XfrMi2.js} +1 -1
- package/dist/viewer/{ja-JP-DBVTYXUO-jEL5Zohm.js → ja-JP-DBVTYXUO-irdMOHqC.js} +1 -1
- package/dist/viewer/{journeyDiagram-3NMN7TZE-D56mmWU7.js → journeyDiagram-3NMN7TZE-Cse6N-5p.js} +1 -1
- package/dist/viewer/{kaa-6HZHGXH3-B6pyJXZH.js → kaa-6HZHGXH3-DSu-PtX5.js} +1 -1
- package/dist/viewer/{kab-KAB-ZGHBKWFO-CLlf3rfz.js → kab-KAB-ZGHBKWFO-Bjc7u2yG.js} +1 -1
- package/dist/viewer/{kanban-definition-UXKFOSKX-hi8MCy0F.js → kanban-definition-UXKFOSKX-CdmNcOy5.js} +1 -1
- package/dist/viewer/{kk-KZ-P5N5QNE5-D-GnQDUN.js → kk-KZ-P5N5QNE5-CjQwQASw.js} +1 -1
- package/dist/viewer/{km-KH-HSX4SM5Z-CvlRaq6r.js → km-KH-HSX4SM5Z-CMslZbL1.js} +1 -1
- package/dist/viewer/{ko-KR-MTYHY66A-mYkZX31W.js → ko-KR-MTYHY66A-DBdzdGrw.js} +1 -1
- package/dist/viewer/{ku-TR-6OUDTVRD-CeXiI7eX.js → ku-TR-6OUDTVRD-C3zBzgJI.js} +1 -1
- package/dist/viewer/{lt-LT-XHIRWOB4-DNl9HTRS.js → lt-LT-XHIRWOB4-DWVw-ffO.js} +1 -1
- package/dist/viewer/{lv-LV-5QDEKY6T-_QejX_-F.js → lv-LV-5QDEKY6T-Zl3V2KMV.js} +1 -1
- package/dist/viewer/{mermaid-parser.core-8H71iLKg.js → mermaid-parser.core-CJFJTtR4.js} +3 -3
- package/dist/viewer/{mindmap-definition-YA3MSWOX-DDgO7tS-.js → mindmap-definition-YA3MSWOX-9mWYfj6-.js} +1 -1
- package/dist/viewer/{mr-IN-CRQNXWMA-OIHNnnu8.js → mr-IN-CRQNXWMA-D9aX0Bdo.js} +1 -1
- package/dist/viewer/{my-MM-5M5IBNSE-DYrw8pYH.js → my-MM-5M5IBNSE-SPXzrrJR.js} +1 -1
- package/dist/viewer/{nb-NO-T6EIAALU-DMd3Sg5d.js → nb-NO-T6EIAALU-C8h-KZrY.js} +1 -1
- package/dist/viewer/{nl-NL-IS3SIHDZ-D9AJQvsb.js → nl-NL-IS3SIHDZ-BflXY5YN.js} +1 -1
- package/dist/viewer/{nn-NO-6E72VCQL-DNeLg3d9.js → nn-NO-6E72VCQL-CFWc1uPu.js} +1 -1
- package/dist/viewer/{oc-FR-POXYY2M6-D6JMp-_j.js → oc-FR-POXYY2M6-BHz8giUr.js} +1 -1
- package/dist/viewer/{pa-IN-N4M65BXN-g5Vjsxo8.js → pa-IN-N4M65BXN-KYWN5LeG.js} +1 -1
- package/dist/viewer/{packet-AYTQ26CC-Dgk7eBb9.js → packet-AYTQ26CC-DrNZHDt7.js} +1 -1
- package/dist/viewer/{pegDiagram-XKGWAZYB-CVIwfqJt.js → pegDiagram-XKGWAZYB-DPszelm4.js} +1 -1
- package/dist/viewer/percentages-BXMCSKIN-BgOWZqvL.js +1 -0
- package/dist/viewer/{pie-WAS4IAKB-DS_tuosA.js → pie-WAS4IAKB-J0UiOL4B.js} +1 -1
- package/dist/viewer/{pieDiagram-E7YTZNPT-4vQIT90F.js → pieDiagram-E7YTZNPT-ClDIExzM.js} +1 -1
- package/dist/viewer/{pl-PL-T2D74RX3-CHeYNLpa.js → pl-PL-T2D74RX3-DhMivhiU.js} +1 -1
- package/dist/viewer/preview.html +4 -4
- package/dist/viewer/preview.js +1 -1
- package/dist/viewer/{prod-DiBc1897.js → prod-itzLn3X0.js} +8 -8
- package/dist/viewer/{pt-BR-5N22H2LF-taNFaSz0.js → pt-BR-5N22H2LF-gkkaKj42.js} +1 -1
- package/dist/viewer/{pt-PT-UZXXM6DQ-CsmK_jBH.js → pt-PT-UZXXM6DQ-NWnJTvgF.js} +1 -1
- package/dist/viewer/{quadrantDiagram-AXDQQJYC-BeirbPa5.js → quadrantDiagram-AXDQQJYC-CYy8PwM3.js} +1 -1
- package/dist/viewer/{radar-RG4KPBEZ-BsCRiS0D.js → radar-RG4KPBEZ-DQrCAAlO.js} +1 -1
- package/dist/viewer/{railroad-74A4TZTK--zO8tvea.js → railroad-74A4TZTK-Bie2KVo4.js} +1 -1
- package/dist/viewer/{railroad-abnf-HS5TGJTU-BZWetNTH.js → railroad-abnf-HS5TGJTU-CqHzfM_H.js} +1 -1
- package/dist/viewer/{railroad-ebnf-LZEXJU2U-Bdr-nXDi.js → railroad-ebnf-LZEXJU2U-Ba93pI_q.js} +1 -1
- package/dist/viewer/{railroad-peg-WCYAUIDC-5QbqtFhr.js → railroad-peg-WCYAUIDC-oFmY9M6i.js} +1 -1
- package/dist/viewer/{railroadDiagram-O6MQD6OU-CEc9eC2b.js → railroadDiagram-O6MQD6OU-Bl287Huh.js} +1 -1
- package/dist/viewer/{requirementDiagram-BXWQKSXE-gHO3OQpd.js → requirementDiagram-BXWQKSXE-C7qjeIWt.js} +1 -1
- package/dist/viewer/{ro-RO-JPDTUUEW-URJMRk3q.js → ro-RO-JPDTUUEW-Ci-CRtV_.js} +1 -1
- package/dist/viewer/{ru-RU-B4JR7IUQ-DI6p8dtR.js → ru-RU-B4JR7IUQ-BPm31ic_.js} +1 -1
- package/dist/viewer/{sankeyDiagram-P5KCCOFB-BKwmk90Q.js → sankeyDiagram-P5KCCOFB-CSV23yCW.js} +1 -1
- package/dist/viewer/{selection-BUarVaVG.js → selection-DiNkp8_u.js} +1 -1
- package/dist/viewer/{sequenceDiagram-WJ2MYXX4-DNRtNYaC.js → sequenceDiagram-WJ2MYXX4-BbxTUdX6.js} +1 -1
- package/dist/viewer/{si-LK-N5RQ5JYF-CC3Wbwwt.js → si-LK-N5RQ5JYF-7zJDxmel.js} +1 -1
- package/dist/viewer/{sk-SK-C5VTKIMK-D4qIYJZm.js → sk-SK-C5VTKIMK-BNbR9mTT.js} +1 -1
- package/dist/viewer/{sl-SI-NN7IZMDC-BrX9Kjyd.js → sl-SI-NN7IZMDC-Dzy-6Up_.js} +1 -1
- package/dist/viewer/{stateDiagram-D77RDMKH-DFHhwDaw.js → stateDiagram-D77RDMKH-hpVLVGhL.js} +1 -1
- package/dist/viewer/stateDiagram-v2-MP3YSRHH-BH2KXEBo.js +1 -0
- package/dist/viewer/subset-shared.chunk-Czwfa2VQ.js +1 -0
- package/dist/viewer/{subset-worker.chunk-D_1PjTiM.js → subset-worker.chunk-Dgy8sQUD.js} +1 -1
- package/dist/viewer/{sv-SE-XGPEYMSR-CrLXWvFy.js → sv-SE-XGPEYMSR-C5bggny3.js} +1 -1
- package/dist/viewer/{swimlanes-42K2YHIH-DzGUJWU-.js → swimlanes-42K2YHIH-BRqXz7nV.js} +1 -1
- package/dist/viewer/swimlanesDiagram-VR7AAH4N-Blx0nEYQ.js +8 -0
- package/dist/viewer/{ta-IN-2NMHFXQM-BjEs1VFY.js → ta-IN-2NMHFXQM-Pw1wRofq.js} +1 -1
- package/dist/viewer/{th-TH-HPSO5L25-Cg6PzVXI.js → th-TH-HPSO5L25-Nz-UqtdD.js} +1 -1
- package/dist/viewer/{timeline-definition-24CTP7MA-CIpmMJhg.js → timeline-definition-24CTP7MA-Dp3nP8rd.js} +1 -1
- package/dist/viewer/{tr-TR-DEFEU3FU-DCEAv9nq.js → tr-TR-DEFEU3FU-DTlGCmld.js} +1 -1
- package/dist/viewer/{treeView-Q6P3EWNA-DHjfLsjZ.js → treeView-Q6P3EWNA-z3dPnkjZ.js} +1 -1
- package/dist/viewer/{treemap-WGGIJYW6-COOVf8-Y.js → treemap-WGGIJYW6-DeaU4Gxo.js} +1 -1
- package/dist/viewer/{type-icons-BonbxUGw.js → type-icons-BhI8cIWS.js} +1 -1
- package/dist/viewer/{uk-UA-QMV73CPH-DMWYOkg6.js → uk-UA-QMV73CPH-Bx9vPanC.js} +1 -1
- package/dist/viewer/useSystemTheme-Dzqcdh-y.js +64 -0
- package/dist/viewer/{useTranslation-Ci5tOdAN.js → useTranslation-B4Q9Bc_u.js} +1 -1
- package/dist/viewer/{useTypeFavicon-B--Z-Uwv.js → useTypeFavicon-B01CcUw4.js} +1 -1
- package/dist/viewer/{vennDiagram-4TSXK5OY-BWDC-eE0.js → vennDiagram-4TSXK5OY-B2g-6QAa.js} +1 -1
- package/dist/viewer/{vi-VN-M7AON7JQ-CVj2nFN-.js → vi-VN-M7AON7JQ-DvU5fCQK.js} +1 -1
- package/dist/viewer/{view-D0Odcpdb.js → view-R1KProyl.js} +1 -1
- package/dist/viewer/{wardley-WFR3VGLG-CDlPWlPO.js → wardley-WFR3VGLG-hhWao6Ek.js} +1 -1
- package/dist/viewer/{wardleyDiagram-VM6X3IG4-C9yxtxg6.js → wardleyDiagram-VM6X3IG4-pFu6p_Rn.js} +1 -1
- package/dist/viewer/{xychartDiagram-S5SC5T6Z-Dv4UxBWo.js → xychartDiagram-S5SC5T6Z-GC8fXUaM.js} +1 -1
- package/dist/viewer/{zh-CN-LNUGB5OW-i7Vn4Pqy.js → zh-CN-LNUGB5OW-LWpPfppU.js} +1 -1
- package/dist/viewer/{zh-HK-E62DVLB3-Cm16SoeD.js → zh-HK-E62DVLB3-BQrPpETb.js} +1 -1
- package/dist/viewer/{zh-TW-RAJ6MFWO-Lambeacv.js → zh-TW-RAJ6MFWO-O2w99mPI.js} +1 -1
- package/dist/viewer-lib/{Canvas-BdS1Xa5w.js → Canvas-Gv8uEhbb.js} +1 -1
- package/dist/viewer-lib/core.js +3 -3
- package/dist/viewer-lib/{ids-Crgtnwo0.js → ids-CJH3rRXm.js} +38 -38
- package/dist/viewer-lib/index.js +1002 -1002
- package/dist/viewer-lib/types/src/shared/ids.d.ts +3 -0
- package/package.json +1 -1
- package/dist/viewer/channel-DGerhKw9.js +0 -1
- package/dist/viewer/classDiagram-ZZMXUADV-DWXc-S98.js +0 -1
- package/dist/viewer/classDiagram-v2-VYDZK3BY-DWXc-S98.js +0 -1
- package/dist/viewer/flowDiagram-HODETNUW-DWhovppS.js +0 -1
- package/dist/viewer/percentages-BXMCSKIN-NLhw_fz5.js +0 -1
- package/dist/viewer/stateDiagram-v2-MP3YSRHH-D8ViYn3V.js +0 -1
- package/dist/viewer/subset-shared.chunk-Bx9OralH.js +0 -1
- package/dist/viewer/swimlanesDiagram-VR7AAH4N-Clea06qq.js +0 -8
- package/dist/viewer/useSystemTheme-BVZLLsnc.js +0 -64
package/dist/server.cjs
CHANGED
|
@@ -5191,8 +5191,14 @@ var import_node_fs = __toESM(require("node:fs"), 1);
|
|
|
5191
5191
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
5192
5192
|
|
|
5193
5193
|
// src/shared/ids.ts
|
|
5194
|
-
var
|
|
5194
|
+
var SLUG_SOURCE = "[a-z0-9][a-z0-9-]*";
|
|
5195
|
+
var ADDRESS_SOURCE = "(?:[A-Za-z0-9_-]{21}|[a-f0-9]{32})";
|
|
5196
|
+
var ARTIFACT_LOCATOR_SOURCE = `(?:${SLUG_SOURCE}|${ADDRESS_SOURCE})`;
|
|
5197
|
+
var ID_PATTERN = new RegExp(`^${SLUG_SOURCE}$`);
|
|
5198
|
+
var ADDRESS_PATTERN = new RegExp(`^${ADDRESS_SOURCE}$`);
|
|
5195
5199
|
var isArtifactId = (id2) => ID_PATTERN.test(id2);
|
|
5200
|
+
var isArtifactAddress = (id2) => ADDRESS_PATTERN.test(id2);
|
|
5201
|
+
var isArtifactLocator = (id2) => ID_PATTERN.test(id2) || ADDRESS_PATTERN.test(id2);
|
|
5196
5202
|
var isArtifactType = (type) => ARTIFACT_TYPES.includes(type);
|
|
5197
5203
|
|
|
5198
5204
|
// src/server/artifacts.ts
|
|
@@ -5228,9 +5234,9 @@ function resolveArtifactDir(root, type, id2) {
|
|
|
5228
5234
|
return null;
|
|
5229
5235
|
}
|
|
5230
5236
|
}
|
|
5231
|
-
function artifactKeyOf(relative) {
|
|
5237
|
+
function artifactKeyOf(relative, isId2 = isArtifactId) {
|
|
5232
5238
|
const [type, id2] = relative.split("/");
|
|
5233
|
-
if (!type || !id2 || !isArtifactType(type) || !
|
|
5239
|
+
if (!type || !id2 || !isArtifactType(type) || !isId2(id2)) return null;
|
|
5234
5240
|
return { type, id: id2 };
|
|
5235
5241
|
}
|
|
5236
5242
|
function artifactSignature(dir, type) {
|
|
@@ -5265,9 +5271,87 @@ function artifactSignature(dir, type) {
|
|
|
5265
5271
|
}
|
|
5266
5272
|
|
|
5267
5273
|
// src/server/artifact-address.ts
|
|
5268
|
-
var import_node_crypto2 = __toESM(require("node:crypto"), 1);
|
|
5269
5274
|
var import_node_fs2 = __toESM(require("node:fs"), 1);
|
|
5270
5275
|
var import_node_path2 = __toESM(require("node:path"), 1);
|
|
5276
|
+
|
|
5277
|
+
// node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/index.js
|
|
5278
|
+
var import_node_crypto2 = require("node:crypto");
|
|
5279
|
+
|
|
5280
|
+
// node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/url-alphabet/index.js
|
|
5281
|
+
var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
5282
|
+
|
|
5283
|
+
// node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/index.js
|
|
5284
|
+
var POOL_SIZE_MULTIPLIER = 128;
|
|
5285
|
+
var pool;
|
|
5286
|
+
var poolOffset;
|
|
5287
|
+
function fillPool(bytes) {
|
|
5288
|
+
if (bytes < 0) throw new RangeError("Wrong ID size");
|
|
5289
|
+
try {
|
|
5290
|
+
if (!pool || pool.length < bytes) {
|
|
5291
|
+
pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER);
|
|
5292
|
+
import_node_crypto2.webcrypto.getRandomValues(pool);
|
|
5293
|
+
poolOffset = 0;
|
|
5294
|
+
} else if (poolOffset + bytes > pool.length) {
|
|
5295
|
+
import_node_crypto2.webcrypto.getRandomValues(pool);
|
|
5296
|
+
poolOffset = 0;
|
|
5297
|
+
}
|
|
5298
|
+
} catch (e5) {
|
|
5299
|
+
pool = void 0;
|
|
5300
|
+
throw e5;
|
|
5301
|
+
}
|
|
5302
|
+
poolOffset += bytes;
|
|
5303
|
+
}
|
|
5304
|
+
function random(bytes) {
|
|
5305
|
+
fillPool(bytes |= 0);
|
|
5306
|
+
return pool.subarray(poolOffset - bytes, poolOffset);
|
|
5307
|
+
}
|
|
5308
|
+
function customRandom(alphabet, defaultSize, getRandom) {
|
|
5309
|
+
let safeByteCutoff = 256 - 256 % alphabet.length;
|
|
5310
|
+
if (safeByteCutoff === 256) {
|
|
5311
|
+
let mask = alphabet.length - 1;
|
|
5312
|
+
return (size = defaultSize) => {
|
|
5313
|
+
if (!size) return "";
|
|
5314
|
+
let id2 = "";
|
|
5315
|
+
while (true) {
|
|
5316
|
+
let bytes = getRandom(size);
|
|
5317
|
+
let i6 = size;
|
|
5318
|
+
while (i6--) {
|
|
5319
|
+
id2 += alphabet[bytes[i6] & mask];
|
|
5320
|
+
if (id2.length >= size) return id2;
|
|
5321
|
+
}
|
|
5322
|
+
}
|
|
5323
|
+
};
|
|
5324
|
+
}
|
|
5325
|
+
let step = Math.ceil(1.6 * 256 * defaultSize / safeByteCutoff);
|
|
5326
|
+
return (size = defaultSize) => {
|
|
5327
|
+
if (!size) return "";
|
|
5328
|
+
let id2 = "";
|
|
5329
|
+
while (true) {
|
|
5330
|
+
let bytes = getRandom(step);
|
|
5331
|
+
let i6 = step;
|
|
5332
|
+
while (i6--) {
|
|
5333
|
+
if (bytes[i6] < safeByteCutoff) {
|
|
5334
|
+
id2 += alphabet[bytes[i6] % alphabet.length];
|
|
5335
|
+
if (id2.length >= size) return id2;
|
|
5336
|
+
}
|
|
5337
|
+
}
|
|
5338
|
+
}
|
|
5339
|
+
};
|
|
5340
|
+
}
|
|
5341
|
+
function customAlphabet(alphabet, size = 21) {
|
|
5342
|
+
return customRandom(alphabet, size, random);
|
|
5343
|
+
}
|
|
5344
|
+
function nanoid(size = 21) {
|
|
5345
|
+
fillPool(size |= 0);
|
|
5346
|
+
let id2 = "";
|
|
5347
|
+
for (let i6 = poolOffset - size; i6 < poolOffset; i6++) {
|
|
5348
|
+
id2 += urlAlphabet[pool[i6] & 63];
|
|
5349
|
+
}
|
|
5350
|
+
return id2;
|
|
5351
|
+
}
|
|
5352
|
+
|
|
5353
|
+
// src/server/artifact-address.ts
|
|
5354
|
+
var newArtifactId = customAlphabet("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", 21);
|
|
5271
5355
|
function artifactId(dir) {
|
|
5272
5356
|
const file = import_node_path2.default.join(dir, ".artifact-id");
|
|
5273
5357
|
let id2;
|
|
@@ -5275,7 +5359,7 @@ function artifactId(dir) {
|
|
|
5275
5359
|
id2 = import_node_fs2.default.readFileSync(file, "utf8").trim();
|
|
5276
5360
|
} catch (err) {
|
|
5277
5361
|
if (err.code !== "ENOENT") throw err;
|
|
5278
|
-
id2 =
|
|
5362
|
+
id2 = newArtifactId();
|
|
5279
5363
|
try {
|
|
5280
5364
|
import_node_fs2.default.writeFileSync(file, `${id2}
|
|
5281
5365
|
`, { flag: "wx" });
|
|
@@ -5284,7 +5368,7 @@ function artifactId(dir) {
|
|
|
5284
5368
|
return artifactId(dir);
|
|
5285
5369
|
}
|
|
5286
5370
|
}
|
|
5287
|
-
if (
|
|
5371
|
+
if (!isArtifactAddress(id2)) throw new Error(`Invalid artifact ID in ${file}`);
|
|
5288
5372
|
return id2;
|
|
5289
5373
|
}
|
|
5290
5374
|
function artifactPath(root, type, slug) {
|
|
@@ -5351,7 +5435,7 @@ function readDocument(dir, id2) {
|
|
|
5351
5435
|
}
|
|
5352
5436
|
|
|
5353
5437
|
// node_modules/.pnpm/nanoid@6.0.2/node_modules/nanoid/url-alphabet/index.js
|
|
5354
|
-
var
|
|
5438
|
+
var urlAlphabet2 = "57X6y3wQZNzYjJB2L_10pxbackgroundhimselfUTF-8DEMOGRAPHICSVqvt4KW9";
|
|
5355
5439
|
|
|
5356
5440
|
// node_modules/.pnpm/nanoid@6.0.2/node_modules/nanoid/index.js
|
|
5357
5441
|
var GET_RANDOM_LIMIT = 65536;
|
|
@@ -5363,14 +5447,14 @@ function fillRandom(buffer) {
|
|
|
5363
5447
|
from = to3;
|
|
5364
5448
|
}
|
|
5365
5449
|
}
|
|
5366
|
-
function
|
|
5450
|
+
function random2(bytes) {
|
|
5367
5451
|
bytes |= 0;
|
|
5368
5452
|
if (bytes < 0) throw new RangeError("Wrong ID size");
|
|
5369
5453
|
let buffer = Buffer.allocUnsafe(bytes);
|
|
5370
5454
|
fillRandom(buffer);
|
|
5371
5455
|
return buffer;
|
|
5372
5456
|
}
|
|
5373
|
-
function
|
|
5457
|
+
function customRandom2(alphabet, defaultSize, getRandom) {
|
|
5374
5458
|
let safeByteCutoff = 256 - 256 % alphabet.length;
|
|
5375
5459
|
if (safeByteCutoff === 256) {
|
|
5376
5460
|
let mask = alphabet.length - 1;
|
|
@@ -5404,13 +5488,13 @@ function customRandom(alphabet, defaultSize, getRandom) {
|
|
|
5404
5488
|
};
|
|
5405
5489
|
}
|
|
5406
5490
|
var POOL_MAX = GET_RANDOM_LIMIT / 2;
|
|
5407
|
-
function
|
|
5491
|
+
function customAlphabet2(alphabet, defaultSize = 21) {
|
|
5408
5492
|
if (typeof alphabet !== "string" || !alphabet || alphabet.length > 256) {
|
|
5409
|
-
return
|
|
5493
|
+
return customRandom2(alphabet, defaultSize, random2);
|
|
5410
5494
|
}
|
|
5411
5495
|
for (let i6 = 0; i6 < alphabet.length; i6++) {
|
|
5412
5496
|
if (alphabet.charCodeAt(i6) > 255) {
|
|
5413
|
-
return
|
|
5497
|
+
return customRandom2(alphabet, defaultSize, random2);
|
|
5414
5498
|
}
|
|
5415
5499
|
}
|
|
5416
5500
|
let charCodes = Uint8Array.from(alphabet, (str) => {
|
|
@@ -5457,7 +5541,7 @@ function customAlphabet(alphabet, defaultSize = 21) {
|
|
|
5457
5541
|
return pool2.substring(poolOffset2 - size, poolOffset2);
|
|
5458
5542
|
};
|
|
5459
5543
|
}
|
|
5460
|
-
var
|
|
5544
|
+
var nanoid2 = customAlphabet2(urlAlphabet2);
|
|
5461
5545
|
|
|
5462
5546
|
// node_modules/.pnpm/@haklex+rich-litexml@0.58.0_typescript@5.9.3/node_modules/@haklex/rich-litexml/dist/src-CwO17cE7.js
|
|
5463
5547
|
var impl = null;
|
|
@@ -5603,11 +5687,11 @@ function registerBuiltinReaders(registry2) {
|
|
|
5603
5687
|
}));
|
|
5604
5688
|
}
|
|
5605
5689
|
var idAlphabet = "abcdefghijklmnopqrstuvwxyz0123456789";
|
|
5606
|
-
var makePollIdSuffix =
|
|
5607
|
-
var makeOptionIdSuffix =
|
|
5608
|
-
var makeChatParticipantId =
|
|
5609
|
-
var makeChatMessageId =
|
|
5610
|
-
var makeStepId =
|
|
5690
|
+
var makePollIdSuffix = customAlphabet2(idAlphabet, 10);
|
|
5691
|
+
var makeOptionIdSuffix = customAlphabet2(idAlphabet, 6);
|
|
5692
|
+
var makeChatParticipantId = customAlphabet2(idAlphabet, 6);
|
|
5693
|
+
var makeChatMessageId = customAlphabet2(idAlphabet, 8);
|
|
5694
|
+
var makeStepId = customAlphabet2(idAlphabet, 8);
|
|
5611
5695
|
function extractBlockId(el2) {
|
|
5612
5696
|
const id2 = el2.getAttribute("id");
|
|
5613
5697
|
return id2 ? { $: { blockId: id2 } } : {};
|
|
@@ -17610,42 +17694,6 @@ setPrototypeOf(Document4, Document2).prototype = Document2.prototype;
|
|
|
17610
17694
|
// node_modules/.pnpm/@haklex+rich-litexml@0.58.0_typescript@5.9.3/node_modules/@haklex/rich-litexml/dist/node.mjs
|
|
17611
17695
|
registerParseHTML((html) => parseHTML2(html).document);
|
|
17612
17696
|
|
|
17613
|
-
// node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/index.js
|
|
17614
|
-
var import_node_crypto3 = require("node:crypto");
|
|
17615
|
-
|
|
17616
|
-
// node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/url-alphabet/index.js
|
|
17617
|
-
var urlAlphabet2 = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
17618
|
-
|
|
17619
|
-
// node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/index.js
|
|
17620
|
-
var POOL_SIZE_MULTIPLIER = 128;
|
|
17621
|
-
var pool;
|
|
17622
|
-
var poolOffset;
|
|
17623
|
-
function fillPool(bytes) {
|
|
17624
|
-
if (bytes < 0) throw new RangeError("Wrong ID size");
|
|
17625
|
-
try {
|
|
17626
|
-
if (!pool || pool.length < bytes) {
|
|
17627
|
-
pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER);
|
|
17628
|
-
import_node_crypto3.webcrypto.getRandomValues(pool);
|
|
17629
|
-
poolOffset = 0;
|
|
17630
|
-
} else if (poolOffset + bytes > pool.length) {
|
|
17631
|
-
import_node_crypto3.webcrypto.getRandomValues(pool);
|
|
17632
|
-
poolOffset = 0;
|
|
17633
|
-
}
|
|
17634
|
-
} catch (e5) {
|
|
17635
|
-
pool = void 0;
|
|
17636
|
-
throw e5;
|
|
17637
|
-
}
|
|
17638
|
-
poolOffset += bytes;
|
|
17639
|
-
}
|
|
17640
|
-
function nanoid2(size = 21) {
|
|
17641
|
-
fillPool(size |= 0);
|
|
17642
|
-
let id2 = "";
|
|
17643
|
-
for (let i6 = poolOffset - size; i6 < poolOffset; i6++) {
|
|
17644
|
-
id2 += urlAlphabet2[pool[i6] & 63];
|
|
17645
|
-
}
|
|
17646
|
-
return id2;
|
|
17647
|
-
}
|
|
17648
|
-
|
|
17649
17697
|
// src/shared/dynamic.ts
|
|
17650
17698
|
var DYNAMIC_URL = /^assets\/[\w-][\w.-]*\.html$/;
|
|
17651
17699
|
|
|
@@ -17820,8 +17868,8 @@ function stampBlockIds(state) {
|
|
|
17820
17868
|
seen.add(id2);
|
|
17821
17869
|
return block;
|
|
17822
17870
|
}
|
|
17823
|
-
let fresh =
|
|
17824
|
-
while (seen.has(fresh)) fresh =
|
|
17871
|
+
let fresh = nanoid(8);
|
|
17872
|
+
while (seen.has(fresh)) fresh = nanoid(8);
|
|
17825
17873
|
seen.add(fresh);
|
|
17826
17874
|
return { ...block, $: { ...block.$, blockId: fresh } };
|
|
17827
17875
|
});
|
|
@@ -17838,7 +17886,7 @@ function boxDrawingDiagrams(state) {
|
|
|
17838
17886
|
}
|
|
17839
17887
|
|
|
17840
17888
|
// src/server/board-comments.ts
|
|
17841
|
-
var
|
|
17889
|
+
var import_node_crypto3 = __toESM(require("node:crypto"), 1);
|
|
17842
17890
|
var import_node_fs9 = __toESM(require("node:fs"), 1);
|
|
17843
17891
|
var import_node_path8 = __toESM(require("node:path"), 1);
|
|
17844
17892
|
|
|
@@ -18578,10 +18626,10 @@ var documentRules = {
|
|
|
18578
18626
|
agent: applyAgentOp
|
|
18579
18627
|
};
|
|
18580
18628
|
var noNames = { human: () => void 0, agent: () => void 0 };
|
|
18581
|
-
function createCommentStore(file, names = noNames, now = () => (/* @__PURE__ */ new Date()).toISOString(), newId = () =>
|
|
18629
|
+
function createCommentStore(file, names = noNames, now = () => (/* @__PURE__ */ new Date()).toISOString(), newId = () => nanoid(10)) {
|
|
18582
18630
|
return createStore(file, documentRules, names, now, newId);
|
|
18583
18631
|
}
|
|
18584
|
-
function createStore(file, rules, names = noNames, now = () => (/* @__PURE__ */ new Date()).toISOString(), newId = () =>
|
|
18632
|
+
function createStore(file, rules, names = noNames, now = () => (/* @__PURE__ */ new Date()).toISOString(), newId = () => nanoid(10)) {
|
|
18585
18633
|
let current = rules.empty();
|
|
18586
18634
|
let lastSeen = null;
|
|
18587
18635
|
let warnings = [];
|
|
@@ -18701,7 +18749,7 @@ function fileHash(dir, relative) {
|
|
|
18701
18749
|
const stamp2 = `${stat.size}:${stat.mtimeMs}`;
|
|
18702
18750
|
const cached = hashCache.get(file);
|
|
18703
18751
|
if (cached?.stamp === stamp2) return cached.hash;
|
|
18704
|
-
const hash =
|
|
18752
|
+
const hash = import_node_crypto3.default.createHash("sha1").update(import_node_fs9.default.readFileSync(file)).digest("hex").slice(0, 12);
|
|
18705
18753
|
hashCache.set(file, { stamp: stamp2, hash });
|
|
18706
18754
|
return hash;
|
|
18707
18755
|
} catch {
|
|
@@ -89050,6 +89098,15 @@ function installTweaks(win, makeTools) {
|
|
|
89050
89098
|
});
|
|
89051
89099
|
}
|
|
89052
89100
|
|
|
89101
|
+
// src/server/strip-runtime.ts
|
|
89102
|
+
var HEAD = /<head(\s[^>]*)?>/i;
|
|
89103
|
+
var PROLOGUE = /^\s*(<!doctype[^>]*>)?\s*(<html(\s[^>]*)?>)?/i;
|
|
89104
|
+
var EMBEDDED_STYLE = "<style>:root{color-scheme:light dark;background:transparent}body{margin:0;font-family:var(--lobe-font-family,system-ui,-apple-system,sans-serif)}</style>";
|
|
89105
|
+
function injectionPoint(html) {
|
|
89106
|
+
const head = HEAD.exec(html);
|
|
89107
|
+
return head ? head.index + head[0].length : PROLOGUE.exec(html)?.[0].length ?? 0;
|
|
89108
|
+
}
|
|
89109
|
+
|
|
89053
89110
|
// src/server/inject.ts
|
|
89054
89111
|
var RUNTIME = `(() => {
|
|
89055
89112
|
const post = (message) => parent.postMessage(message, '*');
|
|
@@ -89152,10 +89209,7 @@ var RUNTIME = `(() => {
|
|
|
89152
89209
|
}
|
|
89153
89210
|
});
|
|
89154
89211
|
})();`;
|
|
89155
|
-
var HEAD = /<head(\s[^>]*)?>/i;
|
|
89156
|
-
var PROLOGUE = /^\s*(<!doctype[^>]*>)?\s*(<html(\s[^>]*)?>)?/i;
|
|
89157
89212
|
var RUNTIME_LINE = RUNTIME.split("\n").map((line) => line.trim()).join(" ");
|
|
89158
|
-
var EMBEDDED_STYLE = "<style>:root{color-scheme:light dark;background:transparent}body{margin:0;font-family:var(--lobe-font-family,system-ui,-apple-system,sans-serif)}</style>";
|
|
89159
89213
|
var UI_MARKER = /<ryugi-(?!icon(?:\s|>))[a-z0-9-]+(?:\s|>)/i;
|
|
89160
89214
|
var UI_META = /<meta[^>]+name=["']ryugi-ui["'][^>]*>/i;
|
|
89161
89215
|
function injectRuntime(html, options = {}) {
|
|
@@ -89163,13 +89217,12 @@ function injectRuntime(html, options = {}) {
|
|
|
89163
89217
|
const tag = `${options.embedded ? EMBEDDED_STYLE : ""}<script>${inspect || RUNTIME_LINE}</script>`;
|
|
89164
89218
|
const ui2 = options.uiRuntimeUrl && !options.inspector && (UI_MARKER.test(html) || UI_META.test(html)) ? `<script defer src="${options.uiRuntimeUrl.replace(/"/g, """)}"></script>` : "";
|
|
89165
89219
|
const icons = options.uiRuntimeUrl && (ui2 || /<ryugi-icon(?:\s|>)|<meta[^>]+name=["']ryugi-icons["']/i.test(html)) ? `<script defer src="${options.uiRuntimeUrl.replace(/ryugi-ui\.js$/, "ryugi-icons.js").replace(/"/g, """)}"></script>` : "";
|
|
89166
|
-
const
|
|
89167
|
-
const at7 = head ? head.index + head[0].length : PROLOGUE.exec(html)?.[0].length ?? 0;
|
|
89220
|
+
const at7 = injectionPoint(html);
|
|
89168
89221
|
return html.slice(0, at7) + tag + icons + ui2 + html.slice(at7);
|
|
89169
89222
|
}
|
|
89170
89223
|
|
|
89171
89224
|
// src/server/http.ts
|
|
89172
|
-
var
|
|
89225
|
+
var import_node_crypto4 = __toESM(require("node:crypto"), 1);
|
|
89173
89226
|
var import_node_fs11 = __toESM(require("node:fs"), 1);
|
|
89174
89227
|
var import_node_path11 = __toESM(require("node:path"), 1);
|
|
89175
89228
|
var MIME2 = {
|
|
@@ -89195,11 +89248,11 @@ var MIME2 = {
|
|
|
89195
89248
|
".webm": "video/webm"
|
|
89196
89249
|
};
|
|
89197
89250
|
var mimeOf = (file) => MIME2[import_node_path11.default.extname(file).toLowerCase()] ?? "application/octet-stream";
|
|
89198
|
-
var randomToken = () =>
|
|
89251
|
+
var randomToken = () => import_node_crypto4.default.randomBytes(24).toString("base64url");
|
|
89199
89252
|
function safeEqual(a5, b6) {
|
|
89200
89253
|
const ab = Buffer.from(a5);
|
|
89201
89254
|
const bb = Buffer.from(b6);
|
|
89202
|
-
return ab.length === bb.length &&
|
|
89255
|
+
return ab.length === bb.length && import_node_crypto4.default.timingSafeEqual(ab, bb);
|
|
89203
89256
|
}
|
|
89204
89257
|
function parseCookies(header) {
|
|
89205
89258
|
const cookies = {};
|
|
@@ -89714,7 +89767,7 @@ function createRelayClient(options) {
|
|
|
89714
89767
|
}
|
|
89715
89768
|
|
|
89716
89769
|
// src/server/ws.ts
|
|
89717
|
-
var
|
|
89770
|
+
var import_node_crypto5 = __toESM(require("node:crypto"), 1);
|
|
89718
89771
|
var WS_MAGIC = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
|
|
89719
89772
|
var OPCODE_TEXT = 1;
|
|
89720
89773
|
var OPCODE_CLOSE = 8;
|
|
@@ -89722,7 +89775,7 @@ var OPCODE_PING = 9;
|
|
|
89722
89775
|
var OPCODE_PONG = 10;
|
|
89723
89776
|
var MAX_CLIENT_FRAME = 8 * 1024 * 1024;
|
|
89724
89777
|
function acceptKey(clientKey) {
|
|
89725
|
-
return
|
|
89778
|
+
return import_node_crypto5.default.createHash("sha1").update(clientKey + WS_MAGIC).digest("base64");
|
|
89726
89779
|
}
|
|
89727
89780
|
function encodeFrame(opcode, payload) {
|
|
89728
89781
|
const len = payload.length;
|
|
@@ -89861,7 +89914,7 @@ function hostIdFor(credentialsFile2) {
|
|
|
89861
89914
|
}
|
|
89862
89915
|
|
|
89863
89916
|
// src/server/avatars.ts
|
|
89864
|
-
var
|
|
89917
|
+
var import_node_crypto6 = require("node:crypto");
|
|
89865
89918
|
var AVATAR_ROUTE = /^\/api\/avatar\/([a-z]+)\/([^/]+)$/;
|
|
89866
89919
|
var MAX_BYTES = 512 * 1024;
|
|
89867
89920
|
var TIMEOUT_MS = 5e3;
|
|
@@ -89870,7 +89923,7 @@ var SOURCES = {
|
|
|
89870
89923
|
gravatar: { valid: /^[0-9a-f]{64}$/, url: (id2) => `https://gravatar.com/avatar/${id2}?s=64&d=404` }
|
|
89871
89924
|
};
|
|
89872
89925
|
var githubAvatar = (login) => `/api/avatar/github/${login}`;
|
|
89873
|
-
var gravatarAvatar = (email) => `/api/avatar/gravatar/${(0,
|
|
89926
|
+
var gravatarAvatar = (email) => `/api/avatar/gravatar/${(0, import_node_crypto6.createHash)("sha256").update(email.trim().toLowerCase()).digest("hex")}`;
|
|
89874
89927
|
function createAvatars(fetchImpl = fetch) {
|
|
89875
89928
|
const cache = /* @__PURE__ */ new Map();
|
|
89876
89929
|
const fetchAvatar = async (url) => {
|
|
@@ -89902,7 +89955,7 @@ function createAvatars(fetchImpl = fetch) {
|
|
|
89902
89955
|
}
|
|
89903
89956
|
|
|
89904
89957
|
// src/server/cloud.ts
|
|
89905
|
-
var
|
|
89958
|
+
var import_node_crypto7 = __toESM(require("node:crypto"), 1);
|
|
89906
89959
|
|
|
89907
89960
|
// src/shared/brand.ts
|
|
89908
89961
|
var RYUGI_MARK_VIEWBOX = "0 0 512 512";
|
|
@@ -90324,7 +90377,7 @@ function createCloudRoutes(options) {
|
|
|
90324
90377
|
const state = randomToken();
|
|
90325
90378
|
const verifier = randomToken();
|
|
90326
90379
|
pendingStates.set(state, { expires: now + LOGIN_STATE_TTL_MS, verifier });
|
|
90327
|
-
const challenge =
|
|
90380
|
+
const challenge = import_node_crypto7.default.createHash("sha256").update(verifier).digest("base64url");
|
|
90328
90381
|
return `${origin}/auth/cli?port=${options.port()}&state=${state}&challenge=${challenge}`;
|
|
90329
90382
|
};
|
|
90330
90383
|
const cloudFetch = async (method, path24, body) => {
|
|
@@ -90408,7 +90461,7 @@ function createCloudRoutes(options) {
|
|
|
90408
90461
|
} catch (err) {
|
|
90409
90462
|
throw new CloudRefused(413, err.message);
|
|
90410
90463
|
}
|
|
90411
|
-
const sha = (data) =>
|
|
90464
|
+
const sha = (data) => import_node_crypto7.default.createHash("sha256").update(data).digest("hex");
|
|
90412
90465
|
const hashed = withCloudRuntime(ref.type, packed).map((file) => ({ ...file, hash: sha(file.data) }));
|
|
90413
90466
|
const content = { title: inspected.title, payload: inspected.payload, files: hashed.map(({ path: path24, hash }) => ({ path: path24, hash })) };
|
|
90414
90467
|
const fingerprint = sha(JSON.stringify({ title: inspected.title, payload: fingerprintPayload(inspected.payload), files: packed.map((file) => ({ path: file.path, hash: sha(file.data) })) }));
|
|
@@ -91017,7 +91070,7 @@ function renderThumbnail(artifact, value) {
|
|
|
91017
91070
|
}
|
|
91018
91071
|
|
|
91019
91072
|
// src/server/viewer-page.ts
|
|
91020
|
-
var
|
|
91073
|
+
var import_node_crypto8 = require("node:crypto");
|
|
91021
91074
|
var escapeHtml2 = (value) => value.replace(/[&<>"']/g, (ch) => ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" })[ch]);
|
|
91022
91075
|
function viewerPage(template, page) {
|
|
91023
91076
|
const locale = page.locale ?? "en";
|
|
@@ -91039,12 +91092,12 @@ function viewerPage(template, page) {
|
|
|
91039
91092
|
}
|
|
91040
91093
|
var INLINE_SCRIPT = /<script\b(?![^>]*\bsrc=)[^>]*>([\s\S]*?)<\/script>/gi;
|
|
91041
91094
|
function allowInlineScripts(csp, html) {
|
|
91042
|
-
const hashes = [...html.matchAll(INLINE_SCRIPT)].map(([, body]) => `'sha256-${(0,
|
|
91095
|
+
const hashes = [...html.matchAll(INLINE_SCRIPT)].map(([, body]) => `'sha256-${(0, import_node_crypto8.createHash)("sha256").update(body).digest("base64")}'`);
|
|
91043
91096
|
return hashes.length ? csp.replace(/script-src [^;]*/, (directive) => `${directive} ${hashes.join(" ")}`) : csp;
|
|
91044
91097
|
}
|
|
91045
91098
|
|
|
91046
91099
|
// src/server/auto-publish.ts
|
|
91047
|
-
var
|
|
91100
|
+
var import_node_crypto9 = __toESM(require("node:crypto"), 1);
|
|
91048
91101
|
var import_node_fs21 = __toESM(require("node:fs"), 1);
|
|
91049
91102
|
var IDLE_MS = 5 * 60 * 1e3;
|
|
91050
91103
|
var MAX_WAIT_MS = 15 * 60 * 1e3;
|
|
@@ -91079,7 +91132,7 @@ function createAutoPublisher(options) {
|
|
|
91079
91132
|
const failures = /* @__PURE__ */ new Map();
|
|
91080
91133
|
const save = () => writeJsonAtomic(options.stateFile, { dirty: [...dirty], notice, paused });
|
|
91081
91134
|
const raise = (kind, message, upgradeUrl) => {
|
|
91082
|
-
if (notice?.kind !== kind) notice = { id:
|
|
91135
|
+
if (notice?.kind !== kind) notice = { id: import_node_crypto9.default.randomUUID(), kind, message, ...upgradeUrl ? { upgradeUrl } : {} };
|
|
91083
91136
|
};
|
|
91084
91137
|
let idleTimer = null;
|
|
91085
91138
|
let maxTimer = null;
|
|
@@ -91287,7 +91340,7 @@ var CLOSE_FLUSH_MS = 5e3;
|
|
|
91287
91340
|
var DIRECT_RELAY_ROUTE = /^\/relay\/a\/([A-Za-z0-9_-]{1,64})$/;
|
|
91288
91341
|
var SHELL_ROUTE = new RegExp(`^/(?:(${ARTIFACT_TYPES.join("|")})/([^/]+)/?)?$`);
|
|
91289
91342
|
var API_ARTIFACT_ROUTE = /^\/api\/artifacts\/([^/]+)\/([^/]+)$/;
|
|
91290
|
-
var PREVIEW_ROUTE =
|
|
91343
|
+
var PREVIEW_ROUTE = new RegExp(`^/preview/(artboard|document|html)/${ARTIFACT_LOCATOR_SOURCE}/?$`);
|
|
91291
91344
|
var API_PREVIEW_ROUTE = /^\/api\/preview\/([^/]+)\/([^/]+)$/;
|
|
91292
91345
|
var API_THUMBNAIL_ROUTE = /^\/api\/thumbnail\/([^/]+)\/([^/]+)\.svg$/;
|
|
91293
91346
|
var API_DOCUMENT_ROUTE = /^\/api\/document\/([^/]+)\/(state|update|comments)$/;
|
|
@@ -91788,7 +91841,7 @@ async function startArtifactsServer(options) {
|
|
|
91788
91841
|
}
|
|
91789
91842
|
const thumbnailMatch = API_THUMBNAIL_ROUTE.exec(pathname);
|
|
91790
91843
|
if (thumbnailMatch) {
|
|
91791
|
-
const requested = artifactKeyOf(`${thumbnailMatch[1]}/${thumbnailMatch[2]}
|
|
91844
|
+
const requested = artifactKeyOf(`${thumbnailMatch[1]}/${thumbnailMatch[2]}`, isArtifactLocator);
|
|
91792
91845
|
let resolved = null;
|
|
91793
91846
|
try {
|
|
91794
91847
|
resolved = requested && resolveArtifactAddress(root, requested.type, requested.id);
|
|
@@ -91891,7 +91944,7 @@ async function startArtifactsServer(options) {
|
|
|
91891
91944
|
return;
|
|
91892
91945
|
}
|
|
91893
91946
|
if (SHELL_ROUTE.test(pathname) || PREVIEW_ROUTE.test(pathname) || pathname === "/index.html") {
|
|
91894
|
-
const requested = artifactKeyOf(pathname.replace(/^\/(?:preview\/)?/, "").replace(/\/$/, ""));
|
|
91947
|
+
const requested = artifactKeyOf(pathname.replace(/^\/(?:preview\/)?/, "").replace(/\/$/, ""), isArtifactLocator);
|
|
91895
91948
|
const resolved = requested && resolveArtifactAddress(root, requested.type, requested.id);
|
|
91896
91949
|
const ref = resolved ?? requested;
|
|
91897
91950
|
const dir = resolved?.dir;
|
|
@@ -92321,7 +92374,7 @@ function openReady(payload) {
|
|
|
92321
92374
|
}
|
|
92322
92375
|
|
|
92323
92376
|
// src/server/registry.ts
|
|
92324
|
-
var
|
|
92377
|
+
var import_node_crypto10 = __toESM(require("node:crypto"), 1);
|
|
92325
92378
|
var import_node_fs26 = __toESM(require("node:fs"), 1);
|
|
92326
92379
|
var import_node_os = __toESM(require("node:os"), 1);
|
|
92327
92380
|
var import_node_path22 = __toESM(require("node:path"), 1);
|
|
@@ -92330,7 +92383,7 @@ function registryDir(env = process.env, platform = process.platform, uid = proce
|
|
|
92330
92383
|
if (platform === "win32") return import_node_path22.default.join(tmpdir, "ryugi", "servers");
|
|
92331
92384
|
return `/tmp/ryugi-${uid}/servers`;
|
|
92332
92385
|
}
|
|
92333
|
-
var fileFor = (dir, project) => import_node_path22.default.join(dir, `${
|
|
92386
|
+
var fileFor = (dir, project) => import_node_path22.default.join(dir, `${import_node_crypto10.default.createHash("sha256").update(project).digest("hex").slice(0, 16)}.json`);
|
|
92334
92387
|
function verifyDir(dir) {
|
|
92335
92388
|
if (process.platform === "win32") return;
|
|
92336
92389
|
for (const target of [import_node_path22.default.dirname(dir), dir]) {
|
|
@@ -92375,7 +92428,7 @@ function touchEntry(dir, entry) {
|
|
|
92375
92428
|
}
|
|
92376
92429
|
|
|
92377
92430
|
// package.json
|
|
92378
|
-
var version = "1.
|
|
92431
|
+
var version = "1.44.0";
|
|
92379
92432
|
|
|
92380
92433
|
// src/server/main.ts
|
|
92381
92434
|
async function main() {
|