@diagrammo/dgmo 0.5.3 → 0.5.5

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/dist/index.d.cts CHANGED
@@ -426,14 +426,12 @@ interface TimelineMarker {
426
426
  }
427
427
  interface VennSet {
428
428
  name: string;
429
- size: number;
429
+ alias: string | null;
430
430
  color: string | null;
431
- label: string | null;
432
431
  lineNumber: number;
433
432
  }
434
433
  interface VennOverlap {
435
434
  sets: string[];
436
- size: number;
437
435
  label: string | null;
438
436
  lineNumber: number;
439
437
  }
@@ -482,7 +480,6 @@ interface ParsedD3 {
482
480
  timelineSwimlanes: boolean;
483
481
  vennSets: VennSet[];
484
482
  vennOverlaps: VennOverlap[];
485
- vennShowValues: boolean;
486
483
  quadrantLabels: QuadrantLabels;
487
484
  quadrantPoints: QuadrantPoint[];
488
485
  quadrantXAxis: [string, string] | null;
@@ -1379,6 +1376,13 @@ interface ParsedInitiativeStatus {
1379
1376
  declare function looksLikeInitiativeStatus(content: string): boolean;
1380
1377
  declare function parseInitiativeStatus(content: string): ParsedInitiativeStatus;
1381
1378
 
1379
+ interface CollapseResult {
1380
+ parsed: ParsedInitiativeStatus;
1381
+ collapsedGroupStatuses: Map<string, InitiativeStatus>;
1382
+ originalGroups: ISGroup[];
1383
+ }
1384
+ declare function collapseInitiativeStatus(parsed: ParsedInitiativeStatus, collapsedGroups: Set<string>): CollapseResult;
1385
+
1382
1386
  interface ISLayoutNode {
1383
1387
  label: string;
1384
1388
  status: InitiativeStatus;
@@ -1399,6 +1403,7 @@ interface ISLayoutEdge {
1399
1403
  x: number;
1400
1404
  y: number;
1401
1405
  }[];
1406
+ parallelCount: number;
1402
1407
  }
1403
1408
  interface ISLayoutGroup {
1404
1409
  label: string;
@@ -1408,6 +1413,7 @@ interface ISLayoutGroup {
1408
1413
  width: number;
1409
1414
  height: number;
1410
1415
  lineNumber: number;
1416
+ collapsed: boolean;
1411
1417
  }
1412
1418
  interface ISLayoutResult {
1413
1419
  nodes: ISLayoutNode[];
@@ -1416,7 +1422,7 @@ interface ISLayoutResult {
1416
1422
  width: number;
1417
1423
  height: number;
1418
1424
  }
1419
- declare function layoutInitiativeStatus(parsed: ParsedInitiativeStatus): ISLayoutResult;
1425
+ declare function layoutInitiativeStatus(parsed: ParsedInitiativeStatus, collapseResult?: CollapseResult): ISLayoutResult;
1420
1426
 
1421
1427
  declare function renderInitiativeStatus(container: HTMLDivElement, parsed: ParsedInitiativeStatus, layout: ISLayoutResult, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: {
1422
1428
  width?: number;
@@ -1567,6 +1573,7 @@ interface InfraNode {
1567
1573
  groupId: string | null;
1568
1574
  tags: Record<string, string>;
1569
1575
  isEdge: boolean;
1576
+ description?: string;
1570
1577
  lineNumber: number;
1571
1578
  }
1572
1579
  interface InfraEdge {
@@ -1574,6 +1581,7 @@ interface InfraEdge {
1574
1581
  targetId: string;
1575
1582
  label: string;
1576
1583
  split: number | null;
1584
+ fanout: number | null;
1577
1585
  lineNumber: number;
1578
1586
  }
1579
1587
  interface InfraGroup {
@@ -1667,6 +1675,7 @@ interface ComputedInfraNode {
1667
1675
  };
1668
1676
  properties: InfraProperty[];
1669
1677
  tags: Record<string, string>;
1678
+ description?: string;
1670
1679
  lineNumber: number;
1671
1680
  }
1672
1681
  interface ComputedInfraEdge {
@@ -1675,6 +1684,7 @@ interface ComputedInfraEdge {
1675
1684
  label: string;
1676
1685
  computedRps: number;
1677
1686
  split: number;
1687
+ fanout: number | null;
1678
1688
  lineNumber: number;
1679
1689
  }
1680
1690
  interface InfraDiagnostic {
@@ -1721,20 +1731,6 @@ declare function validateInfra(parsed: ParsedInfra): InfraDiagnostic[];
1721
1731
  */
1722
1732
  declare function validateComputed(computed: ComputedInfraModel): InfraDiagnostic[];
1723
1733
 
1724
- interface InfraRole {
1725
- name: string;
1726
- color: string;
1727
- }
1728
- /**
1729
- * Infer roles from a component's properties.
1730
- * A component can have multiple roles (e.g., Cache + Rate Limiter).
1731
- */
1732
- declare function inferRoles(properties: InfraProperty[]): InfraRole[];
1733
- /**
1734
- * Collect all unique roles present in the diagram (for legend).
1735
- */
1736
- declare function collectDiagramRoles(allProperties: InfraProperty[][]): InfraRole[];
1737
-
1738
1734
  interface InfraLayoutNode {
1739
1735
  id: string;
1740
1736
  label: string;
@@ -1759,6 +1755,7 @@ interface InfraLayoutNode {
1759
1755
  properties: ComputedInfraNode['properties'];
1760
1756
  queueMetrics?: ComputedInfraNode['queueMetrics'];
1761
1757
  tags: Record<string, string>;
1758
+ description?: string;
1762
1759
  lineNumber: number;
1763
1760
  }
1764
1761
  interface InfraLayoutEdge {
@@ -1767,6 +1764,7 @@ interface InfraLayoutEdge {
1767
1764
  label: string;
1768
1765
  computedRps: number;
1769
1766
  split: number;
1767
+ fanout: number | null;
1770
1768
  points: {
1771
1769
  x: number;
1772
1770
  y: number;
@@ -1792,7 +1790,21 @@ interface InfraLayoutResult {
1792
1790
  width: number;
1793
1791
  height: number;
1794
1792
  }
1795
- declare function layoutInfra(computed: ComputedInfraModel, selectedNodeId?: string | null, collapsedNodes?: Set<string> | null): InfraLayoutResult;
1793
+ declare function layoutInfra(computed: ComputedInfraModel, expandedNodeIds?: Set<string> | null, collapsedNodes?: Set<string> | null): InfraLayoutResult;
1794
+
1795
+ interface InfraRole {
1796
+ name: string;
1797
+ color: string;
1798
+ }
1799
+ /**
1800
+ * Infer roles from a component's properties.
1801
+ * A component can have multiple roles (e.g., Cache + Rate Limiter).
1802
+ */
1803
+ declare function inferRoles(properties: InfraProperty[]): InfraRole[];
1804
+ /**
1805
+ * Collect all unique roles present in the diagram (for legend).
1806
+ */
1807
+ declare function collectDiagramRoles(allProperties: InfraProperty[][]): InfraRole[];
1796
1808
 
1797
1809
  interface InfraLegendEntry {
1798
1810
  value: string;
@@ -1810,14 +1822,14 @@ interface InfraLegendGroup {
1810
1822
  minifiedWidth: number;
1811
1823
  }
1812
1824
  /** Build legend groups from roles + tags. */
1813
- declare function computeInfraLegendGroups(nodes: InfraLayoutNode[], tagGroups: InfraTagGroup[], palette: PaletteColors): InfraLegendGroup[];
1825
+ declare function computeInfraLegendGroups(nodes: InfraLayoutNode[], tagGroups: InfraTagGroup[], palette: PaletteColors, edges?: InfraLayoutEdge[]): InfraLegendGroup[];
1814
1826
  interface InfraPlaybackState {
1815
1827
  expanded: boolean;
1816
1828
  paused: boolean;
1817
1829
  speed: number;
1818
1830
  speedOptions: readonly number[];
1819
1831
  }
1820
- declare function renderInfra(container: HTMLDivElement, layout: InfraLayoutResult, palette: PaletteColors, isDark: boolean, title: string | null, titleLineNumber: number | null, tagGroups?: InfraTagGroup[], activeGroup?: string | null, animate?: boolean, playback?: InfraPlaybackState | null, selectedNodeId?: string | null, exportMode?: boolean, collapsedNodes?: Set<string> | null): void;
1832
+ declare function renderInfra(container: HTMLDivElement, layout: InfraLayoutResult, palette: PaletteColors, isDark: boolean, title: string | null, titleLineNumber: number | null, tagGroups?: InfraTagGroup[], activeGroup?: string | null, animate?: boolean, playback?: InfraPlaybackState | null, expandedNodeIds?: Set<string> | null, exportMode?: boolean, collapsedNodes?: Set<string> | null): void;
1821
1833
  declare function parseAndLayoutInfra(content: string): {
1822
1834
  parsed: ParsedInfra;
1823
1835
  computed: null;
@@ -1977,6 +1989,8 @@ interface DiagramViewState {
1977
1989
  activeTagGroup?: string;
1978
1990
  collapsedGroups?: string[];
1979
1991
  swimlaneTagGroup?: string;
1992
+ palette?: string;
1993
+ theme?: 'light' | 'dark';
1980
1994
  }
1981
1995
  interface DecodedDiagramUrl {
1982
1996
  dsl: string;
@@ -2019,4 +2033,4 @@ declare function decodeDiagramUrl(hash: string): DecodedDiagramUrl;
2019
2033
  */
2020
2034
  declare function injectBranding(svgHtml: string, mutedColor: string): string;
2021
2035
 
2022
- export { type Activation, type ArcLink, type ArcNodeGroup, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapsedOrgResult, type CollapsedSitemapResult, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type D3ChartType, type D3ExportDimensions, DGMO_CHART_TYPE_MAP, type DecodedDiagramUrl, type DgmoError, type DgmoFramework, type DgmoSeverity, type DiagramViewState, type EChartsChartType, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, type ISEdge, type ISGroup, type ISLayoutEdge, type ISLayoutGroup, type ISLayoutNode, type ISLayoutResult, type ISNode, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraScenario, type InfraTagGroup, type InitiativeStatus, type InlineSpan, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutResult, type MemberVisibility, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type OrgTagEntry, type OrgTagGroup, type PaletteColors, type PaletteConfig, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedD3, type ParsedEChart, type ParsedERDiagram, type ParsedGraph, type ParsedInfra, type ParsedInitiativeStatus, type ParsedKanban, type ParsedOrg, type ParsedQuadrant, type ParsedSequenceDgmo, type ParsedSitemap, type ParticipantType, RULE_COUNT, type ReadFileFn, type RelationshipType, type RenderStep, type ResolveImportsResult, STANDARD_CHART_TYPES, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type TagEntry, type TagGroup, addDurationToDate, applyGroupOrdering, applyPositionOverrides, boldPalette, buildEChartsOption, buildEChartsOptionFromChart, buildMermaidQuadrant, buildMermaidThemeVars, buildNoteMessageMap, buildRenderSequence, buildThemeCSS, catppuccinPalette, collapseOrgTree, collapseSitemapTree, collectDiagramRoles, colorNames, computeActivations, computeCardArchive, computeCardMove, computeInfra, computeInfraLegendGroups, computeTimeTicks, contrastText, decodeDiagramUrl, encodeDiagramUrl, formatDateLabel, formatDgmoError, getAvailablePalettes, getDgmoFramework, getPalette, getSeriesColors, groupMessagesBySection, gruvboxPalette, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, injectBranding, isArchiveColumn, isSequenceBlock, isSequenceNote, isValidHex, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutInitiativeStatus, layoutOrg, layoutSitemap, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeInitiativeStatus, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mute, nord, nordPalette, oneDarkPalette, orderArcNodes, parseAndLayoutInfra, parseC4, parseChart, parseClassDiagram, parseD3, parseDgmo, parseDgmoChartType, parseEChart, parseERDiagram, parseFlowchart, parseInfra, parseInitiativeStatus, parseInlineMarkdown, parseKanban, parseOrg, parseQuadrant, parseSequenceDgmo, parseSitemap, parseState, parseTimelineDate, registerPalette, render, renderArcDiagram, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderD3ForExport, renderEChartsForExport, renderERDiagram, renderERDiagramForExport, renderFlowchart, renderFlowchartForExport, renderInfra, renderInitiativeStatus, renderInitiativeStatusForExport, renderKanban, renderKanbanForExport, renderOrg, renderOrgForExport, renderQuadrant, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTimeline, renderVenn, renderWordCloud, resolveColor, resolveOrgImports, rollUpContextRelationships, rosePinePalette, seriesColors, shade, solarizedPalette, tint, tokyoNightPalette, truncateBareUrl, validateComputed, validateInfra };
2036
+ export { type Activation, type ArcLink, type ArcNodeGroup, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapseResult, type CollapsedOrgResult, type CollapsedSitemapResult, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type D3ChartType, type D3ExportDimensions, DGMO_CHART_TYPE_MAP, type DecodedDiagramUrl, type DgmoError, type DgmoFramework, type DgmoSeverity, type DiagramViewState, type EChartsChartType, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, type ISEdge, type ISGroup, type ISLayoutEdge, type ISLayoutGroup, type ISLayoutNode, type ISLayoutResult, type ISNode, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraScenario, type InfraTagGroup, type InitiativeStatus, type InlineSpan, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutResult, type MemberVisibility, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type OrgTagEntry, type OrgTagGroup, type PaletteColors, type PaletteConfig, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedD3, type ParsedEChart, type ParsedERDiagram, type ParsedGraph, type ParsedInfra, type ParsedInitiativeStatus, type ParsedKanban, type ParsedOrg, type ParsedQuadrant, type ParsedSequenceDgmo, type ParsedSitemap, type ParticipantType, RULE_COUNT, type ReadFileFn, type RelationshipType, type RenderStep, type ResolveImportsResult, STANDARD_CHART_TYPES, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type TagEntry, type TagGroup, addDurationToDate, applyGroupOrdering, applyPositionOverrides, boldPalette, buildEChartsOption, buildEChartsOptionFromChart, buildMermaidQuadrant, buildMermaidThemeVars, buildNoteMessageMap, buildRenderSequence, buildThemeCSS, catppuccinPalette, collapseInitiativeStatus, collapseOrgTree, collapseSitemapTree, collectDiagramRoles, colorNames, computeActivations, computeCardArchive, computeCardMove, computeInfra, computeInfraLegendGroups, computeTimeTicks, contrastText, decodeDiagramUrl, encodeDiagramUrl, formatDateLabel, formatDgmoError, getAvailablePalettes, getDgmoFramework, getPalette, getSeriesColors, groupMessagesBySection, gruvboxPalette, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, injectBranding, isArchiveColumn, isSequenceBlock, isSequenceNote, isValidHex, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutInitiativeStatus, layoutOrg, layoutSitemap, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeInitiativeStatus, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mute, nord, nordPalette, oneDarkPalette, orderArcNodes, parseAndLayoutInfra, parseC4, parseChart, parseClassDiagram, parseD3, parseDgmo, parseDgmoChartType, parseEChart, parseERDiagram, parseFlowchart, parseInfra, parseInitiativeStatus, parseInlineMarkdown, parseKanban, parseOrg, parseQuadrant, parseSequenceDgmo, parseSitemap, parseState, parseTimelineDate, registerPalette, render, renderArcDiagram, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderD3ForExport, renderEChartsForExport, renderERDiagram, renderERDiagramForExport, renderFlowchart, renderFlowchartForExport, renderInfra, renderInitiativeStatus, renderInitiativeStatusForExport, renderKanban, renderKanbanForExport, renderOrg, renderOrgForExport, renderQuadrant, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTimeline, renderVenn, renderWordCloud, resolveColor, resolveOrgImports, rollUpContextRelationships, rosePinePalette, seriesColors, shade, solarizedPalette, tint, tokyoNightPalette, truncateBareUrl, validateComputed, validateInfra };
package/dist/index.d.ts CHANGED
@@ -426,14 +426,12 @@ interface TimelineMarker {
426
426
  }
427
427
  interface VennSet {
428
428
  name: string;
429
- size: number;
429
+ alias: string | null;
430
430
  color: string | null;
431
- label: string | null;
432
431
  lineNumber: number;
433
432
  }
434
433
  interface VennOverlap {
435
434
  sets: string[];
436
- size: number;
437
435
  label: string | null;
438
436
  lineNumber: number;
439
437
  }
@@ -482,7 +480,6 @@ interface ParsedD3 {
482
480
  timelineSwimlanes: boolean;
483
481
  vennSets: VennSet[];
484
482
  vennOverlaps: VennOverlap[];
485
- vennShowValues: boolean;
486
483
  quadrantLabels: QuadrantLabels;
487
484
  quadrantPoints: QuadrantPoint[];
488
485
  quadrantXAxis: [string, string] | null;
@@ -1379,6 +1376,13 @@ interface ParsedInitiativeStatus {
1379
1376
  declare function looksLikeInitiativeStatus(content: string): boolean;
1380
1377
  declare function parseInitiativeStatus(content: string): ParsedInitiativeStatus;
1381
1378
 
1379
+ interface CollapseResult {
1380
+ parsed: ParsedInitiativeStatus;
1381
+ collapsedGroupStatuses: Map<string, InitiativeStatus>;
1382
+ originalGroups: ISGroup[];
1383
+ }
1384
+ declare function collapseInitiativeStatus(parsed: ParsedInitiativeStatus, collapsedGroups: Set<string>): CollapseResult;
1385
+
1382
1386
  interface ISLayoutNode {
1383
1387
  label: string;
1384
1388
  status: InitiativeStatus;
@@ -1399,6 +1403,7 @@ interface ISLayoutEdge {
1399
1403
  x: number;
1400
1404
  y: number;
1401
1405
  }[];
1406
+ parallelCount: number;
1402
1407
  }
1403
1408
  interface ISLayoutGroup {
1404
1409
  label: string;
@@ -1408,6 +1413,7 @@ interface ISLayoutGroup {
1408
1413
  width: number;
1409
1414
  height: number;
1410
1415
  lineNumber: number;
1416
+ collapsed: boolean;
1411
1417
  }
1412
1418
  interface ISLayoutResult {
1413
1419
  nodes: ISLayoutNode[];
@@ -1416,7 +1422,7 @@ interface ISLayoutResult {
1416
1422
  width: number;
1417
1423
  height: number;
1418
1424
  }
1419
- declare function layoutInitiativeStatus(parsed: ParsedInitiativeStatus): ISLayoutResult;
1425
+ declare function layoutInitiativeStatus(parsed: ParsedInitiativeStatus, collapseResult?: CollapseResult): ISLayoutResult;
1420
1426
 
1421
1427
  declare function renderInitiativeStatus(container: HTMLDivElement, parsed: ParsedInitiativeStatus, layout: ISLayoutResult, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: {
1422
1428
  width?: number;
@@ -1567,6 +1573,7 @@ interface InfraNode {
1567
1573
  groupId: string | null;
1568
1574
  tags: Record<string, string>;
1569
1575
  isEdge: boolean;
1576
+ description?: string;
1570
1577
  lineNumber: number;
1571
1578
  }
1572
1579
  interface InfraEdge {
@@ -1574,6 +1581,7 @@ interface InfraEdge {
1574
1581
  targetId: string;
1575
1582
  label: string;
1576
1583
  split: number | null;
1584
+ fanout: number | null;
1577
1585
  lineNumber: number;
1578
1586
  }
1579
1587
  interface InfraGroup {
@@ -1667,6 +1675,7 @@ interface ComputedInfraNode {
1667
1675
  };
1668
1676
  properties: InfraProperty[];
1669
1677
  tags: Record<string, string>;
1678
+ description?: string;
1670
1679
  lineNumber: number;
1671
1680
  }
1672
1681
  interface ComputedInfraEdge {
@@ -1675,6 +1684,7 @@ interface ComputedInfraEdge {
1675
1684
  label: string;
1676
1685
  computedRps: number;
1677
1686
  split: number;
1687
+ fanout: number | null;
1678
1688
  lineNumber: number;
1679
1689
  }
1680
1690
  interface InfraDiagnostic {
@@ -1721,20 +1731,6 @@ declare function validateInfra(parsed: ParsedInfra): InfraDiagnostic[];
1721
1731
  */
1722
1732
  declare function validateComputed(computed: ComputedInfraModel): InfraDiagnostic[];
1723
1733
 
1724
- interface InfraRole {
1725
- name: string;
1726
- color: string;
1727
- }
1728
- /**
1729
- * Infer roles from a component's properties.
1730
- * A component can have multiple roles (e.g., Cache + Rate Limiter).
1731
- */
1732
- declare function inferRoles(properties: InfraProperty[]): InfraRole[];
1733
- /**
1734
- * Collect all unique roles present in the diagram (for legend).
1735
- */
1736
- declare function collectDiagramRoles(allProperties: InfraProperty[][]): InfraRole[];
1737
-
1738
1734
  interface InfraLayoutNode {
1739
1735
  id: string;
1740
1736
  label: string;
@@ -1759,6 +1755,7 @@ interface InfraLayoutNode {
1759
1755
  properties: ComputedInfraNode['properties'];
1760
1756
  queueMetrics?: ComputedInfraNode['queueMetrics'];
1761
1757
  tags: Record<string, string>;
1758
+ description?: string;
1762
1759
  lineNumber: number;
1763
1760
  }
1764
1761
  interface InfraLayoutEdge {
@@ -1767,6 +1764,7 @@ interface InfraLayoutEdge {
1767
1764
  label: string;
1768
1765
  computedRps: number;
1769
1766
  split: number;
1767
+ fanout: number | null;
1770
1768
  points: {
1771
1769
  x: number;
1772
1770
  y: number;
@@ -1792,7 +1790,21 @@ interface InfraLayoutResult {
1792
1790
  width: number;
1793
1791
  height: number;
1794
1792
  }
1795
- declare function layoutInfra(computed: ComputedInfraModel, selectedNodeId?: string | null, collapsedNodes?: Set<string> | null): InfraLayoutResult;
1793
+ declare function layoutInfra(computed: ComputedInfraModel, expandedNodeIds?: Set<string> | null, collapsedNodes?: Set<string> | null): InfraLayoutResult;
1794
+
1795
+ interface InfraRole {
1796
+ name: string;
1797
+ color: string;
1798
+ }
1799
+ /**
1800
+ * Infer roles from a component's properties.
1801
+ * A component can have multiple roles (e.g., Cache + Rate Limiter).
1802
+ */
1803
+ declare function inferRoles(properties: InfraProperty[]): InfraRole[];
1804
+ /**
1805
+ * Collect all unique roles present in the diagram (for legend).
1806
+ */
1807
+ declare function collectDiagramRoles(allProperties: InfraProperty[][]): InfraRole[];
1796
1808
 
1797
1809
  interface InfraLegendEntry {
1798
1810
  value: string;
@@ -1810,14 +1822,14 @@ interface InfraLegendGroup {
1810
1822
  minifiedWidth: number;
1811
1823
  }
1812
1824
  /** Build legend groups from roles + tags. */
1813
- declare function computeInfraLegendGroups(nodes: InfraLayoutNode[], tagGroups: InfraTagGroup[], palette: PaletteColors): InfraLegendGroup[];
1825
+ declare function computeInfraLegendGroups(nodes: InfraLayoutNode[], tagGroups: InfraTagGroup[], palette: PaletteColors, edges?: InfraLayoutEdge[]): InfraLegendGroup[];
1814
1826
  interface InfraPlaybackState {
1815
1827
  expanded: boolean;
1816
1828
  paused: boolean;
1817
1829
  speed: number;
1818
1830
  speedOptions: readonly number[];
1819
1831
  }
1820
- declare function renderInfra(container: HTMLDivElement, layout: InfraLayoutResult, palette: PaletteColors, isDark: boolean, title: string | null, titleLineNumber: number | null, tagGroups?: InfraTagGroup[], activeGroup?: string | null, animate?: boolean, playback?: InfraPlaybackState | null, selectedNodeId?: string | null, exportMode?: boolean, collapsedNodes?: Set<string> | null): void;
1832
+ declare function renderInfra(container: HTMLDivElement, layout: InfraLayoutResult, palette: PaletteColors, isDark: boolean, title: string | null, titleLineNumber: number | null, tagGroups?: InfraTagGroup[], activeGroup?: string | null, animate?: boolean, playback?: InfraPlaybackState | null, expandedNodeIds?: Set<string> | null, exportMode?: boolean, collapsedNodes?: Set<string> | null): void;
1821
1833
  declare function parseAndLayoutInfra(content: string): {
1822
1834
  parsed: ParsedInfra;
1823
1835
  computed: null;
@@ -1977,6 +1989,8 @@ interface DiagramViewState {
1977
1989
  activeTagGroup?: string;
1978
1990
  collapsedGroups?: string[];
1979
1991
  swimlaneTagGroup?: string;
1992
+ palette?: string;
1993
+ theme?: 'light' | 'dark';
1980
1994
  }
1981
1995
  interface DecodedDiagramUrl {
1982
1996
  dsl: string;
@@ -2019,4 +2033,4 @@ declare function decodeDiagramUrl(hash: string): DecodedDiagramUrl;
2019
2033
  */
2020
2034
  declare function injectBranding(svgHtml: string, mutedColor: string): string;
2021
2035
 
2022
- export { type Activation, type ArcLink, type ArcNodeGroup, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapsedOrgResult, type CollapsedSitemapResult, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type D3ChartType, type D3ExportDimensions, DGMO_CHART_TYPE_MAP, type DecodedDiagramUrl, type DgmoError, type DgmoFramework, type DgmoSeverity, type DiagramViewState, type EChartsChartType, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, type ISEdge, type ISGroup, type ISLayoutEdge, type ISLayoutGroup, type ISLayoutNode, type ISLayoutResult, type ISNode, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraScenario, type InfraTagGroup, type InitiativeStatus, type InlineSpan, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutResult, type MemberVisibility, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type OrgTagEntry, type OrgTagGroup, type PaletteColors, type PaletteConfig, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedD3, type ParsedEChart, type ParsedERDiagram, type ParsedGraph, type ParsedInfra, type ParsedInitiativeStatus, type ParsedKanban, type ParsedOrg, type ParsedQuadrant, type ParsedSequenceDgmo, type ParsedSitemap, type ParticipantType, RULE_COUNT, type ReadFileFn, type RelationshipType, type RenderStep, type ResolveImportsResult, STANDARD_CHART_TYPES, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type TagEntry, type TagGroup, addDurationToDate, applyGroupOrdering, applyPositionOverrides, boldPalette, buildEChartsOption, buildEChartsOptionFromChart, buildMermaidQuadrant, buildMermaidThemeVars, buildNoteMessageMap, buildRenderSequence, buildThemeCSS, catppuccinPalette, collapseOrgTree, collapseSitemapTree, collectDiagramRoles, colorNames, computeActivations, computeCardArchive, computeCardMove, computeInfra, computeInfraLegendGroups, computeTimeTicks, contrastText, decodeDiagramUrl, encodeDiagramUrl, formatDateLabel, formatDgmoError, getAvailablePalettes, getDgmoFramework, getPalette, getSeriesColors, groupMessagesBySection, gruvboxPalette, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, injectBranding, isArchiveColumn, isSequenceBlock, isSequenceNote, isValidHex, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutInitiativeStatus, layoutOrg, layoutSitemap, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeInitiativeStatus, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mute, nord, nordPalette, oneDarkPalette, orderArcNodes, parseAndLayoutInfra, parseC4, parseChart, parseClassDiagram, parseD3, parseDgmo, parseDgmoChartType, parseEChart, parseERDiagram, parseFlowchart, parseInfra, parseInitiativeStatus, parseInlineMarkdown, parseKanban, parseOrg, parseQuadrant, parseSequenceDgmo, parseSitemap, parseState, parseTimelineDate, registerPalette, render, renderArcDiagram, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderD3ForExport, renderEChartsForExport, renderERDiagram, renderERDiagramForExport, renderFlowchart, renderFlowchartForExport, renderInfra, renderInitiativeStatus, renderInitiativeStatusForExport, renderKanban, renderKanbanForExport, renderOrg, renderOrgForExport, renderQuadrant, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTimeline, renderVenn, renderWordCloud, resolveColor, resolveOrgImports, rollUpContextRelationships, rosePinePalette, seriesColors, shade, solarizedPalette, tint, tokyoNightPalette, truncateBareUrl, validateComputed, validateInfra };
2036
+ export { type Activation, type ArcLink, type ArcNodeGroup, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapseResult, type CollapsedOrgResult, type CollapsedSitemapResult, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type D3ChartType, type D3ExportDimensions, DGMO_CHART_TYPE_MAP, type DecodedDiagramUrl, type DgmoError, type DgmoFramework, type DgmoSeverity, type DiagramViewState, type EChartsChartType, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, type ISEdge, type ISGroup, type ISLayoutEdge, type ISLayoutGroup, type ISLayoutNode, type ISLayoutResult, type ISNode, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraScenario, type InfraTagGroup, type InitiativeStatus, type InlineSpan, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutResult, type MemberVisibility, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type OrgTagEntry, type OrgTagGroup, type PaletteColors, type PaletteConfig, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedD3, type ParsedEChart, type ParsedERDiagram, type ParsedGraph, type ParsedInfra, type ParsedInitiativeStatus, type ParsedKanban, type ParsedOrg, type ParsedQuadrant, type ParsedSequenceDgmo, type ParsedSitemap, type ParticipantType, RULE_COUNT, type ReadFileFn, type RelationshipType, type RenderStep, type ResolveImportsResult, STANDARD_CHART_TYPES, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type TagEntry, type TagGroup, addDurationToDate, applyGroupOrdering, applyPositionOverrides, boldPalette, buildEChartsOption, buildEChartsOptionFromChart, buildMermaidQuadrant, buildMermaidThemeVars, buildNoteMessageMap, buildRenderSequence, buildThemeCSS, catppuccinPalette, collapseInitiativeStatus, collapseOrgTree, collapseSitemapTree, collectDiagramRoles, colorNames, computeActivations, computeCardArchive, computeCardMove, computeInfra, computeInfraLegendGroups, computeTimeTicks, contrastText, decodeDiagramUrl, encodeDiagramUrl, formatDateLabel, formatDgmoError, getAvailablePalettes, getDgmoFramework, getPalette, getSeriesColors, groupMessagesBySection, gruvboxPalette, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, injectBranding, isArchiveColumn, isSequenceBlock, isSequenceNote, isValidHex, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutInitiativeStatus, layoutOrg, layoutSitemap, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeInitiativeStatus, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mute, nord, nordPalette, oneDarkPalette, orderArcNodes, parseAndLayoutInfra, parseC4, parseChart, parseClassDiagram, parseD3, parseDgmo, parseDgmoChartType, parseEChart, parseERDiagram, parseFlowchart, parseInfra, parseInitiativeStatus, parseInlineMarkdown, parseKanban, parseOrg, parseQuadrant, parseSequenceDgmo, parseSitemap, parseState, parseTimelineDate, registerPalette, render, renderArcDiagram, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderD3ForExport, renderEChartsForExport, renderERDiagram, renderERDiagramForExport, renderFlowchart, renderFlowchartForExport, renderInfra, renderInitiativeStatus, renderInitiativeStatusForExport, renderKanban, renderKanbanForExport, renderOrg, renderOrgForExport, renderQuadrant, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTimeline, renderVenn, renderWordCloud, resolveColor, resolveOrgImports, rollUpContextRelationships, rosePinePalette, seriesColors, shade, solarizedPalette, tint, tokyoNightPalette, truncateBareUrl, validateComputed, validateInfra };