agentic-mermaid 0.4.1 → 0.5.3

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 (253) hide show
  1. package/AGENT_NATIVE.md +94 -627
  2. package/CHANGELOG.md +651 -0
  3. package/Instructions_for_agents.md +44 -23
  4. package/LICENSES/Khroma-MIT.txt +21 -0
  5. package/LICENSES/Mermaid-MIT.txt +21 -0
  6. package/LICENSES/es-toolkit-MIT.txt +21 -0
  7. package/LICENSES/pele-MIT.txt +40 -0
  8. package/LICENSES/zenuml-core-MIT.txt +21 -0
  9. package/README.md +93 -50
  10. package/SECURITY.md +28 -12
  11. package/THIRD_PARTY_NOTICES.md +60 -0
  12. package/assets/hero.png +0 -0
  13. package/dist/agent-core.d.ts +478 -210
  14. package/dist/agent-core.js +1 -396
  15. package/dist/agent.d.ts +17 -8
  16. package/dist/agent.js +1 -408
  17. package/dist/agentic-mermaid-mcp.js +1 -11
  18. package/dist/am.js +1 -34562
  19. package/dist/browser-lazy/chunks/agentic-producer-core-CC6OOLDW.js +1 -0
  20. package/dist/browser-lazy/chunks/architecture-QUFVKYJR.js +13 -0
  21. package/dist/browser-lazy/chunks/block-6J3Q63BO.js +11 -0
  22. package/dist/browser-lazy/chunks/builtin-backends-7SOZZHPF.js +12 -0
  23. package/dist/browser-lazy/chunks/c4-SQVBZAKJ.js +10 -0
  24. package/dist/browser-lazy/chunks/chunk-2GPK4VFF.js +5 -0
  25. package/dist/browser-lazy/chunks/chunk-2I4UPL7Q.js +3 -0
  26. package/dist/browser-lazy/chunks/chunk-2SH76OTH.js +1 -0
  27. package/dist/browser-lazy/chunks/chunk-2UIA2IME.js +3 -0
  28. package/dist/browser-lazy/chunks/chunk-4LHYF3BS.js +1 -0
  29. package/dist/browser-lazy/chunks/chunk-5B2Z7575.js +1 -0
  30. package/dist/browser-lazy/chunks/chunk-5FQ534HP.js +1 -0
  31. package/dist/browser-lazy/chunks/chunk-5UVGUSD6.js +1 -0
  32. package/dist/browser-lazy/chunks/chunk-5X6MJX3H.js +1 -0
  33. package/dist/browser-lazy/chunks/chunk-AMJLVPUB.js +4 -0
  34. package/dist/browser-lazy/chunks/chunk-BU5LHXNJ.js +3 -0
  35. package/dist/browser-lazy/chunks/chunk-BY2CPG6B.js +1 -0
  36. package/dist/browser-lazy/chunks/chunk-CN7WTBWB.js +1 -0
  37. package/dist/browser-lazy/chunks/chunk-CQE4HQEW.js +1 -0
  38. package/dist/browser-lazy/chunks/chunk-CSFUKSU6.js +1 -0
  39. package/dist/browser-lazy/chunks/chunk-DF6765YX.js +17 -0
  40. package/dist/browser-lazy/chunks/chunk-E2WMJZNM.js +1 -0
  41. package/dist/browser-lazy/chunks/chunk-FAIMVOX5.js +6 -0
  42. package/dist/browser-lazy/chunks/chunk-GVOEAY52.js +1 -0
  43. package/dist/browser-lazy/chunks/chunk-HLWUNUCM.js +1 -0
  44. package/dist/browser-lazy/chunks/chunk-ICC7HBJX.js +1 -0
  45. package/dist/browser-lazy/chunks/chunk-J35HAQQF.js +20 -0
  46. package/dist/browser-lazy/chunks/chunk-J7FFAFQF.js +1 -0
  47. package/dist/browser-lazy/chunks/chunk-LH7HUDKW.js +1 -0
  48. package/dist/browser-lazy/chunks/chunk-N5ELX7LR.js +2 -0
  49. package/dist/browser-lazy/chunks/chunk-NMQQMRIR.js +1 -0
  50. package/dist/browser-lazy/chunks/chunk-NO7ZIVRU.js +1 -0
  51. package/dist/browser-lazy/chunks/chunk-OZ443IVJ.js +16 -0
  52. package/dist/browser-lazy/chunks/chunk-PQGPS2YV.js +7 -0
  53. package/dist/browser-lazy/chunks/chunk-QA6GJQ4X.js +1 -0
  54. package/dist/browser-lazy/chunks/chunk-RIVTHZAQ.js +1 -0
  55. package/dist/browser-lazy/chunks/chunk-SZELX2EJ.js +1 -0
  56. package/dist/browser-lazy/chunks/chunk-TYZOZXUJ.js +22 -0
  57. package/dist/browser-lazy/chunks/chunk-UL6NDWLL.js +1 -0
  58. package/dist/browser-lazy/chunks/chunk-VQYYGAXP.js +1 -0
  59. package/dist/browser-lazy/chunks/chunk-VWVZGQE2.js +1 -0
  60. package/dist/browser-lazy/chunks/chunk-X2UYKWKM.js +4 -0
  61. package/dist/browser-lazy/chunks/chunk-YCEICNM6.js +1 -0
  62. package/dist/browser-lazy/chunks/chunk-Z3FDIVLN.js +20 -0
  63. package/dist/browser-lazy/chunks/class-5QA4SCTS.js +13 -0
  64. package/dist/browser-lazy/chunks/decode-63UIZGD2.js +1 -0
  65. package/dist/browser-lazy/chunks/elk.bundled-L4CADV5W.js +24 -0
  66. package/dist/browser-lazy/chunks/er-7ZSKGN7Y.js +11 -0
  67. package/dist/browser-lazy/chunks/eventmodeling-2BPLHWRN.js +19 -0
  68. package/dist/browser-lazy/chunks/flowchart-NEIMZTB5.js +4 -0
  69. package/dist/browser-lazy/chunks/forest-implementation-AEP24AIP.js +1 -0
  70. package/dist/browser-lazy/chunks/gantt-RDPIFYAF.js +11 -0
  71. package/dist/browser-lazy/chunks/gitgraph-N4Y5RYB7.js +9 -0
  72. package/dist/browser-lazy/chunks/ishikawa-LD3YBDJN.js +6 -0
  73. package/dist/browser-lazy/chunks/journey-6YQR5DJX.js +16 -0
  74. package/dist/browser-lazy/chunks/kanban-PLMJ7NBW.js +20 -0
  75. package/dist/browser-lazy/chunks/mermaid-yaml-runtime-QVYX4EWK.js +136 -0
  76. package/dist/browser-lazy/chunks/mindmap-K2UBFO3Y.js +12 -0
  77. package/dist/browser-lazy/chunks/packet-CUW4QY6Y.js +7 -0
  78. package/dist/browser-lazy/chunks/pie-7F7UUCG3.js +15 -0
  79. package/dist/browser-lazy/chunks/quadrant-TOONO2WC.js +10 -0
  80. package/dist/browser-lazy/chunks/radar-J6JVWVAX.js +16 -0
  81. package/dist/browser-lazy/chunks/render-core-BZOM3K7D.js +3 -0
  82. package/dist/browser-lazy/chunks/requirement-CMAKDJPO.js +19 -0
  83. package/dist/browser-lazy/chunks/sankey-AWXQEP3F.js +13 -0
  84. package/dist/browser-lazy/chunks/sequence-Q2RJRB4L.js +5 -0
  85. package/dist/browser-lazy/chunks/state-WRBFQEDX.js +4 -0
  86. package/dist/browser-lazy/chunks/timeline-D2KILFXM.js +6 -0
  87. package/dist/browser-lazy/chunks/treemap-N3VYX5D4.js +6 -0
  88. package/dist/browser-lazy/chunks/xychart-G73OGK66.js +16 -0
  89. package/dist/browser-lazy/chunks/zenuml-H4BXNYXR.js +16 -0
  90. package/dist/browser-lazy/index.d.ts +544 -275
  91. package/dist/browser-lazy/index.js +1 -1
  92. package/dist/browser.global.js +802 -565
  93. package/dist/chunk-3LGLPG33.js +2 -0
  94. package/dist/chunk-7CRDX2QR.js +2 -0
  95. package/dist/chunk-7PPW2BMO.js +2 -0
  96. package/dist/chunk-DQDKA5ND.js +2 -0
  97. package/dist/chunk-EHCMJUMD.js +52 -0
  98. package/dist/chunk-GVCHLSHH.js +4 -0
  99. package/dist/chunk-H3NCS2XZ.js +19 -0
  100. package/dist/chunk-JZOJ4YGS.js +201 -0
  101. package/dist/chunk-MKE7GNYU.js +146 -0
  102. package/dist/chunk-NKNFOREZ.js +2 -0
  103. package/dist/chunk-O7H2UX5K.js +2 -0
  104. package/dist/chunk-OMY6NRQD.js +58 -0
  105. package/dist/chunk-UA234O4M.js +4 -0
  106. package/dist/chunk-VUFVLGTH.js +2 -0
  107. package/dist/chunk-XU5LPD2D.js +2 -0
  108. package/dist/cli-YGGTJZH7.js +226 -0
  109. package/dist/elk-constructor.js +2 -0
  110. package/dist/elk-constructor.node.js +11 -0
  111. package/dist/index-EeXqJXr5.d.ts +1223 -0
  112. package/dist/index.d.ts +4 -1
  113. package/dist/index.js +1 -334
  114. package/dist/jsonl-RPJY6YWO.js +2 -0
  115. package/dist/mcp-cli-63DYXTVD.js +2 -0
  116. package/dist/{index-BGA_-6LV.d.ts → paint-certification-6rwQjIv_.d.ts} +5283 -6173
  117. package/dist/server-5NEOHOFS.js +524 -0
  118. package/dist/svg-styles-BdnoM7AT.d.ts +724 -0
  119. package/dist/svg-styles.d.ts +1 -0
  120. package/dist/svg-styles.js +2 -0
  121. package/dist/svg.d.ts +13 -0
  122. package/dist/svg.js +2 -0
  123. package/dist/types-BcS52Mjt.d.ts +1360 -0
  124. package/dist/zenuml/chunks/appearance-UOQ5KA6O.js +1 -0
  125. package/dist/zenuml/chunks/builtin-backends-KDKE7YHO.js +12 -0
  126. package/dist/zenuml/chunks/chunk-42DXZ5C6.js +4 -0
  127. package/dist/zenuml/chunks/chunk-7TVYPTDW.js +1 -0
  128. package/dist/zenuml/chunks/chunk-EVPSMEKN.js +1 -0
  129. package/dist/zenuml/chunks/chunk-OXQWRSBM.js +20 -0
  130. package/dist/zenuml/chunks/chunk-QWX77U7G.js +2 -0
  131. package/dist/zenuml/chunks/chunk-RLJEI7YN.js +29 -0
  132. package/dist/zenuml/chunks/chunk-RZ6XK5CD.js +29 -0
  133. package/dist/zenuml/chunks/decode-BWERFDGK.js +1 -0
  134. package/dist/zenuml/chunks/mermaid-yaml-runtime-KZVU74WU.js +136 -0
  135. package/dist/zenuml/chunks/render-core-V5RQ737O.js +3 -0
  136. package/dist/zenuml/chunks/zenuml-EA2ZFRUX.js +20 -0
  137. package/dist/zenuml-frame.global.js +3626 -0
  138. package/dist/zenuml.d.ts +83 -0
  139. package/dist/zenuml.js +1 -0
  140. package/docs/MCP-DIRECTORY-LISTINGS.md +5 -1
  141. package/docs/README.md +59 -103
  142. package/docs/agent-api-cookbook.md +26 -16
  143. package/docs/agent-mutation-policy.md +86 -15
  144. package/docs/agent-workflow-examples.md +1 -1
  145. package/docs/api-advanced.md +385 -0
  146. package/docs/api.md +320 -366
  147. package/docs/ascii.md +40 -4
  148. package/docs/browser.md +46 -7
  149. package/docs/choosing-a-diagram.md +148 -0
  150. package/docs/code-mode-impact.md +1 -0
  151. package/docs/comparison.md +244 -28
  152. package/docs/computational-aesthetics-prototype-plan.md +10 -10
  153. package/docs/config.md +60 -2
  154. package/docs/custom-fonts.md +78 -21
  155. package/docs/diagram-families.md +160 -10
  156. package/docs/eventmodeling-and-zenuml.md +165 -0
  157. package/docs/features.md +21 -19
  158. package/docs/fork-differences.md +105 -32
  159. package/docs/getting-started.md +56 -51
  160. package/docs/layout-certification.md +126 -0
  161. package/docs/mcp-code-mode-rationale.md +20 -12
  162. package/docs/mcp-http-transport.md +14 -8
  163. package/docs/quality.md +145 -15
  164. package/docs/react.md +76 -31
  165. package/docs/style-authoring.md +23 -11
  166. package/docs/svg-semantic-contract.md +104 -4
  167. package/docs/testing-strategy.md +684 -126
  168. package/docs/theming.md +27 -8
  169. package/examples/styles/readme-hero.md +25 -0
  170. package/examples/styles/readme-hero.mmd +13 -0
  171. package/examples/styles/readme-hero.style.json +7 -0
  172. package/package.json +114 -57
  173. package/server.json +2 -2
  174. package/skills/agentic-mermaid-diagram-workflow/SKILL.md +26 -8
  175. package/skills/agentic-mermaid-diagram-workflow/references/cli.md +13 -3
  176. package/skills/agentic-mermaid-diagram-workflow/references/code-mode.md +2 -1
  177. package/skills/agentic-mermaid-diagram-workflow/references/flowchart.md +9 -6
  178. package/skills/agentic-mermaid-diagram-workflow/references/hosted-mcp.md +1 -0
  179. package/skills/agentic-mermaid-diagram-workflow/references/sequence.md +4 -3
  180. package/skills/agentic-mermaid-diagram-workflow/references/timeline.md +7 -6
  181. package/skills/agentic-mermaid-diagram-workflow/references/upstream/agentflow.md +574 -0
  182. package/skills/agentic-mermaid-diagram-workflow/references/upstream/architecture.md +10 -2
  183. package/skills/agentic-mermaid-diagram-workflow/references/upstream/c4.md +18 -0
  184. package/skills/agentic-mermaid-diagram-workflow/references/upstream/classDiagram.md +123 -0
  185. package/skills/agentic-mermaid-diagram-workflow/references/upstream/cynefin.md +6 -1
  186. package/skills/agentic-mermaid-diagram-workflow/references/upstream/entityRelationshipDiagram.md +129 -9
  187. package/skills/agentic-mermaid-diagram-workflow/references/upstream/eventmodeling.md +22 -0
  188. package/skills/agentic-mermaid-diagram-workflow/references/upstream/flowchart.md +188 -60
  189. package/skills/agentic-mermaid-diagram-workflow/references/upstream/gitgraph.md +13 -7
  190. package/skills/agentic-mermaid-diagram-workflow/references/upstream/mindmap.md +110 -1
  191. package/skills/agentic-mermaid-diagram-workflow/references/upstream/packet.md +38 -0
  192. package/skills/agentic-mermaid-diagram-workflow/references/upstream/requirementDiagram.md +115 -0
  193. package/skills/agentic-mermaid-diagram-workflow/references/upstream/sequenceDiagram.md +101 -0
  194. package/skills/agentic-mermaid-diagram-workflow/references/upstream/stateDiagram.md +87 -0
  195. package/skills/agentic-mermaid-diagram-workflow/references/upstream/swimlanes.md +105 -2
  196. package/skills/agentic-mermaid-diagram-workflow/references/upstream/timeline.md +12 -6
  197. package/skills/agentic-mermaid-diagram-workflow/references/upstream/usecase.md +953 -0
  198. package/skills/agentic-mermaid-diagram-workflow/references/upstream/venn.md +77 -0
  199. package/skills/agentic-mermaid-diagram-workflow/references/upstream/xyChart.md +1 -1
  200. package/dist/browser-lazy/chunks/architecture-KTHE2HX3.js +0 -31
  201. package/dist/browser-lazy/chunks/chunk-2XCPFAD5.js +0 -46
  202. package/dist/browser-lazy/chunks/chunk-3H4F7RBT.js +0 -1
  203. package/dist/browser-lazy/chunks/chunk-4EVLW2NJ.js +0 -1
  204. package/dist/browser-lazy/chunks/chunk-5Q4S74UO.js +0 -1
  205. package/dist/browser-lazy/chunks/chunk-6OAPWSDO.js +0 -1
  206. package/dist/browser-lazy/chunks/chunk-A7L4WWVW.js +0 -143
  207. package/dist/browser-lazy/chunks/chunk-C7FJO2I3.js +0 -4
  208. package/dist/browser-lazy/chunks/chunk-D3XXDKIO.js +0 -1
  209. package/dist/browser-lazy/chunks/chunk-DXA5WL7H.js +0 -4
  210. package/dist/browser-lazy/chunks/chunk-EPFMQPXX.js +0 -1
  211. package/dist/browser-lazy/chunks/chunk-FFOHLPDA.js +0 -2
  212. package/dist/browser-lazy/chunks/chunk-FLD63DXE.js +0 -2
  213. package/dist/browser-lazy/chunks/chunk-G6OLSHRG.js +0 -7
  214. package/dist/browser-lazy/chunks/chunk-GRXCKTHX.js +0 -0
  215. package/dist/browser-lazy/chunks/chunk-I6VE56S7.js +0 -1
  216. package/dist/browser-lazy/chunks/chunk-KJVNXJ5Y.js +0 -1
  217. package/dist/browser-lazy/chunks/chunk-L227EPFP.js +0 -11
  218. package/dist/browser-lazy/chunks/chunk-LNIHDJSF.js +0 -1
  219. package/dist/browser-lazy/chunks/chunk-M6BT2HIP.js +0 -1
  220. package/dist/browser-lazy/chunks/chunk-NZRUMODH.js +0 -1
  221. package/dist/browser-lazy/chunks/chunk-OFRMKQA6.js +0 -1
  222. package/dist/browser-lazy/chunks/chunk-P7HMSKHJ.js +0 -1
  223. package/dist/browser-lazy/chunks/chunk-PXKL3O6H.js +0 -1
  224. package/dist/browser-lazy/chunks/chunk-PZEWZT35.js +0 -1
  225. package/dist/browser-lazy/chunks/chunk-STQRDZ67.js +0 -1
  226. package/dist/browser-lazy/chunks/chunk-SUFMSWTX.js +0 -1
  227. package/dist/browser-lazy/chunks/chunk-T7IJ6V4B.js +0 -3
  228. package/dist/browser-lazy/chunks/chunk-UAEZO5VL.js +0 -1
  229. package/dist/browser-lazy/chunks/chunk-WEUWIFG3.js +0 -1
  230. package/dist/browser-lazy/chunks/chunk-X64T74C5.js +0 -24
  231. package/dist/browser-lazy/chunks/class-F7R6TJ73.js +0 -9
  232. package/dist/browser-lazy/chunks/er-BDK7CM5L.js +0 -9
  233. package/dist/browser-lazy/chunks/flowchart-KFU6XV7S.js +0 -4
  234. package/dist/browser-lazy/chunks/gantt-I64VVDSP.js +0 -28
  235. package/dist/browser-lazy/chunks/gitgraph-EDUVJ5IJ.js +0 -8
  236. package/dist/browser-lazy/chunks/journey-TLO2RNM3.js +0 -40
  237. package/dist/browser-lazy/chunks/mindmap-OJCNDYPM.js +0 -9
  238. package/dist/browser-lazy/chunks/pie-HVG6XO7K.js +0 -19
  239. package/dist/browser-lazy/chunks/quadrant-U6S2L4MJ.js +0 -24
  240. package/dist/browser-lazy/chunks/radar-ZDLOBTVG.js +0 -32
  241. package/dist/browser-lazy/chunks/render-core-Y2DFNMQG.js +0 -12
  242. package/dist/browser-lazy/chunks/sequence-Z4WFS3VB.js +0 -12
  243. package/dist/browser-lazy/chunks/state-2HV2YGN3.js +0 -4
  244. package/dist/browser-lazy/chunks/timeline-XM4UFPOC.js +0 -20
  245. package/dist/browser-lazy/chunks/xychart-7JDHWTQY.js +0 -36
  246. package/dist/chunk-GGXCNCNA.js +0 -4118
  247. package/dist/chunk-IVD4NXNE.js +0 -615
  248. package/dist/chunk-JDMRPUAG.js +0 -37
  249. package/dist/chunk-JWAAW3FH.js +0 -149
  250. package/dist/chunk-LCGBT32P.js +0 -62036
  251. package/dist/chunk-RWMZRUIC.js +0 -4715
  252. package/dist/mcp-cli-4MLKC3ZH.js +0 -17
  253. package/docs/mutation-testing.md +0 -285
@@ -1,66 +1,129 @@
1
- import { P as ParsedDiagram, d7 as Result, cl as ParseError, es as ValidDiagramPayload, eq as ValidDiagram, aP as ExtensionDiagramBody, c5 as MutationError, fV as Direction, bv as FlowchartMutationOp, bw as FlowchartValidDiagram, dP as StateMutationOp, dS as StateValidDiagram, dE as SequenceMutationOp, dG as SequenceValidDiagram, ee as TimelineMutationOp, eh as TimelineValidDiagram, a7 as ClassMutationOp, ac as ClassValidDiagram, aL as ErMutationOp, aN as ErValidDiagram, bM as JourneyMutationOp, bP as JourneyValidDiagram, n as ArchitectureMutationOp, q as ArchitectureValidDiagram, eD as XyChartMutationOp, eF as XyChartValidDiagram, co as PieMutationOp, cq as PieValidDiagram, cJ as QuadrantMutationOp, cL as QuadrantValidDiagram, bB as GanttMutationOp, bE as GanttValidDiagram, c2 as MindmapMutationOp, c3 as MindmapValidDiagram, bG as GitGraphMutationOp, bH as GitGraphValidDiagram, cV as RadarMutationOp, cW as RadarValidDiagram, aA as DiagramKind, f as AnyMutationOp, c4 as MutableValidDiagram, fW as MermaidEdge, eu as VerifyResult, et as VerifyOptions, d0 as RenderedLayout, bQ as LayoutRouteCertificate, bd as FamilyConformanceReport, bf as FamilyDescriptor, bi as FamilyId, fX as PositionedDiagram, bm as FamilyPositionedProjectionOptions, bn as FamilyPositionedView, d4 as RenderedRegionKind, fY as TerminalProjectionDiagnosticCode, D as DiagramActionRecord, A as AsciiRenderOptions, ay as DiagramAnalysis, R as RenderOptions, b as RenderRequestReceipt, fZ as renderMermaidASCII$1, c$ as RenderedAscii, f_ as renderMermaidSVG$1, f$ as RenderedSvg } from './index-BGA_-6LV.js';
2
- export { e as Accessibility, g as AnyPort, h as ArchitectureBody, i as ArchitectureEdge, j as ArchitectureEndpoint, k as ArchitectureEndpointBoundary, l as ArchitectureGroup, m as ArchitectureJunction, o as ArchitectureService, p as ArchitectureSide, r as ArchitectureVisualOverrides, s as AsciiRenderColorMode, t as AsciiWidthError, u as AsciiWidthErrorReason, B as BACKEND_CONFORMANCE_CHECK_IDS, v as BACKEND_CONFORMANCE_FIXTURE_ID, w as BACKEND_CONFORMANCE_VERSION, x as BINDABLE_ROLE_STYLE_PROPERTIES, y as BINDABLE_SCENE_ROLES, z as BRAND_CONSTRAINT_DESCRIPTORS, C as BRAND_CONSTRAINT_KINDS, E as BUILTIN_FAMILY_METADATA, F as BUILTIN_FAMILY_METADATA_COVERS_DIAGRAM_KIND, G as BUILTIN_SCENE_ROLE_TRAITS, I as BackendCapabilityConformanceResult, J as BackendCapabilityConformanceStatus, K as BackendConformanceCheck, L as BackendConformanceCheckId, M as BackendConformanceReport, N as BackendDescriptor, O as BackendRegistrationOptions, Q as BindableSceneRole, S as BrandConstraint, T as BrandConstraintAction, U as BrandConstraintKind, V as BuiltinFamilyId, W as BuiltinFamilyMetadata, X as CAPABILITY_NEGOTIATION_VERSION, Y as CORE_CAPABILITY_OFFERS, Z as CORE_SCENE_FEATURES, _ as CORE_SCENE_OPERATIONS, $ as CORE_SCENE_PRIMITIVES, a0 as CapabilityDecision, a1 as CapabilityId, a2 as CapabilityOffer, a3 as CapabilityRequirement, a4 as CapabilityRequirementLevel, a5 as CapabilityResolution, a6 as ClassBody, a8 as ClassNode, a9 as ClassNote, aa as ClassRelation, ab as ClassRelationKind, ad as CliRenderTransport, ae as CodeModeRenderTransport, af as ConnectorContourSemantics, ag as ConnectorEndpoints, ah as ConnectorGeometry, ai as ConnectorHitGeometry, aj as ConnectorLabelDescriptor, ak as ConnectorMark, al as ConnectorRelationship, am as ConnectorRoute, an as ConnectorStroke, ao as ConnectorSubpath, ap as ConnectorTerminalLabelProjection, aq as ConnectorTerminalMarkerPlacement, ar as ConnectorTerminalMarkerProjection, as as ConnectorTerminalProjection, at as ConnectorTerminalStrokeLoss, au as DEFAULT_LABEL_CHAR_CAP, av as DefaultBackend, aw as DiagramActionKind, ax as DiagramActionSecurity, az as DiagramBody, aB as DiamondFacet, aC as EXACT_ROLE_STYLE_CONTRACT, aD as EXACT_STYLE_SCENE_ROLES, aE as EXTERNAL_SCENE_API_VERSION, aF as EdgeId, aG as EdgeRouteCertificate, aH as ErAttribute, aI as ErBody, aJ as ErCardinality, aK as ErEntity, aM as ErRelation, aO as ExactStyleSceneRole, aQ as ExtensionIdentity, aR as ExtensionValidDiagram, aS as ExternalFamilyId, aT as ExternalSceneConnector, aU as ExternalSceneConnectorGeometry, aV as ExternalSceneConnectorLabel, aW as ExternalSceneContainer, aX as ExternalSceneDataMark, aY as ExternalSceneDocument, aZ as ExternalSceneGeometry, a_ as ExternalSceneInput, a$ as ExternalSceneMarker, b0 as ExternalSceneNode, b1 as ExternalSceneNodeBase, b2 as ExternalSceneShape, b3 as ExternalSceneText, b4 as ExtractedLabel, b5 as FAMILY_CAPABILITY_COLUMNS, b6 as FAMILY_CONFORMANCE_MAX_EXAMPLE_BYTES, b7 as FAMILY_CONFORMANCE_VERSION, b8 as FAMILY_DESCRIPTOR_CONTRACT_VERSION, b9 as FamilyCapability, ba as FamilyCapabilityConformanceResult, bb as FamilyCapabilityEvidence, bc as FamilyCapabilityState, be as FamilyConformanceStatus, bg as FamilyDetectionDiagnostic, bh as FamilyEdgeRouteCertificate, bj as FamilyOperations, bk as FamilyParsedBody, bl as FamilyPositionedProjectionContext, bo as FamilyRouteCertificate, bp as FamilyScenePositivePrimitive, bq as FamilyScenePrimitiveApplicability, br as FamilyScenePrimitiveEvidence, bs as FamilySceneRolePrimitiveDeclaration, bt as FeedbackEdgeAnalysis, bu as Finite, bx as GanttBody, by as GanttBodySection, bz as GanttBodyTask, bA as GanttBodyTaskTag, bC as GanttScheduleAnalysisSummary, bD as GanttStatement, bF as GitGraphBody, bI as GroupId, bJ as HOSTED_FONT_RESOURCES, H as HostBackendPolicy, bK as InitDirective, bL as JourneyBody, bN as JourneySection, bO as JourneyTask, bR as LayoutRouteClass, bS as LayoutWarning, bT as LibraryRenderTransport, bU as MAX_HOSTED_PNG_BYTES, bV as MAX_HOSTED_PNG_PIXELS, bW as MAX_PNG_FONT_DIRECTORIES, bX as MAX_PNG_FONT_DIRECTORY_LENGTH, bY as MAX_PNG_PIXELS, bZ as MAX_PNG_RASTER_DIMENSION, b_ as MarkerDescriptor, b$ as MermaidFamilyClassification, c0 as MermaidFamilyDetectionError, c1 as MindmapBody, c6 as NATIVE_PNG_HOST_ONLY_OPTION_FIELDS, c7 as NATIVE_PNG_OUTPUT_POLICY_FIELDS, c8 as NativePngHostOnlyOptionField, c9 as NativePngOutputPolicyField, ca as NodeId, cb as PNG_DEFAULT_FONT_FAMILY, cc as PNG_DEFAULT_SCALE, cd as PNG_FONT_SOURCES, ce as PNG_NAPI_RUNTIME, cf as PNG_OUTPUT_OPTION_FIELDS, cg as PNG_OUTPUT_OPTION_FIELD_DESCRIPTORS, ch as PNG_OUTPUT_POLICY_VERSION, ci as PNG_WASM_RUNTIME, cj as PORTABLE_PNG_OUTPUT_OPTION_FIELDS, ck as PRIMITIVE_REALIZATIONS, cm as ParticipantId, cn as PieBody, cp as PieSlice, cr as PngFitTo, cs as PngFontSource, ct as PngOutputOptionField, cu as PngOutputOptionFieldDescriptor, cv as PngOutputOptionInputKind, cw as PngOutputOptionPolicyState, cx as PngOutputOptionReceiptState, cy as PngOutputOptionScope, a as PngOutputPolicyInput, cz as PngRasterDimensions, c as PngRuntimeProvenance, cA as PortSemanticRole, cB as PortSide, cC as PortablePngOutputOptionField, cD as PortablePngOutputOptions, cE as PreservedDiagramBody, cF as PreservedSourceSpans, cG as PreservedValidDiagram, cH as QuadrantAxis, cI as QuadrantBody, cK as QuadrantPoint, cM as RENDER_CONTRACT_VERSION, cN as RENDER_OUTPUTS, cO as RENDER_OUTPUT_DESCRIPTORS, cP as RESOURCE_MANIFEST, cQ as RESOURCE_MANIFEST_VERSION, cR as ROLE_STYLE_PROPERTY_DESCRIPTORS, cS as RadarBody, cT as RadarBodyAxis, cU as RadarBodyCurve, cX as RegionContainmentCertificate, cY as RenderCapabilityError, cZ as RenderOutputDescriptor, c_ as RenderOutputTransports, d1 as RenderedLayoutEdge, d2 as RenderedLayoutGroup, d3 as RenderedLayoutNode, d as RenderedRegion, d5 as ResolvedPngOutputPolicy, d6 as ResolvedTerminalOutputPolicy, d8 as RoleStyleFor, d9 as RoleStyleSpec, da as RoleStyles, db as RouteBlocker, dc as RouteCertificate, dd as RouteClass, de as RoutePortAssignment, df as SCENE_CONTRACT_VERSION, dg as SCENE_ROLE_DESCRIPTORS, dh as SCENE_VALIDATION_LIMITS, di as SCENE_VALIDATION_VERSION, dj as SEMANTIC_BINDING_CHANNELS, dk as SHARED_RENDER_OPTION_FIELDS, dl as STYLE_COLOR_TOKEN_DESCRIPTORS, dm as STYLE_SPEC_FIELD_DESCRIPTORS, dn as STYLE_SPEC_FORMAT_VERSION, dp as SceneDoc, dq as SceneNode, dr as SceneRole, ds as SceneValidationDiagnostic, dt as SceneValidationDiagnosticCode, du as SceneValidationError, dv as SceneValidationOptions, dw as SceneValidationResult, dx as SemanticBinding, dy as SemanticBindingChannel, dz as SemanticChannels, dA as SemanticSlots, dB as SequenceBody, dC as SequenceMessage, dD as SequenceMessageStyle, dF as SequenceParticipant, dH as SerializedFlowchartGraph, dI as SourceComment, dJ as SourceMap, dK as SourceMapSpans, dL as SourcePreservationReceipt, dM as SourceSpan, dN as SourceSpanPoint, dO as StateBody, dQ as StateNode, dR as StateTransition, dT as StyleBackend, dU as StyleBackendContext, dV as StyleColors, dW as StyleDescriptor, dX as StyleInput, dY as StyleReferenceResolution, dZ as StyleRegistrationOptions, d_ as StyleSpec, d$ as TERMINAL_BOUNDED_PADDING_X, e0 as TERMINAL_DEFAULT_BOX_BORDER_PADDING, e1 as TERMINAL_DEFAULT_PADDING_X, e2 as TERMINAL_DEFAULT_PADDING_Y, e3 as TERMINAL_OUTPUT_POLICY_VERSION, e4 as TEXT_MEASUREMENT_CONTRACT, e5 as TerminalOutputPolicyError, e6 as TerminalOutputPolicyInput, e7 as TextMeasurementContract, e8 as TextMeasurementInput, e9 as TextMeasurementResult, ea as Tier1WarningCode, eb as Tier2WarningCode, ec as TimelineBody, ed as TimelineEvent, ef as TimelinePeriod, eg as TimelineSection, ei as UNREGISTERED_FAMILY_CAPABILITY_STATES, ej as UPSTREAM_MERMAID_FAMILY_INDEX, ek as UpstreamFamilyDescriptor, el as UpstreamHeaderDescriptor, em as UpstreamHeaderMatch, en as UpstreamManifestDiff, eo as UpstreamMermaidFamilyIndex, ep as UpstreamMermaidManifest, er as ValidDiagramMeta, ev as WARNING_SEVERITY, ew as WARNING_TIER, ex as WarningCode, ey as WarningSeverity, ez as WarningTier, eA as XyChartAxis, eB as XyChartAxisSpec, eC as XyChartBody, eE as XyChartSeries, eG as asArchitecture, eH as asClass, eI as asEr, eJ as asFlowchart, eK as asGantt, eL as asGitGraph, eM as asJourney, eN as asMindmap, eO as asPie, eP as asQuadrant, eQ as asRadar, eR as asSequence, eS as asState, eT as asTimeline, eU as asXyChart, eV as assertHostedPngRasterBudget, eW as assertPngRasterBudget, eX as assertValidSceneDoc, eY as buildExternalScene, eZ as builtinFamilyMetadata, e_ as classifyMermaidFamilyFromFirstLine, e$ as createExtensionIdentity, f0 as declareFamilyScenePrimitiveEvidence, f1 as detectRegisteredFamilyFromFirstLine, f2 as effectiveFamilyCapabilityState, f3 as err, f4 as findUpstreamFamilyByHeader, f5 as getBackend, f6 as getFamily, f7 as getFamilyConformanceReport, f8 as getStyle, f9 as hostedFontResource, fa as inferBackend, fb as isBuiltinFamilyId, fc as isExternalFamilyId, fd as knownBackendDescriptors, fe as knownBuiltinFamilies, ff as knownFamilies, fg as knownStyleDescriptors, fh as knownStyles, fi as measureText, fj as measureTextWidth, fk as negotiateCapabilities, fl as negotiateRenderCapabilities, fm as normalizePortablePngBackground, fn as ok, fo as omitPngOutputOptions, fp as parseRegisteredMermaid, fq as parseSemVer, fr as pngNapiRuntimeProvenance, fs as pngOutputOptionsJsonSchema, ft as pngRasterDimensions, fu as prepareSvgForPngRasterization, fv as projectNativePngOutputPolicyInput, fw as projectPortablePngOutputOptions, fx as registerBackend, fy as registerStyle, fz as resolvePngOutputPolicy, fA as resolvePortablePngOutputPolicy, fB as resolveSceneRoleTraits, fC as resolveStyleReference, fD as resolveStyleStack, fE as resolveTerminalOutputPolicy, fF as runBackendConformance, fG as sceneRoleTraits, fH as semVerSatisfies, fI as sharedRenderOptionsJsonSchema, fJ as styleInputJsonSchema, fK as styleSpecJsonSchema, fL as svgIntrinsicDimensions, fM as terminalConnectorCapabilityClaims, fN as toFinite, fO as validatePrimitiveCapabilities, fP as validateResourceManifest, fQ as validateSceneDoc, fR as validateSerializableRenderOptions, fS as validateStyleSpec, fT as verifyNoExternalRefs, fU as verifyResourceBytes } from './index-BGA_-6LV.js';
1
+ import { cj as RenderedRegionKind, e5 as TerminalProjectionDiagnosticCode, e6 as TerminalProjectionDiagnostic, D as DiagramActionRecord, a as ParsedDiagram, cn as Result, bQ as ParseError, au as DiagramAnalysis, bJ as MutationError, S as C4Variant, bc as FlowchartMutationOp, bd as FlowchartValidDiagram, cL as StateMutationOp, cO as StateValidDiagram, cz as SequenceMutationOp, cB as SequenceValidDiagram, cT as TimelineMutationOp, cW as TimelineValidDiagram, a4 as ClassMutationOp, a9 as ClassValidDiagram, aC as ErMutationOp, aE as ErValidDiagram, bv as JourneyMutationOp, by as JourneyValidDiagram, j as ArchitectureMutationOp, m as ArchitectureValidDiagram, dc as XyChartMutationOp, de as XyChartValidDiagram, bT as PieMutationOp, bV as PieValidDiagram, b$ as QuadrantMutationOp, c1 as QuadrantValidDiagram, bi as GanttMutationOp, bl as GanttValidDiagram, bG as MindmapMutationOp, bH as MindmapValidDiagram, bn as GitGraphMutationOp, bo as GitGraphValidDiagram, c8 as RadarMutationOp, c9 as RadarValidDiagram, J as C4MutationOp, Q as C4ValidDiagram, cr as SankeyMutationOp, cs as SankeyValidDiagram, bN as PacketMutationOp, bO as PacketValidDiagram, bA as KanbanMutationOp, bB as KanbanValidDiagram, cl as RequirementMutationOp, cm as RequirementValidDiagram, cY as TreemapMutationOp, cZ as TreemapValidDiagram, dh as ZenUMLMutationOp, dk as ZenUMLValidDiagram, aJ as EventModelingMutationOp, aK as EventModelingValidDiagram, bs as IshikawaMutationOp, bt as IshikawaValidDiagram, p as BlockMutationOp, q as BlockValidDiagram, aw as DiagramKind, c as AnyMutationOp, bI as MutableValidDiagram, d3 as VerifyResult, e7 as ZenUMLFragmentType, dg as ZenUMLBranch, M as C4Shape, G as C4Element, w as C4Boundary, K as C4Relationship, b0 as FamilyId, b4 as FamilyPositionedProjectionOptions, b5 as FamilyPositionedView, a$ as FamilyDescriptor, bP as PaintLayoutCertification, ce as RenderedLayout, d1 as ValidDiagramPayload, c$ as ValidDiagram, aM as ExtensionDiagramBody, d2 as VerifyOptions, R as RenderRequestReceipt } from './paint-certification-6rwQjIv_.js';
2
+ export { A as Accessibility, d as ArchitectureBody, e as ArchitectureEdge, f as ArchitectureEndpoint, g as ArchitectureEndpointBoundary, h as ArchitectureGroup, i as ArchitectureJunction, k as ArchitectureService, l as ArchitectureSide, B as BUILTIN_FAMILY_METADATA, n as BUILTIN_FAMILY_METADATA_COVERS_DIAGRAM_KIND, o as BlockBody, r as BuiltinFamilyId, s as BuiltinFamilyMetadata, C as C4Argument, t as C4ArgumentInput, u as C4Body, x as C4BoundaryInput, y as C4BoundaryKind, z as C4Diagnostic, E as C4Direction, F as C4Directive, H as C4ElementInput, I as C4ElementKind, L as C4RelationshipInput, N as C4Statement, O as C4Style, U as CAPABILITY_NEGOTIATION_VERSION, V as CORE_CAPABILITY_OFFERS, W as CORE_SCENE_FEATURES, X as CORE_SCENE_OPERATIONS, Y as CORE_SCENE_PRIMITIVES, Z as CapabilityDecision, _ as CapabilityId, $ as CapabilityOffer, a0 as CapabilityRequirement, a1 as CapabilityRequirementLevel, a2 as CapabilityResolution, a3 as ClassBody, a5 as ClassNode, a6 as ClassNote, a7 as ClassRelation, a8 as ClassRelationKind, aa as CliRenderTransport, ab as CodeModeRenderTransport, ac as ConnectorContourSemantics, ad as ConnectorEndpoints, ae as ConnectorGeometry, af as ConnectorHitGeometry, ag as ConnectorLabelDescriptor, ah as ConnectorMark, ai as ConnectorRelationship, aj as ConnectorRoute, ak as ConnectorStroke, al as ConnectorSubpath, am as ConnectorTerminalLabelProjection, an as ConnectorTerminalMarkerPlacement, ao as ConnectorTerminalMarkerProjection, ap as ConnectorTerminalProjection, aq as ConnectorTerminalStrokeLoss, ar as DEFAULT_LABEL_CHAR_CAP, as as DiagramActionKind, at as DiagramActionSecurity, av as DiagramBody, ax as EdgeId, ay as ErAttribute, az as ErBody, aA as ErCardinality, aB as ErEntity, aD as ErRelation, aF as EventData, aG as EventFrame, aH as EventFrameType, aI as EventModelingBody, aL as EventSpecification, aN as ExtensionValidDiagram, aO as ExternalFamilyId, aP as ExtractedLabel, aQ as FAMILY_CAPABILITY_COLUMNS, aR as FAMILY_CONFORMANCE_MAX_EXAMPLE_BYTES, aS as FAMILY_CONFORMANCE_VERSION, aT as FAMILY_DESCRIPTOR_CONTRACT_VERSION, aU as FamilyCapability, aV as FamilyCapabilityConformanceResult, aW as FamilyCapabilityEvidence, aX as FamilyCapabilityState, aY as FamilyConformanceError, aZ as FamilyConformanceReport, a_ as FamilyConformanceStatus, b1 as FamilyOperations, b2 as FamilyParsedBody, b3 as FamilyPositionedProjectionContext, b6 as FamilyScenePositivePrimitive, b7 as FamilyScenePrimitiveApplicability, b8 as FamilyScenePrimitiveEvidence, b9 as FamilySceneRolePrimitiveDeclaration, ba as FeedbackEdgeAnalysis, bb as Finite, be as GanttBody, bf as GanttBodySection, bg as GanttBodyTask, bh as GanttBodyTaskTag, bj as GanttScheduleAnalysisSummary, bk as GanttStatement, bm as GitGraphBody, bp as GroupId, bq as InitDirective, br as IshikawaBody, bu as JourneyBody, bw as JourneySection, bx as JourneyTask, bz as KanbanBody, bC as LayoutWarning, bD as LibraryRenderTransport, bE as MarkerDescriptor, bF as MindmapBody, bK as NodeId, bL as PRIMITIVE_REALIZATIONS, bM as PacketBody, P as PaintLayoutCertificationError, bR as ParticipantId, bS as PieBody, bU as PieSlice, bW as PreservedDiagramBody, bX as PreservedSourceSpans, bY as PreservedValidDiagram, bZ as QuadrantAxis, b_ as QuadrantBody, c0 as QuadrantPoint, c2 as RENDER_CONTRACT_VERSION, c3 as RENDER_OUTPUTS, c4 as RENDER_OUTPUT_DESCRIPTORS, c5 as RadarBody, c6 as RadarBodyAxis, c7 as RadarBodyCurve, ca as RenderCapabilityError, cb as RenderOutputDescriptor, cc as RenderOutputTransports, cd as RenderedLabelBounds, cf as RenderedLayoutEdge, cg as RenderedLayoutGroup, ch as RenderedLayoutLabel, ci as RenderedLayoutNode, b as RenderedRegion, ck as RequirementBody, co as SHARED_RENDER_OPTION_FIELDS, cp as SankeyBody, cq as SankeyBodyLink, ct as SceneDoc, cu as SceneNode, cv as SemanticChannels, cw as SequenceBody, cx as SequenceMessage, cy as SequenceMessageStyle, cA as SequenceParticipant, cC as SerializedFlowchartGraph, cD as SourceComment, cE as SourceMap, cF as SourceMapSpans, cG as SourcePreservationReceipt, cH as SourceSpan, cI as SourceSpanPoint, cJ as StateBody, cK as StateFloatingNote, cM as StateNode, cN as StateTransition, cP as Tier1WarningCode, cQ as Tier2WarningCode, cR as TimelineBody, cS as TimelineEvent, cU as TimelinePeriod, cV as TimelineSection, cX as TreemapBody, c_ as UNREGISTERED_FAMILY_CAPABILITY_STATES, d0 as ValidDiagramMeta, d4 as WARNING_SEVERITY, d5 as WARNING_TIER, d6 as WarningCode, d7 as WarningSeverity, d8 as WarningTier, d9 as XyChartAxis, da as XyChartAxisSpec, db as XyChartBody, dd as XyChartSeries, df as ZenUMLBody, di as ZenUMLParticipant, dj as ZenUMLStatement, dl as asArchitecture, dm as asBlock, dn as asC4, dp as asClass, dq as asEr, dr as asEventModeling, ds as asFlowchart, dt as asGantt, du as asGitGraph, dv as asIshikawa, dw as asJourney, dx as asKanban, dy as asMindmap, dz as asPacket, dA as asPie, dB as asQuadrant, dC as asRadar, dD as asRequirement, dE as asSankey, dF as asSequence, dG as asState, dH as asTimeline, dI as asTreemap, dJ as asXyChart, dK as asZenUML, dL as builtinFamilyMetadata, dM as declareFamilyScenePrimitiveEvidence, dN as detectRegisteredFamilyFromFirstLine, dO as effectiveFamilyCapabilityState, dP as err, dQ as getFamily, dR as getFamilyConformanceReport, dS as isBuiltinFamilyId, dT as isExternalFamilyId, dU as knownBuiltinFamilies, dV as knownFamilies, dW as negotiateCapabilities, dX as negotiateRenderCapabilities, dY as ok, dZ as parseSemVer, d_ as semVerSatisfies, d$ as sharedRenderOptionsJsonSchema, e0 as styleInputJsonSchema, e1 as terminalConnectorCapabilityClaims, e2 as toFinite, e3 as validatePrimitiveCapabilities, e4 as validateSerializableRenderOptions, v as verifyNoExternalRefs } from './paint-certification-6rwQjIv_.js';
3
+ import { A as AsciiRenderOptions, ba as renderMermaidASCII$1, ag as RenderedAscii, bb as renderMermaidSVG$1, bc as RenderedSvg } from './index-EeXqJXr5.js';
4
+ export { c as AsciiRenderColorMode, d as AsciiWidthError, e as AsciiWidthErrorReason, B as BACKEND_CONFORMANCE_CHECK_IDS, f as BACKEND_CONFORMANCE_FIXTURE_ID, g as BACKEND_CONFORMANCE_VERSION, h as BackendCapabilityConformanceResult, i as BackendCapabilityConformanceStatus, j as BackendConformanceCheck, k as BackendConformanceCheckId, l as BackendConformanceReport, m as BackendDescriptor, n as BackendRegistrationOptions, D as DefaultBackend, E as EXTERNAL_SCENE_API_VERSION, o as ExternalSceneConnector, p as ExternalSceneConnectorGeometry, q as ExternalSceneConnectorLabel, r as ExternalSceneContainer, s as ExternalSceneDataMark, t as ExternalSceneDocument, u as ExternalSceneGeometry, v as ExternalSceneInput, w as ExternalSceneMarker, x as ExternalSceneNode, y as ExternalSceneNodeBase, z as ExternalSceneShape, C as ExternalSceneText, F as FamilyDetectionDiagnostic, G as HOSTED_FONT_RESOURCES, H as HostBackendPolicy, M as MAX_HOSTED_PNG_BYTES, I as MAX_HOSTED_PNG_PIXELS, J as MAX_PNG_FONT_DIRECTORIES, K as MAX_PNG_FONT_DIRECTORY_LENGTH, L as MAX_PNG_PIXELS, N as MAX_PNG_RASTER_DIMENSION, O as MermaidFamilyClassification, Q as MermaidFamilyDetectionError, R as NATIVE_PNG_HOST_ONLY_OPTION_FIELDS, S as NATIVE_PNG_OUTPUT_POLICY_FIELDS, T as NativePngHostOnlyOptionField, U as NativePngOutputPolicyField, V as PNG_DEFAULT_FONT_FAMILY, W as PNG_DEFAULT_MIN_LABEL_PX, X as PNG_DEFAULT_SCALE, Y as PNG_FONT_SOURCES, Z as PNG_NAPI_RUNTIME, _ as PNG_OUTPUT_OPTION_FIELDS, $ as PNG_OUTPUT_OPTION_FIELD_DESCRIPTORS, a0 as PNG_OUTPUT_POLICY_VERSION, a1 as PNG_WASM_RUNTIME, a2 as PORTABLE_PNG_OUTPUT_OPTION_FIELDS, a3 as PngFitTo, a4 as PngFontSource, a5 as PngOutputOptionField, a6 as PngOutputOptionFieldDescriptor, a7 as PngOutputOptionInputKind, a8 as PngOutputOptionPolicyState, a9 as PngOutputOptionReceiptState, aa as PngOutputOptionScope, a as PngOutputPolicyInput, ab as PngRasterDimensions, b as PngRuntimeProvenance, ac as PortablePngOutputOptionField, ad as PortablePngOutputOptions, ae as RESOURCE_MANIFEST, af as RESOURCE_MANIFEST_VERSION, ah as ResolvedPngOutputPolicy, ai as ResolvedTerminalOutputPolicy, aj as SCENE_CONTRACT_VERSION, ak as SCENE_VALIDATION_LIMITS, al as SCENE_VALIDATION_VERSION, am as SceneValidationDiagnostic, an as SceneValidationDiagnosticCode, ao as SceneValidationError, ap as SceneValidationOptions, aq as SceneValidationResult, ar as StyleBackend, as as StyleBackendContext, at as TERMINAL_BOUNDED_PADDING_X, au as TERMINAL_DEFAULT_BOX_BORDER_PADDING, av as TERMINAL_DEFAULT_PADDING_X, aw as TERMINAL_DEFAULT_PADDING_Y, ax as TERMINAL_OUTPUT_POLICY_VERSION, ay as TEXT_MEASUREMENT_CONTRACT, az as TerminalOutputPolicyError, aA as TerminalOutputPolicyInput, aB as TextMeasurementContract, aC as TextMeasurementInput, aD as TextMeasurementResult, aE as UPSTREAM_MERMAID_FAMILY_INDEX, aF as UpstreamFamilyDescriptor, aG as UpstreamHeaderDescriptor, aH as UpstreamHeaderMatch, aI as UpstreamMermaidFamilyIndex, aJ as assertHostedPngRasterBudget, aK as assertPngRasterBudget, aL as assertValidSceneDoc, aM as buildExternalScene, aN as classifyMermaidFamilyFromFirstLine, aO as findUpstreamFamilyByHeader, aP as getBackend, aQ as hostedFontResource, aR as knownBackendDescriptors, aS as measureText, aT as measureTextWidth, aU as normalizePortablePngBackground, aV as omitPngOutputOptions, aW as parseRegisteredMermaid, aX as pngNapiRuntimeProvenance, aY as pngOutputOptionsJsonSchema, aZ as pngRasterDimensions, a_ as prepareSvgForPngRasterization, a$ as projectNativePngOutputPolicyInput, b0 as projectPortablePngOutputOptions, b1 as registerBackend, b2 as resolvePngOutputPolicy, b3 as resolvePortablePngOutputPolicy, b4 as resolveTerminalOutputPolicy, b5 as runBackendConformance, b6 as svgIntrinsicDimensions, b7 as validateResourceManifest, b8 as validateSceneDoc, b9 as verifyResourceBytes } from './index-EeXqJXr5.js';
5
+ import { m as Direction, d as LayoutRouteCertificate, L as LabelContent, n as PositionedDiagram, M as MermaidEdge, R as RenderOptions } from './types-BcS52Mjt.js';
6
+ export { A as AnyPort, a as ArchitectureVisualOverrides, D as DiamondFacet, b as DisplayRun, E as EdgeRouteCertificate, F as FamilyEdgeRouteCertificate, c as FamilyRouteCertificate, e as LayoutRouteClass, P as PortSemanticRole, f as PortSide, g as PreparedDisplayText, h as RegionContainmentCertificate, i as RouteBlocker, j as RouteCertificate, k as RouteClass, l as RoutePortAssignment } from './types-BcS52Mjt.js';
7
+ export { B as BINDABLE_ROLE_STYLE_PROPERTIES, a as BINDABLE_SCENE_ROLES, b as BRAND_CONSTRAINT_DESCRIPTORS, c as BRAND_CONSTRAINT_KINDS, d as BUILTIN_SCENE_ROLE_TRAITS, e as BindableSceneRole, f as BrandConstraint, g as BrandConstraintAction, h as BrandConstraintKind, E as EXACT_ROLE_STYLE_CONTRACT, i as EXACT_STYLE_SCENE_ROLES, j as ExactStyleSceneRole, k as ExtensionIdentity, R as ROLE_STYLE_PROPERTY_DESCRIPTORS, l as RoleStyleFor, m as RoleStyleSpec, n as RoleStyles, o as SCENE_ROLE_DESCRIPTORS, p as SEMANTIC_BINDING_CHANNELS, q as STYLE_COLOR_TOKEN_DESCRIPTORS, r as STYLE_SPEC_FIELD_DESCRIPTORS, s as STYLE_SPEC_FORMAT_VERSION, t as SceneRole, u as SemanticBinding, v as SemanticBindingChannel, w as SemanticSlots, x as StyleColors, y as StyleDescriptor, S as StyleInput, z as StyleReferenceResolution, A as StyleRegistrationOptions, C as StyleSpec, D as createExtensionIdentity, F as getStyle, G as inferBackend, H as knownStyleDescriptors, I as knownStyles, J as registerStyle, K as resolveSceneRoleTraits, L as resolveStyleReference, M as resolveStyleStack, N as sceneRoleTraits, O as styleSpecJsonSchema, P as validateStyleSpec } from './svg-styles-BdnoM7AT.js';
3
8
 
4
- type MermaidFact = string;
5
- interface CheckMermaidObjectSpec {
6
- /** Required facts. Aliases: expected / require / required. */
7
- include?: readonly string[];
8
- expected?: readonly string[];
9
- require?: readonly string[];
10
- required?: readonly string[];
11
- /** Forbidden facts. Aliases: absent / forbid / forbidden / unexpected. */
12
- exclude?: readonly string[];
13
- absent?: readonly string[];
14
- forbid?: readonly string[];
15
- forbidden?: readonly string[];
16
- unexpected?: readonly string[];
17
- /** When true, every emitted fact must be listed in the required set. */
18
- exact?: boolean;
9
+ interface TerminalIdentity {
10
+ id: string;
11
+ kind: Exclude<RenderedRegionKind, 'canvas'> | 'subgraph';
19
12
  }
20
- type CheckMermaidSpec = readonly string[] | CheckMermaidObjectSpec;
21
- interface CheckMermaidResult {
22
- ok: boolean;
23
- /** Required facts not present in the diagram. */
24
- missing: string[];
25
- /** Forbidden facts that were present, or extra facts under exact:true. */
26
- unexpected: string[];
27
- /** Full deterministic fact set used for the comparison. */
28
- facts: string[];
13
+ interface TerminalOwner {
14
+ id: string;
15
+ kind?: TerminalIdentity['kind'];
16
+ sourceLine?: number;
17
+ parent?: Readonly<TerminalIdentity>;
18
+ /** Semantic attachment only; grants no containment or geometry privileges. */
19
+ annotationTarget?: Readonly<TerminalIdentity>;
20
+ members?: readonly string[];
21
+ /** Shared runs may join only when their family layout declares a bundle. */
22
+ bundle?: string;
23
+ from?: string;
24
+ to?: string;
25
+ /** Producer promises a complete visible directional connector between its ports. */
26
+ route?: 'connected';
27
+ }
28
+ type TerminalSide = 'T' | 'R' | 'B' | 'L';
29
+ interface TerminalMarker {
30
+ shape: 'arrow' | 'triangle' | 'open-arrow' | 'circle' | 'cross' | 'diamond' | 'wide-circle' | 'lollipop' | 'filled-diamond' | 'hollow-diamond' | 'sequence-cross' | 'half-top' | 'half-bottom' | 'stick-top' | 'stick-bottom' | 'cardinality-one' | 'cardinality-many';
31
+ direction?: TerminalSide;
32
+ ascii?: boolean;
33
+ }
34
+ interface TerminalCellSpan {
35
+ row: number;
36
+ start: number;
37
+ end: number;
38
+ }
39
+ interface TerminalPort {
40
+ nodeId: string;
41
+ x: number;
42
+ y: number;
43
+ side?: TerminalSide;
44
+ end: 'start' | 'end';
45
+ /** Authored item identity stays in nodeId when a container is the physical contact. */
46
+ boundary?: Readonly<TerminalIdentity>;
47
+ /** Model-owned expectation, declared separately from painting. Empty means
48
+ * deliberately unmarked; multiple cells retain ER cardinality semantics. */
49
+ markers?: readonly Readonly<TerminalMarker>[];
50
+ markerOffset?: number;
51
+ /** A declared family loss, backed by a diagnostic and owned fallback text. */
52
+ markerProjection?: string;
53
+ /** Sequence contacts a participant lifeline, not its header-card frame. */
54
+ surface?: 'frame' | 'lifeline';
55
+ }
56
+ interface TerminalRegion {
57
+ id: string;
58
+ kind: NonNullable<TerminalOwner['kind']>;
59
+ sourceLine?: number;
60
+ parentId?: string;
61
+ parentKind?: TerminalIdentity['kind'];
62
+ annotationTarget?: Readonly<TerminalIdentity>;
63
+ members?: readonly string[];
64
+ from?: string;
65
+ to?: string;
66
+ bundle?: string;
67
+ ports?: TerminalPort[];
68
+ canvasRow: number;
69
+ canvasColStart: number;
70
+ canvasColEnd: number;
71
+ rowSpan?: number;
72
+ projectedText?: string;
73
+ authoredTextCells?: Array<{
74
+ row: number;
75
+ column: number;
76
+ glyph: string;
77
+ }>;
78
+ ownedCellSpans: TerminalCellSpan[];
79
+ /** Relationship coverage hidden behind opaque marks; not visible ink. */
80
+ occludedCellSpans?: TerminalCellSpan[];
29
81
  }
30
- /** Facts for a parsed diagram. Output is sorted, de-duplicated, and single-line. */
31
- declare function describeMermaidFacts(d: ParsedDiagram): string[];
32
- /** Parse then emit facts. Parse failures are explicit Result errors. */
33
- declare function describeMermaidFactsSource(source: string): Result<string[], ParseError[]>;
34
- /** Check required/forbidden semantic facts against a parsed diagram. */
35
- declare function checkMermaid(d: ParsedDiagram, spec: CheckMermaidSpec): CheckMermaidResult;
36
- declare function checkMermaidSource(source: string, spec: CheckMermaidSpec): Result<CheckMermaidResult, ParseError[]>;
37
82
 
38
- interface SerializeOptions {
39
- /**
40
- * Wrapper emission policy. 'verbatim' (default) re-emits the leading source
41
- * wrapper (frontmatter, init directives, comments) byte-identically from
42
- * `meta.wrapperSource`, then re-emits any init directive authored *after*
43
- * the family header that the serialized body does not already own — a
44
- * structured serializer receives directive-free grammar, so without this the
45
- * config would be lost. Such a directive therefore moves ahead of the
46
- * header; source-preserving bodies keep theirs in place and are unaffected.
47
- * 'canonical' synthesizes Mermaid's documented shape
48
- * instead: one frontmatter block with `title`/`displayMode` at the top
49
- * level and everything else nested under `config:`, init directives folded
50
- * in (re-emitted raw only when their payload could not be folded), and
51
- * wrapper comments dropped. Diagrams without a captured wrapper (e.g.
52
- * synthesized from JSON payloads) always use canonical synthesis.
53
- */
54
- wrapper?: 'verbatim' | 'canonical';
83
+ type RegionKind = Exclude<RenderedRegionKind, 'canvas'> | 'subgraph';
84
+ type AsciiWarningCode = 'ASCII_RENDER_FAILED' | 'ASCII_EDGE_REGION_UNMAPPED' | TerminalProjectionDiagnosticCode;
85
+ interface AsciiWarning {
86
+ code: AsciiWarningCode;
87
+ message: string;
88
+ severity: 'degraded';
89
+ cell?: TerminalProjectionDiagnostic['cell'];
55
90
  }
56
- declare function serializeMermaid(d: ParsedDiagram, opts?: SerializeOptions): string;
57
- declare function synthesizeFromGraph(payload: ValidDiagramPayload & {
58
- kind: ValidDiagram['kind'];
59
- body: Exclude<ValidDiagramPayload['body'], ExtensionDiagramBody>;
60
- }): Result<ValidDiagram, ParseError[]>;
61
- declare function synthesizeFromGraph(payload: ValidDiagramPayload): Result<ParsedDiagram, ParseError[]>;
91
+ interface AsciiRegion extends Omit<TerminalRegion, 'ownedCellSpans'> {
92
+ /** Exact occupied geometry, including spaces, continuations and repeated occurrences. */
93
+ ownedCellSpans?: TerminalCellSpan[];
94
+ }
95
+ declare const ASCII_ROUTE_PARITY_CONTRACT: {
96
+ readonly version: 1;
97
+ readonly routeIntent: "shared-route-classes";
98
+ readonly svgSource: "route-contract classifyRoutes() + certificates";
99
+ readonly asciiSource: "family terminal geometry with owned cells, route classes, markers and intentional bundles";
100
+ readonly degradationWarnings: readonly ["ASCII_RENDER_FAILED", "ASCII_EDGE_REGION_UNMAPPED", "TERMINAL_OWNERSHIP_UNAVAILABLE"];
101
+ };
102
+ interface AsciiWithMeta {
103
+ ascii: string;
104
+ regions: AsciiRegion[];
105
+ actions: DiagramActionRecord[];
106
+ warnings: AsciiWarning[];
107
+ routeParity: typeof ASCII_ROUTE_PARITY_CONTRACT;
108
+ }
109
+ /** Metadata is emitted by the same execution as the text. No label search or rerender. */
110
+ declare function renderMermaidASCIIWithMeta(input: ParsedDiagram | string, options?: AsciiRenderOptions): AsciiWithMeta;
111
+
112
+ /**
113
+ * Reverse an ASCII flowchart render back to (best-effort) Mermaid source.
114
+ * Returns synthesized ids (N0, N1, …) with recovered labels and edges.
115
+ */
116
+ declare function asciiToMermaid(ascii: string, opts?: {
117
+ direction?: 'TD' | 'LR';
118
+ }): Result<string, ParseError[]>;
119
+
120
+ declare function analyzeMermaid(d: ParsedDiagram): DiagramAnalysis;
121
+ declare function analyzeMermaidSource(source: string): Result<DiagramAnalysis, ParseError[]>;
122
+ declare function collectActionRecords(d: ParsedDiagram): DiagramActionRecord[];
62
123
 
63
124
  interface CreateMermaidOptions {
125
+ /** Legacy C4 dialect for a new diagram (default C4Context). */
126
+ c4Variant?: C4Variant;
64
127
  /** Layout direction for flowchart/state diagrams (default TD). Ignored elsewhere. */
65
128
  direction?: Direction;
66
129
  }
@@ -83,6 +146,16 @@ declare function createMermaid(kind: 'gantt', opts?: CreateMermaidOptions): Gant
83
146
  declare function createMermaid(kind: 'mindmap', opts?: CreateMermaidOptions): MindmapValidDiagram;
84
147
  declare function createMermaid(kind: 'gitgraph', opts?: CreateMermaidOptions): GitGraphValidDiagram;
85
148
  declare function createMermaid(kind: 'radar', opts?: CreateMermaidOptions): RadarValidDiagram;
149
+ declare function createMermaid(kind: 'c4', opts?: CreateMermaidOptions): C4ValidDiagram;
150
+ declare function createMermaid(kind: 'sankey', opts?: CreateMermaidOptions): SankeyValidDiagram;
151
+ declare function createMermaid(kind: 'packet', opts?: CreateMermaidOptions): PacketValidDiagram;
152
+ declare function createMermaid(kind: 'kanban', opts?: CreateMermaidOptions): KanbanValidDiagram;
153
+ declare function createMermaid(kind: 'requirement', opts?: CreateMermaidOptions): RequirementValidDiagram;
154
+ declare function createMermaid(kind: 'treemap', opts?: CreateMermaidOptions): TreemapValidDiagram;
155
+ declare function createMermaid(kind: 'zenuml', opts?: CreateMermaidOptions): ZenUMLValidDiagram;
156
+ declare function createMermaid(kind: 'eventmodeling', opts?: CreateMermaidOptions): EventModelingValidDiagram;
157
+ declare function createMermaid(kind: 'ishikawa', opts?: CreateMermaidOptions): IshikawaValidDiagram;
158
+ declare function createMermaid(kind: 'block', opts?: CreateMermaidOptions): BlockValidDiagram;
86
159
  declare function createMermaid(kind: DiagramKind, opts?: CreateMermaidOptions): MutableValidDiagram;
87
160
  declare function buildMermaid(kind: 'flowchart', ops: FlowchartMutationOp[], opts?: CreateMermaidOptions): Result<FlowchartValidDiagram, BuildError>;
88
161
  declare function buildMermaid(kind: 'state', ops: StateMutationOp[], opts?: CreateMermaidOptions): Result<StateValidDiagram, BuildError>;
@@ -99,52 +172,29 @@ declare function buildMermaid(kind: 'gantt', ops: GanttMutationOp[], opts?: Crea
99
172
  declare function buildMermaid(kind: 'mindmap', ops: MindmapMutationOp[], opts?: CreateMermaidOptions): Result<MindmapValidDiagram, BuildError>;
100
173
  declare function buildMermaid(kind: 'gitgraph', ops: GitGraphMutationOp[], opts?: CreateMermaidOptions): Result<GitGraphValidDiagram, BuildError>;
101
174
  declare function buildMermaid(kind: 'radar', ops: RadarMutationOp[], opts?: CreateMermaidOptions): Result<RadarValidDiagram, BuildError>;
175
+ declare function buildMermaid(kind: 'c4', ops: C4MutationOp[], opts?: CreateMermaidOptions): Result<C4ValidDiagram, BuildError>;
176
+ declare function buildMermaid(kind: 'sankey', ops: SankeyMutationOp[], opts?: CreateMermaidOptions): Result<SankeyValidDiagram, BuildError>;
177
+ declare function buildMermaid(kind: 'packet', ops: PacketMutationOp[], opts?: CreateMermaidOptions): Result<PacketValidDiagram, BuildError>;
178
+ declare function buildMermaid(kind: 'kanban', ops: KanbanMutationOp[], opts?: CreateMermaidOptions): Result<KanbanValidDiagram, BuildError>;
179
+ declare function buildMermaid(kind: 'requirement', ops: RequirementMutationOp[], opts?: CreateMermaidOptions): Result<RequirementValidDiagram, BuildError>;
180
+ declare function buildMermaid(kind: 'treemap', ops: TreemapMutationOp[], opts?: CreateMermaidOptions): Result<TreemapValidDiagram, BuildError>;
181
+ declare function buildMermaid(kind: 'zenuml', ops: ZenUMLMutationOp[], opts?: CreateMermaidOptions): Result<ZenUMLValidDiagram, BuildError>;
182
+ declare function buildMermaid(kind: 'eventmodeling', ops: EventModelingMutationOp[], opts?: CreateMermaidOptions): Result<EventModelingValidDiagram, BuildError>;
183
+ declare function buildMermaid(kind: 'ishikawa', ops: IshikawaMutationOp[], opts?: CreateMermaidOptions): Result<IshikawaValidDiagram, BuildError>;
184
+ declare function buildMermaid(kind: 'block', ops: BlockMutationOp[], opts?: CreateMermaidOptions): Result<BlockValidDiagram, BuildError>;
102
185
  declare function buildMermaid(kind: DiagramKind, ops: AnyMutationOp[], opts?: CreateMermaidOptions): Result<MutableValidDiagram, BuildError>;
103
186
 
104
- declare function edgeIdOf(edge: MermaidEdge, idx?: number): string;
105
-
106
- declare function mutate(d: FlowchartValidDiagram, op: FlowchartMutationOp): Result<FlowchartValidDiagram, MutationError>;
107
- declare function mutate(d: StateValidDiagram, op: StateMutationOp): Result<StateValidDiagram, MutationError>;
108
- declare function mutate(d: SequenceValidDiagram, op: SequenceMutationOp): Result<SequenceValidDiagram, MutationError>;
109
- declare function mutate(d: TimelineValidDiagram, op: TimelineMutationOp): Result<TimelineValidDiagram, MutationError>;
110
- declare function mutate(d: ClassValidDiagram, op: ClassMutationOp): Result<ClassValidDiagram, MutationError>;
111
- declare function mutate(d: ErValidDiagram, op: ErMutationOp): Result<ErValidDiagram, MutationError>;
112
- declare function mutate(d: JourneyValidDiagram, op: JourneyMutationOp): Result<JourneyValidDiagram, MutationError>;
113
- declare function mutate(d: ArchitectureValidDiagram, op: ArchitectureMutationOp): Result<ArchitectureValidDiagram, MutationError>;
114
- declare function mutate(d: XyChartValidDiagram, op: XyChartMutationOp): Result<XyChartValidDiagram, MutationError>;
115
- declare function mutate(d: PieValidDiagram, op: PieMutationOp): Result<PieValidDiagram, MutationError>;
116
- declare function mutate(d: QuadrantValidDiagram, op: QuadrantMutationOp): Result<QuadrantValidDiagram, MutationError>;
117
- declare function mutate(d: GanttValidDiagram, op: GanttMutationOp): Result<GanttValidDiagram, MutationError>;
118
- declare function mutate(d: RadarValidDiagram, op: RadarMutationOp): Result<RadarValidDiagram, MutationError>;
119
- declare function mutate(d: MutableValidDiagram, op: AnyMutationOp): Result<MutableValidDiagram, MutationError>;
120
- declare function mutate(d: ParsedDiagram, op: AnyMutationOp): Result<ParsedDiagram, MutationError>;
121
- /**
122
- * mutate with a shape check in front — the one choke point every UNTYPED edit
123
- * path funnels through: the declarative applyOps/buildChecked entrypoints, the
124
- * Code Mode facade, and the CLI `--op`/`--ops` path. Typed callers keep using
125
- * `mutate` directly, where the compiler already guarantees op shape;
126
- * `mutateChecked` restores that guarantee at the boundaries where ops arrive as
127
- * raw JSON.
128
- *
129
- * `validateOp` proves the op's SHAPE (field names, primitive types, enums)
130
- * BEFORE the mutator runs, so a malformed op is rejected with a prescriptive
131
- * INVALID_OP error instead of silently mangling the diagram. Semantics — does
132
- * the referenced node exist, is the id a duplicate — stay in the mutator, which
133
- * runs second on a shape-proven op. Result shape is identical to `mutate`, so
134
- * this is a drop-in wherever the raw mutator was called with untyped ops.
135
- */
136
- declare function mutateChecked(d: MutableValidDiagram, op: unknown): Result<MutableValidDiagram, MutationError>;
137
- declare function mutateChecked(d: ParsedDiagram, op: unknown): Result<ParsedDiagram, MutationError>;
138
-
139
187
  declare const MUTATION_OPS_BY_FAMILY: {
188
+ readonly zenuml: readonly ["upsert_participant", "remove_participant", "rename_participant", "insert_statement", "remove_statement", "set_statement", "set_title", "set_accessibility_title", "set_accessibility_description"];
189
+ readonly eventmodeling: readonly ["insert_frame", "remove_frame", "move_frame", "set_frame", "set_entities", "set_notes", "set_specifications", "set_data", "set_title", "set_accessibility_title", "set_accessibility_description"];
140
190
  readonly flowchart: readonly ["add_node", "remove_node", "rename_node", "set_label", "add_edge", "remove_edge", "set_shape", "set_direction", "add_subgraph", "remove_subgraph", "move_node", "define_class", "set_node_class", "set_node_style"];
141
- readonly state: readonly ["add_state", "remove_state", "rename_state", "set_state_label", "add_transition", "remove_transition", "set_transition_label", "make_composite", "set_direction", "move_state", "dissolve_composite", "add_note", "remove_note", "set_note_text", "define_class", "set_state_class", "set_state_style", "set_transition_style"];
142
- readonly sequence: readonly ["add_participant", "remove_participant", "add_message", "remove_message", "set_message_text", "move_message", "set_participant_label", "add_fragment", "remove_fragment", "set_fragment_label", "add_fragment_branch", "set_fragment_branch_label", "add_fragment_message", "remove_fragment_message", "set_fragment_message_text"];
191
+ readonly state: readonly ["add_state", "remove_state", "rename_state", "set_state_label", "add_transition", "remove_transition", "set_transition_label", "make_composite", "set_direction", "move_state", "dissolve_composite", "add_note", "remove_note", "set_note_text", "add_floating_note", "remove_floating_note", "set_floating_note_text", "define_class", "set_state_class", "set_state_style", "set_transition_style"];
192
+ readonly sequence: readonly ["add_participant", "remove_participant", "add_message", "remove_message", "set_message_text", "set_message_wrap", "move_message", "set_participant_label", "add_fragment", "remove_fragment", "set_fragment_label", "add_fragment_branch", "set_fragment_branch_label", "add_fragment_message", "remove_fragment_message", "set_fragment_message_text", "set_fragment_message_wrap"];
143
193
  readonly timeline: readonly ["set_title", "add_section", "remove_section", "set_section_label", "add_period", "remove_period", "set_period_label", "add_event", "remove_event", "set_event_text", "move_period", "move_event", "move_section", "set_accessibility_title", "set_accessibility_description"];
144
- readonly class: readonly ["set_title", "add_class", "remove_class", "rename_class", "set_class_generic", "add_member", "remove_member", "add_relation", "remove_relation", "add_note", "remove_note", "set_class_namespace", "define_class", "set_css_class", "set_class_style"];
194
+ readonly class: readonly ["set_title", "add_class", "remove_class", "rename_class", "set_class_generic", "add_member", "remove_member", "add_interface", "add_relation", "remove_relation", "add_note", "remove_note", "set_class_namespace", "define_class", "set_css_class", "set_class_style"];
145
195
  readonly er: readonly ["add_entity", "remove_entity", "rename_entity", "set_entity_label", "add_attribute", "remove_attribute", "add_relation", "remove_relation", "set_direction", "define_class", "set_entity_class", "set_entity_style"];
146
196
  readonly journey: readonly ["set_title", "add_section", "remove_section", "set_section_label", "add_task", "remove_task", "set_task_text", "set_task_score", "set_task_actors", "rename_actor", "move_task", "move_section", "set_accessibility_title", "set_accessibility_description"];
147
- readonly architecture: readonly ["set_title", "set_accessibility_title", "set_accessibility_description", "add_service", "remove_service", "rename_service", "set_service_label", "set_service_icon", "move_service", "add_junction", "remove_junction", "rename_junction", "move_junction", "add_group", "set_group_label", "remove_group", "add_edge", "update_edge", "remove_edge"];
197
+ readonly architecture: readonly ["set_title", "set_accessibility_title", "set_accessibility_description", "add_service", "remove_service", "rename_service", "set_service_label", "set_service_icon", "set_service_icon_text", "move_service", "add_junction", "remove_junction", "rename_junction", "move_junction", "add_group", "set_group_label", "remove_group", "add_edge", "update_edge", "remove_edge"];
148
198
  readonly xychart: readonly ["set_title", "set_x_axis", "set_y_axis", "add_series", "remove_series", "set_series_values", "set_series_name", "reorder_series", "set_orientation", "set_data_point"];
149
199
  readonly pie: readonly ["set_title", "set_show_data", "add_slice", "remove_slice", "rename_slice", "set_slice_value", "reorder_slice"];
150
200
  readonly quadrant: readonly ["set_title", "set_axis_labels", "set_quadrant_label", "add_point", "remove_point", "move_point", "rename_point"];
@@ -152,7 +202,16 @@ declare const MUTATION_OPS_BY_FAMILY: {
152
202
  readonly mindmap: readonly ["add_node", "remove_node", "rename_node", "set_label", "move_node", "set_shape", "set_icon", "set_node_class", "set_accessibility_title", "set_accessibility_description"];
153
203
  readonly gitgraph: readonly ["append_commit", "create_branch", "checkout_branch", "merge_branch", "cherry_pick", "set_commit_message", "set_commit_type", "set_commit_tags", "rename_branch", "set_accessibility_title", "set_accessibility_description"];
154
204
  readonly radar: readonly ["set_title", "add_axis", "remove_axis", "rename_axis", "set_axis_label", "reorder_axis", "add_curve", "remove_curve", "set_curve_values", "set_curve_value", "set_curve_label", "rename_curve", "reorder_curve", "set_config"];
205
+ readonly sankey: readonly ["add_link", "remove_link", "set_link_value", "rename_node"];
206
+ readonly c4: readonly ["add_element", "update_element", "rename_element", "reparent_element", "remove_element", "add_boundary", "update_boundary", "rename_boundary", "reparent_boundary", "remove_boundary", "add_relationship", "update_relationship", "remove_relationship", "set_title", "set_variant", "add_directive", "update_directive", "remove_directive"];
207
+ readonly packet: readonly ["set_title", "set_accessibility_title", "set_accessibility_description", "add_field", "remove_field", "set_field_label", "set_field_bits", "move_field"];
208
+ readonly kanban: readonly ["add_column", "remove_column", "set_column_label", "move_column", "add_task", "remove_task", "set_task_label", "set_task_metadata", "move_task", "set_icon", "set_class", "set_accessibility_title", "set_accessibility_description"];
209
+ readonly requirement: readonly ["set_direction", "add_requirement", "update_requirement", "add_element", "update_element", "rename_node", "remove_node", "add_relation", "remove_relation", "define_class", "set_node_class", "set_node_style"];
210
+ readonly treemap: readonly ["set_title", "add_node", "remove_node", "set_label", "set_value", "move_node", "define_class", "set_node_class", "set_accessibility_title", "set_accessibility_description"];
211
+ readonly ishikawa: readonly ["set_effect", "add_cause", "remove_cause", "set_label", "move_cause", "set_accessibility_title", "set_accessibility_description"];
212
+ readonly block: readonly ["set_columns", "add_block", "update_block", "rename_block", "remove_block", "move_block", "add_edge", "remove_edge", "define_class", "set_node_class", "set_node_style"];
155
213
  };
214
+
156
215
  type MutableFamilyId = keyof typeof MUTATION_OPS_BY_FAMILY;
157
216
 
158
217
  type OpFamily = MutableFamilyId;
@@ -210,6 +269,7 @@ declare function opSignatures(family: OpFamily): string[];
210
269
  interface VerifySummary {
211
270
  ok: boolean;
212
271
  warnings: VerifyResult['warnings'];
272
+ checks?: VerifyResult['checks'];
213
273
  }
214
274
  /** A mutation failure annotated with which op in the list failed. */
215
275
  type CheckedBuildError = MutationError & {
@@ -224,8 +284,9 @@ type CheckedBuildError = MutationError & {
224
284
  type OpEnvelope = {
225
285
  ok: true;
226
286
  family: DiagramKind;
227
- /** canonical Mermaid source of the mutated diagram */
287
+ /** Canonical source by default; exact edited bytes in source-preserving mode. */
228
288
  source: string;
289
+ mode?: 'source-preserving';
229
290
  verify: VerifySummary;
230
291
  } | {
231
292
  ok: false;
@@ -252,6 +313,8 @@ interface ApplyOpsInput {
252
313
  source?: string;
253
314
  family?: string;
254
315
  ops: unknown;
316
+ /** Explicitly retain unsupported syntax while applying a bounded family edit. */
317
+ mode?: 'structured' | 'source-preserving';
255
318
  }
256
319
  /**
257
320
  * Plain-JSON-in / plain-JSON-out batch edit. Fail-fast, all-or-nothing: ops
@@ -261,13 +324,301 @@ interface ApplyOpsInput {
261
324
  */
262
325
  declare function applyOps(input: ApplyOpsInput): OpEnvelope;
263
326
 
264
- declare function verifyMermaid(input: ParsedDiagram | string, opts?: VerifyOptions): VerifyResult;
327
+ type LayoutCertificateProof = 'edge-route' | 'region-containment';
328
+ declare function layoutCertificateProof(cert: LayoutRouteCertificate): LayoutCertificateProof;
329
+
330
+ type SequenceActorType = 'participant' | 'actor' | 'boundary' | 'control' | 'entity' | 'database' | 'collections' | 'queue';
331
+ type SequenceMessageHead = 'none' | 'filled' | 'open' | 'cross' | 'half-top' | 'half-bottom' | 'stick-top' | 'stick-bottom';
332
+ interface Actor {
333
+ /** An incoming endpoint outside the authored participants; no header/lifeline. */
334
+ external?: true;
335
+ wrap?: boolean;
336
+ id: string;
337
+ label: string;
338
+ labelContent?: LabelContent;
339
+ /** Closed official participant-glyph vocabulary. */
340
+ type: SequenceActorType;
341
+ /** Safe actor-menu links; callbacks and unsafe schemes are rejected. */
342
+ links?: Record<string, string>;
343
+ /** Index into `SequenceDiagram.boxes` of the box that frames this actor:
344
+ * the one open when a statement first met it inside a box (upstream's
345
+ * `actor.box`). */
346
+ box?: number;
347
+ /** Index of the message this actor is created at (`create participant …`);
348
+ * its header box + lifeline start there instead of the diagram top. */
349
+ createMessageIndex?: number;
350
+ /** Index of the message this actor is destroyed at (`destroy …`); the
351
+ * lifeline ends there with an X cross. */
352
+ destroyMessageIndex?: number;
353
+ }
354
+ interface Message {
355
+ /** Identity and lexical fragment supplied by another native sequence language. */
356
+ id?: string;
357
+ parentId?: string;
358
+ /** Effective soft-wrap control; absent retains the renderer's default. */
359
+ wrap?: boolean;
360
+ from: string;
361
+ to: string;
362
+ label: string;
363
+ labelContent?: LabelContent;
364
+ /** Arrow style: solid line or dashed line */
365
+ lineStyle: 'solid' | 'dashed';
366
+ /** Exact source and target endpoint semantics. */
367
+ startHead: SequenceMessageHead;
368
+ endHead: SequenceMessageHead;
369
+ centralStart: boolean;
370
+ centralEnd: boolean;
371
+ /** Activate the target lifeline (+) */
372
+ activate?: boolean;
373
+ /** Deactivate the source lifeline (-) */
374
+ deactivate?: boolean;
375
+ /** Sequence number assigned by `autonumber` (absent when numbering is off).
376
+ * Display surfaces prefix it to the label ("1. label"). */
377
+ number?: number;
378
+ }
379
+ interface Note {
380
+ id?: string;
381
+ parentId?: string;
382
+ wrap?: boolean;
383
+ /** Which actor(s) the note is attached to */
384
+ actorIds: string[];
385
+ /** Note text content */
386
+ text: string;
387
+ textContent?: LabelContent;
388
+ /** Position relative to the actor(s) */
389
+ position: 'left' | 'right' | 'over';
390
+ /** Message index after which this note appears */
391
+ afterIndex: number;
392
+ }
393
+
394
+ interface ZenUMLSemanticScope {
395
+ fragmentId: string;
396
+ fragmentIndex: number;
397
+ type: ZenUMLFragmentType;
398
+ branchIndex: number;
399
+ branchKind: ZenUMLBranch['kind'];
400
+ condition?: string;
401
+ }
402
+ interface ZenUMLMessageContext {
403
+ message: Message;
404
+ kind: 'call' | 'async' | 'reply' | 'creation';
405
+ sourceId: string;
406
+ callAncestors: readonly string[];
407
+ scopes: readonly ZenUMLSemanticScope[];
408
+ }
409
+ interface ZenUMLNoteContext {
410
+ note: Note;
411
+ sourceId: string;
412
+ callAncestors: readonly string[];
413
+ scopes: readonly ZenUMLSemanticScope[];
414
+ }
415
+
416
+ /** Every describe format, for the CLI flag, the MCP tool schema, and argument checks. */
417
+ declare const DESCRIBE_FORMATS: readonly ["text", "json", "facts"];
418
+ type DescribeFormat = (typeof DESCRIBE_FORMATS)[number];
419
+ interface DescribeOptions {
420
+ /** 'text' (default): prose summary. 'json': structured AX tree (#7349). 'facts': deterministic semantic facts. */
421
+ format?: DescribeFormat;
422
+ }
423
+ /** Structured accessibility tree (#7349): the graph as a list of nodes + edges. */
424
+ interface DescribeTree {
425
+ kind: string;
426
+ /** Visible document title, when retained by this family's readback. */
427
+ title?: string;
428
+ nodes: Array<{
429
+ id: string;
430
+ label: string;
431
+ parentId?: string;
432
+ value?: number;
433
+ /** Renderer-owned endpoint, not an authored participant. */
434
+ external?: true;
435
+ zenuml?: {
436
+ kind: 'participant';
437
+ type: Actor['type'];
438
+ } | (Pick<ZenUMLNoteContext, 'sourceId' | 'callAncestors' | 'scopes'> & {
439
+ kind: 'note';
440
+ actorIds: readonly string[];
441
+ position: ZenUMLNoteContext['note']['position'];
442
+ afterIndex: number;
443
+ });
444
+ c4?: ({
445
+ category: 'element';
446
+ effectiveShape: C4Shape;
447
+ } & Pick<C4Element, 'kind' | 'external' | 'shape' | 'parentId'>) | ({
448
+ category: 'boundary';
449
+ } & Pick<C4Boundary, 'kind' | 'parentId'>);
450
+ }>;
451
+ edges: Array<{
452
+ from: string;
453
+ to: string;
454
+ label?: string;
455
+ sequence?: {
456
+ fragmentIndex: number;
457
+ branchIndex: number;
458
+ fragmentKind: string;
459
+ branchLabel?: string;
460
+ };
461
+ zenuml?: Pick<ZenUMLMessageContext, 'kind' | 'sourceId' | 'callAncestors' | 'scopes'> & {
462
+ id: string;
463
+ };
464
+ c4?: Pick<C4Relationship, 'id' | 'order' | 'index' | 'macro' | 'direction' | 'bidirectional' | 'reversed'> & {
465
+ authoredFrom: string;
466
+ authoredTo: string;
467
+ };
468
+ }>;
469
+ entryPoints: string[];
470
+ sinks: string[];
471
+ }
472
+ declare function describeMermaidSource(source: string, opts?: DescribeOptions): string;
473
+ declare function describeMermaid(d: ParsedDiagram, opts?: DescribeOptions): string;
474
+ /**
475
+ * #7349: machine-readable accessibility tree — the graph as a flat node/edge
476
+ * list with entry points and sinks. More useful to agents and screen-reader
477
+ * tooling than prose. Covers the structured families; source-level/opaque
478
+ * families expose extracted labels as nodes and no edges.
479
+ */
480
+ declare function describeMermaidTree(d: ParsedDiagram): DescribeTree;
481
+
482
+ type MermaidFact = string;
483
+ interface CheckMermaidObjectSpec {
484
+ /** Required facts. Aliases: expected / require / required. */
485
+ include?: readonly string[];
486
+ expected?: readonly string[];
487
+ require?: readonly string[];
488
+ required?: readonly string[];
489
+ /** Forbidden facts. Aliases: absent / forbid / forbidden / unexpected. */
490
+ exclude?: readonly string[];
491
+ absent?: readonly string[];
492
+ forbid?: readonly string[];
493
+ forbidden?: readonly string[];
494
+ unexpected?: readonly string[];
495
+ /** When true, every emitted fact must be listed in the required set. */
496
+ exact?: boolean;
497
+ }
498
+ type CheckMermaidSpec = readonly string[] | CheckMermaidObjectSpec;
499
+ interface CheckMermaidResult {
500
+ ok: boolean;
501
+ /** Required facts not present in the diagram. */
502
+ missing: string[];
503
+ /** Forbidden facts that were present, or extra facts under exact:true. */
504
+ unexpected: string[];
505
+ /** Full deterministic fact set used for the comparison. */
506
+ facts: string[];
507
+ }
508
+ /** Facts for a parsed diagram. Output is sorted, de-duplicated, and single-line. */
509
+ declare function describeMermaidFacts(d: ParsedDiagram): string[];
510
+ /** Parse then emit facts. Parse failures are explicit Result errors. */
511
+ declare function describeMermaidFactsSource(source: string): Result<string[], ParseError[]>;
512
+ /** Check required/forbidden semantic facts against a parsed diagram. */
513
+ declare function checkMermaid(d: ParsedDiagram, spec: CheckMermaidSpec): CheckMermaidResult;
514
+ declare function checkMermaidSource(source: string, spec: CheckMermaidSpec): Result<CheckMermaidResult, ParseError[]>;
515
+
516
+ /**
517
+ * Invoke a descriptor's pure positioned view without parsing or laying out.
518
+ * This open-id form is useful to extension conformance tests even though the
519
+ * current public `RenderedLayout` envelope remains a closed built-in union.
520
+ */
521
+ declare function projectPositionedView(familyId: FamilyId, positioned: PositionedDiagram, options?: FamilyPositionedProjectionOptions): FamilyPositionedView | null;
522
+
523
+ /** Register a namespaced extension only after its canonical example proves
524
+ * every native declaration twice against the public execution contracts. */
525
+ declare function registerFamily(descriptor: FamilyDescriptor): () => void;
526
+
527
+ declare function edgeIdOf(edge: MermaidEdge, idx?: number): string;
528
+
529
+ declare function mutate(d: FlowchartValidDiagram, op: FlowchartMutationOp): Result<FlowchartValidDiagram, MutationError>;
530
+ declare function mutate(d: StateValidDiagram, op: StateMutationOp): Result<StateValidDiagram, MutationError>;
531
+ declare function mutate(d: SequenceValidDiagram, op: SequenceMutationOp): Result<SequenceValidDiagram, MutationError>;
532
+ declare function mutate(d: TimelineValidDiagram, op: TimelineMutationOp): Result<TimelineValidDiagram, MutationError>;
533
+ declare function mutate(d: ClassValidDiagram, op: ClassMutationOp): Result<ClassValidDiagram, MutationError>;
534
+ declare function mutate(d: ErValidDiagram, op: ErMutationOp): Result<ErValidDiagram, MutationError>;
535
+ declare function mutate(d: JourneyValidDiagram, op: JourneyMutationOp): Result<JourneyValidDiagram, MutationError>;
536
+ declare function mutate(d: ArchitectureValidDiagram, op: ArchitectureMutationOp): Result<ArchitectureValidDiagram, MutationError>;
537
+ declare function mutate(d: XyChartValidDiagram, op: XyChartMutationOp): Result<XyChartValidDiagram, MutationError>;
538
+ declare function mutate(d: PieValidDiagram, op: PieMutationOp): Result<PieValidDiagram, MutationError>;
539
+ declare function mutate(d: QuadrantValidDiagram, op: QuadrantMutationOp): Result<QuadrantValidDiagram, MutationError>;
540
+ declare function mutate(d: GanttValidDiagram, op: GanttMutationOp): Result<GanttValidDiagram, MutationError>;
541
+ declare function mutate(d: RadarValidDiagram, op: RadarMutationOp): Result<RadarValidDiagram, MutationError>;
542
+ declare function mutate(d: C4ValidDiagram, op: C4MutationOp): Result<C4ValidDiagram, MutationError>;
543
+ declare function mutate(d: SankeyValidDiagram, op: SankeyMutationOp): Result<SankeyValidDiagram, MutationError>;
544
+ declare function mutate(d: PacketValidDiagram, op: PacketMutationOp): Result<PacketValidDiagram, MutationError>;
545
+ declare function mutate(d: KanbanValidDiagram, op: KanbanMutationOp): Result<KanbanValidDiagram, MutationError>;
546
+ declare function mutate(d: RequirementValidDiagram, op: RequirementMutationOp): Result<RequirementValidDiagram, MutationError>;
547
+ declare function mutate(d: TreemapValidDiagram, op: TreemapMutationOp): Result<TreemapValidDiagram, MutationError>;
548
+ declare function mutate(d: EventModelingValidDiagram, op: EventModelingMutationOp): Result<EventModelingValidDiagram, MutationError>;
549
+ declare function mutate(d: IshikawaValidDiagram, op: IshikawaMutationOp): Result<IshikawaValidDiagram, MutationError>;
550
+ declare function mutate(d: BlockValidDiagram, op: BlockMutationOp): Result<BlockValidDiagram, MutationError>;
551
+ declare function mutate(d: MutableValidDiagram, op: AnyMutationOp): Result<MutableValidDiagram, MutationError>;
552
+ declare function mutate(d: ParsedDiagram, op: AnyMutationOp): Result<ParsedDiagram, MutationError>;
553
+ /**
554
+ * mutate with a shape check in front — the one choke point every UNTYPED edit
555
+ * path funnels through: the declarative applyOps/buildChecked entrypoints, the
556
+ * Code Mode facade, and the CLI `--op`/`--ops` path. Typed callers keep using
557
+ * `mutate` directly, where the compiler already guarantees op shape;
558
+ * `mutateChecked` restores that guarantee at the boundaries where ops arrive as
559
+ * raw JSON.
560
+ *
561
+ * `validateOp` proves the op's SHAPE (field names, primitive types, enums)
562
+ * BEFORE the mutator runs, so a malformed op is rejected with a prescriptive
563
+ * INVALID_OP error instead of silently mangling the diagram. Semantics — does
564
+ * the referenced node exist, is the id a duplicate — stay in the mutator, which
565
+ * runs second on a shape-proven op. Result shape is identical to `mutate`, so
566
+ * this is a drop-in wherever the raw mutator was called with untyped ops.
567
+ */
568
+ declare function mutateChecked(d: MutableValidDiagram, op: unknown): Result<MutableValidDiagram, MutationError>;
569
+ declare function mutateChecked(d: ParsedDiagram, op: unknown): Result<ParsedDiagram, MutationError>;
570
+ interface SourceMutationResult {
571
+ /** Save these exact bytes. Unsupported syntax remains source-preserved;
572
+ * this artifact is not promised to be portable Mermaid. */
573
+ readonly source: string;
574
+ readonly diagram: ParsedDiagram;
575
+ }
576
+ /** Explicit source-level edits for opaque bodies. Family hooks admit only
577
+ * operations whose complete native read-back changes by the requested delta.
578
+ * Ordinary mutate, checked batches and canonical writers retain their contracts. */
579
+ declare function mutatePreservingSource(d: ParsedDiagram, op: unknown): Result<SourceMutationResult, MutationError>;
580
+
581
+ interface LabelConflictCounts {
582
+ total: number;
583
+ labelLabel: number;
584
+ labelNode: number;
585
+ labelEdge: number;
586
+ }
265
587
 
266
588
  interface QualityMetrics {
589
+ /** Evidence from the actual native paint projection, when this layout retains it. */
590
+ paintCertification?: PaintLayoutCertification;
267
591
  edgeCrossings: number;
268
592
  labelLegibility: number;
593
+ labelMeasurement: {
594
+ measuredNodes: number;
595
+ unmeasuredNodes: number;
596
+ hiddenNodes: number;
597
+ semanticNodes: number;
598
+ measuredEdges: number;
599
+ unmeasuredEdges: number;
600
+ measuredLabels: number;
601
+ unmeasuredLabels: number;
602
+ hiddenLabels: number;
603
+ semanticLabels: number;
604
+ };
269
605
  whitespaceBalance: number;
270
606
  labelEdgeProximity: number;
607
+ /** Padded label-pill conflicts for graph families with retained pill geometry. */
608
+ labelConflicts?: LabelConflictCounts;
609
+ /** Visible graph edge pairs sharing collinear ink. These remain distinct
610
+ * from proper crossings; hiding a crossing in shared ink is not a win.
611
+ * Parallel excludes self-loops, matching the existing route rubric. */
612
+ routeOverlaps?: {
613
+ parallel: number;
614
+ opposing: number;
615
+ };
616
+ /** Raw visible polyline geometry, without subjective bundle/bend exemptions. */
617
+ routeGeometry?: {
618
+ bends: number;
619
+ length: number;
620
+ area: number;
621
+ };
271
622
  minimumNodeSpacing: number;
272
623
  elementDensity: number;
273
624
  minimumTextContrast: number | null;
@@ -276,7 +627,7 @@ interface QualityMetrics {
276
627
  edgeCount: number;
277
628
  }
278
629
  interface QualityBounds {
279
- /** Max edge crossings per (edge × edge) pair. Default 0.05 = 5%. */
630
+ /** Max proper crossing incidences per visible edge pair. Default 0.05 = 5%. */
280
631
  maxCrossingsRatio?: number;
281
632
  /** Min label legibility. Default 0.85 = 85% of labels fit. */
282
633
  minLabelLegibility?: number;
@@ -315,7 +666,7 @@ interface BoundProvenance {
315
666
  note: string;
316
667
  }
317
668
  /** Per-metric provenance. Keyed by the QualityMetrics field each bound gates. */
318
- declare const BOUND_PROVENANCE: Record<'edgeCrossings' | 'labelLegibility' | 'whitespaceBalance' | 'labelEdgeProximity' | 'minimumNodeSpacing' | 'elementDensity' | 'minimumTextContrast' | 'aspectRatio', BoundProvenance>;
669
+ declare const BOUND_PROVENANCE: Record<'paintCertification' | 'edgeCrossings' | 'labelLegibility' | 'whitespaceBalance' | 'labelEdgeProximity' | 'minimumNodeSpacing' | 'elementDensity' | 'minimumTextContrast' | 'aspectRatio', BoundProvenance>;
319
670
  declare function measureQuality(layout: RenderedLayout, options?: QualityMeasurementOptions): QualityMetrics;
320
671
  interface RankedViolation {
321
672
  metric: keyof typeof BOUND_PROVENANCE;
@@ -334,118 +685,35 @@ interface QualityVerdict {
334
685
  }
335
686
  declare function checkQuality(layout: RenderedLayout, bounds?: QualityBounds, measurement?: QualityMeasurementOptions): QualityVerdict;
336
687
 
337
- type LayoutCertificateProof = 'edge-route' | 'region-containment';
338
- declare function layoutCertificateProof(cert: LayoutRouteCertificate): LayoutCertificateProof;
339
-
340
- declare class FamilyConformanceError extends Error {
341
- readonly report: FamilyConformanceReport;
342
- constructor(report: FamilyConformanceReport);
343
- }
344
- /** Register a namespaced extension only after its canonical example proves
345
- * every native declaration twice against the public execution contracts. */
346
- declare function registerFamily(descriptor: FamilyDescriptor): () => void;
347
-
348
- /**
349
- * Invoke a descriptor's pure positioned view without parsing or laying out.
350
- * This open-id form is useful to extension conformance tests even though the
351
- * current public `RenderedLayout` envelope remains a closed built-in union.
352
- */
353
- declare function projectPositionedView(familyId: FamilyId, positioned: PositionedDiagram, options?: FamilyPositionedProjectionOptions): FamilyPositionedView | null;
354
-
355
- type RegionKind = Exclude<RenderedRegionKind, 'canvas' | 'group'> | 'group' | 'subgraph';
356
- type AsciiWarningCode = 'ASCII_RENDER_FAILED' | 'ASCII_EDGE_REGION_UNMAPPED' | TerminalProjectionDiagnosticCode;
357
- interface AsciiWarning {
358
- code: AsciiWarningCode;
359
- message: string;
360
- severity: 'degraded';
361
- }
362
- declare const ASCII_ROUTE_PARITY_CONTRACT: {
363
- readonly version: 1;
364
- readonly routeIntent: "shared-route-classes";
365
- readonly svgSource: "route-contract classifyRoutes() + certificates";
366
- readonly asciiSource: "grid router seeded with classifyRoutes() routeClass metadata, longest-path layering, and direct-lane-first routing";
367
- readonly degradationWarnings: readonly ["ASCII_RENDER_FAILED", "ASCII_EDGE_REGION_UNMAPPED"];
368
- };
369
- interface AsciiRegion {
370
- kind: RegionKind;
371
- /** Stable identifier for the diagram element (e.g. node id, participant id). */
372
- id: string;
373
- /** Optional 1-based source line where the element was declared, when known. */
374
- sourceLine?: number;
375
- /** 0-based row in the rendered canvas where the region starts. */
376
- canvasRow: number;
377
- /** 0-based column where the region starts (inclusive). */
378
- canvasColStart: number;
379
- /** 0-based column where the region ends (exclusive). */
380
- canvasColEnd: number;
381
- /** Optional row count when the region spans multiple lines (boxed node). */
382
- rowSpan?: number;
383
- /** Normalized text this best-effort label region was matched from. */
384
- projectedText?: string;
385
- /** Exact rendered cells claimed by authored label glyphs. Route detectors use
386
- * this position-specific mask instead of exempting a glyph everywhere. */
387
- authoredTextCells?: Array<{
388
- row: number;
389
- column: number;
390
- glyph: string;
391
- }>;
392
- }
393
- interface AsciiWithMeta {
394
- ascii: string;
395
- regions: AsciiRegion[];
396
- /** Inert action records keyed to the same stable target ids as `regions`. */
397
- actions: DiagramActionRecord[];
398
- warnings: AsciiWarning[];
399
- routeParity: typeof ASCII_ROUTE_PARITY_CONTRACT;
400
- }
401
- declare function renderMermaidASCIIWithMeta(input: ParsedDiagram | string, opts?: AsciiRenderOptions): AsciiWithMeta;
402
-
403
- interface DescribeOptions {
404
- /** 'text' (default): prose summary. 'json': structured AX tree (#7349). 'facts': deterministic semantic facts. */
405
- format?: 'text' | 'json' | 'facts';
406
- }
407
- /** Structured accessibility tree (#7349): the graph as a list of nodes + edges. */
408
- interface DescribeTree {
409
- kind: string;
410
- nodes: Array<{
411
- id: string;
412
- label: string;
413
- }>;
414
- edges: Array<{
415
- from: string;
416
- to: string;
417
- label?: string;
418
- sequence?: {
419
- fragmentIndex: number;
420
- branchIndex: number;
421
- fragmentKind: string;
422
- branchLabel?: string;
423
- };
424
- }>;
425
- entryPoints: string[];
426
- sinks: string[];
688
+ interface SerializeOptions {
689
+ /**
690
+ * Wrapper emission policy. 'verbatim' (default) re-emits the leading source
691
+ * wrapper (frontmatter, init directives, comments) byte-identically from
692
+ * `meta.wrapperSource`, except adjacent frontmatter delimiters with no content
693
+ * line, which Mermaid rejects. It then re-emits any init directive authored *after*
694
+ * the family header that the serialized body does not already own — a
695
+ * structured serializer receives directive-free grammar, so without this the
696
+ * config would be lost. Such a directive therefore moves ahead of the
697
+ * header; source-preserving bodies keep theirs in place and are unaffected.
698
+ * 'canonical' synthesizes Mermaid's documented shape
699
+ * instead: one frontmatter block with `title`/`displayMode` at the top
700
+ * level and config values nested under `config:`. A single object init
701
+ * directive folds in; multiple init layers retain their order and boundaries.
702
+ * Invalid configuration must be repaired before canonical export, and
703
+ * wrapper comments dropped. Diagrams without a captured wrapper (e.g.
704
+ * synthesized from JSON payloads) always use canonical synthesis.
705
+ */
706
+ wrapper?: 'verbatim' | 'canonical';
427
707
  }
428
- declare function describeMermaidSource(source: string, opts?: DescribeOptions): string;
429
- declare function describeMermaid(d: ParsedDiagram, opts?: DescribeOptions): string;
430
- /**
431
- * #7349: machine-readable accessibility tree — the graph as a flat node/edge
432
- * list with entry points and sinks. More useful to agents and screen-reader
433
- * tooling than prose. Covers the structured families; source-level/opaque
434
- * families expose extracted labels as nodes and no edges.
435
- */
436
- declare function describeMermaidTree(d: ParsedDiagram): DescribeTree;
437
-
438
- declare function analyzeMermaid(d: ParsedDiagram): DiagramAnalysis;
439
- declare function analyzeMermaidSource(source: string): Result<DiagramAnalysis, ParseError[]>;
440
- declare function collectActionRecords(d: ParsedDiagram): DiagramActionRecord[];
708
+ declare function serializeMermaid(d: ParsedDiagram, opts?: SerializeOptions): string;
709
+ declare function synthesizeFromGraph(payload: ValidDiagramPayload & {
710
+ kind: ValidDiagram['kind'];
711
+ body: Exclude<ValidDiagramPayload['body'], ExtensionDiagramBody>;
712
+ }): Result<ValidDiagram, ParseError[]>;
713
+ declare function synthesizeFromGraph(payload: ValidDiagramPayload): Result<ParsedDiagram, ParseError[]>;
441
714
 
442
- /**
443
- * Reverse an ASCII flowchart render back to (best-effort) Mermaid source.
444
- * Returns synthesized ids (N0, N1, …) with recovered labels and edges.
445
- */
446
- declare function asciiToMermaid(ascii: string, opts?: {
447
- direction?: 'TD' | 'LR';
448
- }): Result<string, ParseError[]>;
715
+ /** The legacy ok flag is an error gate, never a task-correctness certificate. */
716
+ declare function verifyMermaid(input: ParsedDiagram | string, opts?: VerifyOptions): VerifyResult;
449
717
 
450
718
  declare function renderMermaidSVG(input: ParsedDiagram | string, opts?: Parameters<typeof renderMermaidSVG$1>[1]): string;
451
719
  declare function renderMermaidSVGWithReceipt(input: ParsedDiagram | string, opts?: Parameters<typeof renderMermaidSVG$1>[1]): RenderedSvg;
@@ -465,4 +733,4 @@ interface RenderedLayoutArtifact {
465
733
  declare function layoutMermaidWithReceipt(input: ParsedDiagram | string, opts?: LayoutRenderOptions): RenderedLayoutArtifact;
466
734
  declare function layoutMermaid(d: ParsedDiagram, opts?: LayoutMermaidOptions): RenderedLayout;
467
735
 
468
- export { ASCII_ROUTE_PARITY_CONTRACT, AnyMutationOp, type ApplyOpsInput, ArchitectureMutationOp, ArchitectureValidDiagram, type AsciiRegion, AsciiRenderOptions, type AsciiWarning, type AsciiWarningCode, type AsciiWithMeta, BOUND_PROVENANCE, type BoundBasis, type BoundProvenance, type BuildError, type CheckMermaidObjectSpec, type CheckMermaidResult, type CheckMermaidSpec, type CheckedBuildError, ClassMutationOp, ClassValidDiagram, type CreateMermaidOptions, DEFAULT_BOUNDS, type DescribeOptions, type DescribeTree, DiagramActionRecord, DiagramAnalysis, DiagramKind, ErMutationOp, ErValidDiagram, ExtensionDiagramBody, FamilyConformanceError, FamilyConformanceReport, FamilyDescriptor, FamilyId, FamilyPositionedProjectionOptions, FamilyPositionedView, FlowchartMutationOp, FlowchartValidDiagram, GanttMutationOp, GanttValidDiagram, GitGraphMutationOp, GitGraphValidDiagram, JourneyMutationOp, JourneyValidDiagram, type LayoutCertificateProof, type LayoutMermaidOptions, type LayoutRenderOptions, LayoutRouteCertificate, type MermaidFact, MindmapMutationOp, MindmapValidDiagram, MutableValidDiagram, MutationError, type OpEnvelope, type OpFamily, type OpFieldDoc, type OpValidationError, ParseError, ParsedDiagram, PieMutationOp, PieValidDiagram, QuadrantMutationOp, QuadrantValidDiagram, type QualityBounds, type QualityMeasurementOptions, type QualityMetrics, type QualityVerdict, RadarMutationOp, RadarValidDiagram, type RankedViolation, type RegionKind, RenderRequestReceipt, RenderedAscii, RenderedLayout, type RenderedLayoutArtifact, RenderedRegionKind, Result, SequenceMutationOp, SequenceValidDiagram, StateMutationOp, StateValidDiagram, TimelineMutationOp, TimelineValidDiagram, ValidDiagram, ValidDiagramPayload, VerifyOptions, VerifyResult, type VerifySummary, type ViolationSeverity, XyChartMutationOp, XyChartValidDiagram, analyzeMermaid, analyzeMermaidSource, applyOps, asciiToMermaid, buildChecked, buildMermaid, checkMermaid, checkMermaidSource, checkQuality, collectActionRecords, createMermaid, describeMermaid, describeMermaidFacts, describeMermaidFactsSource, describeMermaidSource, describeMermaidTree, describeOps, edgeIdOf, hasOpSchema, layoutCertificateProof, layoutMermaid, layoutMermaidWithReceipt, measureQuality, mutate, mutateChecked, opMenu, opSignatures, projectPositionedView, registerFamily, renderMermaidASCII, renderMermaidASCIIWithMeta, renderMermaidASCIIWithReceipt, renderMermaidSVG, renderMermaidSVGWithReceipt, serializeMermaid, synthesizeFromGraph, validateOp, verifyMermaid, verifySummary };
736
+ export { ASCII_ROUTE_PARITY_CONTRACT, AnyMutationOp, type ApplyOpsInput, ArchitectureMutationOp, ArchitectureValidDiagram, type AsciiRegion, AsciiRenderOptions, type AsciiWarning, type AsciiWarningCode, type AsciiWithMeta, BOUND_PROVENANCE, BlockMutationOp, BlockValidDiagram, type BoundBasis, type BoundProvenance, type BuildError, C4Boundary, C4Element, C4MutationOp, C4Relationship, C4Shape, C4ValidDiagram, C4Variant, type CheckMermaidObjectSpec, type CheckMermaidResult, type CheckMermaidSpec, type CheckedBuildError, ClassMutationOp, ClassValidDiagram, type CreateMermaidOptions, DEFAULT_BOUNDS, type DescribeOptions, type DescribeTree, DiagramActionRecord, DiagramAnalysis, DiagramKind, ErMutationOp, ErValidDiagram, EventModelingMutationOp, EventModelingValidDiagram, ExtensionDiagramBody, FamilyDescriptor, FamilyId, FamilyPositionedProjectionOptions, FamilyPositionedView, FlowchartMutationOp, FlowchartValidDiagram, GanttMutationOp, GanttValidDiagram, GitGraphMutationOp, GitGraphValidDiagram, IshikawaMutationOp, IshikawaValidDiagram, JourneyMutationOp, JourneyValidDiagram, KanbanMutationOp, KanbanValidDiagram, LabelContent, type LayoutCertificateProof, type LayoutMermaidOptions, type LayoutRenderOptions, LayoutRouteCertificate, type MermaidFact, MindmapMutationOp, MindmapValidDiagram, MutableValidDiagram, MutationError, type OpEnvelope, type OpFamily, type OpFieldDoc, type OpValidationError, PacketMutationOp, PacketValidDiagram, PaintLayoutCertification, ParseError, ParsedDiagram, PieMutationOp, PieValidDiagram, QuadrantMutationOp, QuadrantValidDiagram, type QualityBounds, type QualityMeasurementOptions, type QualityMetrics, type QualityVerdict, RadarMutationOp, RadarValidDiagram, type RankedViolation, type RegionKind, RenderRequestReceipt, RenderedAscii, RenderedLayout, type RenderedLayoutArtifact, RenderedRegionKind, RequirementMutationOp, RequirementValidDiagram, Result, SankeyMutationOp, SankeyValidDiagram, SequenceMutationOp, SequenceValidDiagram, type SourceMutationResult, StateMutationOp, StateValidDiagram, TimelineMutationOp, TimelineValidDiagram, TreemapMutationOp, TreemapValidDiagram, ValidDiagram, ValidDiagramPayload, VerifyOptions, VerifyResult, type VerifySummary, type ViolationSeverity, XyChartMutationOp, XyChartValidDiagram, ZenUMLBranch, ZenUMLMutationOp, ZenUMLValidDiagram, analyzeMermaid, analyzeMermaidSource, applyOps, asciiToMermaid, buildChecked, buildMermaid, checkMermaid, checkMermaidSource, checkQuality, collectActionRecords, createMermaid, describeMermaid, describeMermaidFacts, describeMermaidFactsSource, describeMermaidSource, describeMermaidTree, describeOps, edgeIdOf, hasOpSchema, layoutCertificateProof, layoutMermaid, layoutMermaidWithReceipt, measureQuality, mutate, mutateChecked, mutatePreservingSource, opMenu, opSignatures, projectPositionedView, registerFamily, renderMermaidASCII, renderMermaidASCIIWithMeta, renderMermaidASCIIWithReceipt, renderMermaidSVG, renderMermaidSVGWithReceipt, serializeMermaid, synthesizeFromGraph, validateOp, verifyMermaid, verifySummary };