@aiquants/markdown 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/dist/{abnfDiagram-VRR7QNED-BQ20Rpd9.js → abnfDiagram-VRR7QNED-BFXo0_Rw.js} +4 -4
  2. package/dist/{abnfDiagram-VRR7QNED-BQ20Rpd9.js.map → abnfDiagram-VRR7QNED-BFXo0_Rw.js.map} +1 -1
  3. package/dist/{abnfDiagram-VRR7QNED-DXbiql1c.cjs → abnfDiagram-VRR7QNED-DYyzQv8B.cjs} +2 -2
  4. package/dist/{abnfDiagram-VRR7QNED-DXbiql1c.cjs.map → abnfDiagram-VRR7QNED-DYyzQv8B.cjs.map} +1 -1
  5. package/dist/{arc-xMVBdqQn.js → arc-BSbHy9Ve.js} +33 -33
  6. package/dist/{arc-xMVBdqQn.js.map → arc-BSbHy9Ve.js.map} +1 -1
  7. package/dist/{arc-CBvogfHH.cjs → arc-BbQigYvM.cjs} +2 -2
  8. package/dist/{arc-CBvogfHH.cjs.map → arc-BbQigYvM.cjs.map} +1 -1
  9. package/dist/{architectureDiagram-ZJ3FMSHR-BpT6mBK5.cjs → architectureDiagram-ZJ3FMSHR-D89qc4rH.cjs} +2 -2
  10. package/dist/{architectureDiagram-ZJ3FMSHR-BpT6mBK5.cjs.map → architectureDiagram-ZJ3FMSHR-D89qc4rH.cjs.map} +1 -1
  11. package/dist/{architectureDiagram-ZJ3FMSHR-DLa31UWc.js → architectureDiagram-ZJ3FMSHR-DULOzPH9.js} +3 -3
  12. package/dist/{architectureDiagram-ZJ3FMSHR-DLa31UWc.js.map → architectureDiagram-ZJ3FMSHR-DULOzPH9.js.map} +1 -1
  13. package/dist/{blockDiagram-677ZJIJ3-Dz6y7puB.cjs → blockDiagram-677ZJIJ3-BwDAkIzg.cjs} +2 -2
  14. package/dist/{blockDiagram-677ZJIJ3-Dz6y7puB.cjs.map → blockDiagram-677ZJIJ3-BwDAkIzg.cjs.map} +1 -1
  15. package/dist/{blockDiagram-677ZJIJ3-041yX0FM.js → blockDiagram-677ZJIJ3-_zyxqXKw.js} +167 -167
  16. package/dist/{blockDiagram-677ZJIJ3-041yX0FM.js.map → blockDiagram-677ZJIJ3-_zyxqXKw.js.map} +1 -1
  17. package/dist/{c4Diagram-LMCZKHZV-DkGXIoOO.cjs → c4Diagram-LMCZKHZV-D6q9_C4Z.cjs} +2 -2
  18. package/dist/{c4Diagram-LMCZKHZV-DkGXIoOO.cjs.map → c4Diagram-LMCZKHZV-D6q9_C4Z.cjs.map} +1 -1
  19. package/dist/{c4Diagram-LMCZKHZV-zI4AGK5P.js → c4Diagram-LMCZKHZV-DEbKHI3H.js} +3 -3
  20. package/dist/{c4Diagram-LMCZKHZV-zI4AGK5P.js.map → c4Diagram-LMCZKHZV-DEbKHI3H.js.map} +1 -1
  21. package/dist/channel-ORmMkVPz.js +6 -0
  22. package/dist/{channel-D-9RLPfN.js.map → channel-ORmMkVPz.js.map} +1 -1
  23. package/dist/channel-uZjKtK8D.cjs +2 -0
  24. package/dist/{channel-BcZa3FxI.cjs.map → channel-uZjKtK8D.cjs.map} +1 -1
  25. package/dist/{chunk-2Q5K7J3B-D7d0n786.js → chunk-2Q5K7J3B-9lSW6YLs.js} +2 -2
  26. package/dist/{chunk-2Q5K7J3B-D7d0n786.js.map → chunk-2Q5K7J3B-9lSW6YLs.js.map} +1 -1
  27. package/dist/{chunk-2Q5K7J3B-CFt_Nv0P.cjs → chunk-2Q5K7J3B-DaavRM9R.cjs} +2 -2
  28. package/dist/{chunk-2Q5K7J3B-CFt_Nv0P.cjs.map → chunk-2Q5K7J3B-DaavRM9R.cjs.map} +1 -1
  29. package/dist/{chunk-32BRIVSS-CyRN3ENZ.cjs → chunk-32BRIVSS-BP6N4esd.cjs} +2 -2
  30. package/dist/{chunk-32BRIVSS-CyRN3ENZ.cjs.map → chunk-32BRIVSS-BP6N4esd.cjs.map} +1 -1
  31. package/dist/{chunk-32BRIVSS-CqgDRgE_.js → chunk-32BRIVSS-INLcYiZK.js} +2 -2
  32. package/dist/{chunk-32BRIVSS-CqgDRgE_.js.map → chunk-32BRIVSS-INLcYiZK.js.map} +1 -1
  33. package/dist/{chunk-5VM5RSS4-CYLLsvXq.js → chunk-5VM5RSS4-BoACDebX.js} +2 -2
  34. package/dist/{chunk-5VM5RSS4-CYLLsvXq.js.map → chunk-5VM5RSS4-BoACDebX.js.map} +1 -1
  35. package/dist/{chunk-5VM5RSS4-Dnsn1NCH.cjs → chunk-5VM5RSS4-v-LRLmmB.cjs} +2 -2
  36. package/dist/{chunk-5VM5RSS4-Dnsn1NCH.cjs.map → chunk-5VM5RSS4-v-LRLmmB.cjs.map} +1 -1
  37. package/dist/{chunk-EX3LRPZG-DJvO-9bX.js → chunk-EX3LRPZG-CdhOcCKK.js} +38 -38
  38. package/dist/{chunk-EX3LRPZG-DJvO-9bX.js.map → chunk-EX3LRPZG-CdhOcCKK.js.map} +1 -1
  39. package/dist/{chunk-EX3LRPZG-NbTYWi98.cjs → chunk-EX3LRPZG-DuCkmN-C.cjs} +2 -2
  40. package/dist/{chunk-EX3LRPZG-NbTYWi98.cjs.map → chunk-EX3LRPZG-DuCkmN-C.cjs.map} +1 -1
  41. package/dist/{chunk-JWPE2WC7-zoOgS5u9.cjs → chunk-JWPE2WC7-BULRo7xk.cjs} +2 -2
  42. package/dist/{chunk-JWPE2WC7-zoOgS5u9.cjs.map → chunk-JWPE2WC7-BULRo7xk.cjs.map} +1 -1
  43. package/dist/{chunk-JWPE2WC7-DuVveRXZ.js → chunk-JWPE2WC7-CahtrkX1.js} +2 -2
  44. package/dist/{chunk-JWPE2WC7-DuVveRXZ.js.map → chunk-JWPE2WC7-CahtrkX1.js.map} +1 -1
  45. package/dist/{chunk-MOJQB5TN-C3rAriR0.js → chunk-MOJQB5TN-Dvq34gwS.js} +9 -9
  46. package/dist/{chunk-MOJQB5TN-C3rAriR0.js.map → chunk-MOJQB5TN-Dvq34gwS.js.map} +1 -1
  47. package/dist/{chunk-MOJQB5TN-nhexYepW.cjs → chunk-MOJQB5TN-XQ1uAuGg.cjs} +2 -2
  48. package/dist/{chunk-MOJQB5TN-nhexYepW.cjs.map → chunk-MOJQB5TN-XQ1uAuGg.cjs.map} +1 -1
  49. package/dist/{chunk-PUDLZKDR-Bbejhl-5.js → chunk-PUDLZKDR-Dz33TggK.js} +7 -7
  50. package/dist/{chunk-PUDLZKDR-Bbejhl-5.js.map → chunk-PUDLZKDR-Dz33TggK.js.map} +1 -1
  51. package/dist/{chunk-PUDLZKDR-Eircwert.cjs → chunk-PUDLZKDR-IggJYnJQ.cjs} +2 -2
  52. package/dist/{chunk-PUDLZKDR-Eircwert.cjs.map → chunk-PUDLZKDR-IggJYnJQ.cjs.map} +1 -1
  53. package/dist/{chunk-RYQCIY6F-CK0xCpaZ.js → chunk-RYQCIY6F-Bg7Dy3nS.js} +13 -13
  54. package/dist/{chunk-RYQCIY6F-CK0xCpaZ.js.map → chunk-RYQCIY6F-Bg7Dy3nS.js.map} +1 -1
  55. package/dist/{chunk-RYQCIY6F-CZfHzKoN.cjs → chunk-RYQCIY6F-QJ2duqI8.cjs} +2 -2
  56. package/dist/{chunk-RYQCIY6F-CZfHzKoN.cjs.map → chunk-RYQCIY6F-QJ2duqI8.cjs.map} +1 -1
  57. package/dist/{chunk-V7JOEXUC-CV1kVAxo.js → chunk-V7JOEXUC-CIr3reuT.js} +6 -6
  58. package/dist/{chunk-V7JOEXUC-CV1kVAxo.js.map → chunk-V7JOEXUC-CIr3reuT.js.map} +1 -1
  59. package/dist/{chunk-V7JOEXUC-DdpIiu9X.cjs → chunk-V7JOEXUC-CgZ7nn5l.cjs} +2 -2
  60. package/dist/{chunk-V7JOEXUC-DdpIiu9X.cjs.map → chunk-V7JOEXUC-CgZ7nn5l.cjs.map} +1 -1
  61. package/dist/{chunk-VR4S4FIN-4jDL-QKj.js → chunk-VR4S4FIN-C0I_5MtA.js} +4 -4
  62. package/dist/{chunk-VR4S4FIN-4jDL-QKj.js.map → chunk-VR4S4FIN-C0I_5MtA.js.map} +1 -1
  63. package/dist/{chunk-VR4S4FIN-IWf-fx8G.cjs → chunk-VR4S4FIN-DrrMUc7U.cjs} +2 -2
  64. package/dist/{chunk-VR4S4FIN-IWf-fx8G.cjs.map → chunk-VR4S4FIN-DrrMUc7U.cjs.map} +1 -1
  65. package/dist/{chunk-XXDRQBXY-OsB0vyxH.js → chunk-XXDRQBXY-BCR17bLv.js} +2 -2
  66. package/dist/{chunk-XXDRQBXY-OsB0vyxH.js.map → chunk-XXDRQBXY-BCR17bLv.js.map} +1 -1
  67. package/dist/{chunk-XXDRQBXY-DXvqbMKA.cjs → chunk-XXDRQBXY-CBOe3-a7.cjs} +2 -2
  68. package/dist/{chunk-XXDRQBXY-DXvqbMKA.cjs.map → chunk-XXDRQBXY-CBOe3-a7.cjs.map} +1 -1
  69. package/dist/{classDiagram-OUVF2IWQ-Byz5-eQE.js → classDiagram-OUVF2IWQ-5wAo9Yii.js} +3 -3
  70. package/dist/{classDiagram-OUVF2IWQ-Byz5-eQE.js.map → classDiagram-OUVF2IWQ-5wAo9Yii.js.map} +1 -1
  71. package/dist/{classDiagram-OUVF2IWQ-C9Zj8XrO.cjs → classDiagram-OUVF2IWQ-CcviK6lg.cjs} +2 -2
  72. package/dist/{classDiagram-OUVF2IWQ-C9Zj8XrO.cjs.map → classDiagram-OUVF2IWQ-CcviK6lg.cjs.map} +1 -1
  73. package/dist/{classDiagram-v2-EOCWNBFH-Byz5-eQE.js → classDiagram-v2-EOCWNBFH-5wAo9Yii.js} +3 -3
  74. package/dist/{classDiagram-v2-EOCWNBFH-Byz5-eQE.js.map → classDiagram-v2-EOCWNBFH-5wAo9Yii.js.map} +1 -1
  75. package/dist/{classDiagram-v2-EOCWNBFH-C9Zj8XrO.cjs → classDiagram-v2-EOCWNBFH-CcviK6lg.cjs} +2 -2
  76. package/dist/{classDiagram-v2-EOCWNBFH-C9Zj8XrO.cjs.map → classDiagram-v2-EOCWNBFH-CcviK6lg.cjs.map} +1 -1
  77. package/dist/cli.d.ts.map +1 -0
  78. package/dist/components/MarkdownRenderer.d.ts.map +1 -0
  79. package/dist/{src/components → components}/MarkdownViewer.d.ts +23 -3
  80. package/dist/components/MarkdownViewer.d.ts.map +1 -0
  81. package/dist/components/MermaidDiagram.d.ts.map +1 -0
  82. package/dist/components/NodesRenderer.d.ts.map +1 -0
  83. package/dist/components/TableOfContents.d.ts.map +1 -0
  84. package/dist/components/mdastNodes/BlockLinkNode.d.ts.map +1 -0
  85. package/dist/components/mdastNodes/BlockquoteNode.d.ts.map +1 -0
  86. package/dist/components/mdastNodes/CodeNode.d.ts.map +1 -0
  87. package/dist/components/mdastNodes/DeleteNode.d.ts.map +1 -0
  88. package/dist/components/mdastNodes/EmphasisNode.d.ts.map +1 -0
  89. package/dist/components/mdastNodes/FootnoteBackLinkNode.d.ts.map +1 -0
  90. package/dist/components/mdastNodes/HTMLBlockContainerNode.d.ts.map +1 -0
  91. package/dist/components/mdastNodes/HTMLNode.d.ts.map +1 -0
  92. package/dist/components/mdastNodes/HeadingNode.d.ts.map +1 -0
  93. package/dist/components/mdastNodes/ImageNode.d.ts.map +1 -0
  94. package/dist/components/mdastNodes/InlineCodeNode.d.ts.map +1 -0
  95. package/dist/components/mdastNodes/InlineMathNode.d.ts.map +1 -0
  96. package/dist/components/mdastNodes/LinkNode.d.ts.map +1 -0
  97. package/dist/components/mdastNodes/ListItemNode.d.ts.map +1 -0
  98. package/dist/components/mdastNodes/ListNode.d.ts.map +1 -0
  99. package/dist/components/mdastNodes/MarkNode.d.ts.map +1 -0
  100. package/dist/components/mdastNodes/MathNode.d.ts.map +1 -0
  101. package/dist/components/mdastNodes/ParagraphNode.d.ts.map +1 -0
  102. package/dist/components/mdastNodes/RichLinkCard.d.ts.map +1 -0
  103. package/dist/components/mdastNodes/StrongNode.d.ts.map +1 -0
  104. package/dist/components/mdastNodes/SubscriptNode.d.ts.map +1 -0
  105. package/dist/components/mdastNodes/SuperscriptNode.d.ts.map +1 -0
  106. package/dist/components/mdastNodes/TableNode.d.ts.map +1 -0
  107. package/dist/components/mdastNodes/TextNode.d.ts.map +1 -0
  108. package/dist/components/mdastNodes/ThematicBreakNode.d.ts.map +1 -0
  109. package/dist/components/mdastNodes/TwitterEmbedNode.d.ts.map +1 -0
  110. package/dist/components/mdastNodes/YouTubeEmbedNode.d.ts.map +1 -0
  111. package/dist/components/mdastNodes/ZennDetailsNode.d.ts.map +1 -0
  112. package/dist/components/mdastNodes/ZennMessageNode.d.ts.map +1 -0
  113. package/dist/components/mermaidInteraction.d.ts.map +1 -0
  114. package/dist/components/plugins/DifyIFramePlugin.d.ts.map +1 -0
  115. package/dist/components/plugins/IFramePluginRegistry.d.ts.map +1 -0
  116. package/dist/components/plugins/index.d.ts.map +1 -0
  117. package/dist/{cose-bilkent-JH36ORCC-CCqB1qiX.js → cose-bilkent-JH36ORCC-Dcfk-Ecg.js} +2 -2
  118. package/dist/{cose-bilkent-JH36ORCC-CCqB1qiX.js.map → cose-bilkent-JH36ORCC-Dcfk-Ecg.js.map} +1 -1
  119. package/dist/{cose-bilkent-JH36ORCC-B_b-_8U5.cjs → cose-bilkent-JH36ORCC-e4iy6tnF.cjs} +2 -2
  120. package/dist/{cose-bilkent-JH36ORCC-B_b-_8U5.cjs.map → cose-bilkent-JH36ORCC-e4iy6tnF.cjs.map} +1 -1
  121. package/dist/{cynefinDiagram-TSTJHNR4-BmxTcdFW.js → cynefinDiagram-TSTJHNR4-BFpetF_m.js} +8 -8
  122. package/dist/{cynefinDiagram-TSTJHNR4-BmxTcdFW.js.map → cynefinDiagram-TSTJHNR4-BFpetF_m.js.map} +1 -1
  123. package/dist/{cynefinDiagram-TSTJHNR4-BGsQELZI.cjs → cynefinDiagram-TSTJHNR4-DUCIfteT.cjs} +2 -2
  124. package/dist/{cynefinDiagram-TSTJHNR4-BGsQELZI.cjs.map → cynefinDiagram-TSTJHNR4-DUCIfteT.cjs.map} +1 -1
  125. package/dist/{dagre-VKFMJZFB-BMJn8PTf.cjs → dagre-VKFMJZFB--JH4XxhX.cjs} +2 -2
  126. package/dist/{dagre-VKFMJZFB-BMJn8PTf.cjs.map → dagre-VKFMJZFB--JH4XxhX.cjs.map} +1 -1
  127. package/dist/{dagre-VKFMJZFB-T0EpCTvx.js → dagre-VKFMJZFB-PARAHqM5.js} +3 -3
  128. package/dist/{dagre-VKFMJZFB-T0EpCTvx.js.map → dagre-VKFMJZFB-PARAHqM5.js.map} +1 -1
  129. package/dist/{diagram-FQU43EPY-BqlZFcVg.js → diagram-FQU43EPY-Cs6yk5Is.js} +83 -83
  130. package/dist/{diagram-FQU43EPY-BqlZFcVg.js.map → diagram-FQU43EPY-Cs6yk5Is.js.map} +1 -1
  131. package/dist/{diagram-FQU43EPY-ogw45cxB.cjs → diagram-FQU43EPY-QluW14DN.cjs} +2 -2
  132. package/dist/{diagram-FQU43EPY-ogw45cxB.cjs.map → diagram-FQU43EPY-QluW14DN.cjs.map} +1 -1
  133. package/dist/{diagram-G47NLZAW-BKEHdu5F.js → diagram-G47NLZAW-DN5G1l3g.js} +23 -23
  134. package/dist/{diagram-G47NLZAW-BKEHdu5F.js.map → diagram-G47NLZAW-DN5G1l3g.js.map} +1 -1
  135. package/dist/{diagram-G47NLZAW-YfpzfmMk.cjs → diagram-G47NLZAW-D_E8st8L.cjs} +2 -2
  136. package/dist/{diagram-G47NLZAW-YfpzfmMk.cjs.map → diagram-G47NLZAW-D_E8st8L.cjs.map} +1 -1
  137. package/dist/{diagram-NH7WQ7WH-BB78MPum.js → diagram-NH7WQ7WH-C10vpuej.js} +10 -10
  138. package/dist/{diagram-NH7WQ7WH-BB78MPum.js.map → diagram-NH7WQ7WH-C10vpuej.js.map} +1 -1
  139. package/dist/{diagram-NH7WQ7WH-uXWQSyUK.cjs → diagram-NH7WQ7WH-pASxdUhu.cjs} +2 -2
  140. package/dist/{diagram-NH7WQ7WH-uXWQSyUK.cjs.map → diagram-NH7WQ7WH-pASxdUhu.cjs.map} +1 -1
  141. package/dist/{diagram-OA4YK3LP-BNY_Gt2v.cjs → diagram-OA4YK3LP-B9dlgYg5.cjs} +2 -2
  142. package/dist/{diagram-OA4YK3LP-BNY_Gt2v.cjs.map → diagram-OA4YK3LP-B9dlgYg5.cjs.map} +1 -1
  143. package/dist/{diagram-OA4YK3LP-CPynpf0h.js → diagram-OA4YK3LP-BUE4c8aR.js} +6 -6
  144. package/dist/{diagram-OA4YK3LP-CPynpf0h.js.map → diagram-OA4YK3LP-BUE4c8aR.js.map} +1 -1
  145. package/dist/{diagram-WEI45ONY-CfxXnEBp.js → diagram-WEI45ONY-1EaKbEDp.js} +16 -16
  146. package/dist/{diagram-WEI45ONY-CfxXnEBp.js.map → diagram-WEI45ONY-1EaKbEDp.js.map} +1 -1
  147. package/dist/{diagram-WEI45ONY-C1jbWTWA.cjs → diagram-WEI45ONY-BOVrX9CR.cjs} +2 -2
  148. package/dist/{diagram-WEI45ONY-C1jbWTWA.cjs.map → diagram-WEI45ONY-BOVrX9CR.cjs.map} +1 -1
  149. package/dist/{ebnfDiagram-CCIWWBDH-DP4bvDHl.js → ebnfDiagram-CCIWWBDH-BFCYtxqV.js} +6 -6
  150. package/dist/{ebnfDiagram-CCIWWBDH-DP4bvDHl.js.map → ebnfDiagram-CCIWWBDH-BFCYtxqV.js.map} +1 -1
  151. package/dist/{ebnfDiagram-CCIWWBDH-CKgI2cvY.cjs → ebnfDiagram-CCIWWBDH-djDcqT9S.cjs} +2 -2
  152. package/dist/{ebnfDiagram-CCIWWBDH-CKgI2cvY.cjs.map → ebnfDiagram-CCIWWBDH-djDcqT9S.cjs.map} +1 -1
  153. package/dist/{erDiagram-Q63AITRT-Cg6xCVR_.js → erDiagram-Q63AITRT-CJ41MCeP.js} +5 -5
  154. package/dist/{erDiagram-Q63AITRT-Cg6xCVR_.js.map → erDiagram-Q63AITRT-CJ41MCeP.js.map} +1 -1
  155. package/dist/{erDiagram-Q63AITRT-B4rtHiL0.cjs → erDiagram-Q63AITRT-C__SqdWW.cjs} +2 -2
  156. package/dist/{erDiagram-Q63AITRT-B4rtHiL0.cjs.map → erDiagram-Q63AITRT-C__SqdWW.cjs.map} +1 -1
  157. package/dist/{extractHeadings-B9zWU8Hp.js → extractHeadings-Btke90la.js} +5097 -5024
  158. package/dist/extractHeadings-Btke90la.js.map +1 -0
  159. package/dist/extractHeadings-CbOVIBS0.cjs +311 -0
  160. package/dist/extractHeadings-CbOVIBS0.cjs.map +1 -0
  161. package/dist/flowDiagram-23GEKE2U-B6jkoyrN.cjs +2 -0
  162. package/dist/flowDiagram-23GEKE2U-B6jkoyrN.cjs.map +1 -0
  163. package/dist/flowDiagram-23GEKE2U-matdv2oR.js +8 -0
  164. package/dist/flowDiagram-23GEKE2U-matdv2oR.js.map +1 -0
  165. package/dist/{ganttDiagram-NO4QXBWP-DytKD5ib.js → ganttDiagram-NO4QXBWP-CGgtAec-.js} +3 -3
  166. package/dist/{ganttDiagram-NO4QXBWP-DytKD5ib.js.map → ganttDiagram-NO4QXBWP-CGgtAec-.js.map} +1 -1
  167. package/dist/{ganttDiagram-NO4QXBWP-DtRUI9CI.cjs → ganttDiagram-NO4QXBWP-a55V-nKT.cjs} +2 -2
  168. package/dist/{ganttDiagram-NO4QXBWP-DtRUI9CI.cjs.map → ganttDiagram-NO4QXBWP-a55V-nKT.cjs.map} +1 -1
  169. package/dist/gen/markdown/v1/markdown_connect.d.ts.map +1 -0
  170. package/dist/gen/markdown/v1/markdown_pb.d.ts.map +1 -0
  171. package/dist/{gitGraphDiagram-IHSO6WYX-BO23TPQ8.js → gitGraphDiagram-IHSO6WYX-B1TK7FF8.js} +4 -4
  172. package/dist/{gitGraphDiagram-IHSO6WYX-BO23TPQ8.js.map → gitGraphDiagram-IHSO6WYX-B1TK7FF8.js.map} +1 -1
  173. package/dist/{gitGraphDiagram-IHSO6WYX-DnErhH_Y.cjs → gitGraphDiagram-IHSO6WYX-DlDNCHo6.cjs} +2 -2
  174. package/dist/{gitGraphDiagram-IHSO6WYX-DnErhH_Y.cjs.map → gitGraphDiagram-IHSO6WYX-DlDNCHo6.cjs.map} +1 -1
  175. package/dist/index.cjs +1 -1
  176. package/dist/index.client.cjs +1 -1
  177. package/dist/index.client.d.ts +44 -2
  178. package/dist/index.client.d.ts.map +1 -0
  179. package/dist/index.client.js +32 -31
  180. package/dist/index.d.ts +2 -2
  181. package/dist/{src/index.d.ts.map → index.d.ts.map} +1 -1
  182. package/dist/index.js +32 -31
  183. package/dist/index.server.d.ts +9 -2
  184. package/dist/index.server.d.ts.map +1 -0
  185. package/dist/{infoDiagram-FWYZ7A6U-4syrAmyj.cjs → infoDiagram-FWYZ7A6U-BiRsBv1q.cjs} +2 -2
  186. package/dist/{infoDiagram-FWYZ7A6U-4syrAmyj.cjs.map → infoDiagram-FWYZ7A6U-BiRsBv1q.cjs.map} +1 -1
  187. package/dist/{infoDiagram-FWYZ7A6U-B9uxXFIw.js → infoDiagram-FWYZ7A6U-hH0LVzym.js} +8 -8
  188. package/dist/{infoDiagram-FWYZ7A6U-B9uxXFIw.js.map → infoDiagram-FWYZ7A6U-hH0LVzym.js.map} +1 -1
  189. package/dist/{ishikawaDiagram-FXEZZL3T-BiUwMJgc.cjs → ishikawaDiagram-FXEZZL3T-BnDsgkjC.cjs} +2 -2
  190. package/dist/{ishikawaDiagram-FXEZZL3T-BiUwMJgc.cjs.map → ishikawaDiagram-FXEZZL3T-BnDsgkjC.cjs.map} +1 -1
  191. package/dist/{ishikawaDiagram-FXEZZL3T-BYwWtePo.js → ishikawaDiagram-FXEZZL3T-CfYrF5ko.js} +25 -25
  192. package/dist/{ishikawaDiagram-FXEZZL3T-BYwWtePo.js.map → ishikawaDiagram-FXEZZL3T-CfYrF5ko.js.map} +1 -1
  193. package/dist/{journeyDiagram-5HDEW3XC-GCMUbSH7.cjs → journeyDiagram-5HDEW3XC-D4bTwTTh.cjs} +2 -2
  194. package/dist/{journeyDiagram-5HDEW3XC-GCMUbSH7.cjs.map → journeyDiagram-5HDEW3XC-D4bTwTTh.cjs.map} +1 -1
  195. package/dist/{journeyDiagram-5HDEW3XC-Boew_-SU.js → journeyDiagram-5HDEW3XC-HfmZo7OK.js} +5 -5
  196. package/dist/{journeyDiagram-5HDEW3XC-Boew_-SU.js.map → journeyDiagram-5HDEW3XC-HfmZo7OK.js.map} +1 -1
  197. package/dist/{kanban-definition-HUTT4EX6-QtPgRFBx.js → kanban-definition-HUTT4EX6-CkG7ZIp9.js} +106 -106
  198. package/dist/{kanban-definition-HUTT4EX6-QtPgRFBx.js.map → kanban-definition-HUTT4EX6-CkG7ZIp9.js.map} +1 -1
  199. package/dist/{kanban-definition-HUTT4EX6-ByqPSoS4.cjs → kanban-definition-HUTT4EX6-D7AfbiL-.cjs} +2 -2
  200. package/dist/{kanban-definition-HUTT4EX6-ByqPSoS4.cjs.map → kanban-definition-HUTT4EX6-D7AfbiL-.cjs.map} +1 -1
  201. package/dist/{linear-D-NvxS9T.js → linear-DCJsIP88.js} +35 -35
  202. package/dist/{linear-D-NvxS9T.js.map → linear-DCJsIP88.js.map} +1 -1
  203. package/dist/{linear-C6OlRBoL.cjs → linear-udg5RJk-.cjs} +2 -2
  204. package/dist/{linear-C6OlRBoL.cjs.map → linear-udg5RJk-.cjs.map} +1 -1
  205. package/dist/markdown.css +1 -1
  206. package/dist/{mindmap-definition-LN4V7U3C-BXEmhige.cjs → mindmap-definition-LN4V7U3C-CesYL4mv.cjs} +2 -2
  207. package/dist/{mindmap-definition-LN4V7U3C-BXEmhige.cjs.map → mindmap-definition-LN4V7U3C-CesYL4mv.cjs.map} +1 -1
  208. package/dist/{mindmap-definition-LN4V7U3C-AuDA6bik.js → mindmap-definition-LN4V7U3C-zoeVrmB8.js} +29 -29
  209. package/dist/{mindmap-definition-LN4V7U3C-AuDA6bik.js.map → mindmap-definition-LN4V7U3C-zoeVrmB8.js.map} +1 -1
  210. package/dist/{pegDiagram-2B236MQR-BRedOzpf.js → pegDiagram-2B236MQR-B7kSpg_A.js} +6 -6
  211. package/dist/{pegDiagram-2B236MQR-BRedOzpf.js.map → pegDiagram-2B236MQR-B7kSpg_A.js.map} +1 -1
  212. package/dist/{pegDiagram-2B236MQR-D9yxMYRK.cjs → pegDiagram-2B236MQR-G4fth76F.cjs} +2 -2
  213. package/dist/{pegDiagram-2B236MQR-D9yxMYRK.cjs.map → pegDiagram-2B236MQR-G4fth76F.cjs.map} +1 -1
  214. package/dist/{pieDiagram-ENE6RG2P-CfMAyyLr.cjs → pieDiagram-ENE6RG2P-KA7xendU.cjs} +2 -2
  215. package/dist/{pieDiagram-ENE6RG2P-CfMAyyLr.cjs.map → pieDiagram-ENE6RG2P-KA7xendU.cjs.map} +1 -1
  216. package/dist/{pieDiagram-ENE6RG2P-CYHOjNgc.js → pieDiagram-ENE6RG2P-oLvMmdVW.js} +59 -59
  217. package/dist/{pieDiagram-ENE6RG2P-CYHOjNgc.js.map → pieDiagram-ENE6RG2P-oLvMmdVW.js.map} +1 -1
  218. package/dist/plugins/createIntentTweetLink.d.ts.map +1 -0
  219. package/dist/plugins/extractYouTubeVideoId.d.ts.map +1 -0
  220. package/dist/plugins/fetchSiteMetadata.d.ts.map +1 -0
  221. package/dist/plugins/remark-auto-heading-id.d.ts.map +1 -0
  222. package/dist/plugins/remark-block-link-metadata.d.ts.map +1 -0
  223. package/dist/plugins/remark-block-link.d.ts.map +1 -0
  224. package/dist/plugins/remark-custom-heading-id.d.ts.map +1 -0
  225. package/dist/plugins/remark-footnote-back-link.d.ts.map +1 -0
  226. package/dist/plugins/remark-html-anchor-to-link.d.ts.map +1 -0
  227. package/dist/plugins/remark-html-in-html.d.ts.map +1 -0
  228. package/dist/plugins/remark-image-size.d.ts.map +1 -0
  229. package/dist/plugins/remark-import-directive.async.server.d.ts.map +1 -0
  230. package/dist/plugins/remark-mark.d.ts.map +1 -0
  231. package/dist/plugins/remark-parent-node.d.ts.map +1 -0
  232. package/dist/plugins/remark-resolve-uri.async.d.ts.map +1 -0
  233. package/dist/plugins/remark-subscript.d.ts.map +1 -0
  234. package/dist/plugins/remark-superscript.d.ts.map +1 -0
  235. package/dist/plugins/remark-table-merge.d.ts.map +1 -0
  236. package/dist/plugins/remark-twitter-embed.d.ts.map +1 -0
  237. package/dist/plugins/remark-unwrap-block-html.d.ts.map +1 -0
  238. package/dist/plugins/remark-youtube-embed.d.ts.map +1 -0
  239. package/dist/plugins/remark-zenn-message.d.ts.map +1 -0
  240. package/dist/plugins/transformUri.async.server.d.ts.map +1 -0
  241. package/dist/{quadrantDiagram-ABIIQ3AL-CLJfxi7Q.cjs → quadrantDiagram-ABIIQ3AL-CX8sF8GP.cjs} +2 -2
  242. package/dist/{quadrantDiagram-ABIIQ3AL-CLJfxi7Q.cjs.map → quadrantDiagram-ABIIQ3AL-CX8sF8GP.cjs.map} +1 -1
  243. package/dist/{quadrantDiagram-ABIIQ3AL-n6QV6adE.js → quadrantDiagram-ABIIQ3AL-DtUT-XzJ.js} +3 -3
  244. package/dist/{quadrantDiagram-ABIIQ3AL-n6QV6adE.js.map → quadrantDiagram-ABIIQ3AL-DtUT-XzJ.js.map} +1 -1
  245. package/dist/{railroadDiagram-RFXS5EU6-Dum26NsB.js → railroadDiagram-RFXS5EU6-Cm7FdIMs.js} +4 -4
  246. package/dist/{railroadDiagram-RFXS5EU6-Dum26NsB.js.map → railroadDiagram-RFXS5EU6-Cm7FdIMs.js.map} +1 -1
  247. package/dist/{railroadDiagram-RFXS5EU6-CZoR0XYh.cjs → railroadDiagram-RFXS5EU6-DiQg7p_4.cjs} +2 -2
  248. package/dist/{railroadDiagram-RFXS5EU6-CZoR0XYh.cjs.map → railroadDiagram-RFXS5EU6-DiQg7p_4.cjs.map} +1 -1
  249. package/dist/remarkProcessor.server.d.ts.map +1 -0
  250. package/dist/{requirementDiagram-TGXJPOKE-8lWqfUou.js → requirementDiagram-TGXJPOKE-BW1d5uhf.js} +4 -4
  251. package/dist/{requirementDiagram-TGXJPOKE-8lWqfUou.js.map → requirementDiagram-TGXJPOKE-BW1d5uhf.js.map} +1 -1
  252. package/dist/{requirementDiagram-TGXJPOKE-1fza5CDh.cjs → requirementDiagram-TGXJPOKE-BzEjbwNB.cjs} +2 -2
  253. package/dist/{requirementDiagram-TGXJPOKE-1fza5CDh.cjs.map → requirementDiagram-TGXJPOKE-BzEjbwNB.cjs.map} +1 -1
  254. package/dist/{sankeyDiagram-HTMAVEWB-BLRRlYIu.cjs → sankeyDiagram-HTMAVEWB-B885RMhw.cjs} +2 -2
  255. package/dist/{sankeyDiagram-HTMAVEWB-BLRRlYIu.cjs.map → sankeyDiagram-HTMAVEWB-B885RMhw.cjs.map} +1 -1
  256. package/dist/{sankeyDiagram-HTMAVEWB-C4NdHXvR.js → sankeyDiagram-HTMAVEWB-BK6I2TQT.js} +24 -24
  257. package/dist/{sankeyDiagram-HTMAVEWB-C4NdHXvR.js.map → sankeyDiagram-HTMAVEWB-BK6I2TQT.js.map} +1 -1
  258. package/dist/{sequenceDiagram-DBY2YBRQ-CORurNjC.js → sequenceDiagram-DBY2YBRQ-Bsp-ywhW.js} +48 -48
  259. package/dist/{sequenceDiagram-DBY2YBRQ-CORurNjC.js.map → sequenceDiagram-DBY2YBRQ-Bsp-ywhW.js.map} +1 -1
  260. package/dist/{sequenceDiagram-DBY2YBRQ-DtVYcAp0.cjs → sequenceDiagram-DBY2YBRQ-Z2baRB6B.cjs} +2 -2
  261. package/dist/{sequenceDiagram-DBY2YBRQ-DtVYcAp0.cjs.map → sequenceDiagram-DBY2YBRQ-Z2baRB6B.cjs.map} +1 -1
  262. package/dist/{sizeCapture-X5ZJPWSS-DWkG146w.js → sizeCapture-X5ZJPWSS-B7HslO1e.js} +2 -2
  263. package/dist/{sizeCapture-X5ZJPWSS-DWkG146w.js.map → sizeCapture-X5ZJPWSS-B7HslO1e.js.map} +1 -1
  264. package/dist/{sizeCapture-X5ZJPWSS-DVickuSI.cjs → sizeCapture-X5ZJPWSS-C8fp0zsl.cjs} +2 -2
  265. package/dist/{sizeCapture-X5ZJPWSS-DVickuSI.cjs.map → sizeCapture-X5ZJPWSS-C8fp0zsl.cjs.map} +1 -1
  266. package/dist/{stateDiagram-2N3HPSRC-BknEdRtj.cjs → stateDiagram-2N3HPSRC-B8_7Qpkd.cjs} +2 -2
  267. package/dist/{stateDiagram-2N3HPSRC-BknEdRtj.cjs.map → stateDiagram-2N3HPSRC-B8_7Qpkd.cjs.map} +1 -1
  268. package/dist/{stateDiagram-2N3HPSRC-Cfx8fgeN.js → stateDiagram-2N3HPSRC-Bs6b44bi.js} +14 -14
  269. package/dist/{stateDiagram-2N3HPSRC-Cfx8fgeN.js.map → stateDiagram-2N3HPSRC-Bs6b44bi.js.map} +1 -1
  270. package/dist/{stateDiagram-v2-6OUMAXLB-DeDkN5NL.js → stateDiagram-v2-6OUMAXLB-APHKV9T_.js} +5 -5
  271. package/dist/{stateDiagram-v2-6OUMAXLB-DeDkN5NL.js.map → stateDiagram-v2-6OUMAXLB-APHKV9T_.js.map} +1 -1
  272. package/dist/{stateDiagram-v2-6OUMAXLB-C45X7LJs.cjs → stateDiagram-v2-6OUMAXLB-DKhyOgS0.cjs} +2 -2
  273. package/dist/{stateDiagram-v2-6OUMAXLB-C45X7LJs.cjs.map → stateDiagram-v2-6OUMAXLB-DKhyOgS0.cjs.map} +1 -1
  274. package/dist/styles/markdown.css +1 -1
  275. package/dist/{swimlanes-5IMT3BWC-CcosnJe6.cjs → swimlanes-5IMT3BWC-BSNl-c3F.cjs} +2 -2
  276. package/dist/{swimlanes-5IMT3BWC-CcosnJe6.cjs.map → swimlanes-5IMT3BWC-BSNl-c3F.cjs.map} +1 -1
  277. package/dist/{swimlanes-5IMT3BWC-CjWgy5Nl.js → swimlanes-5IMT3BWC-COXHt-s7.js} +4 -4
  278. package/dist/{swimlanes-5IMT3BWC-CjWgy5Nl.js.map → swimlanes-5IMT3BWC-COXHt-s7.js.map} +1 -1
  279. package/dist/{swimlanesDiagram-G3AALYLV-C7K0ECob.js → swimlanesDiagram-G3AALYLV-D1WaZVYp.js} +3 -3
  280. package/dist/{swimlanesDiagram-G3AALYLV-C7K0ECob.js.map → swimlanesDiagram-G3AALYLV-D1WaZVYp.js.map} +1 -1
  281. package/dist/{swimlanesDiagram-G3AALYLV-CQ4pFZ7c.cjs → swimlanesDiagram-G3AALYLV-Def6nx2Z.cjs} +2 -2
  282. package/dist/{swimlanesDiagram-G3AALYLV-CQ4pFZ7c.cjs.map → swimlanesDiagram-G3AALYLV-Def6nx2Z.cjs.map} +1 -1
  283. package/dist/test-setup.d.ts.map +1 -0
  284. package/dist/{timeline-definition-FHXFAJF6-BpHq7pCq.js → timeline-definition-FHXFAJF6-Bf7P0d3T.js} +32 -32
  285. package/dist/{timeline-definition-FHXFAJF6-BpHq7pCq.js.map → timeline-definition-FHXFAJF6-Bf7P0d3T.js.map} +1 -1
  286. package/dist/{timeline-definition-FHXFAJF6-BhUes2U0.cjs → timeline-definition-FHXFAJF6-Cp68oXkU.cjs} +2 -2
  287. package/dist/{timeline-definition-FHXFAJF6-BhUes2U0.cjs.map → timeline-definition-FHXFAJF6-Cp68oXkU.cjs.map} +1 -1
  288. package/dist/utils/extractHeadings.d.ts.map +1 -0
  289. package/dist/utils/getFaviconUrl.d.ts.map +1 -0
  290. package/dist/utils/headingText.d.ts.map +1 -0
  291. package/dist/utils/simple-logger.d.ts.map +1 -0
  292. package/dist/{vennDiagram-L72KCM5P-CViCZQE_.js → vennDiagram-L72KCM5P-DGGMA-GI.js} +39 -39
  293. package/dist/{vennDiagram-L72KCM5P-CViCZQE_.js.map → vennDiagram-L72KCM5P-DGGMA-GI.js.map} +1 -1
  294. package/dist/{vennDiagram-L72KCM5P-MipLCwdh.cjs → vennDiagram-L72KCM5P-DqFV-kpk.cjs} +2 -2
  295. package/dist/{vennDiagram-L72KCM5P-MipLCwdh.cjs.map → vennDiagram-L72KCM5P-DqFV-kpk.cjs.map} +1 -1
  296. package/dist/{wardleyDiagram-EHGQE667-fp0RsUhv.cjs → wardleyDiagram-EHGQE667-CObr4iwQ.cjs} +2 -2
  297. package/dist/{wardleyDiagram-EHGQE667-fp0RsUhv.cjs.map → wardleyDiagram-EHGQE667-CObr4iwQ.cjs.map} +1 -1
  298. package/dist/{wardleyDiagram-EHGQE667-BE-NasW6.js → wardleyDiagram-EHGQE667-kL5n4suF.js} +83 -83
  299. package/dist/{wardleyDiagram-EHGQE667-BE-NasW6.js.map → wardleyDiagram-EHGQE667-kL5n4suF.js.map} +1 -1
  300. package/dist/{xychartDiagram-FW5EYKEG-crv7LyAW.cjs → xychartDiagram-FW5EYKEG-C-TCKUxt.cjs} +2 -2
  301. package/dist/{xychartDiagram-FW5EYKEG-crv7LyAW.cjs.map → xychartDiagram-FW5EYKEG-C-TCKUxt.cjs.map} +1 -1
  302. package/dist/{xychartDiagram-FW5EYKEG-BqgTl_sX.js → xychartDiagram-FW5EYKEG-n90ZGQyA.js} +20 -20
  303. package/dist/{xychartDiagram-FW5EYKEG-BqgTl_sX.js.map → xychartDiagram-FW5EYKEG-n90ZGQyA.js.map} +1 -1
  304. package/package.json +7 -7
  305. package/dist/channel-BcZa3FxI.cjs +0 -2
  306. package/dist/channel-D-9RLPfN.js +0 -6
  307. package/dist/extractHeadings-B9zWU8Hp.js.map +0 -1
  308. package/dist/extractHeadings-D0Yt1_JR.cjs +0 -311
  309. package/dist/extractHeadings-D0Yt1_JR.cjs.map +0 -1
  310. package/dist/flowDiagram-23GEKE2U-BEXMT81S.js +0 -8
  311. package/dist/flowDiagram-23GEKE2U-BEXMT81S.js.map +0 -1
  312. package/dist/flowDiagram-23GEKE2U-DOgzSs1K.cjs +0 -2
  313. package/dist/flowDiagram-23GEKE2U-DOgzSs1K.cjs.map +0 -1
  314. package/dist/src/cli.d.ts.map +0 -1
  315. package/dist/src/components/MarkdownRenderer.d.ts.map +0 -1
  316. package/dist/src/components/MarkdownViewer.d.ts.map +0 -1
  317. package/dist/src/components/MermaidDiagram.d.ts.map +0 -1
  318. package/dist/src/components/NodesRenderer.d.ts.map +0 -1
  319. package/dist/src/components/TableOfContents.d.ts.map +0 -1
  320. package/dist/src/components/mdastNodes/BlockLinkNode.d.ts.map +0 -1
  321. package/dist/src/components/mdastNodes/BlockquoteNode.d.ts.map +0 -1
  322. package/dist/src/components/mdastNodes/CodeNode.d.ts.map +0 -1
  323. package/dist/src/components/mdastNodes/DeleteNode.d.ts.map +0 -1
  324. package/dist/src/components/mdastNodes/EmphasisNode.d.ts.map +0 -1
  325. package/dist/src/components/mdastNodes/FootnoteBackLinkNode.d.ts.map +0 -1
  326. package/dist/src/components/mdastNodes/HTMLBlockContainerNode.d.ts.map +0 -1
  327. package/dist/src/components/mdastNodes/HTMLNode.d.ts.map +0 -1
  328. package/dist/src/components/mdastNodes/HeadingNode.d.ts.map +0 -1
  329. package/dist/src/components/mdastNodes/ImageNode.d.ts.map +0 -1
  330. package/dist/src/components/mdastNodes/InlineCodeNode.d.ts.map +0 -1
  331. package/dist/src/components/mdastNodes/InlineMathNode.d.ts.map +0 -1
  332. package/dist/src/components/mdastNodes/LinkNode.d.ts.map +0 -1
  333. package/dist/src/components/mdastNodes/ListItemNode.d.ts.map +0 -1
  334. package/dist/src/components/mdastNodes/ListNode.d.ts.map +0 -1
  335. package/dist/src/components/mdastNodes/MarkNode.d.ts.map +0 -1
  336. package/dist/src/components/mdastNodes/MathNode.d.ts.map +0 -1
  337. package/dist/src/components/mdastNodes/ParagraphNode.d.ts.map +0 -1
  338. package/dist/src/components/mdastNodes/RichLinkCard.d.ts.map +0 -1
  339. package/dist/src/components/mdastNodes/StrongNode.d.ts.map +0 -1
  340. package/dist/src/components/mdastNodes/SubscriptNode.d.ts.map +0 -1
  341. package/dist/src/components/mdastNodes/SuperscriptNode.d.ts.map +0 -1
  342. package/dist/src/components/mdastNodes/TableNode.d.ts.map +0 -1
  343. package/dist/src/components/mdastNodes/TextNode.d.ts.map +0 -1
  344. package/dist/src/components/mdastNodes/ThematicBreakNode.d.ts.map +0 -1
  345. package/dist/src/components/mdastNodes/TwitterEmbedNode.d.ts.map +0 -1
  346. package/dist/src/components/mdastNodes/YouTubeEmbedNode.d.ts.map +0 -1
  347. package/dist/src/components/mdastNodes/ZennDetailsNode.d.ts.map +0 -1
  348. package/dist/src/components/mdastNodes/ZennMessageNode.d.ts.map +0 -1
  349. package/dist/src/components/mermaidInteraction.d.ts.map +0 -1
  350. package/dist/src/components/plugins/DifyIFramePlugin.d.ts.map +0 -1
  351. package/dist/src/components/plugins/IFramePluginRegistry.d.ts.map +0 -1
  352. package/dist/src/components/plugins/index.d.ts.map +0 -1
  353. package/dist/src/gen/markdown/v1/markdown_connect.d.ts.map +0 -1
  354. package/dist/src/gen/markdown/v1/markdown_pb.d.ts.map +0 -1
  355. package/dist/src/index.client.d.ts +0 -44
  356. package/dist/src/index.client.d.ts.map +0 -1
  357. package/dist/src/index.d.ts +0 -2
  358. package/dist/src/index.server.d.ts +0 -9
  359. package/dist/src/index.server.d.ts.map +0 -1
  360. package/dist/src/plugins/createIntentTweetLink.d.ts.map +0 -1
  361. package/dist/src/plugins/extractYouTubeVideoId.d.ts.map +0 -1
  362. package/dist/src/plugins/fetchSiteMetadata.d.ts.map +0 -1
  363. package/dist/src/plugins/remark-auto-heading-id.d.ts.map +0 -1
  364. package/dist/src/plugins/remark-block-link-metadata.d.ts.map +0 -1
  365. package/dist/src/plugins/remark-block-link.d.ts.map +0 -1
  366. package/dist/src/plugins/remark-custom-heading-id.d.ts.map +0 -1
  367. package/dist/src/plugins/remark-footnote-back-link.d.ts.map +0 -1
  368. package/dist/src/plugins/remark-html-anchor-to-link.d.ts.map +0 -1
  369. package/dist/src/plugins/remark-html-in-html.d.ts.map +0 -1
  370. package/dist/src/plugins/remark-image-size.d.ts.map +0 -1
  371. package/dist/src/plugins/remark-import-directive.async.server.d.ts.map +0 -1
  372. package/dist/src/plugins/remark-mark.d.ts.map +0 -1
  373. package/dist/src/plugins/remark-parent-node.d.ts.map +0 -1
  374. package/dist/src/plugins/remark-resolve-uri.async.d.ts.map +0 -1
  375. package/dist/src/plugins/remark-subscript.d.ts.map +0 -1
  376. package/dist/src/plugins/remark-superscript.d.ts.map +0 -1
  377. package/dist/src/plugins/remark-table-merge.d.ts.map +0 -1
  378. package/dist/src/plugins/remark-twitter-embed.d.ts.map +0 -1
  379. package/dist/src/plugins/remark-unwrap-block-html.d.ts.map +0 -1
  380. package/dist/src/plugins/remark-youtube-embed.d.ts.map +0 -1
  381. package/dist/src/plugins/remark-zenn-message.d.ts.map +0 -1
  382. package/dist/src/plugins/transformUri.async.server.d.ts.map +0 -1
  383. package/dist/src/remarkProcessor.server.d.ts.map +0 -1
  384. package/dist/src/test-setup.d.ts.map +0 -1
  385. package/dist/src/utils/extractHeadings.d.ts.map +0 -1
  386. package/dist/src/utils/getFaviconUrl.d.ts.map +0 -1
  387. package/dist/src/utils/headingText.d.ts.map +0 -1
  388. package/dist/src/utils/simple-logger.d.ts.map +0 -1
  389. package/dist/vite.config.d.ts +0 -3
  390. package/dist/vite.config.d.ts.map +0 -1
  391. /package/dist/{src/cli.d.ts → cli.d.ts} +0 -0
  392. /package/dist/{src/components → components}/MarkdownRenderer.d.ts +0 -0
  393. /package/dist/{src/components → components}/MermaidDiagram.d.ts +0 -0
  394. /package/dist/{src/components → components}/NodesRenderer.d.ts +0 -0
  395. /package/dist/{src/components → components}/TableOfContents.d.ts +0 -0
  396. /package/dist/{src/components → components}/mdastNodes/BlockLinkNode.d.ts +0 -0
  397. /package/dist/{src/components → components}/mdastNodes/BlockquoteNode.d.ts +0 -0
  398. /package/dist/{src/components → components}/mdastNodes/CodeNode.d.ts +0 -0
  399. /package/dist/{src/components → components}/mdastNodes/DeleteNode.d.ts +0 -0
  400. /package/dist/{src/components → components}/mdastNodes/EmphasisNode.d.ts +0 -0
  401. /package/dist/{src/components → components}/mdastNodes/FootnoteBackLinkNode.d.ts +0 -0
  402. /package/dist/{src/components → components}/mdastNodes/HTMLBlockContainerNode.d.ts +0 -0
  403. /package/dist/{src/components → components}/mdastNodes/HTMLNode.d.ts +0 -0
  404. /package/dist/{src/components → components}/mdastNodes/HeadingNode.d.ts +0 -0
  405. /package/dist/{src/components → components}/mdastNodes/ImageNode.d.ts +0 -0
  406. /package/dist/{src/components → components}/mdastNodes/InlineCodeNode.d.ts +0 -0
  407. /package/dist/{src/components → components}/mdastNodes/InlineMathNode.d.ts +0 -0
  408. /package/dist/{src/components → components}/mdastNodes/LinkNode.d.ts +0 -0
  409. /package/dist/{src/components → components}/mdastNodes/ListItemNode.d.ts +0 -0
  410. /package/dist/{src/components → components}/mdastNodes/ListNode.d.ts +0 -0
  411. /package/dist/{src/components → components}/mdastNodes/MarkNode.d.ts +0 -0
  412. /package/dist/{src/components → components}/mdastNodes/MathNode.d.ts +0 -0
  413. /package/dist/{src/components → components}/mdastNodes/ParagraphNode.d.ts +0 -0
  414. /package/dist/{src/components → components}/mdastNodes/RichLinkCard.d.ts +0 -0
  415. /package/dist/{src/components → components}/mdastNodes/StrongNode.d.ts +0 -0
  416. /package/dist/{src/components → components}/mdastNodes/SubscriptNode.d.ts +0 -0
  417. /package/dist/{src/components → components}/mdastNodes/SuperscriptNode.d.ts +0 -0
  418. /package/dist/{src/components → components}/mdastNodes/TableNode.d.ts +0 -0
  419. /package/dist/{src/components → components}/mdastNodes/TextNode.d.ts +0 -0
  420. /package/dist/{src/components → components}/mdastNodes/ThematicBreakNode.d.ts +0 -0
  421. /package/dist/{src/components → components}/mdastNodes/TwitterEmbedNode.d.ts +0 -0
  422. /package/dist/{src/components → components}/mdastNodes/YouTubeEmbedNode.d.ts +0 -0
  423. /package/dist/{src/components → components}/mdastNodes/ZennDetailsNode.d.ts +0 -0
  424. /package/dist/{src/components → components}/mdastNodes/ZennMessageNode.d.ts +0 -0
  425. /package/dist/{src/components → components}/mermaidInteraction.d.ts +0 -0
  426. /package/dist/{src/components → components}/plugins/DifyIFramePlugin.d.ts +0 -0
  427. /package/dist/{src/components → components}/plugins/IFramePluginRegistry.d.ts +0 -0
  428. /package/dist/{src/components → components}/plugins/index.d.ts +0 -0
  429. /package/dist/{src/gen → gen}/markdown/v1/markdown_connect.d.ts +0 -0
  430. /package/dist/{src/gen → gen}/markdown/v1/markdown_pb.d.ts +0 -0
  431. /package/dist/{src/plugins → plugins}/createIntentTweetLink.d.ts +0 -0
  432. /package/dist/{src/plugins → plugins}/extractYouTubeVideoId.d.ts +0 -0
  433. /package/dist/{src/plugins → plugins}/fetchSiteMetadata.d.ts +0 -0
  434. /package/dist/{src/plugins → plugins}/remark-auto-heading-id.d.ts +0 -0
  435. /package/dist/{src/plugins → plugins}/remark-block-link-metadata.d.ts +0 -0
  436. /package/dist/{src/plugins → plugins}/remark-block-link.d.ts +0 -0
  437. /package/dist/{src/plugins → plugins}/remark-custom-heading-id.d.ts +0 -0
  438. /package/dist/{src/plugins → plugins}/remark-footnote-back-link.d.ts +0 -0
  439. /package/dist/{src/plugins → plugins}/remark-html-anchor-to-link.d.ts +0 -0
  440. /package/dist/{src/plugins → plugins}/remark-html-in-html.d.ts +0 -0
  441. /package/dist/{src/plugins → plugins}/remark-image-size.d.ts +0 -0
  442. /package/dist/{src/plugins → plugins}/remark-import-directive.async.server.d.ts +0 -0
  443. /package/dist/{src/plugins → plugins}/remark-mark.d.ts +0 -0
  444. /package/dist/{src/plugins → plugins}/remark-parent-node.d.ts +0 -0
  445. /package/dist/{src/plugins → plugins}/remark-resolve-uri.async.d.ts +0 -0
  446. /package/dist/{src/plugins → plugins}/remark-subscript.d.ts +0 -0
  447. /package/dist/{src/plugins → plugins}/remark-superscript.d.ts +0 -0
  448. /package/dist/{src/plugins → plugins}/remark-table-merge.d.ts +0 -0
  449. /package/dist/{src/plugins → plugins}/remark-twitter-embed.d.ts +0 -0
  450. /package/dist/{src/plugins → plugins}/remark-unwrap-block-html.d.ts +0 -0
  451. /package/dist/{src/plugins → plugins}/remark-youtube-embed.d.ts +0 -0
  452. /package/dist/{src/plugins → plugins}/remark-zenn-message.d.ts +0 -0
  453. /package/dist/{src/plugins → plugins}/transformUri.async.server.d.ts +0 -0
  454. /package/dist/{src/remarkProcessor.server.d.ts → remarkProcessor.server.d.ts} +0 -0
  455. /package/dist/{src/test-setup.d.ts → test-setup.d.ts} +0 -0
  456. /package/dist/{src/utils → utils}/extractHeadings.d.ts +0 -0
  457. /package/dist/{src/utils → utils}/getFaviconUrl.d.ts +0 -0
  458. /package/dist/{src/utils → utils}/headingText.d.ts +0 -0
  459. /package/dist/{src/utils → utils}/simple-logger.d.ts +0 -0
@@ -1,9 +1,9 @@
1
- import { _ as u, a1 as i } from "./extractHeadings-B9zWU8Hp.js";
1
+ import { $ as u, a2 as i } from "./extractHeadings-Btke90la.js";
2
2
  import { i as m, G as y } from "./graph-DAHC4kPm.js";
3
- import { b as _, m as X } from "./map-DRdzG8Ho.js";
4
- var j = 4;
5
- function p(e) {
6
- return _(e, j);
3
+ import { b as j, m as X } from "./map-DRdzG8Ho.js";
4
+ var p = 4;
5
+ function F(e) {
6
+ return j(e, p);
7
7
  }
8
8
  function C(e) {
9
9
  var r = {
@@ -12,18 +12,18 @@ function C(e) {
12
12
  multigraph: e.isMultigraph(),
13
13
  compound: e.isCompound()
14
14
  },
15
- nodes: F(e),
16
- edges: M(e)
15
+ nodes: M(e),
16
+ edges: R(e)
17
17
  };
18
- return m(e.graph()) || (r.value = p(e.graph())), r;
18
+ return m(e.graph()) || (r.value = F(e.graph())), r;
19
19
  }
20
- function F(e) {
20
+ function M(e) {
21
21
  return X(e.nodes(), function(r) {
22
22
  var n = e.node(r), s = e.parent(r), t = { v: r };
23
23
  return m(n) || (t.value = n), m(s) || (t.parent = s), t;
24
24
  });
25
25
  }
26
- function M(e) {
26
+ function R(e) {
27
27
  return X(e.edges(), function(r) {
28
28
  var n = e.edge(r), s = { v: r.v, w: r.w };
29
29
  return m(r.name) || (s.name = r.name), m(n) || (s.value = n), s;
@@ -34,7 +34,7 @@ var c = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), A = /* @__PURE
34
34
  }, "clear"), v = /* @__PURE__ */ u((e, r) => {
35
35
  const n = w.get(r) || [];
36
36
  return i.trace("In isDescendant", r, " ", e, " = ", n.includes(e)), n.includes(e);
37
- }, "isDescendant"), R = /* @__PURE__ */ u((e, r) => {
37
+ }, "isDescendant"), _ = /* @__PURE__ */ u((e, r) => {
38
38
  const n = w.get(r) || [];
39
39
  return i.info("Descendants of ", r, " is ", n), i.info("Edge is ", e), e.v === r || e.w === r ? !1 : n ? n.includes(e.v) || v(e.v, r) || v(e.w, r) || n.includes(e.w) : (i.debug("Tilt, ", r, ",not in descendants"), !1);
40
40
  }, "edgeInCluster"), b = /* @__PURE__ */ u((e, r, n, s) => {
@@ -67,7 +67,7 @@ var c = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), A = /* @__PURE
67
67
  const d = r.edge(a.v, a.w, a.name);
68
68
  i.info("Edge data", d, s);
69
69
  try {
70
- if (R(a, s)) {
70
+ if (_(a, s)) {
71
71
  const g = w.get(s) || [], E = g.includes(a.v) || v(a.v, s) || a.v === s, x = g.includes(a.w) || v(a.w, s) || a.w === s;
72
72
  if (E && x)
73
73
  i.info("Copying as ", a.v, a.w, d, a.name), n.setEdge(a.v, a.w, d, a.name), i.info("newGraph edges ", n.edges(), n.edge(n.edges()[0]));
@@ -311,4 +311,4 @@ export {
311
311
  W as s,
312
312
  C as w
313
313
  };
314
- //# sourceMappingURL=chunk-RYQCIY6F-CK0xCpaZ.js.map
314
+ //# sourceMappingURL=chunk-RYQCIY6F-Bg7Dy3nS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-RYQCIY6F-CK0xCpaZ.js","sources":["../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/clone.js","../../../node_modules/.pnpm/dagre-d3-es@7.0.14/node_modules/dagre-d3-es/src/graphlib/json.js","../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-RYQCIY6F.mjs"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\n/**\n * @import { NodeID, EdgeObj, GraphOptions } from './graph.js';\n */\n\nexport { write, read };\n\n/**\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n *\n * @typedef {object} GraphJSON\n * @property {Required<GraphOptions>} options - The options used to create the graph.\n * @property {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} nodes - The nodes in the graph.\n * @property {Array<EdgeObj & { value?: EdgeLabel }>} edges - The edges in the graph.\n * @property {GraphLabel} [value] - The graph's value, if any.\n */\n\n/**\n * Creates a JSON representation of the graph that can be serialized to a\n * string with\n * [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify).\n * The graph can later be restored using {@link read}.\n *\n * @example\n *\n * ```js\n * var g = new graphlib.Graph();\n * g.setNode(\"a\", { label: \"node a\" });\n * g.setNode(\"b\", { label: \"node b\" });\n * g.setEdge(\"a\", \"b\", { label: \"edge a->b\" });\n * graphlib.json.write(g);\n * // Returns the object:\n * //\n * // {\n * // \"options\": {\n * // \"directed\": true,\n * // \"multigraph\": false,\n * // \"compound\": false\n * // },\n * // \"nodes\": [\n * // { \"v\": \"a\", \"value\": { \"label\": \"node a\" } },\n * // { \"v\": \"b\", \"value\": { \"label\": \"node b\" } }\n * // ],\n * // \"edges\": [\n * // { \"v\": \"a\", \"w\": \"b\", \"value\": { \"label\": \"edge a->b\" } }\n * // ]\n * // }\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {Graph<GraphLabel, NodeLabel, EdgeLabel>} g - The graph to serialize.\n * @returns {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} The JSON representation of the graph.\n */\nfunction write(g) {\n /** @type {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} */\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\n/**\n * @template NodeLabel - Label of a node.\n *\n * @param {Graph<unknown, NodeLabel, unknown>} g - The graph to serialize.\n * @returns {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} The nodes in the graph.\n */\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n /** @type {{ v: NodeID; value?: NodeLabel; parent?: NodeID }} */\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\n/**\n * @template EdgeLabel - Label of a node.\n *\n * @param {Graph<unknown, unknown, EdgeLabel>} g - The graph to serialize.\n * @returns {Array<EdgeObj & { value?: EdgeLabel }>} The edges in the graph.\n */\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n /** @type {EdgeObj & { value?: EdgeLabel }} */\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\n/**\n * Takes JSON as input and returns the graph representation.\n *\n * @example\n *\n * For example, if we have serialized the graph in {@link write}\n * to a string named `str`, we can restore it to a graph as follows:\n *\n * ```js\n * var g2 = graphlib.json.read(JSON.parse(str));\n * // or, in order to copy the graph\n * var g3 = graphlib.json.read(graphlib.json.write(g))\n *\n * g2.nodes();\n * // ['a', 'b']\n * g2.edges()\n * // [ { v: 'a', w: 'b' } ]\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} json - The JSON representation of the graph.\n * @returns {Graph<GraphLabel, NodeLabel, EdgeLabel>} The restored graph.\n */\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n const rootDescendants = descendants.get(rootId) || [];\n const vIn = rootDescendants.includes(edge.v) || isDescendant(edge.v, rootId) || edge.v === rootId;\n const wIn = rootDescendants.includes(edge.w) || isDescendant(edge.w, rootId) || edge.w === rootId;\n if (vIn && wIn) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n const newV = vIn ? rootId : edge.v;\n const newW = wIn ? rootId : edge.w;\n log.info(\"Rebinding cross-boundary edge as \", newV, newW, data2, edge.name);\n graph.setEdge(newV, newW, data2, edge.name);\n }\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n const hasDirectOutgoingEdge = graph.edges().some((edge) => edge.v === id);\n if (nonClusterChild && clusterDb.get(id)?.externalConnections && hasDirectOutgoingEdge && isNodeInExtractableCluster(graph, nonClusterChild, id)) {\n const safeAnchor = findSafeAnchorNode(graph, id, graph.parent(nonClusterChild));\n if (safeAnchor) {\n clusterDb.get(id).id = safeAnchor;\n }\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (clusterDb.get(node)?.clusterData?.explicitDir && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\"Cluster with explicit dir, creating subgraph for children\", node, depth);\n const dir = clusterDb.get(node).clusterData.dir;\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n copy(node, graph, clusterGraph, node);\n const clusterNodeData = graph.node(node) || {};\n graph.setNode(node, {\n ...clusterNodeData,\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\n \"Subgraph for cluster with explicit dir created:\",\n node,\n graphlibJson.write(clusterGraph)\n );\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n copy(node, graph, clusterGraph, node);\n const clusterNodeData = graph.node(node) || {};\n graph.setNode(node, {\n ...clusterNodeData,\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\nvar isNodeInExtractableCluster = /* @__PURE__ */ __name((graph, node, rootId) => {\n let parent = graph.parent(node);\n while (parent && parent !== rootId) {\n const cluster = clusterDb.get(parent);\n if (cluster && !cluster.externalConnections) {\n return true;\n }\n parent = graph.parent(parent);\n }\n return false;\n}, \"isNodeInExtractableCluster\");\nvar findSafeAnchorNode = /* @__PURE__ */ __name((graph, clusterId, excludedCluster) => {\n const children = graph.children(clusterId) ?? [];\n for (const child of children) {\n if (child === excludedCluster || isDescendant(child, excludedCluster)) {\n continue;\n }\n const candidate = findNonClusterChild(child, graph, clusterId);\n if (!candidate) {\n continue;\n }\n if (!isNodeInExtractableCluster(graph, candidate, clusterId)) {\n return candidate;\n }\n }\n return null;\n}, \"findSafeAnchorNode\");\n\nexport {\n clusterDb,\n clear,\n findNonClusterChild,\n adjustClustersAndEdges,\n sortNodesByHierarchy\n};\n"],"names":["CLONE_SYMBOLS_FLAG","clone","value","baseClone","write","g","json","writeNodes","writeEdges","_.isUndefined","_.clone","_.map","v","nodeValue","parent","node","e","edgeValue","edge","clusterDb","descendants","parents","clear","__name","isDescendant","id","ancestorId","ancestorDescendants","log","edgeInCluster","clusterId","clusterDescendants","copy","graph","newGraph","rootId","nodes","data","edges","data2","rootDescendants","vIn","wIn","newV","newW","extractDescendants","children","res","child","findCommonEdges","id1","id2","edges1","edges2","edges1Prim","edges2Prim","edgeIn1","findNonClusterChild","reserve","_id","commonEdges","getAnchorId","adjustClustersAndEdges","depth","d1","d2","nonClusterChild","hasDirectOutgoingEdge","isNodeInExtractableCluster","safeAnchor","findSafeAnchorNode","w","graphlibJson.write","extractor","hasChildren","dir","clusterGraph","graphlib.Graph","clusterNodeData","sorter","result","sorted","sortNodesByHierarchy","cluster","excludedCluster","candidate"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"chunk-RYQCIY6F-Bg7Dy3nS.js","sources":["../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/clone.js","../../../node_modules/.pnpm/dagre-d3-es@7.0.14/node_modules/dagre-d3-es/src/graphlib/json.js","../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-RYQCIY6F.mjs"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\n/**\n * @import { NodeID, EdgeObj, GraphOptions } from './graph.js';\n */\n\nexport { write, read };\n\n/**\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n *\n * @typedef {object} GraphJSON\n * @property {Required<GraphOptions>} options - The options used to create the graph.\n * @property {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} nodes - The nodes in the graph.\n * @property {Array<EdgeObj & { value?: EdgeLabel }>} edges - The edges in the graph.\n * @property {GraphLabel} [value] - The graph's value, if any.\n */\n\n/**\n * Creates a JSON representation of the graph that can be serialized to a\n * string with\n * [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify).\n * The graph can later be restored using {@link read}.\n *\n * @example\n *\n * ```js\n * var g = new graphlib.Graph();\n * g.setNode(\"a\", { label: \"node a\" });\n * g.setNode(\"b\", { label: \"node b\" });\n * g.setEdge(\"a\", \"b\", { label: \"edge a->b\" });\n * graphlib.json.write(g);\n * // Returns the object:\n * //\n * // {\n * // \"options\": {\n * // \"directed\": true,\n * // \"multigraph\": false,\n * // \"compound\": false\n * // },\n * // \"nodes\": [\n * // { \"v\": \"a\", \"value\": { \"label\": \"node a\" } },\n * // { \"v\": \"b\", \"value\": { \"label\": \"node b\" } }\n * // ],\n * // \"edges\": [\n * // { \"v\": \"a\", \"w\": \"b\", \"value\": { \"label\": \"edge a->b\" } }\n * // ]\n * // }\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {Graph<GraphLabel, NodeLabel, EdgeLabel>} g - The graph to serialize.\n * @returns {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} The JSON representation of the graph.\n */\nfunction write(g) {\n /** @type {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} */\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\n/**\n * @template NodeLabel - Label of a node.\n *\n * @param {Graph<unknown, NodeLabel, unknown>} g - The graph to serialize.\n * @returns {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} The nodes in the graph.\n */\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n /** @type {{ v: NodeID; value?: NodeLabel; parent?: NodeID }} */\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\n/**\n * @template EdgeLabel - Label of a node.\n *\n * @param {Graph<unknown, unknown, EdgeLabel>} g - The graph to serialize.\n * @returns {Array<EdgeObj & { value?: EdgeLabel }>} The edges in the graph.\n */\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n /** @type {EdgeObj & { value?: EdgeLabel }} */\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\n/**\n * Takes JSON as input and returns the graph representation.\n *\n * @example\n *\n * For example, if we have serialized the graph in {@link write}\n * to a string named `str`, we can restore it to a graph as follows:\n *\n * ```js\n * var g2 = graphlib.json.read(JSON.parse(str));\n * // or, in order to copy the graph\n * var g3 = graphlib.json.read(graphlib.json.write(g))\n *\n * g2.nodes();\n * // ['a', 'b']\n * g2.edges()\n * // [ { v: 'a', w: 'b' } ]\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} json - The JSON representation of the graph.\n * @returns {Graph<GraphLabel, NodeLabel, EdgeLabel>} The restored graph.\n */\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n const rootDescendants = descendants.get(rootId) || [];\n const vIn = rootDescendants.includes(edge.v) || isDescendant(edge.v, rootId) || edge.v === rootId;\n const wIn = rootDescendants.includes(edge.w) || isDescendant(edge.w, rootId) || edge.w === rootId;\n if (vIn && wIn) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n const newV = vIn ? rootId : edge.v;\n const newW = wIn ? rootId : edge.w;\n log.info(\"Rebinding cross-boundary edge as \", newV, newW, data2, edge.name);\n graph.setEdge(newV, newW, data2, edge.name);\n }\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n const hasDirectOutgoingEdge = graph.edges().some((edge) => edge.v === id);\n if (nonClusterChild && clusterDb.get(id)?.externalConnections && hasDirectOutgoingEdge && isNodeInExtractableCluster(graph, nonClusterChild, id)) {\n const safeAnchor = findSafeAnchorNode(graph, id, graph.parent(nonClusterChild));\n if (safeAnchor) {\n clusterDb.get(id).id = safeAnchor;\n }\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (clusterDb.get(node)?.clusterData?.explicitDir && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\"Cluster with explicit dir, creating subgraph for children\", node, depth);\n const dir = clusterDb.get(node).clusterData.dir;\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n copy(node, graph, clusterGraph, node);\n const clusterNodeData = graph.node(node) || {};\n graph.setNode(node, {\n ...clusterNodeData,\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\n \"Subgraph for cluster with explicit dir created:\",\n node,\n graphlibJson.write(clusterGraph)\n );\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n copy(node, graph, clusterGraph, node);\n const clusterNodeData = graph.node(node) || {};\n graph.setNode(node, {\n ...clusterNodeData,\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\nvar isNodeInExtractableCluster = /* @__PURE__ */ __name((graph, node, rootId) => {\n let parent = graph.parent(node);\n while (parent && parent !== rootId) {\n const cluster = clusterDb.get(parent);\n if (cluster && !cluster.externalConnections) {\n return true;\n }\n parent = graph.parent(parent);\n }\n return false;\n}, \"isNodeInExtractableCluster\");\nvar findSafeAnchorNode = /* @__PURE__ */ __name((graph, clusterId, excludedCluster) => {\n const children = graph.children(clusterId) ?? [];\n for (const child of children) {\n if (child === excludedCluster || isDescendant(child, excludedCluster)) {\n continue;\n }\n const candidate = findNonClusterChild(child, graph, clusterId);\n if (!candidate) {\n continue;\n }\n if (!isNodeInExtractableCluster(graph, candidate, clusterId)) {\n return candidate;\n }\n }\n return null;\n}, \"findSafeAnchorNode\");\n\nexport {\n clusterDb,\n clear,\n findNonClusterChild,\n adjustClustersAndEdges,\n sortNodesByHierarchy\n};\n"],"names":["CLONE_SYMBOLS_FLAG","clone","value","baseClone","write","g","json","writeNodes","writeEdges","_.isUndefined","_.clone","_.map","v","nodeValue","parent","node","e","edgeValue","edge","clusterDb","descendants","parents","clear","__name","isDescendant","id","ancestorId","ancestorDescendants","log","edgeInCluster","clusterId","clusterDescendants","copy","graph","newGraph","rootId","nodes","data","edges","data2","rootDescendants","vIn","wIn","newV","newW","extractDescendants","children","res","child","findCommonEdges","id1","id2","edges1","edges2","edges1Prim","edges2Prim","edgeIn1","findNonClusterChild","reserve","_id","commonEdges","getAnchorId","adjustClustersAndEdges","depth","d1","d2","nonClusterChild","hasDirectOutgoingEdge","isNodeInExtractableCluster","safeAnchor","findSafeAnchorNode","w","graphlibJson.write","extractor","hasChildren","dir","clusterGraph","graphlib.Graph","clusterNodeData","sorter","result","sorted","sortNodesByHierarchy","cluster","excludedCluster","candidate"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,2 +1,2 @@
1
- "use strict";const o=require("./extractHeadings-D0Yt1_JR.cjs"),g=require("./graph-BgRih2Qv.cjs"),E=require("./map-BvScllSQ.cjs");var k=4;function B(e){return E.baseClone(e,k)}function v(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:j(e),edges:L(e)};return g.isUndefined(e.graph())||(r.value=B(e.graph())),r}function j(e){return E.map(e.nodes(),function(r){var n=e.node(r),s=e.parent(r),t={v:r};return g.isUndefined(n)||(t.value=n),g.isUndefined(s)||(t.parent=s),t})}function L(e){return E.map(e.edges(),function(r){var n=e.edge(r),s={v:r.v,w:r.w};return g.isUndefined(r.name)||(s.name=r.name),g.isUndefined(n)||(s.value=n),s})}var a=new Map,d=new Map,y=new Map,p=o.__name(()=>{d.clear(),y.clear(),a.clear()},"clear"),w=o.__name((e,r)=>{const n=d.get(r)||[];return o.log.trace("In isDescendant",r," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),F=o.__name((e,r)=>{const n=d.get(r)||[];return o.log.info("Descendants of ",r," is ",n),o.log.info("Edge is ",e),e.v===r||e.w===r?!1:n?n.includes(e.v)||w(e.v,r)||w(e.w,r)||n.includes(e.w):(o.log.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),D=o.__name((e,r,n,s)=>{o.log.warn("Copying children of ",e,"root",s,"data",r.node(e),s);const t=r.children(e)||[];e!==s&&t.push(e),o.log.warn("Copying (nodes) clusterId",e,"nodes",t),t.forEach(i=>{if(r.children(i).length>0)D(i,r,n,s);else{const c=r.node(i);o.log.info("cp ",i," to ",s," with parent ",e),n.setNode(i,c),s!==r.parent(i)&&(o.log.warn("Setting parent",i,r.parent(i)),n.setParent(i,r.parent(i))),e!==s&&i!==e?(o.log.debug("Setting parent",i,e),n.setParent(i,e)):(o.log.info("In copy ",e,"root",s,"data",r.node(e),s),o.log.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==s,"node!==clusterId",i!==e));const u=r.edges(i);o.log.debug("Copying Edges",u),u.forEach(l=>{o.log.info("Edge",l);const f=r.edge(l.v,l.w,l.name);o.log.info("Edge data",f,s);try{if(F(l,s)){const C=d.get(s)||[],b=C.includes(l.v)||w(l.v,s)||l.v===s,_=C.includes(l.w)||w(l.w,s)||l.w===s;if(b&&_)o.log.info("Copying as ",l.v,l.w,f,l.name),n.setEdge(l.v,l.w,f,l.name),o.log.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]));else{const x=b?s:l.v,h=_?s:l.w;o.log.info("Rebinding cross-boundary edge as ",x,h,f,l.name),r.setEdge(x,h,f,l.name)}}else o.log.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",s," clusterId:",e)}catch(C){o.log.error(C)}})}o.log.debug("Removing node",i),r.removeNode(i)})},"copy"),S=o.__name((e,r)=>{const n=r.children(e);let s=[...n];for(const t of n)y.set(t,e),s=[...s,...S(t,r)];return s},"extractDescendants"),M=o.__name((e,r,n)=>{const s=e.edges().filter(l=>l.v===r||l.w===r),t=e.edges().filter(l=>l.v===n||l.w===n),i=s.map(l=>({v:l.v===r?n:l.v,w:l.w===r?r:l.w})),c=t.map(l=>({v:l.v,w:l.w}));return i.filter(l=>c.some(f=>l.v===f.v&&l.w===f.w))},"findCommonEdges"),m=o.__name((e,r,n)=>{const s=r.children(e);if(o.log.trace("Searching children of id ",e,s),s.length<1)return e;let t;for(const i of s){const c=m(i,r,n),u=M(r,n,c);if(c)if(u.length>0)t=c;else return c}return t},"findNonClusterChild"),N=o.__name(e=>!a.has(e)||!a.get(e).externalConnections?e:a.has(e)?a.get(e).id:e,"getAnchorId"),R=o.__name((e,r)=>{if(!e||r>10){o.log.debug("Opting out, no graph ");return}else o.log.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(o.log.warn("Cluster identified",n," Replacement id in edges: ",m(n,e,n)),d.set(n,S(n,e)),a.set(n,{id:m(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const s=e.children(n),t=e.edges();s.length>0?(o.log.debug("Cluster identified",n,d),t.forEach(i=>{const c=w(i.v,n),u=w(i.w,n);c^u&&(o.log.warn("Edge: ",i," leaves cluster ",n),o.log.warn("Descendants of XXX ",n,": ",d.get(n)),a.get(n).externalConnections=!0)})):o.log.debug("Not a cluster ",n,d)});for(let n of a.keys()){const s=a.get(n).id,t=e.parent(s);t!==n&&a.has(t)&&!a.get(t).externalConnections&&(a.get(n).id=t);const i=e.edges().some(c=>c.v===n);if(s&&a.get(n)?.externalConnections&&i&&O(e,s,n)){const c=H(e,n,e.parent(s));c&&(a.get(n).id=c)}}e.edges().forEach(function(n){const s=e.edge(n);o.log.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),o.log.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let t=n.v,i=n.w;if(o.log.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a.get(n.v)," --- ",a.get(n.w)),a.get(n.v)||a.get(n.w)){if(o.log.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),t=N(n.v),i=N(n.w),e.removeEdge(n.v,n.w,n.name),t!==n.v){const c=e.parent(t);a.get(c).externalConnections=!0,s.fromCluster=n.v}if(i!==n.w){const c=e.parent(i);a.get(c).externalConnections=!0,s.toCluster=n.w}o.log.warn("Fix Replacing with XXX",t,i,n.name),e.setEdge(t,i,s,n.name)}}),o.log.warn("Adjusted Graph",v(e)),X(e,0),o.log.trace(a)},"adjustClustersAndEdges"),X=o.__name((e,r)=>{if(o.log.warn("extractor - ",r,v(e),e.children("D")),r>10){o.log.error("Bailing out");return}let n=e.nodes(),s=!1;for(const t of n){const i=e.children(t);s=s||i.length>0}if(!s){o.log.debug("Done, no node has children",e.nodes());return}o.log.debug("Nodes = ",n,r);for(const t of n)if(o.log.debug("Extracting node",t,a,a.has(t)&&!a.get(t).externalConnections,!e.parent(t),e.node(t),e.children("D")," Depth ",r),!a.has(t))o.log.debug("Not a cluster",t,r);else if(a.get(t)?.clusterData?.explicitDir&&e.children(t)&&e.children(t).length>0){o.log.warn("Cluster with explicit dir, creating subgraph for children",t,r);const i=a.get(t).clusterData.dir,c=new g.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});D(t,e,c,t);const u=e.node(t)||{};e.setNode(t,{...u,clusterNode:!0,id:t,clusterData:a.get(t).clusterData,label:a.get(t).label,graph:c}),o.log.warn("Subgraph for cluster with explicit dir created:",t,v(c))}else if(!a.get(t).externalConnections&&e.children(t)&&e.children(t).length>0){o.log.warn("Cluster without external connections, without a parent and with children",t,r);let c=e.graph().rankdir==="TB"?"LR":"TB";a.get(t)?.clusterData?.dir&&(c=a.get(t).clusterData.dir,o.log.warn("Fixing dir",a.get(t).clusterData.dir,c));const u=new g.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});D(t,e,u,t);const l=e.node(t)||{};e.setNode(t,{...l,clusterNode:!0,id:t,clusterData:a.get(t).clusterData,label:a.get(t).label,graph:u}),o.log.debug("Old graph after copy",v(e))}else o.log.warn("Cluster ** ",t," **not meeting the criteria !externalConnections:",!a.get(t).externalConnections," no parent: ",!e.parent(t)," children ",e.children(t)&&e.children(t).length>0,e.children("D"),r),o.log.debug(a);n=e.nodes(),o.log.warn("New list of nodes",n);for(const t of n){const i=e.node(t);o.log.warn(" Now next level",t,i),i?.clusterNode&&X(i.graph,r+1)}},"extractor"),A=o.__name((e,r)=>{if(r.length===0)return[];let n=Object.assign([],r);return r.forEach(s=>{const t=e.children(s),i=A(e,t);n=[...n,...i]}),n},"sorter"),U=o.__name(e=>A(e,e.children()),"sortNodesByHierarchy"),O=o.__name((e,r,n)=>{let s=e.parent(r);for(;s&&s!==n;){const t=a.get(s);if(t&&!t.externalConnections)return!0;s=e.parent(s)}return!1},"isNodeInExtractableCluster"),H=o.__name((e,r,n)=>{const s=e.children(r)??[];for(const t of s){if(t===n||w(t,n))continue;const i=m(t,e,r);if(i&&!O(e,i,r))return i}return null},"findSafeAnchorNode");exports.adjustClustersAndEdges=R;exports.clear=p;exports.clusterDb=a;exports.findNonClusterChild=m;exports.sortNodesByHierarchy=U;exports.write=v;
2
- //# sourceMappingURL=chunk-RYQCIY6F-CZfHzKoN.cjs.map
1
+ "use strict";const o=require("./extractHeadings-CbOVIBS0.cjs"),g=require("./graph-BgRih2Qv.cjs"),E=require("./map-BvScllSQ.cjs");var k=4;function B(e){return E.baseClone(e,k)}function v(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:j(e),edges:L(e)};return g.isUndefined(e.graph())||(r.value=B(e.graph())),r}function j(e){return E.map(e.nodes(),function(r){var n=e.node(r),s=e.parent(r),t={v:r};return g.isUndefined(n)||(t.value=n),g.isUndefined(s)||(t.parent=s),t})}function L(e){return E.map(e.edges(),function(r){var n=e.edge(r),s={v:r.v,w:r.w};return g.isUndefined(r.name)||(s.name=r.name),g.isUndefined(n)||(s.value=n),s})}var a=new Map,d=new Map,y=new Map,p=o.__name(()=>{d.clear(),y.clear(),a.clear()},"clear"),w=o.__name((e,r)=>{const n=d.get(r)||[];return o.log.trace("In isDescendant",r," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),F=o.__name((e,r)=>{const n=d.get(r)||[];return o.log.info("Descendants of ",r," is ",n),o.log.info("Edge is ",e),e.v===r||e.w===r?!1:n?n.includes(e.v)||w(e.v,r)||w(e.w,r)||n.includes(e.w):(o.log.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),D=o.__name((e,r,n,s)=>{o.log.warn("Copying children of ",e,"root",s,"data",r.node(e),s);const t=r.children(e)||[];e!==s&&t.push(e),o.log.warn("Copying (nodes) clusterId",e,"nodes",t),t.forEach(i=>{if(r.children(i).length>0)D(i,r,n,s);else{const c=r.node(i);o.log.info("cp ",i," to ",s," with parent ",e),n.setNode(i,c),s!==r.parent(i)&&(o.log.warn("Setting parent",i,r.parent(i)),n.setParent(i,r.parent(i))),e!==s&&i!==e?(o.log.debug("Setting parent",i,e),n.setParent(i,e)):(o.log.info("In copy ",e,"root",s,"data",r.node(e),s),o.log.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==s,"node!==clusterId",i!==e));const u=r.edges(i);o.log.debug("Copying Edges",u),u.forEach(l=>{o.log.info("Edge",l);const f=r.edge(l.v,l.w,l.name);o.log.info("Edge data",f,s);try{if(F(l,s)){const C=d.get(s)||[],b=C.includes(l.v)||w(l.v,s)||l.v===s,_=C.includes(l.w)||w(l.w,s)||l.w===s;if(b&&_)o.log.info("Copying as ",l.v,l.w,f,l.name),n.setEdge(l.v,l.w,f,l.name),o.log.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]));else{const x=b?s:l.v,h=_?s:l.w;o.log.info("Rebinding cross-boundary edge as ",x,h,f,l.name),r.setEdge(x,h,f,l.name)}}else o.log.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",s," clusterId:",e)}catch(C){o.log.error(C)}})}o.log.debug("Removing node",i),r.removeNode(i)})},"copy"),S=o.__name((e,r)=>{const n=r.children(e);let s=[...n];for(const t of n)y.set(t,e),s=[...s,...S(t,r)];return s},"extractDescendants"),M=o.__name((e,r,n)=>{const s=e.edges().filter(l=>l.v===r||l.w===r),t=e.edges().filter(l=>l.v===n||l.w===n),i=s.map(l=>({v:l.v===r?n:l.v,w:l.w===r?r:l.w})),c=t.map(l=>({v:l.v,w:l.w}));return i.filter(l=>c.some(f=>l.v===f.v&&l.w===f.w))},"findCommonEdges"),m=o.__name((e,r,n)=>{const s=r.children(e);if(o.log.trace("Searching children of id ",e,s),s.length<1)return e;let t;for(const i of s){const c=m(i,r,n),u=M(r,n,c);if(c)if(u.length>0)t=c;else return c}return t},"findNonClusterChild"),N=o.__name(e=>!a.has(e)||!a.get(e).externalConnections?e:a.has(e)?a.get(e).id:e,"getAnchorId"),R=o.__name((e,r)=>{if(!e||r>10){o.log.debug("Opting out, no graph ");return}else o.log.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(o.log.warn("Cluster identified",n," Replacement id in edges: ",m(n,e,n)),d.set(n,S(n,e)),a.set(n,{id:m(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const s=e.children(n),t=e.edges();s.length>0?(o.log.debug("Cluster identified",n,d),t.forEach(i=>{const c=w(i.v,n),u=w(i.w,n);c^u&&(o.log.warn("Edge: ",i," leaves cluster ",n),o.log.warn("Descendants of XXX ",n,": ",d.get(n)),a.get(n).externalConnections=!0)})):o.log.debug("Not a cluster ",n,d)});for(let n of a.keys()){const s=a.get(n).id,t=e.parent(s);t!==n&&a.has(t)&&!a.get(t).externalConnections&&(a.get(n).id=t);const i=e.edges().some(c=>c.v===n);if(s&&a.get(n)?.externalConnections&&i&&O(e,s,n)){const c=H(e,n,e.parent(s));c&&(a.get(n).id=c)}}e.edges().forEach(function(n){const s=e.edge(n);o.log.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),o.log.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let t=n.v,i=n.w;if(o.log.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a.get(n.v)," --- ",a.get(n.w)),a.get(n.v)||a.get(n.w)){if(o.log.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),t=N(n.v),i=N(n.w),e.removeEdge(n.v,n.w,n.name),t!==n.v){const c=e.parent(t);a.get(c).externalConnections=!0,s.fromCluster=n.v}if(i!==n.w){const c=e.parent(i);a.get(c).externalConnections=!0,s.toCluster=n.w}o.log.warn("Fix Replacing with XXX",t,i,n.name),e.setEdge(t,i,s,n.name)}}),o.log.warn("Adjusted Graph",v(e)),X(e,0),o.log.trace(a)},"adjustClustersAndEdges"),X=o.__name((e,r)=>{if(o.log.warn("extractor - ",r,v(e),e.children("D")),r>10){o.log.error("Bailing out");return}let n=e.nodes(),s=!1;for(const t of n){const i=e.children(t);s=s||i.length>0}if(!s){o.log.debug("Done, no node has children",e.nodes());return}o.log.debug("Nodes = ",n,r);for(const t of n)if(o.log.debug("Extracting node",t,a,a.has(t)&&!a.get(t).externalConnections,!e.parent(t),e.node(t),e.children("D")," Depth ",r),!a.has(t))o.log.debug("Not a cluster",t,r);else if(a.get(t)?.clusterData?.explicitDir&&e.children(t)&&e.children(t).length>0){o.log.warn("Cluster with explicit dir, creating subgraph for children",t,r);const i=a.get(t).clusterData.dir,c=new g.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});D(t,e,c,t);const u=e.node(t)||{};e.setNode(t,{...u,clusterNode:!0,id:t,clusterData:a.get(t).clusterData,label:a.get(t).label,graph:c}),o.log.warn("Subgraph for cluster with explicit dir created:",t,v(c))}else if(!a.get(t).externalConnections&&e.children(t)&&e.children(t).length>0){o.log.warn("Cluster without external connections, without a parent and with children",t,r);let c=e.graph().rankdir==="TB"?"LR":"TB";a.get(t)?.clusterData?.dir&&(c=a.get(t).clusterData.dir,o.log.warn("Fixing dir",a.get(t).clusterData.dir,c));const u=new g.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});D(t,e,u,t);const l=e.node(t)||{};e.setNode(t,{...l,clusterNode:!0,id:t,clusterData:a.get(t).clusterData,label:a.get(t).label,graph:u}),o.log.debug("Old graph after copy",v(e))}else o.log.warn("Cluster ** ",t," **not meeting the criteria !externalConnections:",!a.get(t).externalConnections," no parent: ",!e.parent(t)," children ",e.children(t)&&e.children(t).length>0,e.children("D"),r),o.log.debug(a);n=e.nodes(),o.log.warn("New list of nodes",n);for(const t of n){const i=e.node(t);o.log.warn(" Now next level",t,i),i?.clusterNode&&X(i.graph,r+1)}},"extractor"),A=o.__name((e,r)=>{if(r.length===0)return[];let n=Object.assign([],r);return r.forEach(s=>{const t=e.children(s),i=A(e,t);n=[...n,...i]}),n},"sorter"),U=o.__name(e=>A(e,e.children()),"sortNodesByHierarchy"),O=o.__name((e,r,n)=>{let s=e.parent(r);for(;s&&s!==n;){const t=a.get(s);if(t&&!t.externalConnections)return!0;s=e.parent(s)}return!1},"isNodeInExtractableCluster"),H=o.__name((e,r,n)=>{const s=e.children(r)??[];for(const t of s){if(t===n||w(t,n))continue;const i=m(t,e,r);if(i&&!O(e,i,r))return i}return null},"findSafeAnchorNode");exports.adjustClustersAndEdges=R;exports.clear=p;exports.clusterDb=a;exports.findNonClusterChild=m;exports.sortNodesByHierarchy=U;exports.write=v;
2
+ //# sourceMappingURL=chunk-RYQCIY6F-QJ2duqI8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-RYQCIY6F-CZfHzKoN.cjs","sources":["../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/clone.js","../../../node_modules/.pnpm/dagre-d3-es@7.0.14/node_modules/dagre-d3-es/src/graphlib/json.js","../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-RYQCIY6F.mjs"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\n/**\n * @import { NodeID, EdgeObj, GraphOptions } from './graph.js';\n */\n\nexport { write, read };\n\n/**\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n *\n * @typedef {object} GraphJSON\n * @property {Required<GraphOptions>} options - The options used to create the graph.\n * @property {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} nodes - The nodes in the graph.\n * @property {Array<EdgeObj & { value?: EdgeLabel }>} edges - The edges in the graph.\n * @property {GraphLabel} [value] - The graph's value, if any.\n */\n\n/**\n * Creates a JSON representation of the graph that can be serialized to a\n * string with\n * [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify).\n * The graph can later be restored using {@link read}.\n *\n * @example\n *\n * ```js\n * var g = new graphlib.Graph();\n * g.setNode(\"a\", { label: \"node a\" });\n * g.setNode(\"b\", { label: \"node b\" });\n * g.setEdge(\"a\", \"b\", { label: \"edge a->b\" });\n * graphlib.json.write(g);\n * // Returns the object:\n * //\n * // {\n * // \"options\": {\n * // \"directed\": true,\n * // \"multigraph\": false,\n * // \"compound\": false\n * // },\n * // \"nodes\": [\n * // { \"v\": \"a\", \"value\": { \"label\": \"node a\" } },\n * // { \"v\": \"b\", \"value\": { \"label\": \"node b\" } }\n * // ],\n * // \"edges\": [\n * // { \"v\": \"a\", \"w\": \"b\", \"value\": { \"label\": \"edge a->b\" } }\n * // ]\n * // }\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {Graph<GraphLabel, NodeLabel, EdgeLabel>} g - The graph to serialize.\n * @returns {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} The JSON representation of the graph.\n */\nfunction write(g) {\n /** @type {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} */\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\n/**\n * @template NodeLabel - Label of a node.\n *\n * @param {Graph<unknown, NodeLabel, unknown>} g - The graph to serialize.\n * @returns {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} The nodes in the graph.\n */\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n /** @type {{ v: NodeID; value?: NodeLabel; parent?: NodeID }} */\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\n/**\n * @template EdgeLabel - Label of a node.\n *\n * @param {Graph<unknown, unknown, EdgeLabel>} g - The graph to serialize.\n * @returns {Array<EdgeObj & { value?: EdgeLabel }>} The edges in the graph.\n */\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n /** @type {EdgeObj & { value?: EdgeLabel }} */\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\n/**\n * Takes JSON as input and returns the graph representation.\n *\n * @example\n *\n * For example, if we have serialized the graph in {@link write}\n * to a string named `str`, we can restore it to a graph as follows:\n *\n * ```js\n * var g2 = graphlib.json.read(JSON.parse(str));\n * // or, in order to copy the graph\n * var g3 = graphlib.json.read(graphlib.json.write(g))\n *\n * g2.nodes();\n * // ['a', 'b']\n * g2.edges()\n * // [ { v: 'a', w: 'b' } ]\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} json - The JSON representation of the graph.\n * @returns {Graph<GraphLabel, NodeLabel, EdgeLabel>} The restored graph.\n */\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n const rootDescendants = descendants.get(rootId) || [];\n const vIn = rootDescendants.includes(edge.v) || isDescendant(edge.v, rootId) || edge.v === rootId;\n const wIn = rootDescendants.includes(edge.w) || isDescendant(edge.w, rootId) || edge.w === rootId;\n if (vIn && wIn) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n const newV = vIn ? rootId : edge.v;\n const newW = wIn ? rootId : edge.w;\n log.info(\"Rebinding cross-boundary edge as \", newV, newW, data2, edge.name);\n graph.setEdge(newV, newW, data2, edge.name);\n }\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n const hasDirectOutgoingEdge = graph.edges().some((edge) => edge.v === id);\n if (nonClusterChild && clusterDb.get(id)?.externalConnections && hasDirectOutgoingEdge && isNodeInExtractableCluster(graph, nonClusterChild, id)) {\n const safeAnchor = findSafeAnchorNode(graph, id, graph.parent(nonClusterChild));\n if (safeAnchor) {\n clusterDb.get(id).id = safeAnchor;\n }\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (clusterDb.get(node)?.clusterData?.explicitDir && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\"Cluster with explicit dir, creating subgraph for children\", node, depth);\n const dir = clusterDb.get(node).clusterData.dir;\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n copy(node, graph, clusterGraph, node);\n const clusterNodeData = graph.node(node) || {};\n graph.setNode(node, {\n ...clusterNodeData,\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\n \"Subgraph for cluster with explicit dir created:\",\n node,\n graphlibJson.write(clusterGraph)\n );\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n copy(node, graph, clusterGraph, node);\n const clusterNodeData = graph.node(node) || {};\n graph.setNode(node, {\n ...clusterNodeData,\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\nvar isNodeInExtractableCluster = /* @__PURE__ */ __name((graph, node, rootId) => {\n let parent = graph.parent(node);\n while (parent && parent !== rootId) {\n const cluster = clusterDb.get(parent);\n if (cluster && !cluster.externalConnections) {\n return true;\n }\n parent = graph.parent(parent);\n }\n return false;\n}, \"isNodeInExtractableCluster\");\nvar findSafeAnchorNode = /* @__PURE__ */ __name((graph, clusterId, excludedCluster) => {\n const children = graph.children(clusterId) ?? [];\n for (const child of children) {\n if (child === excludedCluster || isDescendant(child, excludedCluster)) {\n continue;\n }\n const candidate = findNonClusterChild(child, graph, clusterId);\n if (!candidate) {\n continue;\n }\n if (!isNodeInExtractableCluster(graph, candidate, clusterId)) {\n return candidate;\n }\n }\n return null;\n}, \"findSafeAnchorNode\");\n\nexport {\n clusterDb,\n clear,\n findNonClusterChild,\n adjustClustersAndEdges,\n sortNodesByHierarchy\n};\n"],"names":["CLONE_SYMBOLS_FLAG","clone","value","baseClone","write","g","json","writeNodes","writeEdges","_.isUndefined","_.clone","_.map","v","nodeValue","parent","node","e","edgeValue","edge","clusterDb","descendants","parents","clear","__name","isDescendant","id","ancestorId","ancestorDescendants","log","edgeInCluster","clusterId","clusterDescendants","copy","graph","newGraph","rootId","nodes","data","edges","data2","rootDescendants","vIn","wIn","newV","newW","extractDescendants","children","res","child","findCommonEdges","id1","id2","edges1","edges2","edges1Prim","edges2Prim","edgeIn1","findNonClusterChild","reserve","_id","commonEdges","getAnchorId","adjustClustersAndEdges","depth","d1","d2","nonClusterChild","hasDirectOutgoingEdge","isNodeInExtractableCluster","safeAnchor","findSafeAnchorNode","w","graphlibJson.write","extractor","hasChildren","dir","clusterGraph","graphlib.Graph","clusterNodeData","sorter","result","sorted","sortNodesByHierarchy","cluster","excludedCluster","candidate"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"chunk-RYQCIY6F-QJ2duqI8.cjs","sources":["../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/clone.js","../../../node_modules/.pnpm/dagre-d3-es@7.0.14/node_modules/dagre-d3-es/src/graphlib/json.js","../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-RYQCIY6F.mjs"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\n/**\n * @import { NodeID, EdgeObj, GraphOptions } from './graph.js';\n */\n\nexport { write, read };\n\n/**\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n *\n * @typedef {object} GraphJSON\n * @property {Required<GraphOptions>} options - The options used to create the graph.\n * @property {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} nodes - The nodes in the graph.\n * @property {Array<EdgeObj & { value?: EdgeLabel }>} edges - The edges in the graph.\n * @property {GraphLabel} [value] - The graph's value, if any.\n */\n\n/**\n * Creates a JSON representation of the graph that can be serialized to a\n * string with\n * [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify).\n * The graph can later be restored using {@link read}.\n *\n * @example\n *\n * ```js\n * var g = new graphlib.Graph();\n * g.setNode(\"a\", { label: \"node a\" });\n * g.setNode(\"b\", { label: \"node b\" });\n * g.setEdge(\"a\", \"b\", { label: \"edge a->b\" });\n * graphlib.json.write(g);\n * // Returns the object:\n * //\n * // {\n * // \"options\": {\n * // \"directed\": true,\n * // \"multigraph\": false,\n * // \"compound\": false\n * // },\n * // \"nodes\": [\n * // { \"v\": \"a\", \"value\": { \"label\": \"node a\" } },\n * // { \"v\": \"b\", \"value\": { \"label\": \"node b\" } }\n * // ],\n * // \"edges\": [\n * // { \"v\": \"a\", \"w\": \"b\", \"value\": { \"label\": \"edge a->b\" } }\n * // ]\n * // }\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {Graph<GraphLabel, NodeLabel, EdgeLabel>} g - The graph to serialize.\n * @returns {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} The JSON representation of the graph.\n */\nfunction write(g) {\n /** @type {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} */\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\n/**\n * @template NodeLabel - Label of a node.\n *\n * @param {Graph<unknown, NodeLabel, unknown>} g - The graph to serialize.\n * @returns {Array<{ v: NodeID; value?: NodeLabel; parent?: NodeID }>} The nodes in the graph.\n */\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n /** @type {{ v: NodeID; value?: NodeLabel; parent?: NodeID }} */\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\n/**\n * @template EdgeLabel - Label of a node.\n *\n * @param {Graph<unknown, unknown, EdgeLabel>} g - The graph to serialize.\n * @returns {Array<EdgeObj & { value?: EdgeLabel }>} The edges in the graph.\n */\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n /** @type {EdgeObj & { value?: EdgeLabel }} */\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\n/**\n * Takes JSON as input and returns the graph representation.\n *\n * @example\n *\n * For example, if we have serialized the graph in {@link write}\n * to a string named `str`, we can restore it to a graph as follows:\n *\n * ```js\n * var g2 = graphlib.json.read(JSON.parse(str));\n * // or, in order to copy the graph\n * var g3 = graphlib.json.read(graphlib.json.write(g))\n *\n * g2.nodes();\n * // ['a', 'b']\n * g2.edges()\n * // [ { v: 'a', w: 'b' } ]\n * ```\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * @template [EdgeLabel=any] - Label of an edge.\n * @param {GraphJSON<GraphLabel, NodeLabel, EdgeLabel>} json - The JSON representation of the graph.\n * @returns {Graph<GraphLabel, NodeLabel, EdgeLabel>} The restored graph.\n */\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n const rootDescendants = descendants.get(rootId) || [];\n const vIn = rootDescendants.includes(edge.v) || isDescendant(edge.v, rootId) || edge.v === rootId;\n const wIn = rootDescendants.includes(edge.w) || isDescendant(edge.w, rootId) || edge.w === rootId;\n if (vIn && wIn) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n const newV = vIn ? rootId : edge.v;\n const newW = wIn ? rootId : edge.w;\n log.info(\"Rebinding cross-boundary edge as \", newV, newW, data2, edge.name);\n graph.setEdge(newV, newW, data2, edge.name);\n }\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n const hasDirectOutgoingEdge = graph.edges().some((edge) => edge.v === id);\n if (nonClusterChild && clusterDb.get(id)?.externalConnections && hasDirectOutgoingEdge && isNodeInExtractableCluster(graph, nonClusterChild, id)) {\n const safeAnchor = findSafeAnchorNode(graph, id, graph.parent(nonClusterChild));\n if (safeAnchor) {\n clusterDb.get(id).id = safeAnchor;\n }\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (clusterDb.get(node)?.clusterData?.explicitDir && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\"Cluster with explicit dir, creating subgraph for children\", node, depth);\n const dir = clusterDb.get(node).clusterData.dir;\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n copy(node, graph, clusterGraph, node);\n const clusterNodeData = graph.node(node) || {};\n graph.setNode(node, {\n ...clusterNodeData,\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\n \"Subgraph for cluster with explicit dir created:\",\n node,\n graphlibJson.write(clusterGraph)\n );\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n copy(node, graph, clusterGraph, node);\n const clusterNodeData = graph.node(node) || {};\n graph.setNode(node, {\n ...clusterNodeData,\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\nvar isNodeInExtractableCluster = /* @__PURE__ */ __name((graph, node, rootId) => {\n let parent = graph.parent(node);\n while (parent && parent !== rootId) {\n const cluster = clusterDb.get(parent);\n if (cluster && !cluster.externalConnections) {\n return true;\n }\n parent = graph.parent(parent);\n }\n return false;\n}, \"isNodeInExtractableCluster\");\nvar findSafeAnchorNode = /* @__PURE__ */ __name((graph, clusterId, excludedCluster) => {\n const children = graph.children(clusterId) ?? [];\n for (const child of children) {\n if (child === excludedCluster || isDescendant(child, excludedCluster)) {\n continue;\n }\n const candidate = findNonClusterChild(child, graph, clusterId);\n if (!candidate) {\n continue;\n }\n if (!isNodeInExtractableCluster(graph, candidate, clusterId)) {\n return candidate;\n }\n }\n return null;\n}, \"findSafeAnchorNode\");\n\nexport {\n clusterDb,\n clear,\n findNonClusterChild,\n adjustClustersAndEdges,\n sortNodesByHierarchy\n};\n"],"names":["CLONE_SYMBOLS_FLAG","clone","value","baseClone","write","g","json","writeNodes","writeEdges","_.isUndefined","_.clone","_.map","v","nodeValue","parent","node","e","edgeValue","edge","clusterDb","descendants","parents","clear","__name","isDescendant","id","ancestorId","ancestorDescendants","log","edgeInCluster","clusterId","clusterDescendants","copy","graph","newGraph","rootId","nodes","data","edges","data2","rootDescendants","vIn","wIn","newV","newW","extractDescendants","children","res","child","findCommonEdges","id1","id2","edges1","edges2","edges1Prim","edges2Prim","edgeIn1","findNonClusterChild","reserve","_id","commonEdges","getAnchorId","adjustClustersAndEdges","depth","d1","d2","nonClusterChild","hasDirectOutgoingEdge","isNodeInExtractableCluster","safeAnchor","findSafeAnchorNode","w","graphlibJson.write","extractor","hasChildren","dir","clusterGraph","graphlib.Graph","clusterNodeData","sorter","result","sorted","sortNodesByHierarchy","cluster","excludedCluster","candidate"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,8 +1,8 @@
1
- import { g as st } from "./chunk-5VM5RSS4-CYLLsvXq.js";
2
- import { g as it } from "./chunk-XXDRQBXY-OsB0vyxH.js";
3
- import { s as at } from "./chunk-VR4S4FIN-4jDL-QKj.js";
4
- import { _ as f, a1 as we, $ as F, ac as nt, ad as rt, ae as Ve, a0 as Ae, X as ut, W as lt, U as ct, V as ot, af as ht, ag as dt, a8 as I, al as pt, ak as At, a5 as ft, aC as U } from "./extractHeadings-B9zWU8Hp.js";
5
- import { c as gt } from "./chunk-32BRIVSS-CqgDRgE_.js";
1
+ import { g as st } from "./chunk-5VM5RSS4-BoACDebX.js";
2
+ import { g as it } from "./chunk-XXDRQBXY-BCR17bLv.js";
3
+ import { s as at } from "./chunk-VR4S4FIN-C0I_5MtA.js";
4
+ import { $ as f, a2 as we, a0 as F, ad as nt, ae as rt, af as Ve, a1 as Ae, _ as ut, X as lt, V as ct, W as ot, ag as ht, ah as dt, a9 as I, am as pt, al as At, a6 as ft, aD as U } from "./extractHeadings-Btke90la.js";
5
+ import { c as gt } from "./chunk-32BRIVSS-INLcYiZK.js";
6
6
  import mt from "dompurify";
7
7
  var Pe = (function() {
8
8
  var s = /* @__PURE__ */ f(function(O, o, h, p) {
@@ -1532,4 +1532,4 @@ export {
1532
1532
  xt as c,
1533
1533
  Lt as s
1534
1534
  };
1535
- //# sourceMappingURL=chunk-V7JOEXUC-CV1kVAxo.js.map
1535
+ //# sourceMappingURL=chunk-V7JOEXUC-CIr3reuT.js.map