@diagrammo/dgmo 0.89.0 → 0.91.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 (233) hide show
  1. package/README.md +1 -1
  2. package/dist/advanced.d.ts +589 -15
  3. package/dist/advanced.js +813 -211
  4. package/dist/block.d.ts +11 -2
  5. package/dist/block.js +94 -64
  6. package/dist/{calculator-35YVW4QO.js → calculator-3LZUWOBK.js} +2 -2
  7. package/dist/{chart-meta-Bev5Ebjr.d.ts → chart-meta-B_WTMP0y.d.ts} +1 -1
  8. package/dist/chart-meta.d.ts +2 -2
  9. package/dist/chart-meta.js +18 -17
  10. package/dist/{chart-types-Bf8C5QQW.d.ts → chart-types-V2NcgN5O.d.ts} +4 -0
  11. package/dist/{charts-d3-KEQSUWKP.js → charts-d3-YXD6VGZQ.js} +8 -7
  12. package/dist/{chunk-PMNITNPR.js → chunk-273GB7WK.js} +6 -5
  13. package/dist/{chunk-HAMF4F3P.js → chunk-2A4OFZ2Z.js} +5 -5
  14. package/dist/{chunk-K5XT7NHD.js → chunk-2AM6VA3A.js} +10 -10
  15. package/dist/{chunk-XJ2TBXHA.js → chunk-2UV627GG.js} +9 -9
  16. package/dist/{chunk-7WGCQE2E.js → chunk-2ZVLI6GQ.js} +1 -1
  17. package/dist/{chunk-JVZ7KFAX.js → chunk-37QQXKFV.js} +9 -10
  18. package/dist/{chunk-M2BCY7H3.js → chunk-3LINSNJT.js} +199 -146
  19. package/dist/{chunk-WPL5PFXE.js → chunk-3SLRZKLB.js} +6 -6
  20. package/dist/chunk-3UR4F7FE.js +14 -0
  21. package/dist/{chunk-ZUCXFXLD.js → chunk-3YTAOMMN.js} +2 -2
  22. package/dist/{chunk-NIUO2TNR.js → chunk-4HG4PYHM.js} +197 -203
  23. package/dist/{chunk-BOO24UMJ.js → chunk-4YO7VJTP.js} +1 -1
  24. package/dist/{chunk-HUNDJTTH.js → chunk-53BJIOLF.js} +1 -1
  25. package/dist/{chunk-LR6RRDWN.js → chunk-57L2JPP2.js} +10 -6
  26. package/dist/{chunk-IIOLFAGJ.js → chunk-5DIBB2QG.js} +51 -32
  27. package/dist/{chunk-S2WE7TVK.js → chunk-5MDQMB6A.js} +1 -1
  28. package/dist/{chunk-7Z2VFRP5.js → chunk-5U6DXIMV.js} +47 -24
  29. package/dist/{chunk-QIOYTQDZ.js → chunk-5VPWIC6T.js} +9 -9
  30. package/dist/{chunk-JRUEIRJB.js → chunk-634LDSN6.js} +3 -3
  31. package/dist/{chunk-VEPIAUSK.js → chunk-6BQSDF77.js} +1 -5
  32. package/dist/{chunk-LPYYZCSI.js → chunk-6NO3MNBC.js} +3 -3
  33. package/dist/{chunk-ITSBBQTH.js → chunk-6QEXWMBP.js} +13 -17
  34. package/dist/{chunk-DDPGEGHB.js → chunk-7BBRSOKS.js} +3 -3
  35. package/dist/{chunk-WQ6G6FFM.js → chunk-AR4QVMWG.js} +5 -2
  36. package/dist/{chunk-BB6QKWHZ.js → chunk-B6EUFLRP.js} +10 -10
  37. package/dist/{chunk-C4FRGZGX.js → chunk-CDT33RHG.js} +1 -1
  38. package/dist/{chunk-WP22MHH6.js → chunk-CPGKRI7H.js} +10 -13
  39. package/dist/{chunk-ZNNVI5SR.js → chunk-CU2PZLZP.js} +53 -31
  40. package/dist/{chunk-CUYHST3B.js → chunk-CVZBLHHW.js} +1 -1
  41. package/dist/{chunk-Y7PSAHAY.js → chunk-CXIPV2FY.js} +3 -3
  42. package/dist/{chunk-NRPELUB6.js → chunk-D7DXNQW5.js} +2 -2
  43. package/dist/{chunk-YMFQLWZ2.js → chunk-D7PP35BA.js} +1 -1
  44. package/dist/{chunk-RGWYZR3S.js → chunk-DLX7MEN4.js} +2 -2
  45. package/dist/chunk-EDPDAUBL.js +825 -0
  46. package/dist/{chunk-GSYZZFI5.js → chunk-EP7BT3HU.js} +2 -2
  47. package/dist/{chunk-ICZ7M6IZ.js → chunk-EQJ3U5EW.js} +1 -1
  48. package/dist/{chunk-3C2FWS2J.js → chunk-EWERNTOX.js} +1 -1
  49. package/dist/{chunk-XUCQVKLQ.js → chunk-F2436VRR.js} +4 -4
  50. package/dist/{chunk-UG2XG57E.js → chunk-F26ZPBSF.js} +3 -3
  51. package/dist/{chunk-UWKRPQZO.js → chunk-FJCYK4K3.js} +25 -22
  52. package/dist/{chunk-FKLE6QA3.js → chunk-G22UV5AF.js} +12 -12
  53. package/dist/{chunk-GUTZCRBT.js → chunk-G3EUQMV4.js} +4 -4
  54. package/dist/{chunk-SOPM5PLO.js → chunk-GCDW3WAY.js} +14 -14
  55. package/dist/{chunk-7UDAIP6W.js → chunk-HFG7KQOY.js} +13 -15
  56. package/dist/{chunk-ID2K3IHI.js → chunk-HLE5QGZJ.js} +1 -1
  57. package/dist/{chunk-QFHWYWQL.js → chunk-HLVGZXM5.js} +2 -2
  58. package/dist/{chunk-7C2RAGPT.js → chunk-HSGWR2FL.js} +16 -16
  59. package/dist/{chunk-P3SKSKJI.js → chunk-HWXUQCDY.js} +3 -3
  60. package/dist/{chunk-HTWH2XQL.js → chunk-HYV6GSXM.js} +6 -3
  61. package/dist/{chunk-3RYBTEF5.js → chunk-I74AQRVD.js} +6 -12
  62. package/dist/chunk-IHK3Y2HG.js +781 -0
  63. package/dist/{chunk-7KPHRTND.js → chunk-II4XJETG.js} +1 -1
  64. package/dist/{chunk-RXIKESRI.js → chunk-IMHNZITR.js} +2 -2
  65. package/dist/{chunk-TAP2NZEU.js → chunk-IMKPFW67.js} +13 -13
  66. package/dist/{chunk-FKZ2Y3Q5.js → chunk-IS6WFBX7.js} +3 -3
  67. package/dist/{chunk-47E5UTXE.js → chunk-IUBCDNT2.js} +2 -2
  68. package/dist/{chunk-EXKCRXPO.js → chunk-IWTUXGHN.js} +12 -12
  69. package/dist/{chunk-C7QRRTAW.js → chunk-J2SQNZ6D.js} +2 -2
  70. package/dist/{chunk-DZPHN2WN.js → chunk-JA2S7PHR.js} +14 -14
  71. package/dist/{chunk-DPSMX4EY.js → chunk-JJQWCI35.js} +4 -4
  72. package/dist/chunk-JJUDOR4I.js +110 -0
  73. package/dist/{chunk-LYLNMN77.js → chunk-K3BYD3WU.js} +8 -3
  74. package/dist/{chunk-3AQJNY65.js → chunk-KFXY5IW2.js} +149 -43
  75. package/dist/{chunk-J64NZ6NF.js → chunk-KSZHIAI2.js} +1 -1
  76. package/dist/{chunk-LCJURK7L.js → chunk-LKR4FACF.js} +2 -4
  77. package/dist/{chunk-PIXJL77H.js → chunk-M6J25PAZ.js} +1 -1
  78. package/dist/{chunk-IJ27L3R4.js → chunk-MA42PIGJ.js} +1 -1
  79. package/dist/{chunk-IQ6P3HDE.js → chunk-MI6SJJQU.js} +2 -2
  80. package/dist/{chunk-N4BBSDWI.js → chunk-MJKQ5ZYY.js} +140 -151
  81. package/dist/{chunk-6K7RODXG.js → chunk-MKFQ5E7J.js} +1 -1
  82. package/dist/{chunk-AZ24RI5L.js → chunk-MNL547RV.js} +6 -6
  83. package/dist/{chunk-44GP7PD5.js → chunk-MPJQMMBZ.js} +12 -0
  84. package/dist/{chunk-ECMA6XE2.js → chunk-N254IJM2.js} +13 -13
  85. package/dist/{layout-search-YKUL4VBV.js → chunk-NWPMLX2V.js} +27 -30
  86. package/dist/{chunk-DV2VEJCC.js → chunk-NWSPPGIE.js} +6 -6
  87. package/dist/{chunk-GDJW64XE.js → chunk-OYKNMFUY.js} +1 -1
  88. package/dist/{chunk-B3S76BZO.js → chunk-PSGSFRRE.js} +4 -4
  89. package/dist/{chunk-4AJKOUBO.js → chunk-PUZ63XZM.js} +13 -11
  90. package/dist/{chunk-UQLHKLF4.js → chunk-PZVTFQI2.js} +8 -8
  91. package/dist/{chunk-W7QN5BC5.js → chunk-Q3N7PI3B.js} +180 -7
  92. package/dist/{chunk-L5AFONQU.js → chunk-QKJ6MQXW.js} +2 -4
  93. package/dist/{chunk-7SX4IY6T.js → chunk-QVKTAU7P.js} +1 -1
  94. package/dist/{chunk-SLQT3JP3.js → chunk-R7BSF7Z7.js} +1 -1
  95. package/dist/{chunk-4R6OMKXB.js → chunk-RHXIUUWB.js} +5 -5
  96. package/dist/{chunk-MHAYUS65.js → chunk-RMTOZALT.js} +8 -5
  97. package/dist/{chunk-HSRQDWV7.js → chunk-ROCBGUJN.js} +8 -17
  98. package/dist/{chunk-44FTCIRI.js → chunk-RVTYIGWZ.js} +9 -9
  99. package/dist/{chunk-RU725VCJ.js → chunk-SKF7XLCM.js} +10 -35
  100. package/dist/{chunk-RPKBWJBB.js → chunk-SMTWQ66K.js} +6 -6
  101. package/dist/{chunk-3AX6MCI6.js → chunk-SPQVER4T.js} +2 -2
  102. package/dist/{chunk-CX6OH5WP.js → chunk-SWBHH2UW.js} +4 -4
  103. package/dist/{chunk-WP2RLGDI.js → chunk-TCX5PMEY.js} +1 -1
  104. package/dist/{chunk-7TF3QOOD.js → chunk-TIVMAITN.js} +14 -0
  105. package/dist/{chunk-NSR2CGV6.js → chunk-TLPY4ZBI.js} +611 -437
  106. package/dist/{chunk-WRCAH3UO.js → chunk-TPEYEOXA.js} +15 -15
  107. package/dist/{chunk-FJNXXGTR.js → chunk-UWJP4JSZ.js} +3 -3
  108. package/dist/{chunk-MY6GUH26.js → chunk-V3KHZQPK.js} +3 -3
  109. package/dist/{chunk-66YFDTT6.js → chunk-VGSSAMLA.js} +4 -4
  110. package/dist/{chunk-Q6SQISHT.js → chunk-VMD2CYVP.js} +311 -74
  111. package/dist/{chunk-MFW6P7WH.js → chunk-WNTPJZU7.js} +3 -3
  112. package/dist/{chunk-7W4XLIVH.js → chunk-WTE27AJT.js} +14 -14
  113. package/dist/{chunk-UKJLPA7R.js → chunk-X6IZP2BD.js} +1 -1
  114. package/dist/{chunk-2GM7N5TV.js → chunk-XLAREWBK.js} +9 -9
  115. package/dist/{chunk-AYOVY75O.js → chunk-XLPJJ35N.js} +4 -4
  116. package/dist/{chunk-NGC3IZRY.js → chunk-XQTRGKQ3.js} +4 -4
  117. package/dist/{chunk-WEF6MXFG.js → chunk-YZG37S7L.js} +9 -9
  118. package/dist/{chunk-LFKSHDVI.js → chunk-ZB2Q67NO.js} +14 -13
  119. package/dist/{chunk-JQ57AWDL.js → chunk-ZJ4PYTCK.js} +1 -1
  120. package/dist/completion-registry.d.ts +6 -0
  121. package/dist/completion-registry.js +62 -6
  122. package/dist/{compute-JAP5E2E4.js → compute-2XWFVO7K.js} +1 -1
  123. package/dist/{d3-B6524aaP.d.ts → d3-2S3PrXik.d.ts} +11 -0
  124. package/dist/dgmo-router-YHBMKTXY.js +94 -0
  125. package/dist/{dimensions-7MF7VSGS.js → dimensions-QMGWJQTR.js} +5 -5
  126. package/dist/editor.js +12 -0
  127. package/dist/{flowchart-parser-GG7XBLQH.js → flowchart-parser-BLJ6RA53.js} +4 -4
  128. package/dist/{flowchart-renderer-DZQZRL2F.js → flowchart-renderer-FXRQKXAK.js} +12 -8
  129. package/dist/highlight.js +12 -0
  130. package/dist/index.d.ts +26 -5
  131. package/dist/index.js +84 -57
  132. package/dist/{layout-5VSMZPMG.js → layout-5HCEF7VO.js} +1 -1
  133. package/dist/{layout-6L3BIFEZ.js → layout-6PLSBB5X.js} +3 -3
  134. package/dist/{layout-UIV56NUA.js → layout-B7PQRAMB.js} +1 -1
  135. package/dist/{layout-IGAVGDME.js → layout-CCVCLZ6S.js} +1 -1
  136. package/dist/{layout-PP36LUTA.js → layout-CRUAP7JG.js} +3 -3
  137. package/dist/{layout-Q3RYSODA.js → layout-G42FDCF3.js} +3 -3
  138. package/dist/{layout-EFEZ533S.js → layout-IV4H2FLB.js} +3 -3
  139. package/dist/{layout-4RRC7XU7.js → layout-JTNRSGOS.js} +6 -3
  140. package/dist/{layout-H4K54IW3.js → layout-RBLD5EGX.js} +6 -3
  141. package/dist/{layout-SW3XWYKC.js → layout-ROAVGBUC.js} +1 -1
  142. package/dist/{layout-XUW444O5.js → layout-T2DQ4M77.js} +8 -4
  143. package/dist/{layout-MSSHF45T.js → layout-UPQGIT3N.js} +2 -2
  144. package/dist/{layout-DXVAYF6W.js → layout-VRJ5YFUE.js} +2 -2
  145. package/dist/{layout-ZP7XYVXF.js → layout-YKGQRFDM.js} +2 -4
  146. package/dist/layout-search-L75YOBME.js +42 -0
  147. package/dist/{palettes-WZAIQTEG.js → palettes-WQHELGVQ.js} +2 -1
  148. package/dist/{parser-ZLKYDFI5.js → parser-2XCDVLSN.js} +3 -3
  149. package/dist/{parser-GZ3LVF72.js → parser-3MGA2MTM.js} +2 -2
  150. package/dist/{parser-NOANDFJ4.js → parser-4AR25MAS.js} +2 -2
  151. package/dist/{parser-GCCWMBTU.js → parser-4QNRCGU5.js} +5 -4
  152. package/dist/{parser-LANGKWRG.js → parser-6LMB7BQQ.js} +2 -2
  153. package/dist/{parser-WEVTMBJ5.js → parser-6NSQLPTS.js} +3 -3
  154. package/dist/{parser-KYPP2DX6.js → parser-6X4GGH2R.js} +4 -4
  155. package/dist/parser-AL6YL7KM.js +12 -0
  156. package/dist/{parser-5655XSOR.js → parser-D6YRVV75.js} +3 -3
  157. package/dist/{parser-NGHQQGD2.js → parser-EY3VJWBE.js} +3 -3
  158. package/dist/{parser-TL3JA4RI.js → parser-EYF4ZSZO.js} +3 -3
  159. package/dist/{parser-256EIWB2.js → parser-FDXUQ5TI.js} +2 -2
  160. package/dist/{parser-JOOAVBJI.js → parser-H2DJEAPG.js} +3 -3
  161. package/dist/{parser-AKBVJHMK.js → parser-ILWAA3QJ.js} +3 -3
  162. package/dist/{parser-AN3MGHRL.js → parser-KMFMNZYI.js} +3 -3
  163. package/dist/{parser-IMM2JJX3.js → parser-MDSVVCJP.js} +4 -4
  164. package/dist/{parser-OVQTTTUJ.js → parser-OFTMA36M.js} +2 -2
  165. package/dist/{parser-LGS65QPN.js → parser-Q3UAOLEZ.js} +2 -2
  166. package/dist/{parser-DGF3ZEO6.js → parser-QL4DEPVA.js} +4 -4
  167. package/dist/{parser-XYY5NHP4.js → parser-R6OETHWM.js} +2 -2
  168. package/dist/{parser-GEKPWSSK.js → parser-UEDPLM46.js} +3 -3
  169. package/dist/{parser-KZMALSB2.js → parser-UL6WN6W5.js} +4 -4
  170. package/dist/{parser-J4DVNL4W.js → parser-ULSUK36C.js} +4 -4
  171. package/dist/{parser-KZMJNKDW.js → parser-UY3K4ROB.js} +2 -2
  172. package/dist/{parser-KFYRTGTC.js → parser-UYQNNQKT.js} +4 -4
  173. package/dist/{parser-DHSFIUPU.js → parser-VG747VR6.js} +3 -3
  174. package/dist/{parser-UTXFJG4X.js → parser-VK4PNDX4.js} +3 -3
  175. package/dist/{parser-SA3RAJFS.js → parser-WSONWDFN.js} +2 -2
  176. package/dist/{parser-NPXPJHWN.js → parser-X5FQ36KJ.js} +3 -3
  177. package/dist/{parser-OKB64MMN.js → parser-XO5IAXMT.js} +3 -3
  178. package/dist/{parser-HCGXNHHL.js → parser-YVHO2NRM.js} +3 -3
  179. package/dist/{parser-P4TOQYNN.js → parser-YWZGIU3C.js} +3 -3
  180. package/dist/{parser-337TACHB.js → parser-ZFLSULFC.js} +3 -3
  181. package/dist/{parser-7OEE7QT6.js → parser-ZR7JAKSW.js} +2 -2
  182. package/dist/{renderer-CHQZES6G.js → renderer-3N64GVNM.js} +2 -2
  183. package/dist/{renderer-JR2XNZAH.js → renderer-43IVPARP.js} +5 -5
  184. package/dist/{renderer-J4OS77PK.js → renderer-4MEZYGU6.js} +3 -3
  185. package/dist/{renderer-IR5GGAPB.js → renderer-54GXA3UO.js} +11 -7
  186. package/dist/{renderer-7VQOKAII.js → renderer-7EAWN7MC.js} +6 -6
  187. package/dist/{renderer-QQHQY3GT.js → renderer-7SEXPBGM.js} +5 -5
  188. package/dist/{renderer-P4XCRNCY.js → renderer-B7B7BQM3.js} +9 -9
  189. package/dist/{renderer-7HOSI6JJ.js → renderer-I2LYSQBV.js} +4 -4
  190. package/dist/{renderer-6OQM32X3.js → renderer-IPDCAACY.js} +3 -3
  191. package/dist/{renderer-JRVY7HAD.js → renderer-J2LOMTBC.js} +4 -4
  192. package/dist/renderer-JUH6M3XF.js +46 -0
  193. package/dist/renderer-KY6O5JTX.js +80 -0
  194. package/dist/{renderer-FCXRDYSJ.js → renderer-LHTDI5RV.js} +7 -7
  195. package/dist/{renderer-XHEMXBQM.js → renderer-LWL3IJOF.js} +5 -5
  196. package/dist/{renderer-BLHN3RCY.js → renderer-MRMFYYZT.js} +2 -2
  197. package/dist/{renderer-DBNDLKPE.js → renderer-NCIDGJ2R.js} +7 -7
  198. package/dist/{renderer-3AD4NDF5.js → renderer-OPA4JJKX.js} +6 -6
  199. package/dist/{renderer-XFEZ5UBE.js → renderer-QMNC7TGN.js} +6 -6
  200. package/dist/{renderer-5GZNGZU5.js → renderer-QQNPJGAP.js} +9 -7
  201. package/dist/{renderer-CEIX5JPA.js → renderer-R7OYCJEA.js} +2 -2
  202. package/dist/{renderer-WQ654YT5.js → renderer-R7RK7FKI.js} +1 -1
  203. package/dist/{renderer-4JE5ORRO.js → renderer-RFP55AW7.js} +13 -10
  204. package/dist/{renderer-NAA7D33G.js → renderer-S3NFBJCY.js} +15 -11
  205. package/dist/{renderer-43ESBXVY.js → renderer-SD4ZHHAR.js} +8 -6
  206. package/dist/{renderer-WB75JME5.js → renderer-SE7Z5AOL.js} +6 -6
  207. package/dist/{renderer-YTEZK3GC.js → renderer-T2WUA7MC.js} +7 -7
  208. package/dist/{renderer-VYWCMRWA.js → renderer-TWKEZ3DD.js} +5 -5
  209. package/dist/{renderer-DCJ4AQ3N.js → renderer-U5PD72G7.js} +5 -5
  210. package/dist/{renderer-EAORWLVK.js → renderer-VCTKBUTR.js} +7 -7
  211. package/dist/{renderer-7L7J4DHO.js → renderer-VNZTWATB.js} +7 -6
  212. package/dist/{renderer-2ZQ6DPVD.js → renderer-YDNWK6RI.js} +2 -2
  213. package/dist/{renderer-VGQMJC5K.js → renderer-YDOWBIUB.js} +11 -10
  214. package/dist/{renderer-7MCC6GKH.js → renderer-YQPZ7O2C.js} +2 -2
  215. package/dist/{renderer-ZXQXRNDR.js → renderer-ZQ77CM6Y.js} +6 -6
  216. package/dist/{renderer-radial-NA5DVBG4.js → renderer-radial-TNNEL3YN.js} +5 -5
  217. package/dist/{resolver-XSXE2TRX.js → resolver-6DJLZF6Y.js} +1 -1
  218. package/dist/{state-parser-FE3RF6XY.js → state-parser-NIIVOU2Y.js} +4 -4
  219. package/dist/{state-renderer-4S2C2CHB.js → state-renderer-TVLEG32M.js} +14 -10
  220. package/dist/{themes-CzuBdx1T.d.ts → themes-Cm2YBcT8.d.ts} +38 -2
  221. package/docs/ai-integration.md +4 -3
  222. package/docs/language-reference.md +162 -12
  223. package/gallery/fixtures/sketch.dgmo +2 -2
  224. package/gallery/fixtures/whiteboard.dgmo +18 -0
  225. package/package.json +2 -1
  226. package/dist/chunk-6EK55ART.js +0 -116
  227. package/dist/chunk-HTNLLT34.js +0 -72
  228. package/dist/dgmo-router-7WANZOBD.js +0 -92
  229. package/dist/renderer-TJJGFQGT.js +0 -78
  230. package/dist/{chunk-3FCSOYN4.js → chunk-5P2L5QXE.js} +0 -0
  231. package/dist/{chunk-HJRP6PXL.js → chunk-BQVTV4LB.js} +0 -0
  232. package/dist/{chunk-LYRDIVSY.js → chunk-GLCMUTO5.js} +0 -0
  233. package/dist/{chunk-5LE2CTLS.js → chunk-NTJ5HVV6.js} +3 -3
package/dist/advanced.js CHANGED
@@ -1,11 +1,19 @@
1
+ import {
2
+ renderCountdown,
3
+ renderCountdownForExport
4
+ } from "./chunk-SWBHH2UW.js";
5
+ import {
6
+ renderClock,
7
+ renderClockForExport
8
+ } from "./chunk-NTJ5HVV6.js";
1
9
  import {
2
10
  renderBracket,
3
11
  renderBracketForExport
4
- } from "./chunk-44FTCIRI.js";
12
+ } from "./chunk-RVTYIGWZ.js";
5
13
  import {
6
14
  renderRaci,
7
15
  renderRaciForExport
8
- } from "./chunk-RXIKESRI.js";
16
+ } from "./chunk-IMHNZITR.js";
9
17
  import {
10
18
  applyCollapseProjection,
11
19
  applyGroupOrdering,
@@ -15,21 +23,29 @@ import {
15
23
  computeActivations,
16
24
  groupMessagesBySection,
17
25
  renderSequenceDiagram
18
- } from "./chunk-NSR2CGV6.js";
26
+ } from "./chunk-TLPY4ZBI.js";
27
+ import {
28
+ mapContentAspect,
29
+ mapExportDimensions
30
+ } from "./chunk-II4XJETG.js";
31
+ import {
32
+ renderPyramid,
33
+ renderPyramidForExport
34
+ } from "./chunk-5MDQMB6A.js";
19
35
  import {
20
36
  renderRing,
21
37
  renderRingForExport
22
- } from "./chunk-C4FRGZGX.js";
38
+ } from "./chunk-CDT33RHG.js";
23
39
  import {
24
40
  layoutTreemapRadial,
25
41
  renderTreemapRadial,
26
42
  renderTreemapRadialForExport
27
- } from "./chunk-Y7PSAHAY.js";
43
+ } from "./chunk-CXIPV2FY.js";
28
44
  import {
29
45
  layoutTreemap,
30
46
  renderTreemap,
31
47
  renderTreemapForExport
32
- } from "./chunk-QIOYTQDZ.js";
48
+ } from "./chunk-5VPWIC6T.js";
33
49
  import {
34
50
  renderLiveLinkCard
35
51
  } from "./chunk-A6YINTY6.js";
@@ -38,20 +54,19 @@ import {
38
54
  layoutBlock,
39
55
  renderBlock,
40
56
  renderBlockForExport
41
- } from "./chunk-UQLHKLF4.js";
57
+ } from "./chunk-PZVTFQI2.js";
42
58
  import {
43
59
  renderGoal,
44
60
  renderGoalForExport
45
- } from "./chunk-LPYYZCSI.js";
46
- import "./chunk-HUNDJTTH.js";
61
+ } from "./chunk-6NO3MNBC.js";
62
+ import "./chunk-53BJIOLF.js";
47
63
  import {
48
- renderCountdown,
49
- renderCountdownForExport
50
- } from "./chunk-CX6OH5WP.js";
64
+ renderState,
65
+ renderStateForExport
66
+ } from "./chunk-JA2S7PHR.js";
51
67
  import {
52
- renderClock,
53
- renderClockForExport
54
- } from "./chunk-5LE2CTLS.js";
68
+ collapseStateGroups
69
+ } from "./chunk-SQ7IY53Q.js";
55
70
  import {
56
71
  computeRadarLayout,
57
72
  getRadarGeometry,
@@ -59,60 +74,58 @@ import {
59
74
  renderQuadrantFocusForExport,
60
75
  renderTechRadar,
61
76
  renderTechRadarForExport
62
- } from "./chunk-4R6OMKXB.js";
77
+ } from "./chunk-RHXIUUWB.js";
63
78
  import {
64
79
  renderJourneyMap,
65
80
  renderJourneyMapForExport
66
- } from "./chunk-XJ2TBXHA.js";
81
+ } from "./chunk-2UV627GG.js";
67
82
  import {
68
83
  layoutJourneyMap
69
- } from "./chunk-ID2K3IHI.js";
84
+ } from "./chunk-HLE5QGZJ.js";
70
85
  import {
71
86
  computeCycleLayout,
72
87
  renderCycle,
73
88
  renderCycleForExport
74
- } from "./chunk-XUCQVKLQ.js";
89
+ } from "./chunk-F2436VRR.js";
75
90
  import {
76
91
  resolveMap
77
- } from "./chunk-3AX6MCI6.js";
92
+ } from "./chunk-SPQVER4T.js";
78
93
  import {
79
94
  renderMap,
80
95
  renderMapForExport,
81
96
  renderMapLayout
82
- } from "./chunk-HAMF4F3P.js";
97
+ } from "./chunk-2A4OFZ2Z.js";
83
98
  import "./chunk-G2KHLANR.js";
84
- import {
85
- mapContentAspect,
86
- mapExportDimensions
87
- } from "./chunk-7KPHRTND.js";
88
99
  import {
89
100
  albersSkewFallback,
90
101
  layoutMap,
91
102
  mapBackgroundColor,
92
103
  mapNeutralLandColor,
93
104
  rebuildMapProjection
94
- } from "./chunk-LR6RRDWN.js";
105
+ } from "./chunk-57L2JPP2.js";
95
106
  import {
96
107
  decodeFeatures,
97
108
  regionAt
98
109
  } from "./chunk-4QV26TEG.js";
99
- import {
100
- renderPyramid,
101
- renderPyramidForExport
102
- } from "./chunk-S2WE7TVK.js";
103
110
  import {
104
111
  collectDiagramRoles,
105
112
  computeInfraLegendGroups,
106
113
  inferRoles,
107
114
  parseAndLayoutInfra,
108
115
  renderInfra
109
- } from "./chunk-7W4XLIVH.js";
116
+ } from "./chunk-WTE27AJT.js";
117
+ import {
118
+ computeInfra
119
+ } from "./chunk-EQJ3U5EW.js";
120
+ import {
121
+ layoutInfra
122
+ } from "./chunk-5P2L5QXE.js";
110
123
  import {
111
124
  measurePertAnalysisBlock,
112
125
  renderPert,
113
126
  renderPertAnalysisBlock,
114
127
  renderPertForExport
115
- } from "./chunk-WP22MHH6.js";
128
+ } from "./chunk-CPGKRI7H.js";
116
129
  import {
117
130
  analyzePert,
118
131
  buildSimulationContext,
@@ -124,29 +137,81 @@ import {
124
137
  import {
125
138
  layoutPert,
126
139
  relayoutPert
127
- } from "./chunk-PMNITNPR.js";
140
+ } from "./chunk-273GB7WK.js";
128
141
  import {
129
142
  calculateSchedule,
130
143
  collectTasks,
131
144
  resolveTaskName
132
- } from "./chunk-LCJURK7L.js";
145
+ } from "./chunk-LKR4FACF.js";
133
146
  import {
134
147
  buildTagLaneRowList,
135
148
  renderGantt
136
- } from "./chunk-7C2RAGPT.js";
149
+ } from "./chunk-HSGWR2FL.js";
137
150
  import {
138
- renderState,
139
- renderStateForExport
140
- } from "./chunk-DZPHN2WN.js";
151
+ renderFamily,
152
+ renderFamilyForExport
153
+ } from "./chunk-XLAREWBK.js";
141
154
  import {
142
- collapseStateGroups
143
- } from "./chunk-SQ7IY53Q.js";
155
+ collapseMindmapTree
156
+ } from "./chunk-UZ7EZW3B.js";
157
+ import {
158
+ renderMindmap,
159
+ renderMindmapForExport
160
+ } from "./chunk-GCDW3WAY.js";
161
+ import {
162
+ layoutMindmap
163
+ } from "./chunk-CVZBLHHW.js";
144
164
  import {
145
165
  layoutWireframe
146
- } from "./chunk-LYRDIVSY.js";
166
+ } from "./chunk-GLCMUTO5.js";
147
167
  import {
148
168
  renderWireframe
149
- } from "./chunk-RPKBWJBB.js";
169
+ } from "./chunk-SMTWQ66K.js";
170
+ import {
171
+ renderFlowchart,
172
+ renderFlowchartForExport
173
+ } from "./chunk-MNL547RV.js";
174
+ import "./chunk-26EVL454.js";
175
+ import {
176
+ layoutGraph
177
+ } from "./chunk-CU2PZLZP.js";
178
+ import {
179
+ CONTAINER_FILL_OPACITY,
180
+ CONTAINER_STROKE_OPACITY,
181
+ CONTAINER_STROKE_WIDTH,
182
+ SKETCH_VISUALS,
183
+ renderSketch,
184
+ renderSketchForExport,
185
+ sketchColors,
186
+ sketchContainerFill,
187
+ sketchEdgeGeometry,
188
+ sketchLabelSpot,
189
+ sketchNeutralFill
190
+ } from "./chunk-MJKQ5ZYY.js";
191
+ import {
192
+ IMAGE_NOT_UPLOADED,
193
+ WHITEBOARD_LABEL_MIN_FONT,
194
+ WHITEBOARD_NOTE_FONT,
195
+ clipWhiteboardConnector,
196
+ fitWhiteboardLabel,
197
+ inkOutlinePath,
198
+ renderWhiteboard,
199
+ visibleWhiteboardElements,
200
+ visibleWhiteboardIndices,
201
+ whiteboardBendFor,
202
+ whiteboardBendHandle,
203
+ whiteboardBounds,
204
+ whiteboardConnectorAttachments,
205
+ whiteboardConnectorPaint,
206
+ whiteboardLabelHeight,
207
+ whiteboardLabelShift,
208
+ whiteboardLabelWidth,
209
+ whiteboardNoteFold,
210
+ whiteboardSegmentMidpoint,
211
+ whiteboardShapeAt,
212
+ whiteboardShapeContains,
213
+ wrapWhiteboardLabel
214
+ } from "./chunk-EDPDAUBL.js";
150
215
  import {
151
216
  renderC4ComponentsForExport,
152
217
  renderC4Containers,
@@ -155,66 +220,62 @@ import {
155
220
  renderC4ContextForExport,
156
221
  renderC4Deployment,
157
222
  renderC4DeploymentForExport
158
- } from "./chunk-4AJKOUBO.js";
223
+ } from "./chunk-PUZ63XZM.js";
159
224
  import {
225
+ CYLINDER_RY,
226
+ QUEUE_CAP,
160
227
  layoutC4Components,
161
228
  layoutC4Containers,
162
229
  layoutC4Context,
163
230
  layoutC4Deployment,
164
231
  rollUpContextRelationships
165
- } from "./chunk-LYLNMN77.js";
166
- import {
167
- renderFlowchart,
168
- renderFlowchartForExport
169
- } from "./chunk-AZ24RI5L.js";
170
- import "./chunk-26EVL454.js";
171
- import {
172
- layoutGraph
173
- } from "./chunk-ZNNVI5SR.js";
232
+ } from "./chunk-K3BYD3WU.js";
174
233
  import {
175
- computeInfra
176
- } from "./chunk-ICZ7M6IZ.js";
177
- import {
178
- layoutInfra
179
- } from "./chunk-3FCSOYN4.js";
234
+ renderBoxesAndLines,
235
+ renderBoxesAndLinesForExport
236
+ } from "./chunk-N254IJM2.js";
180
237
  import {
181
238
  layoutSwimlane
182
239
  } from "./chunk-AUS7V54P.js";
183
240
  import {
184
241
  renderSwimlaneForExport
185
- } from "./chunk-RGWYZR3S.js";
242
+ } from "./chunk-DLX7MEN4.js";
243
+ import "./chunk-XBJJP2HN.js";
186
244
  import {
187
245
  layoutFamily
188
- } from "./chunk-IJ27L3R4.js";
189
- import {
190
- renderFamily,
191
- renderFamilyForExport
192
- } from "./chunk-2GM7N5TV.js";
246
+ } from "./chunk-MA42PIGJ.js";
193
247
  import "./chunk-IVKC4GID.js";
194
248
  import {
195
- collapseMindmapTree
196
- } from "./chunk-UZ7EZW3B.js";
197
- import {
198
- renderMindmap,
199
- renderMindmapForExport
200
- } from "./chunk-SOPM5PLO.js";
201
- import {
202
- layoutMindmap
203
- } from "./chunk-CUYHST3B.js";
249
+ computeCardArchive,
250
+ computeCardMove,
251
+ isArchiveColumn,
252
+ renderKanban,
253
+ renderKanbanForExport
254
+ } from "./chunk-IMKPFW67.js";
204
255
  import {
205
256
  renderClassDiagram,
206
257
  renderClassDiagramForExport
207
- } from "./chunk-WEF6MXFG.js";
258
+ } from "./chunk-YZG37S7L.js";
208
259
  import {
209
260
  layoutClassDiagram
210
- } from "./chunk-7Z2VFRP5.js";
261
+ } from "./chunk-5U6DXIMV.js";
211
262
  import {
212
263
  renderERDiagram,
213
264
  renderERDiagramForExport
214
- } from "./chunk-FKLE6QA3.js";
265
+ } from "./chunk-G22UV5AF.js";
266
+ import "./chunk-KATED53P.js";
215
267
  import {
216
268
  layoutERDiagram
217
- } from "./chunk-IIOLFAGJ.js";
269
+ } from "./chunk-5DIBB2QG.js";
270
+ import "./chunk-JJUDOR4I.js";
271
+ import "./chunk-NWPMLX2V.js";
272
+ import "./chunk-EJS3K44P.js";
273
+ import {
274
+ layoutBoxesAndLines
275
+ } from "./chunk-Q3N7PI3B.js";
276
+ import "./chunk-RJNZHFNG.js";
277
+ import "./chunk-5DH3KYFH.js";
278
+ import "./chunk-QT3KDDXK.js";
218
279
  import {
219
280
  SKETCH_AUTO_LAYOUT_DEFAULTS,
220
281
  SKETCH_FOOT_H,
@@ -228,38 +289,15 @@ import {
228
289
  collapseSketch,
229
290
  layoutSketch,
230
291
  sketchSlotToPx
231
- } from "./chunk-VEPIAUSK.js";
292
+ } from "./chunk-6BQSDF77.js";
232
293
  import {
233
- CONTAINER_FILL_OPACITY,
234
- CONTAINER_STROKE_OPACITY,
235
- CONTAINER_STROKE_WIDTH,
236
- SKETCH_VISUALS,
237
- renderSketch,
238
- renderSketchForExport,
239
- sketchColors,
240
- sketchContainerFill,
241
- sketchEdgeGeometry,
242
- sketchNeutralFill
243
- } from "./chunk-N4BBSDWI.js";
244
- import {
245
- renderBoxesAndLines,
246
- renderBoxesAndLinesForExport
247
- } from "./chunk-ECMA6XE2.js";
248
- import "./chunk-KATED53P.js";
249
- import "./chunk-XBJJP2HN.js";
250
- import {
251
- layoutBoxesAndLines
252
- } from "./chunk-W7QN5BC5.js";
253
- import "./chunk-EJS3K44P.js";
254
- import "./chunk-QT3KDDXK.js";
255
- import "./chunk-HTNLLT34.js";
256
- import "./chunk-6EK55ART.js";
257
- import "./chunk-RJNZHFNG.js";
258
- import "./chunk-5DH3KYFH.js";
294
+ renderBody,
295
+ renderBodyForExport
296
+ } from "./chunk-D7DXNQW5.js";
259
297
  import {
260
298
  renderVersionControl,
261
299
  renderVersionControlForExport
262
- } from "./chunk-HJRP6PXL.js";
300
+ } from "./chunk-BQVTV4LB.js";
263
301
  import {
264
302
  collapseOrgTree,
265
303
  focusOrgTree
@@ -267,13 +305,13 @@ import {
267
305
  import {
268
306
  renderOrg,
269
307
  renderOrgForExport
270
- } from "./chunk-BB6QKWHZ.js";
308
+ } from "./chunk-B6EUFLRP.js";
271
309
  import {
272
310
  layoutOrg
273
- } from "./chunk-IQ6P3HDE.js";
311
+ } from "./chunk-MI6SJJQU.js";
274
312
  import {
275
313
  layoutSitemap
276
- } from "./chunk-YMFQLWZ2.js";
314
+ } from "./chunk-D7PP35BA.js";
277
315
  import {
278
316
  collapseSitemapTree
279
317
  } from "./chunk-UNCCZ3NU.js";
@@ -281,30 +319,19 @@ import "./chunk-BS7SV7C3.js";
281
319
  import {
282
320
  renderSitemap,
283
321
  renderSitemapForExport
284
- } from "./chunk-WRCAH3UO.js";
285
- import {
286
- computeCardArchive,
287
- computeCardMove,
288
- isArchiveColumn,
289
- renderKanban,
290
- renderKanbanForExport
291
- } from "./chunk-TAP2NZEU.js";
322
+ } from "./chunk-TPEYEOXA.js";
292
323
  import {
293
324
  clearEventLineMuted,
294
325
  focusEventLine,
295
326
  renderEventLine,
296
327
  renderEventLineForExport
297
- } from "./chunk-EXKCRXPO.js";
328
+ } from "./chunk-IWTUXGHN.js";
298
329
  import "./chunk-NPWVOFB3.js";
299
- import "./chunk-R2K5L4UA.js";
300
330
  import {
301
331
  parseInlineMarkdown,
302
332
  truncateBareUrl
303
333
  } from "./chunk-S7W75MIM.js";
304
- import {
305
- renderBody,
306
- renderBodyForExport
307
- } from "./chunk-NRPELUB6.js";
334
+ import "./chunk-R2K5L4UA.js";
308
335
  import {
309
336
  completeMapPlaces,
310
337
  completeMapRegions,
@@ -322,11 +349,11 @@ import {
322
349
  renderSlopeChart,
323
350
  renderVenn,
324
351
  renderWordCloud
325
- } from "./chunk-M2BCY7H3.js";
352
+ } from "./chunk-3LINSNJT.js";
326
353
  import {
327
354
  layoutBracket
328
355
  } from "./chunk-ABP5BUD6.js";
329
- import "./chunk-DDPGEGHB.js";
356
+ import "./chunk-7BBRSOKS.js";
330
357
  import {
331
358
  CHART_TYPE_DESCRIPTIONS,
332
359
  chartTypeParsers,
@@ -336,14 +363,36 @@ import {
336
363
  knownChartTypeIds,
337
364
  parseDgmo,
338
365
  parseVisualization
339
- } from "./chunk-Q6SQISHT.js";
366
+ } from "./chunk-VMD2CYVP.js";
340
367
  import "./chunk-EOYPX6SF.js";
368
+ import {
369
+ parseCountdown,
370
+ targetToMs as targetToMs2
371
+ } from "./chunk-ZJ4PYTCK.js";
372
+ import {
373
+ applyOrdinalTemplate,
374
+ dayDelta,
375
+ dayStart,
376
+ formatCompound,
377
+ formatCount,
378
+ formatFooter,
379
+ formatHuman,
380
+ formatWordsDetail,
381
+ ordinalFor,
382
+ resolveNext,
383
+ sameDay,
384
+ splitClockSeconds,
385
+ targetToMs
386
+ } from "./chunk-WFA6IULY.js";
387
+ import {
388
+ now
389
+ } from "./chunk-3DPOIW3W.js";
341
390
  import {
342
391
  normalizePlace,
343
392
  parseClock,
344
393
  resolvePlace,
345
394
  searchZones
346
- } from "./chunk-WP2RLGDI.js";
395
+ } from "./chunk-TCX5PMEY.js";
347
396
  import {
348
397
  fixedParts,
349
398
  fixedTimeCells,
@@ -358,14 +407,15 @@ import {
358
407
  } from "./chunk-A2RUBBVT.js";
359
408
  import {
360
409
  parseBracket
361
- } from "./chunk-ZUCXFXLD.js";
410
+ } from "./chunk-3YTAOMMN.js";
362
411
  import {
363
412
  parseBody
364
- } from "./chunk-47E5UTXE.js";
413
+ } from "./chunk-IUBCDNT2.js";
414
+ import "./chunk-BDXC7MDK.js";
365
415
  import {
366
416
  renderLegendSvg,
367
417
  renderLegendSvgFromConfig
368
- } from "./chunk-3AQJNY65.js";
418
+ } from "./chunk-KFXY5IW2.js";
369
419
  import "./chunk-KMU65FYM.js";
370
420
  import "./chunk-EPDBWATV.js";
371
421
  import {
@@ -374,136 +424,126 @@ import {
374
424
  parseChart,
375
425
  parseDataRowValues,
376
426
  parseExtendedChart
377
- } from "./chunk-7UDAIP6W.js";
427
+ } from "./chunk-HFG7KQOY.js";
378
428
  import "./chunk-2CW5ZTNH.js";
379
429
  import {
380
430
  formatDateLabel,
381
431
  renderTimeline
382
- } from "./chunk-UWKRPQZO.js";
432
+ } from "./chunk-FJCYK4K3.js";
383
433
  import {
384
434
  computeTimeTicks
385
435
  } from "./chunk-YRYKTYMQ.js";
386
436
  import {
387
437
  ScaleContext
388
438
  } from "./chunk-24YPR5EH.js";
439
+ import {
440
+ renderLegendD3
441
+ } from "./chunk-QVKTAU7P.js";
389
442
  import "./chunk-XCKNFFKM.js";
390
- import "./chunk-UKJLPA7R.js";
443
+ import "./chunk-X6IZP2BD.js";
391
444
  import "./chunk-SEKNYIMO.js";
392
445
  import "./chunk-CNUN5GO6.js";
393
446
  import "./chunk-OOCVGX4W.js";
394
- import "./chunk-VLC6WNRD.js";
395
- import "./chunk-BDXC7MDK.js";
396
- import {
397
- renderLegendD3
398
- } from "./chunk-7SX4IY6T.js";
399
447
  import {
400
448
  computeLegendLayout,
401
449
  controlsGroupCapsuleWidth,
402
450
  getLegendReservedHeight,
403
451
  legendEntryWidth
404
452
  } from "./chunk-NS7L7YKH.js";
453
+ import "./chunk-VLC6WNRD.js";
405
454
  import {
406
455
  DEFAULT_FONT_NAME,
407
456
  FONT_FAMILY
408
457
  } from "./chunk-ICLB27PZ.js";
458
+ import {
459
+ parseTechRadar
460
+ } from "./chunk-MKFQ5E7J.js";
409
461
  import {
410
462
  parseCycle
411
- } from "./chunk-WQ6G6FFM.js";
463
+ } from "./chunk-AR4QVMWG.js";
412
464
  import {
413
465
  parseJourneyMap
414
- } from "./chunk-B3S76BZO.js";
466
+ } from "./chunk-PSGSFRRE.js";
415
467
  import {
416
468
  parsePyramid
417
- } from "./chunk-PIXJL77H.js";
469
+ } from "./chunk-M6J25PAZ.js";
418
470
  import {
419
471
  parseRing
420
- } from "./chunk-3C2FWS2J.js";
472
+ } from "./chunk-EWERNTOX.js";
421
473
  import {
422
474
  parseTreemap
423
- } from "./chunk-P3SKSKJI.js";
475
+ } from "./chunk-HWXUQCDY.js";
424
476
  import {
425
477
  parseBlock
426
- } from "./chunk-MY6GUH26.js";
478
+ } from "./chunk-V3KHZQPK.js";
427
479
  import "./chunk-XSVWUOUZ.js";
428
480
  import {
429
481
  parseGoal
430
- } from "./chunk-BOO24UMJ.js";
431
- import {
432
- parseCountdown,
433
- targetToMs as targetToMs2
434
- } from "./chunk-JQ57AWDL.js";
435
- import {
436
- applyOrdinalTemplate,
437
- dayDelta,
438
- dayStart,
439
- formatCompound,
440
- formatCount,
441
- formatFooter,
442
- formatHuman,
443
- formatWordsDetail,
444
- ordinalFor,
445
- resolveNext,
446
- sameDay,
447
- splitClockSeconds,
448
- targetToMs
449
- } from "./chunk-WFA6IULY.js";
450
- import {
451
- now
452
- } from "./chunk-3DPOIW3W.js";
482
+ } from "./chunk-4YO7VJTP.js";
453
483
  import {
454
484
  looksLikeMap,
455
485
  parseMap
456
- } from "./chunk-HTWH2XQL.js";
486
+ } from "./chunk-HYV6GSXM.js";
457
487
  import {
458
488
  parseBoxesAndLines
459
- } from "./chunk-MHAYUS65.js";
489
+ } from "./chunk-RMTOZALT.js";
460
490
  import {
461
- SKETCH_SHAPE_KINDS,
462
- isSketchShapeKind,
463
491
  parseSketch
464
- } from "./chunk-RU725VCJ.js";
465
- import "./chunk-DV2VEJCC.js";
492
+ } from "./chunk-SKF7XLCM.js";
493
+ import "./chunk-NWSPPGIE.js";
494
+ import {
495
+ WHITEBOARD_COLORS,
496
+ WHITEBOARD_ELEMENT_KEYWORDS,
497
+ WHITEBOARD_FILLS,
498
+ WHITEBOARD_HEADS,
499
+ WHITEBOARD_NOTE_COLOR,
500
+ WHITEBOARD_NOTE_HEIGHT,
501
+ WHITEBOARD_NOTE_WIDTH,
502
+ WHITEBOARD_SHAPE_KINDS,
503
+ WHITEBOARD_STROKE_STYLES,
504
+ isWhiteboardColor,
505
+ isWhiteboardImageRef,
506
+ isWhiteboardShapeKind,
507
+ parseWhiteboard
508
+ } from "./chunk-IHK3Y2HG.js";
466
509
  import {
467
510
  parseSwimlane
468
- } from "./chunk-C7QRRTAW.js";
511
+ } from "./chunk-J2SQNZ6D.js";
469
512
  import {
470
513
  parseFamily
471
- } from "./chunk-FKZ2Y3Q5.js";
514
+ } from "./chunk-IS6WFBX7.js";
472
515
  import "./chunk-QQJUTGQH.js";
473
516
  import {
474
517
  parseMindmap
475
- } from "./chunk-NGC3IZRY.js";
476
- import {
477
- parseTechRadar
478
- } from "./chunk-6K7RODXG.js";
518
+ } from "./chunk-XQTRGKQ3.js";
479
519
  import {
480
520
  parseEventLine
481
- } from "./chunk-66YFDTT6.js";
521
+ } from "./chunk-VGSSAMLA.js";
482
522
  import {
483
523
  addDurationToDate,
484
524
  parseTimelineDate
485
- } from "./chunk-GDJW64XE.js";
525
+ } from "./chunk-OYKNMFUY.js";
486
526
  import {
487
527
  parseVersionControl
488
- } from "./chunk-QFHWYWQL.js";
528
+ } from "./chunk-HLVGZXM5.js";
489
529
  import {
490
530
  parseKanban
491
- } from "./chunk-DPSMX4EY.js";
531
+ } from "./chunk-JJQWCI35.js";
492
532
  import {
493
533
  parseC4
494
- } from "./chunk-GSYZZFI5.js";
534
+ } from "./chunk-EP7BT3HU.js";
495
535
  import {
496
536
  INFRA_BEHAVIOR_KEYS,
497
537
  extractSymbols as extractSymbols4,
498
538
  parseInfra
499
- } from "./chunk-GUTZCRBT.js";
539
+ } from "./chunk-G3EUQMV4.js";
500
540
  import {
501
541
  parseGantt
502
- } from "./chunk-ITSBBQTH.js";
542
+ } from "./chunk-6QEXWMBP.js";
503
543
  import {
504
544
  normalizePertSourceForShare,
505
545
  resolveOrgImports
506
- } from "./chunk-SLQT3JP3.js";
546
+ } from "./chunk-R7BSF7Z7.js";
507
547
  import {
508
548
  decodeDiagramUrl,
509
549
  decodeViewState,
@@ -512,20 +552,20 @@ import {
512
552
  } from "./chunk-RE27AX7O.js";
513
553
  import {
514
554
  parseDgmoChartType
515
- } from "./chunk-K5XT7NHD.js";
555
+ } from "./chunk-2AM6VA3A.js";
516
556
  import {
517
557
  allTasks,
518
558
  parseRaci
519
- } from "./chunk-3RYBTEF5.js";
559
+ } from "./chunk-I74AQRVD.js";
520
560
  import {
521
561
  extractPertSymbols,
522
562
  looksLikePert,
523
563
  parsePert
524
- } from "./chunk-JVZ7KFAX.js";
564
+ } from "./chunk-37QQXKFV.js";
525
565
  import "./chunk-2SKMEL7V.js";
526
566
  import {
527
567
  parseLiveLink
528
- } from "./chunk-7WGCQE2E.js";
568
+ } from "./chunk-2ZVLI6GQ.js";
529
569
  import "./chunk-EQW6HOP4.js";
530
570
  import "./chunk-DAOFNU6J.js";
531
571
  import {
@@ -542,13 +582,13 @@ import {
542
582
  tidewaterPalette,
543
583
  tokyoNightPalette,
544
584
  validateThemeFile
545
- } from "./chunk-NIUO2TNR.js";
585
+ } from "./chunk-4HG4PYHM.js";
546
586
  import {
547
587
  isSequenceBlock,
548
588
  isSequenceNote,
549
589
  looksLikeSequence,
550
590
  parseSequenceDgmo
551
- } from "./chunk-LFKSHDVI.js";
591
+ } from "./chunk-ZB2Q67NO.js";
552
592
  import {
553
593
  RULE_COUNT,
554
594
  inferParticipantType
@@ -557,24 +597,24 @@ import {
557
597
  extractSymbols,
558
598
  looksLikeFlowchart,
559
599
  parseFlowchart
560
- } from "./chunk-JRUEIRJB.js";
561
- import "./chunk-7TF3QOOD.js";
600
+ } from "./chunk-634LDSN6.js";
601
+ import "./chunk-TIVMAITN.js";
562
602
  import {
563
603
  looksLikeState,
564
604
  parseState
565
- } from "./chunk-AYOVY75O.js";
605
+ } from "./chunk-XLPJJ35N.js";
566
606
  import "./chunk-NXMESY4J.js";
567
607
  import {
568
608
  extractSymbols as extractSymbols2,
569
609
  looksLikeClassDiagram,
570
610
  parseClassDiagram
571
- } from "./chunk-MFW6P7WH.js";
611
+ } from "./chunk-WNTPJZU7.js";
572
612
  import {
573
613
  extractSymbols as extractSymbols3,
574
614
  looksLikeERDiagram,
575
615
  parseERDiagram
576
- } from "./chunk-WPL5PFXE.js";
577
- import "./chunk-J64NZ6NF.js";
616
+ } from "./chunk-3SLRZKLB.js";
617
+ import "./chunk-KSZHIAI2.js";
578
618
  import "./chunk-O753JUEZ.js";
579
619
  import {
580
620
  ARROW_DIAGNOSTIC_CODES,
@@ -584,11 +624,11 @@ import {
584
624
  import {
585
625
  findOrgNodeIdByName,
586
626
  parseOrg
587
- } from "./chunk-FJNXXGTR.js";
627
+ } from "./chunk-UWJP4JSZ.js";
588
628
  import {
589
629
  looksLikeSitemap,
590
630
  parseSitemap
591
- } from "./chunk-UG2XG57E.js";
631
+ } from "./chunk-F26ZPBSF.js";
592
632
  import "./chunk-IYULMRBE.js";
593
633
  import {
594
634
  displayName,
@@ -597,25 +637,26 @@ import {
597
637
  } from "./chunk-NOTA6TEI.js";
598
638
  import {
599
639
  parseWireframe
600
- } from "./chunk-HSRQDWV7.js";
640
+ } from "./chunk-ROCBGUJN.js";
601
641
  import {
602
642
  RACI_ERROR_CODES,
603
643
  RACI_WARNING_CODES,
604
644
  VARIANTS
605
645
  } from "./chunk-4WW3SGMH.js";
646
+ import "./chunk-3UR4F7FE.js";
606
647
  import {
607
648
  autoTagColorCycle,
608
649
  resolveActiveTagGroup,
609
650
  resolveTagColor,
610
651
  resolveTagValue,
611
652
  tagAttrKey
612
- } from "./chunk-L5AFONQU.js";
653
+ } from "./chunk-QKJ6MQXW.js";
613
654
  import {
614
655
  ALL_CHART_TYPES,
615
656
  chartTypes,
616
657
  measureIndent,
617
658
  parseFirstLine
618
- } from "./chunk-44GP7PD5.js";
659
+ } from "./chunk-MPJQMMBZ.js";
619
660
  import "./chunk-5NU7NII2.js";
620
661
  import {
621
662
  LEGEND_CAPSULE_PAD,
@@ -745,12 +786,10 @@ function tailFor(thing, at, extra = []) {
745
786
  return `${alias}${parts.length > 0 ? ` ${parts.join(", ")}` : ""}`;
746
787
  }
747
788
  function shapeLine(node, indent) {
748
- const extra = [];
749
- if (node.shape !== "rectangle") extra.push(`shape: ${node.shape}`);
750
- const out = [`${indent}${node.label}${tailFor(node, node.at, extra)}`];
789
+ const out = [`${indent}${node.label}${tailFor(node, node.at)}`];
751
790
  if (node.description !== void 0 && node.description !== "") {
752
- for (const line of node.description.split("\n")) {
753
- out.push(`${indent} > ${line}`);
791
+ for (const line2 of node.description.split("\n")) {
792
+ out.push(`${indent} > ${line2}`);
754
793
  }
755
794
  }
756
795
  return out;
@@ -871,7 +910,7 @@ function canonicalSketch(parsed) {
871
910
  (g) => `${g.name}[${g.entries.map((e) => e.value).join("|")}]${g.defaultValue ?? ""}`
872
911
  ).sort().join(","),
873
912
  nodes: parsed.nodes.map(
874
- (n) => `${n.label}|${n.shape}|${n.at ? `${String(n.at.c)},${String(n.at.r)}` : "-"}|${n.boxLabel ?? "-"}|${n.description ?? ""}|${meta(n.metadata)}`
913
+ (n) => `${n.label}|${n.at ? `${String(n.at.c)},${String(n.at.r)}` : "-"}|${n.boxLabel ?? "-"}|${n.description ?? ""}|${meta(n.metadata)}`
875
914
  ).sort(),
876
915
  boxes: parsed.boxes.map(
877
916
  (b) => `${b.label}|${b.at ? `${String(b.at.c)},${String(b.at.r)}` : "-"}|${String(b.collapsed)}|${b.parentBoxId === null ? "-" : parsed.boxes.find((x) => x.id === b.parentBoxId)?.label ?? "?"}|${meta(b.metadata)}`
@@ -885,6 +924,87 @@ function sameSketch(a, b) {
885
924
  return JSON.stringify(canonicalSketch(a)) === JSON.stringify(canonicalSketch(b));
886
925
  }
887
926
 
927
+ // src/whiteboard/emit.ts
928
+ var NEEDS_QUOTES_RE = /(^|\s)[a-z][a-z-]*:(\s|$)|^["']/;
929
+ function nameText(name) {
930
+ if (!NEEDS_QUOTES_RE.test(name)) return name;
931
+ return name.includes('"') ? `'${name}'` : `"${name}"`;
932
+ }
933
+ function colorPart(color) {
934
+ return color === "ink" ? [] : [`color: ${color}`];
935
+ }
936
+ var BODY_INDENT = " ";
937
+ function line(keyword, name, meta) {
938
+ const lines = name.split("\n");
939
+ if (lines.length === 1) {
940
+ const head = name ? `${keyword} ${nameText(name)}` : keyword;
941
+ return `${head} ${meta.join(", ")}`;
942
+ }
943
+ const body = lines.map((l) => l ? `${BODY_INDENT}${l}` : "");
944
+ return [`${keyword} ${meta.join(", ")}`, ...body].join("\n");
945
+ }
946
+ function emitWhiteboardElement(el) {
947
+ switch (el.kind) {
948
+ case "shape":
949
+ return line(el.shape, el.label, [
950
+ `at: ${el.x} ${el.y}`,
951
+ `size: ${el.width} ${el.height}`,
952
+ ...colorPart(el.color),
953
+ ...el.fill === "tint" ? [] : [`fill: ${el.fill}`]
954
+ ]);
955
+ case "note":
956
+ return line("note", el.text, [
957
+ `at: ${el.x} ${el.y}`,
958
+ ...el.width === WHITEBOARD_NOTE_WIDTH && el.height === WHITEBOARD_NOTE_HEIGHT ? [] : [`size: ${el.width} ${el.height}`],
959
+ ...el.color === WHITEBOARD_NOTE_COLOR ? [] : [`color: ${el.color}`]
960
+ ]);
961
+ case "arrow":
962
+ case "line":
963
+ return line(el.kind, el.label, [
964
+ `from: ${el.x1} ${el.y1}`,
965
+ `to: ${el.x2} ${el.y2}`,
966
+ ...colorPart(el.color),
967
+ ...el.style === "solid" ? [] : [`style: ${el.style}`],
968
+ ...el.kind === "arrow" && el.heads === "both" ? ["heads: both"] : [],
969
+ ...el.bend === 0 ? [] : [`bend: ${el.bend}`]
970
+ ]);
971
+ case "text":
972
+ return line("text", el.text, [
973
+ `at: ${el.x} ${el.y}`,
974
+ ...colorPart(el.color)
975
+ ]);
976
+ case "image":
977
+ return line("image", el.ref, [
978
+ `at: ${el.x} ${el.y}`,
979
+ `size: ${el.width} ${el.height}`
980
+ ]);
981
+ case "ink":
982
+ return `ink ${el.color} ${String(el.width)} ${el.encoded}`;
983
+ }
984
+ }
985
+ function emitWhiteboard(board) {
986
+ const out = [
987
+ board.title ? `whiteboard ${board.title}` : "whiteboard"
988
+ ];
989
+ if (board.options.noTitle) out.push("no-title");
990
+ if (board.options.noNotes) out.push("no-notes");
991
+ for (const el of board.elements) out.push(emitWhiteboardElement(el));
992
+ return out.join("\n") + "\n";
993
+ }
994
+ function sameWhiteboard(a, b) {
995
+ const strip = (p) => ({
996
+ title: p.title,
997
+ options: p.options,
998
+ elements: p.elements.map((el) => {
999
+ const rest = { ...el };
1000
+ delete rest["lineNumber"];
1001
+ delete rest["points"];
1002
+ return rest;
1003
+ })
1004
+ });
1005
+ return JSON.stringify(strip(a)) === JSON.stringify(strip(b));
1006
+ }
1007
+
888
1008
  // src/boxes-and-lines/focus.ts
889
1009
  var GROUP_PREFIX = "__group_";
890
1010
  var groupKey = (label) => `${GROUP_PREFIX}${label}`;
@@ -1510,6 +1630,279 @@ function startClocks(root = document) {
1510
1630
  window.setInterval(() => tickClocks(document), 1e3);
1511
1631
  }
1512
1632
 
1633
+ // src/validate-diagram.ts
1634
+ var FLOWCHART_STRUCTURE_CODE = "E_FLOWCHART_STRUCTURE";
1635
+ function structureError(line2, message) {
1636
+ return { line: line2, message, severity: "error", code: FLOWCHART_STRUCTURE_CODE };
1637
+ }
1638
+ function validateFlowchartStructure(dgmo) {
1639
+ let parsed;
1640
+ try {
1641
+ parsed = parseFlowchart(dgmo);
1642
+ } catch {
1643
+ return [];
1644
+ }
1645
+ const nodes = parsed.nodes ?? [];
1646
+ const edges = parsed.edges ?? [];
1647
+ if (nodes.length === 0 || edges.length === 0) return [];
1648
+ const out = /* @__PURE__ */ new Map();
1649
+ const inc = /* @__PURE__ */ new Map();
1650
+ for (const n of nodes) {
1651
+ out.set(n.id, []);
1652
+ inc.set(n.id, []);
1653
+ }
1654
+ for (const e of edges) {
1655
+ out.get(e.source)?.push(e.target);
1656
+ inc.get(e.target)?.push(e.source);
1657
+ }
1658
+ const issues = [];
1659
+ for (const n of nodes) {
1660
+ if (n.shape !== "decision") continue;
1661
+ const branches = out.get(n.id)?.length ?? 0;
1662
+ if (branches < 2) {
1663
+ issues.push(
1664
+ structureError(
1665
+ n.lineNumber,
1666
+ `Decision "${n.label}" has ${branches === 0 ? "no" : "only one"} outgoing branch \u2014 a decision needs at least two (e.g. -yes-> / -no->, or specific labels like -retirement-> / -survivor->).`
1667
+ )
1668
+ );
1669
+ }
1670
+ }
1671
+ const starts = nodes.filter(
1672
+ (n) => (inc.get(n.id)?.length ?? 0) === 0 && (out.get(n.id)?.length ?? 0) > 0
1673
+ );
1674
+ const ends = nodes.filter(
1675
+ (n) => (out.get(n.id)?.length ?? 0) === 0 && (inc.get(n.id)?.length ?? 0) > 0
1676
+ );
1677
+ if (starts.length === 0) {
1678
+ issues.push(
1679
+ structureError(
1680
+ 0,
1681
+ "Flowchart has no entry point \u2014 every node has an incoming arrow, so the flow loops with no start. Add a start node that nothing points to."
1682
+ )
1683
+ );
1684
+ }
1685
+ if (ends.length === 0) {
1686
+ issues.push(
1687
+ structureError(
1688
+ 0,
1689
+ "Flowchart has no end \u2014 every node has an outgoing arrow, so the flow never stops. Add a terminal node where the flow ends."
1690
+ )
1691
+ );
1692
+ }
1693
+ if (starts.length > 0 && ends.length > 0) {
1694
+ const forward = reach(
1695
+ starts.map((n) => n.id),
1696
+ out
1697
+ );
1698
+ const backward = reach(
1699
+ ends.map((n) => n.id),
1700
+ inc
1701
+ );
1702
+ for (const n of nodes) {
1703
+ if (!forward.has(n.id) || !backward.has(n.id)) {
1704
+ issues.push(
1705
+ structureError(
1706
+ n.lineNumber,
1707
+ `Node "${n.label}" is not connected to the flow \u2014 it must lie on a path from the start to an end. Wire it into the diagram or remove it.`
1708
+ )
1709
+ );
1710
+ }
1711
+ }
1712
+ }
1713
+ return issues;
1714
+ }
1715
+ function reach(seeds, adj) {
1716
+ const seen = new Set(seeds);
1717
+ const queue = [...seeds];
1718
+ while (queue.length > 0) {
1719
+ const id = queue.shift();
1720
+ for (const next of adj.get(id) ?? []) {
1721
+ if (!seen.has(next)) {
1722
+ seen.add(next);
1723
+ queue.push(next);
1724
+ }
1725
+ }
1726
+ }
1727
+ return seen;
1728
+ }
1729
+ function validateDiagram(source, options = {}) {
1730
+ const chartType = parseDgmoChartType(source);
1731
+ let diagnostics;
1732
+ if (chartType === "map" && options.mapData) {
1733
+ try {
1734
+ diagnostics = resolveMap(
1735
+ parseMap(source),
1736
+ options.mapData
1737
+ ).diagnostics.slice();
1738
+ } catch {
1739
+ diagnostics = parseDgmo(source).diagnostics.slice();
1740
+ }
1741
+ } else {
1742
+ diagnostics = parseDgmo(source).diagnostics.slice();
1743
+ }
1744
+ if (chartType === "flowchart") {
1745
+ diagnostics.push(...validateFlowchartStructure(source));
1746
+ }
1747
+ const blocking = (d) => d.severity === "error" || d.code === INVALID_COLOR_CODE;
1748
+ return {
1749
+ chartType,
1750
+ errors: diagnostics.filter(blocking),
1751
+ warnings: diagnostics.filter((d) => !blocking(d))
1752
+ };
1753
+ }
1754
+ var plural = (n, word) => `${n} ${word}${n > 1 ? "s" : ""}`;
1755
+ function formatDiagramValidation(v) {
1756
+ const { chartType, errors, warnings } = v;
1757
+ if (errors.length === 0 && warnings.length === 0) {
1758
+ return {
1759
+ text: `Valid ${chartType ? `${chartType} diagram` : "diagram"} \u2014 no errors or warnings.`,
1760
+ isError: false
1761
+ };
1762
+ }
1763
+ const typeLabel = chartType ? ` in ${chartType} diagram` : "";
1764
+ const parts = [];
1765
+ if (errors.length > 0) {
1766
+ parts.push(
1767
+ `${plural(errors.length, "error")}${warnings.length > 0 ? `, ${plural(warnings.length, "warning")}` : ""}${typeLabel}
1768
+ `
1769
+ );
1770
+ parts.push("Errors:");
1771
+ for (const e of errors) parts.push(` ${formatDgmoError(e)}`);
1772
+ }
1773
+ if (warnings.length > 0) {
1774
+ if (errors.length === 0) {
1775
+ parts.push(
1776
+ `Valid with ${plural(warnings.length, "warning")}${typeLabel}
1777
+ `
1778
+ );
1779
+ } else {
1780
+ parts.push("");
1781
+ }
1782
+ parts.push("Warnings:");
1783
+ for (const w of warnings) parts.push(` ${formatDgmoError(w)}`);
1784
+ }
1785
+ return { text: parts.join("\n"), isError: errors.length > 0 };
1786
+ }
1787
+
1788
+ // src/agent-reference.ts
1789
+ function parseTypeAliases(markdown) {
1790
+ const m = markdown.match(/<!--\s*TYPE-ALIASES:\s*([^>]*?)-->/);
1791
+ const map = /* @__PURE__ */ new Map();
1792
+ if (!m) return map;
1793
+ for (const pair of (m[1] ?? "").trim().split(/\s+/)) {
1794
+ const [alias, target] = pair.split("=");
1795
+ if (alias && target) map.set(alias.trim(), target.trim());
1796
+ }
1797
+ return map;
1798
+ }
1799
+ function extractColorRule(markdown) {
1800
+ const m = markdown.match(
1801
+ /<!--\s*COLORS start\s*-->([\s\S]*?)<!--\s*COLORS end\s*-->/
1802
+ );
1803
+ return m ? (m[1] ?? "").trim() : null;
1804
+ }
1805
+ function extractTitleRule(markdown) {
1806
+ const m = markdown.match(
1807
+ /<!--\s*TITLE start\s*-->([\s\S]*?)<!--\s*TITLE end\s*-->/
1808
+ );
1809
+ return m ? (m[1] ?? "").trim() : null;
1810
+ }
1811
+ function extractCategorizeRule(markdown) {
1812
+ const m = markdown.match(
1813
+ /<!--\s*CATEGORIZE start\s*-->([\s\S]*?)<!--\s*CATEGORIZE end\s*-->/
1814
+ );
1815
+ return m ? (m[1] ?? "").trim() : null;
1816
+ }
1817
+ function extractSection(markdown, chartType) {
1818
+ const aliases = parseTypeAliases(markdown);
1819
+ const resolved = aliases.get(chartType) ?? chartType;
1820
+ const startRe = new RegExp(`<!--\\s*TYPE:${resolved}\\s*-->`);
1821
+ const startMatch = startRe.exec(markdown);
1822
+ if (!startMatch) return null;
1823
+ const after = startMatch.index + startMatch[0].length;
1824
+ const rest = markdown.slice(after);
1825
+ const nextType = rest.search(/<!--\s*TYPE:[a-z0-9-]+\s*-->/);
1826
+ const nextH2 = rest.search(/^## /m);
1827
+ const ends = [nextType, nextH2].filter((n) => n !== -1);
1828
+ const end = ends.length ? after + Math.min(...ends) : markdown.length;
1829
+ return markdown.slice(after, end).trim();
1830
+ }
1831
+ function referenceForChartType(markdown, chartType) {
1832
+ const raw = extractSection(markdown, chartType);
1833
+ if (!raw) return null;
1834
+ const section = raw.replace(
1835
+ /[ \t]*<!--\s*TIPS (?:start|end)\s*-->[ \t]*\n?/g,
1836
+ ""
1837
+ );
1838
+ const universal = [
1839
+ extractColorRule(markdown),
1840
+ extractTitleRule(markdown),
1841
+ extractCategorizeRule(markdown)
1842
+ ].filter(Boolean);
1843
+ return universal.length ? `${universal.join("\n\n")}
1844
+
1845
+ ---
1846
+
1847
+ ${section}` : section;
1848
+ }
1849
+ function formatChartTypeList() {
1850
+ const meta = new Map(chartTypes.map((c) => [c.id, c]));
1851
+ const types = Object.keys(CHART_TYPE_DESCRIPTIONS).filter(
1852
+ (id) => !meta.get(id)?.internal
1853
+ );
1854
+ const lines = types.map((id) => {
1855
+ const desc = CHART_TYPE_DESCRIPTIONS[id];
1856
+ const mark = meta.get(id)?.beta ? " [beta \u2014 expect rough edges]" : "";
1857
+ return desc ? `- ${id}${mark}: ${desc}` : `- ${id}${mark}`;
1858
+ });
1859
+ return `Supported chart types (${types.length}):
1860
+
1861
+ ${lines.join("\n")}`;
1862
+ }
1863
+ function isExampleFor(name, chartType) {
1864
+ const slash = name.indexOf("/");
1865
+ if (slash !== -1) return name.slice(0, slash) === chartType;
1866
+ return name === chartType || name.startsWith(chartType + "-");
1867
+ }
1868
+ var EXAMPLES_SHOWN = 5;
1869
+ async function formatExamples(names, read, chartType) {
1870
+ const sorted = [...names].sort();
1871
+ if (!chartType) {
1872
+ return {
1873
+ text: `Available examples (${sorted.length}):
1874
+
1875
+ ${sorted.map((n) => `- ${n}`).join("\n")}
1876
+
1877
+ Call get_examples with a chart_type to see the full DGMO source.`,
1878
+ isError: false
1879
+ };
1880
+ }
1881
+ const matching = sorted.filter((n) => isExampleFor(n, chartType));
1882
+ if (matching.length === 0) {
1883
+ return {
1884
+ text: `No examples found for "${chartType}". Use get_examples() without arguments to see all available examples.`,
1885
+ isError: true
1886
+ };
1887
+ }
1888
+ const parts = [];
1889
+ for (const n of matching.slice(0, EXAMPLES_SHOWN)) {
1890
+ const source = await read(n);
1891
+ parts.push(`## ${n}
1892
+
1893
+ \`\`\`dgmo
1894
+ ${source.trim()}
1895
+ \`\`\``);
1896
+ }
1897
+ let text = parts.join("\n\n---\n\n");
1898
+ if (matching.length > EXAMPLES_SHOWN) {
1899
+ text += `
1900
+
1901
+ (Showing ${EXAMPLES_SHOWN} of ${matching.length} examples)`;
1902
+ }
1903
+ return { text, isError: false };
1904
+ }
1905
+
1513
1906
  // src/map/load-data.ts
1514
1907
  async function loadNodeBuiltins() {
1515
1908
  const [{ readFile }, { fileURLToPath }, { dirname, resolve }] = await Promise.all([
@@ -2054,16 +2447,173 @@ function fontPortabilityWarning(runs) {
2054
2447
  }).join(", ");
2055
2448
  return `This diagram uses characters the bundled Inter font does not contain: ${described}. They were drawn with a font installed on this machine, so the image is correct here \u2014 but a machine without a font for those characters draws nothing at all, with no error. Install a font covering them wherever this runs, or check the output there.`;
2056
2449
  }
2450
+
2451
+ // src/cloud-space.ts
2452
+ var CLOUD_API = "https://api.diagrammo.app";
2453
+ var CloudSpaceError = class extends Error {
2454
+ constructor(message, status) {
2455
+ super(message);
2456
+ this.status = status;
2457
+ this.name = "CloudSpaceError";
2458
+ }
2459
+ status;
2460
+ };
2461
+ function describeStatus(status, detail) {
2462
+ const why = detail ? `: ${detail.replace(/\.+$/, "")}` : "";
2463
+ switch (status) {
2464
+ case 401:
2465
+ return `The API key was refused (401)${why}. Check DGMO_API_KEY \u2014 it may be mistyped or revoked.`;
2466
+ case 403:
2467
+ return `The API key may not do this (403)${why}.`;
2468
+ case 404:
2469
+ return `Not found (404)${why}. Check the space, folder, title or id.`;
2470
+ case 409:
2471
+ return `Another write to this diagram landed first (409)${why}. Try again.`;
2472
+ default:
2473
+ return `The Cloud API answered ${status}${why}.`;
2474
+ }
2475
+ }
2476
+ async function call(target, method, rest, body) {
2477
+ const doFetch = target.fetch ?? fetch;
2478
+ const url = `${CLOUD_API}/spaces/${encodeURIComponent(target.spaceId)}${rest}`;
2479
+ let res;
2480
+ try {
2481
+ res = await doFetch(url, {
2482
+ method,
2483
+ headers: {
2484
+ authorization: `Bearer ${target.apiKey}`,
2485
+ accept: "application/json",
2486
+ ...body === void 0 ? {} : { "content-type": "application/json" }
2487
+ },
2488
+ ...body === void 0 ? {} : { body: JSON.stringify(body) }
2489
+ });
2490
+ } catch (err) {
2491
+ throw new CloudSpaceError(
2492
+ `Could not reach ${CLOUD_API}: ${err.message}`
2493
+ );
2494
+ }
2495
+ const text = await res.text();
2496
+ let data;
2497
+ try {
2498
+ data = text ? JSON.parse(text) : null;
2499
+ } catch {
2500
+ data = null;
2501
+ }
2502
+ if (!res.ok) {
2503
+ const problem = data ?? {};
2504
+ const detail = typeof problem.detail === "string" ? problem.detail : typeof problem.title === "string" ? problem.title : "";
2505
+ throw new CloudSpaceError(describeStatus(res.status, detail), res.status);
2506
+ }
2507
+ return { status: res.status, data };
2508
+ }
2509
+ var sameName = (a, b) => a.replace(/[A-Z]/g, (c) => c.toLowerCase()) === b.replace(/[A-Z]/g, (c) => c.toLowerCase());
2510
+ var rootIsNull = (id) => id === "" ? null : id;
2511
+ function folderPath(folders, folderId) {
2512
+ const byId = new Map(folders.map((f) => [f.id, f]));
2513
+ const names = [];
2514
+ const start = rootIsNull(folderId);
2515
+ let cur = start === null ? void 0 : byId.get(start);
2516
+ while (cur && names.length <= folders.length) {
2517
+ names.unshift(cur.name);
2518
+ const up = rootIsNull(cur.parentId);
2519
+ cur = up === null ? void 0 : byId.get(up);
2520
+ }
2521
+ return names.join("/");
2522
+ }
2523
+ function resolveFolder(folders, path) {
2524
+ const parts = (path ?? "").split("/").map((p) => p.trim()).filter(Boolean);
2525
+ let parentId = null;
2526
+ for (const name of parts) {
2527
+ const hit = folders.find(
2528
+ (f) => rootIsNull(f.parentId) === parentId && sameName(f.name, name)
2529
+ );
2530
+ if (!hit)
2531
+ throw new CloudSpaceError(
2532
+ `No folder "${parts.join("/")}" in this space (stopped at "${name}").`,
2533
+ 404
2534
+ );
2535
+ parentId = hit.id;
2536
+ }
2537
+ return parentId;
2538
+ }
2539
+ var contentsOf = (target) => call(target, "GET", "/contents").then((r) => r.data);
2540
+ async function putSpaceDiagram(target, diagram) {
2541
+ const contents = await contentsOf(target);
2542
+ const folderId = resolveFolder(contents.folders, diagram.folder);
2543
+ const { status, data } = await call(target, "PUT", "/diagrams", {
2544
+ title: diagram.title,
2545
+ source: diagram.source,
2546
+ chartType: parseDgmoChartType(diagram.source),
2547
+ folderId
2548
+ });
2549
+ return {
2550
+ action: status === 201 ? "created" : "updated",
2551
+ id: data.id,
2552
+ title: data.title,
2553
+ folder: folderPath(contents.folders, data.folderId),
2554
+ version: data.version
2555
+ };
2556
+ }
2557
+ async function getSpaceDiagram(target, which) {
2558
+ const contents = await contentsOf(target);
2559
+ let id;
2560
+ if ("id" in which) id = which.id;
2561
+ else {
2562
+ const folderId = resolveFolder(contents.folders, which.folder);
2563
+ const hit = contents.items.find(
2564
+ (d) => rootIsNull(d.folderId) === folderId && sameName(d.title, which.title)
2565
+ );
2566
+ if (!hit)
2567
+ throw new CloudSpaceError(
2568
+ `No diagram titled "${which.title}" in ${folderId === null ? "the space root" : `folder "${which.folder}"`}.`,
2569
+ 404
2570
+ );
2571
+ id = hit.id;
2572
+ }
2573
+ const { data } = await call(
2574
+ target,
2575
+ "GET",
2576
+ `/diagrams/${encodeURIComponent(id)}`
2577
+ );
2578
+ return {
2579
+ id: data.id,
2580
+ title: data.title,
2581
+ folder: folderPath(contents.folders, data.folderId),
2582
+ chartType: data.chartType,
2583
+ version: data.version,
2584
+ updatedAt: data.updatedAt,
2585
+ source: data.source
2586
+ };
2587
+ }
2588
+ async function listSpaceDiagrams(target) {
2589
+ const contents = await contentsOf(target);
2590
+ return contents.items.map((d) => ({
2591
+ id: d.id,
2592
+ title: d.title,
2593
+ folder: folderPath(contents.folders, d.folderId),
2594
+ chartType: d.chartType,
2595
+ version: d.version,
2596
+ updatedAt: d.updatedAt
2597
+ })).sort(
2598
+ (a, b) => `${a.folder}/${a.title}`.localeCompare(`${b.folder}/${b.title}`)
2599
+ );
2600
+ }
2057
2601
  export {
2058
2602
  ALL_CHART_TYPES,
2059
2603
  ARROW_DIAGNOSTIC_CODES,
2060
2604
  CHART_TYPE_DESCRIPTIONS,
2605
+ CLOUD_API,
2061
2606
  CONTAINER_FILL_OPACITY,
2062
2607
  CONTAINER_STROKE_OPACITY,
2063
2608
  CONTAINER_STROKE_WIDTH,
2609
+ CYLINDER_RY,
2610
+ CloudSpaceError,
2064
2611
  DEFAULT_FONT_NAME,
2612
+ EXAMPLES_SHOWN,
2613
+ FLOWCHART_STRUCTURE_CODE,
2065
2614
  FONT_FAMILY,
2066
2615
  DEFAULT_DIM_OPACITY as HOVER_DIM_OPACITY,
2616
+ IMAGE_NOT_UPLOADED,
2067
2617
  INFRA_BEHAVIOR_KEYS,
2068
2618
  INVALID_COLOR_CODE,
2069
2619
  INVALID_CSS_COLOR_HEX,
@@ -2078,6 +2628,7 @@ export {
2078
2628
  LEGEND_MAX_ENTRY_ROWS,
2079
2629
  LEGEND_PILL_FONT_SIZE,
2080
2630
  LEGEND_PILL_PAD,
2631
+ QUEUE_CAP,
2081
2632
  RACI_ERROR_CODES,
2082
2633
  VARIANTS as RACI_VARIANTS,
2083
2634
  RACI_WARNING_CODES,
@@ -2090,11 +2641,21 @@ export {
2090
2641
  SKETCH_HALF_SLOT_X,
2091
2642
  SKETCH_HALF_SLOT_Y,
2092
2643
  SKETCH_SEP,
2093
- SKETCH_SHAPE_KINDS,
2094
2644
  SKETCH_SLOT_X,
2095
2645
  SKETCH_SLOT_Y,
2096
2646
  SKETCH_VISUALS,
2097
2647
  ScaleContext,
2648
+ WHITEBOARD_COLORS,
2649
+ WHITEBOARD_ELEMENT_KEYWORDS,
2650
+ WHITEBOARD_FILLS,
2651
+ WHITEBOARD_HEADS,
2652
+ WHITEBOARD_LABEL_MIN_FONT,
2653
+ WHITEBOARD_NOTE_COLOR,
2654
+ WHITEBOARD_NOTE_FONT,
2655
+ WHITEBOARD_NOTE_HEIGHT,
2656
+ WHITEBOARD_NOTE_WIDTH,
2657
+ WHITEBOARD_SHAPE_KINDS,
2658
+ WHITEBOARD_STROKE_STYLES,
2098
2659
  addDurationToDate,
2099
2660
  albersSkewFallback,
2100
2661
  analyzePert,
@@ -2116,6 +2677,7 @@ export {
2116
2677
  chartTypeParsers,
2117
2678
  chartTypes,
2118
2679
  clearEventLineMuted,
2680
+ clipWhiteboardConnector,
2119
2681
  collapseBoxesAndLines,
2120
2682
  collapseMindmapTree,
2121
2683
  collapseOrgTree,
@@ -2144,21 +2706,31 @@ export {
2144
2706
  decodeViewState,
2145
2707
  displayName,
2146
2708
  emitSketch,
2709
+ emitWhiteboard,
2710
+ emitWhiteboardElement,
2147
2711
  encodeDiagramUrl,
2148
2712
  encodeViewState,
2713
+ extractCategorizeRule,
2149
2714
  extractSymbols2 as extractClassSymbols,
2715
+ extractColorRule,
2150
2716
  extractSymbols3 as extractErSymbols,
2151
2717
  extractSymbols as extractFlowchartSymbols,
2152
2718
  extractSymbols4 as extractInfraSymbols,
2153
2719
  extractPertSymbols,
2720
+ extractSection,
2721
+ extractTitleRule,
2154
2722
  findOrgNodeIdByName,
2723
+ fitWhiteboardLabel,
2155
2724
  fitWrapped,
2156
2725
  focusBoxesAndLines,
2157
2726
  focusEventLine,
2158
2727
  focusOrgTree,
2159
2728
  fontPortabilityWarning,
2729
+ formatChartTypeList,
2160
2730
  formatDateLabel,
2161
2731
  formatDgmoError,
2732
+ formatDiagramValidation,
2733
+ formatExamples,
2162
2734
  formatOffsetLabel,
2163
2735
  getAllChartTypes,
2164
2736
  getAvailablePalettes,
@@ -2170,21 +2742,26 @@ export {
2170
2742
  getRenderCategory,
2171
2743
  getSeriesColors,
2172
2744
  getSimpleChartLegendGroups,
2745
+ getSpaceDiagram,
2173
2746
  groupMessagesBySection,
2174
2747
  hexToHSL,
2175
2748
  hexToHSLString,
2176
2749
  hslToHex,
2177
2750
  inferParticipantType,
2178
2751
  inferRoles,
2752
+ inkOutlinePath,
2179
2753
  invalidColorDiagnostic,
2180
2754
  isArchiveColumn,
2755
+ isExampleFor,
2181
2756
  isExtendedChartType,
2182
2757
  isInvalidColorToken,
2183
2758
  isRecognizedColorName,
2184
2759
  isSequenceBlock,
2185
2760
  isSequenceNote,
2186
- isSketchShapeKind,
2187
2761
  isValidHex,
2762
+ isWhiteboardColor,
2763
+ isWhiteboardImageRef,
2764
+ isWhiteboardShapeKind,
2188
2765
  knownChartTypeIds,
2189
2766
  layoutBlock,
2190
2767
  layoutBoxesAndLines,
@@ -2210,6 +2787,7 @@ export {
2210
2787
  layoutTreemapRadial,
2211
2788
  layoutWireframe,
2212
2789
  legendEntryWidth,
2790
+ listSpaceDiagrams,
2213
2791
  loadMapData,
2214
2792
  looksLikeClassDiagram,
2215
2793
  looksLikeERDiagram,
@@ -2281,14 +2859,18 @@ export {
2281
2859
  parseTechRadar,
2282
2860
  parseTimelineDate,
2283
2861
  parseTreemap,
2862
+ parseTypeAliases,
2284
2863
  parseVersionControl,
2285
2864
  parseVisualization,
2865
+ parseWhiteboard,
2286
2866
  parseWireframe,
2867
+ putSpaceDiagram,
2287
2868
  cellAppendMarker as raciCellAppendMarker,
2288
2869
  cellCycle as raciCellCycle,
2289
2870
  cellRemove as raciCellRemove,
2290
2871
  cellReplace as raciCellReplace,
2291
2872
  rebuildMapProjection,
2873
+ referenceForChartType,
2292
2874
  registerPalette,
2293
2875
  relayoutPert,
2294
2876
  render,
@@ -2375,6 +2957,7 @@ export {
2375
2957
  renderVenn,
2376
2958
  renderVersionControl,
2377
2959
  renderVersionControlForExport,
2960
+ renderWhiteboard,
2378
2961
  renderWireframe,
2379
2962
  renderWordCloud,
2380
2963
  resolveActiveTagGroup,
@@ -2388,6 +2971,7 @@ export {
2388
2971
  resolveTaskName,
2389
2972
  rollUpContextRelationships,
2390
2973
  sameSketch,
2974
+ sameWhiteboard,
2391
2975
  sampleBetaPert,
2392
2976
  searchMapLocations,
2393
2977
  searchZones,
@@ -2399,6 +2983,7 @@ export {
2399
2983
  sketchColors,
2400
2984
  sketchContainerFill,
2401
2985
  sketchEdgeGeometry,
2986
+ sketchLabelSpot,
2402
2987
  sketchNeutralFill,
2403
2988
  sketchSlotToPx,
2404
2989
  slatePalette,
@@ -2418,8 +3003,25 @@ export {
2418
3003
  uncoveredCharacters,
2419
3004
  parseDgmo as validate,
2420
3005
  validateComputed,
3006
+ validateDiagram,
3007
+ validateFlowchartStructure,
2421
3008
  validateInfra,
2422
3009
  validateLabelCharacters,
2423
3010
  validateThemeFile,
2424
- wrapTextToWidth
3011
+ visibleWhiteboardElements,
3012
+ visibleWhiteboardIndices,
3013
+ whiteboardBendFor,
3014
+ whiteboardBendHandle,
3015
+ whiteboardBounds,
3016
+ whiteboardConnectorAttachments,
3017
+ whiteboardConnectorPaint,
3018
+ whiteboardLabelHeight,
3019
+ whiteboardLabelShift,
3020
+ whiteboardLabelWidth,
3021
+ whiteboardNoteFold,
3022
+ whiteboardSegmentMidpoint,
3023
+ whiteboardShapeAt,
3024
+ whiteboardShapeContains,
3025
+ wrapTextToWidth,
3026
+ wrapWhiteboardLabel
2425
3027
  };