@diagrammo/dgmo 0.56.0 → 0.58.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 (210) hide show
  1. package/dist/advanced.d.ts +57 -7
  2. package/dist/advanced.js +206 -196
  3. package/dist/auto.css +60 -0
  4. package/dist/auto.js +185 -124
  5. package/dist/auto.mjs +6749 -6280
  6. package/dist/block.css +60 -0
  7. package/dist/block.d.ts +12 -0
  8. package/dist/block.js +132 -61
  9. package/dist/{chart-meta-CPNVUZ5J.d.ts → chart-meta-C6UaqhTP.d.ts} +1 -1
  10. package/dist/chart-meta.d.ts +2 -2
  11. package/dist/chart-meta.js +53 -51
  12. package/dist/{charts-d3-D67V6KHE.js → charts-d3-K5M5J5ZM.js} +5 -5
  13. package/dist/{chunk-GDGOVO2I.js → chunk-2JPEBOUQ.js} +71 -55
  14. package/dist/{chunk-FERE46TP.js → chunk-2UBTPFIF.js} +3 -3
  15. package/dist/{chunk-CXI6X54X.js → chunk-3DY7TNZ7.js} +2 -2
  16. package/dist/{chunk-D5FANMSG.js → chunk-3LMUMAUS.js} +2 -2
  17. package/dist/{chunk-D3WTEBGT.js → chunk-46NVO5UA.js} +2 -2
  18. package/dist/{chunk-5J2RQGFG.js → chunk-4CE2GOC2.js} +3 -3
  19. package/dist/{chunk-VKN7YW4Q.js → chunk-4ESLORPX.js} +7 -7
  20. package/dist/chunk-4UNGFVVY.js +181 -0
  21. package/dist/{chunk-Y2L2LET6.js → chunk-52KLHCXQ.js} +6 -6
  22. package/dist/{chunk-VSFAJUEF.js → chunk-5RPSN32F.js} +3 -3
  23. package/dist/{chunk-RBIX3HQQ.js → chunk-5RY4W7J6.js} +9 -9
  24. package/dist/{chunk-GUVVQW3Y.js → chunk-6F3MVYUW.js} +6 -6
  25. package/dist/{chunk-ST3ZNEUQ.js → chunk-6JYE3SDK.js} +2 -2
  26. package/dist/{chunk-FZECLCCU.js → chunk-6KTRV3O5.js} +3 -3
  27. package/dist/{chunk-KIGV66SP.js → chunk-7Q6HX7ON.js} +6 -6
  28. package/dist/{chunk-ULR3BVNH.js → chunk-7SGR7A5K.js} +4 -4
  29. package/dist/{chunk-5ZDHXS5N.js → chunk-7UZFAIKI.js} +7 -7
  30. package/dist/{chunk-WFX6AUQO.js → chunk-ATKB7VEN.js} +9 -4
  31. package/dist/{chunk-5VLUAAAE.js → chunk-AU4AQYOA.js} +3 -3
  32. package/dist/{chunk-4MB4UOT5.js → chunk-B4U7RRQ4.js} +2 -2
  33. package/dist/{chunk-QWUYFUNO.js → chunk-BFYPHZ5M.js} +2 -2
  34. package/dist/{chunk-NVQXIDLE.js → chunk-BIWMOFSE.js} +7 -7
  35. package/dist/{chunk-HPJITTF7.js → chunk-C7IKQOEQ.js} +15 -15
  36. package/dist/{chunk-YJUF2N3C.js → chunk-CBPFVH3N.js} +10 -10
  37. package/dist/{chunk-R7ECJQTB.js → chunk-CC6XIQDE.js} +3 -3
  38. package/dist/{chunk-3R67RRPC.js → chunk-CZIFUXI2.js} +7 -7
  39. package/dist/chunk-D3K4U3ZM.js +232 -0
  40. package/dist/{chunk-RQGNELB3.js → chunk-DWAQXY6T.js} +3 -3
  41. package/dist/{chunk-HIMDUQT7.js → chunk-DWMJLEBT.js} +7 -7
  42. package/dist/{chunk-YG5KQ55U.js → chunk-DZUDSGGQ.js} +13 -21
  43. package/dist/chunk-E55OZDFH.js +65 -0
  44. package/dist/{chunk-P6XFQVYY.js → chunk-E6CCWMTT.js} +19 -19
  45. package/dist/{chunk-3KOPPSUQ.js → chunk-E7HANW62.js} +12 -3
  46. package/dist/{chunk-ZMMYCERO.js → chunk-EDJYIQZM.js} +9 -233
  47. package/dist/{chunk-JXFB3APA.js → chunk-EEF7BUX7.js} +15 -15
  48. package/dist/{chunk-23THM67F.js → chunk-FWNJ45NW.js} +5 -5
  49. package/dist/{chunk-2UZVMWSQ.js → chunk-FXIG472W.js} +5 -5
  50. package/dist/{chunk-CQOC2MD6.js → chunk-GAFNYUNJ.js} +17 -16
  51. package/dist/{chunk-AIH6M5J6.js → chunk-GGKWKNOL.js} +4 -4
  52. package/dist/{chunk-U2BKSEKU.js → chunk-H52HJ26L.js} +2 -2
  53. package/dist/{chunk-BR2VSKHI.js → chunk-HBIGEWRC.js} +5 -5
  54. package/dist/{chunk-D64FRGKU.js → chunk-HUYAMTCD.js} +2 -2
  55. package/dist/{chunk-FCA2UGJT.js → chunk-HXTS54OV.js} +6 -6
  56. package/dist/{chunk-XN4ZSACM.js → chunk-ILZHMKYQ.js} +7 -7
  57. package/dist/{chunk-W2I2EXSC.js → chunk-IRN5GBBO.js} +15 -15
  58. package/dist/{chunk-YH62K5D4.js → chunk-JM65HLBZ.js} +13 -13
  59. package/dist/{chunk-DIKIHU52.js → chunk-KAG5JCZV.js} +3 -3
  60. package/dist/{chunk-4MJOBVY7.js → chunk-KNCY7YHC.js} +2 -2
  61. package/dist/{chunk-N2KO445N.js → chunk-L5DQB4C7.js} +16 -16
  62. package/dist/{chunk-5HWPEYWB.js → chunk-LDVUPGWC.js} +2 -2
  63. package/dist/{chunk-EEKGMS63.js → chunk-LLDNNANC.js} +3 -3
  64. package/dist/{chunk-SK7PCW4F.js → chunk-LSFZDBAP.js} +2 -2
  65. package/dist/{chunk-7SXTD7L6.js → chunk-LYQMN35H.js} +2 -2
  66. package/dist/{chunk-ES3MUYRX.js → chunk-MF4FDLFG.js} +3 -3
  67. package/dist/{chunk-YNAHUNMA.js → chunk-MPPOQOCF.js} +2 -2
  68. package/dist/{chunk-QDOYT6UW.js → chunk-N7PF5IRF.js} +4 -4
  69. package/dist/chunk-NCT22MOD.js +93 -0
  70. package/dist/{chunk-RK3Y4WMV.js → chunk-NGGVVTP2.js} +15 -15
  71. package/dist/{chunk-AMC2OGXF.js → chunk-NPBAV3QU.js} +13 -13
  72. package/dist/{chunk-HODUM6LY.js → chunk-NQGE76NC.js} +10 -10
  73. package/dist/{chunk-5XMDSXZT.js → chunk-NSUAU6JQ.js} +2 -2
  74. package/dist/{chunk-OHBIN74X.js → chunk-NW2K6UU2.js} +3 -3
  75. package/dist/{chunk-WOMXS5R7.js → chunk-NYCBN7YE.js} +3 -3
  76. package/dist/{chunk-FXVPSTDT.js → chunk-OMOU2V3W.js} +6 -6
  77. package/dist/chunk-ON4MEUC4.js +50 -0
  78. package/dist/{chunk-SOBGK35Z.js → chunk-OXANJRNK.js} +8 -8
  79. package/dist/{chunk-X32RDWT5.js → chunk-PH5WK6G5.js} +3 -3
  80. package/dist/{chunk-C3BWDEYN.js → chunk-PIIORN3Q.js} +7 -7
  81. package/dist/{chunk-YM2ZQIVG.js → chunk-QDOSCTL5.js} +9 -17
  82. package/dist/{chunk-CY5KE2P5.js → chunk-QS37VUFZ.js} +2 -2
  83. package/dist/{chunk-NFAHDPCG.js → chunk-RB3AFVPT.js} +3 -3
  84. package/dist/{chunk-LV5BFA24.js → chunk-RDHZRHDG.js} +3 -3
  85. package/dist/{chunk-AOJJSGXE.js → chunk-S3AZMBK7.js} +7 -7
  86. package/dist/{chunk-OWLGERJL.js → chunk-SBQXLX6Y.js} +6 -6
  87. package/dist/{chunk-PECYPUJJ.js → chunk-SQK4EKOW.js} +8 -8
  88. package/dist/{chunk-2JMNOEAU.js → chunk-STYJ6EOV.js} +163 -140
  89. package/dist/{chunk-AN465MXC.js → chunk-SZCZOA2L.js} +2 -2
  90. package/dist/{chunk-GG7TK3IA.js → chunk-TQC2SUMJ.js} +6 -6
  91. package/dist/{chunk-HE57UQHL.js → chunk-TXQXPJTG.js} +4 -4
  92. package/dist/{chunk-RV2N7COG.js → chunk-UFDLQKCR.js} +2 -2
  93. package/dist/{chunk-YWPWRR7W.js → chunk-UPTAWSCG.js} +2 -2
  94. package/dist/{chunk-ULONXAOD.js → chunk-VBSKNQUO.js} +6 -6
  95. package/dist/{chunk-UU6LUYUH.js → chunk-VJARCVMH.js} +2 -2
  96. package/dist/{chunk-HOPTF3ZP.js → chunk-VJYERZ2Q.js} +7 -7
  97. package/dist/{chunk-USFZQPJ2.js → chunk-W22JRLNA.js} +3 -3
  98. package/dist/{chunk-KSPCR75O.js → chunk-W2RU24DD.js} +6 -6
  99. package/dist/{chunk-NHZAYL2X.js → chunk-W6T5QRIR.js} +4 -4
  100. package/dist/{chunk-3HDBAXF5.js → chunk-WGC42WJU.js} +8 -1
  101. package/dist/{chunk-APD52YJV.js → chunk-WQWVLAA5.js} +4 -4
  102. package/dist/{chunk-VU3DOZ6C.js → chunk-WYG5VJY2.js} +4 -4
  103. package/dist/{chunk-VYEQPPS6.js → chunk-WYGLKR4I.js} +3 -3
  104. package/dist/{chunk-MGLJA5TK.js → chunk-X3YNX4DR.js} +2 -2
  105. package/dist/{chunk-A4DAZO3U.js → chunk-X4JEAY73.js} +13 -13
  106. package/dist/{chunk-JE3SMHRZ.js → chunk-XHTRLRZ5.js} +9 -9
  107. package/dist/{chunk-UZ6L5VQJ.js → chunk-XXAHWYQU.js} +3 -3
  108. package/dist/{chunk-HKKPUUNK.js → chunk-YAG7WAQE.js} +13 -13
  109. package/dist/{chunk-KF575IXC.js → chunk-YILSSUEL.js} +3 -3
  110. package/dist/{chunk-WK3UFCZC.js → chunk-YKMOI6ZG.js} +11 -11
  111. package/dist/{chunk-TGOMHUOV.js → chunk-ZEIYC7XO.js} +12 -1
  112. package/dist/{chunk-PFG3EVRD.js → chunk-ZKNSLC35.js} +3 -3
  113. package/dist/{chunk-U7ZQTUZT.js → chunk-ZW7LTYW2.js} +4 -4
  114. package/dist/cli.cjs +144 -143
  115. package/dist/cloud-reference.d.ts +76 -0
  116. package/dist/cloud-reference.js +18 -0
  117. package/dist/completion-registry.js +24 -5
  118. package/dist/dgmo-router-2637N4DY.js +90 -0
  119. package/dist/{dimensions-PLECMFTR.js → dimensions-HSIQYP5Z.js} +5 -5
  120. package/dist/editor.js +11 -2
  121. package/dist/element.js +188 -127
  122. package/dist/element.mjs +6749 -6280
  123. package/dist/{flowchart-parser-DA3V2SLH.js → flowchart-parser-I2TEUWAP.js} +4 -4
  124. package/dist/{flowchart-renderer-UQVXOUW4.js → flowchart-renderer-ER66DNCI.js} +12 -12
  125. package/dist/highlight.js +11 -2
  126. package/dist/index.d.ts +13 -4
  127. package/dist/index.js +65 -59
  128. package/dist/{layout-UXMNKETK.js → layout-3QMCSW6B.js} +8 -7
  129. package/dist/{layout-2BJDECLZ.js → layout-DH6GSKAH.js} +7 -6
  130. package/dist/{layout-HIK4ZJFQ.js → layout-HTDK3DMG.js} +4 -4
  131. package/dist/{layout-A5UVXINF.js → layout-K4S54TX7.js} +4 -4
  132. package/dist/{layout-UFZQI6SX.js → layout-RIS5VTGL.js} +7 -6
  133. package/dist/{layout-3XFPPFXI.js → layout-TCWNJ2OZ.js} +7 -6
  134. package/dist/{layout-SNIEAZ2I.js → layout-V5X3U3WB.js} +4 -4
  135. package/dist/{layout-QRVYYYZ3.js → layout-VFUHKLTS.js} +3 -3
  136. package/dist/{layout-WDXNSQQF.js → layout-VNEBCYPX.js} +4 -4
  137. package/dist/{layout-search-I4VNIRGT.js → layout-search-N6NQI5OQ.js} +10 -9
  138. package/dist/{parser-5UZWYSIV.js → parser-2RTQF2LA.js} +4 -4
  139. package/dist/{parser-4ZIJDGPG.js → parser-2VTOUMJY.js} +4 -4
  140. package/dist/{parser-HMQZPPOK.js → parser-3M3QQRCZ.js} +4 -4
  141. package/dist/{parser-RBNOWHGM.js → parser-4WSJVVG6.js} +4 -4
  142. package/dist/{parser-Q3KNFXQR.js → parser-67JHR6I6.js} +4 -4
  143. package/dist/{parser-MH62NYKM.js → parser-6GXEHNZD.js} +4 -4
  144. package/dist/{parser-O5XCVGZG.js → parser-6I3NOLKL.js} +3 -3
  145. package/dist/{parser-6CM27UPA.js → parser-7VNCLF77.js} +4 -4
  146. package/dist/{parser-QL2LBPFE.js → parser-AE7RC4IJ.js} +4 -4
  147. package/dist/{parser-DQ2DGDYO.js → parser-BDGMJSZB.js} +3 -3
  148. package/dist/{parser-WT3DSNPQ.js → parser-BVHECXAJ.js} +4 -4
  149. package/dist/{parser-QEWSTNEJ.js → parser-FLCLHHOM.js} +4 -4
  150. package/dist/{parser-VVTCMQWY.js → parser-FSSAJO2M.js} +5 -5
  151. package/dist/{parser-73YUU35J.js → parser-GH2Y6CR4.js} +3 -3
  152. package/dist/{parser-AYZTKZC3.js → parser-GUUNA7WE.js} +3 -3
  153. package/dist/{parser-GGCDY65M.js → parser-ISJJO7TJ.js} +5 -5
  154. package/dist/parser-J3FUTZAQ.js +12 -0
  155. package/dist/{parser-Q62VR2UJ.js → parser-JY7ZU5PP.js} +5 -5
  156. package/dist/{parser-4TX6U4ZU.js → parser-KKBW25LM.js} +3 -3
  157. package/dist/{parser-XWNSCDY6.js → parser-M74SVSPT.js} +4 -4
  158. package/dist/{parser-CCAUZLYI.js → parser-MKJ52TD7.js} +4 -4
  159. package/dist/{parser-A6M25MLK.js → parser-MPQTXCBQ.js} +3 -3
  160. package/dist/{parser-LQDEU22S.js → parser-N3AAAGTA.js} +4 -4
  161. package/dist/{parser-OPOGIKFR.js → parser-N7SSE4SK.js} +4 -4
  162. package/dist/{parser-D7YZX3CH.js → parser-NH6IAVZJ.js} +3 -3
  163. package/dist/{parser-IPBEW2DG.js → parser-NKHBUGAX.js} +4 -4
  164. package/dist/{parser-PQXN6SBB.js → parser-QVX4FR3J.js} +5 -5
  165. package/dist/{parser-JWAGGYLL.js → parser-S6QH3QIK.js} +5 -5
  166. package/dist/{parser-PEBXIOPX.js → parser-UODHU3EP.js} +4 -4
  167. package/dist/{parser-LNEAHGXF.js → parser-UVS6OHCO.js} +5 -5
  168. package/dist/{parser-SJ7ECFAP.js → parser-X3TCE7P5.js} +4 -4
  169. package/dist/{parser-QN3GJJ3J.js → parser-XQKSQBOT.js} +3 -3
  170. package/dist/{parser-KTVDCWHG.js → parser-XXYB4TRG.js} +4 -4
  171. package/dist/{registry-CaSw0PSH.d.ts → registry-C0HvobTb.d.ts} +17 -0
  172. package/dist/renderer-2G7Q3L5W.js +77 -0
  173. package/dist/{renderer-I5MAFUKX.js → renderer-2IO3H53I.js} +6 -6
  174. package/dist/{renderer-M6AFKVLS.js → renderer-2KDW3TWO.js} +5 -5
  175. package/dist/{renderer-CB2DOQ2O.js → renderer-2SK7UM4O.js} +5 -5
  176. package/dist/{renderer-P7O6OUYC.js → renderer-34GG6RHO.js} +9 -9
  177. package/dist/{renderer-WWC5VGHH.js → renderer-44EXXXRC.js} +7 -7
  178. package/dist/{renderer-MLDGFZDW.js → renderer-4SH6U6WF.js} +6 -6
  179. package/dist/{renderer-53FU55KK.js → renderer-4WQRF2SK.js} +6 -6
  180. package/dist/{renderer-CL4SAUA5.js → renderer-7AVFPE3Q.js} +5 -5
  181. package/dist/{renderer-52S6JM5R.js → renderer-BA6WTWVL.js} +8 -8
  182. package/dist/{renderer-JNC6VJMN.js → renderer-BLPXBLUP.js} +7 -7
  183. package/dist/{renderer-4VLQKKTV.js → renderer-C7LFE5CB.js} +15 -15
  184. package/dist/{renderer-5CU6GYF2.js → renderer-CUXXNHFU.js} +8 -8
  185. package/dist/{renderer-TOKGYFTG.js → renderer-DRNJJNAE.js} +5 -5
  186. package/dist/{renderer-OZIPP7VF.js → renderer-DVUKHOFB.js} +11 -11
  187. package/dist/{renderer-FRBPMKPP.js → renderer-I7Q5U2TU.js} +6 -6
  188. package/dist/{renderer-SYT4L7GE.js → renderer-JIUVU3PF.js} +3 -3
  189. package/dist/{renderer-J5TL5ZX4.js → renderer-LXIIZ3BH.js} +15 -15
  190. package/dist/{renderer-5G3PORFD.js → renderer-MTX6PLPA.js} +11 -11
  191. package/dist/{renderer-IWNHBIZ6.js → renderer-NKVIQA3C.js} +4 -4
  192. package/dist/{renderer-YWYX6WAI.js → renderer-QGZ2BOJG.js} +4 -4
  193. package/dist/{renderer-O4ECS2BI.js → renderer-SL5IQJKB.js} +10 -10
  194. package/dist/{renderer-3IETIUZB.js → renderer-SL5LE7MU.js} +8 -8
  195. package/dist/{renderer-KUIZNLAQ.js → renderer-SXZBGMEH.js} +5 -5
  196. package/dist/{renderer-J5MMVCGN.js → renderer-UPANX7XK.js} +8 -8
  197. package/dist/{renderer-DZ5N6BHW.js → renderer-VDCGDJ6L.js} +5 -5
  198. package/dist/{renderer-YVCD55ZX.js → renderer-XJFRVCF6.js} +9 -9
  199. package/dist/{renderer-Q3A7572V.js → renderer-XRC5R3OP.js} +5 -5
  200. package/dist/{renderer-2NU7M5PN.js → renderer-Y64MT4JM.js} +7 -7
  201. package/dist/{renderer-CRAIC4ER.js → renderer-ZLJ5CCSO.js} +6 -6
  202. package/dist/{renderer-QRX7Q2YN.js → renderer-ZY5TXTS5.js} +6 -6
  203. package/dist/{renderer-radial-QG644QYY.js → renderer-radial-4YKK4JNW.js} +6 -6
  204. package/dist/{state-parser-NQGVYSM3.js → state-parser-3PFFJO5M.js} +5 -5
  205. package/dist/{state-renderer-NKV5B3KH.js → state-renderer-2HDVRUNG.js} +14 -14
  206. package/dist/{themes-tbBkIVsn.d.ts → themes-l406Vj2z.d.ts} +1 -1
  207. package/docs/language-reference.md +29 -0
  208. package/package.json +5 -1
  209. package/dist/chunk-BMR4CIEO.js +0 -41
  210. package/dist/dgmo-router-GSWUPLP2.js +0 -88
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Live links — the shared resolver (Diagrammo Cloud story 10.6).
3
+ *
4
+ * A live link points at a diagram living in Diagrammo Cloud instead of at bytes
5
+ * pasted into a document. The point of it is CURRENCY: a linked diagram is
6
+ * never stale, which is true for a team of one and needs no distribution to be
7
+ * worth having.
8
+ *
9
+ * There are three SPELLINGS and exactly ONE parser, because each spelling is
10
+ * native to where it gets typed:
11
+ *
12
+ * | Surface | Form |
13
+ * |------------------------|-----------------------------|
14
+ * | docs frameworks | `live-link abc123` in a fence|
15
+ * | Obsidian, desktop app | `![[live-link:abc123]]` |
16
+ * | anywhere taking a URL | the plain URL |
17
+ *
18
+ * The keyword was `cloud` until 2026-08-01 (decision #53). `cloud` named where
19
+ * the thing lives; `live-link` names what it is, and it is the publish dialog's
20
+ * own phrase, so one word now spans both sides of the exchange. Pre-1.0 there
21
+ * is no dual-accept window — `cloud abc123` simply stops resolving. The module
22
+ * and its package subpath keep the old name deliberately: renaming a subpath
23
+ * export breaks the app's `pnpm dev` while the production build stays green.
24
+ *
25
+ * 🔴 EVERY future modifier must land in all three (A9), and
26
+ * `cloud-reference.test.ts` asserts parity across the forms from ONE table so a
27
+ * modifier cannot ship into a single spelling. If you are adding a modifier and
28
+ * only touching one branch below, the tests are about to tell you so.
29
+ *
30
+ * A reference ALWAYS FLOATS — it resolves to the current revision, which is the
31
+ * whole point (a referenced diagram is never stale). A date pin (`@2026-03-12`)
32
+ * was designed and then dropped on 2026-07-30: the server retains a bounded
33
+ * number of versions and prunes on every push, so a pin would fail on exactly
34
+ * the diagrams that are edited most. Anything carrying a modifier therefore
35
+ * parses to NULL rather than silently floating — a document that asked to be
36
+ * frozen must not quietly get the latest instead.
37
+ *
38
+ * This module is deliberately dependency-free and does no I/O: it is imported by
39
+ * every wrapper and by the CLI, and a parser that reached the network would make
40
+ * each of them harder to test than the thing they are testing.
41
+ */
42
+ /** Default origin of the Cloud API. Overridable for self-host / staging / tests. */
43
+ declare const CLOUD_API_BASE = "https://api.diagrammo.app";
44
+ /** Where human-facing share links live — the URLs people actually copy. */
45
+ declare const CLOUD_APP_BASE = "https://online.diagrammo.app";
46
+ /** A parsed reference. An id, and — for now — deliberately nothing else. */
47
+ interface CloudReference {
48
+ id: string;
49
+ }
50
+ /**
51
+ * Parse any of the three spellings. Returns null for anything that is not a
52
+ * reference — callers use that to leave ordinary content alone, so this must not
53
+ * throw and must not guess.
54
+ */
55
+ declare function parseCloudReference(text: string): CloudReference | null;
56
+ /** The URL spelling, split out because hosts that only take URLs need just this. */
57
+ declare function parseCloudReferenceUrl(text: string): CloudReference | null;
58
+ interface ResolveUrlOptions {
59
+ /** Origin of the Cloud API. */
60
+ base?: string;
61
+ }
62
+ /** The URL to fetch a reference's source from. Always the current revision. */
63
+ declare function referenceSourceUrl(ref: CloudReference, options?: ResolveUrlOptions): string;
64
+ /** The human share link for a reference — what a "view this in Diagrammo" link points at. */
65
+ declare function referenceShareUrl(ref: CloudReference, options?: {
66
+ base?: string;
67
+ }): string;
68
+ /** The shape of a source response, so consumers don't re-declare it per wrapper. */
69
+ interface CloudReferenceSource {
70
+ id: string;
71
+ source: string;
72
+ dgmoVersion: string;
73
+ updatedAt: number;
74
+ }
75
+
76
+ export { CLOUD_API_BASE, CLOUD_APP_BASE, type CloudReference, type CloudReferenceSource, type ResolveUrlOptions, parseCloudReference, parseCloudReferenceUrl, referenceShareUrl, referenceSourceUrl };
@@ -0,0 +1,18 @@
1
+ import {
2
+ CLOUD_API_BASE,
3
+ CLOUD_APP_BASE,
4
+ parseCloudReference,
5
+ parseCloudReferenceUrl,
6
+ referenceShareUrl,
7
+ referenceSourceUrl
8
+ } from "./chunk-ON4MEUC4.js";
9
+ import "./chunk-5WRI5ZAA.js";
10
+ export {
11
+ CLOUD_API_BASE,
12
+ CLOUD_APP_BASE,
13
+ parseCloudReference,
14
+ parseCloudReferenceUrl,
15
+ referenceShareUrl,
16
+ referenceSourceUrl
17
+ };
18
+ //# sourceMappingURL=cloud-reference.js.map
@@ -1,21 +1,29 @@
1
1
  import {
2
2
  chartTypes
3
- } from "./chunk-TGOMHUOV.js";
3
+ } from "./chunk-ZEIYC7XO.js";
4
4
  import {
5
5
  ALL_MARKERS
6
6
  } from "./chunk-I55PVEIX.js";
7
7
  import {
8
8
  GROUP_ONLY_METADATA,
9
9
  STATE_KEYWORDS
10
- } from "./chunk-FZECLCCU.js";
11
- import "./chunk-D5FANMSG.js";
10
+ } from "./chunk-6KTRV3O5.js";
11
+ import "./chunk-3LMUMAUS.js";
12
12
  import {
13
13
  ALL_CHART_TYPES
14
- } from "./chunk-3KOPPSUQ.js";
14
+ } from "./chunk-E7HANW62.js";
15
15
  import "./chunk-EXNKNJ65.js";
16
16
  import "./chunk-OLMWTJVU.js";
17
17
  import "./chunk-5WRI5ZAA.js";
18
18
 
19
+ // src/utils/offered-types.ts
20
+ var INTERNAL_CHART_TYPE_IDS = new Set(
21
+ chartTypes.filter((c) => c.internal).map((c) => c.id)
22
+ );
23
+ function withoutInternalChartTypes(ids) {
24
+ return ids.filter((id) => !INTERNAL_CHART_TYPE_IDS.has(id));
25
+ }
26
+
19
27
  // src/completion-registry.ts
20
28
  var GLOBAL_DIRECTIVES = {
21
29
  palette: {
@@ -784,6 +792,17 @@ var COMPLETION_REGISTRY = /* @__PURE__ */ new Map([
784
792
  description: "Always fan out coincident POI markers instead of collapsing them into a count badge"
785
793
  }
786
794
  })
795
+ ],
796
+ // ── Live link (internal type) ────────────────────────────
797
+ // The type never appears in the chart-type popup, but a pointer file that is
798
+ // already open still autocompletes its one directive.
799
+ [
800
+ "live-link",
801
+ withGlobals({
802
+ url: {
803
+ description: "The published diagram this file points at \u2014 a Diagrammo link or a bare diagram id"
804
+ }
805
+ })
787
806
  ]
788
807
  ]);
789
808
  var FILL_FAMILY_CAPABLE = /* @__PURE__ */ new Set([
@@ -845,7 +864,7 @@ for (const [type, spec] of COMPLETION_REGISTRY) {
845
864
  var CHART_TYPE_DESCRIPTIONS = Object.fromEntries(
846
865
  chartTypes.map((c) => [c.id, c.description])
847
866
  );
848
- var CHART_TYPES = [...ALL_CHART_TYPES].map((name) => ({
867
+ var CHART_TYPES = withoutInternalChartTypes([...ALL_CHART_TYPES]).map((name) => ({
849
868
  name,
850
869
  description: CHART_TYPE_DESCRIPTIONS[name] ?? name
851
870
  }));
@@ -0,0 +1,90 @@
1
+ import {
2
+ CHART_TYPE_DESCRIPTIONS,
3
+ chartTypeParsers,
4
+ getAllChartTypes,
5
+ getRenderCategory,
6
+ isExtendedChartType,
7
+ knownChartTypeIds,
8
+ looksLikeC4,
9
+ looksLikeGantt,
10
+ parseDgmo,
11
+ parseDgmoChartType
12
+ } from "./chunk-2JPEBOUQ.js";
13
+ import "./chunk-TQC2SUMJ.js";
14
+ import "./chunk-LLDNNANC.js";
15
+ import "./chunk-4UNGFVVY.js";
16
+ import "./chunk-QS37VUFZ.js";
17
+ import "./chunk-2CW5ZTNH.js";
18
+ import "./chunk-BDXC7MDK.js";
19
+ import "./chunk-X3YNX4DR.js";
20
+ import "./chunk-UFDLQKCR.js";
21
+ import "./chunk-5RPSN32F.js";
22
+ import "./chunk-4CE2GOC2.js";
23
+ import "./chunk-XSVWUOUZ.js";
24
+ import "./chunk-NSUAU6JQ.js";
25
+ import "./chunk-BFYPHZ5M.js";
26
+ import "./chunk-OQKP2X3D.js";
27
+ import "./chunk-MPPOQOCF.js";
28
+ import "./chunk-A2RUBBVT.js";
29
+ import "./chunk-RB3AFVPT.js";
30
+ import "./chunk-W22JRLNA.js";
31
+ import "./chunk-RT7ACF77.js";
32
+ import "./chunk-AU4AQYOA.js";
33
+ import "./chunk-MF4FDLFG.js";
34
+ import "./chunk-QQJUTGQH.js";
35
+ import "./chunk-YILSSUEL.js";
36
+ import "./chunk-3DY7TNZ7.js";
37
+ import "./chunk-B4U7RRQ4.js";
38
+ import "./chunk-DWAQXY6T.js";
39
+ import "./chunk-ATKB7VEN.js";
40
+ import "./chunk-KNCY7YHC.js";
41
+ import "./chunk-HUYAMTCD.js";
42
+ import "./chunk-PH5WK6G5.js";
43
+ import "./chunk-HXTS54OV.js";
44
+ import "./chunk-OMOU2V3W.js";
45
+ import "./chunk-52KLHCXQ.js";
46
+ import "./chunk-NYCBN7YE.js";
47
+ import "./chunk-W6T5QRIR.js";
48
+ import "./chunk-2UBTPFIF.js";
49
+ import "./chunk-C3Z4DX3V.js";
50
+ import "./chunk-RDHZRHDG.js";
51
+ import "./chunk-7TF3QOOD.js";
52
+ import "./chunk-WQWVLAA5.js";
53
+ import "./chunk-NXMESY4J.js";
54
+ import "./chunk-WYGLKR4I.js";
55
+ import "./chunk-7SGR7A5K.js";
56
+ import "./chunk-6JYE3SDK.js";
57
+ import "./chunk-7NK42OIB.js";
58
+ import "./chunk-RRX4Z4TH.js";
59
+ import "./chunk-ZKNSLC35.js";
60
+ import "./chunk-NW2K6UU2.js";
61
+ import "./chunk-IYULMRBE.js";
62
+ import "./chunk-KAG5JCZV.js";
63
+ import "./chunk-3TYUXC7D.js";
64
+ import "./chunk-EQW6HOP4.js";
65
+ import "./chunk-DAOFNU6J.js";
66
+ import "./chunk-NOTA6TEI.js";
67
+ import "./chunk-ZEIYC7XO.js";
68
+ import "./chunk-I55PVEIX.js";
69
+ import "./chunk-6KTRV3O5.js";
70
+ import "./chunk-3LMUMAUS.js";
71
+ import "./chunk-E7HANW62.js";
72
+ import "./chunk-ON4MEUC4.js";
73
+ import "./chunk-R3XI2VC7.js";
74
+ import "./chunk-42IT4BG2.js";
75
+ import "./chunk-EXNKNJ65.js";
76
+ import "./chunk-OLMWTJVU.js";
77
+ import "./chunk-5WRI5ZAA.js";
78
+ export {
79
+ CHART_TYPE_DESCRIPTIONS,
80
+ chartTypeParsers,
81
+ getAllChartTypes,
82
+ getRenderCategory,
83
+ isExtendedChartType,
84
+ knownChartTypeIds,
85
+ looksLikeC4,
86
+ looksLikeGantt,
87
+ parseDgmo,
88
+ parseDgmoChartType
89
+ };
90
+ //# sourceMappingURL=dgmo-router-2637N4DY.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  mapContentAspect,
3
3
  mapExportDimensions
4
- } from "./chunk-YWPWRR7W.js";
5
- import "./chunk-U7ZQTUZT.js";
4
+ } from "./chunk-UPTAWSCG.js";
5
+ import "./chunk-ZW7LTYW2.js";
6
6
  import "./chunk-4QV26TEG.js";
7
7
  import "./chunk-VHO3YBTB.js";
8
8
  import "./chunk-ES66QH6J.js";
9
9
  import "./chunk-A4GOY3PE.js";
10
+ import "./chunk-3LMUMAUS.js";
11
+ import "./chunk-E7HANW62.js";
10
12
  import "./chunk-SCJ7CAJF.js";
11
13
  import "./chunk-4ASYQ347.js";
12
14
  import "./chunk-42IT4BG2.js";
13
- import "./chunk-D5FANMSG.js";
14
- import "./chunk-3KOPPSUQ.js";
15
15
  import "./chunk-EXNKNJ65.js";
16
16
  import "./chunk-OLMWTJVU.js";
17
17
  import "./chunk-5WRI5ZAA.js";
@@ -19,4 +19,4 @@ export {
19
19
  mapContentAspect,
20
20
  mapExportDimensions
21
21
  };
22
- //# sourceMappingURL=dimensions-PLECMFTR.js.map
22
+ //# sourceMappingURL=dimensions-HSIQYP5Z.js.map
package/dist/editor.js CHANGED
@@ -375,7 +375,14 @@ var DIRECTIVES_REGISTRY = [
375
375
  { token: "no-rounds", category: "modifier" },
376
376
  { token: "single-elim", category: "modifier" },
377
377
  { token: "double-elim", category: "modifier" },
378
- { token: "seeded", category: "modifier" }
378
+ { token: "seeded", category: "modifier" },
379
+ // ── Live link (§38) ──────────────────────────────────────
380
+ // The pointer type's one directive. Registered so it highlights and
381
+ // autocompletes like `palette` does — §38 justifies the shape by calling it
382
+ // "the ordinary DGMO directive shape", and an unregistered `url` would make
383
+ // that sentence false in the editor: `editor/tokens.ts` specializes only
384
+ // against the keyword registries, so it would render as plain identifier text.
385
+ { token: "url", category: "directive" }
379
386
  ];
380
387
  function tokensWhere(pred) {
381
388
  const out = /* @__PURE__ */ new Set();
@@ -470,7 +477,9 @@ var CHART_TYPES = /* @__PURE__ */ new Set([
470
477
  "venn",
471
478
  "quadrant",
472
479
  "map",
473
- "body"
480
+ "body",
481
+ // Pointer type — internal, but it must still highlight when one is open
482
+ "live-link"
474
483
  ]);
475
484
  var METADATA_KEYS = /* @__PURE__ */ new Set([
476
485
  "title",