@n8n/workflow-sdk 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ast-interpreter/interpreter.js +14 -0
- package/dist/ast-interpreter/interpreter.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/codegen/code-generator.d.ts +2 -1
- package/dist/codegen/code-generator.js +114 -45
- package/dist/codegen/code-generator.js.map +1 -1
- package/dist/codegen/composite-builder.js +261 -74
- package/dist/codegen/composite-builder.js.map +1 -1
- package/dist/codegen/composite-handlers/build-utils.js +21 -4
- package/dist/codegen/composite-handlers/build-utils.js.map +1 -1
- package/dist/codegen/composite-handlers/if-else-handler.js +18 -0
- package/dist/codegen/composite-handlers/if-else-handler.js.map +1 -1
- package/dist/codegen/composite-handlers/switch-case-handler.js +4 -1
- package/dist/codegen/composite-handlers/switch-case-handler.js.map +1 -1
- package/dist/codegen/composite-tree.d.ts +2 -0
- package/dist/codegen/constants.js +6 -1
- package/dist/codegen/constants.js.map +1 -1
- package/dist/codegen/output-utils.d.ts +1 -0
- package/dist/codegen/output-utils.js +11 -0
- package/dist/codegen/output-utils.js.map +1 -1
- package/dist/codegen/semantic-graph.js +55 -9
- package/dist/codegen/semantic-graph.js.map +1 -1
- package/dist/codegen/semantic-registry.js +1 -1
- package/dist/codegen/semantic-registry.js.map +1 -1
- package/dist/codegen/subnode-generator.js +18 -9
- package/dist/codegen/subnode-generator.js.map +1 -1
- package/dist/codegen/types.d.ts +1 -0
- package/dist/codegen/variable-names.js +10 -0
- package/dist/codegen/variable-names.js.map +1 -1
- package/dist/types/base.d.ts +7 -2
- package/dist/types/base.js +49 -0
- package/dist/types/base.js.map +1 -1
- package/dist/validation/test-schema-setup.js +2 -1
- package/dist/validation/test-schema-setup.js.map +1 -1
- package/dist/workflow-builder/node-builders/node-builder.js +22 -19
- package/dist/workflow-builder/node-builders/node-builder.js.map +1 -1
- package/dist/workflow-builder/plugins/composite-handlers/if-else-handler.js +32 -0
- package/dist/workflow-builder/plugins/composite-handlers/if-else-handler.js.map +1 -1
- package/dist/workflow-builder/plugins/validators/disconnected-node-validator.js +2 -1
- package/dist/workflow-builder/plugins/validators/disconnected-node-validator.js.map +1 -1
- package/dist/workflow-builder/subnode-utils.js +70 -115
- package/dist/workflow-builder/subnode-utils.js.map +1 -1
- package/dist/workflow-builder/workflow-import.d.ts +1 -1
- package/dist/workflow-builder/workflow-import.js +16 -4
- package/dist/workflow-builder/workflow-import.js.map +1 -1
- package/dist/workflow-builder.js +75 -12
- package/dist/workflow-builder.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,6 +6,18 @@ const merge_pattern_1 = require("./merge-pattern");
|
|
|
6
6
|
const output_utils_1 = require("./output-utils");
|
|
7
7
|
const semantic_registry_1 = require("./semantic-registry");
|
|
8
8
|
const sib_merge_handler_1 = require("./sib-merge-handler");
|
|
9
|
+
function stripTrailingDeferredMergeVarRef(composite, deferredMergeNodes) {
|
|
10
|
+
if (composite.kind !== 'chain')
|
|
11
|
+
return composite;
|
|
12
|
+
const last = composite.nodes[composite.nodes.length - 1];
|
|
13
|
+
if (last?.kind === 'varRef' && deferredMergeNodes.has(last.nodeName)) {
|
|
14
|
+
if (composite.nodes.length === 2) {
|
|
15
|
+
return composite.nodes[0];
|
|
16
|
+
}
|
|
17
|
+
return { kind: 'chain', nodes: composite.nodes.slice(0, -1) };
|
|
18
|
+
}
|
|
19
|
+
return composite;
|
|
20
|
+
}
|
|
9
21
|
function buildBranchTargets(targets, ctx, sourceNodeName, sourceOutputIndex) {
|
|
10
22
|
if (targets.length === 0)
|
|
11
23
|
return null;
|
|
@@ -32,7 +44,21 @@ function buildBranchTargets(targets, ctx, sourceNodeName, sourceOutputIndex) {
|
|
|
32
44
|
targetNode,
|
|
33
45
|
targetInputIndex: inputIndex,
|
|
34
46
|
});
|
|
35
|
-
return
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
if (targetNode && sourceNodeName && singleTarget.targetInputSlot) {
|
|
50
|
+
const targetInputIndex = (0, build_utils_1.extractInputIndex)(singleTarget.targetInputSlot);
|
|
51
|
+
if (targetInputIndex > 0) {
|
|
52
|
+
ctx.variables.set(sourceNodeName, ctx.graph.nodes.get(sourceNodeName) ?? targetNode);
|
|
53
|
+
ctx.variables.set(singleTarget.target, targetNode);
|
|
54
|
+
ctx.deferredConnections.push({
|
|
55
|
+
sourceNodeName,
|
|
56
|
+
sourceOutputIndex: sourceOutputIndex ?? 0,
|
|
57
|
+
targetNode,
|
|
58
|
+
targetInputIndex,
|
|
59
|
+
});
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
36
62
|
}
|
|
37
63
|
return buildFromNode(singleTarget.target, ctx);
|
|
38
64
|
}
|
|
@@ -92,6 +118,7 @@ function buildBranchTargets(targets, ctx, sourceNodeName, sourceOutputIndex) {
|
|
|
92
118
|
ctx.deferredConnections.push({
|
|
93
119
|
sourceNodeName: source.from,
|
|
94
120
|
sourceOutputIndex: (0, build_utils_1.getOutputIndex)(source.outputSlot),
|
|
121
|
+
isErrorOutput: source.outputSlot === 'error' || undefined,
|
|
95
122
|
targetNode: mergeNode,
|
|
96
123
|
targetInputIndex: inputIndex,
|
|
97
124
|
});
|
|
@@ -165,11 +192,43 @@ function buildIfElse(node, ctx) {
|
|
|
165
192
|
};
|
|
166
193
|
const trueBranch = buildBranchTargets(trueBranchTargets, branchCtx, node.name, 0);
|
|
167
194
|
const falseBranch = buildBranchTargets(falseBranchTargets, branchCtx, node.name, 1);
|
|
195
|
+
let errorHandler;
|
|
196
|
+
if ((0, build_utils_1.hasErrorOutput)(node)) {
|
|
197
|
+
const errorTargets = (0, build_utils_1.getErrorOutputTargets)(node);
|
|
198
|
+
if (errorTargets.length > 0) {
|
|
199
|
+
const firstErrorTarget = errorTargets[0];
|
|
200
|
+
const errorTargetNode = ctx.graph.nodes.get(firstErrorTarget);
|
|
201
|
+
if (errorTargetNode && (0, build_utils_1.isMergeType)(errorTargetNode.type)) {
|
|
202
|
+
ctx.variables.set(node.name, node);
|
|
203
|
+
ctx.variables.set(firstErrorTarget, errorTargetNode);
|
|
204
|
+
const errorConns = node.outputs.get('error') ?? [];
|
|
205
|
+
const errorConn = errorConns.find((c) => c.target === firstErrorTarget);
|
|
206
|
+
const targetInputIndex = errorConn ? (0, build_utils_1.extractInputIndex)(errorConn.targetInputSlot) : 0;
|
|
207
|
+
ctx.deferredConnections.push({
|
|
208
|
+
sourceNodeName: node.name,
|
|
209
|
+
sourceOutputIndex: 0,
|
|
210
|
+
targetNode: errorTargetNode,
|
|
211
|
+
targetInputIndex,
|
|
212
|
+
isErrorOutput: true,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
else if (ctx.visited.has(firstErrorTarget)) {
|
|
216
|
+
if (errorTargetNode) {
|
|
217
|
+
ctx.variables.set(firstErrorTarget, errorTargetNode);
|
|
218
|
+
errorHandler = (0, build_utils_1.createVarRef)(firstErrorTarget);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
errorHandler = buildFromNode(firstErrorTarget, ctx);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
168
226
|
return {
|
|
169
227
|
kind: 'ifElse',
|
|
170
228
|
ifNode: node,
|
|
171
229
|
trueBranch,
|
|
172
230
|
falseBranch,
|
|
231
|
+
errorHandler,
|
|
173
232
|
};
|
|
174
233
|
}
|
|
175
234
|
function buildSwitchCase(node, ctx) {
|
|
@@ -188,7 +247,11 @@ function buildSwitchCase(node, ctx) {
|
|
|
188
247
|
outputIndex = caseIndex;
|
|
189
248
|
}
|
|
190
249
|
else if (outputName === 'fallback') {
|
|
191
|
-
const
|
|
250
|
+
const params = node.json.parameters;
|
|
251
|
+
const rules = params?.rules;
|
|
252
|
+
const rulesArray = (rules?.rules ?? rules?.values);
|
|
253
|
+
const numCases = rulesArray?.length ?? 4;
|
|
254
|
+
const fallbackIndex = numCases;
|
|
192
255
|
caseIndices.push(fallbackIndex);
|
|
193
256
|
outputIndex = fallbackIndex;
|
|
194
257
|
}
|
|
@@ -226,6 +289,7 @@ function buildMerge(node, ctx) {
|
|
|
226
289
|
ctx.deferredConnections.push({
|
|
227
290
|
sourceNodeName: source.from,
|
|
228
291
|
sourceOutputIndex: (0, build_utils_1.getOutputIndex)(source.outputSlot),
|
|
292
|
+
isErrorOutput: source.outputSlot === 'error' || undefined,
|
|
229
293
|
targetNode: node,
|
|
230
294
|
targetInputIndex: inputIndex,
|
|
231
295
|
});
|
|
@@ -287,10 +351,24 @@ function buildFromNode(nodeName, ctx) {
|
|
|
287
351
|
const errorTargets = (0, build_utils_1.getErrorOutputTargets)(node);
|
|
288
352
|
if (errorTargets.length > 0) {
|
|
289
353
|
const firstErrorTarget = errorTargets[0];
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
354
|
+
const errorTargetNode = ctx.graph.nodes.get(firstErrorTarget);
|
|
355
|
+
if (errorTargetNode && (0, build_utils_1.isMergeType)(errorTargetNode.type)) {
|
|
356
|
+
ctx.variables.set(node.name, node);
|
|
357
|
+
ctx.variables.set(firstErrorTarget, errorTargetNode);
|
|
358
|
+
const errorConns = node.outputs.get('error') ?? [];
|
|
359
|
+
const errorConn = errorConns.find((c) => c.target === firstErrorTarget);
|
|
360
|
+
const targetInputIndex = errorConn ? (0, build_utils_1.extractInputIndex)(errorConn.targetInputSlot) : 0;
|
|
361
|
+
ctx.deferredConnections.push({
|
|
362
|
+
sourceNodeName: node.name,
|
|
363
|
+
sourceOutputIndex: 0,
|
|
364
|
+
targetNode: errorTargetNode,
|
|
365
|
+
targetInputIndex,
|
|
366
|
+
isErrorOutput: true,
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
else if (ctx.visited.has(firstErrorTarget)) {
|
|
370
|
+
if (errorTargetNode) {
|
|
371
|
+
ctx.variables.set(firstErrorTarget, errorTargetNode);
|
|
294
372
|
errorHandler = (0, build_utils_1.createVarRef)(firstErrorTarget);
|
|
295
373
|
}
|
|
296
374
|
}
|
|
@@ -303,65 +381,17 @@ function buildFromNode(nodeName, ctx) {
|
|
|
303
381
|
}
|
|
304
382
|
}
|
|
305
383
|
if (compositeType === 'merge') {
|
|
306
|
-
const mergeOutputs = (0, build_utils_1.getAllFirstOutputTargets)(node);
|
|
307
|
-
const unvisitedOutputs = mergeOutputs.filter((target) => !ctx.visited.has(target));
|
|
308
|
-
if (unvisitedOutputs.length === 1) {
|
|
309
|
-
const nextComposite = buildFromNode(unvisitedOutputs[0], ctx);
|
|
310
|
-
return {
|
|
311
|
-
kind: 'chain',
|
|
312
|
-
nodes: [compositeNode, nextComposite],
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
if (unvisitedOutputs.length > 1) {
|
|
316
|
-
const fanOutBranches = [];
|
|
317
|
-
for (const target of unvisitedOutputs) {
|
|
318
|
-
fanOutBranches.push(buildFromNode(target, ctx));
|
|
319
|
-
}
|
|
320
|
-
if (fanOutBranches.length === 1) {
|
|
321
|
-
return {
|
|
322
|
-
kind: 'chain',
|
|
323
|
-
nodes: [compositeNode, fanOutBranches[0]],
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
const fanOut = {
|
|
327
|
-
kind: 'fanOut',
|
|
328
|
-
sourceNode: compositeNode,
|
|
329
|
-
targets: fanOutBranches,
|
|
330
|
-
};
|
|
331
|
-
return fanOut;
|
|
332
|
-
}
|
|
333
|
-
const visitedOutputs = mergeOutputs.filter((target) => ctx.visited.has(target));
|
|
334
|
-
if (visitedOutputs.length > 0) {
|
|
335
|
-
const loopTargets = [];
|
|
336
|
-
for (const target of visitedOutputs) {
|
|
337
|
-
const targetNode = ctx.graph.nodes.get(target);
|
|
338
|
-
if (targetNode) {
|
|
339
|
-
ctx.variables.set(target, targetNode);
|
|
340
|
-
loopTargets.push((0, build_utils_1.createVarRef)(target));
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
if (loopTargets.length === 1) {
|
|
344
|
-
return {
|
|
345
|
-
kind: 'chain',
|
|
346
|
-
nodes: [compositeNode, loopTargets[0]],
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
if (loopTargets.length > 1) {
|
|
350
|
-
return {
|
|
351
|
-
kind: 'chain',
|
|
352
|
-
nodes: [compositeNode, ...loopTargets],
|
|
353
|
-
};
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
384
|
return compositeNode;
|
|
357
385
|
}
|
|
358
386
|
if (compositeType === undefined) {
|
|
359
|
-
if ((0, output_utils_1.hasMultipleOutputSlots)(node)
|
|
387
|
+
if ((0, output_utils_1.hasMultipleOutputSlots)(node) || (0, output_utils_1.hasNonZeroOutputIndex)(node)) {
|
|
360
388
|
const targetsByIndex = (0, output_utils_1.getOutputTargetsByIndex)(node);
|
|
361
389
|
const outputTargets = new Map();
|
|
362
390
|
for (const [outputIndex, targets] of targetsByIndex) {
|
|
363
391
|
if (targets.length === 1) {
|
|
364
392
|
const targetInfo = targets[0];
|
|
393
|
+
if (targetInfo.targetName === node.name)
|
|
394
|
+
continue;
|
|
365
395
|
const targetNode = ctx.graph.nodes.get(targetInfo.targetName);
|
|
366
396
|
if (targetNode) {
|
|
367
397
|
const targetInputIndex = (0, build_utils_1.extractInputIndex)(targetInfo.targetInputSlot);
|
|
@@ -387,6 +417,8 @@ function buildFromNode(nodeName, ctx) {
|
|
|
387
417
|
else if (targets.length > 1) {
|
|
388
418
|
const fanOutBranches = [];
|
|
389
419
|
for (const targetInfo of targets) {
|
|
420
|
+
if (targetInfo.targetName === node.name)
|
|
421
|
+
continue;
|
|
390
422
|
const targetNode = ctx.graph.nodes.get(targetInfo.targetName);
|
|
391
423
|
if (targetNode) {
|
|
392
424
|
const targetInputIndex = (0, build_utils_1.extractInputIndex)(targetInfo.targetInputSlot);
|
|
@@ -449,6 +481,7 @@ function buildFromNode(nodeName, ctx) {
|
|
|
449
481
|
ctx.deferredConnections.push({
|
|
450
482
|
sourceNodeName: source.from,
|
|
451
483
|
sourceOutputIndex: (0, build_utils_1.getOutputIndex)(source.outputSlot),
|
|
484
|
+
isErrorOutput: source.outputSlot === 'error' || undefined,
|
|
452
485
|
targetNode: mergePattern.mergeNode,
|
|
453
486
|
targetInputIndex: inputIndex,
|
|
454
487
|
});
|
|
@@ -457,7 +490,62 @@ function buildFromNode(nodeName, ctx) {
|
|
|
457
490
|
const builtBranches = [];
|
|
458
491
|
for (const branchName of mergePattern.branches) {
|
|
459
492
|
if (!ctx.visited.has(branchName)) {
|
|
460
|
-
|
|
493
|
+
const branchNode = ctx.graph.nodes.get(branchName);
|
|
494
|
+
if (branchNode && (0, build_utils_1.isMergeType)(branchNode.type)) {
|
|
495
|
+
ctx.visited.add(branchName);
|
|
496
|
+
ctx.variables.set(branchName, branchNode);
|
|
497
|
+
ctx.deferredMergeNodes.add(branchName);
|
|
498
|
+
const inputIndex = (0, merge_pattern_1.findMergeInputIndex)(branchNode, node.name);
|
|
499
|
+
ctx.deferredConnections.push({
|
|
500
|
+
sourceNodeName: node.name,
|
|
501
|
+
sourceOutputIndex: 0,
|
|
502
|
+
targetNode: branchNode,
|
|
503
|
+
targetInputIndex: inputIndex,
|
|
504
|
+
});
|
|
505
|
+
for (const [inputSlot, sources] of branchNode.inputSources) {
|
|
506
|
+
const idx = (0, build_utils_1.extractInputIndex)(inputSlot);
|
|
507
|
+
for (const source of sources) {
|
|
508
|
+
if (source.from === node.name)
|
|
509
|
+
continue;
|
|
510
|
+
const sourceNode = ctx.graph.nodes.get(source.from);
|
|
511
|
+
if (sourceNode) {
|
|
512
|
+
ctx.variables.set(source.from, sourceNode);
|
|
513
|
+
}
|
|
514
|
+
ctx.deferredConnections.push({
|
|
515
|
+
sourceNodeName: source.from,
|
|
516
|
+
sourceOutputIndex: (0, build_utils_1.getOutputIndex)(source.outputSlot),
|
|
517
|
+
isErrorOutput: source.outputSlot === 'error' || undefined,
|
|
518
|
+
targetNode: branchNode,
|
|
519
|
+
targetInputIndex: idx,
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
else {
|
|
525
|
+
builtBranches.push(buildFromNode(branchName, ctx));
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
const branchNode = ctx.graph.nodes.get(branchName);
|
|
530
|
+
if (branchNode) {
|
|
531
|
+
ctx.variables.set(branchName, branchNode);
|
|
532
|
+
if ((0, build_utils_1.isMergeType)(branchNode.type)) {
|
|
533
|
+
ctx.deferredMergeNodes.add(branchName);
|
|
534
|
+
const alreadyHasConnection = ctx.deferredConnections.some((c) => c.sourceNodeName === node.name && c.targetNode.name === branchName);
|
|
535
|
+
if (!alreadyHasConnection) {
|
|
536
|
+
const inputIndex = (0, merge_pattern_1.findMergeInputIndex)(branchNode, node.name);
|
|
537
|
+
ctx.deferredConnections.push({
|
|
538
|
+
sourceNodeName: node.name,
|
|
539
|
+
sourceOutputIndex: 0,
|
|
540
|
+
targetNode: branchNode,
|
|
541
|
+
targetInputIndex: inputIndex,
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
else {
|
|
546
|
+
builtBranches.push((0, build_utils_1.createVarRef)(branchName));
|
|
547
|
+
}
|
|
548
|
+
}
|
|
461
549
|
}
|
|
462
550
|
}
|
|
463
551
|
if (builtBranches.length > 0) {
|
|
@@ -492,6 +580,7 @@ function buildFromNode(nodeName, ctx) {
|
|
|
492
580
|
ctx.deferredConnections.push({
|
|
493
581
|
sourceNodeName: source.from,
|
|
494
582
|
sourceOutputIndex: (0, build_utils_1.getOutputIndex)(source.outputSlot),
|
|
583
|
+
isErrorOutput: source.outputSlot === 'error' || undefined,
|
|
495
584
|
targetNode: mergeNode,
|
|
496
585
|
targetInputIndex: inputIndex,
|
|
497
586
|
});
|
|
@@ -504,10 +593,7 @@ function buildFromNode(nodeName, ctx) {
|
|
|
504
593
|
}
|
|
505
594
|
}
|
|
506
595
|
if (builtBranches.length === 0) {
|
|
507
|
-
return
|
|
508
|
-
kind: 'chain',
|
|
509
|
-
nodes: [compositeNode, (0, build_utils_1.createVarRef)(mergeNode.name)],
|
|
510
|
-
};
|
|
596
|
+
return compositeNode;
|
|
511
597
|
}
|
|
512
598
|
if (builtBranches.length === 1) {
|
|
513
599
|
return {
|
|
@@ -527,6 +613,8 @@ function buildFromNode(nodeName, ctx) {
|
|
|
527
613
|
if (outputSlot === 'error')
|
|
528
614
|
continue;
|
|
529
615
|
for (const conn of connections) {
|
|
616
|
+
if (conn.target === node.name)
|
|
617
|
+
continue;
|
|
530
618
|
outputConnections.push({
|
|
531
619
|
target: conn.target,
|
|
532
620
|
targetInputSlot: conn.targetInputSlot,
|
|
@@ -554,23 +642,40 @@ function buildFromNode(nodeName, ctx) {
|
|
|
554
642
|
sourceOutputIndex,
|
|
555
643
|
targetNode,
|
|
556
644
|
targetInputIndex: inputIndex,
|
|
645
|
+
isErrorOutput: conn.outputSlot === 'error' || undefined,
|
|
557
646
|
});
|
|
558
647
|
}
|
|
559
|
-
else if (!nonMergeTargets.
|
|
560
|
-
nonMergeTargets.push(
|
|
648
|
+
else if (!nonMergeTargets.some((t) => t.target === conn.target)) {
|
|
649
|
+
nonMergeTargets.push({
|
|
650
|
+
target: conn.target,
|
|
651
|
+
targetInputSlot: conn.targetInputSlot,
|
|
652
|
+
outputSlot: conn.outputSlot,
|
|
653
|
+
});
|
|
561
654
|
}
|
|
562
655
|
}
|
|
563
656
|
const fanOutBranches = [];
|
|
564
|
-
for (const
|
|
565
|
-
const targetNode = ctx.graph.nodes.get(
|
|
657
|
+
for (const targetInfo of nonMergeTargets) {
|
|
658
|
+
const targetNode = ctx.graph.nodes.get(targetInfo.target);
|
|
566
659
|
if (targetNode) {
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
660
|
+
const targetInputIndex = (0, build_utils_1.extractInputIndex)(targetInfo.targetInputSlot);
|
|
661
|
+
if (targetInputIndex > 0) {
|
|
662
|
+
ctx.variables.set(node.name, node);
|
|
663
|
+
ctx.variables.set(targetInfo.target, targetNode);
|
|
664
|
+
ctx.deferredConnections.push({
|
|
665
|
+
targetNode,
|
|
666
|
+
targetInputIndex,
|
|
667
|
+
sourceNodeName: node.name,
|
|
668
|
+
sourceOutputIndex: (0, build_utils_1.getOutputIndex)(targetInfo.outputSlot),
|
|
669
|
+
isErrorOutput: targetInfo.outputSlot === 'error' || undefined,
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
else if (ctx.visited.has(targetInfo.target)) {
|
|
673
|
+
ctx.variables.set(targetInfo.target, targetNode);
|
|
674
|
+
fanOutBranches.push((0, build_utils_1.createVarRef)(targetInfo.target));
|
|
570
675
|
}
|
|
571
676
|
else {
|
|
572
|
-
const branchComposite = buildFromNode(
|
|
573
|
-
fanOutBranches.push(branchComposite);
|
|
677
|
+
const branchComposite = buildFromNode(targetInfo.target, ctx);
|
|
678
|
+
fanOutBranches.push(stripTrailingDeferredMergeVarRef(branchComposite, ctx.deferredMergeNodes));
|
|
574
679
|
}
|
|
575
680
|
}
|
|
576
681
|
}
|
|
@@ -625,7 +730,38 @@ function buildFromNode(nodeName, ctx) {
|
|
|
625
730
|
}
|
|
626
731
|
return compositeNode;
|
|
627
732
|
}
|
|
733
|
+
if (nextNode && !(0, build_utils_1.isMergeType)(nextNode.type)) {
|
|
734
|
+
let targetInputSlot = 'input0';
|
|
735
|
+
let sourceOutputSlot = 'output0';
|
|
736
|
+
for (const [outputName, connections] of node.outputs) {
|
|
737
|
+
if (outputName === 'error')
|
|
738
|
+
continue;
|
|
739
|
+
for (const conn of connections) {
|
|
740
|
+
if (conn.target === nextTarget) {
|
|
741
|
+
targetInputSlot = conn.targetInputSlot;
|
|
742
|
+
sourceOutputSlot = outputName;
|
|
743
|
+
break;
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
const targetInputIndex = (0, build_utils_1.extractInputIndex)(targetInputSlot);
|
|
748
|
+
if (targetInputIndex > 0) {
|
|
749
|
+
ctx.variables.set(node.name, node);
|
|
750
|
+
ctx.variables.set(nextTarget, nextNode);
|
|
751
|
+
ctx.deferredConnections.push({
|
|
752
|
+
targetNode: nextNode,
|
|
753
|
+
targetInputIndex,
|
|
754
|
+
sourceNodeName: node.name,
|
|
755
|
+
sourceOutputIndex: (0, build_utils_1.getOutputIndex)(sourceOutputSlot),
|
|
756
|
+
isErrorOutput: sourceOutputSlot === 'error' || undefined,
|
|
757
|
+
});
|
|
758
|
+
return compositeNode;
|
|
759
|
+
}
|
|
760
|
+
}
|
|
628
761
|
const nextComposite = buildFromNode(nextTarget, ctx);
|
|
762
|
+
if (ctx.deferredMergeNodes.has(nextTarget)) {
|
|
763
|
+
return compositeNode;
|
|
764
|
+
}
|
|
629
765
|
if (nextComposite.kind === 'chain') {
|
|
630
766
|
return {
|
|
631
767
|
kind: 'chain',
|
|
@@ -645,6 +781,9 @@ function buildFromNode(nodeName, ctx) {
|
|
|
645
781
|
if (outputConnections.length > 0 && compositeType !== 'splitInBatches') {
|
|
646
782
|
const nextTarget = outputConnections[0].target;
|
|
647
783
|
const nextComposite = buildFromNode(nextTarget, ctx);
|
|
784
|
+
if (ctx.deferredMergeNodes.has(nextTarget)) {
|
|
785
|
+
return compositeNode;
|
|
786
|
+
}
|
|
648
787
|
return {
|
|
649
788
|
kind: 'chain',
|
|
650
789
|
nodes: [compositeNode, nextComposite],
|
|
@@ -653,6 +792,34 @@ function buildFromNode(nodeName, ctx) {
|
|
|
653
792
|
}
|
|
654
793
|
return compositeNode;
|
|
655
794
|
}
|
|
795
|
+
function getDownstreamTargetName(chain) {
|
|
796
|
+
if (!chain)
|
|
797
|
+
return '';
|
|
798
|
+
switch (chain.kind) {
|
|
799
|
+
case 'varRef':
|
|
800
|
+
return chain.nodeName;
|
|
801
|
+
case 'leaf':
|
|
802
|
+
return chain.node.name;
|
|
803
|
+
case 'chain':
|
|
804
|
+
return chain.nodes.length > 0 ? getDownstreamTargetName(chain.nodes[0]) : '';
|
|
805
|
+
case 'ifElse':
|
|
806
|
+
return chain.ifNode.name;
|
|
807
|
+
case 'switchCase':
|
|
808
|
+
return chain.switchNode.name;
|
|
809
|
+
case 'merge':
|
|
810
|
+
return chain.mergeNode.name;
|
|
811
|
+
case 'splitInBatches':
|
|
812
|
+
return chain.sibNode.name;
|
|
813
|
+
case 'fanOut':
|
|
814
|
+
return getDownstreamTargetName(chain.sourceNode);
|
|
815
|
+
case 'explicitConnections':
|
|
816
|
+
return chain.nodes.length > 0 ? chain.nodes[0].name : '';
|
|
817
|
+
case 'multiOutput':
|
|
818
|
+
return chain.sourceNode.name;
|
|
819
|
+
default:
|
|
820
|
+
return '';
|
|
821
|
+
}
|
|
822
|
+
}
|
|
656
823
|
function buildCompositeTree(graph) {
|
|
657
824
|
const ctx = {
|
|
658
825
|
graph,
|
|
@@ -678,7 +845,10 @@ function buildCompositeTree(graph) {
|
|
|
678
845
|
const targetNode = graph.nodes.get(targetName);
|
|
679
846
|
if (!targetNode)
|
|
680
847
|
continue;
|
|
681
|
-
if (
|
|
848
|
+
if ((0, build_utils_1.isMergeType)(targetNode.type)) {
|
|
849
|
+
ctx.deferredMergeNodes.add(targetName);
|
|
850
|
+
ctx.variables.set(targetName, targetNode);
|
|
851
|
+
ctx.visited.add(targetName);
|
|
682
852
|
const inputIndex = (0, build_utils_1.extractInputIndex)(output.targetInputSlot);
|
|
683
853
|
ctx.deferredConnections.push({
|
|
684
854
|
targetNode,
|
|
@@ -708,11 +878,28 @@ function buildCompositeTree(graph) {
|
|
|
708
878
|
}
|
|
709
879
|
}
|
|
710
880
|
}
|
|
881
|
+
const seenConnections = new Set();
|
|
882
|
+
const uniqueConnections = ctx.deferredConnections.filter((conn) => {
|
|
883
|
+
const key = `${conn.sourceNodeName}:${conn.sourceOutputIndex}->${conn.targetNode.name}:${conn.targetInputIndex}:${conn.isErrorOutput ?? false}`;
|
|
884
|
+
if (seenConnections.has(key))
|
|
885
|
+
return false;
|
|
886
|
+
seenConnections.add(key);
|
|
887
|
+
return true;
|
|
888
|
+
});
|
|
889
|
+
const seenMergeDownstreams = new Set();
|
|
890
|
+
const uniqueMergeDownstreams = ctx.deferredMergeDownstreams.filter((d) => {
|
|
891
|
+
const targetName = getDownstreamTargetName(d.downstreamChain);
|
|
892
|
+
const key = `${d.mergeNode.name}->${targetName}`;
|
|
893
|
+
if (seenMergeDownstreams.has(key))
|
|
894
|
+
return false;
|
|
895
|
+
seenMergeDownstreams.add(key);
|
|
896
|
+
return true;
|
|
897
|
+
});
|
|
711
898
|
return {
|
|
712
899
|
roots,
|
|
713
900
|
variables: ctx.variables,
|
|
714
|
-
deferredConnections:
|
|
715
|
-
deferredMergeDownstreams:
|
|
901
|
+
deferredConnections: uniqueConnections,
|
|
902
|
+
deferredMergeDownstreams: uniqueMergeDownstreams,
|
|
716
903
|
};
|
|
717
904
|
}
|
|
718
905
|
//# sourceMappingURL=composite-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite-builder.js","sourceRoot":"","sources":["../../src/codegen/composite-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composite-builder.js","sourceRoot":"","sources":["../../src/codegen/composite-builder.ts"],"names":[],"mappings":"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"}
|