@coral-viz/viz 0.2.3 → 0.2.4
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 +4 -0
- package/dist/compatibility/CompatibilityEdge.d.ts +9 -11
- package/dist/compatibility/CompatibilityEdge.d.ts.map +1 -1
- package/dist/compatibility/CompatibilityEdge.js +136 -27
- package/dist/compatibility/CompatibilityEdge.js.map +1 -1
- package/dist/components/DiagramFontFaces.d.ts +8 -0
- package/dist/components/DiagramFontFaces.d.ts.map +1 -0
- package/dist/components/DiagramFontFaces.js +18 -0
- package/dist/components/DiagramFontFaces.js.map +1 -0
- package/dist/components/SymbolNode.d.ts.map +1 -1
- package/dist/components/SymbolNode.js +46 -11
- 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.js +1 -1
- package/dist/editor/CoralEditor.js.map +1 -1
- package/dist/editor/converter.d.ts +1 -1
- package/dist/editor/converter.d.ts.map +1 -1
- package/dist/editor/converter.js +40 -19
- package/dist/editor/converter.js.map +1 -1
- package/dist/editor/dimensions.d.ts +7 -0
- package/dist/editor/dimensions.d.ts.map +1 -0
- package/dist/editor/dimensions.js +26 -0
- package/dist/editor/dimensions.js.map +1 -0
- package/dist/file/deserialize.d.ts.map +1 -1
- package/dist/file/deserialize.js +8 -13
- 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/layoutProfile.d.ts +11 -0
- package/dist/file/layoutProfile.d.ts.map +1 -0
- package/dist/file/layoutProfile.js +89 -0
- package/dist/file/layoutProfile.js.map +1 -0
- package/dist/file/schema.d.ts +27 -0
- package/dist/file/schema.d.ts.map +1 -1
- package/dist/file/schema.js +70 -0
- package/dist/file/schema.js.map +1 -1
- package/dist/file/serialize.d.ts.map +1 -1
- package/dist/file/serialize.js +23 -10
- package/dist/file/serialize.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/layout/elk.d.ts +2 -51
- package/dist/layout/elk.d.ts.map +1 -1
- package/dist/layout/elk.js +125 -329
- package/dist/layout/elk.js.map +1 -1
- package/dist/layout/nodeSizing.d.ts +4 -61
- package/dist/layout/nodeSizing.d.ts.map +1 -1
- package/dist/layout/nodeSizing.js +4 -315
- package/dist/layout/nodeSizing.js.map +1 -1
- package/dist/layout/positionStability.d.ts.map +1 -1
- package/dist/layout/positionStability.js +21 -26
- package/dist/layout/positionStability.js.map +1 -1
- package/dist/layout/useAxisConstrain.d.ts.map +1 -1
- package/dist/layout/useAxisConstrain.js +20 -20
- package/dist/layout/useAxisConstrain.js.map +1 -1
- package/dist/layout/useDiagramState.d.ts +2 -1
- package/dist/layout/useDiagramState.d.ts.map +1 -1
- package/dist/layout/useLayoutHistory.d.ts.map +1 -1
- package/dist/layout/useLayoutHistory.js +67 -100
- package/dist/layout/useLayoutHistory.js.map +1 -1
- package/dist/settings/FontSettingsForm.d.ts.map +1 -1
- package/dist/settings/FontSettingsForm.js +9 -4
- package/dist/settings/FontSettingsForm.js.map +1 -1
- package/dist/settings/LayoutSettingsForm.d.ts +3 -1
- package/dist/settings/LayoutSettingsForm.d.ts.map +1 -1
- package/dist/settings/LayoutSettingsForm.js +43 -20
- package/dist/settings/LayoutSettingsForm.js.map +1 -1
- package/dist/settings/SettingsPanel.d.ts +10 -2
- package/dist/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/settings/SettingsPanel.js +45 -3
- package/dist/settings/SettingsPanel.js.map +1 -1
- package/dist/settings/useSettings.d.ts +8 -2
- package/dist/settings/useSettings.d.ts.map +1 -1
- package/dist/settings/useSettings.js +20 -5
- package/dist/settings/useSettings.js.map +1 -1
- package/dist/text-editor/SplitEditor.d.ts +5 -1
- package/dist/text-editor/SplitEditor.d.ts.map +1 -1
- package/dist/text-editor/SplitEditor.js +5 -12
- package/dist/text-editor/SplitEditor.js.map +1 -1
- package/dist/text-editor/TextEditor.d.ts +44 -33
- package/dist/text-editor/TextEditor.d.ts.map +1 -1
- package/dist/text-editor/TextEditor.js +174 -168
- package/dist/text-editor/TextEditor.js.map +1 -1
- package/dist/text-editor/hooks/useBidirectionalSync.d.ts +15 -0
- package/dist/text-editor/hooks/useBidirectionalSync.d.ts.map +1 -1
- package/dist/text-editor/hooks/useBidirectionalSync.js +9 -22
- package/dist/text-editor/hooks/useBidirectionalSync.js.map +1 -1
- package/dist/text-editor/index.d.ts +2 -2
- package/dist/text-editor/index.d.ts.map +1 -1
- package/dist/text-editor/index.js +1 -1
- package/dist/text-editor/index.js.map +1 -1
- package/dist/types.d.ts +22 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/dist/viewMetadata.d.ts +4 -0
- package/dist/viewMetadata.d.ts.map +1 -0
- package/dist/viewMetadata.js +63 -0
- package/dist/viewMetadata.js.map +1 -0
- package/dist/waypoints/useWaypointManager.d.ts.map +1 -1
- package/dist/waypoints/useWaypointManager.js +60 -84
- package/dist/waypoints/useWaypointManager.js.map +1 -1
- package/package.json +4 -3
|
@@ -33,5 +33,5 @@ export declare function convertFlowToGraphNodes(flowNodes: CoralNode[], original
|
|
|
33
33
|
/**
|
|
34
34
|
* Convert React Flow edges back to Graph-IR edges
|
|
35
35
|
*/
|
|
36
|
-
export declare function convertFlowToGraphEdges(flowEdges: CoralEdge[]): GraphEdge[];
|
|
36
|
+
export declare function convertFlowToGraphEdges(flowEdges: CoralEdge[], originalEdges?: GraphEdge[]): GraphEdge[];
|
|
37
37
|
//# sourceMappingURL=converter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/editor/converter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EAGV,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/editor/converter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EAGV,MAAM,aAAa,CAAC;AAqErB;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,SAAS,CAgDX;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAmB5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CA2CtD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG;IAClD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB,CAKA;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,SAAS,EAAE,GACzB,SAAS,EAAE,CAkEb;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,GAAE,SAAS,EAAO,GAC9B,SAAS,EAAE,CAyCb"}
|
package/dist/editor/converter.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Transforms Graph-IR nodes and edges to React Flow format.
|
|
5
5
|
*/
|
|
6
|
+
import { CORAL_NODE_VIEW_METADATA } from '../types.js';
|
|
7
|
+
import { dimensionsForGraphProjection } from './dimensions.js';
|
|
6
8
|
/**
|
|
7
9
|
* Default node dimensions by type
|
|
8
10
|
*/
|
|
@@ -14,6 +16,14 @@ const DEFAULT_DIMENSIONS = {
|
|
|
14
16
|
module: { width: 120, height: 40 },
|
|
15
17
|
group: { width: 200, height: 150 },
|
|
16
18
|
};
|
|
19
|
+
function canonicalNodePayload(node) {
|
|
20
|
+
const { id: _id, type: _type, label: _label, description: _description, properties: _properties, position: _position, pinned: _pinned, children: _children, ...canonical } = node;
|
|
21
|
+
return canonical;
|
|
22
|
+
}
|
|
23
|
+
function canonicalEdgePayload(edge) {
|
|
24
|
+
const { id: _id, source: _source, target: _target, sourcePort: _sourcePort, targetPort: _targetPort, type: _type, label: _label, properties: _properties, routingPoints: _routingPoints, ...canonical } = edge;
|
|
25
|
+
return canonical;
|
|
26
|
+
}
|
|
17
27
|
/**
|
|
18
28
|
* Map Graph-IR node type to React Flow node type
|
|
19
29
|
*/
|
|
@@ -51,15 +61,10 @@ export function convertNode(node, index, parentId) {
|
|
|
51
61
|
variant: node.variant,
|
|
52
62
|
isGroup: hasChildren || node.type === 'group',
|
|
53
63
|
childCount: node.children?.length,
|
|
54
|
-
canonical:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
...(node.ports !== undefined ? { ports: node.ports } : {}),
|
|
59
|
-
...(node.dimensions !== undefined ? { dimensions: node.dimensions } : {}),
|
|
60
|
-
...(node.layoutOptions !== undefined ? { layoutOptions: node.layoutOptions } : {}),
|
|
61
|
-
...(node.sourceInfo !== undefined ? { sourceInfo: node.sourceInfo } : {}),
|
|
62
|
-
},
|
|
64
|
+
canonical: canonicalNodePayload(node),
|
|
65
|
+
...(node.dimensions !== undefined
|
|
66
|
+
? { [CORAL_NODE_VIEW_METADATA]: { dimensionSource: 'graph' } }
|
|
67
|
+
: {}),
|
|
63
68
|
};
|
|
64
69
|
const flowNode = {
|
|
65
70
|
id: node.id,
|
|
@@ -118,10 +123,7 @@ export function convertEdge(edge) {
|
|
|
118
123
|
properties: edge.properties,
|
|
119
124
|
lineStyle: edge.style?.lineStyle,
|
|
120
125
|
routingPoints: edge.routingPoints,
|
|
121
|
-
canonical:
|
|
122
|
-
...(edge.style !== undefined ? { style: edge.style } : {}),
|
|
123
|
-
...(edge.sourceInfo !== undefined ? { sourceInfo: edge.sourceInfo } : {}),
|
|
124
|
-
},
|
|
126
|
+
canonical: canonicalEdgePayload(edge),
|
|
125
127
|
};
|
|
126
128
|
const flowEdge = {
|
|
127
129
|
id: edge.id,
|
|
@@ -185,6 +187,7 @@ export function convertFlowToGraphNodes(flowNodes, originalNodes) {
|
|
|
185
187
|
const original = originalMap.get(flowNode.id);
|
|
186
188
|
const canonical = flowNode.data.canonical;
|
|
187
189
|
const graphNode = {
|
|
190
|
+
...original,
|
|
188
191
|
...canonical,
|
|
189
192
|
id: flowNode.id,
|
|
190
193
|
type: flowNode.data.nodeType,
|
|
@@ -193,10 +196,17 @@ export function convertFlowToGraphNodes(flowNodes, originalNodes) {
|
|
|
193
196
|
properties: flowNode.data.properties,
|
|
194
197
|
position: flowNode.position,
|
|
195
198
|
pinned: flowNode.data.pinned ?? original?.pinned,
|
|
196
|
-
dimensions: (typeof flowNode.width === 'number' && typeof flowNode.height === 'number')
|
|
197
|
-
? { width: flowNode.width, height: flowNode.height }
|
|
198
|
-
: canonical?.dimensions,
|
|
199
199
|
};
|
|
200
|
+
const dimensions = dimensionsForGraphProjection(flowNode);
|
|
201
|
+
if (dimensions)
|
|
202
|
+
graphNode.dimensions = dimensions;
|
|
203
|
+
else
|
|
204
|
+
delete graphNode.dimensions;
|
|
205
|
+
// The current flat React Flow topology owns hierarchy. Starting from the
|
|
206
|
+
// original preserves extensions, but stale parent/children links must not
|
|
207
|
+
// resurrect nodes that were detached or deleted in the visual editor.
|
|
208
|
+
delete graphNode.parent;
|
|
209
|
+
delete graphNode.children;
|
|
200
210
|
if (flowNode.parentId) {
|
|
201
211
|
graphNode.parent = flowNode.parentId;
|
|
202
212
|
if (!childMap.has(flowNode.parentId)) {
|
|
@@ -224,10 +234,13 @@ export function convertFlowToGraphNodes(flowNodes, originalNodes) {
|
|
|
224
234
|
/**
|
|
225
235
|
* Convert React Flow edges back to Graph-IR edges
|
|
226
236
|
*/
|
|
227
|
-
export function convertFlowToGraphEdges(flowEdges) {
|
|
237
|
+
export function convertFlowToGraphEdges(flowEdges, originalEdges = []) {
|
|
238
|
+
const originalMap = new Map(originalEdges.map((edge) => [edge.id, edge]));
|
|
228
239
|
return flowEdges.map(flowEdge => {
|
|
240
|
+
const original = originalMap.get(flowEdge.id);
|
|
229
241
|
const canonical = flowEdge.data?.canonical;
|
|
230
242
|
const graphEdge = {
|
|
243
|
+
...original,
|
|
231
244
|
...canonical,
|
|
232
245
|
id: flowEdge.id,
|
|
233
246
|
source: flowEdge.source,
|
|
@@ -237,6 +250,10 @@ export function convertFlowToGraphEdges(flowEdges) {
|
|
|
237
250
|
properties: flowEdge.data?.properties,
|
|
238
251
|
routingPoints: flowEdge.data?.routingPoints,
|
|
239
252
|
};
|
|
253
|
+
// Handles are visual-owned. A missing current handle means the port was
|
|
254
|
+
// cleared, not that the original port should be restored.
|
|
255
|
+
delete graphEdge.sourcePort;
|
|
256
|
+
delete graphEdge.targetPort;
|
|
240
257
|
if (flowEdge.sourceHandle) {
|
|
241
258
|
graphEdge.sourcePort = flowEdge.sourceHandle;
|
|
242
259
|
}
|
|
@@ -247,8 +264,12 @@ export function convertFlowToGraphEdges(flowEdges) {
|
|
|
247
264
|
?? (flowEdge.style?.strokeDasharray
|
|
248
265
|
? (String(flowEdge.style.strokeDasharray).includes('2') ? 'dotted' : 'dashed')
|
|
249
266
|
: undefined);
|
|
250
|
-
|
|
251
|
-
|
|
267
|
+
const { lineStyle: _oldLineStyle, ...canonicalStyle } = canonical?.style ?? original?.style ?? {};
|
|
268
|
+
if (lineStyle || Object.keys(canonicalStyle).length > 0) {
|
|
269
|
+
graphEdge.style = { ...canonicalStyle, ...(lineStyle ? { lineStyle } : {}) };
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
delete graphEdge.style;
|
|
252
273
|
}
|
|
253
274
|
return graphEdge;
|
|
254
275
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../../src/editor/converter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../../src/editor/converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CoralNode, Dimensions } from '../types.js';
|
|
2
|
+
import type { DimensionSource } from '../types.js';
|
|
3
|
+
/** Read only recognized dimension provenance from collision-safe metadata. */
|
|
4
|
+
export declare function nodeDimensionSource(node: CoralNode): DimensionSource | undefined;
|
|
5
|
+
/** Resolve the dimensions that may cross a GraphIR persistence/text boundary. */
|
|
6
|
+
export declare function dimensionsForGraphProjection(node: CoralNode): Dimensions | undefined;
|
|
7
|
+
//# sourceMappingURL=dimensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dimensions.d.ts","sourceRoot":"","sources":["../../src/editor/dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAcnD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,CAEhF;AAED,iFAAiF;AACjF,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAOpF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { readNodeViewMetadata } from '../viewMetadata.js';
|
|
2
|
+
function finiteDimensions(value) {
|
|
3
|
+
if (!value || typeof value !== 'object')
|
|
4
|
+
return undefined;
|
|
5
|
+
const candidate = value;
|
|
6
|
+
return typeof candidate.width === 'number'
|
|
7
|
+
&& Number.isFinite(candidate.width)
|
|
8
|
+
&& typeof candidate.height === 'number'
|
|
9
|
+
&& Number.isFinite(candidate.height)
|
|
10
|
+
? { width: candidate.width, height: candidate.height }
|
|
11
|
+
: undefined;
|
|
12
|
+
}
|
|
13
|
+
/** Read only recognized dimension provenance from collision-safe metadata. */
|
|
14
|
+
export function nodeDimensionSource(node) {
|
|
15
|
+
return readNodeViewMetadata(node.data)?.dimensionSource;
|
|
16
|
+
}
|
|
17
|
+
/** Resolve the dimensions that may cross a GraphIR persistence/text boundary. */
|
|
18
|
+
export function dimensionsForGraphProjection(node) {
|
|
19
|
+
const source = nodeDimensionSource(node);
|
|
20
|
+
if (source === 'editor-font')
|
|
21
|
+
return undefined;
|
|
22
|
+
const current = finiteDimensions({ width: node.width, height: node.height });
|
|
23
|
+
const canonical = finiteDimensions(node.data.canonical?.dimensions);
|
|
24
|
+
return source === 'graph' ? canonical ?? current : current ?? canonical;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=dimensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dimensions.js","sourceRoot":"","sources":["../../src/editor/dimensions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GAAG,KAA8C,CAAC;IACjE,OAAO,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ;WACrC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;WAChC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;WACpC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;QACpC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE;QACtD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;AAC1D,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,4BAA4B,CAAC,IAAe;IAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IAE/C,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpE,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;AAC1E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../src/file/deserialize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../src/file/deserialize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAuHlF;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,iBAAiB,CAoDjE"}
|
package/dist/file/deserialize.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { assertValidDocument } from './validate.js';
|
|
7
7
|
import { migrateDocument } from './migrate.js';
|
|
8
|
+
import { CORAL_NODE_VIEW_METADATA } from '../types.js';
|
|
8
9
|
/**
|
|
9
10
|
* Default position for nodes without positions
|
|
10
11
|
*/
|
|
@@ -14,6 +15,7 @@ const DEFAULT_POSITION = { x: 0, y: 0 };
|
|
|
14
15
|
*/
|
|
15
16
|
function graphNodeToNode(graphNode, positions) {
|
|
16
17
|
const position = positions[graphNode.id] ?? graphNode.position ?? DEFAULT_POSITION;
|
|
18
|
+
const { id: _id, type: _type, label: _label, description: _description, properties: _properties, position: _position, pinned: _pinned, children: _children, ...canonical } = graphNode;
|
|
17
19
|
return {
|
|
18
20
|
id: graphNode.id,
|
|
19
21
|
type: graphNode.type,
|
|
@@ -30,15 +32,10 @@ function graphNodeToNode(graphNode, positions) {
|
|
|
30
32
|
variant: graphNode.variant,
|
|
31
33
|
isGroup: graphNode.children && graphNode.children.length > 0,
|
|
32
34
|
childCount: graphNode.children?.length,
|
|
33
|
-
canonical
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
...(graphNode.ports !== undefined ? { ports: graphNode.ports } : {}),
|
|
38
|
-
...(graphNode.dimensions !== undefined ? { dimensions: graphNode.dimensions } : {}),
|
|
39
|
-
...(graphNode.layoutOptions !== undefined ? { layoutOptions: graphNode.layoutOptions } : {}),
|
|
40
|
-
...(graphNode.sourceInfo !== undefined ? { sourceInfo: graphNode.sourceInfo } : {}),
|
|
41
|
-
},
|
|
35
|
+
canonical,
|
|
36
|
+
...(graphNode.dimensions !== undefined
|
|
37
|
+
? { [CORAL_NODE_VIEW_METADATA]: { dimensionSource: 'graph' } }
|
|
38
|
+
: {}),
|
|
42
39
|
},
|
|
43
40
|
...(graphNode.dimensions && {
|
|
44
41
|
width: graphNode.dimensions.width,
|
|
@@ -50,6 +47,7 @@ function graphNodeToNode(graphNode, positions) {
|
|
|
50
47
|
* Convert a GraphEdge to a CoralEdge
|
|
51
48
|
*/
|
|
52
49
|
function graphEdgeToEdge(graphEdge) {
|
|
50
|
+
const { id: _id, source: _source, target: _target, sourcePort: _sourcePort, targetPort: _targetPort, type: _type, label: _label, properties: _properties, routingPoints: _routingPoints, ...canonical } = graphEdge;
|
|
53
51
|
return {
|
|
54
52
|
id: graphEdge.id,
|
|
55
53
|
source: graphEdge.source,
|
|
@@ -64,10 +62,7 @@ function graphEdgeToEdge(graphEdge) {
|
|
|
64
62
|
properties: graphEdge.properties,
|
|
65
63
|
lineStyle: graphEdge.style?.lineStyle,
|
|
66
64
|
routingPoints: graphEdge.routingPoints,
|
|
67
|
-
canonical
|
|
68
|
-
...(graphEdge.style !== undefined ? { style: graphEdge.style } : {}),
|
|
69
|
-
...(graphEdge.sourceInfo !== undefined ? { sourceInfo: graphEdge.sourceInfo } : {}),
|
|
70
|
-
},
|
|
65
|
+
canonical,
|
|
71
66
|
},
|
|
72
67
|
};
|
|
73
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../src/file/deserialize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../src/file/deserialize.ts"],"names":[],"mappings":"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"}
|
package/dist/file/index.d.ts
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* - Serialization/Deserialization
|
|
8
8
|
* - Migration
|
|
9
9
|
*/
|
|
10
|
-
export { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, 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, type EdgeRouting, type LayoutAlgorithm, type LayoutPresetId, type LayoutPreset, type UserPreferences, type LLMProviderPreference, type SpeechRecognitionMode, type SettingsPanelState, DEFAULT_USER_PREFERENCES, DEFAULT_LAYOUT_SETTINGS, LAYOUT_PRESETS, getLayoutPreset, } from './schema.js';
|
|
10
|
+
export { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, type CoralDocument, type DocumentMetadata, type DocumentContent, type DocumentSettings, type LayoutDirection, type LayoutSettings, type LayoutSpacing, type LayoutProfileOverrides, type ViewState, type NodePosition, type DslType, type CreateDocumentOptions, type SerializeOptions, type DeserializeResult, type ValidationResult, 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, } from './schema.js';
|
|
11
|
+
export { resolveNotationLayout, type LayoutProfileDiagnostic, type ResolvedLayoutProfile, } from './layoutProfile.js';
|
|
11
12
|
export { validateDocument, assertValidDocument } from './validate.js';
|
|
12
13
|
export { createDocument, serialize } from './serialize.js';
|
|
13
14
|
export { deserialize } from './deserialize.js';
|
package/dist/file/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAE5B,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/file/index.js
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* - Migration
|
|
9
9
|
*/
|
|
10
10
|
// Schema
|
|
11
|
-
export { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, DEFAULT_USER_PREFERENCES, DEFAULT_LAYOUT_SETTINGS, LAYOUT_PRESETS, getLayoutPreset, } from './schema.js';
|
|
11
|
+
export { CURRENT_SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, 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, } from './schema.js';
|
|
12
|
+
export { resolveNotationLayout, } from './layoutProfile.js';
|
|
12
13
|
// Validation
|
|
13
14
|
export { validateDocument, assertValidDocument } from './validate.js';
|
|
14
15
|
// Serialization
|
package/dist/file/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,SAAS;AACT,OAAO,EACL,sBAAsB,EACtB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,SAAS;AACT,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EAoBzB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAU5B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAE5B,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEtE,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3D,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LayoutSettings } from './schema.js';
|
|
2
|
+
export interface LayoutProfileDiagnostic {
|
|
3
|
+
code: 'layout.profile.unsupported' | 'layout.option.invalid';
|
|
4
|
+
message: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ResolvedLayoutProfile {
|
|
7
|
+
settings: LayoutSettings;
|
|
8
|
+
diagnostics: LayoutProfileDiagnostic[];
|
|
9
|
+
}
|
|
10
|
+
export declare function resolveNotationLayout(notationId: string, legacy: LayoutSettings): ResolvedLayoutProfile;
|
|
11
|
+
//# sourceMappingURL=layoutProfile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layoutProfile.d.ts","sourceRoot":"","sources":["../../src/file/layoutProfile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,4BAA4B,GAAG,uBAAuB,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,uBAAuB,EAAE,CAAC;CACxC;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,GACrB,qBAAqB,CAwBvB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { notationRegistry } from '@coral-viz/render';
|
|
2
|
+
export function resolveNotationLayout(notationId, legacy) {
|
|
3
|
+
if (legacy.profile === undefined)
|
|
4
|
+
return { settings: legacy, diagnostics: [] };
|
|
5
|
+
if (legacy.profile !== 'notation')
|
|
6
|
+
return unsupported(legacy, 'Unknown layout profile');
|
|
7
|
+
const profile = notationRegistry.get(notationId)?.layoutProfile;
|
|
8
|
+
if (!profile)
|
|
9
|
+
return unsupported(legacy, 'No layout profile is registered for this notation');
|
|
10
|
+
const overrides = legacy.profileOverrides;
|
|
11
|
+
if (!validOverrides(overrides))
|
|
12
|
+
return invalid(legacy);
|
|
13
|
+
const elkOptions = {
|
|
14
|
+
'elk.edgeRouting': profile.edgeRouting,
|
|
15
|
+
...profile.elkOptions,
|
|
16
|
+
...overrides?.elkOptions,
|
|
17
|
+
};
|
|
18
|
+
if (overrides?.edgeRouting)
|
|
19
|
+
elkOptions['elk.edgeRouting'] = overrides.edgeRouting;
|
|
20
|
+
return {
|
|
21
|
+
diagnostics: [],
|
|
22
|
+
settings: {
|
|
23
|
+
...legacy,
|
|
24
|
+
algorithm: overrides?.algorithm ?? profile.algorithm,
|
|
25
|
+
direction: overrides?.direction ?? profile.direction,
|
|
26
|
+
spacing: { ...profile.spacing, ...withoutUndefined(overrides?.spacing) },
|
|
27
|
+
elkOptions,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const ALGORITHMS = new Set(['layered', 'mrtree', 'tree', 'stress', 'force', 'radial', 'box', 'fixed']);
|
|
32
|
+
const DIRECTIONS = new Set(['UP', 'DOWN', 'LEFT', 'RIGHT']);
|
|
33
|
+
const ROUTING = new Set(['ORTHOGONAL', 'POLYLINE', 'SPLINES']);
|
|
34
|
+
const OVERRIDE_FIELDS = new Set(['algorithm', 'direction', 'spacing', 'edgeRouting', 'elkOptions']);
|
|
35
|
+
const SPACING_FIELDS = new Set(['nodeNode', 'edgeNode', 'layerSpacing']);
|
|
36
|
+
const ELK_FIELDS = new Set([
|
|
37
|
+
'elk.layered.considerModelOrder.strategy',
|
|
38
|
+
'elk.layered.crossingMinimization.forceNodeModelOrder',
|
|
39
|
+
]);
|
|
40
|
+
function withoutUndefined(value) {
|
|
41
|
+
return Object.fromEntries(Object.entries(value ?? {}).filter(([, item]) => item !== undefined));
|
|
42
|
+
}
|
|
43
|
+
function validOverrides(value) {
|
|
44
|
+
if (value === undefined)
|
|
45
|
+
return true;
|
|
46
|
+
if (!isRecord(value))
|
|
47
|
+
return false;
|
|
48
|
+
const candidate = value;
|
|
49
|
+
if (Object.keys(candidate).some((key) => !OVERRIDE_FIELDS.has(key)))
|
|
50
|
+
return false;
|
|
51
|
+
if (candidate.algorithm !== undefined && !ALGORITHMS.has(candidate.algorithm))
|
|
52
|
+
return false;
|
|
53
|
+
if (candidate.direction !== undefined && !DIRECTIONS.has(candidate.direction))
|
|
54
|
+
return false;
|
|
55
|
+
if (candidate.edgeRouting !== undefined && !ROUTING.has(candidate.edgeRouting))
|
|
56
|
+
return false;
|
|
57
|
+
if (candidate.spacing !== undefined) {
|
|
58
|
+
if (!isRecord(candidate.spacing))
|
|
59
|
+
return false;
|
|
60
|
+
if (Object.keys(candidate.spacing).some((key) => !SPACING_FIELDS.has(key)))
|
|
61
|
+
return false;
|
|
62
|
+
if (Object.values(candidate.spacing).some((item) => item !== undefined
|
|
63
|
+
&& (typeof item !== 'number' || !Number.isFinite(item) || item <= 0)))
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
if (candidate.elkOptions !== undefined) {
|
|
67
|
+
if (!isRecord(candidate.elkOptions))
|
|
68
|
+
return false;
|
|
69
|
+
if (Object.keys(candidate.elkOptions).some((key) => !ELK_FIELDS.has(key)))
|
|
70
|
+
return false;
|
|
71
|
+
const strategy = candidate.elkOptions['elk.layered.considerModelOrder.strategy'];
|
|
72
|
+
if (strategy !== undefined && strategy !== 'NODES_AND_EDGES')
|
|
73
|
+
return false;
|
|
74
|
+
const force = candidate.elkOptions['elk.layered.crossingMinimization.forceNodeModelOrder'];
|
|
75
|
+
if (force !== undefined && typeof force !== 'boolean')
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
function isRecord(value) {
|
|
81
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
82
|
+
}
|
|
83
|
+
function unsupported(settings, message) {
|
|
84
|
+
return { settings, diagnostics: [{ code: 'layout.profile.unsupported', message }] };
|
|
85
|
+
}
|
|
86
|
+
function invalid(settings) {
|
|
87
|
+
return { settings, diagnostics: [{ code: 'layout.option.invalid', message: 'Invalid layout profile override' }] };
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=layoutProfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layoutProfile.js","sourceRoot":"","sources":["../../src/file/layoutProfile.ts"],"names":[],"mappings":"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"}
|
package/dist/file/schema.d.ts
CHANGED
|
@@ -45,6 +45,13 @@ export interface LayoutSpacing {
|
|
|
45
45
|
/** Spacing between layers (for layered algorithm) */
|
|
46
46
|
layerSpacing?: number;
|
|
47
47
|
}
|
|
48
|
+
export interface LayoutProfileOverrides {
|
|
49
|
+
algorithm?: string;
|
|
50
|
+
direction?: LayoutDirection;
|
|
51
|
+
spacing?: LayoutSpacing;
|
|
52
|
+
edgeRouting?: EdgeRouting;
|
|
53
|
+
elkOptions?: Record<string, string | number | boolean>;
|
|
54
|
+
}
|
|
48
55
|
/**
|
|
49
56
|
* Layout configuration
|
|
50
57
|
*/
|
|
@@ -59,6 +66,10 @@ export interface LayoutSettings {
|
|
|
59
66
|
elkOptions?: Record<string, string | number | boolean>;
|
|
60
67
|
/** Node sizing mode (CORAL-REQ-011) */
|
|
61
68
|
sizingMode?: SizingMode;
|
|
69
|
+
/** Opt in to the active notation's conservative layout profile. */
|
|
70
|
+
profile?: 'notation';
|
|
71
|
+
/** Sparse changes layered over the active notation profile. */
|
|
72
|
+
profileOverrides?: LayoutProfileOverrides;
|
|
62
73
|
}
|
|
63
74
|
/**
|
|
64
75
|
* Document settings (saved with file)
|
|
@@ -269,6 +280,17 @@ export interface FontSizePreset {
|
|
|
269
280
|
* Default font settings
|
|
270
281
|
*/
|
|
271
282
|
export declare const DEFAULT_FONT_SETTINGS: FontSettings;
|
|
283
|
+
/**
|
|
284
|
+
* Default requested font settings for a new diagram.
|
|
285
|
+
*
|
|
286
|
+
* This intentionally differs from the renderer's compatibility default.
|
|
287
|
+
*/
|
|
288
|
+
export declare const DEFAULT_DIAGRAM_FONT_SETTINGS: DiagramFontSettings;
|
|
289
|
+
/**
|
|
290
|
+
* Build a safe, complete requested-font view without mutating or
|
|
291
|
+
* canonicalizing the stored document value.
|
|
292
|
+
*/
|
|
293
|
+
export declare function normalizeDiagramFontSettings(value: unknown): DiagramFontSettings;
|
|
272
294
|
/**
|
|
273
295
|
* Font family presets
|
|
274
296
|
*/
|
|
@@ -338,6 +360,8 @@ export interface UserPreferences {
|
|
|
338
360
|
showControls: boolean;
|
|
339
361
|
/** Fit view on load */
|
|
340
362
|
fitViewOnLoad: boolean;
|
|
363
|
+
/** Highlight exact entity declarations and references in the DSL editor. */
|
|
364
|
+
editorEntityHighlighting?: boolean;
|
|
341
365
|
/** Auto-save interval in ms (0 = disabled) */
|
|
342
366
|
autoSaveInterval: number;
|
|
343
367
|
/** Remember last opened files */
|
|
@@ -352,6 +376,8 @@ export interface UserPreferences {
|
|
|
352
376
|
llmSaveApiKey: boolean;
|
|
353
377
|
/** Saved API key (only if llmSaveApiKey is true) */
|
|
354
378
|
llmSavedApiKey: string;
|
|
379
|
+
/** Editor generation retries, constrained to one through three. */
|
|
380
|
+
llmMaxRetries?: number;
|
|
355
381
|
/** Speech recognition mode for voice input (#49) */
|
|
356
382
|
speechRecognitionMode: SpeechRecognitionMode;
|
|
357
383
|
}
|
|
@@ -359,6 +385,7 @@ export interface UserPreferences {
|
|
|
359
385
|
* Default user preferences
|
|
360
386
|
*/
|
|
361
387
|
export declare const DEFAULT_USER_PREFERENCES: UserPreferences;
|
|
388
|
+
export declare function normalizeLlmMaxRetries(value: unknown): number;
|
|
362
389
|
/**
|
|
363
390
|
* Default layout settings
|
|
364
391
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/file/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,yBAAyB,oCAAqC,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,SAAS,EAAE,eAAe,CAAC;IAC3B,sBAAsB;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACvD,uCAAuC;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/file/schema.ts"],"names":[],"mappings":"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"}
|