agentic-mermaid 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/AGENT_NATIVE.md +155 -91
  2. package/CHANGELOG.md +163 -4
  3. package/Instructions_for_agents.md +10 -10
  4. package/LICENSES/Apache-2.0.txt +202 -0
  5. package/README.md +31 -38
  6. package/THIRD_PARTY_NOTICES.md +29 -0
  7. package/assets/hero.png +0 -0
  8. package/dist/agent-core.d.ts +463 -0
  9. package/dist/agent-core.js +397 -0
  10. package/dist/agent.d.ts +73 -1868
  11. package/dist/agent.js +336 -37325
  12. package/dist/agentic-mermaid-mcp.js +7 -38399
  13. package/dist/am.js +33626 -40446
  14. package/dist/chunk-2P5FKUQC.js +3485 -0
  15. package/dist/chunk-2S3VSS6I.js +149 -0
  16. package/dist/chunk-2SILJDW2.js +37 -0
  17. package/dist/chunk-BJYMBT4I.js +61963 -0
  18. package/dist/chunk-FDM43XU7.js +615 -0
  19. package/dist/chunk-MYPDVZCO.js +4702 -0
  20. package/dist/index-DWPa2MJs.d.ts +6780 -0
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +310 -33014
  23. package/dist/mcp-cli-5J47WEY3.js +17 -0
  24. package/docs/README.md +39 -31
  25. package/docs/agent-api-cookbook.md +44 -35
  26. package/docs/agent-mutation-policy.md +1 -1
  27. package/docs/agent-workflow-examples.md +2 -2
  28. package/docs/api.md +284 -77
  29. package/docs/ascii.md +26 -16
  30. package/docs/code-mode-impact.md +214 -0
  31. package/docs/comparison.md +23 -11
  32. package/docs/computational-aesthetics-prototype-plan.md +252 -0
  33. package/docs/config.md +26 -10
  34. package/docs/custom-fonts.md +265 -0
  35. package/docs/custom-style-cookbook.md +130 -9
  36. package/docs/diagram-families.md +48 -23
  37. package/docs/features.md +59 -52
  38. package/docs/fork-differences.md +6 -3
  39. package/docs/getting-started.md +23 -16
  40. package/docs/issue-derived-test-cases.md +29 -22
  41. package/docs/mcp-code-mode-rationale.md +13 -6
  42. package/docs/mcp-http-transport.md +20 -13
  43. package/docs/mermaid-layout-complaints.md +66 -52
  44. package/docs/mutation-testing.md +145 -66
  45. package/docs/quality.md +23 -14
  46. package/docs/react.md +2 -2
  47. package/docs/schemas/style-spec.schema.json +1221 -30
  48. package/docs/style-authoring.md +241 -38
  49. package/docs/svg-semantic-contract.md +49 -0
  50. package/docs/testing-strategy.md +166 -58
  51. package/docs/theming.md +19 -32
  52. package/examples/styles/catalog.json +54 -0
  53. package/examples/styles/cloudflare-workers-inspired-prototype.mmd +9 -0
  54. package/examples/styles/cloudflare-workers-inspired-prototype.style.json +110 -0
  55. package/examples/styles/cupertino-prototype.mmd +10 -0
  56. package/examples/styles/cupertino-prototype.style.json +63 -0
  57. package/examples/styles/mid-century-report.style.json +2 -2
  58. package/examples/styles/star-chart-atlas.style.json +2 -1
  59. package/examples/styles/transit-route-map.style.json +2 -2
  60. package/examples/styles/vercel-inspired-prototype.mmd +6 -0
  61. package/examples/styles/vercel-inspired-prototype.style.json +87 -0
  62. package/package.json +85 -45
  63. package/server.json +2 -2
  64. package/skills/agentic-mermaid-diagram-workflow/SKILL.md +17 -36
  65. package/skills/agentic-mermaid-diagram-workflow/references/cli.md +4 -5
  66. package/skills/agentic-mermaid-diagram-workflow/references/code-mode.md +15 -31
  67. package/skills/agentic-mermaid-diagram-workflow/references/sequence.md +10 -14
  68. package/skills/agentic-mermaid-live-editor/SKILL.md +100 -206
  69. package/TODO.md +0 -684
  70. package/dist/index-wjRjbsP-.d.ts +0 -1102
  71. package/docs/assets/improvements/box-start-connector.png +0 -0
  72. package/docs/assets/improvements/comment-dropped-lint.png +0 -0
  73. package/docs/assets/improvements/er-content-loss.png +0 -0
  74. package/docs/assets/improvements/fan-in-trunks.png +0 -0
  75. package/docs/assets/improvements/gantt-family.png +0 -0
  76. package/docs/assets/improvements/gantt-milestone-clamp.png +0 -0
  77. package/docs/assets/improvements/gantt-verify-seam.png +0 -0
  78. package/docs/assets/improvements/subgraph-container-edges.png +0 -0
  79. package/docs/assets/improvements/wrapper-frontmatter.png +0 -0
  80. package/docs/assets/improvements/wrapper-init-directive.png +0 -0
  81. package/docs/assets/improvements/wrapper-leading-comment.png +0 -0
  82. package/docs/assets/style-cookbook/mid-century-report.png +0 -0
  83. package/docs/assets/style-cookbook/star-chart-atlas.png +0 -0
  84. package/docs/assets/style-cookbook/transit-route-map.png +0 -0
  85. package/docs/contributing/adding-diagram-types.md +0 -144
  86. package/docs/contributing/diagram-family-citizenship.matrix.json +0 -2127
  87. package/docs/contributing/diagram-family-citizenship.md +0 -82
  88. package/docs/contributing/harvesting-upstream-tests.md +0 -126
  89. package/docs/contributing/lessons-learned.md +0 -276
  90. package/docs/contributing/releasing.md +0 -82
  91. package/docs/contributing/visual-review-evidence.md +0 -53
  92. package/docs/design/families/README.md +0 -26
  93. package/docs/design/families/architecture-beta.md +0 -48
  94. package/docs/design/families/flowchart-parser-conformance.md +0 -22
  95. package/docs/design/families/gantt-research.md +0 -137
  96. package/docs/design/families/gantt.md +0 -329
  97. package/docs/design/families/journey-agentic-cards-before.png +0 -0
  98. package/docs/design/families/journey-experience-curve-implementation.png +0 -0
  99. package/docs/design/families/journey-mermaid-classic-implementation.png +0 -0
  100. package/docs/design/families/journey-mermaid-classic-prototype.png +0 -0
  101. package/docs/design/families/journey-mermaid-classic-prototype.svg +0 -163
  102. package/docs/design/families/journey-mermaid-classic-prototype.svg.png +0 -0
  103. package/docs/design/families/journey-migration-parity.md +0 -439
  104. package/docs/design/families/journey-section-overlap-after.png +0 -0
  105. package/docs/design/families/journey-section-overlap-before.png +0 -0
  106. package/docs/design/families/journey-usage-research.md +0 -423
  107. package/docs/design/families/journey.md +0 -153
  108. package/docs/design/families/xychart.md +0 -85
  109. package/docs/design/system/README.md +0 -45
  110. package/docs/design/system/abstraction-audit.md +0 -224
  111. package/docs/design/system/abstraction-recommendations.md +0 -655
  112. package/docs/design/system/architecture.mmd +0 -29
  113. package/docs/design/system/architecture.svg +0 -137
  114. package/docs/design/system/layout-guarantees-and-robustness.md +0 -351
  115. package/docs/design/system/layout-rubric.md +0 -138
  116. package/docs/design/system/route-contracts.md +0 -848
  117. package/docs/design/system/source-preservation-ladder.md +0 -52
  118. package/docs/design/system/styles-rollout.md +0 -216
  119. package/docs/design/system/ugly-layouts.md +0 -119
  120. package/docs/layout-characterization/README.md +0 -245
  121. package/docs/layout-characterization/contact-sheet-families.md +0 -498
  122. package/docs/layout-characterization/contact-sheet.md +0 -638
  123. package/docs/layout-characterization/properties.md +0 -281
  124. package/docs/layout-characterization/visual-quality.md +0 -160
  125. package/docs/layout-characterization/visual-snapshots/architecture.svg +0 -79
  126. package/docs/layout-characterization/visual-snapshots/class.svg +0 -60
  127. package/docs/layout-characterization/visual-snapshots/er.svg +0 -61
  128. package/docs/layout-characterization/visual-snapshots/flowchart.svg +0 -58
  129. package/docs/layout-characterization/visual-snapshots/gantt.svg +0 -52
  130. package/docs/layout-characterization/visual-snapshots/journey.svg +0 -98
  131. package/docs/layout-characterization/visual-snapshots/pie.svg +0 -36
  132. package/docs/layout-characterization/visual-snapshots/quadrant.svg +0 -47
  133. package/docs/layout-characterization/visual-snapshots/sequence.svg +0 -59
  134. package/docs/layout-characterization/visual-snapshots/state.svg +0 -52
  135. package/docs/layout-characterization/visual-snapshots/timeline.svg +0 -64
  136. package/docs/layout-characterization/visual-snapshots/xychart.svg +0 -97
  137. package/docs/project/divergences.md +0 -98
  138. package/docs/project/dogfooding-docs-strategy.md +0 -66
  139. package/docs/project/hosted-mcp-cloudflare-plan.md +0 -338
  140. package/docs/project/lessons-learned.md +0 -1019
  141. package/docs/project/remove-role-styling-plan.md +0 -176
  142. package/examples/agent-improve-auth-flow.ts +0 -206
  143. package/examples/agent-loop.ts +0 -53
  144. package/examples/mcp-vs-cli-complex-diagrams.ts +0 -133
  145. package/llms.txt +0 -104
  146. package/skill-evals/README.md +0 -77
  147. package/skill-evals/fixtures/architecture-cache/input.mmd +0 -5
  148. package/skill-evals/fixtures/class-payment/input.mmd +0 -4
  149. package/skill-evals/fixtures/er-orders/input.mmd +0 -10
  150. package/skill-evals/fixtures/flowchart-cache/input.mmd +0 -3
  151. package/skill-evals/fixtures/gantt-release/input.mmd +0 -7
  152. package/skill-evals/fixtures/journey-checkout/input.mmd +0 -6
  153. package/skill-evals/fixtures/pie-exports/input.mmd +0 -5
  154. package/skill-evals/fixtures/quadrant-priorities/input.mmd +0 -11
  155. package/skill-evals/fixtures/sequence-retry/input.mmd +0 -8
  156. package/skill-evals/fixtures/state-lifecycle/input.mmd +0 -5
  157. package/skill-evals/fixtures/timeline-release/input.mmd +0 -6
  158. package/skill-evals/fixtures/xychart-growth/input.mmd +0 -5
  159. package/skill-evals/shared-benchmark.json +0 -510
  160. package/src/agent/analyze.ts +0 -157
  161. package/src/agent/apply.ts +0 -146
  162. package/src/agent/architecture-body.ts +0 -458
  163. package/src/agent/certificates.ts +0 -110
  164. package/src/agent/class-body.ts +0 -319
  165. package/src/agent/core.ts +0 -207
  166. package/src/agent/create.ts +0 -106
  167. package/src/agent/describe.ts +0 -368
  168. package/src/agent/er-body.ts +0 -224
  169. package/src/agent/facts.ts +0 -360
  170. package/src/agent/families-builtin.ts +0 -920
  171. package/src/agent/families.ts +0 -232
  172. package/src/agent/family-layouts.ts +0 -832
  173. package/src/agent/flowchart-body.ts +0 -372
  174. package/src/agent/flowchart-unsupported.ts +0 -243
  175. package/src/agent/font-coverage.ts +0 -288
  176. package/src/agent/gantt-body.ts +0 -495
  177. package/src/agent/index.ts +0 -10
  178. package/src/agent/journey-body.ts +0 -374
  179. package/src/agent/label-metrics.ts +0 -28
  180. package/src/agent/layout-to-rendered.ts +0 -63
  181. package/src/agent/mutate.ts +0 -97
  182. package/src/agent/mutation-ops.ts +0 -51
  183. package/src/agent/op-schema.ts +0 -443
  184. package/src/agent/parse.ts +0 -223
  185. package/src/agent/pie-body.ts +0 -270
  186. package/src/agent/png.ts +0 -171
  187. package/src/agent/quadrant-body.ts +0 -336
  188. package/src/agent/quality.ts +0 -363
  189. package/src/agent/readability-audit.ts +0 -92
  190. package/src/agent/rendered-route-audit.ts +0 -61
  191. package/src/agent/sequence-body.ts +0 -345
  192. package/src/agent/serialize.ts +0 -214
  193. package/src/agent/state-body.ts +0 -589
  194. package/src/agent/structural-count.ts +0 -150
  195. package/src/agent/timeline-body.ts +0 -280
  196. package/src/agent/trace-log.ts +0 -43
  197. package/src/agent/types.ts +0 -995
  198. package/src/agent/verify.ts +0 -603
  199. package/src/agent/xychart-body.ts +0 -472
  200. package/src/architecture/config.ts +0 -282
  201. package/src/architecture/layout.ts +0 -496
  202. package/src/architecture/parser.ts +0 -375
  203. package/src/architecture/renderer.ts +0 -611
  204. package/src/architecture/types.ts +0 -113
  205. package/src/ascii/ansi.ts +0 -423
  206. package/src/ascii/architecture.ts +0 -210
  207. package/src/ascii/canvas.ts +0 -443
  208. package/src/ascii/class-diagram.ts +0 -697
  209. package/src/ascii/converter.ts +0 -475
  210. package/src/ascii/draw.ts +0 -1693
  211. package/src/ascii/edge-bundling.ts +0 -328
  212. package/src/ascii/edge-routing.ts +0 -330
  213. package/src/ascii/er-diagram.ts +0 -439
  214. package/src/ascii/gantt.ts +0 -276
  215. package/src/ascii/grid.ts +0 -747
  216. package/src/ascii/index.ts +0 -196
  217. package/src/ascii/journey.ts +0 -169
  218. package/src/ascii/meta.ts +0 -244
  219. package/src/ascii/multiline-utils.ts +0 -80
  220. package/src/ascii/pathfinder.ts +0 -301
  221. package/src/ascii/pie.ts +0 -67
  222. package/src/ascii/quadrant.ts +0 -158
  223. package/src/ascii/reverse.ts +0 -216
  224. package/src/ascii/sequence.ts +0 -499
  225. package/src/ascii/shapes/circle.ts +0 -27
  226. package/src/ascii/shapes/corners.ts +0 -143
  227. package/src/ascii/shapes/diamond.ts +0 -27
  228. package/src/ascii/shapes/hexagon.ts +0 -27
  229. package/src/ascii/shapes/index.ts +0 -106
  230. package/src/ascii/shapes/rectangle.ts +0 -168
  231. package/src/ascii/shapes/rounded.ts +0 -27
  232. package/src/ascii/shapes/special.ts +0 -332
  233. package/src/ascii/shapes/stadium.ts +0 -110
  234. package/src/ascii/shapes/state.ts +0 -192
  235. package/src/ascii/shapes/types.ts +0 -73
  236. package/src/ascii/timeline.ts +0 -141
  237. package/src/ascii/types.ts +0 -312
  238. package/src/ascii/validate.ts +0 -120
  239. package/src/ascii/width.ts +0 -81
  240. package/src/ascii/wrap.ts +0 -131
  241. package/src/ascii/xychart.ts +0 -919
  242. package/src/browser.ts +0 -29
  243. package/src/class/layout.ts +0 -240
  244. package/src/class/parser.ts +0 -332
  245. package/src/class/renderer.ts +0 -638
  246. package/src/class/types.ts +0 -129
  247. package/src/cli/agent-instructions.ts +0 -1
  248. package/src/cli/am-bin.ts +0 -6
  249. package/src/cli/exit-codes.ts +0 -18
  250. package/src/cli/index.ts +0 -1132
  251. package/src/cli/init-agent.ts +0 -147
  252. package/src/cli/run-entrypoint.ts +0 -10
  253. package/src/color-resolver.ts +0 -152
  254. package/src/elk-instance.ts +0 -114
  255. package/src/er/layout.ts +0 -187
  256. package/src/er/parser.ts +0 -226
  257. package/src/er/renderer.ts +0 -792
  258. package/src/er/types.ts +0 -99
  259. package/src/family-rubric.ts +0 -425
  260. package/src/font-manifest.ts +0 -31
  261. package/src/gantt/layout.ts +0 -365
  262. package/src/gantt/parser.ts +0 -282
  263. package/src/gantt/pipeline.ts +0 -27
  264. package/src/gantt/renderer.ts +0 -414
  265. package/src/gantt/schedule.ts +0 -513
  266. package/src/gantt/types.ts +0 -255
  267. package/src/index.ts +0 -368
  268. package/src/journey/layout.ts +0 -554
  269. package/src/journey/parse-core.ts +0 -251
  270. package/src/journey/parser.ts +0 -101
  271. package/src/journey/renderer.ts +0 -917
  272. package/src/journey/types.ts +0 -144
  273. package/src/layout/geometry.ts +0 -182
  274. package/src/layout/pass.ts +0 -142
  275. package/src/layout/passes/index.ts +0 -3916
  276. package/src/layout-engine.ts +0 -1565
  277. package/src/layout-rubric.ts +0 -659
  278. package/src/mcp/artifacts.ts +0 -137
  279. package/src/mcp/dynamic-harness.ts +0 -31
  280. package/src/mcp/dynamic-modules.d.ts +0 -7
  281. package/src/mcp/facade.ts +0 -608
  282. package/src/mcp/harness-runtime.ts +0 -203
  283. package/src/mcp/hosted-server.ts +0 -468
  284. package/src/mcp/mcp-bin.ts +0 -3
  285. package/src/mcp/mcp-cli.ts +0 -82
  286. package/src/mcp/protocol.ts +0 -13
  287. package/src/mcp/sandbox.ts +0 -195
  288. package/src/mcp/sdk-decl.ts +0 -391
  289. package/src/mcp/server.ts +0 -362
  290. package/src/mcp/tool-surface.ts +0 -146
  291. package/src/mermaid-source.ts +0 -655
  292. package/src/multiline-utils.ts +0 -228
  293. package/src/parser.ts +0 -1031
  294. package/src/pie/layout.ts +0 -168
  295. package/src/pie/parser.ts +0 -136
  296. package/src/pie/renderer.ts +0 -234
  297. package/src/pie/types.ts +0 -82
  298. package/src/quadrant/layout.ts +0 -191
  299. package/src/quadrant/parser.ts +0 -183
  300. package/src/quadrant/renderer.ts +0 -322
  301. package/src/quadrant/types.ts +0 -113
  302. package/src/render-family-hooks.ts +0 -244
  303. package/src/renderer.ts +0 -1099
  304. package/src/route-contracts.ts +0 -2723
  305. package/src/scene/backend.ts +0 -76
  306. package/src/scene/fidelity.ts +0 -183
  307. package/src/scene/hybrid-backend.ts +0 -174
  308. package/src/scene/ir.ts +0 -181
  309. package/src/scene/marks.ts +0 -127
  310. package/src/scene/rough-backend.ts +0 -378
  311. package/src/scene/seed.ts +0 -46
  312. package/src/scene/style-registry.ts +0 -556
  313. package/src/sequence/layout.ts +0 -456
  314. package/src/sequence/parser.ts +0 -255
  315. package/src/sequence/renderer.ts +0 -604
  316. package/src/sequence/types.ts +0 -154
  317. package/src/shape-clipping.ts +0 -351
  318. package/src/shared/accessibility-directives.ts +0 -22
  319. package/src/shared/batched.ts +0 -61
  320. package/src/shared/color-math.ts +0 -93
  321. package/src/shared/svg-a11y.ts +0 -29
  322. package/src/shared/syntax-error.ts +0 -17
  323. package/src/shared/unicode-ranges.ts +0 -135
  324. package/src/styles.ts +0 -318
  325. package/src/svg-paths.ts +0 -28
  326. package/src/text-metrics.ts +0 -248
  327. package/src/theme.ts +0 -710
  328. package/src/timeline/layout.ts +0 -381
  329. package/src/timeline/parser.ts +0 -215
  330. package/src/timeline/renderer.ts +0 -538
  331. package/src/timeline/types.ts +0 -105
  332. package/src/types.ts +0 -462
  333. package/src/website-worker-modules.d.ts +0 -18
  334. package/src/xychart/axis-utils.ts +0 -109
  335. package/src/xychart/colors.ts +0 -124
  336. package/src/xychart/config.ts +0 -88
  337. package/src/xychart/layout.ts +0 -656
  338. package/src/xychart/parser.ts +0 -504
  339. package/src/xychart/renderer.ts +0 -640
  340. package/src/xychart/types.ts +0 -282
@@ -0,0 +1,63 @@
1
+ {
2
+ "$schema": "https://agentic-mermaid.dev/schemas/style-spec.schema.json",
3
+ "formatVersion": 1,
4
+ "name": "look:cupertino-prototype",
5
+ "blurb": "Documentation-only Cupertino-inspired prototype exercising public role geometry, shared elevation, and inspect-only constraints; not built in or endorsed.",
6
+ "colors": {
7
+ "bg": "#f2f2f7",
8
+ "fg": "#000000",
9
+ "line": "#7a7a80",
10
+ "accent": "#007aff",
11
+ "muted": "#5f5f64",
12
+ "surface": "#ffffff",
13
+ "border": "rgba(60,60,67,0.29)"
14
+ },
15
+ "font": "Inter",
16
+ "stroke": "crisp",
17
+ "strokeWidth": 1,
18
+ "intent": "premium",
19
+ "roles": {
20
+ "node": {
21
+ "fontSize": 13,
22
+ "fontWeight": 600,
23
+ "paddingX": 24,
24
+ "paddingY": 12,
25
+ "cornerRadius": 10,
26
+ "lineWidth": 1,
27
+ "fillColor": "#ffffff",
28
+ "borderColor": "transparent",
29
+ "textColor": "#000000"
30
+ },
31
+ "edge": {
32
+ "fontSize": 11,
33
+ "fontWeight": 500,
34
+ "letterSpacing": 0.07,
35
+ "lineWidth": 1.5,
36
+ "bendRadius": 16,
37
+ "strokeColor": "#7a7a80",
38
+ "textColor": "#5f5f64"
39
+ },
40
+ "group": {
41
+ "fontSize": 12,
42
+ "fontWeight": 600,
43
+ "paddingX": 16,
44
+ "paddingY": 16,
45
+ "cornerRadius": 26,
46
+ "lineWidth": 1,
47
+ "fillColor": "rgba(120,120,128,0.08)",
48
+ "headerFillColor": "rgba(120,120,128,0.12)",
49
+ "borderColor": "transparent",
50
+ "textColor": "#5f5f64"
51
+ },
52
+ "label": {
53
+ "fontSize": 11,
54
+ "fontWeight": 500,
55
+ "letterSpacing": 0.07,
56
+ "textColor": "#5f5f64"
57
+ }
58
+ },
59
+ "constraints": [
60
+ { "kind": "contrast", "action": "warn", "minimum": 4.5 },
61
+ { "kind": "accent-area", "action": "warn", "maxFraction": 0.2 }
62
+ ]
63
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agentic-mermaid.dev/schemas/style-spec.schema.json",
3
- "name": "mid-century-report",
3
+ "formatVersion": 1,
4
+ "name": "look:mid-century-report",
4
5
  "blurb": "Mid-century report palette: cream paper, teal panels, mustard accent, and compact sans labels.",
5
6
  "colors": {
6
7
  "bg": "#f4ead8",
@@ -14,6 +15,5 @@
14
15
  "font": "DejaVu Sans",
15
16
  "stroke": "crisp",
16
17
  "strokeWidth": 1.6,
17
- "fill": "solid",
18
18
  "intent": "premium"
19
19
  }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agentic-mermaid.dev/schemas/style-spec.schema.json",
3
- "name": "star-chart-atlas",
3
+ "formatVersion": 1,
4
+ "name": "look:star-chart-atlas",
4
5
  "blurb": "Celestial atlas treatment: dark sky, faint grid, pale-gold labels, and quiet rough linework.",
5
6
  "colors": {
6
7
  "bg": "#0b1026",
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agentic-mermaid.dev/schemas/style-spec.schema.json",
3
- "name": "transit-route-map",
3
+ "formatVersion": 1,
4
+ "name": "look:transit-route-map",
4
5
  "blurb": "Transit-map inspired palette: white map stock, red route line, and blue transfer accent.",
5
6
  "colors": {
6
7
  "bg": "#fbfbf8",
@@ -14,6 +15,5 @@
14
15
  "font": "DejaVu Sans",
15
16
  "stroke": "crisp",
16
17
  "strokeWidth": 4,
17
- "fill": "none",
18
18
  "intent": "premium"
19
19
  }
@@ -0,0 +1,6 @@
1
+ xychart-beta
2
+ title "Edge delivery"
3
+ x-axis [Build, Preview, Deploy, Observe]
4
+ y-axis "Requests" 0 --> 100
5
+ bar [45, 68, 82, 94]
6
+ line [40, 62, 80, 91]
@@ -0,0 +1,87 @@
1
+ {
2
+ "$schema": "https://agentic-mermaid.dev/schemas/style-spec.schema.json",
3
+ "formatVersion": 1,
4
+ "name": "look:vercel-inspired-prototype",
5
+ "blurb": "Documentation-only Vercel-inspired prototype exercising public role styles, semantic XYChart bindings, and inspect-only constraints; not built in or endorsed.",
6
+ "colors": {
7
+ "bg": "#0a0a0a",
8
+ "fg": "#ededed",
9
+ "line": "#565656",
10
+ "accent": "#0070f3",
11
+ "muted": "#a1a1a1",
12
+ "surface": "#111111",
13
+ "border": "#2e2e2e"
14
+ },
15
+ "font": "Inter",
16
+ "stroke": "crisp",
17
+ "strokeWidth": 1,
18
+ "intent": "premium",
19
+ "roles": {
20
+ "node": {
21
+ "fontSize": 13,
22
+ "fontWeight": 500,
23
+ "paddingX": 20,
24
+ "paddingY": 11,
25
+ "cornerRadius": 6,
26
+ "lineWidth": 1,
27
+ "fillColor": "#111111",
28
+ "borderColor": "#2e2e2e",
29
+ "textColor": "#ededed"
30
+ },
31
+ "edge": {
32
+ "fontSize": 11,
33
+ "fontWeight": 400,
34
+ "lineWidth": 1,
35
+ "bendRadius": 8,
36
+ "strokeColor": "#565656",
37
+ "textColor": "#a1a1a1"
38
+ },
39
+ "group": {
40
+ "fontSize": 12,
41
+ "fontWeight": 500,
42
+ "letterSpacing": 0.1,
43
+ "paddingX": 16,
44
+ "paddingY": 16,
45
+ "cornerRadius": 8,
46
+ "lineWidth": 1,
47
+ "fillColor": "rgba(255,255,255,0.04)",
48
+ "headerFillColor": "rgba(255,255,255,0.06)",
49
+ "borderColor": "#2e2e2e",
50
+ "textColor": "#a1a1a1"
51
+ },
52
+ "label": {
53
+ "fontSize": 11,
54
+ "fontWeight": 400,
55
+ "textColor": "#a1a1a1"
56
+ },
57
+ "bar": {
58
+ "fillColor": "#2e2e2e",
59
+ "borderColor": "#565656",
60
+ "lineWidth": 1
61
+ },
62
+ "series": {
63
+ "strokeColor": "#565656",
64
+ "lineWidth": 1
65
+ }
66
+ },
67
+ "semanticSlots": {
68
+ "primary-series": {
69
+ "fillColor": "#ededed",
70
+ "borderColor": "#ededed",
71
+ "strokeColor": "#ededed",
72
+ "lineWidth": 1
73
+ },
74
+ "accent-series": {
75
+ "strokeColor": "#0070f3",
76
+ "lineWidth": 2
77
+ }
78
+ },
79
+ "bindings": [
80
+ { "channel": "category", "value": "bar-0", "slot": "primary-series", "role": "bar" },
81
+ { "channel": "category", "value": "line-0", "slot": "accent-series", "role": "series" }
82
+ ],
83
+ "constraints": [
84
+ { "kind": "contrast", "action": "warn", "minimum": 4.5 },
85
+ { "kind": "accent-area", "action": "warn", "maxFraction": 0.28 }
86
+ ]
87
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agentic-mermaid",
3
3
  "mcpName": "io.github.adewale/agentic-mermaid",
4
- "version": "0.1.1",
4
+ "version": "0.2.0",
5
5
  "license": "MIT",
6
6
  "description": "Agentic Mermaid: render, verify, and safely edit Mermaid diagrams as ASCII, PNG, SVG, or structured agent workflows — with composable styles (hand-drawn, excalidraw, watercolor, or your own as JSON).",
7
7
  "type": "module",
@@ -10,16 +10,19 @@
10
10
  "exports": {
11
11
  ".": {
12
12
  "types": "./dist/index.d.ts",
13
- "bun": "./src/index.ts",
14
13
  "import": "./dist/index.js",
15
14
  "default": "./dist/index.js"
16
15
  },
17
16
  "./agent": {
18
17
  "types": "./dist/agent.d.ts",
19
- "bun": "./src/agent/index.ts",
20
18
  "import": "./dist/agent.js",
21
19
  "default": "./dist/agent.js"
22
20
  },
21
+ "./agent/core": {
22
+ "types": "./dist/agent-core.d.ts",
23
+ "import": "./dist/agent-core.js",
24
+ "default": "./dist/agent-core.js"
25
+ },
23
26
  "./style-spec.schema.json": "./docs/schemas/style-spec.schema.json",
24
27
  "./package.json": "./package.json"
25
28
  },
@@ -29,7 +32,7 @@
29
32
  "agentic-mermaid-mcp": "dist/agentic-mermaid-mcp.js"
30
33
  },
31
34
  "engines": {
32
- "node": ">=18"
35
+ "node": ">=22"
33
36
  },
34
37
  "publishConfig": {
35
38
  "access": "public",
@@ -66,6 +69,9 @@
66
69
  "quadrant-chart",
67
70
  "gantt-chart",
68
71
  "state-diagram",
72
+ "mindmap",
73
+ "git-graph",
74
+ "radar-chart",
69
75
  "visualization",
70
76
  "theming",
71
77
  "styles",
@@ -77,43 +83,47 @@
77
83
  ],
78
84
  "author": "Adewale",
79
85
  "files": [
80
- "src/",
81
86
  "dist/",
82
87
  "assets/fonts/",
83
88
  "assets/hero.png",
84
- "docs/",
89
+ "docs/*.md",
90
+ "docs/schemas/style-spec.schema.json",
85
91
  "examples/styles/",
86
92
  "skills/",
87
- "skill-evals/",
88
- "examples/agent-loop.ts",
89
- "examples/mcp-vs-cli-complex-diagrams.ts",
90
- "examples/agent-improve-auth-flow.ts",
93
+ "AGENT_NATIVE.md",
91
94
  "Instructions_for_agents.md",
92
95
  "server.json",
93
- "AGENT_NATIVE.md",
94
96
  "CHANGELOG.md",
95
- "TODO.md",
96
97
  "SECURITY.md",
97
- "llms.txt",
98
98
  "LICENSE",
99
+ "LICENSES/",
100
+ "THIRD_PARTY_NOTICES.md",
99
101
  "README.md",
100
- "!dist/**/*.map",
101
- "!src/**/__tests__/**",
102
- "!src/**/*.test.ts",
103
- "!docs/pr-assets/**"
102
+ "!dist/**/*.map"
104
103
  ],
105
104
  "scripts": {
106
- "test": "bun test --coverage src/__tests__/",
107
- "test:browser": "cd e2e && bun test . --timeout 600000",
105
+ "test": "bun test --coverage --timeout 30000 src/__tests__/",
106
+ "typecheck": "bun run typecheck:core && bun run typecheck:repo",
107
+ "typecheck:core": "tsc --noEmit -p tsconfig.json",
108
+ "typecheck:repo": "tsc --noEmit -p tsconfig.repo.json",
109
+ "quality:check": "bun run scripts/ci/quality-gates.ts",
110
+ "evidence:check": "bun run scripts/ci/quality-gates.ts --evidence-only",
111
+ "format": "biome format --write .",
112
+ "format:changed": "biome format --write --changed",
113
+ "test:browser": "bun run e2e/run-browser-contracts.ts",
108
114
  "editor": "bun run scripts/site/editor.ts",
109
115
  "dev": "bun run website:dev",
110
116
  "bench": "bun run eval/benchmark/sample-bench.ts",
117
+ "benchmark:palette": "bun run eval/palette-performance/run.ts --record",
118
+ "benchmark:palette:check": "bun run eval/palette-performance/run.ts --check",
111
119
  "harvest:upstream": "bun run eval/mermaid-upstream-suite-bench/harvest.ts",
112
120
  "harvest:upstream:refresh-check": "bun run eval/mermaid-upstream-suite-bench/refresh-check.ts",
113
121
  "build": "tsup",
114
122
  "build:binary": "bun build ./bin/am.ts --compile --outfile dist/am",
115
123
  "website": "bun run website/build.ts",
116
124
  "website:check": "bun run website/build.ts --check",
125
+ "website:payload:write": "bun run scripts/site/website-payload-report.ts --write",
126
+ "website:payload:check": "bun run scripts/site/website-payload-report.ts --check",
117
127
  "website:dev": "cd website && WRANGLER_SEND_METRICS=false npx --yes wrangler@latest dev --port 9095 --ip 127.0.0.1",
118
128
  "deploy": "bun run website && cd website && WRANGLER_SEND_METRICS=false npx --yes wrangler@latest deploy",
119
129
  "prepublishOnly": "npm run build",
@@ -121,55 +131,85 @@
121
131
  "goldens:ascii:check": "bun run scripts/update-ascii-goldens.ts --check",
122
132
  "hero": "bun run scripts/site/hero.ts",
123
133
  "hero:check": "bun run scripts/site/hero.ts --check",
124
- "site": "bun run website",
125
- "site:check": "bun run website:check",
126
134
  "style:audit": "bun test src/__tests__/style-role-audit.test.ts",
127
135
  "sketch:check": "bun test scripts/sketch-prototype/styles.test.ts && bun run scripts/sketch-prototype/contrast-audit.ts",
128
136
  "characterization:check": "bun run scripts/characterization/contact-sheet.ts --check && bun run scripts/characterization/contact-sheet-families.ts --check && bun run scripts/characterization/visual-quality.ts --check",
129
- "mutation-test": "npx stryker run",
130
- "mutation-test:incremental": "npx stryker run stryker.incremental.config.json",
131
- "mutation-test:characterization": "npx stryker run stryker.characterization.config.json",
132
- "mutation-test:ascii": "npx stryker run stryker.ascii.config.json",
133
- "mutation-test:families": "npx stryker run stryker.families.config.json",
134
- "mutation-test:routes": "npx stryker run stryker.routes.config.json",
135
- "mutation-test:routes:certs": "npx stryker run stryker.route-certificates.config.json",
136
- "mutation-test:routes:subgraph": "npx stryker run stryker.subgraph-routing.config.json",
137
- "mutation-test:links": "npx stryker run stryker.link-grammar.config.json",
138
- "mutation-test:state": "npx stryker run stryker.state.config.json",
139
- "mutation-test:sequence": "npx stryker run stryker.sequence.config.json",
140
- "mutation-test:timeline": "npx stryker run stryker.timeline.config.json",
141
- "mutation-test:class": "npx stryker run stryker.class.config.json",
142
- "mutation-test:er": "npx stryker run stryker.er.config.json",
143
- "mutation-test:journey": "npx stryker run stryker.journey.config.json",
144
- "mutation-test:pie": "npx stryker run stryker.pie.config.json",
145
- "mutation-test:quadrant": "npx stryker run stryker.quadrant.config.json",
137
+ "agent-doc-artifacts": "bun run scripts/generate-agent-doc-artifacts.ts",
138
+ "agent-doc-artifacts:check": "bun run scripts/generate-agent-doc-artifacts.ts --check",
139
+ "section-a-report": "bun run scripts/generate-section-a-capability-report.ts",
140
+ "section-a-report:check": "bun run scripts/generate-section-a-capability-report.ts --check",
141
+ "section-b-report": "bun run scripts/generate-section-b-capability-report.ts",
142
+ "section-b-report:check": "bun run scripts/generate-section-b-capability-report.ts --check",
143
+ "render-options-docs": "bun run scripts/generate-render-options-docs.ts",
144
+ "render-options-docs:check": "bun run scripts/generate-render-options-docs.ts --check",
145
+ "style-spec-artifacts": "bun run scripts/generate-style-spec-artifacts.ts",
146
+ "style-spec-artifacts:check": "bun run scripts/generate-style-spec-artifacts.ts --check",
147
+ "upstream-manifest": "bun run scripts/generate-upstream-mermaid-manifest.ts",
148
+ "upstream-manifest:check": "bun run scripts/generate-upstream-mermaid-manifest.ts --check",
149
+ "mutation-test": "bun run scripts/quality/mutation-profile.ts",
146
150
  "sabotage:routes": "bun run eval/sabotage/route-regressions.ts",
147
- "mutation-test:gantt": "npx stryker run stryker.gantt.config.json",
148
- "lint": "bun test src/__tests__/agent-substrate-lint.test.ts src/__tests__/test-quality-lint.test.ts",
151
+ "test:family-elevation-reverts": "bun run scripts/quality/family-elevation-revert-probes.ts",
152
+ "lint": "bun run lint:biome && bun run lint:contracts",
153
+ "lint:biome": "biome lint .",
154
+ "lint:contracts": "bun test src/__tests__/agent-substrate-lint.test.ts src/__tests__/test-quality-lint.test.ts",
149
155
  "eval:agent-live": "bun run eval/agent-usage/live.ts",
150
156
  "eval:agent-subagent": "bun run eval/agent-usage/capture-subagent-prompt-eval.ts",
157
+ "eval:degenerate-routes": "bun run eval/degenerate-etn/enumerate.ts",
151
158
  "rubric:visual": "bun run eval/visual-rubric/run.ts",
152
159
  "contact:sheet": "bun run eval/visual-rubric/contact-sheet.ts",
160
+ "contact:sheet:test-portfolio": "bun run scripts/pr-assets/test-portfolio-contact-sheet.ts",
161
+ "contact:sheet:test-portfolio:review": "bun run scripts/ci/test-portfolio-visual-review.ts",
162
+ "gallery:custom-styles": "bun run scripts/docs/custom-style-cookbook.ts",
163
+ "gallery:custom-styles:check": "bun run scripts/docs/custom-style-cookbook.ts --check",
164
+ "gallery:linkrank-feedback-packing": "bun run scripts/pr-assets/linkrank-feedback-packing-evidence.ts",
165
+ "gallery:linkrank-feedback-packing:check": "bun run scripts/pr-assets/linkrank-feedback-packing-evidence.ts --check",
166
+ "gallery:mindmap-gitgraph": "bun run scripts/pr-assets/mindmap-gitgraph-content-gallery.ts",
167
+ "gallery:mindmap-gitgraph:check": "bun run scripts/pr-assets/mindmap-gitgraph-content-gallery.ts --check",
168
+ "gallery:mermaid-docs": "bun run scripts/pr-assets/mermaid-doc-showcase-gallery.ts",
169
+ "gallery:mermaid-docs:check": "bun run scripts/pr-assets/mermaid-doc-showcase-gallery.ts --check",
170
+ "gallery:style-switch": "bun run scripts/pr-assets/style-switch-contact-sheet.ts",
171
+ "gallery:style-switch:check": "bun run scripts/pr-assets/style-switch-contact-sheet.ts --check",
172
+ "gallery:pie-highlight": "bun run scripts/pr-assets/pie-highlightslice-evidence.ts",
173
+ "gallery:pie-highlight:check": "bun run scripts/pr-assets/pie-highlightslice-evidence.ts --check",
174
+ "gallery:palette-rollout:baseline": "bun run scripts/pr-assets/palette-rollout-evidence.ts --record-baseline",
175
+ "gallery:palette-rollout": "bun run scripts/pr-assets/palette-rollout-evidence.ts",
176
+ "gallery:palette-rollout:check": "bun run scripts/pr-assets/palette-rollout-evidence.ts --check",
177
+ "gallery:palette-harmony": "bun run scripts/pr-assets/palette-harmony-experiment.ts",
178
+ "gallery:palette-harmony:check": "bun run scripts/pr-assets/palette-harmony-experiment.ts --check",
179
+ "gallery:section-b": "bun run scripts/pr-assets/section-b-brand-evidence.ts",
180
+ "gallery:section-b:check": "bun run scripts/pr-assets/section-b-brand-evidence.ts --check",
153
181
  "track": "bun run eval/heuristic-tracker/run.ts",
154
- "audit:ugly": "bun run eval/ugly-detector/audit.ts"
182
+ "audit:ugly": "bun run eval/ugly-detector/audit.ts",
183
+ "audit:dependencies": "bun audit --audit-level=high"
155
184
  },
156
185
  "dependencies": {
157
186
  "@resvg/resvg-js": "2.6.2",
158
- "perfect-freehand": "1.2.3",
159
- "roughjs": "4.6.6",
187
+ "acorn": "8.16.0",
160
188
  "elkjs": "^0.11.0",
161
189
  "entities": "^7.0.1",
162
- "mermaid-ast": "0.8.2",
163
- "yaml": "^2.8.2"
190
+ "yaml": "^2.8.3"
191
+ },
192
+ "overrides": {
193
+ "brace-expansion": "5.0.7",
194
+ "esbuild": "0.28.1",
195
+ "fast-uri": "3.1.4",
196
+ "lodash-es": "4.18.1",
197
+ "picomatch": "4.0.5",
198
+ "qs": "6.15.3"
164
199
  },
165
200
  "devDependencies": {
201
+ "@biomejs/biome": "2.5.5",
202
+ "@modelcontextprotocol/sdk": "1.29.0",
166
203
  "@resvg/resvg-wasm": "2.6.2",
167
204
  "@stryker-mutator/core": "^9.6.1",
168
205
  "@types/bun": "^1.3.9",
169
206
  "beautiful-mermaid": "1.1.3",
170
207
  "fast-check": "^4.6.0",
171
208
  "mermaid": "11.16.0",
209
+ "mermaid-ast": "0.8.2",
172
210
  "playwright": "^1.58.2",
211
+ "perfect-freehand": "1.2.3",
212
+ "roughjs": "4.6.6",
173
213
  "shiki": "^3.19.0",
174
214
  "tsup": "^8.5.1",
175
215
  "typescript": "^5.9.3",
package/server.json CHANGED
@@ -7,13 +7,13 @@
7
7
  "url": "https://github.com/adewale/agentic-mermaid",
8
8
  "source": "github"
9
9
  },
10
- "version": "0.1.1",
10
+ "version": "0.2.0",
11
11
  "websiteUrl": "https://agentic-mermaid.dev/",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "identifier": "agentic-mermaid",
16
- "version": "0.1.1",
16
+ "version": "0.2.0",
17
17
  "runtimeHint": "npx",
18
18
  "runtimeArguments": [
19
19
  {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: agentic-mermaid-diagram-workflow
3
- description: Agent-agnostic skill for authoring and editing Mermaid diagrams with structured verification, typed mutation, round-trip serialization, and SVG, PNG, ASCII, Unicode, and JSON layout outputs. Structured mutation for all twelve renderable families (flowchart, state, sequence, timeline, class, ER, journey, architecture, xychart, pie, quadrant, gantt); source-level parse-and-render only for opaque fallbacks (unmodeled syntax).
3
+ description: Agent-agnostic skill for authoring and editing Mermaid diagrams with structured verification, typed mutation, round-trip serialization, and graphical, terminal, and layout outputs. The live capability registry identifies renderable and mutable families; unmodeled syntax remains source-preserved.
4
4
  ---
5
5
 
6
6
  # Agentic Mermaid — diagram workflow
@@ -12,40 +12,20 @@ An agent-agnostic typed editing surface for Mermaid. New diagrams can be authore
12
12
  - `agentic-mermaid-mcp` connected → **Code Mode** (`references/code-mode.md`). Multi-step edits in one round-trip.
13
13
  - Can run JS/TS with imports → **library** (`agentic-mermaid/agent`). Same SDK.
14
14
  - Shell only → **CLI** (`references/cli.md`).
15
- - No local install, network only → **hosted MCP** at `https://agentic-mermaid.dev/mcp` (stateless streamable HTTP JSON-RPC; the `execute` Code Mode tool plus `render_svg`/`render_ascii`/`render_png`/`verify`/`describe` and the declarative `mutate` (edit a `source`) / `build` (author from a `family`) tools — prefer `mutate`/`build` for structured edits; 64KB input caps).
16
-
17
- ## Capability matrix
18
-
19
- | Family | parse | verify | render | mutate | serialize |
20
- |---|---|---|---|---|---|
21
- | Flowchart | ✓ | full (Tier 1+2) | ✓ | 6 ops | structured |
22
- | **State (modeled subset)** | ✓ | full (Tier 1+2) | ✓ | **8 ops** | structured |
23
- | State (`<<fork>>`/`<<choice>>`/notes/`--`/`classDef`, unmodeled) | ✓ | structural | ✓ | — (opaque) | verbatim |
24
- | Sequence (simple) | ✓ | structural | ✓ | 5 ops | structured |
25
- | Sequence (notes/alt/loop/…) | ✓ | structural | ✓ | **5 ops** | structured-with-segments |
26
- | Sequence (un-segmentable, e.g. unbalanced `end`) | ✓ | structural | ✓ | — (opaque) | verbatim |
27
- | Timeline (simple) | ✓ | structural | ✓ | 10 ops | structured |
28
- | Timeline (unmodeled syntax) | ✓ | structural | ✓ | — (opaque) | verbatim |
29
- | **Class (simple)** | ✓ | structural | ✓ | **10 ops** | structured |
30
- | Class (unmodeled syntax) | ✓ | structural | ✓ | — (opaque) | verbatim |
31
- | **ER (simple)** | ✓ | structural | ✓ | **7 ops** | structured |
32
- | ER (unmodeled syntax) | ✓ | structural | ✓ | — (opaque) | verbatim |
33
- | **Journey (simple)** | ✓ | structural | ✓ | **10 ops** | structured |
34
- | Journey (accTitle/accDescr, unmodeled) | ✓ | structural | ✓ | — (opaque) | verbatim |
35
- | **Architecture (modeled subset)** | ✓ | structural | ✓ | **10 ops** | structured |
36
- | Architecture (`{group}` boundary, accTitle/accDescr) | ✓ | structural | ✓ | — (opaque) | verbatim |
37
- | **XY chart (modeled subset)** | ✓ | structural | ✓ | **8 ops** | structured |
38
- | XY chart (quoted text, `;` lines, accTitle/accDescr) | ✓ | structural | ✓ | — (opaque) | verbatim |
39
- | **Pie (simple)** | ✓ | structural | ✓ | **7 ops** | structured |
40
- | Pie (accTitle/accDescr, malformed entries) | ✓ | structural | ✓ | — (opaque) | verbatim |
41
- | **Quadrant (modeled subset)** | ✓ | structural | ✓ | **7 ops** | structured |
42
- | Quadrant (styling `classDef`/`:::`, out-of-range coords) | ✓ | structural | ✓ | — (opaque) | verbatim |
43
- | **Gantt (modeled subset)** | ✓ | structural + schedule | ✓ | **9 ops** | structured-with-segments |
44
- | Gantt (duplicate ids / unclosed `accDescr`) | ✓ | structural | ✓ | — (opaque) | verbatim |
15
+ - No local install, network only → **hosted MCP** at `https://agentic-mermaid.dev/mcp` (stateless streamable HTTP JSON-RPC; `execute` Code Mode, `describe_sdk` for one family's mutation schema on demand, `render_svg`/`render_ascii`/`render_png`/`verify`/`describe`, and the declarative `mutate` (edit a `source`) / `build` (author from a `family`) tools — prefer `mutate`/`build` for structured edits; 64KB input caps).
16
+
17
+ ## Capability discovery
18
+
19
+ Run `am capabilities --json` (or call the equivalent SDK capability API) before
20
+ choosing a family or mutation. Its registry-derived family entries expose the
21
+ current narrower, operation schema, edit policy, output support, and minimal
22
+ source example; the generated Section A matrix supplies explicit native,
23
+ source-preserved, diagnosed, and absent states. This skill intentionally does
24
+ not maintain a second family or operation table.
45
25
 
46
26
  Any diagram with constructs we don't model falls back to an **opaque** body: it still parses, renders, verifies, and round-trips losslessly — it just isn't offered for structured mutation (the narrower returns null). The parser never silently drops anything.
47
27
 
48
- State diagrams own a dedicated body (BUILD-19): narrow them with `asState` and apply state-shaped ops (`add_state`, `remove_state`, `rename_state`, `set_state_label`, `add_transition`, `remove_transition`, `set_transition_label`, `make_composite`). `asFlowchart` returns null on a state diagram. The modeled subset is simple states, transitions, `[*]` start/end pseudostates, composite blocks, and `direction`; anything else (`<<fork>>`/`<<choice>>`/`<<join>>`, history states, concurrency `--`, notes, `classDef`/`class`/`:::` styling) keeps the whole body opaque and round-trips verbatim.
28
+ State diagrams own a dedicated body: `asState` models states/transitions, `[*]`, composites, stereotypes/history, concurrency regions, notes, bare declarations, and class/inline paint. `asFlowchart` returns null on a state diagram.
49
29
 
50
30
  Gantt diagrams are segment-preserving: `asGantt` keeps title/section/task ops live while calendar directives (`dateFormat`, `axisFormat`, `excludes`, `includes`, `weekend`, `weekday`, `todayMarker`, `tickInterval`, `inclusiveEndDates`, `topAxis`), `click` lines, comments, and accessibility lines ride along verbatim. Gantt rendering is deterministic and never reads the wall clock; pass `ganttToday` when rendering if a `todayMarker` should be visible.
51
31
 
@@ -53,10 +33,11 @@ Gantt diagrams are segment-preserving: `asGantt` keeps title/section/task ops li
53
33
 
54
34
  ## Workflow
55
35
 
56
- For new diagrams, author Mermaid source directly, then `parseMermaid` / `verifyMermaid` / render. For existing modeled diagrams:
36
+ For new diagrams, author Mermaid source directly, then `parseRegisteredMermaid` / `verifyMermaid` / render. For existing modeled diagrams:
57
37
 
58
- 1. `parseMermaid(source)` → `ValidDiagram`.
59
- 2. `asFlowchart(d)` / `asState(d)` / `asSequence(d)` / `asTimeline(d)` / `asClass(d)` / `asEr(d)` / `asJourney(d)` / `asArchitecture(d)` / `asXyChart(d)` / `asPie(d)` / `asQuadrant(d)` / `asGantt(d)` to narrow before mutating.
38
+ 1. `parseRegisteredMermaid(source)` → `ValidDiagram`.
39
+ 2. Use the family entry's advertised narrower (for example `asFlowchart(d)` or
40
+ `asState(d)`) before mutating.
60
41
  3. `mutate(d, op)` (typed per family).
61
42
  4. `verifyMermaid(d)` — structured warnings; inspect `ok` / `warnings` / `layout`.
62
43
  5. On `!ok`, revert to the previous `ValidDiagram`, try another op.
@@ -67,7 +48,7 @@ Do not regenerate or concatenate source to edit an existing structured diagram w
67
48
  Minimal existing-flowchart pattern:
68
49
 
69
50
  ```ts
70
- const parsed = parseMermaid(source)
51
+ const parsed = parseRegisteredMermaid(source)
71
52
  if (!parsed.ok) return { phase: 'parse', errors: parsed.error }
72
53
  let cur = asFlowchart(parsed.value)
73
54
  if (!cur) return { phase: 'narrow', family: parsed.value.kind }
@@ -3,7 +3,7 @@
3
3
  Agentic Mermaid outputs SVG, PNG, ASCII, Unicode, and JSON layout through the CLI.
4
4
 
5
5
  ```text
6
- am render <file|-> --format svg|ascii|unicode|json
6
+ am render <file|-> --format svg|ascii|unicode|layout
7
7
  am render <file> --format png --output file.png # one-shot only; no watch/multi-input
8
8
  am preview <file|-> [--output preview.html] [--open] [--json] [--security strict] # strict standalone HTML
9
9
  am verify <file|-> structured JSON warnings (exit 3 if not ok)
@@ -22,10 +22,9 @@ am --agent-instructions canonical agent guide
22
22
  am <cmd> --help per-command help
23
23
  ```
24
24
 
25
- `am verify` always emits JSON. `am mutate` dispatches by family across
26
- flowchart, state, sequence, timeline, class, ER, journey, architecture,
27
- xychart, pie, quadrant, and gantt; opaque fallback bodies return a structured
28
- `UNSUPPORTED_FAMILY` error. `am mutate` verifies before emitting source; verify
25
+ `am verify` always emits JSON. `am mutate` dispatches across the live mutable
26
+ family roster reported by `am capabilities --json`; opaque fallback bodies
27
+ return a structured `UNSUPPORTED_FAMILY` error. `am mutate` verifies before emitting source; verify
29
28
  failure exits 3 and omits `source`. Use direct Mermaid source authoring plus
30
29
  `am verify`/`am render` for brand-new diagrams; reserve `am mutate` for
31
30
  existing structured diagrams. `am parse | am serialize` round-trips through JSON.