@n8n/workflow-sdk 0.35.3 → 0.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/generate-types/generate-types.d.ts +4 -2
- package/dist/generate-types/generate-types.js +175 -111
- package/dist/generate-types/generate-types.js.map +1 -1
- package/dist/generate-types/generate-zod-schemas.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/index.js +4 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/required-subnode-connections.d.ts +36 -0
- package/dist/validation/required-subnode-connections.js +131 -0
- package/dist/validation/required-subnode-connections.js.map +1 -0
- package/dist/validation.d.ts +1 -1
- package/dist/validation.js +3 -1
- package/dist/validation.js.map +1 -1
- package/dist/workflow-builder/group-layout-utils.d.ts +32 -0
- package/dist/workflow-builder/group-layout-utils.js +211 -0
- package/dist/workflow-builder/group-layout-utils.js.map +1 -0
- package/dist/workflow-builder/layout-utils.d.ts +1 -1
- package/dist/workflow-builder/layout-utils.js +212 -203
- package/dist/workflow-builder/layout-utils.js.map +1 -1
- package/dist/workflow-builder/node-builders/node-builder.d.ts +1 -1
- package/dist/workflow-builder/node-builders/node-builder.js +12 -1
- package/dist/workflow-builder/node-builders/node-builder.js.map +1 -1
- package/dist/workflow-builder/subnode-utils.js.map +1 -1
- package/dist/workflow-builder.js +15 -3
- package/dist/workflow-builder.js.map +1 -1
- package/package.json +12 -9
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.memberOriginFor = memberOriginFor;
|
|
7
|
+
exports.collapseNodeGroups = collapseNodeGroups;
|
|
8
|
+
exports.placeGroupMembers = placeGroupMembers;
|
|
9
|
+
const dagre_1 = __importDefault(require("@dagrejs/dagre"));
|
|
10
|
+
const constants_1 = require("./constants");
|
|
11
|
+
const base_1 = require("../types/base");
|
|
12
|
+
const GROUP_GRAPH_ID_PREFIX = '__nodeGroup__:';
|
|
13
|
+
const GROUP_HEADER_TO_MEMBERS_Y = constants_1.GROUP_PADDING_Y_TOP + constants_1.GROUP_HEADER_HEIGHT;
|
|
14
|
+
function memberOriginFor(headerCoordinate, padding, snapToGrid) {
|
|
15
|
+
const base = snapToGrid(headerCoordinate + padding);
|
|
16
|
+
let best = base;
|
|
17
|
+
let bestError = Infinity;
|
|
18
|
+
for (const candidate of [base - constants_1.GRID_SIZE, base, base + constants_1.GRID_SIZE]) {
|
|
19
|
+
const error = Math.abs(snapToGrid(candidate - padding) - headerCoordinate);
|
|
20
|
+
if (error < bestError) {
|
|
21
|
+
bestError = error;
|
|
22
|
+
best = candidate;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return best;
|
|
26
|
+
}
|
|
27
|
+
function isStickyNode(graphNode) {
|
|
28
|
+
return graphNode?.instance.type === constants_1.STICKY_NODE_TYPE;
|
|
29
|
+
}
|
|
30
|
+
function resolveGroup(group, index, keyByNodeId, nodes) {
|
|
31
|
+
const memberKeys = [];
|
|
32
|
+
for (const memberId of group.memberIds) {
|
|
33
|
+
const memberKey = keyByNodeId.get(memberId);
|
|
34
|
+
if (memberKey === undefined || !nodes.has(memberKey))
|
|
35
|
+
continue;
|
|
36
|
+
if (!memberKeys.includes(memberKey))
|
|
37
|
+
memberKeys.push(memberKey);
|
|
38
|
+
}
|
|
39
|
+
if (memberKeys.length === 0)
|
|
40
|
+
return undefined;
|
|
41
|
+
return {
|
|
42
|
+
index,
|
|
43
|
+
memberKeys,
|
|
44
|
+
regularMemberKeys: memberKeys.filter((key) => !isStickyNode(nodes.get(key))),
|
|
45
|
+
stickyMemberKeys: memberKeys.filter((key) => isStickyNode(nodes.get(key))),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function hasExplicitPosition(graphNode) {
|
|
49
|
+
return graphNode?.instance.config?.position !== undefined;
|
|
50
|
+
}
|
|
51
|
+
function hasExplicitStickySize(graphNode) {
|
|
52
|
+
const parameters = graphNode.instance.config?.parameters;
|
|
53
|
+
return typeof parameters?.width === 'number' || typeof parameters?.height === 'number';
|
|
54
|
+
}
|
|
55
|
+
function hasDeterministicStickyGeometry(stickyKey, group, nodes, keyByNodeId) {
|
|
56
|
+
const graphNode = nodes.get(stickyKey);
|
|
57
|
+
if (!graphNode || hasExplicitPosition(graphNode) || hasExplicitStickySize(graphNode)) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (!(0, base_1.isAnchoredStickyNote)(graphNode.instance) ||
|
|
61
|
+
graphNode.instance.stickyAnchorIds.length === 0) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const regularMemberKeys = new Set(group.regularMemberKeys);
|
|
65
|
+
return graphNode.instance.stickyAnchorIds.every((anchorId) => {
|
|
66
|
+
const anchorKey = keyByNodeId.get(anchorId);
|
|
67
|
+
return anchorKey !== undefined && regularMemberKeys.has(anchorKey);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function findConflictingGroupIndexes(groups) {
|
|
71
|
+
const indexesByMemberKey = new Map();
|
|
72
|
+
for (const group of groups) {
|
|
73
|
+
for (const memberKey of group.memberKeys) {
|
|
74
|
+
const indexes = indexesByMemberKey.get(memberKey) ?? [];
|
|
75
|
+
indexes.push(group.index);
|
|
76
|
+
indexesByMemberKey.set(memberKey, indexes);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const conflictingIndexes = new Set();
|
|
80
|
+
for (const indexes of indexesByMemberKey.values()) {
|
|
81
|
+
if (indexes.length < 2)
|
|
82
|
+
continue;
|
|
83
|
+
for (const index of indexes)
|
|
84
|
+
conflictingIndexes.add(index);
|
|
85
|
+
}
|
|
86
|
+
return conflictingIndexes;
|
|
87
|
+
}
|
|
88
|
+
function isEligibleGroup(group, conflictingIndexes, parentGraph, ungroupableKeys, nodes, keyByNodeId) {
|
|
89
|
+
if (conflictingIndexes.has(group.index))
|
|
90
|
+
return false;
|
|
91
|
+
if (group.regularMemberKeys.length === 0)
|
|
92
|
+
return false;
|
|
93
|
+
if (!group.regularMemberKeys.every((memberKey) => parentGraph.hasNode(memberKey) && !ungroupableKeys.has(memberKey))) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
return group.stickyMemberKeys.every((stickyKey) => hasDeterministicStickyGeometry(stickyKey, group, nodes, keyByNodeId));
|
|
97
|
+
}
|
|
98
|
+
function createSyntheticGroupId(index, takenKeys) {
|
|
99
|
+
let graphId = `${GROUP_GRAPH_ID_PREFIX}${index}`;
|
|
100
|
+
while (takenKeys.has(graphId))
|
|
101
|
+
graphId += ':';
|
|
102
|
+
return graphId;
|
|
103
|
+
}
|
|
104
|
+
function graphBoxesAtOrigin(group, memberOrigin, boundingBoxFromGraph) {
|
|
105
|
+
const memberBox = boundingBoxFromGraph(group.graph);
|
|
106
|
+
return new Map(group.graph.nodes().map((nodeId) => {
|
|
107
|
+
const node = group.graph.node(nodeId);
|
|
108
|
+
return [
|
|
109
|
+
nodeId,
|
|
110
|
+
{
|
|
111
|
+
x: node.x - node.width / 2 + memberOrigin.x - memberBox.x,
|
|
112
|
+
y: node.y - node.height / 2 + memberOrigin.y - memberBox.y,
|
|
113
|
+
width: node.width,
|
|
114
|
+
height: node.height,
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
119
|
+
function derivedStickyBoxesAtOrigin(group, memberBoxes, nodes, keyByNodeId, wrappingBoxFor) {
|
|
120
|
+
return group.stickyMemberKeys.flatMap((stickyKey) => {
|
|
121
|
+
const sticky = nodes.get(stickyKey);
|
|
122
|
+
if (!sticky || !(0, base_1.isAnchoredStickyNote)(sticky.instance))
|
|
123
|
+
return [];
|
|
124
|
+
const anchorBoxes = sticky.instance.stickyAnchorIds
|
|
125
|
+
.map((anchorId) => keyByNodeId.get(anchorId))
|
|
126
|
+
.filter((anchorKey) => anchorKey !== undefined)
|
|
127
|
+
.map((anchorKey) => memberBoxes.get(anchorKey))
|
|
128
|
+
.filter((box) => box !== undefined);
|
|
129
|
+
const wrappingBox = wrappingBoxFor(anchorBoxes);
|
|
130
|
+
return wrappingBox ? [wrappingBox] : [];
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
function collapseNodeGroups(parentGraph, nodeGroups, nodes, keyByNodeId, excludedKeys, { canCollapseMembers, createSubGraph, layoutSubGraph }) {
|
|
134
|
+
const collapsed = [];
|
|
135
|
+
const resolvedGroups = nodeGroups
|
|
136
|
+
.map((group, index) => resolveGroup(group, index, keyByNodeId, nodes))
|
|
137
|
+
.filter((group) => group !== undefined);
|
|
138
|
+
const conflictingIndexes = findConflictingGroupIndexes(resolvedGroups);
|
|
139
|
+
const takenKeys = new Set(parentGraph.nodes());
|
|
140
|
+
for (const group of resolvedGroups) {
|
|
141
|
+
if (!isEligibleGroup(group, conflictingIndexes, parentGraph, excludedKeys, nodes, keyByNodeId) ||
|
|
142
|
+
(canCollapseMembers !== undefined && !canCollapseMembers(group.memberKeys, parentGraph))) {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const memberKeySet = new Set(group.regularMemberKeys);
|
|
146
|
+
const crossingEdges = parentGraph
|
|
147
|
+
.edges()
|
|
148
|
+
.filter((edge) => memberKeySet.has(edge.v) !== memberKeySet.has(edge.w));
|
|
149
|
+
const graph = layoutSubGraph
|
|
150
|
+
? layoutSubGraph(group.regularMemberKeys, parentGraph)
|
|
151
|
+
: createSubGraph(group.regularMemberKeys, parentGraph);
|
|
152
|
+
if (!layoutSubGraph)
|
|
153
|
+
dagre_1.default.layout(graph, { disableOptimalOrderHeuristic: true });
|
|
154
|
+
group.regularMemberKeys.forEach((key) => parentGraph.removeNode(key));
|
|
155
|
+
const graphId = createSyntheticGroupId(group.index, takenKeys);
|
|
156
|
+
takenKeys.add(graphId);
|
|
157
|
+
parentGraph.setNode(graphId, {
|
|
158
|
+
width: constants_1.GROUP_HEADER_WIDTH_COLLAPSED,
|
|
159
|
+
height: constants_1.GROUP_HEADER_HEIGHT,
|
|
160
|
+
});
|
|
161
|
+
for (const edge of crossingEdges) {
|
|
162
|
+
const source = memberKeySet.has(edge.v) ? graphId : edge.v;
|
|
163
|
+
const target = memberKeySet.has(edge.w) ? graphId : edge.w;
|
|
164
|
+
if (source !== target)
|
|
165
|
+
parentGraph.setEdge(source, target);
|
|
166
|
+
}
|
|
167
|
+
collapsed.push({
|
|
168
|
+
graphId,
|
|
169
|
+
graph,
|
|
170
|
+
regularMemberKeys: group.regularMemberKeys,
|
|
171
|
+
stickyMemberKeys: group.stickyMemberKeys,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
return collapsed;
|
|
175
|
+
}
|
|
176
|
+
function placeGroupMembers(group, headerBox, boundingBoxByNodeId, { boundingBoxFromGraph, compositeBoundingBox, keyByNodeId, nodes, snapToGrid, wrappingBoxFor, }) {
|
|
177
|
+
const memberOrigin = {
|
|
178
|
+
x: memberOriginFor(headerBox.x, constants_1.GROUP_PADDING_X, snapToGrid),
|
|
179
|
+
y: memberOriginFor(headerBox.y, GROUP_HEADER_TO_MEMBERS_Y, snapToGrid),
|
|
180
|
+
};
|
|
181
|
+
if (group.stickyMemberKeys.length === 0) {
|
|
182
|
+
const memberBox = boundingBoxFromGraph(group.graph);
|
|
183
|
+
const offsetX = memberOrigin.x - memberBox.x;
|
|
184
|
+
const offsetY = memberOrigin.y - memberBox.y;
|
|
185
|
+
for (const key of group.graph.nodes()) {
|
|
186
|
+
const member = group.graph.node(key);
|
|
187
|
+
boundingBoxByNodeId[key] = {
|
|
188
|
+
x: member.x - member.width / 2 + offsetX,
|
|
189
|
+
y: member.y - member.height / 2 + offsetY,
|
|
190
|
+
width: member.width,
|
|
191
|
+
height: member.height,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
const memberBoxes = graphBoxesAtOrigin(group, memberOrigin, boundingBoxFromGraph);
|
|
197
|
+
const stickyBoxes = derivedStickyBoxesAtOrigin(group, memberBoxes, nodes, keyByNodeId, wrappingBoxFor);
|
|
198
|
+
const inclusiveBox = compositeBoundingBox([...memberBoxes.values(), ...stickyBoxes]);
|
|
199
|
+
const offset = {
|
|
200
|
+
x: memberOrigin.x - inclusiveBox.x,
|
|
201
|
+
y: memberOrigin.y - inclusiveBox.y,
|
|
202
|
+
};
|
|
203
|
+
for (const [memberKey, box] of memberBoxes) {
|
|
204
|
+
boundingBoxByNodeId[memberKey] = {
|
|
205
|
+
...box,
|
|
206
|
+
x: box.x + offset.x,
|
|
207
|
+
y: box.y + offset.y,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=group-layout-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-layout-utils.js","sourceRoot":"","sources":["../../src/workflow-builder/group-layout-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type GraphNode } from '../types/base';
|
|
2
2
|
import type { ResolvedNodeGroup } from './plugins/types';
|
|
3
3
|
export declare function calculateNodePositions(nodes: ReadonlyMap<string, GraphNode>): Map<string, [number, number]>;
|
|
4
|
-
export declare function getNodeDimensions(nodeName: string, aiParentNames:
|
|
4
|
+
export declare function getNodeDimensions(nodeName: string, aiParentNames: ReadonlySet<string>, aiConfigNames: ReadonlySet<string>, nodes: ReadonlyMap<string, GraphNode>): {
|
|
5
5
|
width: number;
|
|
6
6
|
height: number;
|
|
7
7
|
};
|