@voiceflow/utils-designer 1.63.24 → 1.64.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/build/cjs/diagram.util.d.ts +6 -3
- package/build/cjs/diagram.util.d.ts.map +1 -1
- package/build/cjs/diagram.util.js +10 -3
- package/build/cjs/diagram.util.js.map +1 -1
- package/build/cjs/node.util.d.ts +38 -5
- package/build/cjs/node.util.d.ts.map +1 -1
- package/build/cjs/node.util.js +150 -2
- package/build/cjs/node.util.js.map +1 -1
- package/build/esm/diagram.util.d.ts +6 -3
- package/build/esm/diagram.util.d.ts.map +1 -1
- package/build/esm/diagram.util.js +10 -3
- package/build/esm/diagram.util.js.map +1 -1
- package/build/esm/node.util.d.ts +38 -5
- package/build/esm/node.util.d.ts.map +1 -1
- package/build/esm/node.util.js +145 -2
- package/build/esm/node.util.js.map +1 -1
- package/package.json +3 -3
@@ -9,10 +9,13 @@ export declare const componentDiagramPayloadFactory: ({ startNode, diagramName,
|
|
9
9
|
};
|
10
10
|
diagramName: string;
|
11
11
|
}) => DiagramPayload;
|
12
|
-
export declare const topicDiagramPayloadFactory: ({ diagramName,
|
12
|
+
export declare const topicDiagramPayloadFactory: ({ diagramName, triggerNode, }: {
|
13
13
|
diagramName: string;
|
14
|
-
|
15
|
-
|
14
|
+
triggerNode?: {
|
15
|
+
name?: string;
|
16
|
+
coords?: [number, number];
|
17
|
+
color?: string;
|
18
|
+
};
|
16
19
|
}) => DiagramPayload;
|
17
20
|
export declare const templateDiagramPayloadFactory: ({ name }?: {
|
18
21
|
name?: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"diagram.util.d.ts","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAK5D,eAAO,MAAM,wBAAwB,iBAAkB,MAAM,iBAAiB,MAAM,EAAE,WAUrF,CAAC;AAQF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAiBrF,eAAO,MAAM,8BAA8B,gCAGxC;IACD,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,mBAUG,CAAC;AAEL,eAAO,MAAM,0BAA0B,
|
1
|
+
{"version":3,"file":"diagram.util.d.ts","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAK5D,eAAO,MAAM,wBAAwB,iBAAkB,MAAM,iBAAiB,MAAM,EAAE,WAUrF,CAAC;AAQF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAiBrF,eAAO,MAAM,8BAA8B,gCAGxC;IACD,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,mBAUG,CAAC;AAEL,eAAO,MAAM,0BAA0B,kCAGpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5E,mBAcA,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAAmC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mBAK1F,CAAC"}
|
@@ -35,18 +35,25 @@ const componentDiagramPayloadFactory = ({ startNode, diagramName, }) => diagramP
|
|
35
35
|
],
|
36
36
|
});
|
37
37
|
exports.componentDiagramPayloadFactory = componentDiagramPayloadFactory;
|
38
|
-
const topicDiagramPayloadFactory = ({ diagramName,
|
38
|
+
const topicDiagramPayloadFactory = ({ diagramName, triggerNode, }) => {
|
39
39
|
const triggerNodeID = common_1.Utils.id.objectID();
|
40
40
|
return diagramPayloadFactory({
|
41
41
|
name: diagramName,
|
42
42
|
type: dtos_1.DiagramType.TOPIC,
|
43
43
|
nodes: [
|
44
|
-
(0, node_util_1.blockNodeFactory)({
|
44
|
+
(0, node_util_1.blockNodeFactory)({
|
45
|
+
data: { name: triggerNode?.name, steps: [triggerNodeID] },
|
46
|
+
coords: triggerNode?.coords ?? dtos_1.START_NODE_POSITION,
|
47
|
+
}),
|
45
48
|
(0, node_util_1.triggerNodeFactory)({ nodeID: triggerNodeID }),
|
46
49
|
],
|
47
50
|
});
|
48
51
|
};
|
49
52
|
exports.topicDiagramPayloadFactory = topicDiagramPayloadFactory;
|
50
|
-
const templateDiagramPayloadFactory = ({ name = 'Template Diagram' } = {}) => diagramPayloadFactory({
|
53
|
+
const templateDiagramPayloadFactory = ({ name = 'Template Diagram' } = {}) => diagramPayloadFactory({
|
54
|
+
name,
|
55
|
+
type: dtos_1.DiagramType.TEMPLATE,
|
56
|
+
nodes: [(0, node_util_1.startNodeFactory)({ coords: dtos_1.START_NODE_POSITION })],
|
57
|
+
});
|
51
58
|
exports.templateDiagramPayloadFactory = templateDiagramPayloadFactory;
|
52
59
|
//# sourceMappingURL=diagram.util.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"diagram.util.js","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAE1C,0CAAmE;AAEnE,2CAAqF;AAE9E,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAE,aAAuB,EAAE,EAAE;IACxF,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,UAAU,GAAG,GAAG,YAAY,UAAU,KAAK,GAAG,CAAC;QAC/C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAVW,QAAA,wBAAwB,4BAUnC;AAUF,MAAM,qBAAqB,GAAG,CAAwB,EACpD,IAAI,EACJ,IAAI,EACJ,KAAK,GAC+B,EAAkB,EAAE,CAAC,CAAC;IAC1D,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,cAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;IAC1C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEI,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,WAAW,GAIZ,EAAE,EAAE,CACH,qBAAqB,CAAC;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,kBAAW,CAAC,SAAS;IAC3B,KAAK,EAAE;QACL,IAAA,4BAAgB,EAAC;YACf,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,0BAAmB;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;KACH;CACF,CAAC,CAAC;AAhBQ,QAAA,8BAA8B,kCAgBtC;AAEE,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,EACX,
|
1
|
+
{"version":3,"file":"diagram.util.js","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAE1C,0CAAmE;AAEnE,2CAAqF;AAE9E,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAE,aAAuB,EAAE,EAAE;IACxF,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,UAAU,GAAG,GAAG,YAAY,UAAU,KAAK,GAAG,CAAC;QAC/C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAVW,QAAA,wBAAwB,4BAUnC;AAUF,MAAM,qBAAqB,GAAG,CAAwB,EACpD,IAAI,EACJ,IAAI,EACJ,KAAK,GAC+B,EAAkB,EAAE,CAAC,CAAC;IAC1D,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,cAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;IAC1C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEI,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,WAAW,GAIZ,EAAE,EAAE,CACH,qBAAqB,CAAC;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,kBAAW,CAAC,SAAS;IAC3B,KAAK,EAAE;QACL,IAAA,4BAAgB,EAAC;YACf,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,0BAAmB;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;KACH;CACF,CAAC,CAAC;AAhBQ,QAAA,8BAA8B,kCAgBtC;AAEE,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,EACX,WAAW,GAIZ,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,cAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE1C,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,kBAAW,CAAC,KAAK;QACvB,KAAK,EAAE;YACL,IAAA,4BAAgB,EAAC;gBACf,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;gBACzD,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,0BAAmB;aACnD,CAAC;YACF,IAAA,8BAAkB,EAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAC9C;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AApBW,QAAA,0BAA0B,8BAoBrC;AAEK,MAAM,6BAA6B,GAAG,CAAC,EAAE,IAAI,GAAG,kBAAkB,KAAwB,EAAE,EAAE,EAAE,CACrG,qBAAqB,CAAC;IACpB,IAAI;IACJ,IAAI,EAAE,kBAAW,CAAC,QAAQ;IAC1B,KAAK,EAAE,CAAC,IAAA,4BAAgB,EAAC,EAAE,MAAM,EAAE,0BAAmB,EAAE,CAAC,CAAC;CAC3D,CAAC,CAAC;AALQ,QAAA,6BAA6B,iCAKrC"}
|
package/build/cjs/node.util.d.ts
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
import type { BlockNode, DiagramNode, StartNode, TriggerNode } from '@voiceflow/dtos';
|
1
|
+
import type { BaseNode, BlockNode, DiagramNode, StartNode, TriggerNode } from '@voiceflow/dtos';
|
2
2
|
export declare const diagramNodeFactory: <Node extends DiagramNode>(node: Omit<Node, "nodeID"> & {
|
3
3
|
nodeID?: string;
|
4
4
|
}) => Node;
|
5
|
-
|
5
|
+
interface NodeFactoryOptions<Node extends DiagramNode> extends Pick<Node, 'coords'> {
|
6
6
|
data?: Partial<Node['data']>;
|
7
7
|
nodeID?: string;
|
8
|
-
}
|
9
|
-
export declare const startNodeFactory: ({ data, coords, ...rest }
|
8
|
+
}
|
9
|
+
export declare const startNodeFactory: ({ data, coords, ...rest }: NodeFactoryOptions<StartNode>) => {
|
10
10
|
type: "start";
|
11
11
|
data: {
|
12
12
|
portsV2: {
|
@@ -110,7 +110,7 @@ export declare const startNodeFactory: ({ data, coords, ...rest }?: NodeFactoryO
|
|
110
110
|
})[] | undefined;
|
111
111
|
};
|
112
112
|
nodeID: string;
|
113
|
-
coords
|
113
|
+
coords: [number, number];
|
114
114
|
};
|
115
115
|
export declare const blockNodeFactory: ({ data, ...rest }: NodeFactoryOptions<BlockNode>) => {
|
116
116
|
type: "block";
|
@@ -290,5 +290,38 @@ export declare const triggerNodeFactory: ({ data, ...reset }?: NodeFactoryOption
|
|
290
290
|
nodeID: string;
|
291
291
|
coords?: [number, number] | undefined;
|
292
292
|
};
|
293
|
+
export declare const getFlatNodePorts: (node: BaseNode) => {
|
294
|
+
type: string;
|
295
|
+
id: string;
|
296
|
+
target: string | null;
|
297
|
+
data?: {
|
298
|
+
type?: "CURVED" | "STRAIGHT" | null | undefined;
|
299
|
+
color?: string | null | undefined;
|
300
|
+
points?: {
|
301
|
+
point: [number, number];
|
302
|
+
toTop?: boolean | null | undefined;
|
303
|
+
locked?: boolean | null | undefined;
|
304
|
+
reversed?: boolean | null | undefined;
|
305
|
+
allowedToTop?: boolean | null | undefined;
|
306
|
+
}[] | null | undefined;
|
307
|
+
caption?: {
|
308
|
+
value: string;
|
309
|
+
width: number;
|
310
|
+
height: number;
|
311
|
+
} | null | undefined;
|
312
|
+
} | null | undefined;
|
313
|
+
}[];
|
314
|
+
export declare const isStartNode: (node: BaseNode) => node is StartNode;
|
315
|
+
export declare const isBlockNode: (node: BaseNode) => node is BlockNode;
|
316
|
+
export declare const isTriggerNode: (node: BaseNode) => node is TriggerNode;
|
317
|
+
/**
|
318
|
+
* mutates nodes in place - creates horizontal tree layout
|
319
|
+
*/
|
320
|
+
export declare const normalizeNodePositions: <Node extends BaseNode>(nodes: Node[], { hGap, vGap, blockWidth, blockHeight, }?: {
|
321
|
+
hGap?: number;
|
322
|
+
vGap?: number;
|
323
|
+
blockWidth?: number;
|
324
|
+
blockHeight?: number;
|
325
|
+
}) => Node[];
|
293
326
|
export {};
|
294
327
|
//# sourceMappingURL=node.util.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node.util.d.ts","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"node.util.d.ts","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"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"}
|
package/build/cjs/node.util.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.triggerNodeFactory = exports.blockNodeFactory = exports.startNodeFactory = exports.diagramNodeFactory = void 0;
|
3
|
+
exports.normalizeNodePositions = exports.isTriggerNode = exports.isBlockNode = exports.isStartNode = exports.getFlatNodePorts = exports.triggerNodeFactory = exports.blockNodeFactory = exports.startNodeFactory = exports.diagramNodeFactory = void 0;
|
4
|
+
/* eslint-disable no-param-reassign */
|
4
5
|
const common_1 = require("@voiceflow/common");
|
5
6
|
const dtos_1 = require("@voiceflow/dtos");
|
6
7
|
const node_port_util_1 = require("./node-port.util");
|
@@ -9,7 +10,7 @@ const diagramNodeFactory = (node) => ({
|
|
9
10
|
nodeID: node.nodeID ?? common_1.Utils.id.objectID(),
|
10
11
|
});
|
11
12
|
exports.diagramNodeFactory = diagramNodeFactory;
|
12
|
-
const startNodeFactory = ({ data, coords
|
13
|
+
const startNodeFactory = ({ data, coords, ...rest }) => (0, exports.diagramNodeFactory)({
|
13
14
|
...rest,
|
14
15
|
type: dtos_1.NodeType.START,
|
15
16
|
data: {
|
@@ -48,4 +49,151 @@ const triggerNodeFactory = ({ data, ...reset } = {}) => (0, exports.diagramNodeF
|
|
48
49
|
},
|
49
50
|
});
|
50
51
|
exports.triggerNodeFactory = triggerNodeFactory;
|
52
|
+
const getFlatNodePorts = (node) => [
|
53
|
+
...Object.values(node.data.portsV2.byKey ?? {}),
|
54
|
+
...Object.values(node.data.portsV2.builtIn ?? {}),
|
55
|
+
...(node.data.portsV2.dynamic ?? []),
|
56
|
+
];
|
57
|
+
exports.getFlatNodePorts = getFlatNodePorts;
|
58
|
+
const isStartNode = (node) => node.type === dtos_1.NodeType.START;
|
59
|
+
exports.isStartNode = isStartNode;
|
60
|
+
const isBlockNode = (node) => node.type === dtos_1.NodeType.BLOCK;
|
61
|
+
exports.isBlockNode = isBlockNode;
|
62
|
+
const isTriggerNode = (node) => node.type === dtos_1.NodeType.TRIGGER;
|
63
|
+
exports.isTriggerNode = isTriggerNode;
|
64
|
+
/**
|
65
|
+
* mutates nodes in place - creates horizontal tree layout
|
66
|
+
*/
|
67
|
+
const normalizeNodePositions = (nodes, { hGap = 100, vGap = 80, blockWidth = 330, blockHeight = 250, } = {}) => {
|
68
|
+
const stepsMap = new Map();
|
69
|
+
const parentNodes = new Map();
|
70
|
+
const stepIDToBlockIDMap = new Map();
|
71
|
+
// Separate parent nodes (blocks/start) from step nodes
|
72
|
+
nodes.forEach((node) => {
|
73
|
+
if ((0, exports.isBlockNode)(node)) {
|
74
|
+
node.data.steps.forEach((stepID) => {
|
75
|
+
stepIDToBlockIDMap.set(stepID, node.nodeID);
|
76
|
+
});
|
77
|
+
parentNodes.set(node.nodeID, node);
|
78
|
+
}
|
79
|
+
else if ((0, exports.isStartNode)(node)) {
|
80
|
+
parentNodes.set(node.nodeID, node);
|
81
|
+
}
|
82
|
+
else {
|
83
|
+
stepsMap.set(node.nodeID, node);
|
84
|
+
}
|
85
|
+
});
|
86
|
+
// Build parent-child relationships
|
87
|
+
const parentOf = new Map(); // child nodeID -> parent nodeID
|
88
|
+
const childrenOf = new Map(); // nodeID -> child nodeIDs[]
|
89
|
+
// Initialize empty children arrays for all parent nodes
|
90
|
+
parentNodes.forEach((node) => {
|
91
|
+
childrenOf.set(node.nodeID, []);
|
92
|
+
});
|
93
|
+
parentNodes.forEach((node) => {
|
94
|
+
const ports = [];
|
95
|
+
if ((0, exports.isStartNode)(node)) {
|
96
|
+
ports.push(...(0, exports.getFlatNodePorts)(node));
|
97
|
+
}
|
98
|
+
else {
|
99
|
+
node.data.steps.forEach((stepID) => {
|
100
|
+
const step = stepsMap.get(stepID);
|
101
|
+
if (!step)
|
102
|
+
return;
|
103
|
+
ports.push(...(0, exports.getFlatNodePorts)(step));
|
104
|
+
});
|
105
|
+
}
|
106
|
+
ports.forEach((port) => {
|
107
|
+
if (!port.target)
|
108
|
+
return;
|
109
|
+
const targetStep = stepsMap.get(port.target);
|
110
|
+
const targetStepBlockID = targetStep ? stepIDToBlockIDMap.get(port.target) : null;
|
111
|
+
const targetBlock = parentNodes.get(targetStepBlockID ?? port.target);
|
112
|
+
if (!targetBlock)
|
113
|
+
return;
|
114
|
+
// Add child relationship (avoid duplicates)
|
115
|
+
const children = childrenOf.get(node.nodeID) ?? [];
|
116
|
+
if (!children.includes(targetBlock.nodeID)) {
|
117
|
+
children.push(targetBlock.nodeID);
|
118
|
+
childrenOf.set(node.nodeID, children);
|
119
|
+
}
|
120
|
+
// Set parent relationship
|
121
|
+
parentOf.set(targetBlock.nodeID, node.nodeID);
|
122
|
+
});
|
123
|
+
});
|
124
|
+
// Find root nodes (nodes with no parents)
|
125
|
+
const roots = Array.from(parentNodes.values()).filter((b) => !parentOf.has(b.nodeID));
|
126
|
+
if (roots.length === 0)
|
127
|
+
throw new Error('Graph has cycles or no root block.');
|
128
|
+
// Temporary debugging
|
129
|
+
if (typeof globalThis !== 'undefined') {
|
130
|
+
globalThis.debugNodePositioning = {
|
131
|
+
parentNodes: Array.from(parentNodes.keys()),
|
132
|
+
roots: roots.map((r) => r.nodeID),
|
133
|
+
childrenOf: Object.fromEntries(childrenOf),
|
134
|
+
parentOf: Object.fromEntries(parentOf),
|
135
|
+
};
|
136
|
+
}
|
137
|
+
// If all nodes are roots (no parent-child relationships), position them in a simple grid
|
138
|
+
if (roots.length === parentNodes.size) {
|
139
|
+
let x = 0;
|
140
|
+
let y = 0;
|
141
|
+
const maxNodesPerRow = 3; // Adjust as needed
|
142
|
+
roots.forEach((node, index) => {
|
143
|
+
node.coords[0] = x;
|
144
|
+
node.coords[1] = y;
|
145
|
+
if ((index + 1) % maxNodesPerRow === 0) {
|
146
|
+
x = 0;
|
147
|
+
y += blockHeight + vGap;
|
148
|
+
}
|
149
|
+
else {
|
150
|
+
x += blockWidth + hGap;
|
151
|
+
}
|
152
|
+
});
|
153
|
+
return nodes;
|
154
|
+
}
|
155
|
+
// First pass: assign depth (X coordinate) to each node
|
156
|
+
const nodeDepths = new Map();
|
157
|
+
// Use BFS to assign depths, handling cycles properly
|
158
|
+
const queue = [];
|
159
|
+
// Start with all roots at depth 0
|
160
|
+
roots.forEach((root) => {
|
161
|
+
nodeDepths.set(root.nodeID, 0);
|
162
|
+
queue.push({ nodeId: root.nodeID, depth: 0 });
|
163
|
+
});
|
164
|
+
// Process queue until empty
|
165
|
+
while (queue.length > 0) {
|
166
|
+
const { nodeId, depth } = queue.shift();
|
167
|
+
const children = childrenOf.get(nodeId) ?? [];
|
168
|
+
children.forEach((childId) => {
|
169
|
+
const currentDepth = nodeDepths.get(childId);
|
170
|
+
const newDepth = depth + 1;
|
171
|
+
// Only update if we haven't seen this node or found a shorter path
|
172
|
+
if (currentDepth === undefined || newDepth < currentDepth) {
|
173
|
+
nodeDepths.set(childId, newDepth);
|
174
|
+
queue.push({ nodeId: childId, depth: newDepth });
|
175
|
+
}
|
176
|
+
});
|
177
|
+
}
|
178
|
+
// Second pass: group nodes by depth and assign Y coordinates
|
179
|
+
const nodesByDepth = new Map();
|
180
|
+
parentNodes.forEach((node) => {
|
181
|
+
const depth = nodeDepths.get(node.nodeID) ?? 0;
|
182
|
+
if (!nodesByDepth.has(depth)) {
|
183
|
+
nodesByDepth.set(depth, []);
|
184
|
+
}
|
185
|
+
nodesByDepth.get(depth).push(node);
|
186
|
+
});
|
187
|
+
// Position nodes: X by depth, Y by order within depth
|
188
|
+
nodesByDepth.forEach((nodesAtDepth, depth) => {
|
189
|
+
const x = depth * (blockWidth + hGap);
|
190
|
+
nodesAtDepth.forEach((node, index) => {
|
191
|
+
const y = index * (blockHeight + vGap);
|
192
|
+
// Create a new coords array to avoid shared reference issues
|
193
|
+
node.coords = [x, y];
|
194
|
+
});
|
195
|
+
});
|
196
|
+
return nodes;
|
197
|
+
};
|
198
|
+
exports.normalizeNodePositions = normalizeNodePositions;
|
51
199
|
//# sourceMappingURL=node.util.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node.util.js","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAE1C,
|
1
|
+
{"version":3,"file":"node.util.js","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"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"}
|
@@ -9,10 +9,13 @@ export declare const componentDiagramPayloadFactory: ({ startNode, diagramName,
|
|
9
9
|
};
|
10
10
|
diagramName: string;
|
11
11
|
}) => DiagramPayload;
|
12
|
-
export declare const topicDiagramPayloadFactory: ({ diagramName,
|
12
|
+
export declare const topicDiagramPayloadFactory: ({ diagramName, triggerNode, }: {
|
13
13
|
diagramName: string;
|
14
|
-
|
15
|
-
|
14
|
+
triggerNode?: {
|
15
|
+
name?: string;
|
16
|
+
coords?: [number, number];
|
17
|
+
color?: string;
|
18
|
+
};
|
16
19
|
}) => DiagramPayload;
|
17
20
|
export declare const templateDiagramPayloadFactory: ({ name }?: {
|
18
21
|
name?: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"diagram.util.d.ts","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAK5D,eAAO,MAAM,wBAAwB,iBAAkB,MAAM,iBAAiB,MAAM,EAAE,WAUrF,CAAC;AAQF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAiBrF,eAAO,MAAM,8BAA8B,gCAGxC;IACD,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,mBAUG,CAAC;AAEL,eAAO,MAAM,0BAA0B,
|
1
|
+
{"version":3,"file":"diagram.util.d.ts","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAK5D,eAAO,MAAM,wBAAwB,iBAAkB,MAAM,iBAAiB,MAAM,EAAE,WAUrF,CAAC;AAQF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAiBrF,eAAO,MAAM,8BAA8B,gCAGxC;IACD,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,mBAUG,CAAC;AAEL,eAAO,MAAM,0BAA0B,kCAGpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5E,mBAcA,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAAmC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mBAK1F,CAAC"}
|
@@ -30,16 +30,23 @@ export const componentDiagramPayloadFactory = ({ startNode, diagramName, }) => d
|
|
30
30
|
}),
|
31
31
|
],
|
32
32
|
});
|
33
|
-
export const topicDiagramPayloadFactory = ({ diagramName,
|
33
|
+
export const topicDiagramPayloadFactory = ({ diagramName, triggerNode, }) => {
|
34
34
|
const triggerNodeID = Utils.id.objectID();
|
35
35
|
return diagramPayloadFactory({
|
36
36
|
name: diagramName,
|
37
37
|
type: DiagramType.TOPIC,
|
38
38
|
nodes: [
|
39
|
-
blockNodeFactory({
|
39
|
+
blockNodeFactory({
|
40
|
+
data: { name: triggerNode?.name, steps: [triggerNodeID] },
|
41
|
+
coords: triggerNode?.coords ?? START_NODE_POSITION,
|
42
|
+
}),
|
40
43
|
triggerNodeFactory({ nodeID: triggerNodeID }),
|
41
44
|
],
|
42
45
|
});
|
43
46
|
};
|
44
|
-
export const templateDiagramPayloadFactory = ({ name = 'Template Diagram' } = {}) => diagramPayloadFactory({
|
47
|
+
export const templateDiagramPayloadFactory = ({ name = 'Template Diagram' } = {}) => diagramPayloadFactory({
|
48
|
+
name,
|
49
|
+
type: DiagramType.TEMPLATE,
|
50
|
+
nodes: [startNodeFactory({ coords: START_NODE_POSITION })],
|
51
|
+
});
|
45
52
|
//# sourceMappingURL=diagram.util.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"diagram.util.js","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAE,aAAuB,EAAE,EAAE;IACxF,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,UAAU,GAAG,GAAG,YAAY,UAAU,KAAK,GAAG,CAAC;QAC/C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAUF,MAAM,qBAAqB,GAAG,CAAwB,EACpD,IAAI,EACJ,IAAI,EACJ,KAAK,GAC+B,EAAkB,EAAE,CAAC,CAAC;IAC1D,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;IAC1C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,WAAW,GAIZ,EAAE,EAAE,CACH,qBAAqB,CAAC;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW,CAAC,SAAS;IAC3B,KAAK,EAAE;QACL,gBAAgB,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,mBAAmB;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;KACH;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,EACX,
|
1
|
+
{"version":3,"file":"diagram.util.js","sourceRoot":"","sources":["../../src/diagram.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAE,aAAuB,EAAE,EAAE;IACxF,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,UAAU,GAAG,GAAG,YAAY,UAAU,KAAK,GAAG,CAAC;QAC/C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAUF,MAAM,qBAAqB,GAAG,CAAwB,EACpD,IAAI,EACJ,IAAI,EACJ,KAAK,GAC+B,EAAkB,EAAE,CAAC,CAAC;IAC1D,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;IAC1C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,WAAW,GAIZ,EAAE,EAAE,CACH,qBAAqB,CAAC;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW,CAAC,SAAS;IAC3B,KAAK,EAAE;QACL,gBAAgB,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,mBAAmB;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;KACH;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,EACX,WAAW,GAIZ,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE1C,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW,CAAC,KAAK;QACvB,KAAK,EAAE;YACL,gBAAgB,CAAC;gBACf,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;gBACzD,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,mBAAmB;aACnD,CAAC;YACF,kBAAkB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAC9C;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAE,IAAI,GAAG,kBAAkB,KAAwB,EAAE,EAAE,EAAE,CACrG,qBAAqB,CAAC;IACpB,IAAI;IACJ,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;CAC3D,CAAC,CAAC"}
|
package/build/esm/node.util.d.ts
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
import type { BlockNode, DiagramNode, StartNode, TriggerNode } from '@voiceflow/dtos';
|
1
|
+
import type { BaseNode, BlockNode, DiagramNode, StartNode, TriggerNode } from '@voiceflow/dtos';
|
2
2
|
export declare const diagramNodeFactory: <Node extends DiagramNode>(node: Omit<Node, "nodeID"> & {
|
3
3
|
nodeID?: string;
|
4
4
|
}) => Node;
|
5
|
-
|
5
|
+
interface NodeFactoryOptions<Node extends DiagramNode> extends Pick<Node, 'coords'> {
|
6
6
|
data?: Partial<Node['data']>;
|
7
7
|
nodeID?: string;
|
8
|
-
}
|
9
|
-
export declare const startNodeFactory: ({ data, coords, ...rest }
|
8
|
+
}
|
9
|
+
export declare const startNodeFactory: ({ data, coords, ...rest }: NodeFactoryOptions<StartNode>) => {
|
10
10
|
type: "start";
|
11
11
|
data: {
|
12
12
|
portsV2: {
|
@@ -110,7 +110,7 @@ export declare const startNodeFactory: ({ data, coords, ...rest }?: NodeFactoryO
|
|
110
110
|
})[] | undefined;
|
111
111
|
};
|
112
112
|
nodeID: string;
|
113
|
-
coords
|
113
|
+
coords: [number, number];
|
114
114
|
};
|
115
115
|
export declare const blockNodeFactory: ({ data, ...rest }: NodeFactoryOptions<BlockNode>) => {
|
116
116
|
type: "block";
|
@@ -290,5 +290,38 @@ export declare const triggerNodeFactory: ({ data, ...reset }?: NodeFactoryOption
|
|
290
290
|
nodeID: string;
|
291
291
|
coords?: [number, number] | undefined;
|
292
292
|
};
|
293
|
+
export declare const getFlatNodePorts: (node: BaseNode) => {
|
294
|
+
type: string;
|
295
|
+
id: string;
|
296
|
+
target: string | null;
|
297
|
+
data?: {
|
298
|
+
type?: "CURVED" | "STRAIGHT" | null | undefined;
|
299
|
+
color?: string | null | undefined;
|
300
|
+
points?: {
|
301
|
+
point: [number, number];
|
302
|
+
toTop?: boolean | null | undefined;
|
303
|
+
locked?: boolean | null | undefined;
|
304
|
+
reversed?: boolean | null | undefined;
|
305
|
+
allowedToTop?: boolean | null | undefined;
|
306
|
+
}[] | null | undefined;
|
307
|
+
caption?: {
|
308
|
+
value: string;
|
309
|
+
width: number;
|
310
|
+
height: number;
|
311
|
+
} | null | undefined;
|
312
|
+
} | null | undefined;
|
313
|
+
}[];
|
314
|
+
export declare const isStartNode: (node: BaseNode) => node is StartNode;
|
315
|
+
export declare const isBlockNode: (node: BaseNode) => node is BlockNode;
|
316
|
+
export declare const isTriggerNode: (node: BaseNode) => node is TriggerNode;
|
317
|
+
/**
|
318
|
+
* mutates nodes in place - creates horizontal tree layout
|
319
|
+
*/
|
320
|
+
export declare const normalizeNodePositions: <Node extends BaseNode>(nodes: Node[], { hGap, vGap, blockWidth, blockHeight, }?: {
|
321
|
+
hGap?: number;
|
322
|
+
vGap?: number;
|
323
|
+
blockWidth?: number;
|
324
|
+
blockHeight?: number;
|
325
|
+
}) => Node[];
|
293
326
|
export {};
|
294
327
|
//# sourceMappingURL=node.util.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node.util.d.ts","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"node.util.d.ts","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"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"}
|
package/build/esm/node.util.js
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
1
2
|
import { Utils } from '@voiceflow/common';
|
2
|
-
import { NodeSystemPortType, NodeType
|
3
|
+
import { NodeSystemPortType, NodeType } from '@voiceflow/dtos';
|
3
4
|
import { nodePortFactory, nodePortsFactory } from './node-port.util.js';
|
4
5
|
export const diagramNodeFactory = (node) => ({
|
5
6
|
...node,
|
6
7
|
nodeID: node.nodeID ?? Utils.id.objectID(),
|
7
8
|
});
|
8
|
-
export const startNodeFactory = ({ data, coords
|
9
|
+
export const startNodeFactory = ({ data, coords, ...rest }) => diagramNodeFactory({
|
9
10
|
...rest,
|
10
11
|
type: NodeType.START,
|
11
12
|
data: {
|
@@ -41,4 +42,146 @@ export const triggerNodeFactory = ({ data, ...reset } = {}) => diagramNodeFactor
|
|
41
42
|
}),
|
42
43
|
},
|
43
44
|
});
|
45
|
+
export const getFlatNodePorts = (node) => [
|
46
|
+
...Object.values(node.data.portsV2.byKey ?? {}),
|
47
|
+
...Object.values(node.data.portsV2.builtIn ?? {}),
|
48
|
+
...(node.data.portsV2.dynamic ?? []),
|
49
|
+
];
|
50
|
+
export const isStartNode = (node) => node.type === NodeType.START;
|
51
|
+
export const isBlockNode = (node) => node.type === NodeType.BLOCK;
|
52
|
+
export const isTriggerNode = (node) => node.type === NodeType.TRIGGER;
|
53
|
+
/**
|
54
|
+
* mutates nodes in place - creates horizontal tree layout
|
55
|
+
*/
|
56
|
+
export const normalizeNodePositions = (nodes, { hGap = 100, vGap = 80, blockWidth = 330, blockHeight = 250, } = {}) => {
|
57
|
+
const stepsMap = new Map();
|
58
|
+
const parentNodes = new Map();
|
59
|
+
const stepIDToBlockIDMap = new Map();
|
60
|
+
// Separate parent nodes (blocks/start) from step nodes
|
61
|
+
nodes.forEach((node) => {
|
62
|
+
if (isBlockNode(node)) {
|
63
|
+
node.data.steps.forEach((stepID) => {
|
64
|
+
stepIDToBlockIDMap.set(stepID, node.nodeID);
|
65
|
+
});
|
66
|
+
parentNodes.set(node.nodeID, node);
|
67
|
+
}
|
68
|
+
else if (isStartNode(node)) {
|
69
|
+
parentNodes.set(node.nodeID, node);
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
stepsMap.set(node.nodeID, node);
|
73
|
+
}
|
74
|
+
});
|
75
|
+
// Build parent-child relationships
|
76
|
+
const parentOf = new Map(); // child nodeID -> parent nodeID
|
77
|
+
const childrenOf = new Map(); // nodeID -> child nodeIDs[]
|
78
|
+
// Initialize empty children arrays for all parent nodes
|
79
|
+
parentNodes.forEach((node) => {
|
80
|
+
childrenOf.set(node.nodeID, []);
|
81
|
+
});
|
82
|
+
parentNodes.forEach((node) => {
|
83
|
+
const ports = [];
|
84
|
+
if (isStartNode(node)) {
|
85
|
+
ports.push(...getFlatNodePorts(node));
|
86
|
+
}
|
87
|
+
else {
|
88
|
+
node.data.steps.forEach((stepID) => {
|
89
|
+
const step = stepsMap.get(stepID);
|
90
|
+
if (!step)
|
91
|
+
return;
|
92
|
+
ports.push(...getFlatNodePorts(step));
|
93
|
+
});
|
94
|
+
}
|
95
|
+
ports.forEach((port) => {
|
96
|
+
if (!port.target)
|
97
|
+
return;
|
98
|
+
const targetStep = stepsMap.get(port.target);
|
99
|
+
const targetStepBlockID = targetStep ? stepIDToBlockIDMap.get(port.target) : null;
|
100
|
+
const targetBlock = parentNodes.get(targetStepBlockID ?? port.target);
|
101
|
+
if (!targetBlock)
|
102
|
+
return;
|
103
|
+
// Add child relationship (avoid duplicates)
|
104
|
+
const children = childrenOf.get(node.nodeID) ?? [];
|
105
|
+
if (!children.includes(targetBlock.nodeID)) {
|
106
|
+
children.push(targetBlock.nodeID);
|
107
|
+
childrenOf.set(node.nodeID, children);
|
108
|
+
}
|
109
|
+
// Set parent relationship
|
110
|
+
parentOf.set(targetBlock.nodeID, node.nodeID);
|
111
|
+
});
|
112
|
+
});
|
113
|
+
// Find root nodes (nodes with no parents)
|
114
|
+
const roots = Array.from(parentNodes.values()).filter((b) => !parentOf.has(b.nodeID));
|
115
|
+
if (roots.length === 0)
|
116
|
+
throw new Error('Graph has cycles or no root block.');
|
117
|
+
// Temporary debugging
|
118
|
+
if (typeof globalThis !== 'undefined') {
|
119
|
+
globalThis.debugNodePositioning = {
|
120
|
+
parentNodes: Array.from(parentNodes.keys()),
|
121
|
+
roots: roots.map((r) => r.nodeID),
|
122
|
+
childrenOf: Object.fromEntries(childrenOf),
|
123
|
+
parentOf: Object.fromEntries(parentOf),
|
124
|
+
};
|
125
|
+
}
|
126
|
+
// If all nodes are roots (no parent-child relationships), position them in a simple grid
|
127
|
+
if (roots.length === parentNodes.size) {
|
128
|
+
let x = 0;
|
129
|
+
let y = 0;
|
130
|
+
const maxNodesPerRow = 3; // Adjust as needed
|
131
|
+
roots.forEach((node, index) => {
|
132
|
+
node.coords[0] = x;
|
133
|
+
node.coords[1] = y;
|
134
|
+
if ((index + 1) % maxNodesPerRow === 0) {
|
135
|
+
x = 0;
|
136
|
+
y += blockHeight + vGap;
|
137
|
+
}
|
138
|
+
else {
|
139
|
+
x += blockWidth + hGap;
|
140
|
+
}
|
141
|
+
});
|
142
|
+
return nodes;
|
143
|
+
}
|
144
|
+
// First pass: assign depth (X coordinate) to each node
|
145
|
+
const nodeDepths = new Map();
|
146
|
+
// Use BFS to assign depths, handling cycles properly
|
147
|
+
const queue = [];
|
148
|
+
// Start with all roots at depth 0
|
149
|
+
roots.forEach((root) => {
|
150
|
+
nodeDepths.set(root.nodeID, 0);
|
151
|
+
queue.push({ nodeId: root.nodeID, depth: 0 });
|
152
|
+
});
|
153
|
+
// Process queue until empty
|
154
|
+
while (queue.length > 0) {
|
155
|
+
const { nodeId, depth } = queue.shift();
|
156
|
+
const children = childrenOf.get(nodeId) ?? [];
|
157
|
+
children.forEach((childId) => {
|
158
|
+
const currentDepth = nodeDepths.get(childId);
|
159
|
+
const newDepth = depth + 1;
|
160
|
+
// Only update if we haven't seen this node or found a shorter path
|
161
|
+
if (currentDepth === undefined || newDepth < currentDepth) {
|
162
|
+
nodeDepths.set(childId, newDepth);
|
163
|
+
queue.push({ nodeId: childId, depth: newDepth });
|
164
|
+
}
|
165
|
+
});
|
166
|
+
}
|
167
|
+
// Second pass: group nodes by depth and assign Y coordinates
|
168
|
+
const nodesByDepth = new Map();
|
169
|
+
parentNodes.forEach((node) => {
|
170
|
+
const depth = nodeDepths.get(node.nodeID) ?? 0;
|
171
|
+
if (!nodesByDepth.has(depth)) {
|
172
|
+
nodesByDepth.set(depth, []);
|
173
|
+
}
|
174
|
+
nodesByDepth.get(depth).push(node);
|
175
|
+
});
|
176
|
+
// Position nodes: X by depth, Y by order within depth
|
177
|
+
nodesByDepth.forEach((nodesAtDepth, depth) => {
|
178
|
+
const x = depth * (blockWidth + hGap);
|
179
|
+
nodesAtDepth.forEach((node, index) => {
|
180
|
+
const y = index * (blockHeight + vGap);
|
181
|
+
// Create a new coords array to avoid shared reference issues
|
182
|
+
node.coords = [x, y];
|
183
|
+
});
|
184
|
+
});
|
185
|
+
return nodes;
|
186
|
+
};
|
44
187
|
//# sourceMappingURL=node.util.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"node.util.js","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,
|
1
|
+
{"version":3,"file":"node.util.js","sourceRoot":"","sources":["../../src/node.util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@voiceflow/utils-designer",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.64.0",
|
4
4
|
"exports": {
|
5
5
|
".": {
|
6
6
|
"types": "./build/cjs/main.d.ts",
|
@@ -32,7 +32,7 @@
|
|
32
32
|
},
|
33
33
|
"dependencies": {
|
34
34
|
"@voiceflow/common": "8.8.0",
|
35
|
-
"@voiceflow/dtos": "1.
|
35
|
+
"@voiceflow/dtos": "1.377.0",
|
36
36
|
"bidirectional-adapter": "1.2.1",
|
37
37
|
"polished": "4.2.2",
|
38
38
|
"slate": "0.94.1",
|
@@ -44,5 +44,5 @@
|
|
44
44
|
"volta": {
|
45
45
|
"extends": "../../package.json"
|
46
46
|
},
|
47
|
-
"gitHead": "
|
47
|
+
"gitHead": "4cf7c93573828e8be2507bcb43a33c03c736cc3e"
|
48
48
|
}
|