@principal-ai/subsystems-react 0.37.12 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/graphify/consolidated.d.ts +8 -0
- package/dist/graphify/consolidated.d.ts.map +1 -1
- package/dist/graphify/construct.d.ts +18 -0
- package/dist/graphify/construct.d.ts.map +1 -1
- package/dist/graphify/construct.js +23 -0
- package/dist/graphify/construct.js.map +1 -1
- package/dist/graphify/index.d.ts +2 -2
- package/dist/graphify/index.d.ts.map +1 -1
- package/dist/graphify/index.js +1 -1
- package/dist/graphify/index.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/stories/Subsystem/ComponentGraph/fixtures.d.ts.map +1 -1
- package/dist/stories/Subsystem/ComponentGraph/fixtures.js +0 -1
- package/dist/stories/Subsystem/ComponentGraph/fixtures.js.map +1 -1
- package/dist/subsystem/IssueList.d.ts +49 -3
- package/dist/subsystem/IssueList.d.ts.map +1 -1
- package/dist/subsystem/IssueList.js +180 -79
- package/dist/subsystem/IssueList.js.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.d.ts +23 -2
- package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js +492 -23
- package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
- package/dist/subsystem/formatDeclaration.js +19 -5
- package/dist/subsystem/formatDeclaration.js.map +1 -1
- package/dist/subsystem/model.d.ts +161 -7
- package/dist/subsystem/model.d.ts.map +1 -1
- package/dist/subsystem/model.js +91 -12
- package/dist/subsystem/model.js.map +1 -1
- package/dist/subsystem/nodes.d.ts.map +1 -1
- package/dist/subsystem/nodes.js +133 -72
- package/dist/subsystem/nodes.js.map +1 -1
- package/dist/subsystem/symbolRefs.d.ts.map +1 -1
- package/dist/subsystem/symbolRefs.js +2 -0
- package/dist/subsystem/symbolRefs.js.map +1 -1
- package/dist/utils/elkLayout.d.ts +9 -0
- package/dist/utils/elkLayout.d.ts.map +1 -1
- package/dist/utils/elkLayout.js +21 -2
- package/dist/utils/elkLayout.js.map +1 -1
- package/package.json +3 -3
- package/src/graphify/__fixtures__/ego-samples.json +545 -0
- package/src/graphify/consolidated.ts +8 -0
- package/src/graphify/construct.test.ts +61 -1
- package/src/graphify/construct.ts +33 -0
- package/src/graphify/index.ts +6 -1
- package/src/index.ts +13 -1
- package/src/stories/Subsystem/ComponentGraph/Basics.stories.tsx +2 -2
- package/src/stories/Subsystem/ComponentGraph/Captures.stories.tsx +9 -9
- package/src/stories/Subsystem/ComponentGraph/EdgeViews.stories.tsx +4 -4
- package/src/stories/Subsystem/ComponentGraph/IssueOverlay.stories.tsx +625 -0
- package/src/stories/Subsystem/ComponentGraph/Issues.stories.tsx +7 -1
- package/src/stories/Subsystem/ComponentGraph/ModuleBadges.stories.tsx +5 -5
- package/src/stories/Subsystem/ComponentGraph/Modules.stories.tsx +5 -5
- package/src/stories/Subsystem/ComponentGraph/NodeAnatomy.stories.tsx +40 -73
- package/src/stories/Subsystem/ComponentGraph/Scenarios.stories.tsx +6 -6
- package/src/stories/Subsystem/ComponentGraph/StoreValueType.stories.tsx +261 -0
- package/src/stories/Subsystem/ComponentGraph/fixtures.ts +0 -1
- package/src/stories/Subsystem/EgoGraph/EgoGraph.stories.tsx +354 -0
- package/src/stories/Subsystem/StoreValueTypeDeclaration.stories.tsx +182 -0
- package/src/subsystem/IssueList.focus.test.tsx +113 -0
- package/src/subsystem/IssueList.icon.test.tsx +95 -0
- package/src/subsystem/IssueList.tsx +267 -111
- package/src/subsystem/SubsystemComponentGraph.tsx +582 -27
- package/src/subsystem/formatDeclaration.test.ts +64 -0
- package/src/subsystem/formatDeclaration.ts +20 -5
- package/src/subsystem/model.test.ts +75 -2
- package/src/subsystem/model.ts +247 -17
- package/src/subsystem/nodes.group.test.tsx +52 -0
- package/src/subsystem/nodes.tsx +112 -8
- package/src/subsystem/symbolRefs.ts +2 -0
- package/src/subsystem/toC4.test.ts +3 -3
- package/src/utils/elkLayout.ts +32 -1
|
@@ -74,7 +74,7 @@ export interface SubsystemDeclToken {
|
|
|
74
74
|
* Topology relation type — structural / module / type claims.
|
|
75
75
|
* Belongs on `relations[]`, not on walkthrough hops.
|
|
76
76
|
*/
|
|
77
|
-
export type SubsystemRelationType = 'extends' | 'inherits' | 'implements' | 'mixes_in' | 'method'
|
|
77
|
+
export type SubsystemRelationType = 'extends' | 'inherits' | 'implements' | 'mixes_in' | 'method';
|
|
78
78
|
/**
|
|
79
79
|
* Walkthrough hop mechanism — runtime seams with a `file:line` site.
|
|
80
80
|
*/
|
|
@@ -88,6 +88,48 @@ export type SubsystemEdgeMechanism = SubsystemRelationType | SubsystemWalkthroug
|
|
|
88
88
|
* - `walkthroughs`: only walkthrough hop edges (`calls`, `feeds`, …)
|
|
89
89
|
*/
|
|
90
90
|
export type SubsystemEdgeView = 'relations' | 'walkthroughs';
|
|
91
|
+
/**
|
|
92
|
+
* Where a display edge came from.
|
|
93
|
+
*
|
|
94
|
+
* - `subsystem` (default): a verb from the authored vocabularies
|
|
95
|
+
* (`SubsystemRelationType` / `SubsystemWalkthroughMechanism`), colored from
|
|
96
|
+
* `MECHANISM_COLOR`.
|
|
97
|
+
* - `graphify`: a raw relation read off graphify's static symbol graph
|
|
98
|
+
* (`imports`, `contains`, `re_exports`, …). These are DERIVED, never authored,
|
|
99
|
+
* and are colored from `GRAPHIFY_RELATION_COLOR` so a reader can tell a
|
|
100
|
+
* graphify fact apart from a subsystem claim at a glance.
|
|
101
|
+
*/
|
|
102
|
+
export type SubsystemEdgeProvenance = 'subsystem' | 'graphify';
|
|
103
|
+
/**
|
|
104
|
+
* A graphify-native topology edge — a raw graphify relation that has no
|
|
105
|
+
* subsystem mechanism equivalent.
|
|
106
|
+
*
|
|
107
|
+
* Kept structurally separate from `SubsystemRelation`: those are authored into
|
|
108
|
+
* a portable model and validated against a closed vocabulary, whereas these are
|
|
109
|
+
* derived from a graphify run and carry graphify's own (open) verb set. They are
|
|
110
|
+
* a display input only — never written back into a `SubsystemModelDocument`.
|
|
111
|
+
*/
|
|
112
|
+
export interface SubsystemGraphifyRelation {
|
|
113
|
+
id: string;
|
|
114
|
+
/** Source component alias. */
|
|
115
|
+
from: string;
|
|
116
|
+
/** Target component alias. */
|
|
117
|
+
to: string;
|
|
118
|
+
/** Raw graphify relation verb (e.g. `imports`, `contains`, `re_exports`). */
|
|
119
|
+
relation: string;
|
|
120
|
+
/** Concrete file/symbol refs backing the relation. */
|
|
121
|
+
refs?: string[];
|
|
122
|
+
/**
|
|
123
|
+
* 1-based source line of the relation site. Optional — available on
|
|
124
|
+
* `calls`/`references`-style edges; used to order an ego graph's callees by
|
|
125
|
+
* call site when a host opts into line-ordered layering.
|
|
126
|
+
*/
|
|
127
|
+
line?: number;
|
|
128
|
+
/** graphify's provenance tag (`EXTRACTED` / `INFERRED` / `AMBIGUOUS`). */
|
|
129
|
+
confidence?: string;
|
|
130
|
+
/** Reference context on `references` edges (e.g. `return_type`, `field`). */
|
|
131
|
+
context?: string;
|
|
132
|
+
}
|
|
91
133
|
/** A component node — the named unit, construct-tagged; `file` is its location. */
|
|
92
134
|
export interface SubsystemComponent {
|
|
93
135
|
/**
|
|
@@ -245,9 +287,28 @@ export interface SubsystemComponentEdge {
|
|
|
245
287
|
id: string;
|
|
246
288
|
from: string;
|
|
247
289
|
to: string;
|
|
248
|
-
|
|
290
|
+
/**
|
|
291
|
+
* The edge verb. For `provenance: 'subsystem'` (the default) this is a
|
|
292
|
+
* `SubsystemEdgeMechanism`; for `provenance: 'graphify'` it is the raw
|
|
293
|
+
* graphify relation. Typed as `string` because the display edge is a derived
|
|
294
|
+
* structure and graphify's verb set is open — the authored vocabularies
|
|
295
|
+
* (`SubsystemRelationType` / `SubsystemWalkthroughMechanism`) stay closed.
|
|
296
|
+
*/
|
|
297
|
+
mechanism: string;
|
|
298
|
+
/** Origin of the edge; absent means `'subsystem'`. */
|
|
299
|
+
provenance?: SubsystemEdgeProvenance;
|
|
249
300
|
/** Concrete file/symbol refs backing the edge (the seam). */
|
|
250
301
|
refs?: string[];
|
|
302
|
+
/**
|
|
303
|
+
* 1-based source line of the RELATION SITE — where the edge's verb was
|
|
304
|
+
* observed (e.g. a `calls` edge's call-site line inside the caller), NOT
|
|
305
|
+
* where the target is declared.
|
|
306
|
+
*/
|
|
307
|
+
line?: number;
|
|
308
|
+
/** graphify's provenance tag (`EXTRACTED` / `INFERRED` / `AMBIGUOUS`). */
|
|
309
|
+
confidence?: string;
|
|
310
|
+
/** Reference context on `references` edges (e.g. `return_type`, `field`). */
|
|
311
|
+
context?: string;
|
|
251
312
|
}
|
|
252
313
|
/**
|
|
253
314
|
* A single runtime hop — `from`/`to`/`mechanism` plus the exact `file:line`
|
|
@@ -295,7 +356,7 @@ export interface SubsystemModelDocument {
|
|
|
295
356
|
walkthroughs?: SubsystemWalkthrough[];
|
|
296
357
|
}
|
|
297
358
|
/** Stable id for a derived graph edge from a relation or walkthrough hop. */
|
|
298
|
-
export declare function derivedGraphEdgeId(from: string, to: string, mechanism:
|
|
359
|
+
export declare function derivedGraphEdgeId(from: string, to: string, mechanism: string): string;
|
|
299
360
|
/**
|
|
300
361
|
* Build display edges for the graph canvas from topology relations and
|
|
301
362
|
* walkthrough hops (deduped by from/to/mechanism).
|
|
@@ -320,6 +381,7 @@ export declare function reorderTargetIndex(boundary: number, from: number): numb
|
|
|
320
381
|
export declare function deriveGraphEdges(doc: {
|
|
321
382
|
relations?: readonly SubsystemRelation[];
|
|
322
383
|
walkthroughs?: readonly SubsystemWalkthrough[];
|
|
384
|
+
graphifyRelations?: readonly SubsystemGraphifyRelation[];
|
|
323
385
|
}): SubsystemComponentEdge[];
|
|
324
386
|
/**
|
|
325
387
|
* True when the model has components but no topology or walkthrough edges.
|
|
@@ -331,6 +393,7 @@ export declare function isConstructsOnlyModel(doc: {
|
|
|
331
393
|
}[];
|
|
332
394
|
relations?: readonly SubsystemRelation[];
|
|
333
395
|
walkthroughs?: readonly SubsystemWalkthrough[];
|
|
396
|
+
graphifyRelations?: readonly SubsystemGraphifyRelation[];
|
|
334
397
|
}): boolean;
|
|
335
398
|
/**
|
|
336
399
|
* Derive a consistent display `name` from a code `symbol` + construct.
|
|
@@ -471,6 +534,42 @@ export interface SubsystemGraphNodeData extends Record<string, unknown> {
|
|
|
471
534
|
fileMatch?: boolean;
|
|
472
535
|
/** True while this node is on an opened-but-unselected flow. */
|
|
473
536
|
dimmed?: boolean;
|
|
537
|
+
/** Diagnostics badge — see `SubsystemNodeIssue`. Absent when no findings. */
|
|
538
|
+
issue?: SubsystemNodeIssue;
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* The per-construct verification ladder, in order. A finding's rung is the
|
|
542
|
+
* earliest step it fails: file → symbol → declaration → type → signature.
|
|
543
|
+
*/
|
|
544
|
+
export type SubsystemIssueRung = 'file' | 'symbol' | 'declaration' | 'type' | 'signature';
|
|
545
|
+
/**
|
|
546
|
+
* Per-node diagnostics badge — the proposed issue overlay (severity ring +
|
|
547
|
+
* earliest-rung corner chip). The graph derives one per component from the
|
|
548
|
+
* audit issues whose component target resolves to that node. Absent when the
|
|
549
|
+
* node has no rung-mapped findings.
|
|
550
|
+
*/
|
|
551
|
+
export interface SubsystemNodeIssue {
|
|
552
|
+
/** Worst severity on the node — `error` (contradicts source) beats `info`. */
|
|
553
|
+
severity: 'error' | 'info';
|
|
554
|
+
/** Earliest failing rung across the node's findings. */
|
|
555
|
+
rung: SubsystemIssueRung;
|
|
556
|
+
/** Total findings on this node. */
|
|
557
|
+
count: number;
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* Per-frame diagnostics badge — a finding about the BOUNDARY itself (its
|
|
561
|
+
* containment / nesting), not about any member construct. Separate from
|
|
562
|
+
* `SubsystemNodeIssue` because these have no construct rung to report: the
|
|
563
|
+
* fault is the region's shape, which is also why it badges the frame rather
|
|
564
|
+
* than a leaf. `kind` selects the icon (see `ISSUE_KIND_ICON`).
|
|
565
|
+
*/
|
|
566
|
+
export interface SubsystemRegionIssue {
|
|
567
|
+
/** Worst severity across the region's findings — `error` beats `info`. */
|
|
568
|
+
severity: 'error' | 'info';
|
|
569
|
+
/** The kind that supplies the badge icon. */
|
|
570
|
+
kind: string;
|
|
571
|
+
/** Total findings on this region. */
|
|
572
|
+
count: number;
|
|
474
573
|
}
|
|
475
574
|
export interface SubsystemGroupNodeData extends Record<string, unknown> {
|
|
476
575
|
region: SubsystemProcessRegion;
|
|
@@ -478,11 +577,22 @@ export interface SubsystemGroupNodeData extends Record<string, unknown> {
|
|
|
478
577
|
dimmed?: boolean;
|
|
479
578
|
/** Host-supplied frame color override; falls back to the derived color. */
|
|
480
579
|
color?: string;
|
|
580
|
+
/** Boundary diagnostics badge — see `SubsystemRegionIssue`. */
|
|
581
|
+
issue?: SubsystemRegionIssue;
|
|
481
582
|
}
|
|
482
583
|
export type SubsystemGraphNode = Node<SubsystemGraphNodeData, 'subsystem-component'> | Node<SubsystemGroupNodeData, 'subsystem-group'>;
|
|
483
584
|
export interface SubsystemGraphEdgeData extends Record<string, unknown> {
|
|
484
|
-
mechanism
|
|
585
|
+
/** The edge verb (subsystem mechanism, or raw graphify relation). */
|
|
586
|
+
mechanism: string;
|
|
587
|
+
/** Origin of the edge; absent means `'subsystem'`. */
|
|
588
|
+
provenance?: SubsystemEdgeProvenance;
|
|
485
589
|
refs?: string[];
|
|
590
|
+
/** 1-based source line of the relation site (graphify edges when known). */
|
|
591
|
+
line?: number;
|
|
592
|
+
/** graphify's provenance tag (`EXTRACTED` / `INFERRED` / `AMBIGUOUS`). */
|
|
593
|
+
confidence?: string;
|
|
594
|
+
/** Reference context on `references` edges (e.g. `return_type`, `field`). */
|
|
595
|
+
context?: string;
|
|
486
596
|
/** True while another edge is selected — render this edge (and its label)
|
|
487
597
|
* dimmed to focus the selected relationship. */
|
|
488
598
|
dimmed?: boolean;
|
|
@@ -510,7 +620,7 @@ export type SubsystemGraphEdge = Edge<SubsystemGraphEdgeData>;
|
|
|
510
620
|
* Used to split derived display edges into their relation vs walkthrough
|
|
511
621
|
* source (the two unions are disjoint).
|
|
512
622
|
*/
|
|
513
|
-
export declare const SUBSYSTEM_RELATION_TYPES: readonly ["extends", "inherits", "implements", "mixes_in", "method"
|
|
623
|
+
export declare const SUBSYSTEM_RELATION_TYPES: readonly ["extends", "inherits", "implements", "mixes_in", "method"];
|
|
514
624
|
/** Runtime vocabulary of walkthrough hop mechanisms — mirrors `SubsystemWalkthroughMechanism`. */
|
|
515
625
|
export declare const SUBSYSTEM_WALKTHROUGH_MECHANISMS: readonly ["calls", "uses", "feeds", "produces", "writes", "reads", "watches", "registers-into"];
|
|
516
626
|
/** True when a mechanism belongs to the topology relation vocabulary. */
|
|
@@ -519,6 +629,36 @@ export declare function isRelationMechanism(mechanism: string): mechanism is Sub
|
|
|
519
629
|
export declare function isWalkthroughMechanism(mechanism: string): mechanism is SubsystemWalkthroughMechanism;
|
|
520
630
|
export declare const MECHANISM_COLOR: Record<SubsystemEdgeMechanism, string>;
|
|
521
631
|
export declare const MECHANISM_STYLE: Record<SubsystemEdgeMechanism, 'solid' | 'dashed' | 'dotted'>;
|
|
632
|
+
/** Fallback hue for a mechanism outside the closed palette (defensive — the
|
|
633
|
+
* vocabulary is closed, so this only guards an unexpected verb from rendering
|
|
634
|
+
* an undefined stroke). */
|
|
635
|
+
export declare const MECHANISM_FALLBACK_COLOR = "#888888";
|
|
636
|
+
/**
|
|
637
|
+
* graphify-native relation hues — a palette deliberately SEPARATE from
|
|
638
|
+
* `MECHANISM_COLOR`.
|
|
639
|
+
*
|
|
640
|
+
* graphify edges are derived from a static symbol graph, not authored subsystem
|
|
641
|
+
* semantics, so they get their own (cooler, desaturated) family and their own
|
|
642
|
+
* stroke treatment. Keeping the hue variables separate means a graphify fact
|
|
643
|
+
* can never be mistaken for a subsystem claim, and a new graphify verb can
|
|
644
|
+
* never accidentally inherit a mechanism hue.
|
|
645
|
+
*
|
|
646
|
+
* Keyed by graphify's relation verbs. Open-ended: graphify adds verbs, so an
|
|
647
|
+
* unlisted verb falls back to `GRAPHIFY_RELATION_FALLBACK_COLOR`.
|
|
648
|
+
*/
|
|
649
|
+
export declare const GRAPHIFY_RELATION_COLOR: Record<string, string>;
|
|
650
|
+
/** Fallback hue for a graphify verb absent from `GRAPHIFY_RELATION_COLOR`. */
|
|
651
|
+
export declare const GRAPHIFY_RELATION_FALLBACK_COLOR = "#7d8794";
|
|
652
|
+
/**
|
|
653
|
+
* graphify-native edges share one stroke treatment so provenance still reads
|
|
654
|
+
* even where a hue happens to sit near a mechanism hue. Mirrors the
|
|
655
|
+
* `MECHANISM_STYLE` value space.
|
|
656
|
+
*/
|
|
657
|
+
export declare const GRAPHIFY_RELATION_STYLE: 'solid' | 'dashed' | 'dotted';
|
|
658
|
+
/** Resolve an edge's stroke color from its provenance + verb. */
|
|
659
|
+
export declare function edgeColor(edge: Pick<SubsystemComponentEdge, 'mechanism' | 'provenance'>): string;
|
|
660
|
+
/** Resolve an edge's dash treatment from its provenance + verb. */
|
|
661
|
+
export declare function edgeStrokeStyle(edge: Pick<SubsystemComponentEdge, 'mechanism' | 'provenance'>): 'solid' | 'dashed' | 'dotted';
|
|
522
662
|
/**
|
|
523
663
|
* Region colors for process boundaries in the aggregate graph. Kept separate
|
|
524
664
|
* from MECHANISM_COLOR on purpose: that palette encodes edge semantics on thin
|
|
@@ -659,9 +799,11 @@ export declare function convertSubsystemToGroups(doc: Pick<SubsystemModelDocumen
|
|
|
659
799
|
* is an external label (not a component alias) point at a synthetic stub so the
|
|
660
800
|
* relationship is visible without a member node.
|
|
661
801
|
*/
|
|
662
|
-
export declare function convertSubsystemToEdges(doc: SubsystemModelDocument): SubsystemGraphEdge[];
|
|
802
|
+
export declare function convertSubsystemToEdges(doc: SubsystemModelDocument, graphifyRelations?: readonly SubsystemGraphifyRelation[]): SubsystemGraphEdge[];
|
|
663
803
|
/** Stable key for layout-affecting graph fields (ignores declarationRef, etc.). */
|
|
664
|
-
export declare function subsystemGraphLayoutKey(doc: Pick<SubsystemModelDocument, 'components' | 'relations' | 'walkthroughs'>
|
|
804
|
+
export declare function subsystemGraphLayoutKey(doc: Pick<SubsystemModelDocument, 'components' | 'relations' | 'walkthroughs'> & {
|
|
805
|
+
graphifyRelations?: readonly SubsystemGraphifyRelation[];
|
|
806
|
+
}): string;
|
|
665
807
|
/**
|
|
666
808
|
* Build the full React Flow graph (nodes + edges) using **ELK auto-layout** to
|
|
667
809
|
* position every node (including external stub targets), so the graph is
|
|
@@ -672,6 +814,18 @@ export declare function buildSubsystemGraph(doc: SubsystemModelDocument, opts?:
|
|
|
672
814
|
showEdgeLabels?: boolean;
|
|
673
815
|
measuredWidths?: Map<string, number>;
|
|
674
816
|
measuredHeights?: Map<string, number>;
|
|
817
|
+
/** graphify-native relations to merge into the display graph, drawn with
|
|
818
|
+
* the separate graphify palette. Display-only; never authored. */
|
|
819
|
+
graphifyRelations?: readonly SubsystemGraphifyRelation[];
|
|
820
|
+
/**
|
|
821
|
+
* Order same-layer nodes by `component.line` (ascending) instead of ELK's
|
|
822
|
+
* crossing-minimizer. Only meaningful when components carry a `line` — and
|
|
823
|
+
* callers are expected to stamp `line` with the RELEVANT site for their
|
|
824
|
+
* graph (e.g. an ego graph stamps each callee with the center's call-site
|
|
825
|
+
* line, not the callee's declaration line).
|
|
826
|
+
* @default false
|
|
827
|
+
*/
|
|
828
|
+
orderByLine?: boolean;
|
|
675
829
|
} & BoundaryFrameOptions): Promise<{
|
|
676
830
|
nodes: SubsystemGraphNode[];
|
|
677
831
|
edges: SubsystemGraphEdge[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGhE,iFAAiF;AACjF,MAAM,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AACpE,MAAM,MAAM,8BAA8B,GAAG,UAAU,GAAG,UAAU,CAAC;AAErE,0EAA0E;AAC1E,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,2BAA2B,GACnC,OAAO,GACP,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,MAAM,GACN,OAAO,GACP,UAAU,GACV,eAAe,CAAC;AAEpB;;;;;;;;;;GAUG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAMzC,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,MAAM,GACN,QAAQ,GACR,MAAM,GACN,aAAa,GACb,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,sBAAsB,CAAC;IAC7B,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,UAAU,GACV,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,6BAA6B,GACrC,OAAO,GACP,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,OAAO,GACP,SAAS,GACT,gBAAgB,CAAC;AAErB,4EAA4E;AAC5E,MAAM,MAAM,sBAAsB,GAC9B,qBAAqB,GACrB,6BAA6B,CAAC;AAElC;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,cAAc,CAAC;AAE7D,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,2BAA2B,CAAC;IACvC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,6BAA6B,CAAC;IAC5C;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,8BAA8B,CAAC;IACvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;IAChD;;;OAGG;IACH,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,qBAAqB,CAAC;IACpC,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,sBAAsB,CAAC;IAClC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,6BAA6B,CAAC;IACzC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iEAAiE;AACjE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,wBAAwB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,qEAAqE;IACrE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,sBAAsB,GAChC,MAAM,CAER;AAED;;;GAGG;AACH,yDAAyD;AACzD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAAC,GAChE,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAC7C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,oBAAoB,EAAE,CAQxB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE;IACpC,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAChD,GAAG,sBAAsB,EAAE,CA4B3B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE;IACzC,UAAU,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzC,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAChD,GAAG,OAAO,CAMV;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,2BAA2B,EACtC,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CA2BR;AAcD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAchF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU/C;AAMD,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;CACnD;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAKrC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,SAAI,GAAG,MAAM,CAOzE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,SAAI,GAAG,MAAM,CAgB9E;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS3D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,MAAM,CAIhG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,WAAW,CAAC,GAChD,MAAM,GAAG,SAAS,CAKpB;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,GAC9C,sBAAsB,EAAE,CAe1B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,GAC9C,sBAAsB,EAAE,CAe1B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,GAC9C,sBAAsB,EAAE,CAe1B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,sBAAsB,CAAC;CAChC;AASD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,EAC/C,IAAI,GAAE,oBAAyB,GAC9B,mBAAmB,EAAE,CA8IvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,SAAS,EAAE,kBAAkB,CAAC;IAC9B;;8CAE0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,MAAM,EAAE,sBAAsB,CAAC;IAC/B,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAC1B,IAAI,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,GACnD,IAAI,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;AAEpD,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,SAAS,EAAE,sBAAsB,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;qDACiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,oFAOgB,CAAC;AAEtD,kGAAkG;AAClG,eAAO,MAAM,gCAAgC,iGASgB,CAAC;AAO9D,yEAAyE;AACzE,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,GAChB,SAAS,IAAI,qBAAqB,CAEpC;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAChB,SAAS,IAAI,6BAA6B,CAE5C;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAelE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAezF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAa3C,CAAC;AAeF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBjF;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,MAAM,CAEhE;AAED;mDACmD;AACnD,eAAO,MAAM,sBAAsB,EAAE,CAAC,sBAAsB,EAAE,MAAM,EAAE,OAAO,CAAC,EAe7E,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYjD;AAED;;;;8BAI8B;AAC9B,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAG7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAExD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAG7D,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE;IACzC,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,MAAM,GAAG,IAAI,CAIhB;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,SAAS,EAAE;IACzC,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,MAAM,GAAG,IAAI,CAIhB;AAED,iDAAiD;AACjD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIhD,CAAC;AAEF;wEACwE;AACxE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIhD,CAAC;AAUF;;+EAE+E;AAC/E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE;IAC3C,SAAS,EAAE,2BAA2B,CAAC;IACvC,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,GAAG,MAAM,GAAG,IAAI,CAIhB;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE;IAC3C,SAAS,EAAE,2BAA2B,CAAC;IACvC,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,GAAG,MAAM,GAAG,IAAI,CAIhB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE;IAC7C,SAAS,EAAE,2BAA2B,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAWT;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,GAAG,IAAI,CAGhB;AAED,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAoBlC,yDAAyD;AACzD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE;IAC/C,SAAS,EAAE,2BAA2B,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,GAAG,MAAM,CAyBT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,sBAAsB,EAC3B,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,kBAAkB,EAAE,CA6DtB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,EAC/C,IAAI,GAAE,oBAAyB,GAC9B,kBAAkB,EAAE,CAUtB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,sBAAsB,GAAG,kBAAkB,EAAE,CA2BzF;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC,GAC7E,MAAM,CAWR;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,sBAAsB,EAC3B,IAAI,GAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,GAAG,oBAAyB,GAC5B,OAAO,CAAC;IACT,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC;;;;OAIG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrF,CAAC,CAsOD"}
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
|
package/dist/subsystem/model.js
CHANGED
|
@@ -82,6 +82,22 @@ export function deriveGraphEdges(doc) {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
+
for (const g of doc.graphifyRelations ?? []) {
|
|
86
|
+
const id = g.id || derivedGraphEdgeId(g.from, g.to, g.relation);
|
|
87
|
+
if (!byId.has(id)) {
|
|
88
|
+
byId.set(id, {
|
|
89
|
+
id,
|
|
90
|
+
from: g.from,
|
|
91
|
+
to: g.to,
|
|
92
|
+
mechanism: g.relation,
|
|
93
|
+
provenance: 'graphify',
|
|
94
|
+
refs: g.refs,
|
|
95
|
+
line: g.line,
|
|
96
|
+
confidence: g.confidence,
|
|
97
|
+
context: g.context,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
85
101
|
return [...byId.values()];
|
|
86
102
|
}
|
|
87
103
|
/**
|
|
@@ -94,6 +110,7 @@ export function isConstructsOnlyModel(doc) {
|
|
|
94
110
|
return deriveGraphEdges({
|
|
95
111
|
relations: doc.relations,
|
|
96
112
|
walkthroughs: doc.walkthroughs,
|
|
113
|
+
graphifyRelations: doc.graphifyRelations,
|
|
97
114
|
}).length === 0;
|
|
98
115
|
}
|
|
99
116
|
/**
|
|
@@ -510,7 +527,6 @@ export const SUBSYSTEM_RELATION_TYPES = [
|
|
|
510
527
|
'implements',
|
|
511
528
|
'mixes_in',
|
|
512
529
|
'method',
|
|
513
|
-
'references',
|
|
514
530
|
];
|
|
515
531
|
/** Runtime vocabulary of walkthrough hop mechanisms — mirrors `SubsystemWalkthroughMechanism`. */
|
|
516
532
|
export const SUBSYSTEM_WALKTHROUGH_MECHANISMS = [
|
|
@@ -541,7 +557,6 @@ export const MECHANISM_COLOR = {
|
|
|
541
557
|
mixes_in: '#d474a8',
|
|
542
558
|
uses: '#e3b341',
|
|
543
559
|
method: '#c586c0',
|
|
544
|
-
references: '#3b82f6',
|
|
545
560
|
feeds: '#4ec9b0',
|
|
546
561
|
produces: '#a78bfa',
|
|
547
562
|
writes: '#e8853a',
|
|
@@ -557,7 +572,6 @@ export const MECHANISM_STYLE = {
|
|
|
557
572
|
mixes_in: 'dashed',
|
|
558
573
|
uses: 'solid',
|
|
559
574
|
method: 'solid',
|
|
560
|
-
references: 'dotted',
|
|
561
575
|
feeds: 'solid',
|
|
562
576
|
produces: 'solid',
|
|
563
577
|
writes: 'solid',
|
|
@@ -565,6 +579,64 @@ export const MECHANISM_STYLE = {
|
|
|
565
579
|
watches: 'dashed',
|
|
566
580
|
'registers-into': 'dashed',
|
|
567
581
|
};
|
|
582
|
+
/** Fallback hue for a mechanism outside the closed palette (defensive — the
|
|
583
|
+
* vocabulary is closed, so this only guards an unexpected verb from rendering
|
|
584
|
+
* an undefined stroke). */
|
|
585
|
+
export const MECHANISM_FALLBACK_COLOR = '#888888';
|
|
586
|
+
/**
|
|
587
|
+
* graphify-native relation hues — a palette deliberately SEPARATE from
|
|
588
|
+
* `MECHANISM_COLOR`.
|
|
589
|
+
*
|
|
590
|
+
* graphify edges are derived from a static symbol graph, not authored subsystem
|
|
591
|
+
* semantics, so they get their own (cooler, desaturated) family and their own
|
|
592
|
+
* stroke treatment. Keeping the hue variables separate means a graphify fact
|
|
593
|
+
* can never be mistaken for a subsystem claim, and a new graphify verb can
|
|
594
|
+
* never accidentally inherit a mechanism hue.
|
|
595
|
+
*
|
|
596
|
+
* Keyed by graphify's relation verbs. Open-ended: graphify adds verbs, so an
|
|
597
|
+
* unlisted verb falls back to `GRAPHIFY_RELATION_FALLBACK_COLOR`.
|
|
598
|
+
*/
|
|
599
|
+
export const GRAPHIFY_RELATION_COLOR = {
|
|
600
|
+
contains: '#5c6b7a',
|
|
601
|
+
defines: '#6e7d8c',
|
|
602
|
+
imports: '#4c7fb5',
|
|
603
|
+
imports_from: '#6699cc',
|
|
604
|
+
re_exports: '#7b7fd4',
|
|
605
|
+
dynamic_import: '#4f9aa8',
|
|
606
|
+
indirect_call: '#8494a4',
|
|
607
|
+
calls: '#3f9e78',
|
|
608
|
+
uses: '#b0924e',
|
|
609
|
+
references: '#5f7fa6',
|
|
610
|
+
extends: '#8c74b0',
|
|
611
|
+
inherits: '#7a68a6',
|
|
612
|
+
implements: '#a4739e',
|
|
613
|
+
method: '#a4739e',
|
|
614
|
+
decorator: '#b57fa0',
|
|
615
|
+
rationale_for: '#bda15e',
|
|
616
|
+
semantically_similar_to: '#9a80bf', // muted lavender
|
|
617
|
+
};
|
|
618
|
+
/** Fallback hue for a graphify verb absent from `GRAPHIFY_RELATION_COLOR`. */
|
|
619
|
+
export const GRAPHIFY_RELATION_FALLBACK_COLOR = '#7d8794';
|
|
620
|
+
/**
|
|
621
|
+
* graphify-native edges share one stroke treatment so provenance still reads
|
|
622
|
+
* even where a hue happens to sit near a mechanism hue. Mirrors the
|
|
623
|
+
* `MECHANISM_STYLE` value space.
|
|
624
|
+
*/
|
|
625
|
+
export const GRAPHIFY_RELATION_STYLE = 'dashed';
|
|
626
|
+
/** Resolve an edge's stroke color from its provenance + verb. */
|
|
627
|
+
export function edgeColor(edge) {
|
|
628
|
+
if (edge.provenance === 'graphify') {
|
|
629
|
+
return (GRAPHIFY_RELATION_COLOR[edge.mechanism] ?? GRAPHIFY_RELATION_FALLBACK_COLOR);
|
|
630
|
+
}
|
|
631
|
+
return (MECHANISM_COLOR[edge.mechanism] ??
|
|
632
|
+
MECHANISM_FALLBACK_COLOR);
|
|
633
|
+
}
|
|
634
|
+
/** Resolve an edge's dash treatment from its provenance + verb. */
|
|
635
|
+
export function edgeStrokeStyle(edge) {
|
|
636
|
+
if (edge.provenance === 'graphify')
|
|
637
|
+
return GRAPHIFY_RELATION_STYLE;
|
|
638
|
+
return MECHANISM_STYLE[edge.mechanism] ?? 'solid';
|
|
639
|
+
}
|
|
568
640
|
/**
|
|
569
641
|
* Region colors for process boundaries in the aggregate graph. Kept separate
|
|
570
642
|
* from MECHANISM_COLOR on purpose: that palette encodes edge semantics on thin
|
|
@@ -652,7 +724,6 @@ export const MECHANISM_DESCRIPTIONS = [
|
|
|
652
724
|
['mixes_in', 'applies mixin', true],
|
|
653
725
|
['uses', 'general dependency (import, call, or reference)', false],
|
|
654
726
|
['method', 'structural: has method / member', true],
|
|
655
|
-
['references', 'type / symbol reference (not a call)', true],
|
|
656
727
|
['feeds', 'data flow: output feeds into input', false],
|
|
657
728
|
['produces', 'data flow: produces / outputs', false],
|
|
658
729
|
['writes', 'state access: mutates retained state', true],
|
|
@@ -919,12 +990,12 @@ export function convertSubsystemToGroups(doc, opts = {}) {
|
|
|
919
990
|
* is an external label (not a component alias) point at a synthetic stub so the
|
|
920
991
|
* relationship is visible without a member node.
|
|
921
992
|
*/
|
|
922
|
-
export function convertSubsystemToEdges(doc) {
|
|
993
|
+
export function convertSubsystemToEdges(doc, graphifyRelations = []) {
|
|
923
994
|
const compAliases = new Set(doc.components.map((c) => c.alias));
|
|
924
995
|
const edges = [];
|
|
925
|
-
for (const e of deriveGraphEdges(doc)) {
|
|
926
|
-
const color =
|
|
927
|
-
const style =
|
|
996
|
+
for (const e of deriveGraphEdges({ ...doc, graphifyRelations })) {
|
|
997
|
+
const color = edgeColor(e);
|
|
998
|
+
const style = edgeStrokeStyle(e);
|
|
928
999
|
// If `to` is a real component, connect directly; otherwise point at a stub node.
|
|
929
1000
|
const isExternal = !compAliases.has(e.to);
|
|
930
1001
|
const targetId = isExternal ? `external:${e.to}` : e.to;
|
|
@@ -932,7 +1003,14 @@ export function convertSubsystemToEdges(doc) {
|
|
|
932
1003
|
id: e.id,
|
|
933
1004
|
source: e.from,
|
|
934
1005
|
target: targetId,
|
|
935
|
-
data: {
|
|
1006
|
+
data: {
|
|
1007
|
+
mechanism: e.mechanism,
|
|
1008
|
+
provenance: e.provenance,
|
|
1009
|
+
refs: e.refs,
|
|
1010
|
+
line: e.line,
|
|
1011
|
+
confidence: e.confidence,
|
|
1012
|
+
context: e.context,
|
|
1013
|
+
},
|
|
936
1014
|
type: 'subsystem-edge',
|
|
937
1015
|
markerEnd: { type: MarkerType.ArrowClosed, color, width: 32, height: 32 },
|
|
938
1016
|
style: { color, stroke: color, strokeDasharray: style === 'dashed' ? '6 4' : undefined },
|
|
@@ -963,10 +1041,10 @@ export function subsystemGraphLayoutKey(doc) {
|
|
|
963
1041
|
* layered with minimized crossings.
|
|
964
1042
|
*/
|
|
965
1043
|
export async function buildSubsystemGraph(doc, opts = {}) {
|
|
966
|
-
const { maxNodeWidth, showEdgeLabels, measuredWidths, measuredHeights, showSingletonFrames, packageFrames, } = opts;
|
|
1044
|
+
const { maxNodeWidth, showEdgeLabels, measuredWidths, measuredHeights, showSingletonFrames, packageFrames, graphifyRelations, orderByLine = false, } = opts;
|
|
967
1045
|
const frameOpts = { showSingletonFrames, packageFrames };
|
|
968
1046
|
const nodes = convertSubsystemToNodes(doc, { maxNodeWidth });
|
|
969
|
-
const edges = convertSubsystemToEdges(doc);
|
|
1047
|
+
const edges = convertSubsystemToEdges(doc, graphifyRelations);
|
|
970
1048
|
// Nested boundary tree: package → process → module → leaves.
|
|
971
1049
|
const layoutGroups = buildBoundaryLayoutGroups(doc, frameOpts);
|
|
972
1050
|
const regions = layoutGroups.map((g) => g.region);
|
|
@@ -1001,7 +1079,7 @@ export async function buildSubsystemGraph(doc, opts = {}) {
|
|
|
1001
1079
|
// cross-package edges have something to land on.
|
|
1002
1080
|
const realAliases = new Set(doc.components.map((c) => c.alias));
|
|
1003
1081
|
const externalIds = [];
|
|
1004
|
-
for (const e of deriveGraphEdges(doc)) {
|
|
1082
|
+
for (const e of deriveGraphEdges({ ...doc, graphifyRelations })) {
|
|
1005
1083
|
if (!realAliases.has(e.to)) {
|
|
1006
1084
|
const extId = `external:${e.to}`;
|
|
1007
1085
|
if (!externalIds.includes(extId))
|
|
@@ -1066,6 +1144,7 @@ export async function buildSubsystemGraph(doc, opts = {}) {
|
|
|
1066
1144
|
interLayerSpacing: showEdgeLabels === false ? 120 : EDGE_LABEL_SIDE_PADDING,
|
|
1067
1145
|
endpointInset: EDGE_ARROW_INSET,
|
|
1068
1146
|
preserveNodePositions: false,
|
|
1147
|
+
orderByLine,
|
|
1069
1148
|
edgeLabels: showEdgeLabels === false ? { enabled: false } : { enabled: true, placement: 'CENTER' },
|
|
1070
1149
|
groups: layoutGroups.map((g) => ({
|
|
1071
1150
|
id: g.id,
|