agentic-mermaid 0.4.0 → 0.4.1
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/CHANGELOG.md +3 -0
- package/README.md +2 -0
- package/dist/agent-core.d.ts +2 -2
- package/dist/agent-core.js +2 -2
- package/dist/agent.d.ts +2 -2
- package/dist/agent.js +4 -4
- package/dist/agentic-mermaid-mcp.js +5 -5
- package/dist/am.js +6 -6
- package/dist/browser-lazy/chunks/{architecture-NUJTDJJ7.js → architecture-KTHE2HX3.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-DQHK4JCG.js → chunk-2XCPFAD5.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-ASPYKC6M.js → chunk-3H4F7RBT.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-EKHEVTE2.js → chunk-4EVLW2NJ.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-4RLZTVJP.js → chunk-6OAPWSDO.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-6LBHOBXT.js → chunk-C7FJO2I3.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-TCPK32QH.js → chunk-D3XXDKIO.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-OLQF6DTZ.js → chunk-DXA5WL7H.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-2W3BS3M3.js → chunk-G6OLSHRG.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-HO5GDIPN.js → chunk-L227EPFP.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-5QI4P3EJ.js → chunk-LNIHDJSF.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-ZMPTJUXS.js → chunk-NZRUMODH.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-UO3RFEMI.js → chunk-PXKL3O6H.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-N2K2BPQT.js → chunk-SUFMSWTX.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-55F5M5XA.js → chunk-UAEZO5VL.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-4ZURJQXD.js → chunk-X64T74C5.js} +1 -1
- package/dist/browser-lazy/chunks/{class-ABIOBAFL.js → class-F7R6TJ73.js} +1 -1
- package/dist/browser-lazy/chunks/{er-CX3NGEC2.js → er-BDK7CM5L.js} +1 -1
- package/dist/browser-lazy/chunks/{flowchart-ML54IJ7F.js → flowchart-KFU6XV7S.js} +1 -1
- package/dist/browser-lazy/chunks/{gantt-ZMOMOTF6.js → gantt-I64VVDSP.js} +1 -1
- package/dist/browser-lazy/chunks/{gitgraph-OBTCRWCA.js → gitgraph-EDUVJ5IJ.js} +1 -1
- package/dist/browser-lazy/chunks/{journey-RJBHWLRG.js → journey-TLO2RNM3.js} +1 -1
- package/dist/browser-lazy/chunks/{mindmap-YXHLCHOO.js → mindmap-OJCNDYPM.js} +1 -1
- package/dist/browser-lazy/chunks/{pie-TN2QOLSL.js → pie-HVG6XO7K.js} +1 -1
- package/dist/browser-lazy/chunks/{quadrant-QE5JZ4H2.js → quadrant-U6S2L4MJ.js} +1 -1
- package/dist/browser-lazy/chunks/{radar-ZPV6O27I.js → radar-ZDLOBTVG.js} +1 -1
- package/dist/browser-lazy/chunks/{render-core-VPMAH3HT.js → render-core-Y2DFNMQG.js} +1 -1
- package/dist/browser-lazy/chunks/{sequence-4AERT525.js → sequence-Z4WFS3VB.js} +1 -1
- package/dist/browser-lazy/chunks/{state-67TZ7USF.js → state-2HV2YGN3.js} +1 -1
- package/dist/browser-lazy/chunks/{timeline-AHOAT7ZL.js → timeline-XM4UFPOC.js} +1 -1
- package/dist/browser-lazy/chunks/{xychart-YUY3CPT2.js → xychart-7JDHWTQY.js} +1 -1
- package/dist/browser-lazy/index.js +1 -1
- package/dist/browser.global.js +1 -1
- package/dist/{chunk-WMFFVZ4Q.js → chunk-GGXCNCNA.js} +9 -5
- package/dist/{chunk-UKLKEZBJ.js → chunk-IVD4NXNE.js} +2 -2
- package/dist/{chunk-SDJYD4OP.js → chunk-JDMRPUAG.js} +2 -2
- package/dist/{chunk-QWCD67AZ.js → chunk-JWAAW3FH.js} +4 -4
- package/dist/{chunk-PG4PTPJL.js → chunk-LCGBT32P.js} +2 -2
- package/dist/{chunk-M3VTTD3Q.js → chunk-RWMZRUIC.js} +2 -2
- package/dist/{index-BoqfBufn.d.ts → index-BGA_-6LV.d.ts} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp-cli-4MLKC3ZH.js +17 -0
- package/docs/MCP-DIRECTORY-LISTINGS.md +72 -0
- package/docs/MCP-PRIVACY.md +52 -0
- package/package.json +1 -1
- package/server.json +2 -2
- package/dist/mcp-cli-YOAFIAVD.js +0 -17
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,9 @@ This changelog tracks user-facing changes for **Agentic Mermaid**, a fork of `lu
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
### Added
|
|
8
|
+
- Added human-readable titles to every MCP tool and published canonical directory-listing and hosted-service privacy documentation.
|
|
9
|
+
|
|
7
10
|
## 0.4.0 — 2026-07-28
|
|
8
11
|
|
|
9
12
|
### Added
|
package/README.md
CHANGED
|
@@ -143,6 +143,8 @@ Agentic Mermaid ships a Model Context Protocol server so MCP-capable agents can
|
|
|
143
143
|
|
|
144
144
|
Local-first is the default posture: prefer the library, CLI, or a self-hosted MCP for anything sensitive, offline, larger than the hosted caps, or needing local PNG file/URL artifacts. The hosted endpoint is a public, unauthenticated convenience for zero-install render/verify/describe and bounded structured edits.
|
|
145
145
|
|
|
146
|
+
Directory maintainers can use the canonical [MCP listing record](./docs/MCP-DIRECTORY-LISTINGS.md). Hosted data handling is described in the [MCP privacy notice](./docs/MCP-PRIVACY.md).
|
|
147
|
+
|
|
146
148
|
## Structured edit example
|
|
147
149
|
|
|
148
150
|
```ts
|
package/dist/agent-core.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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-
|
|
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-BoqfBufn.js';
|
|
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';
|
|
3
3
|
|
|
4
4
|
type MermaidFact = string;
|
|
5
5
|
interface CheckMermaidObjectSpec {
|
package/dist/agent-core.js
CHANGED
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
validateOp,
|
|
39
39
|
verifyMermaid,
|
|
40
40
|
verifySummary
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-RWMZRUIC.js";
|
|
42
42
|
import {
|
|
43
43
|
AsciiWidthError,
|
|
44
44
|
BACKEND_CONFORMANCE_CHECK_IDS,
|
|
@@ -196,7 +196,7 @@ import {
|
|
|
196
196
|
validateStyleSpec,
|
|
197
197
|
verifyNoExternalRefs,
|
|
198
198
|
verifyResourceBytes
|
|
199
|
-
} from "./chunk-
|
|
199
|
+
} from "./chunk-LCGBT32P.js";
|
|
200
200
|
export {
|
|
201
201
|
ASCII_ROUTE_PARITY_CONTRACT,
|
|
202
202
|
AsciiWidthError,
|
package/dist/agent.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AsciiWarning } from './agent-core.js';
|
|
2
2
|
export { ASCII_ROUTE_PARITY_CONTRACT, ApplyOpsInput, AsciiRegion, AsciiWarningCode, AsciiWithMeta, BOUND_PROVENANCE, BoundBasis, BoundProvenance, BuildError, CheckMermaidObjectSpec, CheckMermaidResult, CheckMermaidSpec, CheckedBuildError, CreateMermaidOptions, DEFAULT_BOUNDS, DescribeOptions, DescribeTree, FamilyConformanceError, LayoutCertificateProof, LayoutMermaidOptions, LayoutRenderOptions, MermaidFact, OpEnvelope, OpFamily, OpFieldDoc, OpValidationError, QualityBounds, QualityMeasurementOptions, QualityMetrics, QualityVerdict, RankedViolation, RegionKind, RenderedLayoutArtifact, VerifySummary, ViolationSeverity, 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 } from './agent-core.js';
|
|
3
|
-
import { P as ParsedDiagram, R as RenderOptions, a as PngOutputPolicyInput, b as RenderRequestReceipt, c as PngRuntimeProvenance, H as HostBackendPolicy, A as AsciiRenderOptions, d as RenderedRegion, D as DiagramActionRecord } from './index-
|
|
4
|
-
export { e as Accessibility, f as AnyMutationOp, g as AnyPort, h as ArchitectureBody, i as ArchitectureEdge, j as ArchitectureEndpoint, k as ArchitectureEndpointBoundary, l as ArchitectureGroup, m as ArchitectureJunction, n as ArchitectureMutationOp, o as ArchitectureService, p as ArchitectureSide, q as ArchitectureValidDiagram, 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, a7 as ClassMutationOp, a8 as ClassNode, a9 as ClassNote, aa as ClassRelation, ab as ClassRelationKind, ac as ClassValidDiagram, 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, ay as DiagramAnalysis, az as DiagramBody, aA as DiagramKind, 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, aL as ErMutationOp, aM as ErRelation, aN as ErValidDiagram, aO as ExactStyleSceneRole, aP as ExtensionDiagramBody, 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, bd as FamilyConformanceReport, be as FamilyConformanceStatus, bf as FamilyDescriptor, bg as FamilyDetectionDiagnostic, bh as FamilyEdgeRouteCertificate, bi as FamilyId, bj as FamilyOperations, bk as FamilyParsedBody, bl as FamilyPositionedProjectionContext, bm as FamilyPositionedProjectionOptions, bn as FamilyPositionedView, bo as FamilyRouteCertificate, bp as FamilyScenePositivePrimitive, bq as FamilyScenePrimitiveApplicability, br as FamilyScenePrimitiveEvidence, bs as FamilySceneRolePrimitiveDeclaration, bt as FeedbackEdgeAnalysis, bu as Finite, bv as FlowchartMutationOp, bw as FlowchartValidDiagram, bx as GanttBody, by as GanttBodySection, bz as GanttBodyTask, bA as GanttBodyTaskTag, bB as GanttMutationOp, bC as GanttScheduleAnalysisSummary, bD as GanttStatement, bE as GanttValidDiagram, bF as GitGraphBody, bG as GitGraphMutationOp, bH as GitGraphValidDiagram, bI as GroupId, bJ as HOSTED_FONT_RESOURCES, bK as InitDirective, bL as JourneyBody, bM as JourneyMutationOp, bN as JourneySection, bO as JourneyTask, bP as JourneyValidDiagram, bQ as LayoutRouteCertificate, 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, c2 as MindmapMutationOp, c3 as MindmapValidDiagram, c4 as MutableValidDiagram, c5 as MutationError, 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, cl as ParseError, cm as ParticipantId, cn as PieBody, co as PieMutationOp, cp as PieSlice, cq as PieValidDiagram, cr as PngFitTo, cs as PngFontSource, ct as PngOutputOptionField, cu as PngOutputOptionFieldDescriptor, cv as PngOutputOptionInputKind, cw as PngOutputOptionPolicyState, cx as PngOutputOptionReceiptState, cy as PngOutputOptionScope, cz as PngRasterDimensions, 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, cJ as QuadrantMutationOp, cK as QuadrantPoint, cL as QuadrantValidDiagram, 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, cV as RadarMutationOp, cW as RadarValidDiagram, cX as RegionContainmentCertificate, cY as RenderCapabilityError, cZ as RenderOutputDescriptor, c_ as RenderOutputTransports, c$ as RenderedAscii, d0 as RenderedLayout, d1 as RenderedLayoutEdge, d2 as RenderedLayoutGroup, d3 as RenderedLayoutNode, d4 as RenderedRegionKind, d5 as ResolvedPngOutputPolicy, d6 as ResolvedTerminalOutputPolicy, d7 as Result, 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, dE as SequenceMutationOp, dF as SequenceParticipant, dG as SequenceValidDiagram, dH as SerializedFlowchartGraph, dI as SourceComment, dJ as SourceMap, dK as SourceMapSpans, dL as SourcePreservationReceipt, dM as SourceSpan, dN as SourceSpanPoint, dO as StateBody, dP as StateMutationOp, dQ as StateNode, dR as StateTransition, dS as StateValidDiagram, 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, ee as TimelineMutationOp, ef as TimelinePeriod, eg as TimelineSection, eh as TimelineValidDiagram, 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, eq as ValidDiagram, er as ValidDiagramMeta, es as ValidDiagramPayload, et as VerifyOptions, eu as VerifyResult, 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, eD as XyChartMutationOp, eE as XyChartSeries, eF as XyChartValidDiagram, 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-BoqfBufn.js';
|
|
3
|
+
import { P as ParsedDiagram, R as RenderOptions, a as PngOutputPolicyInput, b as RenderRequestReceipt, c as PngRuntimeProvenance, H as HostBackendPolicy, A as AsciiRenderOptions, d as RenderedRegion, D as DiagramActionRecord } from './index-BGA_-6LV.js';
|
|
4
|
+
export { e as Accessibility, f as AnyMutationOp, g as AnyPort, h as ArchitectureBody, i as ArchitectureEdge, j as ArchitectureEndpoint, k as ArchitectureEndpointBoundary, l as ArchitectureGroup, m as ArchitectureJunction, n as ArchitectureMutationOp, o as ArchitectureService, p as ArchitectureSide, q as ArchitectureValidDiagram, 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, a7 as ClassMutationOp, a8 as ClassNode, a9 as ClassNote, aa as ClassRelation, ab as ClassRelationKind, ac as ClassValidDiagram, 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, ay as DiagramAnalysis, az as DiagramBody, aA as DiagramKind, 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, aL as ErMutationOp, aM as ErRelation, aN as ErValidDiagram, aO as ExactStyleSceneRole, aP as ExtensionDiagramBody, 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, bd as FamilyConformanceReport, be as FamilyConformanceStatus, bf as FamilyDescriptor, bg as FamilyDetectionDiagnostic, bh as FamilyEdgeRouteCertificate, bi as FamilyId, bj as FamilyOperations, bk as FamilyParsedBody, bl as FamilyPositionedProjectionContext, bm as FamilyPositionedProjectionOptions, bn as FamilyPositionedView, bo as FamilyRouteCertificate, bp as FamilyScenePositivePrimitive, bq as FamilyScenePrimitiveApplicability, br as FamilyScenePrimitiveEvidence, bs as FamilySceneRolePrimitiveDeclaration, bt as FeedbackEdgeAnalysis, bu as Finite, bv as FlowchartMutationOp, bw as FlowchartValidDiagram, bx as GanttBody, by as GanttBodySection, bz as GanttBodyTask, bA as GanttBodyTaskTag, bB as GanttMutationOp, bC as GanttScheduleAnalysisSummary, bD as GanttStatement, bE as GanttValidDiagram, bF as GitGraphBody, bG as GitGraphMutationOp, bH as GitGraphValidDiagram, bI as GroupId, bJ as HOSTED_FONT_RESOURCES, bK as InitDirective, bL as JourneyBody, bM as JourneyMutationOp, bN as JourneySection, bO as JourneyTask, bP as JourneyValidDiagram, bQ as LayoutRouteCertificate, 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, c2 as MindmapMutationOp, c3 as MindmapValidDiagram, c4 as MutableValidDiagram, c5 as MutationError, 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, cl as ParseError, cm as ParticipantId, cn as PieBody, co as PieMutationOp, cp as PieSlice, cq as PieValidDiagram, cr as PngFitTo, cs as PngFontSource, ct as PngOutputOptionField, cu as PngOutputOptionFieldDescriptor, cv as PngOutputOptionInputKind, cw as PngOutputOptionPolicyState, cx as PngOutputOptionReceiptState, cy as PngOutputOptionScope, cz as PngRasterDimensions, 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, cJ as QuadrantMutationOp, cK as QuadrantPoint, cL as QuadrantValidDiagram, 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, cV as RadarMutationOp, cW as RadarValidDiagram, cX as RegionContainmentCertificate, cY as RenderCapabilityError, cZ as RenderOutputDescriptor, c_ as RenderOutputTransports, c$ as RenderedAscii, d0 as RenderedLayout, d1 as RenderedLayoutEdge, d2 as RenderedLayoutGroup, d3 as RenderedLayoutNode, d4 as RenderedRegionKind, d5 as ResolvedPngOutputPolicy, d6 as ResolvedTerminalOutputPolicy, d7 as Result, 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, dE as SequenceMutationOp, dF as SequenceParticipant, dG as SequenceValidDiagram, dH as SerializedFlowchartGraph, dI as SourceComment, dJ as SourceMap, dK as SourceMapSpans, dL as SourcePreservationReceipt, dM as SourceSpan, dN as SourceSpanPoint, dO as StateBody, dP as StateMutationOp, dQ as StateNode, dR as StateTransition, dS as StateValidDiagram, 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, ee as TimelineMutationOp, ef as TimelinePeriod, eg as TimelineSection, eh as TimelineValidDiagram, 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, eq as ValidDiagram, er as ValidDiagramMeta, es as ValidDiagramPayload, et as VerifyOptions, eu as VerifyResult, 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, eD as XyChartMutationOp, eE as XyChartSeries, eF as XyChartValidDiagram, 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';
|
|
5
5
|
|
|
6
6
|
interface PngFontWarning {
|
|
7
7
|
code: 'PNG_FONT_COVERAGE';
|
package/dist/agent.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderMermaidWithActions
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JWAAW3FH.js";
|
|
4
4
|
import {
|
|
5
5
|
createMermaidPNGRenderer,
|
|
6
6
|
renderMermaidPNG,
|
|
7
7
|
renderMermaidPNGWithReceipt
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IVD4NXNE.js";
|
|
9
9
|
import {
|
|
10
10
|
ASCII_ROUTE_PARITY_CONTRACT,
|
|
11
11
|
BOUND_PROVENANCE,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
validateOp,
|
|
47
47
|
verifyMermaid,
|
|
48
48
|
verifySummary
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-RWMZRUIC.js";
|
|
50
50
|
import {
|
|
51
51
|
AsciiWidthError,
|
|
52
52
|
BACKEND_CONFORMANCE_CHECK_IDS,
|
|
@@ -204,7 +204,7 @@ import {
|
|
|
204
204
|
validateStyleSpec,
|
|
205
205
|
verifyNoExternalRefs,
|
|
206
206
|
verifyResourceBytes
|
|
207
|
-
} from "./chunk-
|
|
207
|
+
} from "./chunk-LCGBT32P.js";
|
|
208
208
|
export {
|
|
209
209
|
ASCII_ROUTE_PARITY_CONTRACT,
|
|
210
210
|
AsciiWidthError,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
runMcpCli
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-GGXCNCNA.js";
|
|
5
|
+
import "./chunk-JDMRPUAG.js";
|
|
6
|
+
import "./chunk-IVD4NXNE.js";
|
|
7
|
+
import "./chunk-RWMZRUIC.js";
|
|
8
|
+
import "./chunk-LCGBT32P.js";
|
|
9
9
|
|
|
10
10
|
// src/mcp/mcp-bin.ts
|
|
11
11
|
var code = await runMcpCli(process.argv.slice(2));
|
package/dist/am.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-JWAAW3FH.js";
|
|
3
3
|
import {
|
|
4
4
|
projectRenderErrorDiagnostic
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-JDMRPUAG.js";
|
|
6
6
|
import {
|
|
7
7
|
renderMermaidPNGWithReceipt
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IVD4NXNE.js";
|
|
9
9
|
import {
|
|
10
10
|
configWarningsForMermaid,
|
|
11
11
|
describeMermaid,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
renderMermaidSVG,
|
|
20
20
|
renderMermaidSVGWithReceipt,
|
|
21
21
|
verifyMermaid
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-RWMZRUIC.js";
|
|
23
23
|
import {
|
|
24
24
|
BACKEND_CONFORMANCE_VERSION,
|
|
25
25
|
BUILTIN_FAMILY_METADATA,
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
synthesizeFromGraph,
|
|
83
83
|
validateSerializableRenderOptions,
|
|
84
84
|
validateStyleSpec
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-LCGBT32P.js";
|
|
86
86
|
|
|
87
87
|
// src/cli/index.ts
|
|
88
88
|
import { readFileSync as readFileSync2, existsSync as existsSync2, writeFileSync as writeFileSync2, mkdtempSync, statSync, watch } from "fs";
|
|
@@ -34552,7 +34552,7 @@ function toJsonSafe(d) {
|
|
|
34552
34552
|
// src/cli/run-entrypoint.ts
|
|
34553
34553
|
async function runAmCli(argv) {
|
|
34554
34554
|
if (argv[0] === "mcp") {
|
|
34555
|
-
const { runMcpCli } = await import("./mcp-cli-
|
|
34555
|
+
const { runMcpCli } = await import("./mcp-cli-4MLKC3ZH.js");
|
|
34556
34556
|
return runMcpCli(argv.slice(1));
|
|
34557
34557
|
}
|
|
34558
34558
|
return runCli(argv);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Ye}from"./chunk-STQRDZ67.js";import"./chunk-GRXCKTHX.js";import{c as De}from"./chunk-
|
|
1
|
+
import{a as Ye}from"./chunk-STQRDZ67.js";import"./chunk-GRXCKTHX.js";import{c as De}from"./chunk-X64T74C5.js";import"./chunk-NZRUMODH.js";import{a as Oe}from"./chunk-M6BT2HIP.js";import{a as K}from"./chunk-PZEWZT35.js";import{a as Ue}from"./chunk-I6VE56S7.js";import{b as Te,c as Ee,e as Ce}from"./chunk-FLD63DXE.js";import{a as fe,j as te,k as ze}from"./chunk-UAEZO5VL.js";import{a as Le,b as _e,c as Fe}from"./chunk-EPFMQPXX.js";import{H as Be,I as We,L as re,N as me,O as H,P as ie,Q as je,fa as Ge,i as Ie,ia as U,ja as xe,ka as oe,la as ye,na as Ne,oa as Xe,pa as ce,qa as He,xa as Ve}from"./chunk-2XCPFAD5.js";import{f as ne}from"./chunk-P7HMSKHJ.js";var St=Object.freeze({id:"architecture",upstreamId:"architecture",maturity:"stable",label:"Architecture",headers:["architecture","architecture-beta"],aliases:[],config:{section:"architecture",keys:["padding","iconSize","fontSize","nodeSeparation","idealEdgeLengthMultiplier","edgeElasticity","numIter","seed","randomize"],noopKeys:["edgeElasticity","numIter","randomize","seed"]},identity:{id:"family:architecture",kind:"family",version:"1.0.0",compatibility:{core:"^0.4.0"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:[],semanticRoles:["prelude","defs","chrome","title","group","group-header","icon","label","service","junction","edge"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"marker",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group-header",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"icon",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"service",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"service",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"junction",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"junction",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"edge",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`architecture-beta
|
|
2
2
|
group backend(cloud)[Backend]
|
|
3
3
|
service api(server)[API] in backend
|
|
4
4
|
service db(database)[Database] in backend
|
|
@@ -22,7 +22,7 @@ import{f as bt,g as de}from"./chunk-P7HMSKHJ.js";var xt=/<(\/)?(?:(b|strong)|(i|
|
|
|
22
22
|
`).replace(/\\n/g,`
|
|
23
23
|
`).replace(/<\/?(?:sub|sup|small|mark)\s*>/gi,"").replace(/\*\*(.+?)\*\*/g,"<b>$1</b>").replace(/(?<!\*)\*([^\s*](?:[^*]*[^\s*])?)\*(?!\*)/g,"<i>$1</i>").replace(/~~(.+?)~~/g,"<s>$1</s>")}function fa(e){return e.replace(/<\/?(?:b|strong|i|em|u|s|del)\s*>/gi,"")}function Y(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function N(e){return Y(e)}function Wt(e){if(!Ue.test(e))return Y(e);let n=Ve(e);return n.length===0?"":n.every(r=>!r.bold&&!r.italic&&!r.underline&&!r.strikethrough)?n.map(r=>Y(r.text)).join(""):n.map(r=>{let i=Y(r.text);if(!r.bold&&!r.italic&&!r.underline&&!r.strikethrough)return i;let s=[];r.bold&&s.push('font-weight="bold"'),r.italic&&s.push('font-style="italic"');let o=[];return r.underline&&o.push("underline"),r.strikethrough&&o.push("line-through"),o.length&&s.push(`text-decoration="${o.join(" ")}"`),`<tspan ${s.join(" ")}>${i}</tspan>`}).join("")}function Ni(e,n,t,r,i,s=.35){let o=e.split(`
|
|
24
24
|
`);if(o.length===1){let u=r*s;return`<text x="${n}" y="${t}" ${i} dy="${u}">${Wt(e)}</text>`}let a=r*wn,c=-((o.length-1)/2)*a+r*s,d=o.map((u,f)=>`<tspan x="${n}" dy="${f===0?c:a}">${Wt(u)}</tspan>`).join("");return`<text x="${n}" y="${t}" ${i}>${d}</text>`}function pa(e,n,t,r,i,s,o,a,c){let d=r+o*2,u=i+o*2,f=`<rect x="${n-d/2}" y="${t-u/2}" width="${d}" height="${u}" ${c} />`,m=Ni(e,n,t,s,a);return`${f}
|
|
25
|
-
${m}`}var Gt=Object.freeze(["svg","png","ascii","unicode","html","layout"]);var Ti=1,Ri=/^[a-z][a-z0-9.-]*:[a-z0-9][a-z0-9._/-]*$/,Mi=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,vi=new Set(["required","preferred","optional"]);function qe(e){return Ri.test(e)}function $e(e){if(typeof e!="string")return;let n=e.match(Mi);if(!n)return;let t=n[4];if(!t?.split(".").some(r=>/^\d+$/.test(r)&&r.length>1&&r.startsWith("0")))return{major:n[1],minor:n[2],patch:n[3],...t?{prerelease:t}:{}}}function On(e,n){return e.length!==n.length?e.length<n.length?-1:1:e===n?0:e<n?-1:1}function Ai(e,n){return On(e.major,n.major)||On(e.minor,n.minor)||On(e.patch,n.patch)}function He(e){if(typeof e!="string")return!1;let n=e.trim();if(n==="*"||/^(0|[1-9]\d*)\.(?:x|\*)$/i.test(n))return!0;let t=n.match(/^(\^|~|>=)?(.+)$/),r=$e(t?.[2]??"");return!t||!r?!1:!r.prerelease||t[1]===void 0}function In(e,n){let t=$e(e);if(!t||!He(n))return!1;let r=n.trim();if(r==="*")return t.prerelease===void 0;let i=r.match(/^(0|[1-9]\d*)\.(?:x|\*)$/i);if(i)return t.prerelease===void 0&&t.major===i[1];let s=r.match(/^(\^|~|>=)?(.+)$/),o=$e(s?.[2]??"");if(!s||!o)return!1;let a=Ai(t,o);if(t.prerelease||o.prerelease)return s[1]===void 0&&a===0&&t.prerelease===o.prerelease;switch(s[1]){case">=":return a>=0;case"~":return a>=0&&t.major===o.major&&t.minor===o.minor;case"^":return a<0?!1:o.major!=="0"?t.major===o.major:o.minor!=="0"?t.major==="0"&&t.minor===o.minor:t.major==="0"&&t.minor==="0"&&t.patch===o.patch;default:return a===0}}function _i(e,n){if(!Array.isArray(e))throw new TypeError("Capability offers must be an array");if(!Array.isArray(n))throw new TypeError("Capability requirements must be an array");let t=new Map;for(let[o,a]of e.entries()){if(!a||typeof a!="object"||Array.isArray(a))throw new TypeError(`Capability offer at index ${o} must be an object`);if(typeof a.id!="string")throw new Error(`Invalid capability id "${String(a.id)}"`);if(!qe(a.id))throw new Error(`Invalid capability id "${a.id}"`);if(typeof a.version!="string")throw new Error(`Capability "${a.id}" has invalid semantic version "${String(a.version)}"`);if(!$e(a.version))throw new Error(`Capability "${a.id}" has invalid semantic version "${a.version}"`);if(t.has(a.id))throw new Error(`Duplicate capability offer "${a.id}"`);t.set(a.id,a.version)}let r=new Set,i=n.map((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))throw new TypeError(`Capability requirement at index ${a} must be an object`);if(typeof o.id!="string")throw new Error(`Invalid capability id "${String(o.id)}"`);if(!qe(o.id))throw new Error(`Invalid capability id "${o.id}"`);if(!vi.has(o.level))throw new Error(`Capability "${o.id}" has invalid requirement level "${String(o.level)}"`);if(!He(o.range))throw new Error(`Capability "${o.id}" has invalid semantic-version range "${String(o.range)}"`);if(r.has(o.id))throw new Error(`Duplicate capability requirement "${o.id}"`);r.add(o.id);let c=t.get(o.id),d=c===void 0?"unsupported":In(c,o.range)?"selected":"incompatible";return Object.freeze({id:o.id,range:o.range,level:o.level,status:d,...c!==void 0?{version:c}:{}})}),s=i.every(o=>o.level!=="required"||o.status==="selected");return Object.freeze({version:Ti,accepted:s,resolutions:Object.freeze(i)})}var Oi=Object.freeze([{id:"core:render-request",version:"1.0.0"},{id:"core:family-descriptor",version:"1.0.0"}].map(e=>Object.freeze(e)));function Ii(e,n,t,r){let i={id:`output:${e}`,version:"1.0.0"},s=Gt.includes(e);return _i([...Oi,...n,...!s||!r?[]:[i]],[{id:"core:render-request",range:"^1.0.0",level:"required"},...t,{id:`output:${e}`,range:"^1.0.0",level:"required"}])}function ha(e,n){return Ii(e,n.offers,n.requirements,n.outputAvailable)}var qt="2.0.0";var Ht="0.4.0";var Pi=Object.freeze({core:Ht,scene:qt});function zi(e){let n=[];for(let[t,r]of Object.entries(e.compatibility)){if(r===void 0)continue;let i=Pi[t];if(!He(r)){n.push(Object.freeze({contract:t,range:r,status:"invalid",diagnostic:`Compatibility requirement "${t}" has invalid semantic-version range "${r}".`}));continue}if(i!==void 0){let s=In(i,r);n.push(Object.freeze({contract:t,range:r,status:s?"compatible":"incompatible",version:i,...s?{}:{diagnostic:`Compatibility requirement "${t}" range "${r}" does not include host version ${i}.`}}));continue}if(!qe(t)){n.push(Object.freeze({contract:t,range:r,status:"invalid",diagnostic:`Unknown compatibility requirement "${t}" must use a namespace.`}));continue}n.push(Object.freeze({contract:t,range:r,status:"deferred"}))}return Object.freeze({accepted:n.every(t=>t.status==="compatible"||t.status==="deferred"),resolutions:Object.freeze(n)})}var Kt=/^[a-z][a-z0-9-]*$/,Xt=/^[a-z0-9][a-z0-9._/-]*$/,Yt=new WeakSet,Ke=new WeakMap;function Di(e,n){let t=Ke.get(e);if(t)throw t.reentrantAttempted=!0,new Error(`Extension registry mutation is forbidden while ${t.operation} is in progress`);let r={operation:n,reentrantAttempted:!1};return Ke.set(e,r),r}function ji(e){if(e.reentrantAttempted)throw new Error(`Extension registry mutation is forbidden after a reentrant attempt during ${e.operation}`)}function Bi(e,n){Ke.get(e)===n&&Ke.delete(e)}function Zt(e,n){if(!Kt.test(e))throw new Error(`Invalid extension kind "${e}"`);if(!Xt.test(n))throw new Error(`Invalid ${e} extension local id "${n}"`);return`${e}:${n}`}function Xe(e){let n=e.indexOf(":");if(n<=0||n===e.length-1||e.indexOf(":",n+1)!==-1)return;let t=e.slice(0,n),r=e.slice(n+1);if(!(!Kt.test(t)||!Xt.test(r)))return{kind:t,localId:r}}function Ye(e){let n=e.id,t=e.kind,r=e.version,i=e.compatibility,s=e.provenance,o=Object.freeze({...i??{}}),a=Object.freeze({...s}),c=Xe(n);if(!c||c.kind!==t)throw new Error(`Extension id "${n}" must use the "${t}:" namespace`);if(!$e(r))throw new Error(`Extension "${n}" requires a semantic version (received "${r}")`);if(a.owner.trim().length===0)throw new Error(`Extension "${n}" requires a provenance owner`);if(a.source.trim().length===0)throw new Error(`Extension "${n}" requires a provenance source`);let d=Object.freeze({id:n,kind:t,version:r,compatibility:o,provenance:a}),u=zi(d);if(!u.accepted)throw new Error(`Extension "${n}" has incompatible requirements: ${u.resolutions.filter(f=>f.status==="incompatible"||f.status==="invalid").map(f=>f.diagnostic).join("; ")}`);return Yt.add(d),d}var Pn=class extends Error{constructor(t,r){super(`Cannot register ${t.kind} "${t.id}" for owner "${t.provenance.owner}": already registered by "${r.provenance.owner}" at version ${r.version}`);this.incoming=t;this.existing=r;this.name="ExtensionCollisionError"}incoming;existing;code="EXTENSION_ID_COLLISION"};function Jt(e,n){let t=Di(e,"extension registration");try{let r=Object.freeze({identity:n.identity,value:n.value});if(!Yt.has(r.identity))throw new TypeError("Extension registration identity must be created by createExtensionIdentity()");let i=r.identity.id,s=e.get(i);if(s)throw new Pn(r.identity,s.identity);ji(t),e.set(i,r)}finally{Bi(e,t)}}var wa=Object.freeze({fontFamily:{kind:"font",description:"Safe font family/stack for roles whose descriptor exposes family-specific typography."},fontSize:{kind:"number",minimum:1,maximum:256,expected:"between 1 and 256",description:"Font size in SVG user units."},fontWeight:{kind:"number",minimum:1,maximum:1e3,expected:"between 1 and 1000",description:"CSS numeric font weight."},letterSpacing:{kind:"number",minimum:-2,maximum:4,expected:"between -2 and 4",description:"Letter spacing in SVG user units."},textTransform:{kind:"enum",values:["uppercase","lowercase","capitalize"],description:"Text transformation."},textColor:{kind:"color",description:"Text paint."},paddingX:{kind:"number",minimum:0,maximum:256,expected:"between 0 and 256",description:"Horizontal role padding."},paddingY:{kind:"number",minimum:0,maximum:256,expected:"between 0 and 256",description:"Vertical role padding."},cornerRadius:{kind:"number",minimum:0,maximum:256,expected:"between 0 and 256",description:"Applicable corner radius."},lineWidth:{kind:"number",exclusiveMinimum:0,maximum:20,expected:"greater than 0 and at most 20",description:"Border or connector width."},bendRadius:{kind:"number",minimum:0,maximum:256,expected:"between 0 and 256",description:"Applicable connector bend radius."},fillColor:{kind:"color",description:"Surface fill paint."},borderColor:{kind:"color",description:"Border paint."},strokeColor:{kind:"color",description:"Connector stroke paint."},headerFillColor:{kind:"color",description:"Group header surface paint."},cue:{kind:"enum",values:["none","outline","double-line","pattern"],description:"Non-color semantic cue on roles whose family renderer exposes a cue projection."}}),zn=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor","paddingX","paddingY","cornerRadius","lineWidth","fillColor","borderColor"]),Qt=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor","lineWidth","bendRadius","strokeColor"]),Li=Object.freeze([...zn,"fontFamily","headerFillColor"]),Fi=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor"]),Ui=Object.freeze(["fontFamily","fontSize","fontWeight","letterSpacing","textTransform","textColor","fillColor","borderColor","strokeColor","lineWidth","cue"]),Vi=Object.freeze(["fillColor","borderColor","strokeColor","lineWidth","cue"]),Wi=Object.freeze(["fillColor","borderColor","strokeColor","lineWidth","textColor"]),Dn=Object.freeze(["fillColor","borderColor","strokeColor","lineWidth"]),Gi=Object.freeze(["borderColor","strokeColor","lineWidth"]),er=Object.freeze([...Dn,"cue"]);function W(e,n){return Object.freeze({properties:e,...n?{bindingFamilies:Object.freeze([...n])}:{}})}var Oe=Object.freeze({node:W(zn),edge:W(Qt),group:W(Li),"group-header":W(Ui,["journey"]),label:W(Fi),actor:W(zn,["sequence"]),relationship:W(Qt,["er"]),"pie-slice":W(Vi,["pie","radar"]),legend:W(Wi,["radar"]),bar:W(Dn,["xychart"]),series:W(Gi,["xychart"]),point:W(Dn,["radar"]),task:W(er,["gantt"]),milestone:W(er,["gantt"])}),qi=Object.freeze(Object.keys(Oe)),Hi=Object.freeze(qi.filter(e=>"bindingFamilies"in Oe[e])),Na=Object.freeze([...new Set(Hi.flatMap(e=>Oe[e].properties))]);var Z=["shape","connector","text","group","document"],pe=["shape"],Ze=["connector"],nr=["text"],Ki=["shape","text"],ee=["shape","group"],Xi=["shape","text","group"],Yi=["connector","group"],Zi=["document"],tr=["text","group"];var Ji=["shape","text","document"],Qi=["document"];function $(e,n,t,r={}){let i=Oe[e];return Object.freeze({applicableKinds:n,styleFallback:t,styleConsumption:i?"exact":"fallback-only",styleExtras:Object.freeze([]),...i?{styleProperties:i.properties}:{},styleBindingFamilies:Object.freeze([...i?.bindingFamilies??[]]),domIdentity:!1,relation:!1,sketch:"none",textHalo:!1,...r})}var Je=Object.freeze({node:$("node",ee,"node",{domIdentity:!0,sketch:"shape"}),edge:$("edge",Ze,"edge",{domIdentity:!0,relation:!0,sketch:"connector"}),"edge-label":$("edge-label",tr,"label"),group:$("group",ee,"group",{domIdentity:!0,sketch:"shape"}),"group-header":$("group-header",Z,"group",{sketch:"shape",textHalo:!0}),label:$("label",nr,"label",{textHalo:!0}),actor:$("actor",ee,"node",{domIdentity:!0,sketch:"shape"}),lifeline:$("lifeline",Ze,"edge",{sketch:"connector"}),activation:$("activation",pe,"node",{domIdentity:!0,sketch:"shape"}),message:$("message",Yi,"edge",{domIdentity:!0,relation:!0,sketch:"connector"}),block:$("block",Z,"group",{domIdentity:!0,sketch:"shape"}),note:$("note",ee,"group",{domIdentity:!0,sketch:"shape"}),"class-box":$("class-box",ee,"node",{domIdentity:!0,sketch:"shape"}),member:$("member",nr,"label",{domIdentity:!0,textHalo:!0}),entity:$("entity",ee,"node",{domIdentity:!0,sketch:"shape"}),attribute:$("attribute",tr,"label",{domIdentity:!0,textHalo:!0}),relationship:$("relationship",Ze,"edge",{domIdentity:!0,relation:!0,sketch:"connector"}),cardinality:$("cardinality",Ki,"label",{domIdentity:!0,textHalo:!0}),"pie-slice":$("pie-slice",pe,"node",{domIdentity:!0,sketch:"shape"}),legend:$("legend",Xi,"group",{textHalo:!0}),bar:$("bar",pe,"node",{domIdentity:!0,sketch:"shape"}),series:$("series",Ze,"edge",{domIdentity:!0,sketch:"connector"}),point:$("point",pe,"node",{domIdentity:!0}),axis:$("axis",Z,"label",{textHalo:!0}),grid:$("grid",Z,"edge"),plate:$("plate",pe,"node",{domIdentity:!0,sketch:"shape"}),section:$("section",Z,"group",{domIdentity:!0,sketch:"shape",textHalo:!0}),task:$("task",Z,"node",{domIdentity:!0,sketch:"shape"}),milestone:$("milestone",pe,"node",{domIdentity:!0,sketch:"shape"}),"marker-line":$("marker-line",Z,"edge"),rail:$("rail",Z,"edge",{sketch:"connector"}),period:$("period",ee,"group",{domIdentity:!0,sketch:"shape"}),event:$("event",ee,"group",{domIdentity:!0,sketch:"shape"}),score:$("score",Z,"node"),"actor-pill":$("actor-pill",pe,"node",{sketch:"shape"}),service:$("service",ee,"node",{domIdentity:!0,sketch:"shape"}),junction:$("junction",ee,"node",{domIdentity:!0}),icon:$("icon",Ji,"node"),title:$("title",Z,"label",{domIdentity:!0}),defs:$("defs",Zi,"label"),prelude:$("prelude",Qi,"label"),chrome:$("chrome",Z,"label")}),eo=Object.freeze({applicableKinds:Z,styleFallback:"label",styleConsumption:"fallback-only",styleExtras:Object.freeze([]),styleBindingFamilies:Object.freeze([]),domIdentity:!0,relation:!1,sketch:"none",textHalo:!1}),va=Object.freeze(Object.entries(Je).map(([e,n])=>Object.freeze({identity:Ye({id:`role:${e}`,kind:"role",version:"1.0.0",compatibility:{core:"^0.4.0",scene:"^2.0.0"},provenance:{owner:"agentic-mermaid",source:"built-in",reference:"src/scene/roles.ts"}}),role:e,traits:n,style:(()=>{let t=n.styleFallback;return Object.freeze({fallbackRole:t,applicableProperties:n.styleProperties??Object.freeze([])})})()})));function no(e){let n=Je[e];return n?{traits:n,source:"builtin"}:{traits:eo,source:"namespaced-safe"}}function we(e){return no(e).traits}function Ne(e){return!e.includes("->")&&!/[#:"\[\],\u0000-\u001f]/.test(e)}function Ia(e,n,t=""){let r=Ne(e)&&Ne(n)?`${e}->${n}`:`relation:${JSON.stringify([e,n])}`;return t?`${t}:${r}`:r}function Pa(e,...n){let t=n.map(String);return Ne(e)&&t.every(Ne)?[e,...t].join(":"):`part:${JSON.stringify([e,...t])}`}function za(e,n,...t){let r=t.map(String);return Ne(n)&&r.every(Ne)?[e,n,...r].join(":"):`${e}:${JSON.stringify([n,...r])}`}function to(e){return e.replace(/"/g,'"').replace(/'|'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function Qe(e,n){let t=e.match(/^\s*<([A-Za-z][\w:-]*)\b[^>]*>/)?.[0]??"",r=a=>{let c=t.match(new RegExp(`\\s${a}="([^"]*)"`))?.[1];return c===void 0?void 0:to(c)},i=(r("class")??"").split(/\s+/).filter(Boolean),s=r("data-from"),o=r("data-to");return{id:r("data-id")??n.id,role:n.role,...s!==void 0?{from:s}:{},...o!==void 0?{to:o}:{},...i.length>0?{classNames:i}:{}}}function jn(e){return we(e).domIdentity}function Ie(e,n){if(!jn(n.role))return e;let t=e.match(/^\s*<([A-Za-z][\w:-]*)\b[^>]*>/)?.[0];if(!t||t.startsWith("<style")||t.startsWith("<defs")||t.startsWith("<svg"))return e;let r=(s,o,a)=>{let c=N(a),d=new RegExp(`\\s${o}="[^"]*"`);if(d.test(s))return s.replace(d,` ${o}="${c}"`);let u=s.endsWith("/>")?"/>":">";return`${s.slice(0,-u.length).trimEnd()} ${o}="${c}"${u==="/>"?" /":""}>`},i=r(r(t,"data-id",n.id),"data-role",n.role);return n.from!==void 0&&(i=r(i,"data-from",n.from)),n.to!==void 0&&(i=r(i,"data-to",n.to)),i===t?e:e.replace(t,i)}function G(e,n,t=0){return Math.abs(e.x-n.x)<=t&&Math.abs(e.y-n.y)<=t}function Bn(e,n){let t=n.x-e.x,r=n.y-e.y,i=Math.hypot(t,r);return Number.isFinite(i)&&i>0?{x:t/i,y:r/i}:void 0}function Te(e,n){return{x:(e.x+n.x)/2,y:(e.y+n.y)/2}}function me(e,n){return Math.hypot(n.x-e.x,n.y-e.y)}function rr(e,n,t){let r=me(n,t);return r===0?me(e,n):Math.abs((t.x-n.x)*(n.y-e.y)-(n.x-e.x)*(t.y-n.y))/r}function ir(e,n,t,r,i=.5,s=12){if(!Number.isFinite(i)||i<=0)throw new TypeError("Cubic flattening tolerance must be positive and finite");if(!Number.isSafeInteger(s)||s<0)throw new TypeError("Cubic flattening maxDepth must be a non-negative safe integer");for(let c of[e,n,t,r])if(!Number.isFinite(c.x)||!Number.isFinite(c.y))throw new TypeError("Cubic flattening points must be finite");let o=[{...e}],a=(c,d,u,f,m)=>{let p=me(c,f),g=me(c,d)+me(d,u)+me(u,f)-p;if(Math.max(rr(d,c,f),rr(u,c,f))<=i&&g<=i||m>=s){o.push({...f});return}let x=Te(c,d),v=Te(d,u),y=Te(u,f),E=Te(x,v),w=Te(v,y),j=Te(E,w);a(c,x,E,j,m+1),a(j,w,y,f,m+1)};return a(e,n,t,r,0),o}function ae(...e){let n=e[0];if(n)for(let t=1;t<e.length;t++){let r=Bn(n,e[t]);if(r)return r}}function ro(e,n){return n.kind==="line"?ae(e,n.end):n.kind==="quadratic"?ae(e,n.control,n.end):ae(e,n.control1,n.control2,n.end)}function io(e,n){return n.kind==="line"?ae(e,n.end):n.kind==="quadratic"?ae(n.control,n.end)??ae(e,n.end):ae(n.control2,n.end)??ae(n.control1,n.end)??ae(e,n.end)}function oo(e,n,t){return[{x:e.x+(n.x-e.x)*2/3,y:e.y+(n.y-e.y)*2/3},{x:t.x+(n.x-t.x)*2/3,y:t.y+(n.y-t.y)*2/3}]}function or(e,n,t,r=.5){for(let d of[n,...t.flatMap(u=>u.kind==="line"?[u.end]:u.kind==="quadratic"?[u.control,u.end]:[u.control1,u.control2,u.end])])if(!Number.isFinite(d.x)||!Number.isFinite(d.y))throw new TypeError("Connector path projection points must be finite");let i=[{...n}],s=[],o=n;for(let d of t){if(s.push(o),d.kind==="line")i.push({...d.end});else if(d.kind==="quadratic"){let[u,f]=oo(o,d.control,d.end);i.push(...ir(o,u,f,d.end,r).slice(1))}else i.push(...ir(o,d.control1,d.control2,d.end,r).slice(1));o=d.end}let a;for(let d=0;d<t.length&&!a;d++)a=ro(s[d],t[d]);let c;for(let d=t.length-1;d>=0&&!c;d--)c=io(s[d],t[d]);return{geometry:{kind:"path",d:e,points:i},contours:[{start:{...n},end:{...o},closed:!1,...a?{startTangent:a}:{},...c?{endTangent:c}:{}}]}}function Ln(e,n,t){return t==="manhattan"?Math.abs(n.x-e.x)+Math.abs(n.y-e.y):me(e,n)}function sr(e,n){if(n===void 0)return e;if(!Number.isSafeInteger(n)||n<0)throw new TypeError("Rounded connector precision must be a non-negative safe integer");let t=10**n;return Math.round(e*t)/t}function ar(e,n,t,r,i){let s=Ln(e,n,r);if(s===0)return{...e};let o=t/s;return{x:sr(e.x+(n.x-e.x)*o,i),y:sr(e.y+(n.y-e.y)*o,i)}}function ja(e,n,t={}){if(e.length===0)throw new RangeError("Rounded connector paths require at least one point");if(!Number.isFinite(n))throw new TypeError("Rounded connector radius must be finite");let r=t.metric??"euclidean",i=e[0],s=[];if(n<=0||e.length<3){for(let d=1;d<e.length;d++)s.push({kind:"line",end:e[d]});let c=`M${e.map(d=>`${d.x},${d.y}`).join(" L")}`;return or(c,i,s,t.tolerance)}let o=[`M${i.x},${i.y}`];for(let c=1;c<e.length-1;c++){let d=e[c-1],u=e[c],f=e[c+1],m=Ln(d,u,r),p=Ln(u,f,r),g=Math.min(n,m/2,p/2);if(g<=0){o.push(`L${u.x},${u.y}`),s.push({kind:"line",end:u});continue}let b=ar(u,d,g,r,t.precision),x=ar(u,f,g,r,t.precision);o.push(`L${b.x},${b.y}`),o.push(`Q${u.x},${u.y} ${x.x},${x.y}`),s.push({kind:"line",end:b}),s.push({kind:"quadratic",control:u,end:x})}let a=e.at(-1);return o.push(`L${a.x},${a.y}`),s.push({kind:"line",end:a}),or(o.join(" "),i,s,t.tolerance)}function ce(e,n=!1){return e.kind==="line"?[{points:[{x:e.x1,y:e.y1},{x:e.x2,y:e.y2}],closed:!1}]:e.kind==="path"&&e.subpaths!==void 0?e.subpaths:[{points:e.points,closed:n}]}function en(e){return e.kind==="path"&&/[AaCcQqSsTt]/.test(e.d)}function nn(e,n=!1){let t=ce(e,n),r=Fn(e,n);return t.flatMap((i,s)=>{let o=i.points[0],a=i.points.at(-1);if(!o||!a)return[];let c=r.filter(f=>f.subpathIndex===s),d;for(let f=0;f<c.length&&!d;f++)d=Bn(c[f].start,c[f].end);let u;for(let f=c.length-1;f>=0&&!u;f--)u=Bn(c[f].start,c[f].end);return[{start:{...o},end:{...i.closed?o:a},closed:i.closed,...d?{startTangent:d}:{},...u?{endTangent:u}:{}}]})}function cr(e,n=!1){let t=[],r=[];return ce(e,n).forEach((i,s)=>{let o=i.points[0],a=i.closed?o:i.points.at(-1);o&&t.push({point:{...o},contourIndex:s}),a&&r.push({point:{...a},contourIndex:s})}),{starts:t,ends:r}}function tn(e,n=!1){let t=[],r=[];for(let i of ce(e,n)){let s=i.points[0],o=i.closed?s:i.points.at(-1);s&&t.push(s),o&&r.push(o)}return{starts:t,ends:r}}function Fn(e,n=!1){let t=[];for(let[r,i]of ce(e,n).entries()){for(let a=1;a<i.points.length;a++)t.push({start:i.points[a-1],end:i.points[a],subpathIndex:r,closing:!1});let s=i.points[0],o=i.points.at(-1);i.closed&&s&&o&&!G(s,o)&&t.push({start:o,end:s,subpathIndex:r,closing:!0})}return t}function rn(e,n=!1){return e.kind==="line"?[]:e.kind==="path"?e.markerMidpoints??[]:ce(e,n).flatMap(t=>{if(t.points.length<2)return[];let r=t.closed&&G(t.points[0],t.points.at(-1))?t.points.slice(0,-1):t.points;return t.closed?r.slice(1):r.slice(1,-1)})}function dr(e,n=!1){if(e.kind==="line")return[];let t=ce(e,n);return e.kind==="path"?(e.markerMidpoints??[]).map(r=>{if(t.length===1)return{point:{...r},contourIndex:0};let i=t.flatMap((s,o)=>s.points.some(a=>G(a,r))?[o]:[]);if(i.length!==1)throw new TypeError("Path marker-mid vertices on multiple subpaths must belong to exactly one typed contour");return{point:{...r},contourIndex:i[0]}}):t.flatMap((r,i)=>{if(r.points.length<2)return[];let s=r.closed&&G(r.points[0],r.points.at(-1))?r.points.slice(0,-1):r.points;return(r.closed?s.slice(1):s.slice(1,-1)).map(a=>({point:{...a},contourIndex:i}))})}function on(e){return e.match(/[Mm](?=\s*[-+.]?\d)/g)?.length??0}function Un(e){return e.replace(/"/g,'"').replace(/'|'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function Vn(e,n){if(!we(e.role).relation||e.from===void 0||e.to===void 0)return;let t={from:e.from,to:e.to,...n?{label:n}:{}};return{label:`${t.from} to ${t.to}${t.label?`: ${t.label}`:""}`,role:"graphics-symbol",roleDescription:"relation",relation:t}}function Wn(e,n){let r=(e.match(/^\s*<[A-Za-z][\w:-]*\b[^>]*>/)?.[0]??"").match(/\sdata-label="([^"]*)"/)?.[1];return Vn({...n,...n.from!==void 0?{from:Un(n.from)}:{},...n.to!==void 0?{to:Un(n.to)}:{}},r?Un(r):void 0)}function sn(e,n){if(!n)return e;let t=e.match(/^\s*<[A-Za-z][\w:-]*\b[^>]*>/)?.[0];if(!t)return e;let r=[];if(/\srole=/.test(t)||r.push(`role="${n.role}"`),/\saria-roledescription=/.test(t)||r.push(`aria-roledescription="${n.roleDescription}"`),/\saria-label=/.test(t)||r.push(`aria-label="${N(n.label)}"`),r.length===0)return e;let i=t.endsWith("/>")?"/>":">",s=t.slice(0,-i.length).trimEnd();return e.replace(t,`${s} ${r.join(" ")}${i==="/>"?" /":""}>`)}function Gn(e){return e?{...e,...e.geometry?{geometry:e.geometry}:{},...e.size?{size:{...e.size}}:{},...e.viewBox?{viewBox:{...e.viewBox}}:{},...e.ref?{ref:{...e.ref}}:{},...e.bounds?{bounds:{...e.bounds}}:{},...e.paint?{paint:{...e.paint}}:{}}:void 0}function so(e,n){let t=["continuous-geometry","stroke-width","stroke-cap","stroke-join"];return e.bendRadius>0&&t.push("bend-radius"),n.opacity!==void 0&&t.push("stroke-opacity"),(n.lineJoin==="miter"||n.lineJoin==="miter-clip")&&t.push("stroke-miter"),n.dash&&t.push("dash-pattern"),n.dash?.offset!==void 0&&t.push("dash-offset"),n.pathLength!==void 0&&t.push("path-length"),n.paintOrder!==void 0&&t.push("paint-order"),n.nonScaling&&t.push("non-scaling-stroke"),t}function an(e){let n=so(e.route,e.stroke),t=cr(e.geometry,e.route.closed),r=dr(e.geometry,e.route.closed),i={start:e.markers.start?t.starts.map(s=>({markerId:e.markers.start.id,point:{...s.point},contourIndex:s.contourIndex})):[],mid:e.markers.mid.length===0?[]:r.map((s,o)=>({markerId:(e.markers.mid.length===1?e.markers.mid[0]:e.markers.mid[o]).id,point:{...s.point},contourIndex:s.contourIndex})),end:e.markers.end?t.ends.map(s=>({markerId:e.markers.end.id,point:{...s.point},contourIndex:s.contourIndex})):[]};return{realization:e.lineStyle==="invisible"?"unsupported":"projected",topology:e.geometry.kind,geometry:e.geometry,direction:e.relationship.direction,relationship:e.relationship.kind,markers:{...e.markers.start?{start:Gn(e.markers.start)}:{},mid:e.markers.mid.map(s=>Gn(s)),...e.markers.end?{end:Gn(e.markers.end)}:{}},markerPlacements:i,endpoints:{...e.endpoints,...e.endpoints.start?{start:{...e.endpoints.start,...e.endpoints.start.point?{point:{...e.endpoints.start.point}}:{}}}:{},...e.endpoints.end?{end:{...e.endpoints.end,...e.endpoints.end.point?{point:{...e.endpoints.end.point}}:{}}}:{}},route:{ownership:e.route.ownership,closed:e.route.closed,bendRadius:e.route.bendRadius,contours:e.route.contours.map(s=>({...s,start:{...s.start},end:{...s.end},...s.startTangent?{startTangent:{...s.startTangent}}:{},...s.endTangent?{endTangent:{...s.endTangent}}:{}})),...e.route.startTangent?{startTangent:{...e.route.startTangent}}:{},...e.route.endTangent?{endTangent:{...e.route.endTangent}}:{},labelAnchors:e.route.labelAnchors.map(s=>({...s}))},stroke:{...e.stroke,...e.stroke.dash?{dash:{...e.stroke.dash,array:Array.isArray(e.stroke.dash.array)?[...e.stroke.dash.array]:e.stroke.dash.array}}:{}},hit:{...e.hit,geometry:e.hit.geometry},...e.transform?{transform:{...e.transform}}:{},labels:e.labels.map(s=>({...s,...s.anchor?{anchor:{...s.anchor}}:{},...s.bounds?{bounds:{...s.bounds}}:{},...s.halo?{halo:{...s.halo}}:{},...s.paint?{paint:{...s.paint}}:{},...s.visual?{visual:{...s.visual}}:{}})),lineStyle:e.lineStyle,strokeLosses:n,diagnostics:[e.lineStyle==="invisible"?"This connector affects layout but is intentionally absent from terminal output.":`The terminal grid preserves connector semantics while projecting continuous stroke fields: ${n.join(", ")}.`,...e.additionalDiagnostics??[]]}}var cn=new WeakMap;function ao(e){let n=e.match(/^<([A-Za-z_][A-Za-z0-9_.:-]*)/);if(!n||e.startsWith("</")||e.startsWith("<!")||e.startsWith("<?"))return e;let t=n[1];if(t!=="svg")return e;let r=/\/\s*>$/.test(e),i=r?e.lastIndexOf("/"):e.length-1,s=[],o=n[0].length;for(;o<i;){for(;/\s/.test(e[o]??"");)o++;if(o>=i)break;let d=e.slice(o).match(/^([^\s=<>/]+)/);if(!d)return e;let u=d[1];for(o+=d[0].length;/\s/.test(e[o]??"");)o++;if(e[o]!=="=")return e;for(o++;/\s/.test(e[o]??"");)o++;let f=e[o];if(f!=='"'&&f!=="'")return e;o++;let m=o;for(;o<i&&e[o]!==f;)o++;if(e[o]!==f)return e;let p=e.slice(m,o);o++,s.push({name:u,value:f==='"'?p:p.replaceAll('"',"""),index:s.length})}let a=new Map([["xmlns",0],["width",1],["height",2],["viewBox",3],["style",4]]);s.sort((d,u)=>{let f=a.get(d.name)??100,m=a.get(u.name)??100;return f-m||bt(d.name,u.name)||d.index-u.index});let c=s.map(d=>`${d.name}="${d.value}"`).join(" ");return`<${t}${c?` ${c}`:""}${r?" /":""}>`}function ue(e){let n="",t=0;for(;t<e.length;){let r=e.indexOf("<",t);if(r<0)return n+e.slice(t);if(n+=e.slice(t,r),e.startsWith("<!--",r)){let o=e.indexOf("-->",r+4);if(o<0)return n+e.slice(r);n+=e.slice(r,o+3),t=o+3;continue}let i,s=r+1;for(;s<e.length;s++){let o=e[s];if(i)o===i&&(i=void 0);else if(o==='"'||o==="'")i=o;else if(o===">")break}if(s>=e.length)return n+e.slice(r);n+=ao(e.slice(r,s+1)),t=s+1}return n}function ne(e,n){return cn.set(e,ue(n)),e}function R(e){let n=cn.get(e);if(n===void 0)throw new TypeError(`Scene node "${e.id}" has no admitted SVG serialization`);return n}function qn(e,n){let t=cn.get(e);t!==void 0&&cn.set(n,t)}function Pe(e,n){let t=Qe(n,e),r=Wn(n,t),i=sn(Ie(n,t),r);return ne({kind:"shape",identity:t,accessibility:r,...e},i)}function co(e,n){if(e.kind==="line")return{start:{point:{x:e.x1,y:e.y1}},end:{point:{x:e.x2,y:e.y2}}};let t=ce(e,n),r=t[0]?.points[0],i=t.at(-1),s=i?.closed?i.points[0]:i?.points.at(-1);return{...r?{start:{point:{...r}}}:{},...s?{end:{point:{...s}}}:{}}}function lo(e){let n=typeof e=="number"?e:parseFloat(e);return Number.isFinite(n)?Math.max(0,n):1}function uo(e,n,t){return e.from!==void 0&&e.from===e.to?"self":n&&t?"bidirectional":n?"reverse":t?"forward":"undirected"}function fo(e,n,t,r){if(r.length===0)return;let i=rn(n,t).length;if(i===0)throw new RangeError(`Connector "${e}" has mid markers but no typed interior route points`);if(r.length!==1&&r.length!==i)throw new RangeError(`Connector "${e}" mid markers must contain one repeated descriptor or one descriptor per interior route point`);if(new Set(r.map(o=>o.id)).size!==1)throw new RangeError(`Connector "${e}" uses distinct mid markers that one SVG marker-mid carrier cannot represent`);return r[0].id}function po(e,n){if(e==="")return e;let t=e;for(let[r,i]of Object.entries(n)){if(!i)continue;let s=`marker-${r}`,o=t.match(/^\s*<(?:line|polyline|path)\b[^>]*>/)?.[0];!o||new RegExp(`\\s${s}=`).test(o)||(t=t.replace(o,o.replace(/\s*\/?>$/,a=>` ${s}="url(#${N(i)})"${a}`)))}return t}function mo(e,n){if(e===""||!n)return e;let t=e.match(/^\s*<(?:line|polyline|path)\b[^>]*>/)?.[0];if(!t||/\stransform=/.test(t))return e;let r=`rotate(${n.angle} ${n.cx} ${n.cy})`;return e.replace(t,t.replace(/\s*\/?>$/,i=>` transform="${r}"${i}`))}function yo(e,n){if(e==="")return e;let t=e.match(/^\s*<(?:line|polyline|path)\b[^>]*>/)?.[0];if(!t)return e;let r=t;for(let[i,s]of[["data-relationship",n.kind],["data-direction",n.direction]])new RegExp(`\\s${i}=`).test(r)||(r=r.replace(/\s*\/?>$/,o=>` ${i}="${N(s)}"${o}`));return e.replace(t,r)}function go(e,n,t,r){if(n.visual?.kind!=="inline")return;if(!n.anchor||!n.paint||n.fontSize===void 0||n.textAnchor===void 0)throw new TypeError(`Connector "${e}" inline label ${t+1} requires anchor, paint, fontSize, and textAnchor`);let i=[`data-id="${N(n.id??`${e}-label-${t+1}`)}"`,'data-role="label"',`data-connector-label-for="${N(e)}"`,`x="${n.anchor.x}"`,`y="${n.anchor.y-Math.max(0,n.clearance??0)}"`,`font-size="${n.fontSize}"`,`text-anchor="${n.textAnchor}"`];r?.kind==="rotate"&&i.push(`transform="rotate(${r.angle} ${r.cx} ${r.cy})"`);let s={...n.paint,...n.halo?{stroke:n.halo.color??"var(--bg)",strokeWidth:String(n.halo.width),paintOrder:"stroke fill"}:{}},o=[["fill",s.fill],["stroke",s.stroke],["stroke-width",s.strokeWidth],["stroke-dasharray",s.strokeDasharray],["stroke-dashoffset",s.strokeDashoffset],["stroke-linecap",s.strokeLinecap],["stroke-linejoin",s.strokeLinejoin],["stroke-miterlimit",s.strokeMiterlimit],["vector-effect",s.vectorEffect],["paint-order",s.paintOrder],["opacity",s.opacity]];for(let[a,c]of o)c!==void 0&&i.push(`${a}="${N(c)}"`);return`<text ${i.join(" ")}>${Y(n.text)}</text>`}function ye(e,n){if(e.geometry.kind!=="path"&&e.route?.closed===!0)throw new TypeError(`Connector "${e.id}" closed route topology requires path geometry`);if(e.geometry.kind==="path"){let S=e.geometry,O=S.subpaths,D=on(S.d);if(D>1&&!O)throw new TypeError(`Connector "${e.id}" path has multiple SVG subpaths but no typed subpaths`);if(O){if(O.length===0||O.some(X=>X.points.length<2))throw new TypeError(`Connector "${e.id}" typed subpaths must each contain at least two points`);if(D!==O.length)throw new TypeError(`Connector "${e.id}" typed subpath count disagrees with SVG path moves`);let oe=O.flatMap(X=>X.points);if(oe.length!==S.points.length||oe.some((X,Fe)=>{let Cn=S.points[Fe];return!Cn||Cn.x!==X.x||Cn.y!==X.y}))throw new TypeError(`Connector "${e.id}" typed subpaths disagree with the canonical point projection`)}}let t=ce(e.geometry,e.route?.closed??!1),r=t.length===1&&t[0].closed;if(e.geometry.kind==="path"&&e.geometry.subpaths&&e.route?.closed!==void 0&&e.route.closed!==r)throw new TypeError(`Connector "${e.id}" route.closed disagrees with typed subpath topology`);let i=e.geometry.kind==="path"&&e.geometry.subpaths?r:e.route?.closed??!1;if(e.geometry.kind==="path"){let S=e.geometry.d.match(/[Zz]/g)?.length??0,O=e.geometry.subpaths?e.geometry.subpaths.filter(D=>D.closed).length:i?1:0;if(S!==O)throw new TypeError(`Connector "${e.id}" SVG close commands disagree with typed closed-contour semantics`)}let s=e.markers?.start,o=e.markers?.end,a=e.markers?.mid??[];for(let S of[s,...a,o])if(S?.geometry?.kind==="path"&&!S.bounds&&!S.viewBox&&!S.size)throw new TypeError(`Connector "${e.id}" path marker "${S.id}" requires bounds, viewBox, or size`);let c=fo(e.id,e.geometry,i,a),d=co(e.geometry,i);for(let S of["start","end"]){let O=e.endpoints?.[S]?.point,D=d[S]?.point;if(O&&D&&!G(O,D))throw new TypeError(`Connector "${e.id}" endpoints.${S}.point disagrees with typed route geometry`)}let u={...e.endpoints??{},start:{...d.start,...e.endpoints?.start},end:{...d.end,...e.endpoints?.end}},f={kind:e.relationship?.kind??e.role,direction:e.relationship?.direction??uo(u,s,o)},m=e.labels??[],p={id:e.identity?.id??e.id,role:e.role,...e.identity?.classNames?{classNames:e.identity.classNames}:{},...e.identity?.from??u.from?{from:e.identity?.from??u.from}:{},...e.identity?.to??u.to?{to:e.identity?.to??u.to}:{}},g=Vn(p,m[0]?.text),b=po(n,{...s?{start:s.id}:{},...c?{mid:c}:{},...o?{end:o.id}:{}}),x=yo(b,f),v=mo(x,e.transform),y=sn(Ie(v,p),g),E=m.map((S,O)=>go(e.id,S,O,e.transform)).filter(S=>S!==void 0);E.length>0&&(y=[y,...E].join(`
|
|
25
|
+
${m}`}var Gt=Object.freeze(["svg","png","ascii","unicode","html","layout"]);var Ti=1,Ri=/^[a-z][a-z0-9.-]*:[a-z0-9][a-z0-9._/-]*$/,Mi=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,vi=new Set(["required","preferred","optional"]);function qe(e){return Ri.test(e)}function $e(e){if(typeof e!="string")return;let n=e.match(Mi);if(!n)return;let t=n[4];if(!t?.split(".").some(r=>/^\d+$/.test(r)&&r.length>1&&r.startsWith("0")))return{major:n[1],minor:n[2],patch:n[3],...t?{prerelease:t}:{}}}function On(e,n){return e.length!==n.length?e.length<n.length?-1:1:e===n?0:e<n?-1:1}function Ai(e,n){return On(e.major,n.major)||On(e.minor,n.minor)||On(e.patch,n.patch)}function He(e){if(typeof e!="string")return!1;let n=e.trim();if(n==="*"||/^(0|[1-9]\d*)\.(?:x|\*)$/i.test(n))return!0;let t=n.match(/^(\^|~|>=)?(.+)$/),r=$e(t?.[2]??"");return!t||!r?!1:!r.prerelease||t[1]===void 0}function In(e,n){let t=$e(e);if(!t||!He(n))return!1;let r=n.trim();if(r==="*")return t.prerelease===void 0;let i=r.match(/^(0|[1-9]\d*)\.(?:x|\*)$/i);if(i)return t.prerelease===void 0&&t.major===i[1];let s=r.match(/^(\^|~|>=)?(.+)$/),o=$e(s?.[2]??"");if(!s||!o)return!1;let a=Ai(t,o);if(t.prerelease||o.prerelease)return s[1]===void 0&&a===0&&t.prerelease===o.prerelease;switch(s[1]){case">=":return a>=0;case"~":return a>=0&&t.major===o.major&&t.minor===o.minor;case"^":return a<0?!1:o.major!=="0"?t.major===o.major:o.minor!=="0"?t.major==="0"&&t.minor===o.minor:t.major==="0"&&t.minor==="0"&&t.patch===o.patch;default:return a===0}}function _i(e,n){if(!Array.isArray(e))throw new TypeError("Capability offers must be an array");if(!Array.isArray(n))throw new TypeError("Capability requirements must be an array");let t=new Map;for(let[o,a]of e.entries()){if(!a||typeof a!="object"||Array.isArray(a))throw new TypeError(`Capability offer at index ${o} must be an object`);if(typeof a.id!="string")throw new Error(`Invalid capability id "${String(a.id)}"`);if(!qe(a.id))throw new Error(`Invalid capability id "${a.id}"`);if(typeof a.version!="string")throw new Error(`Capability "${a.id}" has invalid semantic version "${String(a.version)}"`);if(!$e(a.version))throw new Error(`Capability "${a.id}" has invalid semantic version "${a.version}"`);if(t.has(a.id))throw new Error(`Duplicate capability offer "${a.id}"`);t.set(a.id,a.version)}let r=new Set,i=n.map((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))throw new TypeError(`Capability requirement at index ${a} must be an object`);if(typeof o.id!="string")throw new Error(`Invalid capability id "${String(o.id)}"`);if(!qe(o.id))throw new Error(`Invalid capability id "${o.id}"`);if(!vi.has(o.level))throw new Error(`Capability "${o.id}" has invalid requirement level "${String(o.level)}"`);if(!He(o.range))throw new Error(`Capability "${o.id}" has invalid semantic-version range "${String(o.range)}"`);if(r.has(o.id))throw new Error(`Duplicate capability requirement "${o.id}"`);r.add(o.id);let c=t.get(o.id),d=c===void 0?"unsupported":In(c,o.range)?"selected":"incompatible";return Object.freeze({id:o.id,range:o.range,level:o.level,status:d,...c!==void 0?{version:c}:{}})}),s=i.every(o=>o.level!=="required"||o.status==="selected");return Object.freeze({version:Ti,accepted:s,resolutions:Object.freeze(i)})}var Oi=Object.freeze([{id:"core:render-request",version:"1.0.0"},{id:"core:family-descriptor",version:"1.0.0"}].map(e=>Object.freeze(e)));function Ii(e,n,t,r){let i={id:`output:${e}`,version:"1.0.0"},s=Gt.includes(e);return _i([...Oi,...n,...!s||!r?[]:[i]],[{id:"core:render-request",range:"^1.0.0",level:"required"},...t,{id:`output:${e}`,range:"^1.0.0",level:"required"}])}function ha(e,n){return Ii(e,n.offers,n.requirements,n.outputAvailable)}var qt="2.0.0";var Ht="0.4.1";var Pi=Object.freeze({core:Ht,scene:qt});function zi(e){let n=[];for(let[t,r]of Object.entries(e.compatibility)){if(r===void 0)continue;let i=Pi[t];if(!He(r)){n.push(Object.freeze({contract:t,range:r,status:"invalid",diagnostic:`Compatibility requirement "${t}" has invalid semantic-version range "${r}".`}));continue}if(i!==void 0){let s=In(i,r);n.push(Object.freeze({contract:t,range:r,status:s?"compatible":"incompatible",version:i,...s?{}:{diagnostic:`Compatibility requirement "${t}" range "${r}" does not include host version ${i}.`}}));continue}if(!qe(t)){n.push(Object.freeze({contract:t,range:r,status:"invalid",diagnostic:`Unknown compatibility requirement "${t}" must use a namespace.`}));continue}n.push(Object.freeze({contract:t,range:r,status:"deferred"}))}return Object.freeze({accepted:n.every(t=>t.status==="compatible"||t.status==="deferred"),resolutions:Object.freeze(n)})}var Kt=/^[a-z][a-z0-9-]*$/,Xt=/^[a-z0-9][a-z0-9._/-]*$/,Yt=new WeakSet,Ke=new WeakMap;function Di(e,n){let t=Ke.get(e);if(t)throw t.reentrantAttempted=!0,new Error(`Extension registry mutation is forbidden while ${t.operation} is in progress`);let r={operation:n,reentrantAttempted:!1};return Ke.set(e,r),r}function ji(e){if(e.reentrantAttempted)throw new Error(`Extension registry mutation is forbidden after a reentrant attempt during ${e.operation}`)}function Bi(e,n){Ke.get(e)===n&&Ke.delete(e)}function Zt(e,n){if(!Kt.test(e))throw new Error(`Invalid extension kind "${e}"`);if(!Xt.test(n))throw new Error(`Invalid ${e} extension local id "${n}"`);return`${e}:${n}`}function Xe(e){let n=e.indexOf(":");if(n<=0||n===e.length-1||e.indexOf(":",n+1)!==-1)return;let t=e.slice(0,n),r=e.slice(n+1);if(!(!Kt.test(t)||!Xt.test(r)))return{kind:t,localId:r}}function Ye(e){let n=e.id,t=e.kind,r=e.version,i=e.compatibility,s=e.provenance,o=Object.freeze({...i??{}}),a=Object.freeze({...s}),c=Xe(n);if(!c||c.kind!==t)throw new Error(`Extension id "${n}" must use the "${t}:" namespace`);if(!$e(r))throw new Error(`Extension "${n}" requires a semantic version (received "${r}")`);if(a.owner.trim().length===0)throw new Error(`Extension "${n}" requires a provenance owner`);if(a.source.trim().length===0)throw new Error(`Extension "${n}" requires a provenance source`);let d=Object.freeze({id:n,kind:t,version:r,compatibility:o,provenance:a}),u=zi(d);if(!u.accepted)throw new Error(`Extension "${n}" has incompatible requirements: ${u.resolutions.filter(f=>f.status==="incompatible"||f.status==="invalid").map(f=>f.diagnostic).join("; ")}`);return Yt.add(d),d}var Pn=class extends Error{constructor(t,r){super(`Cannot register ${t.kind} "${t.id}" for owner "${t.provenance.owner}": already registered by "${r.provenance.owner}" at version ${r.version}`);this.incoming=t;this.existing=r;this.name="ExtensionCollisionError"}incoming;existing;code="EXTENSION_ID_COLLISION"};function Jt(e,n){let t=Di(e,"extension registration");try{let r=Object.freeze({identity:n.identity,value:n.value});if(!Yt.has(r.identity))throw new TypeError("Extension registration identity must be created by createExtensionIdentity()");let i=r.identity.id,s=e.get(i);if(s)throw new Pn(r.identity,s.identity);ji(t),e.set(i,r)}finally{Bi(e,t)}}var wa=Object.freeze({fontFamily:{kind:"font",description:"Safe font family/stack for roles whose descriptor exposes family-specific typography."},fontSize:{kind:"number",minimum:1,maximum:256,expected:"between 1 and 256",description:"Font size in SVG user units."},fontWeight:{kind:"number",minimum:1,maximum:1e3,expected:"between 1 and 1000",description:"CSS numeric font weight."},letterSpacing:{kind:"number",minimum:-2,maximum:4,expected:"between -2 and 4",description:"Letter spacing in SVG user units."},textTransform:{kind:"enum",values:["uppercase","lowercase","capitalize"],description:"Text transformation."},textColor:{kind:"color",description:"Text paint."},paddingX:{kind:"number",minimum:0,maximum:256,expected:"between 0 and 256",description:"Horizontal role padding."},paddingY:{kind:"number",minimum:0,maximum:256,expected:"between 0 and 256",description:"Vertical role padding."},cornerRadius:{kind:"number",minimum:0,maximum:256,expected:"between 0 and 256",description:"Applicable corner radius."},lineWidth:{kind:"number",exclusiveMinimum:0,maximum:20,expected:"greater than 0 and at most 20",description:"Border or connector width."},bendRadius:{kind:"number",minimum:0,maximum:256,expected:"between 0 and 256",description:"Applicable connector bend radius."},fillColor:{kind:"color",description:"Surface fill paint."},borderColor:{kind:"color",description:"Border paint."},strokeColor:{kind:"color",description:"Connector stroke paint."},headerFillColor:{kind:"color",description:"Group header surface paint."},cue:{kind:"enum",values:["none","outline","double-line","pattern"],description:"Non-color semantic cue on roles whose family renderer exposes a cue projection."}}),zn=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor","paddingX","paddingY","cornerRadius","lineWidth","fillColor","borderColor"]),Qt=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor","lineWidth","bendRadius","strokeColor"]),Li=Object.freeze([...zn,"fontFamily","headerFillColor"]),Fi=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor"]),Ui=Object.freeze(["fontFamily","fontSize","fontWeight","letterSpacing","textTransform","textColor","fillColor","borderColor","strokeColor","lineWidth","cue"]),Vi=Object.freeze(["fillColor","borderColor","strokeColor","lineWidth","cue"]),Wi=Object.freeze(["fillColor","borderColor","strokeColor","lineWidth","textColor"]),Dn=Object.freeze(["fillColor","borderColor","strokeColor","lineWidth"]),Gi=Object.freeze(["borderColor","strokeColor","lineWidth"]),er=Object.freeze([...Dn,"cue"]);function W(e,n){return Object.freeze({properties:e,...n?{bindingFamilies:Object.freeze([...n])}:{}})}var Oe=Object.freeze({node:W(zn),edge:W(Qt),group:W(Li),"group-header":W(Ui,["journey"]),label:W(Fi),actor:W(zn,["sequence"]),relationship:W(Qt,["er"]),"pie-slice":W(Vi,["pie","radar"]),legend:W(Wi,["radar"]),bar:W(Dn,["xychart"]),series:W(Gi,["xychart"]),point:W(Dn,["radar"]),task:W(er,["gantt"]),milestone:W(er,["gantt"])}),qi=Object.freeze(Object.keys(Oe)),Hi=Object.freeze(qi.filter(e=>"bindingFamilies"in Oe[e])),Na=Object.freeze([...new Set(Hi.flatMap(e=>Oe[e].properties))]);var Z=["shape","connector","text","group","document"],pe=["shape"],Ze=["connector"],nr=["text"],Ki=["shape","text"],ee=["shape","group"],Xi=["shape","text","group"],Yi=["connector","group"],Zi=["document"],tr=["text","group"];var Ji=["shape","text","document"],Qi=["document"];function $(e,n,t,r={}){let i=Oe[e];return Object.freeze({applicableKinds:n,styleFallback:t,styleConsumption:i?"exact":"fallback-only",styleExtras:Object.freeze([]),...i?{styleProperties:i.properties}:{},styleBindingFamilies:Object.freeze([...i?.bindingFamilies??[]]),domIdentity:!1,relation:!1,sketch:"none",textHalo:!1,...r})}var Je=Object.freeze({node:$("node",ee,"node",{domIdentity:!0,sketch:"shape"}),edge:$("edge",Ze,"edge",{domIdentity:!0,relation:!0,sketch:"connector"}),"edge-label":$("edge-label",tr,"label"),group:$("group",ee,"group",{domIdentity:!0,sketch:"shape"}),"group-header":$("group-header",Z,"group",{sketch:"shape",textHalo:!0}),label:$("label",nr,"label",{textHalo:!0}),actor:$("actor",ee,"node",{domIdentity:!0,sketch:"shape"}),lifeline:$("lifeline",Ze,"edge",{sketch:"connector"}),activation:$("activation",pe,"node",{domIdentity:!0,sketch:"shape"}),message:$("message",Yi,"edge",{domIdentity:!0,relation:!0,sketch:"connector"}),block:$("block",Z,"group",{domIdentity:!0,sketch:"shape"}),note:$("note",ee,"group",{domIdentity:!0,sketch:"shape"}),"class-box":$("class-box",ee,"node",{domIdentity:!0,sketch:"shape"}),member:$("member",nr,"label",{domIdentity:!0,textHalo:!0}),entity:$("entity",ee,"node",{domIdentity:!0,sketch:"shape"}),attribute:$("attribute",tr,"label",{domIdentity:!0,textHalo:!0}),relationship:$("relationship",Ze,"edge",{domIdentity:!0,relation:!0,sketch:"connector"}),cardinality:$("cardinality",Ki,"label",{domIdentity:!0,textHalo:!0}),"pie-slice":$("pie-slice",pe,"node",{domIdentity:!0,sketch:"shape"}),legend:$("legend",Xi,"group",{textHalo:!0}),bar:$("bar",pe,"node",{domIdentity:!0,sketch:"shape"}),series:$("series",Ze,"edge",{domIdentity:!0,sketch:"connector"}),point:$("point",pe,"node",{domIdentity:!0}),axis:$("axis",Z,"label",{textHalo:!0}),grid:$("grid",Z,"edge"),plate:$("plate",pe,"node",{domIdentity:!0,sketch:"shape"}),section:$("section",Z,"group",{domIdentity:!0,sketch:"shape",textHalo:!0}),task:$("task",Z,"node",{domIdentity:!0,sketch:"shape"}),milestone:$("milestone",pe,"node",{domIdentity:!0,sketch:"shape"}),"marker-line":$("marker-line",Z,"edge"),rail:$("rail",Z,"edge",{sketch:"connector"}),period:$("period",ee,"group",{domIdentity:!0,sketch:"shape"}),event:$("event",ee,"group",{domIdentity:!0,sketch:"shape"}),score:$("score",Z,"node"),"actor-pill":$("actor-pill",pe,"node",{sketch:"shape"}),service:$("service",ee,"node",{domIdentity:!0,sketch:"shape"}),junction:$("junction",ee,"node",{domIdentity:!0}),icon:$("icon",Ji,"node"),title:$("title",Z,"label",{domIdentity:!0}),defs:$("defs",Zi,"label"),prelude:$("prelude",Qi,"label"),chrome:$("chrome",Z,"label")}),eo=Object.freeze({applicableKinds:Z,styleFallback:"label",styleConsumption:"fallback-only",styleExtras:Object.freeze([]),styleBindingFamilies:Object.freeze([]),domIdentity:!0,relation:!1,sketch:"none",textHalo:!1}),va=Object.freeze(Object.entries(Je).map(([e,n])=>Object.freeze({identity:Ye({id:`role:${e}`,kind:"role",version:"1.0.0",compatibility:{core:"^0.4.0",scene:"^2.0.0"},provenance:{owner:"agentic-mermaid",source:"built-in",reference:"src/scene/roles.ts"}}),role:e,traits:n,style:(()=>{let t=n.styleFallback;return Object.freeze({fallbackRole:t,applicableProperties:n.styleProperties??Object.freeze([])})})()})));function no(e){let n=Je[e];return n?{traits:n,source:"builtin"}:{traits:eo,source:"namespaced-safe"}}function we(e){return no(e).traits}function Ne(e){return!e.includes("->")&&!/[#:"\[\],\u0000-\u001f]/.test(e)}function Ia(e,n,t=""){let r=Ne(e)&&Ne(n)?`${e}->${n}`:`relation:${JSON.stringify([e,n])}`;return t?`${t}:${r}`:r}function Pa(e,...n){let t=n.map(String);return Ne(e)&&t.every(Ne)?[e,...t].join(":"):`part:${JSON.stringify([e,...t])}`}function za(e,n,...t){let r=t.map(String);return Ne(n)&&r.every(Ne)?[e,n,...r].join(":"):`${e}:${JSON.stringify([n,...r])}`}function to(e){return e.replace(/"/g,'"').replace(/'|'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function Qe(e,n){let t=e.match(/^\s*<([A-Za-z][\w:-]*)\b[^>]*>/)?.[0]??"",r=a=>{let c=t.match(new RegExp(`\\s${a}="([^"]*)"`))?.[1];return c===void 0?void 0:to(c)},i=(r("class")??"").split(/\s+/).filter(Boolean),s=r("data-from"),o=r("data-to");return{id:r("data-id")??n.id,role:n.role,...s!==void 0?{from:s}:{},...o!==void 0?{to:o}:{},...i.length>0?{classNames:i}:{}}}function jn(e){return we(e).domIdentity}function Ie(e,n){if(!jn(n.role))return e;let t=e.match(/^\s*<([A-Za-z][\w:-]*)\b[^>]*>/)?.[0];if(!t||t.startsWith("<style")||t.startsWith("<defs")||t.startsWith("<svg"))return e;let r=(s,o,a)=>{let c=N(a),d=new RegExp(`\\s${o}="[^"]*"`);if(d.test(s))return s.replace(d,` ${o}="${c}"`);let u=s.endsWith("/>")?"/>":">";return`${s.slice(0,-u.length).trimEnd()} ${o}="${c}"${u==="/>"?" /":""}>`},i=r(r(t,"data-id",n.id),"data-role",n.role);return n.from!==void 0&&(i=r(i,"data-from",n.from)),n.to!==void 0&&(i=r(i,"data-to",n.to)),i===t?e:e.replace(t,i)}function G(e,n,t=0){return Math.abs(e.x-n.x)<=t&&Math.abs(e.y-n.y)<=t}function Bn(e,n){let t=n.x-e.x,r=n.y-e.y,i=Math.hypot(t,r);return Number.isFinite(i)&&i>0?{x:t/i,y:r/i}:void 0}function Te(e,n){return{x:(e.x+n.x)/2,y:(e.y+n.y)/2}}function me(e,n){return Math.hypot(n.x-e.x,n.y-e.y)}function rr(e,n,t){let r=me(n,t);return r===0?me(e,n):Math.abs((t.x-n.x)*(n.y-e.y)-(n.x-e.x)*(t.y-n.y))/r}function ir(e,n,t,r,i=.5,s=12){if(!Number.isFinite(i)||i<=0)throw new TypeError("Cubic flattening tolerance must be positive and finite");if(!Number.isSafeInteger(s)||s<0)throw new TypeError("Cubic flattening maxDepth must be a non-negative safe integer");for(let c of[e,n,t,r])if(!Number.isFinite(c.x)||!Number.isFinite(c.y))throw new TypeError("Cubic flattening points must be finite");let o=[{...e}],a=(c,d,u,f,m)=>{let p=me(c,f),g=me(c,d)+me(d,u)+me(u,f)-p;if(Math.max(rr(d,c,f),rr(u,c,f))<=i&&g<=i||m>=s){o.push({...f});return}let x=Te(c,d),v=Te(d,u),y=Te(u,f),E=Te(x,v),w=Te(v,y),j=Te(E,w);a(c,x,E,j,m+1),a(j,w,y,f,m+1)};return a(e,n,t,r,0),o}function ae(...e){let n=e[0];if(n)for(let t=1;t<e.length;t++){let r=Bn(n,e[t]);if(r)return r}}function ro(e,n){return n.kind==="line"?ae(e,n.end):n.kind==="quadratic"?ae(e,n.control,n.end):ae(e,n.control1,n.control2,n.end)}function io(e,n){return n.kind==="line"?ae(e,n.end):n.kind==="quadratic"?ae(n.control,n.end)??ae(e,n.end):ae(n.control2,n.end)??ae(n.control1,n.end)??ae(e,n.end)}function oo(e,n,t){return[{x:e.x+(n.x-e.x)*2/3,y:e.y+(n.y-e.y)*2/3},{x:t.x+(n.x-t.x)*2/3,y:t.y+(n.y-t.y)*2/3}]}function or(e,n,t,r=.5){for(let d of[n,...t.flatMap(u=>u.kind==="line"?[u.end]:u.kind==="quadratic"?[u.control,u.end]:[u.control1,u.control2,u.end])])if(!Number.isFinite(d.x)||!Number.isFinite(d.y))throw new TypeError("Connector path projection points must be finite");let i=[{...n}],s=[],o=n;for(let d of t){if(s.push(o),d.kind==="line")i.push({...d.end});else if(d.kind==="quadratic"){let[u,f]=oo(o,d.control,d.end);i.push(...ir(o,u,f,d.end,r).slice(1))}else i.push(...ir(o,d.control1,d.control2,d.end,r).slice(1));o=d.end}let a;for(let d=0;d<t.length&&!a;d++)a=ro(s[d],t[d]);let c;for(let d=t.length-1;d>=0&&!c;d--)c=io(s[d],t[d]);return{geometry:{kind:"path",d:e,points:i},contours:[{start:{...n},end:{...o},closed:!1,...a?{startTangent:a}:{},...c?{endTangent:c}:{}}]}}function Ln(e,n,t){return t==="manhattan"?Math.abs(n.x-e.x)+Math.abs(n.y-e.y):me(e,n)}function sr(e,n){if(n===void 0)return e;if(!Number.isSafeInteger(n)||n<0)throw new TypeError("Rounded connector precision must be a non-negative safe integer");let t=10**n;return Math.round(e*t)/t}function ar(e,n,t,r,i){let s=Ln(e,n,r);if(s===0)return{...e};let o=t/s;return{x:sr(e.x+(n.x-e.x)*o,i),y:sr(e.y+(n.y-e.y)*o,i)}}function ja(e,n,t={}){if(e.length===0)throw new RangeError("Rounded connector paths require at least one point");if(!Number.isFinite(n))throw new TypeError("Rounded connector radius must be finite");let r=t.metric??"euclidean",i=e[0],s=[];if(n<=0||e.length<3){for(let d=1;d<e.length;d++)s.push({kind:"line",end:e[d]});let c=`M${e.map(d=>`${d.x},${d.y}`).join(" L")}`;return or(c,i,s,t.tolerance)}let o=[`M${i.x},${i.y}`];for(let c=1;c<e.length-1;c++){let d=e[c-1],u=e[c],f=e[c+1],m=Ln(d,u,r),p=Ln(u,f,r),g=Math.min(n,m/2,p/2);if(g<=0){o.push(`L${u.x},${u.y}`),s.push({kind:"line",end:u});continue}let b=ar(u,d,g,r,t.precision),x=ar(u,f,g,r,t.precision);o.push(`L${b.x},${b.y}`),o.push(`Q${u.x},${u.y} ${x.x},${x.y}`),s.push({kind:"line",end:b}),s.push({kind:"quadratic",control:u,end:x})}let a=e.at(-1);return o.push(`L${a.x},${a.y}`),s.push({kind:"line",end:a}),or(o.join(" "),i,s,t.tolerance)}function ce(e,n=!1){return e.kind==="line"?[{points:[{x:e.x1,y:e.y1},{x:e.x2,y:e.y2}],closed:!1}]:e.kind==="path"&&e.subpaths!==void 0?e.subpaths:[{points:e.points,closed:n}]}function en(e){return e.kind==="path"&&/[AaCcQqSsTt]/.test(e.d)}function nn(e,n=!1){let t=ce(e,n),r=Fn(e,n);return t.flatMap((i,s)=>{let o=i.points[0],a=i.points.at(-1);if(!o||!a)return[];let c=r.filter(f=>f.subpathIndex===s),d;for(let f=0;f<c.length&&!d;f++)d=Bn(c[f].start,c[f].end);let u;for(let f=c.length-1;f>=0&&!u;f--)u=Bn(c[f].start,c[f].end);return[{start:{...o},end:{...i.closed?o:a},closed:i.closed,...d?{startTangent:d}:{},...u?{endTangent:u}:{}}]})}function cr(e,n=!1){let t=[],r=[];return ce(e,n).forEach((i,s)=>{let o=i.points[0],a=i.closed?o:i.points.at(-1);o&&t.push({point:{...o},contourIndex:s}),a&&r.push({point:{...a},contourIndex:s})}),{starts:t,ends:r}}function tn(e,n=!1){let t=[],r=[];for(let i of ce(e,n)){let s=i.points[0],o=i.closed?s:i.points.at(-1);s&&t.push(s),o&&r.push(o)}return{starts:t,ends:r}}function Fn(e,n=!1){let t=[];for(let[r,i]of ce(e,n).entries()){for(let a=1;a<i.points.length;a++)t.push({start:i.points[a-1],end:i.points[a],subpathIndex:r,closing:!1});let s=i.points[0],o=i.points.at(-1);i.closed&&s&&o&&!G(s,o)&&t.push({start:o,end:s,subpathIndex:r,closing:!0})}return t}function rn(e,n=!1){return e.kind==="line"?[]:e.kind==="path"?e.markerMidpoints??[]:ce(e,n).flatMap(t=>{if(t.points.length<2)return[];let r=t.closed&&G(t.points[0],t.points.at(-1))?t.points.slice(0,-1):t.points;return t.closed?r.slice(1):r.slice(1,-1)})}function dr(e,n=!1){if(e.kind==="line")return[];let t=ce(e,n);return e.kind==="path"?(e.markerMidpoints??[]).map(r=>{if(t.length===1)return{point:{...r},contourIndex:0};let i=t.flatMap((s,o)=>s.points.some(a=>G(a,r))?[o]:[]);if(i.length!==1)throw new TypeError("Path marker-mid vertices on multiple subpaths must belong to exactly one typed contour");return{point:{...r},contourIndex:i[0]}}):t.flatMap((r,i)=>{if(r.points.length<2)return[];let s=r.closed&&G(r.points[0],r.points.at(-1))?r.points.slice(0,-1):r.points;return(r.closed?s.slice(1):s.slice(1,-1)).map(a=>({point:{...a},contourIndex:i}))})}function on(e){return e.match(/[Mm](?=\s*[-+.]?\d)/g)?.length??0}function Un(e){return e.replace(/"/g,'"').replace(/'|'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function Vn(e,n){if(!we(e.role).relation||e.from===void 0||e.to===void 0)return;let t={from:e.from,to:e.to,...n?{label:n}:{}};return{label:`${t.from} to ${t.to}${t.label?`: ${t.label}`:""}`,role:"graphics-symbol",roleDescription:"relation",relation:t}}function Wn(e,n){let r=(e.match(/^\s*<[A-Za-z][\w:-]*\b[^>]*>/)?.[0]??"").match(/\sdata-label="([^"]*)"/)?.[1];return Vn({...n,...n.from!==void 0?{from:Un(n.from)}:{},...n.to!==void 0?{to:Un(n.to)}:{}},r?Un(r):void 0)}function sn(e,n){if(!n)return e;let t=e.match(/^\s*<[A-Za-z][\w:-]*\b[^>]*>/)?.[0];if(!t)return e;let r=[];if(/\srole=/.test(t)||r.push(`role="${n.role}"`),/\saria-roledescription=/.test(t)||r.push(`aria-roledescription="${n.roleDescription}"`),/\saria-label=/.test(t)||r.push(`aria-label="${N(n.label)}"`),r.length===0)return e;let i=t.endsWith("/>")?"/>":">",s=t.slice(0,-i.length).trimEnd();return e.replace(t,`${s} ${r.join(" ")}${i==="/>"?" /":""}>`)}function Gn(e){return e?{...e,...e.geometry?{geometry:e.geometry}:{},...e.size?{size:{...e.size}}:{},...e.viewBox?{viewBox:{...e.viewBox}}:{},...e.ref?{ref:{...e.ref}}:{},...e.bounds?{bounds:{...e.bounds}}:{},...e.paint?{paint:{...e.paint}}:{}}:void 0}function so(e,n){let t=["continuous-geometry","stroke-width","stroke-cap","stroke-join"];return e.bendRadius>0&&t.push("bend-radius"),n.opacity!==void 0&&t.push("stroke-opacity"),(n.lineJoin==="miter"||n.lineJoin==="miter-clip")&&t.push("stroke-miter"),n.dash&&t.push("dash-pattern"),n.dash?.offset!==void 0&&t.push("dash-offset"),n.pathLength!==void 0&&t.push("path-length"),n.paintOrder!==void 0&&t.push("paint-order"),n.nonScaling&&t.push("non-scaling-stroke"),t}function an(e){let n=so(e.route,e.stroke),t=cr(e.geometry,e.route.closed),r=dr(e.geometry,e.route.closed),i={start:e.markers.start?t.starts.map(s=>({markerId:e.markers.start.id,point:{...s.point},contourIndex:s.contourIndex})):[],mid:e.markers.mid.length===0?[]:r.map((s,o)=>({markerId:(e.markers.mid.length===1?e.markers.mid[0]:e.markers.mid[o]).id,point:{...s.point},contourIndex:s.contourIndex})),end:e.markers.end?t.ends.map(s=>({markerId:e.markers.end.id,point:{...s.point},contourIndex:s.contourIndex})):[]};return{realization:e.lineStyle==="invisible"?"unsupported":"projected",topology:e.geometry.kind,geometry:e.geometry,direction:e.relationship.direction,relationship:e.relationship.kind,markers:{...e.markers.start?{start:Gn(e.markers.start)}:{},mid:e.markers.mid.map(s=>Gn(s)),...e.markers.end?{end:Gn(e.markers.end)}:{}},markerPlacements:i,endpoints:{...e.endpoints,...e.endpoints.start?{start:{...e.endpoints.start,...e.endpoints.start.point?{point:{...e.endpoints.start.point}}:{}}}:{},...e.endpoints.end?{end:{...e.endpoints.end,...e.endpoints.end.point?{point:{...e.endpoints.end.point}}:{}}}:{}},route:{ownership:e.route.ownership,closed:e.route.closed,bendRadius:e.route.bendRadius,contours:e.route.contours.map(s=>({...s,start:{...s.start},end:{...s.end},...s.startTangent?{startTangent:{...s.startTangent}}:{},...s.endTangent?{endTangent:{...s.endTangent}}:{}})),...e.route.startTangent?{startTangent:{...e.route.startTangent}}:{},...e.route.endTangent?{endTangent:{...e.route.endTangent}}:{},labelAnchors:e.route.labelAnchors.map(s=>({...s}))},stroke:{...e.stroke,...e.stroke.dash?{dash:{...e.stroke.dash,array:Array.isArray(e.stroke.dash.array)?[...e.stroke.dash.array]:e.stroke.dash.array}}:{}},hit:{...e.hit,geometry:e.hit.geometry},...e.transform?{transform:{...e.transform}}:{},labels:e.labels.map(s=>({...s,...s.anchor?{anchor:{...s.anchor}}:{},...s.bounds?{bounds:{...s.bounds}}:{},...s.halo?{halo:{...s.halo}}:{},...s.paint?{paint:{...s.paint}}:{},...s.visual?{visual:{...s.visual}}:{}})),lineStyle:e.lineStyle,strokeLosses:n,diagnostics:[e.lineStyle==="invisible"?"This connector affects layout but is intentionally absent from terminal output.":`The terminal grid preserves connector semantics while projecting continuous stroke fields: ${n.join(", ")}.`,...e.additionalDiagnostics??[]]}}var cn=new WeakMap;function ao(e){let n=e.match(/^<([A-Za-z_][A-Za-z0-9_.:-]*)/);if(!n||e.startsWith("</")||e.startsWith("<!")||e.startsWith("<?"))return e;let t=n[1];if(t!=="svg")return e;let r=/\/\s*>$/.test(e),i=r?e.lastIndexOf("/"):e.length-1,s=[],o=n[0].length;for(;o<i;){for(;/\s/.test(e[o]??"");)o++;if(o>=i)break;let d=e.slice(o).match(/^([^\s=<>/]+)/);if(!d)return e;let u=d[1];for(o+=d[0].length;/\s/.test(e[o]??"");)o++;if(e[o]!=="=")return e;for(o++;/\s/.test(e[o]??"");)o++;let f=e[o];if(f!=='"'&&f!=="'")return e;o++;let m=o;for(;o<i&&e[o]!==f;)o++;if(e[o]!==f)return e;let p=e.slice(m,o);o++,s.push({name:u,value:f==='"'?p:p.replaceAll('"',"""),index:s.length})}let a=new Map([["xmlns",0],["width",1],["height",2],["viewBox",3],["style",4]]);s.sort((d,u)=>{let f=a.get(d.name)??100,m=a.get(u.name)??100;return f-m||bt(d.name,u.name)||d.index-u.index});let c=s.map(d=>`${d.name}="${d.value}"`).join(" ");return`<${t}${c?` ${c}`:""}${r?" /":""}>`}function ue(e){let n="",t=0;for(;t<e.length;){let r=e.indexOf("<",t);if(r<0)return n+e.slice(t);if(n+=e.slice(t,r),e.startsWith("<!--",r)){let o=e.indexOf("-->",r+4);if(o<0)return n+e.slice(r);n+=e.slice(r,o+3),t=o+3;continue}let i,s=r+1;for(;s<e.length;s++){let o=e[s];if(i)o===i&&(i=void 0);else if(o==='"'||o==="'")i=o;else if(o===">")break}if(s>=e.length)return n+e.slice(r);n+=ao(e.slice(r,s+1)),t=s+1}return n}function ne(e,n){return cn.set(e,ue(n)),e}function R(e){let n=cn.get(e);if(n===void 0)throw new TypeError(`Scene node "${e.id}" has no admitted SVG serialization`);return n}function qn(e,n){let t=cn.get(e);t!==void 0&&cn.set(n,t)}function Pe(e,n){let t=Qe(n,e),r=Wn(n,t),i=sn(Ie(n,t),r);return ne({kind:"shape",identity:t,accessibility:r,...e},i)}function co(e,n){if(e.kind==="line")return{start:{point:{x:e.x1,y:e.y1}},end:{point:{x:e.x2,y:e.y2}}};let t=ce(e,n),r=t[0]?.points[0],i=t.at(-1),s=i?.closed?i.points[0]:i?.points.at(-1);return{...r?{start:{point:{...r}}}:{},...s?{end:{point:{...s}}}:{}}}function lo(e){let n=typeof e=="number"?e:parseFloat(e);return Number.isFinite(n)?Math.max(0,n):1}function uo(e,n,t){return e.from!==void 0&&e.from===e.to?"self":n&&t?"bidirectional":n?"reverse":t?"forward":"undirected"}function fo(e,n,t,r){if(r.length===0)return;let i=rn(n,t).length;if(i===0)throw new RangeError(`Connector "${e}" has mid markers but no typed interior route points`);if(r.length!==1&&r.length!==i)throw new RangeError(`Connector "${e}" mid markers must contain one repeated descriptor or one descriptor per interior route point`);if(new Set(r.map(o=>o.id)).size!==1)throw new RangeError(`Connector "${e}" uses distinct mid markers that one SVG marker-mid carrier cannot represent`);return r[0].id}function po(e,n){if(e==="")return e;let t=e;for(let[r,i]of Object.entries(n)){if(!i)continue;let s=`marker-${r}`,o=t.match(/^\s*<(?:line|polyline|path)\b[^>]*>/)?.[0];!o||new RegExp(`\\s${s}=`).test(o)||(t=t.replace(o,o.replace(/\s*\/?>$/,a=>` ${s}="url(#${N(i)})"${a}`)))}return t}function mo(e,n){if(e===""||!n)return e;let t=e.match(/^\s*<(?:line|polyline|path)\b[^>]*>/)?.[0];if(!t||/\stransform=/.test(t))return e;let r=`rotate(${n.angle} ${n.cx} ${n.cy})`;return e.replace(t,t.replace(/\s*\/?>$/,i=>` transform="${r}"${i}`))}function yo(e,n){if(e==="")return e;let t=e.match(/^\s*<(?:line|polyline|path)\b[^>]*>/)?.[0];if(!t)return e;let r=t;for(let[i,s]of[["data-relationship",n.kind],["data-direction",n.direction]])new RegExp(`\\s${i}=`).test(r)||(r=r.replace(/\s*\/?>$/,o=>` ${i}="${N(s)}"${o}`));return e.replace(t,r)}function go(e,n,t,r){if(n.visual?.kind!=="inline")return;if(!n.anchor||!n.paint||n.fontSize===void 0||n.textAnchor===void 0)throw new TypeError(`Connector "${e}" inline label ${t+1} requires anchor, paint, fontSize, and textAnchor`);let i=[`data-id="${N(n.id??`${e}-label-${t+1}`)}"`,'data-role="label"',`data-connector-label-for="${N(e)}"`,`x="${n.anchor.x}"`,`y="${n.anchor.y-Math.max(0,n.clearance??0)}"`,`font-size="${n.fontSize}"`,`text-anchor="${n.textAnchor}"`];r?.kind==="rotate"&&i.push(`transform="rotate(${r.angle} ${r.cx} ${r.cy})"`);let s={...n.paint,...n.halo?{stroke:n.halo.color??"var(--bg)",strokeWidth:String(n.halo.width),paintOrder:"stroke fill"}:{}},o=[["fill",s.fill],["stroke",s.stroke],["stroke-width",s.strokeWidth],["stroke-dasharray",s.strokeDasharray],["stroke-dashoffset",s.strokeDashoffset],["stroke-linecap",s.strokeLinecap],["stroke-linejoin",s.strokeLinejoin],["stroke-miterlimit",s.strokeMiterlimit],["vector-effect",s.vectorEffect],["paint-order",s.paintOrder],["opacity",s.opacity]];for(let[a,c]of o)c!==void 0&&i.push(`${a}="${N(c)}"`);return`<text ${i.join(" ")}>${Y(n.text)}</text>`}function ye(e,n){if(e.geometry.kind!=="path"&&e.route?.closed===!0)throw new TypeError(`Connector "${e.id}" closed route topology requires path geometry`);if(e.geometry.kind==="path"){let S=e.geometry,O=S.subpaths,D=on(S.d);if(D>1&&!O)throw new TypeError(`Connector "${e.id}" path has multiple SVG subpaths but no typed subpaths`);if(O){if(O.length===0||O.some(X=>X.points.length<2))throw new TypeError(`Connector "${e.id}" typed subpaths must each contain at least two points`);if(D!==O.length)throw new TypeError(`Connector "${e.id}" typed subpath count disagrees with SVG path moves`);let oe=O.flatMap(X=>X.points);if(oe.length!==S.points.length||oe.some((X,Fe)=>{let Cn=S.points[Fe];return!Cn||Cn.x!==X.x||Cn.y!==X.y}))throw new TypeError(`Connector "${e.id}" typed subpaths disagree with the canonical point projection`)}}let t=ce(e.geometry,e.route?.closed??!1),r=t.length===1&&t[0].closed;if(e.geometry.kind==="path"&&e.geometry.subpaths&&e.route?.closed!==void 0&&e.route.closed!==r)throw new TypeError(`Connector "${e.id}" route.closed disagrees with typed subpath topology`);let i=e.geometry.kind==="path"&&e.geometry.subpaths?r:e.route?.closed??!1;if(e.geometry.kind==="path"){let S=e.geometry.d.match(/[Zz]/g)?.length??0,O=e.geometry.subpaths?e.geometry.subpaths.filter(D=>D.closed).length:i?1:0;if(S!==O)throw new TypeError(`Connector "${e.id}" SVG close commands disagree with typed closed-contour semantics`)}let s=e.markers?.start,o=e.markers?.end,a=e.markers?.mid??[];for(let S of[s,...a,o])if(S?.geometry?.kind==="path"&&!S.bounds&&!S.viewBox&&!S.size)throw new TypeError(`Connector "${e.id}" path marker "${S.id}" requires bounds, viewBox, or size`);let c=fo(e.id,e.geometry,i,a),d=co(e.geometry,i);for(let S of["start","end"]){let O=e.endpoints?.[S]?.point,D=d[S]?.point;if(O&&D&&!G(O,D))throw new TypeError(`Connector "${e.id}" endpoints.${S}.point disagrees with typed route geometry`)}let u={...e.endpoints??{},start:{...d.start,...e.endpoints?.start},end:{...d.end,...e.endpoints?.end}},f={kind:e.relationship?.kind??e.role,direction:e.relationship?.direction??uo(u,s,o)},m=e.labels??[],p={id:e.identity?.id??e.id,role:e.role,...e.identity?.classNames?{classNames:e.identity.classNames}:{},...e.identity?.from??u.from?{from:e.identity?.from??u.from}:{},...e.identity?.to??u.to?{to:e.identity?.to??u.to}:{}},g=Vn(p,m[0]?.text),b=po(n,{...s?{start:s.id}:{},...c?{mid:c}:{},...o?{end:o.id}:{}}),x=yo(b,f),v=mo(x,e.transform),y=sn(Ie(v,p),g),E=m.map((S,O)=>go(e.id,S,O,e.transform)).filter(S=>S!==void 0);E.length>0&&(y=[y,...E].join(`
|
|
26
26
|
`));let w=e.stroke?.width??e.paint.strokeWidth??"1",j=e.stroke?.dash??(e.paint.strokeDasharray?{array:e.paint.strokeDasharray,...e.paint.strokeDashoffset!==void 0?{offset:e.paint.strokeDashoffset}:{}}:void 0),F=e.stroke?.opacity??e.paint.opacity,h=e.stroke?.paintOrder??e.paint.paintOrder,B={color:e.stroke?.color??e.paint.stroke??"var(--_line)",width:w,...F!==void 0?{opacity:F}:{},...j?{dash:j}:{},lineCap:e.stroke?.lineCap??e.paint.strokeLinecap??"butt",lineJoin:e.stroke?.lineJoin??e.paint.strokeLinejoin??"miter",miterLimit:e.stroke?.miterLimit??Number(e.paint.strokeMiterlimit??4),...e.stroke?.pathLength!==void 0?{pathLength:e.stroke.pathLength}:{},...h!==void 0?{paintOrder:h}:{},nonScaling:e.stroke?.nonScaling??e.paint.vectorEffect==="non-scaling-stroke"},ie=nn(e.geometry,i),V=e.route?.contours;if(V&&(V.length!==ie.length||V.some((S,O)=>{let D=ie[O];return!D||S.start.x!==D.start.x||S.start.y!==D.start.y||S.end.x!==D.end.x||S.end.y!==D.end.y||S.closed!==D.closed})))throw new TypeError(`Connector "${e.id}" route contours disagree with typed subpath endpoint topology`);if(!en(e.geometry)&&V)for(let[S,O]of V.entries()){let D=ie[S];for(let oe of["startTangent","endTangent"]){let X=O[oe],Fe=D[oe];if(X&&(!Fe||!G(X,Fe,1e-9)))throw new TypeError(`Connector "${e.id}" route.contours[${S}].${oe} disagrees with linear route geometry`)}}let z=ie.map((S,O)=>{let D=V?.[O],oe=D?.startTangent??S.startTangent,X=D?.endTangent??S.endTangent;return{start:{...S.start},end:{...S.end},closed:S.closed,...oe?{startTangent:oe}:{},...X?{endTangent:X}:{}}});for(let S of z)for(let O of[S.startTangent,S.endTangent]){if(!O)continue;let D=Math.hypot(O.x,O.y);if(!Number.isFinite(D)||Math.abs(D-1)>1e-9)throw new TypeError(`Connector "${e.id}" contour tangents must be finite unit vectors`)}for(let S of[e.route?.startTangent,e.route?.endTangent]){if(!S)continue;let O=Math.hypot(S.x,S.y);if(!Number.isFinite(O)||Math.abs(O-1)>1e-9)throw new TypeError(`Connector "${e.id}" route tangents must be finite unit vectors`)}for(let[S,O,D]of[["startTangent",e.route?.startTangent,z[0]?.startTangent],["endTangent",e.route?.endTangent,z.at(-1)?.endTangent]])if(O&&D&&!G(O,D,1e-9))throw new TypeError(`Connector "${e.id}" route.${S} disagrees with its contour tangent authority`);let Ae={geometry:e.geometry,ownership:e.route?.ownership??"family",closed:i,bendRadius:e.route?.bendRadius??0,contours:z,...(()=>{let S={start:z[0]?.startTangent,end:z.at(-1)?.endTangent};return{...e.route?.startTangent??S.start?{startTangent:e.route?.startTangent??S.start}:{},...e.route?.endTangent??S.end?{endTangent:e.route?.endTangent??S.end}:{}}})(),labelAnchors:e.route?.labelAnchors??m.flatMap(S=>S.anchor?[S.anchor]:[])};if(e.hit?.closed!==void 0&&e.hit.closed!==i)throw new TypeError(`Connector "${e.id}" hit.closed must match route.closed topology`);let ht={geometry:e.hit?.geometry??e.geometry,closed:e.hit?.closed??i,strokeWidth:e.hit?.strokeWidth??Math.max(6,lo(w)),pointerEvents:e.hit?.pointerEvents??(e.lineStyle==="invisible"?"none":"stroke")},Qr=an({geometry:e.geometry,lineStyle:e.lineStyle,endpoints:u,relationship:f,route:Ae,stroke:B,markers:{...s?{start:s}:{},mid:a,...o?{end:o}:{}},labels:m,hit:ht,...e.transform?{transform:e.transform}:{},additionalDiagnostics:e.terminalProjection?.diagnostics}),ei={kind:"connector",id:e.id,role:e.role,lineStyle:e.lineStyle,endpoints:u,relationship:f,route:Ae,stroke:B,markers:{...s?{start:s}:{},mid:a,...o?{end:o}:{}},labels:m,hit:ht,terminalProjection:Qr,identity:p,...g?{accessibility:g}:{},...e.channels?{channels:e.channels}:{},...e.transform?{transform:e.transform}:{}};return ne(ei,y)}function dn(e,n){let t=Qe(n,e),r=Wn(n,t),i=sn(Ie(n,t),r);return ne({kind:"text",identity:t,accessibility:r,...e},i)}function Qa(e,n){return ne({kind:"document",element:"content",...e},n)}function Hn(e){let n=e.element==="title"?"title":"desc",t=e.domId?` id="${N(e.domId)}"`:"";return ne({kind:"document",role:"chrome",...e},`<${n}${t}>${Y(e.text)}</${n}>`)}function lr(e,n){return ne({kind:"document",role:"defs",element:"definitions",...e},n)}function ur(){return ne({kind:"document",id:"svg-close",role:"chrome",element:"close"},"</svg>")}function Kn(e,n){if(n<=0||e==="")return e;let t=" ".repeat(n);return t+e.replace(/\n/g,`
|
|
27
27
|
${t}`)}function ln(e){let n=e.join??`
|
|
28
28
|
`,t=Qe(e.open,e),r=ue(Ie(e.open,t)),i=[r];for(let s of e.children)i.push(Kn(R(s.node),s.indent));return i.push(e.close),ne({kind:"group",id:e.id,role:e.role,open:r,close:e.close,children:e.children,join:n,channels:e.channels,identity:t},i.join(n))}function fr(e,n){return ne({kind:"document",element:"open",id:e.id,role:"prelude"},n)}function Qn(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\\(?:\r\n|[\n\r\f])/g,"").replace(/\\([0-9a-fA-F]{1,6})\s?/g,(n,t)=>{let r=Number.parseInt(t,16);return Number.isFinite(r)?String.fromCodePoint(r):""}).replace(/\\([^\n\r\f])/g,"$1")}var gr=/\s([^\s=<>]+)\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/g,hr=/<(?:[^\s<>/:]+:)?(?:animate(?:Motion|Transform)?|set)\b/i;function br(e){let n=[];for(let t=e.indexOf("<");t>=0;t=e.indexOf("<",t+1)){let r=e[t+1];if(!r||r==="/"||r==="!"||r==="?"||!/[^\s<>]/.test(r))continue;let i;for(let s=t+1;s<e.length;s++){let o=e[s];if(i)o===i&&(i=void 0);else if(o==='"'||o==="'")i=o;else if(o===">"){n.push(e.slice(t,s+1)),t=s;break}}}return n}var bo=new Set(["amp","lt","gt","quot","apos"]);function ze(e){return e===" "||e===" "||e===`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as c,d as r,f as o}from"./chunk-
|
|
1
|
+
import{a as c,d as r,f as o}from"./chunk-D3XXDKIO.js";function f(a,e={}){let i=a<=6?{accent:e.accent&&r(e.accent)?e.accent:c,bg:e.bg&&r(e.bg)?e.bg:void 0}:e,n=o(a,i),t=e.overrides;return!t||t.length===0?n:n.map((l,d)=>t[d%12]??l)}export{f as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as d,d as o}from"./chunk-A7L4WWVW.js";import{C as u}from"./chunk-
|
|
1
|
+
import{c as d,d as o}from"./chunk-A7L4WWVW.js";import{C as u}from"./chunk-2XCPFAD5.js";var C=["axisColor","axisStrokeWidth","axisLabelFontSize","curveOpacity","curveStrokeWidth","graticuleColor","graticuleStrokeWidth","graticuleOpacity","legendBoxSize","legendFontSize"],L=["width","height","axisScaleFactor"],r=Object.freeze({dimension:4096,margin:4096,factor:8,axisLabelFactorMin:1.1,fontSize:256,lineWidth:64,legendBoxSize:512}),z=["marginTop","marginRight","marginBottom","marginLeft"];function W(a={}){let n=d(a,["radar"])??{},i={};for(let t of L){let e=o(n,[t]),f=t==="width"||t==="height"?r.dimension:r.factor;typeof e=="number"&&Number.isFinite(e)&&e>0&&e<=f&&(i[t]=e)}let s=o(n,["axisLabelFactor"]);typeof s=="number"&&Number.isFinite(s)&&s>=r.axisLabelFactorMin&&s<=r.factor&&(i.axisLabelFactor=s);for(let t of z){let e=o(n,[t]);typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=r.margin&&(i[t]=e)}let c=o(n,["curveTension"]);typeof c=="number"&&Number.isFinite(c)&&c>=0&&c<=1&&(i.curveTension=c);let g=o(n,["useMaxWidth"]);typeof g=="boolean"&&(i.useMaxWidth=g);let F=o(n,["tickLabels"]);typeof F=="boolean"&&(i.tickLabels=F);let b=d(a,["themeVariables","radar"])??{},p=["axisStrokeWidth","axisLabelFontSize","curveStrokeWidth","graticuleStrokeWidth","legendBoxSize","legendFontSize"];for(let t of p){let e=o(b,[t]),f=t==="legendBoxSize"?r.legendBoxSize:t.endsWith("FontSize")?r.fontSize:r.lineWidth;typeof e=="number"&&Number.isFinite(e)&&e>0&&e<=f&&(i[t]=e)}for(let t of["curveOpacity","graticuleOpacity"]){let e=o(b,[t]);typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1&&(i[t]=e)}for(let t of["axisColor","graticuleColor"]){let e=u(o(b,[t]));e&&(i[t]=e)}let S=u(o(a,["themeVariables","titleColor"]));S&&(i.titleColor=S);let l=o(a,["themeVariables","fontSize"]),m=typeof l=="number"?l:typeof l=="string"&&/^\d+(?:\.\d+)?(?:px)?$/i.test(l.trim())?Number.parseFloat(l):Number.NaN;Number.isFinite(m)&&m>0&&m<=r.fontSize&&(i.titleFontSize=m);let h=[],x=!1;for(let t=0;t<12;t++){let e=u(o(a,["themeVariables",`cScale${t}`]));e&&(h[t]=e,x=!0)}return x&&(i.paletteOverrides=h),i}export{C as a,r as b,W as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as $,b as X}from"./chunk-
|
|
1
|
+
import{a as $,b as X}from"./chunk-X64T74C5.js";import{d as D}from"./chunk-A7L4WWVW.js";import{a as I,b as Y,c as T,d as O,e as F,j as E,k as W}from"./chunk-UAEZO5VL.js";import{i as R}from"./chunk-2XCPFAD5.js";var f={padding:40,boxPadX:8,headerBaseHeight:32,annotationHeight:16,memberRowHeight:20,sectionPadY:8,emptySectionHeight:8,minWidth:120,memberFontSize:11,memberFontWeight:400,nodeSpacing:40,layerSpacing:60},A={nodeLabelFontSize:T.nodeLabel,edgeLabelFontSize:T.edgeLabel,groupHeaderFontSize:T.groupHeader,nodeLabelFontWeight:700,edgeLabelFontWeight:O.edgeLabel,groupHeaderFontWeight:O.groupHeader,nodePaddingX:f.boxPadX,nodePaddingY:f.sectionPadY,nodeCornerRadius:0,nodeLineWidth:F.outerBox,edgeLineWidth:F.connector,groupCornerRadius:0,groupPaddingX:f.boxPadX,groupPaddingY:f.sectionPadY,groupLineWidth:F.outerBox};function oe(o,t){if(!o)return t;let u=v(o,"class","nodeSpacing"),s=v(o,"class","rankSpacing"),x=D(o,["class","hierarchicalNamespaces"]),b=t.class?.hierarchicalNamespaces??(typeof x=="boolean"?x:void 0);return u===void 0&&s===void 0&&b===void 0?t:{...t,nodeSpacing:t.nodeSpacing??u,layerSpacing:t.layerSpacing??s,...b!==void 0?{class:{...t.class,hierarchicalNamespaces:b}}:{}}}function v(o,t,u){let s=D(o,[t,u]);return typeof s=="number"&&Number.isFinite(s)&&s>=0?s:void 0}var B="ns:";function z(o,t,u=!0){let s=[];for(let x of o){let b=t?`${t}.${x.name}`:x.name;s.push({path:b,...u&&t?{parentPath:t}:{},ns:x}),s.push(...z(x.children,b,u))}return s}function j(o,t,u){let s=W(t,A,u),x=new Map;for(let d of o.classes){let p=E(d.label,s.nodeTextTransform),S=Math.max(f.headerBaseHeight,R(p,s.nodeLabelFontSize,s.nodeLabelFontWeight).height+s.nodePaddingY*2),n=d.annotation?S+f.annotationHeight:S,l=d.attributes.length>0?d.attributes.length*f.memberRowHeight+s.nodePaddingY:f.emptySectionHeight,h=d.methods.length>0?d.methods.length*f.memberRowHeight+s.nodePaddingY:f.emptySectionHeight,a=I(p,s.nodeLabelFontSize,s.nodeLabelFontWeight),e=_(d.attributes),g=_(d.methods),r=Math.max(f.minWidth,a+s.nodePaddingX*2,e+s.nodePaddingX*2,g+s.nodePaddingX*2),c=n+l+h;x.set(d.id,{width:r,height:c,headerHeight:n,attrHeight:l,methodHeight:h})}let b=t.nodeSpacing??f.nodeSpacing,N=t.layerSpacing??f.layerSpacing,H=t.class?.hierarchicalNamespaces!==!1,i=z(o.namespaces,void 0,H),m=i.length>0,k={"elk.algorithm":"layered","elk.direction":X(o.direction??"TB"),"elk.spacing.nodeNode":String(b),"elk.layered.spacing.nodeNodeBetweenLayers":String(N),"elk.padding":`[top=${f.padding},left=${f.padding},bottom=${f.padding},right=${f.padding}]`,"elk.edgeRouting":"ORTHOGONAL","elk.edgeLabels.placement":"CENTER"};m&&(k["elk.hierarchyHandling"]="INCLUDE_CHILDREN");let w={id:"root",layoutOptions:k,children:[],edges:[]},P=new Map;for(let d of i)for(let p of d.ns.classIds)P.has(p)||P.set(p,d.path);let C=new Map,M=s.groupHeaderFontSize+16;for(let d of i){let p={id:B+d.path,layoutOptions:{"elk.padding":`[top=${M+s.groupPaddingY},left=${s.groupPaddingX+8},bottom=${s.groupPaddingY+8},right=${s.groupPaddingX+8}]`,"elk.spacing.nodeNode":String(b),"elk.layered.spacing.nodeNodeBetweenLayers":String(N),"elk.edgeRouting":"ORTHOGONAL","elk.edgeLabels.placement":"CENTER"},children:[],edges:[]};C.set(d.path,p),(d.parentPath?C.get(d.parentPath):w).children.push(p)}for(let d of o.classes){let p=x.get(d.id),S={id:d.id,width:p.width,height:p.height},n=P.get(d.id);(n?C.get(n):w).children.push(S)}let L=d=>{let p=P.get(d);if(!p)return[];if(!H)return[p];let S=p.split(".");return S.map((n,l)=>S.slice(0,l+1).join("."))};for(let d=0;d<o.relationships.length;d++){let p=o.relationships[d],S={id:`e${d}`,sources:[p.from],targets:[p.to]};if(p.label){let a=E(p.label,s.edgeTextTransform),e=R(a,s.edgeLabelFontSize,s.edgeLabelFontWeight);S.labels=[{text:a,width:e.width+8,height:e.height+6}]}let n=L(p.from),l=L(p.to),h;for(let a=0;a<Math.min(n.length,l.length)&&n[a]===l[a];a++)h=n[a];(h?C.get(h):w).edges.push(S)}return{elkGraph:w,classSizes:x}}function U(o,t,u,s,x){let b=new Map;for(let n of t.classes)b.set(n.id,n);let N=new Map(z(t.namespaces,void 0,x).map(n=>[n.path,n])),H=s.groupHeaderFontSize+16,i=[],m=[],k=new Map,w=(n,l,h)=>{for(let a of n.edges??[]){let e=[];if(a.sections&&a.sections.length>0){let c=a.sections[0];e.push({x:c.startPoint.x+l,y:c.startPoint.y+h});for(let y of c.bendPoints??[])e.push({x:y.x+l,y:y.y+h});e.push({x:c.endPoint.x+l,y:c.endPoint.y+h})}let g,r=a.labels?.[0];r&&r.x!=null&&r.y!=null&&(g={x:r.x+(r.width??0)/2+l,y:r.y+(r.height??0)/2+h}),k.set(a.id,{points:e,labelPosition:g})}for(let a of n.children??[]){let e=(a.x??0)+l,g=(a.y??0)+h;if(a.id.startsWith(B)){let c=a.id.slice(B.length),y=N.get(c);m.push({id:c,name:y?.ns.name??c,label:y?.ns.label??y?.ns.name??c,parentId:y?.parentPath,classIds:y?[...y.ns.classIds]:[],x:e,y:g,width:a.width??0,height:a.height??0,headerHeight:H}),w(a,e,g);continue}let r=b.get(a.id);if(r){let c=u.get(r.id);i.push({id:r.id,label:r.label,annotation:r.annotation,attributes:r.attributes,methods:r.methods,x:e,y:g,width:a.width??c.width,height:a.height??c.height,headerHeight:c.headerHeight,attrHeight:c.attrHeight,methodHeight:c.methodHeight,...r.className?{className:r.className}:{},...r.href?{href:r.href}:{},...r.className&&t.classDefs.get(r.className)||r.inlineStyle?{inlineStyle:{...r.className?t.classDefs.get(r.className):{},...r.inlineStyle}}:{}})}}};w(o,0,0);let P=[];for(let n=0;n<t.relationships.length;n++){let l=t.relationships[n],h=k.get(`e${n}`);P.push({from:l.from,to:l.to,type:l.type,markerAt:l.markerAt,fromType:l.fromType,toType:l.toType,label:l.label,fromCardinality:l.fromCardinality,toCardinality:l.toCardinality,points:h?.points??[],labelPosition:h?.labelPosition})}let C=o.width??600,M=o.height??400;K(P,i,s,C,M);let L=i.map(n=>({x:n.x,y:n.y,width:n.width,height:n.height})),d=(n,l,h=8)=>n.x<l.x+l.width+h&&n.x+n.width+h>l.x&&n.y<l.y+l.height+h&&n.y+n.height+h>l.y,p=M+16,S=t.notes.map(n=>{let l=R(n.text,12,400),h=Math.max(90,l.width+24),a=Math.max(40,l.height+18),e=n.for?i.find(r=>r.id===n.for):void 0,g;if(e){let r=[];for(let c=0;c<Math.max(4,t.notes.length+1);c++){let y=c*(a+12);r.push({x:e.x+e.width+24,y:e.y+y,width:h,height:a,targetX:e.x+e.width,targetY:e.y+e.height/2,noteX:e.x+e.width+24,noteY:e.y+y+a/2},{x:e.x-h-24,y:e.y+y,width:h,height:a,targetX:e.x,targetY:e.y+e.height/2,noteX:e.x-24,noteY:e.y+y+a/2},{x:e.x,y:e.y+e.height+24+y,width:h,height:a,targetX:e.x+e.width/2,targetY:e.y+e.height,noteX:e.x+h/2,noteY:e.y+e.height+24+y})}g=r.find(c=>c.x>=f.padding&&c.y>=f.padding&&!L.some(y=>d(c,y)))??{x:C+24,y:e.y,width:h,height:a,targetX:e.x+e.width,targetY:e.y+e.height/2,noteX:C+24,noteY:e.y+a/2}}else g={x:f.padding,y:p,width:h,height:a},p+=a+12;return L.push(g),C=Math.max(C,g.x+h+f.padding),M=Math.max(M,g.y+a+f.padding),{text:n.text,...n.for?{for:n.for}:{},...g}});return{width:C,height:M,accessibilityTitle:t.accessibilityTitle,accessibilityDescription:t.accessibilityDescription,classes:i,relationships:P,notes:S,namespaces:m}}function K(o,t,u,s,x){let b=(i,m)=>Math.min(i.x1,m.x1)-Math.max(i.x0,m.x0)>.5&&Math.min(i.y1,m.y1)-Math.max(i.y0,m.y0)>.5,N=t.map(i=>({x0:i.x-1,y0:i.y-1,x1:i.x+i.width+1,y1:i.y+i.height+1}));for(let i of o){if(!i.label||!i.labelPosition)continue;let m=R(E(i.label,u.edgeTextTransform),u.edgeLabelFontSize,u.edgeLabelFontWeight);N.push({x0:i.labelPosition.x-m.width/2-2,y0:i.labelPosition.y-8-m.height/2-2,x1:i.labelPosition.x+m.width/2+2,y1:i.labelPosition.y-8+m.height/2+2})}let H=(i,m,k)=>{let w=R(i,u.edgeLabelFontSize,u.edgeLabelFontWeight),P=w.width/2+2,C=w.height/2+2,M=k.x-m.x,L=k.y-m.y,d=Math.abs(M)>=Math.abs(L),p=d?Math.sign(M||1):0,S=d?0:Math.sign(L||1),n=-S,l=p,h=[];for(let g=10;g<=190;g+=12)h.push(-g,g);let a=[];for(let g=14;g<=150;g+=10)for(let r of h){let c={x:m.x+p*g+n*r,y:m.y+S*g+l*r},y={x0:c.x-P,y0:c.y-C,x1:c.x+P,y1:c.y+C};if(a.push({point:c,box:y}),!(y.x0<0||y.y0<0||y.x1>s||y.y1>x)&&N.every(G=>!b(y,G)))return N.push(y),c}let e=a.map(g=>({...g,collisions:N.filter(r=>b(g.box,r)).length})).sort((g,r)=>g.collisions-r.collisions||g.point.y-r.point.y||g.point.x-r.point.x)[0]??{point:m,box:{x0:m.x,y0:m.y,x1:m.x,y1:m.y}};return N.push(e.box),e.point};for(let i of o)if(!(i.points.length<2)&&(i.fromCardinality&&(i.fromCardinalityPosition=H(i.fromCardinality,i.points[0],i.points[1])),i.toCardinality)){let m=i.points.length-1;i.toCardinalityPosition=H(i.toCardinality,i.points[m],i.points[m-1])}}function se(o,t={},u){if(o.classes.length===0)return{width:0,height:0,accessibilityTitle:o.accessibilityTitle,accessibilityDescription:o.accessibilityDescription,classes:[],relationships:[],notes:[],namespaces:[]};let{elkGraph:s,classSizes:x}=j(o,t,u),b=$(s);return U(b,o,x,W(t,A,u),t.class?.hierarchicalNamespaces!==!1)}function _(o){if(o.length===0)return 0;let t=0;for(let u of o){let s=Z(u),x=Y(s,f.memberFontSize);x>t&&(t=x)}return t}function Z(o){let t=o.visibility?`${o.visibility} `:"",u=o.isMethod?`${o.name}(${o.params||""})`:o.name,s=o.type?`: ${o.type}`:"";return`${t}${u}${s}`}var q=/^direction\s+(TB|TD|BT|LR|RL)\s*$/i;function re(o){let t=o.match(q);return t?t[1].toUpperCase():void 0}export{A as a,oe as b,v as c,se as d,re as e};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as y,b as w,c as m,d as j,h as p}from"./chunk-
|
|
1
|
+
import{a as y,b as w,c as m,d as j,h as p}from"./chunk-2XCPFAD5.js";function C(o,t,r,u,i=0){if(!Number.isFinite(t)||t<=0||p(o,r,u,i)<=t)return o;let e=[];for(let l of o.split(/\r?\n/)){if(y.test(l)){e.push(..._(l,t,r,u,i));continue}let c=l.split(/\s+/).filter(Boolean),n="";for(let s of c){let d=n?`${n} ${s}`:s;if(p(d,r,u,i)<=t){n=d;continue}n&&e.push(n),n=k(s,t,r,u,i)}n&&e.push(n)}return e.join(`
|
|
2
2
|
`)}function $(o){let t=[],r=[];for(let u of w(o))for(let i of u.text.split(/(\s+)/))i&&(/^\s+$/.test(i)?r.length>0&&(t.push(r),r=[]):r.push({...u,text:i}));return r.length>0&&t.push(r),t}function I(o){return o.map(m).join("")}function _(o,t,r,u,i){let e=[],l=[];for(let c of $(o)){let n=I(c),s=[...l,n].join(" ");if(p(s,r,u,i)<=t){l.push(n);continue}if(l.length>0&&e.push(l.join(" ")),l=[],c.length===1&&p(n,r,u,i)>t){let d=c[0],a=k(d.text,t,r,d.bold?Math.max(700,u):u,i).split(`
|
|
3
3
|
`);e.push(...a.slice(0,-1).map(f=>m({...d,text:f}))),l=[m({...d,text:a.at(-1)})]}else l=[n]}return l.length>0&&e.push(l.join(" ")),e}function k(o,t,r,u,i=0){if(p(o,r,u,i)<=t)return o;let e=j(o),l=[],c=0;for(;c<e.length;){let n="",s=c;for(;s<e.length;){let b=e[s],g=n+b,F=s<e.length-1,A=e[s+1]??"",T=F&&h(b)&&h(A),M=g+(F&&!T?"-":"");if(n&&p(M,r,u,i)>t)break;n=g,s++}s===c&&(n=e[s],s++);let d=s<e.length,a=d&&h(e[s-1])&&h(e[s]),f=`${n}-`;l.push(d&&!a&&p(f,r,u,i)<=t?f:n),c=s}return l.join(`
|
|
4
4
|
`)}function h(o){return/[ᄀ-ᅟ⺀-가-힣豈-︰-﹏-⦆¢-₩\u{1F300}-\u{1FAFF}\u{20000}-\u{2FA1F}]|\p{Extended_Pictographic}|\uFE0F|\u200D/u.test(o)}export{C as a};
|