@coral-viz/viz 0.2.5 → 0.2.7
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/README.md +8 -2
- package/dist/compatibility/CompatibilityEdge.d.ts +52 -1
- package/dist/compatibility/CompatibilityEdge.d.ts.map +1 -1
- package/dist/compatibility/CompatibilityEdge.js +107 -7
- package/dist/compatibility/CompatibilityEdge.js.map +1 -1
- package/dist/compatibility/EndpointMarkerDefinitions.d.ts +10 -0
- package/dist/compatibility/EndpointMarkerDefinitions.d.ts.map +1 -0
- package/dist/compatibility/EndpointMarkerDefinitions.js +25 -0
- package/dist/compatibility/EndpointMarkerDefinitions.js.map +1 -0
- package/dist/compatibility/effectivePorts.d.ts +17 -0
- package/dist/compatibility/effectivePorts.d.ts.map +1 -0
- package/dist/compatibility/effectivePorts.js +31 -0
- package/dist/compatibility/effectivePorts.js.map +1 -0
- package/dist/compatibility/index.d.ts +2 -1
- package/dist/compatibility/index.d.ts.map +1 -1
- package/dist/compatibility/index.js +2 -1
- package/dist/compatibility/index.js.map +1 -1
- package/dist/compatibility/useEdgeCompatibility.d.ts.map +1 -1
- package/dist/compatibility/useEdgeCompatibility.js +10 -2
- package/dist/compatibility/useEdgeCompatibility.js.map +1 -1
- package/dist/compatibility/validateConnection.d.ts.map +1 -1
- package/dist/compatibility/validateConnection.js +25 -37
- package/dist/compatibility/validateConnection.js.map +1 -1
- package/dist/components/SequenceDiagram.d.ts +26 -0
- package/dist/components/SequenceDiagram.d.ts.map +1 -0
- package/dist/components/SequenceDiagram.js +68 -0
- package/dist/components/SequenceDiagram.js.map +1 -0
- package/dist/components/ShapeRenderer.d.ts +3 -1
- package/dist/components/ShapeRenderer.d.ts.map +1 -1
- package/dist/components/ShapeRenderer.js +12 -32
- package/dist/components/ShapeRenderer.js.map +1 -1
- package/dist/components/SymbolNode.d.ts +3 -0
- package/dist/components/SymbolNode.d.ts.map +1 -1
- package/dist/components/SymbolNode.js +52 -87
- package/dist/components/SymbolNode.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/editor/CoralEditor.d.ts +1 -1
- package/dist/editor/CoralEditor.d.ts.map +1 -1
- package/dist/editor/CoralEditor.js +13 -4
- package/dist/editor/CoralEditor.js.map +1 -1
- package/dist/editor/FileControls.d.ts +16 -1
- package/dist/editor/FileControls.d.ts.map +1 -1
- package/dist/editor/FileControls.js +21 -6
- package/dist/editor/FileControls.js.map +1 -1
- package/dist/editor/converter.d.ts +7 -2
- package/dist/editor/converter.d.ts.map +1 -1
- package/dist/editor/converter.js +16 -17
- package/dist/editor/converter.js.map +1 -1
- package/dist/file/deserialize.d.ts +2 -1
- package/dist/file/deserialize.d.ts.map +1 -1
- package/dist/file/deserialize.js +2 -2
- package/dist/file/deserialize.js.map +1 -1
- package/dist/file/index.d.ts +2 -1
- package/dist/file/index.d.ts.map +1 -1
- package/dist/file/index.js +2 -1
- package/dist/file/index.js.map +1 -1
- package/dist/file/migrate.d.ts +18 -1
- package/dist/file/migrate.d.ts.map +1 -1
- package/dist/file/migrate.js +105 -16
- package/dist/file/migrate.js.map +1 -1
- package/dist/file/portMaterialization.d.ts +19 -0
- package/dist/file/portMaterialization.d.ts.map +1 -0
- package/dist/file/portMaterialization.js +105 -0
- package/dist/file/portMaterialization.js.map +1 -0
- package/dist/file/serialize.d.ts.map +1 -1
- package/dist/file/serialize.js +6 -2
- package/dist/file/serialize.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/layout/elk.d.ts +8 -0
- package/dist/layout/elk.d.ts.map +1 -1
- package/dist/layout/elk.js +8 -1
- package/dist/layout/elk.js.map +1 -1
- package/dist/properties/NodePropertiesPanel.d.ts +1 -1
- package/dist/properties/NodePropertiesPanel.d.ts.map +1 -1
- package/dist/properties/NodePropertiesPanel.js +154 -3
- package/dist/properties/NodePropertiesPanel.js.map +1 -1
- package/dist/text-editor/TextEditor.d.ts +11 -0
- package/dist/text-editor/TextEditor.d.ts.map +1 -1
- package/dist/text-editor/TextEditor.js +45 -21
- package/dist/text-editor/TextEditor.js.map +1 -1
- package/dist/text-editor/hooks/useBidirectionalSync.d.ts +3 -2
- package/dist/text-editor/hooks/useBidirectionalSync.d.ts.map +1 -1
- package/dist/text-editor/hooks/useBidirectionalSync.js.map +1 -1
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -7
package/dist/file/migrate.d.ts
CHANGED
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
* Handles schema version upgrades for backward compatibility.
|
|
5
5
|
*/
|
|
6
6
|
import type { CoralDocument } from './schema.js';
|
|
7
|
+
import { type GraphIR2To3MigrationChange, type GraphIR2To3MigrationLoss, type MigrationDiagnostic } from '@graph-ir/core';
|
|
8
|
+
import { type PortResolver } from './portMaterialization.js';
|
|
9
|
+
export interface DocumentGraphIRMigrationEvidence {
|
|
10
|
+
fromVersion: string;
|
|
11
|
+
toVersion: '3.0.0';
|
|
12
|
+
changes: GraphIR2To3MigrationChange[];
|
|
13
|
+
losses: GraphIR2To3MigrationLoss[];
|
|
14
|
+
diagnostics: MigrationDiagnostic[];
|
|
15
|
+
}
|
|
16
|
+
export interface DocumentMigrationOptions {
|
|
17
|
+
resolvePorts?: PortResolver;
|
|
18
|
+
}
|
|
19
|
+
export interface DocumentMigrationResult {
|
|
20
|
+
document: CoralDocument;
|
|
21
|
+
graphIR?: DocumentGraphIRMigrationEvidence;
|
|
22
|
+
}
|
|
7
23
|
/**
|
|
8
24
|
* Migrate a document to the current schema version
|
|
9
25
|
*
|
|
@@ -11,7 +27,8 @@ import type { CoralDocument } from './schema.js';
|
|
|
11
27
|
* @returns Migrated document at current version
|
|
12
28
|
* @throws Error if document has unknown schema version
|
|
13
29
|
*/
|
|
14
|
-
export declare function migrateDocument(doc: CoralDocument): CoralDocument;
|
|
30
|
+
export declare function migrateDocument(doc: CoralDocument, options?: DocumentMigrationOptions): CoralDocument;
|
|
31
|
+
export declare function migrateDocumentWithDiagnostics(doc: CoralDocument, options?: DocumentMigrationOptions): DocumentMigrationResult;
|
|
15
32
|
/**
|
|
16
33
|
* Check if a document needs migration
|
|
17
34
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/file/migrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/file/migrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAIL,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,gCAAgC;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnC,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,gCAAgC,CAAC;CAC5C;AAiJD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,GAAE,wBAA6B,GAAG,aAAa,CAEzG;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,aAAa,EAClB,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CAkCzB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAI1D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,EAAE,CAS9D"}
|
package/dist/file/migrate.js
CHANGED
|
@@ -4,17 +4,92 @@
|
|
|
4
4
|
* Handles schema version upgrades for backward compatibility.
|
|
5
5
|
*/
|
|
6
6
|
import { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS } from './schema.js';
|
|
7
|
-
import { migrateIR } from '@graph-ir/core';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
import { migrateGraphIR2To3, migrateIR, validateIR, } from '@graph-ir/core';
|
|
8
|
+
import { materializeReferencedPorts, stripResolvedPorts, } from './portMaterialization.js';
|
|
9
|
+
/**
|
|
10
|
+
* Move a legacy flat edge `lineStyle` into `style.lineStyle`. Coral 0.2.5 and
|
|
11
|
+
* early 0.2.6 saves spread the editor's flat field into files, although
|
|
12
|
+
* neither GraphIR 2 nor 3 allows it on an edge. An existing `style.lineStyle`
|
|
13
|
+
* wins. The input is never mutated.
|
|
14
|
+
*/
|
|
15
|
+
function moveLegacyEdgeLineStyles(graph) {
|
|
16
|
+
const edges = graph.edges;
|
|
17
|
+
if (!Array.isArray(edges))
|
|
18
|
+
return { graph, changes: [] };
|
|
19
|
+
const changes = [];
|
|
20
|
+
const moved = edges.map((edge, index) => {
|
|
21
|
+
if (!edge || typeof edge !== 'object' || !('lineStyle' in edge))
|
|
22
|
+
return edge;
|
|
23
|
+
const { lineStyle, ...rest } = edge;
|
|
24
|
+
const style = (rest.style ?? {});
|
|
25
|
+
changes.push({
|
|
26
|
+
code: 'MOVE_EDGE_LINE_STYLE', path: `/edges/${index}/lineStyle`,
|
|
27
|
+
message: style.lineStyle !== undefined && style.lineStyle !== lineStyle
|
|
28
|
+
? `Removed legacy flat lineStyle "${String(lineStyle)}"; style.lineStyle "${String(style.lineStyle)}" is kept`
|
|
29
|
+
: 'Moved legacy flat lineStyle into style.lineStyle',
|
|
30
|
+
});
|
|
31
|
+
return lineStyle === undefined && style.lineStyle === undefined
|
|
32
|
+
? rest
|
|
33
|
+
: { ...rest, style: { ...style, lineStyle: style.lineStyle ?? lineStyle } };
|
|
34
|
+
});
|
|
35
|
+
return changes.length ? { graph: { ...graph, edges: moved }, changes } : { graph, changes };
|
|
36
|
+
}
|
|
37
|
+
function migrateGraphIR(doc, options = {}) {
|
|
38
|
+
const original = doc.content.graphIR;
|
|
39
|
+
if (!original)
|
|
40
|
+
return { document: doc };
|
|
41
|
+
const { graph, changes: legacyChanges } = moveLegacyEdgeLineStyles(original);
|
|
42
|
+
if (graph.version === '3.0.0') {
|
|
43
|
+
const materialized = materializeReferencedPorts(graph, options.resolvePorts);
|
|
44
|
+
const validation = validateIR(materialized.graph);
|
|
45
|
+
if (validation.errors.length > 0) {
|
|
46
|
+
throw new Error(`Invalid GraphIR 3 document: ${validation.errors.map((error) => `${error.code} ${error.path || '/'}: ${error.message}`).join('; ')}`);
|
|
47
|
+
}
|
|
48
|
+
const stripped = stripResolvedPorts(materialized.graph, options.resolvePorts);
|
|
49
|
+
const changes = [...legacyChanges, ...materialized.changes, ...stripped.changes];
|
|
50
|
+
if (changes.length === 0)
|
|
51
|
+
return { document: doc };
|
|
52
|
+
return {
|
|
53
|
+
document: { ...doc, content: { ...doc.content, graphIR: stripped.graph } },
|
|
54
|
+
graphIR: { fromVersion: '3.0.0', toVersion: '3.0.0', changes, losses: [], diagnostics: [] },
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
let graph2 = graph;
|
|
58
|
+
const originalVersion = String(graph.version ?? 'unknown');
|
|
59
|
+
if (graph.version === '1.0' || graph.version === '1.0.0') {
|
|
60
|
+
const normalized = graph.version === '1.0'
|
|
61
|
+
? { ...graph, version: '1.0.0' }
|
|
62
|
+
: graph;
|
|
63
|
+
const first = migrateIR(normalized);
|
|
64
|
+
if (!first.success || !first.migrated) {
|
|
65
|
+
const detail = [...first.errors, ...first.losses.map((loss) => `${loss.path}: ${loss.reason}`)].join('; ');
|
|
66
|
+
throw new Error(`GraphIR 1.x document requires an explicit ambiguous-geometry migration decision: ${detail}`);
|
|
67
|
+
}
|
|
68
|
+
graph2 = first.migrated;
|
|
16
69
|
}
|
|
17
|
-
|
|
70
|
+
else if (graph.version !== '2.0.0') {
|
|
71
|
+
throw new Error(`Unsupported GraphIR document version: ${originalVersion}`);
|
|
72
|
+
}
|
|
73
|
+
const materialized = materializeReferencedPorts(graph2, options.resolvePorts);
|
|
74
|
+
const second = migrateGraphIR2To3(materialized.graph);
|
|
75
|
+
if (!second.success || !second.migrated) {
|
|
76
|
+
const detail = [
|
|
77
|
+
...second.errors,
|
|
78
|
+
...second.losses.map((loss) => `${loss.code} ${loss.path || '/'}: ${loss.message}`),
|
|
79
|
+
].join('; ');
|
|
80
|
+
throw new Error(`GraphIR ${originalVersion} document could not migrate to 3.0.0: ${detail}`);
|
|
81
|
+
}
|
|
82
|
+
const stripped = stripResolvedPorts(second.migrated, options.resolvePorts);
|
|
83
|
+
return {
|
|
84
|
+
document: { ...doc, content: { ...doc.content, graphIR: stripped.graph } },
|
|
85
|
+
graphIR: {
|
|
86
|
+
fromVersion: originalVersion,
|
|
87
|
+
toVersion: '3.0.0',
|
|
88
|
+
changes: [...legacyChanges, ...materialized.changes, ...second.changes, ...stripped.changes],
|
|
89
|
+
losses: second.losses,
|
|
90
|
+
diagnostics: second.diagnostics,
|
|
91
|
+
},
|
|
92
|
+
};
|
|
18
93
|
}
|
|
19
94
|
/**
|
|
20
95
|
* Migration registry: maps "fromVersion→toVersion" to migration function
|
|
@@ -67,15 +142,18 @@ function isKnownVersion(version) {
|
|
|
67
142
|
* @returns Migrated document at current version
|
|
68
143
|
* @throws Error if document has unknown schema version
|
|
69
144
|
*/
|
|
70
|
-
export function migrateDocument(doc) {
|
|
145
|
+
export function migrateDocument(doc, options = {}) {
|
|
146
|
+
return migrateDocumentWithDiagnostics(doc, options).document;
|
|
147
|
+
}
|
|
148
|
+
export function migrateDocumentWithDiagnostics(doc, options = {}) {
|
|
71
149
|
const currentVersion = doc.schemaVersion;
|
|
72
150
|
// Already at current version
|
|
73
151
|
if (currentVersion === CURRENT_SCHEMA_VERSION) {
|
|
74
|
-
return migrateGraphIR(doc);
|
|
152
|
+
return migrateGraphIR(doc, options);
|
|
75
153
|
}
|
|
76
154
|
// 1.0 was emitted briefly before semantic-version normalization.
|
|
77
155
|
if (currentVersion === '1.0') {
|
|
78
|
-
return migrateGraphIR({ ...doc, schemaVersion: CURRENT_SCHEMA_VERSION });
|
|
156
|
+
return migrateGraphIR({ ...doc, schemaVersion: CURRENT_SCHEMA_VERSION }, options);
|
|
79
157
|
}
|
|
80
158
|
// Check if version is known
|
|
81
159
|
if (!isKnownVersion(currentVersion)) {
|
|
@@ -92,7 +170,7 @@ export function migrateDocument(doc) {
|
|
|
92
170
|
result = migrateFn(result);
|
|
93
171
|
}
|
|
94
172
|
}
|
|
95
|
-
return migrateGraphIR(result);
|
|
173
|
+
return migrateGraphIR(result, options);
|
|
96
174
|
}
|
|
97
175
|
/**
|
|
98
176
|
* Check if a document needs migration
|
|
@@ -101,7 +179,10 @@ export function migrateDocument(doc) {
|
|
|
101
179
|
* @returns true if document needs migration
|
|
102
180
|
*/
|
|
103
181
|
export function needsMigration(doc) {
|
|
104
|
-
|
|
182
|
+
if (doc.schemaVersion !== CURRENT_SCHEMA_VERSION)
|
|
183
|
+
return true;
|
|
184
|
+
const graph = doc.content.graphIR;
|
|
185
|
+
return graph !== undefined && graph.version !== '3.0.0';
|
|
105
186
|
}
|
|
106
187
|
/**
|
|
107
188
|
* Get the migration path for a document
|
|
@@ -110,6 +191,14 @@ export function needsMigration(doc) {
|
|
|
110
191
|
* @returns Array of migration steps, empty if no migration needed
|
|
111
192
|
*/
|
|
112
193
|
export function getMigrationSteps(doc) {
|
|
113
|
-
|
|
194
|
+
const path = getMigrationPath(doc.schemaVersion, CURRENT_SCHEMA_VERSION);
|
|
195
|
+
const graph = doc.content.graphIR;
|
|
196
|
+
if (graph?.version === '1.0' || graph?.version === '1.0.0') {
|
|
197
|
+
path.push('GraphIR 1.0.0→2.0.0', 'GraphIR 2.0.0→3.0.0');
|
|
198
|
+
}
|
|
199
|
+
else if (graph?.version === '2.0.0') {
|
|
200
|
+
path.push('GraphIR 2.0.0→3.0.0');
|
|
201
|
+
}
|
|
202
|
+
return path;
|
|
114
203
|
}
|
|
115
204
|
//# sourceMappingURL=migrate.js.map
|
package/dist/file/migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/file/migrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/file/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { GraphIR, GraphNode } from '../types.js';
|
|
2
|
+
import type { GraphIR2To3MigrationChange } from '@graph-ir/core';
|
|
3
|
+
export type GraphPort = NonNullable<GraphNode['ports']>[number];
|
|
4
|
+
/** Resolve the complete implicit port set supplied for a node by its notation symbol. */
|
|
5
|
+
export type PortResolver = (node: GraphNode, graph: GraphIR) => readonly GraphPort[] | undefined;
|
|
6
|
+
export interface PortMaterializationResult {
|
|
7
|
+
graph: GraphIR;
|
|
8
|
+
changes: GraphIR2To3MigrationChange[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Make implicit symbol ports portable at validation/persistence boundaries.
|
|
12
|
+
* A node with authored `ports` remains authoritative. When any referenced
|
|
13
|
+
* implicit port resolves, the symbol's complete port set is written so the
|
|
14
|
+
* node keeps every handle when a GraphIR consumer reads it.
|
|
15
|
+
*/
|
|
16
|
+
export declare function materializeReferencedPorts(graph: GraphIR, resolvePorts?: PortResolver): PortMaterializationResult;
|
|
17
|
+
/** Remove a persisted symbol-port set from the editor's source projection. */
|
|
18
|
+
export declare function stripResolvedPorts(graph: GraphIR, resolvePorts?: PortResolver): PortMaterializationResult;
|
|
19
|
+
//# sourceMappingURL=portMaterialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portMaterialization.d.ts","sourceRoot":"","sources":["../../src/file/portMaterialization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,yFAAyF;AACzF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC;AAEjG,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACvC;AAiDD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,yBAAyB,CAyBjH;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,yBAAyB,CAuBzG"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
function clonePort(port) {
|
|
2
|
+
return {
|
|
3
|
+
...port,
|
|
4
|
+
...(port.properties ? { properties: { ...port.properties } } : {}),
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
function deepEqual(left, right) {
|
|
8
|
+
if (Object.is(left, right))
|
|
9
|
+
return true;
|
|
10
|
+
if (Array.isArray(left) || Array.isArray(right)) {
|
|
11
|
+
return Array.isArray(left) && Array.isArray(right) && left.length === right.length
|
|
12
|
+
&& left.every((value, index) => deepEqual(value, right[index]));
|
|
13
|
+
}
|
|
14
|
+
if (!left || !right || typeof left !== 'object' || typeof right !== 'object')
|
|
15
|
+
return false;
|
|
16
|
+
const leftRecord = left;
|
|
17
|
+
const rightRecord = right;
|
|
18
|
+
const leftKeys = Object.keys(leftRecord).sort();
|
|
19
|
+
const rightKeys = Object.keys(rightRecord).sort();
|
|
20
|
+
return leftKeys.length === rightKeys.length
|
|
21
|
+
&& leftKeys.every((key, index) => key === rightKeys[index] && deepEqual(leftRecord[key], rightRecord[key]));
|
|
22
|
+
}
|
|
23
|
+
function samePortSet(left, right) {
|
|
24
|
+
if (left.length !== right.length)
|
|
25
|
+
return false;
|
|
26
|
+
const rightById = new Map(right.map((port) => [port.id, port]));
|
|
27
|
+
return rightById.size === right.length
|
|
28
|
+
&& left.every((port) => {
|
|
29
|
+
const candidate = rightById.get(port.id);
|
|
30
|
+
return candidate !== undefined && deepEqual(port, candidate);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function referencedPorts(graph) {
|
|
34
|
+
const result = new Map();
|
|
35
|
+
const add = (nodeId, portId) => {
|
|
36
|
+
if (!portId)
|
|
37
|
+
return;
|
|
38
|
+
const ports = result.get(nodeId) ?? new Set();
|
|
39
|
+
ports.add(portId);
|
|
40
|
+
result.set(nodeId, ports);
|
|
41
|
+
};
|
|
42
|
+
for (const edge of graph.edges) {
|
|
43
|
+
add(edge.source, edge.sourcePort);
|
|
44
|
+
add(edge.target, edge.targetPort);
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Make implicit symbol ports portable at validation/persistence boundaries.
|
|
50
|
+
* A node with authored `ports` remains authoritative. When any referenced
|
|
51
|
+
* implicit port resolves, the symbol's complete port set is written so the
|
|
52
|
+
* node keeps every handle when a GraphIR consumer reads it.
|
|
53
|
+
*/
|
|
54
|
+
export function materializeReferencedPorts(graph, resolvePorts) {
|
|
55
|
+
if (!resolvePorts)
|
|
56
|
+
return { graph, changes: [] };
|
|
57
|
+
const referenced = referencedPorts(graph);
|
|
58
|
+
const changes = [];
|
|
59
|
+
const visit = (nodes, path) => nodes.map((node, index) => {
|
|
60
|
+
const nodePath = `${path}/${index}`;
|
|
61
|
+
const children = node.children ? visit(node.children, `${nodePath}/children`) : node.children;
|
|
62
|
+
if (node.ports !== undefined)
|
|
63
|
+
return children === node.children ? node : { ...node, children };
|
|
64
|
+
const required = referenced.get(node.id);
|
|
65
|
+
if (!required?.size)
|
|
66
|
+
return children === node.children ? node : { ...node, children };
|
|
67
|
+
const resolved = resolvePorts(node, graph);
|
|
68
|
+
if (!resolved?.length || ![...required].some((portId) => resolved.some((port) => port.id === portId))) {
|
|
69
|
+
return children === node.children ? node : { ...node, children };
|
|
70
|
+
}
|
|
71
|
+
changes.push({
|
|
72
|
+
code: 'MATERIALIZE_SYMBOL_PORTS',
|
|
73
|
+
path: `${nodePath}/ports`,
|
|
74
|
+
message: `Materialized ${resolved.length} notation-symbol ports for node "${node.id}"`,
|
|
75
|
+
});
|
|
76
|
+
return { ...node, ...(children ? { children } : {}), ports: resolved.map(clonePort) };
|
|
77
|
+
});
|
|
78
|
+
const nodes = visit(graph.nodes, '/nodes');
|
|
79
|
+
return changes.length > 0 ? { graph: { ...graph, nodes }, changes } : { graph, changes };
|
|
80
|
+
}
|
|
81
|
+
/** Remove a persisted symbol-port set from the editor's source projection. */
|
|
82
|
+
export function stripResolvedPorts(graph, resolvePorts) {
|
|
83
|
+
if (!resolvePorts)
|
|
84
|
+
return { graph, changes: [] };
|
|
85
|
+
const changes = [];
|
|
86
|
+
const visit = (nodes, path) => nodes.map((node, index) => {
|
|
87
|
+
const nodePath = `${path}/${index}`;
|
|
88
|
+
const children = node.children ? visit(node.children, `${nodePath}/children`) : node.children;
|
|
89
|
+
const resolved = node.ports === undefined ? undefined : resolvePorts(node, graph);
|
|
90
|
+
if (node.ports === undefined || !resolved || !samePortSet(node.ports, resolved)) {
|
|
91
|
+
return children === node.children ? node : { ...node, children };
|
|
92
|
+
}
|
|
93
|
+
const withoutPorts = { ...node };
|
|
94
|
+
delete withoutPorts.ports;
|
|
95
|
+
changes.push({
|
|
96
|
+
code: 'STRIP_SYMBOL_PORTS',
|
|
97
|
+
path: `${nodePath}/ports`,
|
|
98
|
+
message: `Restored ${resolved.length} notation-symbol ports for node "${node.id}" to implicit form`,
|
|
99
|
+
});
|
|
100
|
+
return { ...withoutPorts, ...(children ? { children } : {}) };
|
|
101
|
+
});
|
|
102
|
+
const nodes = visit(graph.nodes, '/nodes');
|
|
103
|
+
return changes.length > 0 ? { graph: { ...graph, nodes }, changes } : { graph, changes };
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=portMaterialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portMaterialization.js","sourceRoot":"","sources":["../../src/file/portMaterialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/file/serialize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAiC,MAAM,aAAa,CAAC;AACvF,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAKjB,MAAM,aAAa,CAAC;AAwBrB;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAyC5E;AAyED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,EAAE,gBAAgB,EACzB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,GACnF,aAAa,
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/file/serialize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAiC,MAAM,aAAa,CAAC;AACvF,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAKjB,MAAM,aAAa,CAAC;AAwBrB;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAyC5E;AAyED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,EAAE,gBAAgB,EACzB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,GACnF,aAAa,CAwHf"}
|
package/dist/file/serialize.js
CHANGED
|
@@ -58,7 +58,7 @@ export function createDocument(options) {
|
|
|
58
58
|
dslType: options.content?.dslType,
|
|
59
59
|
text: options.content?.text,
|
|
60
60
|
graphIR: options.content?.graphIR ?? {
|
|
61
|
-
version: '
|
|
61
|
+
version: '3.0.0',
|
|
62
62
|
id: 'untitled',
|
|
63
63
|
nodes: [],
|
|
64
64
|
edges: [],
|
|
@@ -147,6 +147,10 @@ function extractNodePositions(nodes) {
|
|
|
147
147
|
* @returns CoralDocument
|
|
148
148
|
*/
|
|
149
149
|
export function serialize(nodes, edges, options, waypointMap) {
|
|
150
|
+
if (options.graphIR && options.graphIR.version !== '3.0.0') {
|
|
151
|
+
throw new Error(`Coral serialization requires GraphIR 3.0.0; migrate GraphIR ${String(options.graphIR.version)} ` +
|
|
152
|
+
'through the named migration APIs before saving.');
|
|
153
|
+
}
|
|
150
154
|
const now = new Date().toISOString();
|
|
151
155
|
const flatNodes = nodes.map(nodeToGraphNode);
|
|
152
156
|
const nodeIds = new Set(flatNodes.map((node) => node.id));
|
|
@@ -170,7 +174,7 @@ export function serialize(nodes, edges, options, waypointMap) {
|
|
|
170
174
|
};
|
|
171
175
|
const graphIR = {
|
|
172
176
|
...options.graphIR,
|
|
173
|
-
version: '
|
|
177
|
+
version: options.graphIR?.version ?? '3.0.0',
|
|
174
178
|
id: options.graphIR?.id ?? options.name.toLowerCase().replace(/\s+/g, '-'),
|
|
175
179
|
name: options.graphIR?.name ?? options.name,
|
|
176
180
|
// A supplied canonical graph owns authored Exact positions. React Flow
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/file/serialize.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/file/serialize.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,18 +6,18 @@ export { LayoutControls, type LayoutControlsProps } from './editor/index.js';
|
|
|
6
6
|
export { FileControls, type FileControlsProps } from './editor/index.js';
|
|
7
7
|
export { TextEditor, SplitEditor, useBidirectionalSync, type TextEditorProps, type SplitEditorProps, type SyntaxLanguage, type EditorTheme, type EditorSourcePosition, type EditorSourceRange, type EditorDiagnostic, type EditorDecoration, type EditorAnalysisOwner, type SplitLayout, type PrimaryPane, type SyncState, type SyncActions, type SyncOptions, type ParseFunction, type PrintFunction, type SyncParseResult, type SyncParseError, type ParseResult, type ParseError, type ChangeSource, } from './text-editor/index.js';
|
|
8
8
|
export { convertGraphToFlow, convertNode, convertEdge, flattenNodes, convertFlowToGraphNodes, convertFlowToGraphEdges, } from './editor/index.js';
|
|
9
|
-
export { ServiceNode, DatabaseNode, ExternalApiNode, ActorNode, ModuleNode, GroupNode, nodeTypes, ShapeRenderer, SymbolNode, type ShapeRendererProps, type SymbolNodeData, DiagramFontFaces, type DiagramFontFacesProps, EditProvider, useEditContext, useIsEditing, type EditProviderProps, type OnLabelEditCallback, } from './components/index.js';
|
|
9
|
+
export { ServiceNode, DatabaseNode, ExternalApiNode, ActorNode, ModuleNode, GroupNode, nodeTypes, ShapeRenderer, SymbolNode, type ShapeRendererProps, type SymbolNodeData, SequenceDiagram, type SequenceDiagramProps, type SequenceSelection, type SequenceSelectionKind, DiagramFontFaces, type DiagramFontFacesProps, EditProvider, useEditContext, useIsEditing, type EditProviderProps, type OnLabelEditCallback, } from './components/index.js';
|
|
10
10
|
export { layoutGraph, layoutFlowNodes, layoutFlowNodesWithEdges, extractEdgeSections, getElk, type LayoutFlowResult, type ElkEdgeRouting, } from './layout/index.js';
|
|
11
11
|
export { useLayoutHistory, type PositionSnapshot, type UndoRedoResult, type UseLayoutHistoryOptions, type UseLayoutHistoryResult, } from './layout/index.js';
|
|
12
12
|
export { useAxisConstrain, type UseAxisConstrainResult, } from './layout/index.js';
|
|
13
13
|
export { diffGraphs, resolvePositions, incrementalLayout, } from './layout/index.js';
|
|
14
14
|
export { useDiagramState, type ParsedGraph, type DiagramNode, type DiagramEdge, type UseDiagramStateOptions, type UseDiagramStateResult, } from './layout/index.js';
|
|
15
15
|
export { shapeRegistry, getShape, getAllShapes, } from '@coral-viz/render';
|
|
16
|
-
export { symbolRegistry, getSymbol, getSymbolsByTag, getSymbolsForNotation, getAllSymbols, getAllLibraries, flowchartSymbols, bpmnSymbols, erdSymbols, codeSymbols, architectureSymbols, aimlSymbols, dataEngineeringSymbols, sketchSymbols, } from '@coral-viz/render';
|
|
17
|
-
export { notationRegistry, getNotation, getAllNotations, validateDiagram, flowchartNotation, bpmnNotation, erdNotation, codeNotation, architectureNotation, aimlNotation, dataEngineeringNotation, sketchNotation, } from '@coral-viz/render';
|
|
18
|
-
export { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, createDocument, serialize, deserialize, validateDocument, migrateDocument, needsMigration, getMigrationSteps, type CoralDocument, type DocumentMetadata, type DocumentContent, type DocumentSettings, type LayoutDirection, type LayoutSettings, type LayoutSpacing, type ViewState, type NodePosition, type DslType, type CreateDocumentOptions, type SerializeOptions, type DeserializeResult, type ValidationResult as FileValidationResult, type FontSettings, type DiagramFontSettings, type FontFamilyPreset, type FontSizePreset, DEFAULT_FONT_SETTINGS, DEFAULT_DIAGRAM_FONT_SETTINGS, FONT_FAMILY_PRESETS, FONT_SIZE_PRESETS, getFontFamilyPreset, getFontSizePreset, normalizeDiagramFontSettings, type EdgeRouting, type LayoutAlgorithm, type LayoutPresetId, type LayoutPreset, type UserPreferences, type LLMProviderPreference, type SpeechRecognitionMode, type SettingsPanelState, DEFAULT_USER_PREFERENCES, normalizeLlmMaxRetries, DEFAULT_LAYOUT_SETTINGS, LAYOUT_PRESETS, getLayoutPreset, resolveNotationLayout, type LayoutProfileOverrides, type LayoutProfileDiagnostic, type ResolvedLayoutProfile, } from './file/index.js';
|
|
16
|
+
export { symbolRegistry, getSymbol, getSymbolsByTag, getSymbolsForNotation, getAllSymbols, getAllLibraries, flowchartSymbols, bpmnSymbols, erdSymbols, codeSymbols, architectureSymbols, aimlSymbols, dataEngineeringSymbols, sketchSymbols, umlSymbols, } from '@coral-viz/render';
|
|
17
|
+
export { notationRegistry, getNotation, getAllNotations, validateDiagram, flowchartNotation, bpmnNotation, erdNotation, codeNotation, architectureNotation, aimlNotation, dataEngineeringNotation, sketchNotation, umlClassNotation, } from '@coral-viz/render';
|
|
18
|
+
export { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, createDocument, serialize, deserialize, validateDocument, migrateDocument, migrateDocumentWithDiagnostics, type DocumentMigrationResult, type DocumentMigrationOptions, materializeReferencedPorts, stripResolvedPorts, type GraphPort, type PortResolver, type PortMaterializationResult, needsMigration, getMigrationSteps, type CoralDocument, type DocumentMetadata, type DocumentContent, type DocumentSettings, type LayoutDirection, type LayoutSettings, type LayoutSpacing, type ViewState, type NodePosition, type DslType, type CreateDocumentOptions, type SerializeOptions, type DeserializeResult, type ValidationResult as FileValidationResult, type FontSettings, type DiagramFontSettings, type FontFamilyPreset, type FontSizePreset, DEFAULT_FONT_SETTINGS, DEFAULT_DIAGRAM_FONT_SETTINGS, FONT_FAMILY_PRESETS, FONT_SIZE_PRESETS, getFontFamilyPreset, getFontSizePreset, normalizeDiagramFontSettings, type EdgeRouting, type LayoutAlgorithm, type LayoutPresetId, type LayoutPreset, type UserPreferences, type LLMProviderPreference, type SpeechRecognitionMode, type SettingsPanelState, DEFAULT_USER_PREFERENCES, normalizeLlmMaxRetries, DEFAULT_LAYOUT_SETTINGS, LAYOUT_PRESETS, getLayoutPreset, resolveNotationLayout, type LayoutProfileOverrides, type LayoutProfileDiagnostic, type ResolvedLayoutProfile, } from './file/index.js';
|
|
19
19
|
export { useSettings, type UseSettingsOptions, type UseSettingsResult, LayoutSettingsForm, type LayoutSettingsFormProps, SettingsPanel, type SettingsPanelProps, type SettingsPanelTheme, FontSettingsForm, type FontSettingsFormProps, } from './settings/index.js';
|
|
20
|
-
export { validateConnection, checkPortDirection, checkMaxConnections, getEdgeCompatibility, useEdgeCompatibility, IncompatibilityTooltip, CompatibilityEdge, getEdgeStyleForStatus, buildRoutedPath, type UseEdgeCompatibilityOptions, type UseEdgeCompatibilityResult, type IncompatibilityTooltipProps, type CompatibilityEdgeProps, type CompatibilityEdgeData, } from './compatibility/index.js';
|
|
20
|
+
export { validateConnection, checkPortDirection, checkMaxConnections, getEdgeCompatibility, useEdgeCompatibility, IncompatibilityTooltip, CompatibilityEdge, canvasSelfLoop, resolveNodeSelfLoops, getEdgeStyleForStatus, buildRoutedPath, EndpointMarkerDefinitions, type EndpointMarkerDefinitionsProps, type UseEdgeCompatibilityOptions, type UseEdgeCompatibilityResult, type IncompatibilityTooltipProps, type CompatibilityEdgeProps, type CompatibilityEdgeData, } from './compatibility/index.js';
|
|
21
21
|
export { NodePropertiesPanel, type NodePropertiesPanelProps, type PropertyChange, detectPropertyType, isEditableProperty, parsePropertyValue, extractPropertyFields, type PropertyType, type PropertyValue, type PropertyFieldMeta, } from './properties/index.js';
|
|
22
22
|
export { createWaypoint, addWaypointToEdge, removeWaypointFromEdge, moveWaypoint, insertWaypointAtPosition, routeWithWaypoints, useWaypointManager, type EdgeWaypoint, type RoutedPath, type UseWaypointManagerOptions, type UseWaypointManagerResult, } from './waypoints/index.js';
|
|
23
23
|
export type { GraphIR, GraphNode, GraphEdge, Position, Dimensions, EdgeStyle, LayoutOptions, CoralNode, CoralEdge, CoralNodeData, CoralEdgeData, FontAwareCoralNodeData, FontAwareCoralEdgeData, CoralNodeViewMetadata, CoralEdgeViewMetadata, DimensionSource, CoralNodeProps, EditorState, EditorCallbacks, EditorConfig, PortAnchor, ShapeParameter, ShapeDefinition, SymbolPort, SymbolVariant, SymbolDefinition, SymbolLibrary, NotationEdgeStyle, ConnectionConstraints, ConnectionRule, ValidationRule, FlowPoint, NotationValidation, NotationDefinition, ShapeRegistry, SymbolRegistry, NotationRegistry, ValidationResult, PositionSource, PositionedNode, GraphDiff, PositionResolution, DiffableNode, DiffableGraph, IncompatibilityReason, ConnectionValidation, ConnectionInfo, NodeConnectionInfo, EdgeCompatibilityStatus, EdgeCompatibility, HandleDragState, ConnectionValidationContext, } from './types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EACL,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EAET,aAAa,EACb,UAAU,EACV,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,qBAAqB,EAE1B,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,MAAM,EACN,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,QAAQ,EACR,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,cAAc,EACd,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ export { convertGraphToFlow, convertNode, convertEdge, flattenNodes, convertFlow
|
|
|
12
12
|
// Components
|
|
13
13
|
export { ServiceNode, DatabaseNode, ExternalApiNode, ActorNode, ModuleNode, GroupNode, nodeTypes,
|
|
14
14
|
// New symbol-aware components
|
|
15
|
-
ShapeRenderer, SymbolNode, DiagramFontFaces,
|
|
15
|
+
ShapeRenderer, SymbolNode, SequenceDiagram, DiagramFontFaces,
|
|
16
16
|
// Edit context for inline label editing
|
|
17
17
|
EditProvider, useEditContext, useIsEditing, } from './components/index.js';
|
|
18
18
|
// Layout
|
|
@@ -25,14 +25,14 @@ export { diffGraphs, resolvePositions, incrementalLayout, } from './layout/index
|
|
|
25
25
|
export { useDiagramState, } from './layout/index.js';
|
|
26
26
|
// Shapes, Symbols, Notations (Three-Layer Architecture)
|
|
27
27
|
export { shapeRegistry, getShape, getAllShapes, } from '@coral-viz/render';
|
|
28
|
-
export { symbolRegistry, getSymbol, getSymbolsByTag, getSymbolsForNotation, getAllSymbols, getAllLibraries, flowchartSymbols, bpmnSymbols, erdSymbols, codeSymbols, architectureSymbols, aimlSymbols, dataEngineeringSymbols, sketchSymbols, } from '@coral-viz/render';
|
|
29
|
-
export { notationRegistry, getNotation, getAllNotations, validateDiagram, flowchartNotation, bpmnNotation, erdNotation, codeNotation, architectureNotation, aimlNotation, dataEngineeringNotation, sketchNotation, } from '@coral-viz/render';
|
|
28
|
+
export { symbolRegistry, getSymbol, getSymbolsByTag, getSymbolsForNotation, getAllSymbols, getAllLibraries, flowchartSymbols, bpmnSymbols, erdSymbols, codeSymbols, architectureSymbols, aimlSymbols, dataEngineeringSymbols, sketchSymbols, umlSymbols, } from '@coral-viz/render';
|
|
29
|
+
export { notationRegistry, getNotation, getAllNotations, validateDiagram, flowchartNotation, bpmnNotation, erdNotation, codeNotation, architectureNotation, aimlNotation, dataEngineeringNotation, sketchNotation, umlClassNotation, } from '@coral-viz/render';
|
|
30
30
|
// File Format (CORAL-REQ-008)
|
|
31
|
-
export { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, createDocument, serialize, deserialize, validateDocument, migrateDocument, needsMigration, getMigrationSteps, DEFAULT_FONT_SETTINGS, DEFAULT_DIAGRAM_FONT_SETTINGS, FONT_FAMILY_PRESETS, FONT_SIZE_PRESETS, getFontFamilyPreset, getFontSizePreset, normalizeDiagramFontSettings, DEFAULT_USER_PREFERENCES, normalizeLlmMaxRetries, DEFAULT_LAYOUT_SETTINGS, LAYOUT_PRESETS, getLayoutPreset, resolveNotationLayout, } from './file/index.js';
|
|
31
|
+
export { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, createDocument, serialize, deserialize, validateDocument, migrateDocument, migrateDocumentWithDiagnostics, materializeReferencedPorts, stripResolvedPorts, needsMigration, getMigrationSteps, DEFAULT_FONT_SETTINGS, DEFAULT_DIAGRAM_FONT_SETTINGS, FONT_FAMILY_PRESETS, FONT_SIZE_PRESETS, getFontFamilyPreset, getFontSizePreset, normalizeDiagramFontSettings, DEFAULT_USER_PREFERENCES, normalizeLlmMaxRetries, DEFAULT_LAYOUT_SETTINGS, LAYOUT_PRESETS, getLayoutPreset, resolveNotationLayout, } from './file/index.js';
|
|
32
32
|
// Settings (CORAL-REQ-009)
|
|
33
33
|
export { useSettings, LayoutSettingsForm, SettingsPanel, FontSettingsForm, } from './settings/index.js';
|
|
34
34
|
// Compatibility (CORAL-REQ-010)
|
|
35
|
-
export { validateConnection, checkPortDirection, checkMaxConnections, getEdgeCompatibility, useEdgeCompatibility, IncompatibilityTooltip, CompatibilityEdge, getEdgeStyleForStatus, buildRoutedPath, } from './compatibility/index.js';
|
|
35
|
+
export { validateConnection, checkPortDirection, checkMaxConnections, getEdgeCompatibility, useEdgeCompatibility, IncompatibilityTooltip, CompatibilityEdge, canvasSelfLoop, resolveNodeSelfLoops, getEdgeStyleForStatus, buildRoutedPath, EndpointMarkerDefinitions, } from './compatibility/index.js';
|
|
36
36
|
// Properties Panel
|
|
37
37
|
export { NodePropertiesPanel,
|
|
38
38
|
// Utilities
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc;AACd,OAAO,EAAE,WAAW,EAAE,UAAU,EAAyB,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,cAAc,EAA4B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AAEzE,cAAc;AACd,OAAO,EACL,UAAU,EACV,WAAW,EACX,oBAAoB,GAuBrB,MAAM,wBAAwB,CAAC;AAEhC,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,aAAa;AACb,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS;AACT,8BAA8B;AAC9B,aAAa,EACb,UAAU,EAGV,gBAAgB;AAEhB,wCAAwC;AACxC,YAAY,EACZ,cAAc,EACd,YAAY,GAGb,MAAM,uBAAuB,CAAC;AAE/B,SAAS;AACT,OAAO,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,MAAM,GAGP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,GAKjB,MAAM,mBAAmB,CAAC;AAE3B,+BAA+B;AAC/B,OAAO,EACL,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAE3B,qCAAqC;AACrC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,GAMhB,MAAM,mBAAmB,CAAC;AAE3B,wDAAwD;AACxD,OAAO,EACL,aAAa,EACb,QAAQ,EACR,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,cAAc,EACd,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/layout/elk.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/** Compatibility adapters over the shared headless ELK owner. */
|
|
2
2
|
import type { ElkExtendedEdge } from 'elkjs';
|
|
3
|
+
import { type LayoutEdgeLabel, type LayoutLabelBox } from '@coral-viz/render/layout';
|
|
4
|
+
import { type SelfLoopSlot } from '@coral-viz/render';
|
|
3
5
|
import type { CoralEdge, CoralNode, GraphIR, LayoutOptions, Position, SizingMode } from '../types.js';
|
|
4
6
|
declare const elk: import("elkjs").ELK;
|
|
5
7
|
export declare function layoutGraph(graph: GraphIR): Promise<GraphIR>;
|
|
@@ -7,6 +9,8 @@ export interface LayoutFlowOptions extends LayoutOptions {
|
|
|
7
9
|
sizingMode?: SizingMode;
|
|
8
10
|
fontSize?: number;
|
|
9
11
|
fontFamily?: string;
|
|
12
|
+
/** Edge-label sizes by edge id, from `measureEdgeLabel`; the layout reserves their space. */
|
|
13
|
+
edgeLabels?: Readonly<Record<string, readonly LayoutEdgeLabel[]>>;
|
|
10
14
|
}
|
|
11
15
|
export declare function layoutFlowNodes(nodes: CoralNode[], edges: CoralEdge[], options?: LayoutFlowOptions): Promise<CoralNode[]>;
|
|
12
16
|
export interface ElkEdgeRouting {
|
|
@@ -16,6 +20,10 @@ export interface ElkEdgeRouting {
|
|
|
16
20
|
bendPoints: Position[];
|
|
17
21
|
sourceId: string;
|
|
18
22
|
targetId: string;
|
|
23
|
+
/** Reserved edge-label boxes, valid only while this route is. */
|
|
24
|
+
labels?: LayoutLabelBox[];
|
|
25
|
+
/** A self-loop's slot relative to its node, valid wherever the node moves (027-R10). */
|
|
26
|
+
selfLoopSlot?: SelfLoopSlot;
|
|
19
27
|
}
|
|
20
28
|
export interface LayoutFlowResult {
|
|
21
29
|
nodes: CoralNode[];
|
package/dist/layout/elk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elk.d.ts","sourceRoot":"","sources":["../../src/layout/elk.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"elk.d.ts","sourceRoot":"","sources":["../../src/layout/elk.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,cAAc,EAIpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EACV,SAAS,EAAE,SAAS,EAAE,OAAO,EAAa,aAAa,EACvD,QAAQ,EAAE,UAAU,EACrB,MAAM,aAAa,CAAC;AAGrB,QAAA,MAAM,GAAG,EAAsC,OAAO,OAAO,EAAE,GAAG,CAAC;AA6BnE,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CASlE;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CAAC,CAAC;CACnE;AAmED,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAClE,OAAO,CAAC,SAAS,EAAE,CAAC,CAItB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,wFAAwF;IACxF,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC1C;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EAAE,GAAG,SAAS,GACtC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAe7B;AAsBD,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAClE,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED,wBAAgB,MAAM,IAAI,OAAO,GAAG,CAEnC"}
|
package/dist/layout/elk.js
CHANGED
|
@@ -90,7 +90,13 @@ async function layoutFlow(nodes, edges, options) {
|
|
|
90
90
|
defaults: { algorithm: 'layered', direction: 'DOWN' },
|
|
91
91
|
options: graphOptions(options),
|
|
92
92
|
nodes: flowHierarchy(sizedNodes),
|
|
93
|
-
edges: edges.map((edge) =>
|
|
93
|
+
edges: edges.map((edge) => {
|
|
94
|
+
const labels = options?.edgeLabels?.[edge.id];
|
|
95
|
+
return {
|
|
96
|
+
id: edge.id, source: edge.source, target: edge.target,
|
|
97
|
+
...(labels?.length ? { labels: labels.map((label) => ({ width: label.width, height: label.height })) } : {}),
|
|
98
|
+
};
|
|
99
|
+
}),
|
|
94
100
|
});
|
|
95
101
|
return { sizedNodes, result };
|
|
96
102
|
}
|
|
@@ -131,6 +137,7 @@ function routingMap(result, edges) {
|
|
|
131
137
|
bendPoints: section.bendPoints,
|
|
132
138
|
sourceId: original.source,
|
|
133
139
|
targetId: original.target,
|
|
140
|
+
...(edge.labels ? { labels: edge.labels.map((box) => ({ ...box })) } : {}),
|
|
134
141
|
});
|
|
135
142
|
}
|
|
136
143
|
return routing;
|