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.
- package/AGENT_NATIVE.md +155 -91
- package/CHANGELOG.md +163 -4
- package/Instructions_for_agents.md +10 -10
- package/LICENSES/Apache-2.0.txt +202 -0
- package/README.md +31 -38
- package/THIRD_PARTY_NOTICES.md +29 -0
- package/assets/hero.png +0 -0
- package/dist/agent-core.d.ts +463 -0
- package/dist/agent-core.js +397 -0
- package/dist/agent.d.ts +73 -1868
- package/dist/agent.js +336 -37325
- package/dist/agentic-mermaid-mcp.js +7 -38399
- package/dist/am.js +33626 -40446
- package/dist/chunk-2P5FKUQC.js +3485 -0
- package/dist/chunk-2S3VSS6I.js +149 -0
- package/dist/chunk-2SILJDW2.js +37 -0
- package/dist/chunk-BJYMBT4I.js +61963 -0
- package/dist/chunk-FDM43XU7.js +615 -0
- package/dist/chunk-MYPDVZCO.js +4702 -0
- package/dist/index-DWPa2MJs.d.ts +6780 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +310 -33014
- package/dist/mcp-cli-5J47WEY3.js +17 -0
- package/docs/README.md +39 -31
- package/docs/agent-api-cookbook.md +44 -35
- package/docs/agent-mutation-policy.md +1 -1
- package/docs/agent-workflow-examples.md +2 -2
- package/docs/api.md +284 -77
- package/docs/ascii.md +26 -16
- package/docs/code-mode-impact.md +214 -0
- package/docs/comparison.md +23 -11
- package/docs/computational-aesthetics-prototype-plan.md +252 -0
- package/docs/config.md +26 -10
- package/docs/custom-fonts.md +265 -0
- package/docs/custom-style-cookbook.md +130 -9
- package/docs/diagram-families.md +48 -23
- package/docs/features.md +59 -52
- package/docs/fork-differences.md +6 -3
- package/docs/getting-started.md +23 -16
- package/docs/issue-derived-test-cases.md +29 -22
- package/docs/mcp-code-mode-rationale.md +13 -6
- package/docs/mcp-http-transport.md +20 -13
- package/docs/mermaid-layout-complaints.md +66 -52
- package/docs/mutation-testing.md +145 -66
- package/docs/quality.md +23 -14
- package/docs/react.md +2 -2
- package/docs/schemas/style-spec.schema.json +1221 -30
- package/docs/style-authoring.md +241 -38
- package/docs/svg-semantic-contract.md +49 -0
- package/docs/testing-strategy.md +166 -58
- package/docs/theming.md +19 -32
- package/examples/styles/catalog.json +54 -0
- package/examples/styles/cloudflare-workers-inspired-prototype.mmd +9 -0
- package/examples/styles/cloudflare-workers-inspired-prototype.style.json +110 -0
- package/examples/styles/cupertino-prototype.mmd +10 -0
- package/examples/styles/cupertino-prototype.style.json +63 -0
- package/examples/styles/mid-century-report.style.json +2 -2
- package/examples/styles/star-chart-atlas.style.json +2 -1
- package/examples/styles/transit-route-map.style.json +2 -2
- package/examples/styles/vercel-inspired-prototype.mmd +6 -0
- package/examples/styles/vercel-inspired-prototype.style.json +87 -0
- package/package.json +85 -45
- package/server.json +2 -2
- package/skills/agentic-mermaid-diagram-workflow/SKILL.md +17 -36
- package/skills/agentic-mermaid-diagram-workflow/references/cli.md +4 -5
- package/skills/agentic-mermaid-diagram-workflow/references/code-mode.md +15 -31
- package/skills/agentic-mermaid-diagram-workflow/references/sequence.md +10 -14
- package/skills/agentic-mermaid-live-editor/SKILL.md +100 -206
- package/TODO.md +0 -684
- package/dist/index-wjRjbsP-.d.ts +0 -1102
- package/docs/assets/improvements/box-start-connector.png +0 -0
- package/docs/assets/improvements/comment-dropped-lint.png +0 -0
- package/docs/assets/improvements/er-content-loss.png +0 -0
- package/docs/assets/improvements/fan-in-trunks.png +0 -0
- package/docs/assets/improvements/gantt-family.png +0 -0
- package/docs/assets/improvements/gantt-milestone-clamp.png +0 -0
- package/docs/assets/improvements/gantt-verify-seam.png +0 -0
- package/docs/assets/improvements/subgraph-container-edges.png +0 -0
- package/docs/assets/improvements/wrapper-frontmatter.png +0 -0
- package/docs/assets/improvements/wrapper-init-directive.png +0 -0
- package/docs/assets/improvements/wrapper-leading-comment.png +0 -0
- package/docs/assets/style-cookbook/mid-century-report.png +0 -0
- package/docs/assets/style-cookbook/star-chart-atlas.png +0 -0
- package/docs/assets/style-cookbook/transit-route-map.png +0 -0
- package/docs/contributing/adding-diagram-types.md +0 -144
- package/docs/contributing/diagram-family-citizenship.matrix.json +0 -2127
- package/docs/contributing/diagram-family-citizenship.md +0 -82
- package/docs/contributing/harvesting-upstream-tests.md +0 -126
- package/docs/contributing/lessons-learned.md +0 -276
- package/docs/contributing/releasing.md +0 -82
- package/docs/contributing/visual-review-evidence.md +0 -53
- package/docs/design/families/README.md +0 -26
- package/docs/design/families/architecture-beta.md +0 -48
- package/docs/design/families/flowchart-parser-conformance.md +0 -22
- package/docs/design/families/gantt-research.md +0 -137
- package/docs/design/families/gantt.md +0 -329
- package/docs/design/families/journey-agentic-cards-before.png +0 -0
- package/docs/design/families/journey-experience-curve-implementation.png +0 -0
- package/docs/design/families/journey-mermaid-classic-implementation.png +0 -0
- package/docs/design/families/journey-mermaid-classic-prototype.png +0 -0
- package/docs/design/families/journey-mermaid-classic-prototype.svg +0 -163
- package/docs/design/families/journey-mermaid-classic-prototype.svg.png +0 -0
- package/docs/design/families/journey-migration-parity.md +0 -439
- package/docs/design/families/journey-section-overlap-after.png +0 -0
- package/docs/design/families/journey-section-overlap-before.png +0 -0
- package/docs/design/families/journey-usage-research.md +0 -423
- package/docs/design/families/journey.md +0 -153
- package/docs/design/families/xychart.md +0 -85
- package/docs/design/system/README.md +0 -45
- package/docs/design/system/abstraction-audit.md +0 -224
- package/docs/design/system/abstraction-recommendations.md +0 -655
- package/docs/design/system/architecture.mmd +0 -29
- package/docs/design/system/architecture.svg +0 -137
- package/docs/design/system/layout-guarantees-and-robustness.md +0 -351
- package/docs/design/system/layout-rubric.md +0 -138
- package/docs/design/system/route-contracts.md +0 -848
- package/docs/design/system/source-preservation-ladder.md +0 -52
- package/docs/design/system/styles-rollout.md +0 -216
- package/docs/design/system/ugly-layouts.md +0 -119
- package/docs/layout-characterization/README.md +0 -245
- package/docs/layout-characterization/contact-sheet-families.md +0 -498
- package/docs/layout-characterization/contact-sheet.md +0 -638
- package/docs/layout-characterization/properties.md +0 -281
- package/docs/layout-characterization/visual-quality.md +0 -160
- package/docs/layout-characterization/visual-snapshots/architecture.svg +0 -79
- package/docs/layout-characterization/visual-snapshots/class.svg +0 -60
- package/docs/layout-characterization/visual-snapshots/er.svg +0 -61
- package/docs/layout-characterization/visual-snapshots/flowchart.svg +0 -58
- package/docs/layout-characterization/visual-snapshots/gantt.svg +0 -52
- package/docs/layout-characterization/visual-snapshots/journey.svg +0 -98
- package/docs/layout-characterization/visual-snapshots/pie.svg +0 -36
- package/docs/layout-characterization/visual-snapshots/quadrant.svg +0 -47
- package/docs/layout-characterization/visual-snapshots/sequence.svg +0 -59
- package/docs/layout-characterization/visual-snapshots/state.svg +0 -52
- package/docs/layout-characterization/visual-snapshots/timeline.svg +0 -64
- package/docs/layout-characterization/visual-snapshots/xychart.svg +0 -97
- package/docs/project/divergences.md +0 -98
- package/docs/project/dogfooding-docs-strategy.md +0 -66
- package/docs/project/hosted-mcp-cloudflare-plan.md +0 -338
- package/docs/project/lessons-learned.md +0 -1019
- package/docs/project/remove-role-styling-plan.md +0 -176
- package/examples/agent-improve-auth-flow.ts +0 -206
- package/examples/agent-loop.ts +0 -53
- package/examples/mcp-vs-cli-complex-diagrams.ts +0 -133
- package/llms.txt +0 -104
- package/skill-evals/README.md +0 -77
- package/skill-evals/fixtures/architecture-cache/input.mmd +0 -5
- package/skill-evals/fixtures/class-payment/input.mmd +0 -4
- package/skill-evals/fixtures/er-orders/input.mmd +0 -10
- package/skill-evals/fixtures/flowchart-cache/input.mmd +0 -3
- package/skill-evals/fixtures/gantt-release/input.mmd +0 -7
- package/skill-evals/fixtures/journey-checkout/input.mmd +0 -6
- package/skill-evals/fixtures/pie-exports/input.mmd +0 -5
- package/skill-evals/fixtures/quadrant-priorities/input.mmd +0 -11
- package/skill-evals/fixtures/sequence-retry/input.mmd +0 -8
- package/skill-evals/fixtures/state-lifecycle/input.mmd +0 -5
- package/skill-evals/fixtures/timeline-release/input.mmd +0 -6
- package/skill-evals/fixtures/xychart-growth/input.mmd +0 -5
- package/skill-evals/shared-benchmark.json +0 -510
- package/src/agent/analyze.ts +0 -157
- package/src/agent/apply.ts +0 -146
- package/src/agent/architecture-body.ts +0 -458
- package/src/agent/certificates.ts +0 -110
- package/src/agent/class-body.ts +0 -319
- package/src/agent/core.ts +0 -207
- package/src/agent/create.ts +0 -106
- package/src/agent/describe.ts +0 -368
- package/src/agent/er-body.ts +0 -224
- package/src/agent/facts.ts +0 -360
- package/src/agent/families-builtin.ts +0 -920
- package/src/agent/families.ts +0 -232
- package/src/agent/family-layouts.ts +0 -832
- package/src/agent/flowchart-body.ts +0 -372
- package/src/agent/flowchart-unsupported.ts +0 -243
- package/src/agent/font-coverage.ts +0 -288
- package/src/agent/gantt-body.ts +0 -495
- package/src/agent/index.ts +0 -10
- package/src/agent/journey-body.ts +0 -374
- package/src/agent/label-metrics.ts +0 -28
- package/src/agent/layout-to-rendered.ts +0 -63
- package/src/agent/mutate.ts +0 -97
- package/src/agent/mutation-ops.ts +0 -51
- package/src/agent/op-schema.ts +0 -443
- package/src/agent/parse.ts +0 -223
- package/src/agent/pie-body.ts +0 -270
- package/src/agent/png.ts +0 -171
- package/src/agent/quadrant-body.ts +0 -336
- package/src/agent/quality.ts +0 -363
- package/src/agent/readability-audit.ts +0 -92
- package/src/agent/rendered-route-audit.ts +0 -61
- package/src/agent/sequence-body.ts +0 -345
- package/src/agent/serialize.ts +0 -214
- package/src/agent/state-body.ts +0 -589
- package/src/agent/structural-count.ts +0 -150
- package/src/agent/timeline-body.ts +0 -280
- package/src/agent/trace-log.ts +0 -43
- package/src/agent/types.ts +0 -995
- package/src/agent/verify.ts +0 -603
- package/src/agent/xychart-body.ts +0 -472
- package/src/architecture/config.ts +0 -282
- package/src/architecture/layout.ts +0 -496
- package/src/architecture/parser.ts +0 -375
- package/src/architecture/renderer.ts +0 -611
- package/src/architecture/types.ts +0 -113
- package/src/ascii/ansi.ts +0 -423
- package/src/ascii/architecture.ts +0 -210
- package/src/ascii/canvas.ts +0 -443
- package/src/ascii/class-diagram.ts +0 -697
- package/src/ascii/converter.ts +0 -475
- package/src/ascii/draw.ts +0 -1693
- package/src/ascii/edge-bundling.ts +0 -328
- package/src/ascii/edge-routing.ts +0 -330
- package/src/ascii/er-diagram.ts +0 -439
- package/src/ascii/gantt.ts +0 -276
- package/src/ascii/grid.ts +0 -747
- package/src/ascii/index.ts +0 -196
- package/src/ascii/journey.ts +0 -169
- package/src/ascii/meta.ts +0 -244
- package/src/ascii/multiline-utils.ts +0 -80
- package/src/ascii/pathfinder.ts +0 -301
- package/src/ascii/pie.ts +0 -67
- package/src/ascii/quadrant.ts +0 -158
- package/src/ascii/reverse.ts +0 -216
- package/src/ascii/sequence.ts +0 -499
- package/src/ascii/shapes/circle.ts +0 -27
- package/src/ascii/shapes/corners.ts +0 -143
- package/src/ascii/shapes/diamond.ts +0 -27
- package/src/ascii/shapes/hexagon.ts +0 -27
- package/src/ascii/shapes/index.ts +0 -106
- package/src/ascii/shapes/rectangle.ts +0 -168
- package/src/ascii/shapes/rounded.ts +0 -27
- package/src/ascii/shapes/special.ts +0 -332
- package/src/ascii/shapes/stadium.ts +0 -110
- package/src/ascii/shapes/state.ts +0 -192
- package/src/ascii/shapes/types.ts +0 -73
- package/src/ascii/timeline.ts +0 -141
- package/src/ascii/types.ts +0 -312
- package/src/ascii/validate.ts +0 -120
- package/src/ascii/width.ts +0 -81
- package/src/ascii/wrap.ts +0 -131
- package/src/ascii/xychart.ts +0 -919
- package/src/browser.ts +0 -29
- package/src/class/layout.ts +0 -240
- package/src/class/parser.ts +0 -332
- package/src/class/renderer.ts +0 -638
- package/src/class/types.ts +0 -129
- package/src/cli/agent-instructions.ts +0 -1
- package/src/cli/am-bin.ts +0 -6
- package/src/cli/exit-codes.ts +0 -18
- package/src/cli/index.ts +0 -1132
- package/src/cli/init-agent.ts +0 -147
- package/src/cli/run-entrypoint.ts +0 -10
- package/src/color-resolver.ts +0 -152
- package/src/elk-instance.ts +0 -114
- package/src/er/layout.ts +0 -187
- package/src/er/parser.ts +0 -226
- package/src/er/renderer.ts +0 -792
- package/src/er/types.ts +0 -99
- package/src/family-rubric.ts +0 -425
- package/src/font-manifest.ts +0 -31
- package/src/gantt/layout.ts +0 -365
- package/src/gantt/parser.ts +0 -282
- package/src/gantt/pipeline.ts +0 -27
- package/src/gantt/renderer.ts +0 -414
- package/src/gantt/schedule.ts +0 -513
- package/src/gantt/types.ts +0 -255
- package/src/index.ts +0 -368
- package/src/journey/layout.ts +0 -554
- package/src/journey/parse-core.ts +0 -251
- package/src/journey/parser.ts +0 -101
- package/src/journey/renderer.ts +0 -917
- package/src/journey/types.ts +0 -144
- package/src/layout/geometry.ts +0 -182
- package/src/layout/pass.ts +0 -142
- package/src/layout/passes/index.ts +0 -3916
- package/src/layout-engine.ts +0 -1565
- package/src/layout-rubric.ts +0 -659
- package/src/mcp/artifacts.ts +0 -137
- package/src/mcp/dynamic-harness.ts +0 -31
- package/src/mcp/dynamic-modules.d.ts +0 -7
- package/src/mcp/facade.ts +0 -608
- package/src/mcp/harness-runtime.ts +0 -203
- package/src/mcp/hosted-server.ts +0 -468
- package/src/mcp/mcp-bin.ts +0 -3
- package/src/mcp/mcp-cli.ts +0 -82
- package/src/mcp/protocol.ts +0 -13
- package/src/mcp/sandbox.ts +0 -195
- package/src/mcp/sdk-decl.ts +0 -391
- package/src/mcp/server.ts +0 -362
- package/src/mcp/tool-surface.ts +0 -146
- package/src/mermaid-source.ts +0 -655
- package/src/multiline-utils.ts +0 -228
- package/src/parser.ts +0 -1031
- package/src/pie/layout.ts +0 -168
- package/src/pie/parser.ts +0 -136
- package/src/pie/renderer.ts +0 -234
- package/src/pie/types.ts +0 -82
- package/src/quadrant/layout.ts +0 -191
- package/src/quadrant/parser.ts +0 -183
- package/src/quadrant/renderer.ts +0 -322
- package/src/quadrant/types.ts +0 -113
- package/src/render-family-hooks.ts +0 -244
- package/src/renderer.ts +0 -1099
- package/src/route-contracts.ts +0 -2723
- package/src/scene/backend.ts +0 -76
- package/src/scene/fidelity.ts +0 -183
- package/src/scene/hybrid-backend.ts +0 -174
- package/src/scene/ir.ts +0 -181
- package/src/scene/marks.ts +0 -127
- package/src/scene/rough-backend.ts +0 -378
- package/src/scene/seed.ts +0 -46
- package/src/scene/style-registry.ts +0 -556
- package/src/sequence/layout.ts +0 -456
- package/src/sequence/parser.ts +0 -255
- package/src/sequence/renderer.ts +0 -604
- package/src/sequence/types.ts +0 -154
- package/src/shape-clipping.ts +0 -351
- package/src/shared/accessibility-directives.ts +0 -22
- package/src/shared/batched.ts +0 -61
- package/src/shared/color-math.ts +0 -93
- package/src/shared/svg-a11y.ts +0 -29
- package/src/shared/syntax-error.ts +0 -17
- package/src/shared/unicode-ranges.ts +0 -135
- package/src/styles.ts +0 -318
- package/src/svg-paths.ts +0 -28
- package/src/text-metrics.ts +0 -248
- package/src/theme.ts +0 -710
- package/src/timeline/layout.ts +0 -381
- package/src/timeline/parser.ts +0 -215
- package/src/timeline/renderer.ts +0 -538
- package/src/timeline/types.ts +0 -105
- package/src/types.ts +0 -462
- package/src/website-worker-modules.d.ts +0 -18
- package/src/xychart/axis-utils.ts +0 -109
- package/src/xychart/colors.ts +0 -124
- package/src/xychart/config.ts +0 -88
- package/src/xychart/layout.ts +0 -656
- package/src/xychart/parser.ts +0 -504
- package/src/xychart/renderer.ts +0 -640
- 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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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,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.
|
|
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": ">=
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"mutation-test
|
|
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
|
-
"
|
|
148
|
-
"lint": "bun
|
|
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
|
-
"
|
|
159
|
-
"roughjs": "4.6.6",
|
|
187
|
+
"acorn": "8.16.0",
|
|
160
188
|
"elkjs": "^0.11.0",
|
|
161
189
|
"entities": "^7.0.1",
|
|
162
|
-
"
|
|
163
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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;
|
|
16
|
-
|
|
17
|
-
## Capability
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
|
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 `
|
|
36
|
+
For new diagrams, author Mermaid source directly, then `parseRegisteredMermaid` / `verifyMermaid` / render. For existing modeled diagrams:
|
|
57
37
|
|
|
58
|
-
1. `
|
|
59
|
-
2.
|
|
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 =
|
|
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|
|
|
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
|
|
26
|
-
|
|
27
|
-
|
|
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.
|