@oomol-lab/open-flow 0.1.0-beta.1 → 0.1.0-beta.10
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/browser/DesignerIcon-DjgOMYI5.js +2065 -0
- package/dist/browser/{createResourceDialog-DXQz0thK.js → createResourceDialog-DNBueSYZ.js} +161 -160
- package/dist/browser/{dist-BMqL-qR5.js → dist-BMRLCebL.js} +291 -292
- package/dist/browser/{dist-DWADUsVB.js → dist-By46o5UV.js} +47 -47
- package/dist/browser/dist-CP0883sY.js +4 -0
- package/dist/browser/{dist-CJpzJrLM.js → dist-Cc0y2Pli.js} +811 -812
- package/dist/browser/{dist-DUzA0Ukh.js → dist-Dg_VXC8f.js} +134 -135
- package/dist/browser/{dist-3Mj8q8Pr.js → dist-DmuE3M0R.js} +53 -54
- package/dist/browser/{dist-BN4ZCyOB.js → dist-DpDLsYtO.js} +14 -15
- package/dist/browser/dist-DxahK_I8.js +2688 -0
- package/dist/browser/{dist-CPuF50D9.js → dist-meg_oHVR.js} +335 -335
- package/dist/browser/{esm-DGQbgYoJ.js → esm-yhVU_KbQ.js} +5 -6
- package/dist/browser/flow-authoring-module.d.ts +2 -2
- package/dist/browser/flow-authoring-node.d.ts +6 -3
- package/dist/browser/flow-authoring.d.ts +1 -1
- package/dist/browser/flow-authoring.js +509 -209
- package/dist/browser/flow-change.d.ts +113 -9
- package/dist/browser/flow-change.js +323 -96
- package/dist/browser/flow-notifications.d.ts +5 -0
- package/dist/browser/flowChanges-B2ttnaj9.js +12265 -0
- package/dist/browser/{flowRunInputEditorStore-BeyUSWpO.js → flowRunInputEditorStore-DDidwd8h.js} +728 -719
- package/dist/browser/{flowWorkspace-DwyxAOBH.js → flowWorkspace-Dr8-Hut9.js} +40821 -42895
- package/dist/browser/{getPseudoElementBounds-ESJExRFX.js → getPseudoElementBounds-5LArT6Xc.js} +1827 -2322
- package/dist/browser/icons-KIOgjHpD.js +730 -0
- package/dist/browser/{markdownContent-DdlIRN3_.js → markdownContent-DUfLdnUt.js} +1 -1
- package/dist/browser/{typeScriptSession-mPCiA9sV.js → typeScriptSession-_TgJ_7Oq.js} +256 -257
- package/dist/browser/waitNotificationInputs-BPulOxYt.js +26 -0
- package/dist/browser/workbench.css +1 -1
- package/dist/browser/workbench.d.ts +3 -1
- package/dist/browser/workbench.js +1136 -1038
- package/dist/browser/{workbenchSelect-B2s1HV-Y.js → workbenchSelect-CbXrdwxW.js} +479 -478
- package/dist/common/control-api-conformance.d.ts +1 -0
- package/dist/common/control-api-conformance.js +126 -47
- package/dist/common/control-api-errors.d.ts +12 -0
- package/dist/common/control-api.d.ts +60 -15
- package/dist/common/control-api.js +225 -101
- package/dist/common/flow-encoding.js +24 -8
- package/dist/common/flow-notifications.d.ts +5 -0
- package/dist/common/flow-semantics.d.ts +1 -0
- package/dist/common/flow-semantics.js +3464 -1113
- package/dist/common/integration-trigger.d.ts +1 -0
- package/dist/common/provider-triggers.js +4 -1
- package/dist/common/run-events.js +2 -1
- package/dist/common/run-lifecycle.d.ts +17 -2
- package/dist/common/run-lifecycle.js +53 -2
- package/dist/common/runtime-contract.d.ts +1 -1
- package/dist/common/runtime-contract.js +27 -0
- package/dist/common/scheduler.d.ts +65 -4
- package/dist/common/scheduler.js +420 -146
- package/dist/index.d.ts +2 -1
- package/package.json +1 -1
- package/dist/browser/diagnostics-BGoGFvHA.js +0 -9237
- package/dist/browser/dist-BpopSHwP.js +0 -1543
- package/dist/browser/dist-CUSrALSX.js +0 -1620
|
@@ -21,22 +21,46 @@ var e = (e) => crypto.getRandomValues(new Uint8Array(e)), t = (e, t, n) => {
|
|
|
21
21
|
for (; s--;) if (t[s] < r && (o += e[t[s] % e.length], o.length >= a)) return o;
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
|
-
}, n = (n, r = 21) => t(n, r | 0, e), r =
|
|
25
|
-
function i() {
|
|
26
|
-
|
|
24
|
+
}, n = (n, r = 21) => t(n, r | 0, e), r = Object.prototype.hasOwnProperty;
|
|
25
|
+
function i(e, t) {
|
|
26
|
+
var n, a;
|
|
27
|
+
if (e === t) return !0;
|
|
28
|
+
if (e && t && (n = e.constructor) === t.constructor) {
|
|
29
|
+
if (n === Date) return e.getTime() === t.getTime();
|
|
30
|
+
if (n === RegExp) return e.toString() === t.toString();
|
|
31
|
+
if (n === Array) {
|
|
32
|
+
if ((a = e.length) === t.length) for (; a-- && i(e[a], t[a]););
|
|
33
|
+
return a === -1;
|
|
34
|
+
}
|
|
35
|
+
if (!n || typeof e == "object") {
|
|
36
|
+
for (n in a = 0, e) if (r.call(e, n) && ++a && !r.call(t, n) || !(n in t) || !i(e[n], t[n])) return !1;
|
|
37
|
+
return Object.keys(t).length === a;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return e !== e && t !== t;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/flow/common/change.ts
|
|
44
|
+
var a = class extends Error {
|
|
45
|
+
constructor(e) {
|
|
46
|
+
super(e), this.name = "FlowChangeError";
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
function o(e) {
|
|
50
|
+
throw new a(e);
|
|
27
51
|
}
|
|
28
|
-
function
|
|
52
|
+
function s(e, t) {
|
|
29
53
|
if (t.kind == "flow") return e.graph;
|
|
30
54
|
let n = e.subflows[t.id];
|
|
31
|
-
return n ??
|
|
55
|
+
return n ?? o("The target Subflow does not exist."), n.graph;
|
|
32
56
|
}
|
|
33
|
-
function
|
|
57
|
+
function c(e, t, n) {
|
|
34
58
|
if (t.kind == "flow") return {
|
|
35
59
|
...e,
|
|
36
60
|
graph: n
|
|
37
61
|
};
|
|
38
62
|
let r = e.subflows[t.id];
|
|
39
|
-
return r ??
|
|
63
|
+
return r ?? o("The target Subflow does not exist."), {
|
|
40
64
|
...e,
|
|
41
65
|
subflows: {
|
|
42
66
|
...e.subflows,
|
|
@@ -47,7 +71,7 @@ function o(e, t, n) {
|
|
|
47
71
|
}
|
|
48
72
|
};
|
|
49
73
|
}
|
|
50
|
-
function
|
|
74
|
+
function l(e, t) {
|
|
51
75
|
if (!("inputs" in e)) return e;
|
|
52
76
|
let n = { ...e.inputs };
|
|
53
77
|
for (let [e, r] of Object.entries(n)) {
|
|
@@ -63,87 +87,123 @@ function s(e, t) {
|
|
|
63
87
|
inputs: n
|
|
64
88
|
};
|
|
65
89
|
}
|
|
66
|
-
function
|
|
90
|
+
function u(e, t) {
|
|
67
91
|
let n = { ...e.document }, r = { ...e.modules };
|
|
68
92
|
for (let e of t) switch (e.kind) {
|
|
69
93
|
case "binding.create":
|
|
70
|
-
n.bindings[e.bindingId] != null &&
|
|
71
|
-
...n.bindings,
|
|
72
|
-
[e.bindingId]: e.binding
|
|
73
|
-
};
|
|
74
|
-
break;
|
|
75
|
-
case "binding.replace":
|
|
76
|
-
n.bindings[e.bindingId] ?? i(), n.bindings = {
|
|
94
|
+
n.bindings[e.bindingId] != null && o("A Binding with this ID already exists."), n.bindings = {
|
|
77
95
|
...n.bindings,
|
|
78
96
|
[e.bindingId]: e.binding
|
|
79
97
|
};
|
|
80
98
|
break;
|
|
81
99
|
case "binding.delete": {
|
|
82
|
-
n.bindings[e.bindingId] ??
|
|
100
|
+
n.bindings[e.bindingId] ?? o("The Binding does not exist.");
|
|
83
101
|
let t = { ...n.bindings };
|
|
84
102
|
delete t[e.bindingId], n.bindings = t;
|
|
85
103
|
break;
|
|
86
104
|
}
|
|
105
|
+
case "binding.target.set": {
|
|
106
|
+
let t = n.bindings[e.bindingId];
|
|
107
|
+
t ?? o("The Binding does not exist."), t.target != e.before && o("The Binding target changed before this operation was applied."), n.bindings = {
|
|
108
|
+
...n.bindings,
|
|
109
|
+
[e.bindingId]: {
|
|
110
|
+
...t,
|
|
111
|
+
target: e.value
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
87
116
|
case "graph.edge.connect": {
|
|
88
|
-
let t =
|
|
89
|
-
t.nodes[e.edge.source] ??
|
|
117
|
+
let t = s(n, e.target);
|
|
118
|
+
t.nodes[e.edge.source] ?? o("The source Node does not exist.");
|
|
90
119
|
let r = t.nodes[e.edge.target];
|
|
91
|
-
(r == null || !("inputs" in r)) &&
|
|
92
|
-
let
|
|
120
|
+
(r == null || !("inputs" in r)) && o("The target Node does not accept inputs.");
|
|
121
|
+
let a = r.inputs[e.edge.targetHandle];
|
|
122
|
+
i(a, e.before) || o("The target input changed before this operation was applied.");
|
|
123
|
+
let l = {
|
|
93
124
|
kind: "node",
|
|
94
125
|
nodeId: e.edge.source,
|
|
95
126
|
output: e.edge.sourceHandle
|
|
96
|
-
},
|
|
97
|
-
|
|
98
|
-
let
|
|
127
|
+
}, u = a?.kind == "sources" ? a.sources.filter((e) => e.kind != "binding" || n.bindings[e.bindingId]?.kind != "variable") : [];
|
|
128
|
+
u.some((e) => e.kind == "node" && e.nodeId == l.nodeId && e.output == l.output) && o("The Nodes are already connected.");
|
|
129
|
+
let d = {
|
|
99
130
|
...r,
|
|
100
131
|
inputs: {
|
|
101
132
|
...r.inputs,
|
|
102
133
|
[e.edge.targetHandle]: {
|
|
103
134
|
kind: "sources",
|
|
104
|
-
sources: [...
|
|
135
|
+
sources: [...u, l]
|
|
105
136
|
}
|
|
106
137
|
}
|
|
107
138
|
};
|
|
108
|
-
Object.assign(n,
|
|
139
|
+
Object.assign(n, c(n, e.target, { nodes: {
|
|
109
140
|
...t.nodes,
|
|
110
|
-
[e.edge.target]:
|
|
141
|
+
[e.edge.target]: d
|
|
111
142
|
} }));
|
|
112
143
|
break;
|
|
113
144
|
}
|
|
114
145
|
case "graph.edge.disconnect": {
|
|
115
|
-
let t =
|
|
116
|
-
(r == null || !("inputs" in r)) &&
|
|
117
|
-
let
|
|
118
|
-
|
|
119
|
-
let
|
|
120
|
-
|
|
121
|
-
let
|
|
122
|
-
|
|
146
|
+
let t = s(n, e.target), r = t.nodes[e.edge.target];
|
|
147
|
+
(r == null || !("inputs" in r)) && o("The target Node does not accept inputs.");
|
|
148
|
+
let a = r.inputs[e.edge.targetHandle];
|
|
149
|
+
(a?.kind != "sources" || !i(a, e.before)) && o("The target input changed before this operation was applied.");
|
|
150
|
+
let l = a.sources.filter((t) => t.kind != "node" || t.nodeId != e.edge.source || t.output != e.edge.sourceHandle);
|
|
151
|
+
l.length == a.sources.length && o("The Nodes are not connected.");
|
|
152
|
+
let u = { ...r.inputs };
|
|
153
|
+
l.length == 0 ? delete u[e.edge.targetHandle] : u[e.edge.targetHandle] = {
|
|
123
154
|
kind: "sources",
|
|
124
|
-
sources:
|
|
125
|
-
}, Object.assign(n,
|
|
155
|
+
sources: l
|
|
156
|
+
}, Object.assign(n, c(n, e.target, { nodes: {
|
|
126
157
|
...t.nodes,
|
|
127
158
|
[e.edge.target]: {
|
|
128
159
|
...r,
|
|
129
|
-
inputs:
|
|
160
|
+
inputs: u
|
|
130
161
|
}
|
|
131
162
|
} }));
|
|
132
163
|
break;
|
|
133
164
|
}
|
|
165
|
+
case "graph.node.additional-inputs.set": {
|
|
166
|
+
let t = s(n, e.target), r = t.nodes[e.nodeId];
|
|
167
|
+
r?.kind != "task" && o("The Task Node does not exist."), i(r.additionalInputs, e.before) || o("The Task Node inputs changed before this operation was applied.");
|
|
168
|
+
let { additionalInputs: a, ...l } = r, u = e.value == null ? l : {
|
|
169
|
+
...l,
|
|
170
|
+
additionalInputs: e.value
|
|
171
|
+
};
|
|
172
|
+
Object.assign(n, c(n, e.target, { nodes: {
|
|
173
|
+
...t.nodes,
|
|
174
|
+
[e.nodeId]: u
|
|
175
|
+
} }));
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
case "graph.node.condition.set": {
|
|
179
|
+
let t = s(n, e.target), r = t.nodes[e.nodeId];
|
|
180
|
+
r?.kind != "condition" && o("The Condition Node does not exist."), (!i(r.cases, e.before.cases) || r.defaultOutput != e.before.defaultOutput || !i(r.input, e.before.input)) && o("The Condition Node changed before this operation was applied.");
|
|
181
|
+
let { defaultOutput: a, ...l } = r, u = e.value.defaultOutput == null ? {
|
|
182
|
+
...l,
|
|
183
|
+
...e.value
|
|
184
|
+
} : {
|
|
185
|
+
...r,
|
|
186
|
+
...e.value
|
|
187
|
+
};
|
|
188
|
+
Object.assign(n, c(n, e.target, { nodes: {
|
|
189
|
+
...t.nodes,
|
|
190
|
+
[e.nodeId]: u
|
|
191
|
+
} }));
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
134
194
|
case "graph.node.create": {
|
|
135
|
-
let t =
|
|
136
|
-
|
|
195
|
+
let t = s(n, e.target);
|
|
196
|
+
t.nodes[e.nodeId] != null && o("A Node with this ID already exists in the target graph."), e.target.kind == "subflow" && !("inputs" in e.node) && o("Trigger Nodes cannot be created inside a Subflow."), Object.assign(n, c(n, e.target, { nodes: {
|
|
137
197
|
...t.nodes,
|
|
138
198
|
[e.nodeId]: e.node
|
|
139
199
|
} }));
|
|
140
200
|
break;
|
|
141
201
|
}
|
|
142
202
|
case "graph.node.delete": {
|
|
143
|
-
let t =
|
|
144
|
-
t.nodes[e.nodeId] ??
|
|
145
|
-
let r = /* @__PURE__ */ new Set([e.nodeId]),
|
|
146
|
-
if (Object.assign(n,
|
|
203
|
+
let t = s(n, e.target);
|
|
204
|
+
t.nodes[e.nodeId] ?? o("The Node does not exist in the target graph.");
|
|
205
|
+
let r = /* @__PURE__ */ new Set([e.nodeId]), i = Object.fromEntries(Object.entries(t.nodes).flatMap(([e, t]) => r.has(e) ? [] : [[e, l(t, r)]]));
|
|
206
|
+
if (Object.assign(n, c(n, e.target, { nodes: i })), e.target.kind == "subflow") {
|
|
147
207
|
let t = n.subflows[e.target.id], i = t.outputs.map((e) => ({
|
|
148
208
|
...e,
|
|
149
209
|
sources: e.sources.filter((e) => e.kind != "node" || !r.has(e.nodeId))
|
|
@@ -158,23 +218,149 @@ function c(e, t) {
|
|
|
158
218
|
}
|
|
159
219
|
break;
|
|
160
220
|
}
|
|
161
|
-
case "graph.node.
|
|
162
|
-
let t =
|
|
163
|
-
(
|
|
221
|
+
case "graph.node.field.set": {
|
|
222
|
+
let t = s(n, e.target), r = t.nodes[e.nodeId];
|
|
223
|
+
r ?? o("The Node does not exist in the target graph."), i(Reflect.get(r, e.field), e.before) || o("The Node field changed before this operation was applied."), e.field == "concurrency" && e.value == null && o("Node concurrency cannot be removed.");
|
|
224
|
+
let a = { ...r };
|
|
225
|
+
e.value == null ? Reflect.deleteProperty(a, e.field) : Object.assign(a, { [e.field]: e.value }), Object.assign(n, c(n, e.target, { nodes: {
|
|
164
226
|
...t.nodes,
|
|
165
|
-
[e.nodeId]:
|
|
227
|
+
[e.nodeId]: a
|
|
228
|
+
} }));
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
case "graph.node.input.set": {
|
|
232
|
+
let t = s(n, e.target), r = t.nodes[e.nodeId];
|
|
233
|
+
(r == null || !("inputs" in r)) && o("The Node does not accept inputs."), i(r.inputs[e.handle], e.before) || o("The Node input changed before this operation was applied.");
|
|
234
|
+
let a = { ...r.inputs };
|
|
235
|
+
e.value == null ? delete a[e.handle] : a[e.handle] = e.value, Object.assign(n, c(n, e.target, { nodes: {
|
|
236
|
+
...t.nodes,
|
|
237
|
+
[e.nodeId]: {
|
|
238
|
+
...r,
|
|
239
|
+
inputs: a
|
|
240
|
+
}
|
|
166
241
|
} }));
|
|
167
242
|
break;
|
|
168
243
|
}
|
|
244
|
+
case "graph.node.task.name.set": {
|
|
245
|
+
let t = s(n, e.target), r = t.nodes[e.nodeId];
|
|
246
|
+
(r?.kind != "task" || r.task == null) && o("The inline Task Node does not exist."), r.task.name != e.before && o("The inline Task name changed before this operation was applied.");
|
|
247
|
+
let i = {
|
|
248
|
+
...r,
|
|
249
|
+
task: {
|
|
250
|
+
...r.task,
|
|
251
|
+
name: e.value
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
Object.assign(n, c(n, e.target, { nodes: {
|
|
255
|
+
...t.nodes,
|
|
256
|
+
[e.nodeId]: i
|
|
257
|
+
} }));
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
case "graph.node.task.ports.set": {
|
|
261
|
+
let t = s(n, e.target), r = t.nodes[e.nodeId];
|
|
262
|
+
(r?.kind != "task" || r.task == null) && o("The inline Task Node does not exist."), i({
|
|
263
|
+
inputs: r.task.inputs,
|
|
264
|
+
outputs: r.task.outputs
|
|
265
|
+
}, e.before) || o("The inline Task ports changed before this operation was applied.");
|
|
266
|
+
let a = {
|
|
267
|
+
...r,
|
|
268
|
+
task: {
|
|
269
|
+
...r.task,
|
|
270
|
+
...e.value
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
Object.assign(n, c(n, e.target, { nodes: {
|
|
274
|
+
...t.nodes,
|
|
275
|
+
[e.nodeId]: a
|
|
276
|
+
} }));
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
case "graph.node.values.set": {
|
|
280
|
+
let t = s(n, e.target), r = t.nodes[e.nodeId];
|
|
281
|
+
r?.kind != "value" && o("The Value Node does not exist."), i(r.values, e.before) || o("The Value Node changed before this operation was applied."), Object.assign(n, c(n, e.target, { nodes: {
|
|
282
|
+
...t.nodes,
|
|
283
|
+
[e.nodeId]: {
|
|
284
|
+
...r,
|
|
285
|
+
values: e.value
|
|
286
|
+
}
|
|
287
|
+
} }));
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
case "graph.node.wait.set": {
|
|
291
|
+
let t = n.graph, r = t.nodes[e.nodeId];
|
|
292
|
+
(r?.kind != "wait" || !i({
|
|
293
|
+
actions: r.actions,
|
|
294
|
+
...r.notification == null ? {} : { notification: r.notification },
|
|
295
|
+
prompt: r.prompt
|
|
296
|
+
}, e.before)) && o("The Wait Node changed before this operation was applied.");
|
|
297
|
+
let { notification: a, ...s } = r, c = e.value.notification == null ? {
|
|
298
|
+
...s,
|
|
299
|
+
...e.value
|
|
300
|
+
} : {
|
|
301
|
+
...r,
|
|
302
|
+
...e.value
|
|
303
|
+
};
|
|
304
|
+
n.graph = { nodes: {
|
|
305
|
+
...t.nodes,
|
|
306
|
+
[e.nodeId]: c
|
|
307
|
+
} };
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
case "graph.node.webhook.set": {
|
|
311
|
+
let t = s(n, e.target), r = t.nodes[e.nodeId];
|
|
312
|
+
r?.kind != "webhook" && o("The Webhook Node does not exist."), (!i(r.inputsDef, e.before.inputsDef) || !i(r.options, e.before.options)) && o("The Webhook Node changed before this operation was applied.");
|
|
313
|
+
let { options: a, ...l } = r, u = e.value.options == null ? {
|
|
314
|
+
...l,
|
|
315
|
+
inputsDef: e.value.inputsDef
|
|
316
|
+
} : {
|
|
317
|
+
...r,
|
|
318
|
+
...e.value
|
|
319
|
+
};
|
|
320
|
+
Object.assign(n, c(n, e.target, { nodes: {
|
|
321
|
+
...t.nodes,
|
|
322
|
+
[e.nodeId]: u
|
|
323
|
+
} }));
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
case "graph.trigger.config.set": {
|
|
327
|
+
let t = n.graph, r = t.nodes[e.nodeId];
|
|
328
|
+
(r == null || r.kind != "integration" && r.kind != "poll") && o("The configurable Trigger Node does not exist."), i(r.config[e.name], e.before) || o("The Trigger configuration changed before this operation was applied.");
|
|
329
|
+
let a = { ...r.config };
|
|
330
|
+
e.value === void 0 ? delete a[e.name] : a[e.name] = e.value, n.graph = { nodes: {
|
|
331
|
+
...t.nodes,
|
|
332
|
+
[e.nodeId]: {
|
|
333
|
+
...r,
|
|
334
|
+
config: a
|
|
335
|
+
}
|
|
336
|
+
} };
|
|
337
|
+
break;
|
|
338
|
+
}
|
|
339
|
+
case "graph.trigger.schedule.set": {
|
|
340
|
+
let t = n.graph, r = t.nodes[e.nodeId];
|
|
341
|
+
(r == null || r.kind != "cron" && r.kind != "poll") && o("The scheduled Trigger Node does not exist."), i(r.kind == "cron" ? r.cronTimes : r.pollTimes, e.before) || o("The Trigger schedule changed before this operation was applied.");
|
|
342
|
+
let a = r.kind == "cron" ? {
|
|
343
|
+
...r,
|
|
344
|
+
cronTimes: e.value
|
|
345
|
+
} : {
|
|
346
|
+
...r,
|
|
347
|
+
pollTimes: e.value
|
|
348
|
+
};
|
|
349
|
+
n.graph = { nodes: {
|
|
350
|
+
...t.nodes,
|
|
351
|
+
[e.nodeId]: a
|
|
352
|
+
} };
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
169
355
|
case "module.create":
|
|
170
|
-
r[e.moduleId] != null &&
|
|
356
|
+
r[e.moduleId] != null && o("A CodeModule with this ID already exists."), r[e.moduleId] = e.module;
|
|
171
357
|
break;
|
|
172
358
|
case "module.delete":
|
|
173
|
-
r[e.moduleId] ??
|
|
359
|
+
r[e.moduleId] ?? o("The CodeModule does not exist."), delete r[e.moduleId];
|
|
174
360
|
break;
|
|
175
361
|
case "module.rename": {
|
|
176
362
|
let t = r[e.moduleId];
|
|
177
|
-
t ??
|
|
363
|
+
t ?? o("The CodeModule does not exist."), t.name != e.before && o("The CodeModule name changed before this operation was applied."), r[e.moduleId] = {
|
|
178
364
|
...t,
|
|
179
365
|
name: e.name
|
|
180
366
|
};
|
|
@@ -182,7 +368,7 @@ function c(e, t) {
|
|
|
182
368
|
}
|
|
183
369
|
case "module.source.replace": {
|
|
184
370
|
let t = r[e.moduleId];
|
|
185
|
-
t ?? i(), r[e.moduleId] = {
|
|
371
|
+
t ?? o("The CodeModule does not exist."), (t.source != e.beforeSource || !i(t.imports, e.beforeImports)) && o("The CodeModule source changed before this operation was applied."), r[e.moduleId] = {
|
|
186
372
|
...t,
|
|
187
373
|
imports: e.imports,
|
|
188
374
|
source: e.source
|
|
@@ -190,14 +376,18 @@ function c(e, t) {
|
|
|
190
376
|
break;
|
|
191
377
|
}
|
|
192
378
|
case "subflow.create":
|
|
193
|
-
n.subflows[e.subflowId] != null &&
|
|
379
|
+
n.subflows[e.subflowId] != null && o("A Subflow with this ID already exists."), n.subflows = {
|
|
194
380
|
...n.subflows,
|
|
195
381
|
[e.subflowId]: e.subflow
|
|
196
382
|
};
|
|
197
383
|
break;
|
|
198
|
-
case "subflow.definition.
|
|
384
|
+
case "subflow.definition.set": {
|
|
199
385
|
let t = n.subflows[e.subflowId];
|
|
200
|
-
t ??
|
|
386
|
+
t ?? o("The Subflow does not exist."), i({
|
|
387
|
+
inputs: t.inputs,
|
|
388
|
+
name: t.name,
|
|
389
|
+
outputs: t.outputs
|
|
390
|
+
}, e.before) || o("The Subflow definition changed before this operation was applied."), n.subflows = {
|
|
201
391
|
...n.subflows,
|
|
202
392
|
[e.subflowId]: {
|
|
203
393
|
...e.definition,
|
|
@@ -207,27 +397,64 @@ function c(e, t) {
|
|
|
207
397
|
break;
|
|
208
398
|
}
|
|
209
399
|
case "subflow.delete": {
|
|
210
|
-
n.subflows[e.subflowId] ??
|
|
400
|
+
n.subflows[e.subflowId] ?? o("The Subflow does not exist.");
|
|
211
401
|
let t = { ...n.subflows };
|
|
212
402
|
delete t[e.subflowId], n.subflows = t;
|
|
213
403
|
break;
|
|
214
404
|
}
|
|
215
405
|
case "task.create":
|
|
216
|
-
n.tasks[e.taskId] != null &&
|
|
406
|
+
n.tasks[e.taskId] != null && o("A Task with this ID already exists."), n.tasks = {
|
|
217
407
|
...n.tasks,
|
|
218
408
|
[e.taskId]: e.task
|
|
219
409
|
};
|
|
220
410
|
break;
|
|
411
|
+
case "task.connector.connection.set": {
|
|
412
|
+
let t = n.tasks[e.taskId];
|
|
413
|
+
(t == null || !("executor" in t) || t.executor.kind != "connector") && o("The Connector Task does not exist."), t.executor.connectionId != e.before && o("The Connector Task connection changed before this operation was applied.");
|
|
414
|
+
let { connectionId: r, ...i } = t.executor, a = e.value == null ? i : {
|
|
415
|
+
...i,
|
|
416
|
+
connectionId: e.value
|
|
417
|
+
};
|
|
418
|
+
n.tasks = {
|
|
419
|
+
...n.tasks,
|
|
420
|
+
[e.taskId]: {
|
|
421
|
+
...t,
|
|
422
|
+
executor: a
|
|
423
|
+
}
|
|
424
|
+
};
|
|
425
|
+
break;
|
|
426
|
+
}
|
|
221
427
|
case "task.delete": {
|
|
222
|
-
n.tasks[e.taskId] ??
|
|
428
|
+
n.tasks[e.taskId] ?? o("The Task does not exist.");
|
|
223
429
|
let t = { ...n.tasks };
|
|
224
430
|
delete t[e.taskId], n.tasks = t;
|
|
225
431
|
break;
|
|
226
432
|
}
|
|
227
|
-
case "task.
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
433
|
+
case "task.llm.mode.set": {
|
|
434
|
+
let t = n.tasks[e.taskId];
|
|
435
|
+
(t == null || !("executor" in t) || t.executor.kind != "llm") && o("The LLM Task does not exist."), t.executor.mode != e.before && o("The LLM Task mode changed before this operation was applied."), n.tasks = {
|
|
436
|
+
...n.tasks,
|
|
437
|
+
[e.taskId]: {
|
|
438
|
+
...t,
|
|
439
|
+
executor: {
|
|
440
|
+
...t.executor,
|
|
441
|
+
mode: e.value
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
};
|
|
445
|
+
break;
|
|
446
|
+
}
|
|
447
|
+
case "task.name.set": {
|
|
448
|
+
let t = n.tasks[e.taskId];
|
|
449
|
+
t ?? o("The Task does not exist."), t.name != e.before && o("The Task name changed before this operation was applied."), n.tasks = {
|
|
450
|
+
...n.tasks,
|
|
451
|
+
[e.taskId]: {
|
|
452
|
+
...t,
|
|
453
|
+
name: e.value
|
|
454
|
+
}
|
|
455
|
+
};
|
|
456
|
+
break;
|
|
457
|
+
}
|
|
231
458
|
}
|
|
232
459
|
return {
|
|
233
460
|
document: n,
|
|
@@ -237,8 +464,8 @@ function c(e, t) {
|
|
|
237
464
|
}
|
|
238
465
|
//#endregion
|
|
239
466
|
//#region src/flow/common/nodeChanges.ts
|
|
240
|
-
var
|
|
241
|
-
function
|
|
467
|
+
var d = "export default async function (inputs, context) {\n return { result: inputs.value }\n}\n";
|
|
468
|
+
function f(e, t, n, r = void 0, i = {
|
|
242
469
|
inputs: [{
|
|
243
470
|
handle: "value",
|
|
244
471
|
jsonSchema: {},
|
|
@@ -256,7 +483,7 @@ function u(e, t, n, r = void 0, i = {
|
|
|
256
483
|
module: {
|
|
257
484
|
...r ?? {
|
|
258
485
|
imports: [],
|
|
259
|
-
source:
|
|
486
|
+
source: d
|
|
260
487
|
},
|
|
261
488
|
name: n
|
|
262
489
|
},
|
|
@@ -265,7 +492,7 @@ function u(e, t, n, r = void 0, i = {
|
|
|
265
492
|
kind: "graph.node.create",
|
|
266
493
|
node: {
|
|
267
494
|
concurrency: 1,
|
|
268
|
-
inputs:
|
|
495
|
+
inputs: A(i.inputs),
|
|
269
496
|
kind: "task",
|
|
270
497
|
name: n,
|
|
271
498
|
task: {
|
|
@@ -279,7 +506,7 @@ function u(e, t, n, r = void 0, i = {
|
|
|
279
506
|
target: e
|
|
280
507
|
}];
|
|
281
508
|
}
|
|
282
|
-
function
|
|
509
|
+
function p(e, t, n) {
|
|
283
510
|
return [{
|
|
284
511
|
kind: "task.create",
|
|
285
512
|
task: n,
|
|
@@ -288,7 +515,7 @@ function d(e, t, n) {
|
|
|
288
515
|
kind: "graph.node.create",
|
|
289
516
|
node: {
|
|
290
517
|
concurrency: 1,
|
|
291
|
-
inputs:
|
|
518
|
+
inputs: A(n.inputs),
|
|
292
519
|
kind: "task",
|
|
293
520
|
name: n.name,
|
|
294
521
|
taskId: t.taskId
|
|
@@ -297,9 +524,9 @@ function d(e, t, n) {
|
|
|
297
524
|
target: e
|
|
298
525
|
}];
|
|
299
526
|
}
|
|
300
|
-
function
|
|
527
|
+
function m(e, t, n, r, i, a = {}) {
|
|
301
528
|
let o = a.inputs ?? {};
|
|
302
|
-
return
|
|
529
|
+
return p(e, t, {
|
|
303
530
|
executor: {
|
|
304
531
|
kind: "llm",
|
|
305
532
|
mode: r
|
|
@@ -312,13 +539,13 @@ function f(e, t, n, r, i, a = {}) {
|
|
|
312
539
|
type: "array"
|
|
313
540
|
},
|
|
314
541
|
nullable: !0,
|
|
315
|
-
value:
|
|
542
|
+
value: j(o, "messages", null)
|
|
316
543
|
},
|
|
317
544
|
{
|
|
318
545
|
handle: "input",
|
|
319
546
|
jsonSchema: { type: "string" },
|
|
320
547
|
nullable: !1,
|
|
321
|
-
value:
|
|
548
|
+
value: j(o, "input", "Alex")
|
|
322
549
|
},
|
|
323
550
|
{
|
|
324
551
|
handle: "template",
|
|
@@ -328,7 +555,7 @@ function f(e, t, n, r, i, a = {}) {
|
|
|
328
555
|
type: "array"
|
|
329
556
|
},
|
|
330
557
|
nullable: !1,
|
|
331
|
-
value:
|
|
558
|
+
value: j(o, "template", [{
|
|
332
559
|
content: "Hello, I'm {{input}}",
|
|
333
560
|
role: "user"
|
|
334
561
|
}])
|
|
@@ -337,7 +564,7 @@ function f(e, t, n, r, i, a = {}) {
|
|
|
337
564
|
handle: "model",
|
|
338
565
|
jsonSchema: { type: "object" },
|
|
339
566
|
nullable: !1,
|
|
340
|
-
value:
|
|
567
|
+
value: j(o, "model", { model: "deepseek-v4-flash" })
|
|
341
568
|
}
|
|
342
569
|
],
|
|
343
570
|
name: n,
|
|
@@ -350,7 +577,7 @@ function f(e, t, n, r, i, a = {}) {
|
|
|
350
577
|
}]
|
|
351
578
|
});
|
|
352
579
|
}
|
|
353
|
-
function
|
|
580
|
+
function h(e, t, n) {
|
|
354
581
|
return [{
|
|
355
582
|
kind: "graph.node.create",
|
|
356
583
|
node: {
|
|
@@ -381,7 +608,7 @@ function p(e, t, n) {
|
|
|
381
608
|
target: e
|
|
382
609
|
}];
|
|
383
610
|
}
|
|
384
|
-
function
|
|
611
|
+
function g(e, t, n) {
|
|
385
612
|
return [{
|
|
386
613
|
kind: "graph.node.create",
|
|
387
614
|
node: {
|
|
@@ -400,7 +627,31 @@ function m(e, t, n) {
|
|
|
400
627
|
target: e
|
|
401
628
|
}];
|
|
402
629
|
}
|
|
403
|
-
function
|
|
630
|
+
function _(e, t, n) {
|
|
631
|
+
return [{
|
|
632
|
+
kind: "graph.node.create",
|
|
633
|
+
node: {
|
|
634
|
+
actions: ["continue"],
|
|
635
|
+
concurrency: 1,
|
|
636
|
+
input: {
|
|
637
|
+
handle: "value",
|
|
638
|
+
jsonSchema: {},
|
|
639
|
+
nullable: !0,
|
|
640
|
+
value: null
|
|
641
|
+
},
|
|
642
|
+
inputs: { value: {
|
|
643
|
+
kind: "value",
|
|
644
|
+
value: null
|
|
645
|
+
} },
|
|
646
|
+
kind: "wait",
|
|
647
|
+
name: n,
|
|
648
|
+
prompt: n
|
|
649
|
+
},
|
|
650
|
+
nodeId: t,
|
|
651
|
+
target: e
|
|
652
|
+
}];
|
|
653
|
+
}
|
|
654
|
+
function v(e, t, n) {
|
|
404
655
|
return [{
|
|
405
656
|
kind: "graph.node.create",
|
|
406
657
|
node: n,
|
|
@@ -408,7 +659,7 @@ function h(e, t, n) {
|
|
|
408
659
|
target: e
|
|
409
660
|
}];
|
|
410
661
|
}
|
|
411
|
-
function
|
|
662
|
+
function y(e, t, n, r) {
|
|
412
663
|
let i = r.name ?? n.displayName, a = n.type == "poll" ? {
|
|
413
664
|
bindingId: t.bindingId,
|
|
414
665
|
config: r.config,
|
|
@@ -427,22 +678,22 @@ function g(e, t, n, r) {
|
|
|
427
678
|
kind: "integration",
|
|
428
679
|
name: i
|
|
429
680
|
};
|
|
430
|
-
return [{
|
|
681
|
+
return [...r.connectionId == null ? [] : [{
|
|
431
682
|
binding: {
|
|
432
683
|
kind: "connection",
|
|
433
684
|
target: r.connectionId
|
|
434
685
|
},
|
|
435
686
|
bindingId: t.bindingId,
|
|
436
687
|
kind: "binding.create"
|
|
437
|
-
}, {
|
|
688
|
+
}], {
|
|
438
689
|
kind: "graph.node.create",
|
|
439
690
|
node: a,
|
|
440
691
|
nodeId: t.nodeId,
|
|
441
692
|
target: e
|
|
442
693
|
}];
|
|
443
694
|
}
|
|
444
|
-
function
|
|
445
|
-
let r =
|
|
695
|
+
function b(e, t, n) {
|
|
696
|
+
let r = k(e, t)?.nodes;
|
|
446
697
|
if (r == null) return [];
|
|
447
698
|
let i = new Set(n), a = n.flatMap((e) => {
|
|
448
699
|
let n = r[e];
|
|
@@ -455,217 +706,263 @@ function _(e, t, n) {
|
|
|
455
706
|
moduleId: n.task.moduleId
|
|
456
707
|
}] : []];
|
|
457
708
|
});
|
|
458
|
-
if (t.kind == "subflow") return
|
|
709
|
+
if (t.kind == "subflow") return w(e, a);
|
|
459
710
|
let o = new Set(n.flatMap((e) => {
|
|
460
711
|
let t = r[e];
|
|
461
712
|
return t?.kind == "poll" || t?.kind == "integration" ? [t.bindingId] : [];
|
|
462
713
|
}));
|
|
463
|
-
for (let t of o) Object.entries(e.document.graph.nodes).some(([e, n]) => !i.has(e) && (n.kind == "poll" || n.kind == "integration") && n.bindingId == t)
|
|
714
|
+
for (let t of o) !Object.entries(e.document.graph.nodes).some(([e, n]) => !i.has(e) && (n.kind == "poll" || n.kind == "integration") && n.bindingId == t) && e.document.bindings[t] != null && a.push({
|
|
464
715
|
bindingId: t,
|
|
465
716
|
kind: "binding.delete"
|
|
466
717
|
});
|
|
467
|
-
return
|
|
718
|
+
return w(e, a);
|
|
468
719
|
}
|
|
469
|
-
function
|
|
470
|
-
let i =
|
|
720
|
+
function x(e, t, n, r) {
|
|
721
|
+
let i = k(e, t)?.nodes[n];
|
|
471
722
|
if (i == null || !("inputs" in i)) return;
|
|
472
|
-
let
|
|
473
|
-
return
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
723
|
+
let a = [];
|
|
724
|
+
return i.concurrency != r.concurrency && a.push({
|
|
725
|
+
before: i.concurrency,
|
|
726
|
+
field: "concurrency",
|
|
727
|
+
kind: "graph.node.field.set",
|
|
728
|
+
nodeId: n,
|
|
729
|
+
target: t,
|
|
730
|
+
value: r.concurrency
|
|
731
|
+
}), i.name != r.name && a.push({
|
|
732
|
+
before: i.name,
|
|
733
|
+
field: "name",
|
|
734
|
+
kind: "graph.node.field.set",
|
|
735
|
+
nodeId: n,
|
|
736
|
+
target: t,
|
|
737
|
+
value: r.name
|
|
738
|
+
}), i.timeoutMs != r.timeoutMs && a.push({
|
|
739
|
+
before: i.timeoutMs,
|
|
740
|
+
field: "timeoutMs",
|
|
741
|
+
kind: "graph.node.field.set",
|
|
742
|
+
nodeId: n,
|
|
743
|
+
target: t,
|
|
744
|
+
value: r.timeoutMs
|
|
745
|
+
}), a;
|
|
477
746
|
}
|
|
478
|
-
function
|
|
479
|
-
let
|
|
480
|
-
if (
|
|
481
|
-
let
|
|
482
|
-
for (let [e,
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
747
|
+
function S(e, t, n, r) {
|
|
748
|
+
let a = k(e, t)?.nodes[n];
|
|
749
|
+
if (a == null || !("inputs" in a)) return;
|
|
750
|
+
let o = [];
|
|
751
|
+
for (let [e, s] of Object.entries(r)) {
|
|
752
|
+
let r = a.inputs[e], c = s === void 0 ? void 0 : {
|
|
753
|
+
kind: "value",
|
|
754
|
+
value: s
|
|
755
|
+
};
|
|
756
|
+
i(r, c) || o.push({
|
|
757
|
+
before: r,
|
|
758
|
+
handle: e,
|
|
759
|
+
kind: "graph.node.input.set",
|
|
760
|
+
nodeId: n,
|
|
761
|
+
target: t,
|
|
762
|
+
value: c
|
|
763
|
+
});
|
|
764
|
+
}
|
|
765
|
+
return w(e, o);
|
|
490
766
|
}
|
|
491
|
-
function
|
|
492
|
-
let o =
|
|
767
|
+
function C(e, t, n, r, i, a) {
|
|
768
|
+
let o = k(e, t)?.nodes[n];
|
|
493
769
|
if (o == null || !("inputs" in o)) return;
|
|
494
|
-
let s = o.inputs[r], c = s?.kind == "sources" && s.sources.length == 1 && s.sources[0]?.kind == "binding" ? s.sources[0].bindingId : void 0, l = c == null ? void 0 : e.document.bindings[c], u =
|
|
495
|
-
|
|
770
|
+
let s = o.inputs[r], c = s?.kind == "sources" && s.sources.length == 1 && s.sources[0]?.kind == "binding" ? s.sources[0].bindingId : void 0, l = c == null ? void 0 : e.document.bindings[c], u = T(e.document);
|
|
771
|
+
return c != null && l?.kind == "variable" && (u.get(c) ?? 0) == 1 ? l.target == i ? [] : [{
|
|
772
|
+
before: l.target,
|
|
773
|
+
bindingId: c,
|
|
774
|
+
kind: "binding.target.set",
|
|
775
|
+
value: i
|
|
776
|
+
}] : [{
|
|
496
777
|
binding: {
|
|
497
778
|
kind: "variable",
|
|
498
779
|
target: i
|
|
499
780
|
},
|
|
500
|
-
bindingId:
|
|
501
|
-
kind: "binding.
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
781
|
+
bindingId: a,
|
|
782
|
+
kind: "binding.create"
|
|
783
|
+
}, ...w(e, [{
|
|
784
|
+
before: s,
|
|
785
|
+
handle: r,
|
|
786
|
+
kind: "graph.node.input.set",
|
|
787
|
+
nodeId: n,
|
|
788
|
+
target: t,
|
|
789
|
+
value: {
|
|
506
790
|
kind: "sources",
|
|
507
791
|
sources: [{
|
|
508
792
|
bindingId: a,
|
|
509
793
|
kind: "binding"
|
|
510
794
|
}]
|
|
511
795
|
}
|
|
512
|
-
};
|
|
513
|
-
return [{
|
|
514
|
-
binding: {
|
|
515
|
-
kind: "variable",
|
|
516
|
-
target: i
|
|
517
|
-
},
|
|
518
|
-
bindingId: a,
|
|
519
|
-
kind: "binding.create"
|
|
520
|
-
}, ...x(e, k(t, n, {
|
|
521
|
-
...o,
|
|
522
|
-
inputs: d
|
|
523
|
-
}))];
|
|
796
|
+
}])];
|
|
524
797
|
}
|
|
525
|
-
function
|
|
526
|
-
let n =
|
|
798
|
+
function w(e, t) {
|
|
799
|
+
let n = T(e.document), r = u(e, t), i = T(r.document);
|
|
527
800
|
return [...t, ...[...n.keys()].flatMap((e) => i.has(e) || r.document.bindings[e]?.kind != "variable" ? [] : [{
|
|
528
801
|
bindingId: e,
|
|
529
802
|
kind: "binding.delete"
|
|
530
803
|
}])];
|
|
531
804
|
}
|
|
532
|
-
function
|
|
805
|
+
function T(e) {
|
|
533
806
|
let t = /* @__PURE__ */ new Map(), n = (e) => {
|
|
534
807
|
t.set(e, (t.get(e) ?? 0) + 1);
|
|
535
808
|
};
|
|
536
|
-
for (let t of [e.graph, ...Object.values(e.subflows).map((e) => e.graph)]) for (let e of Object.values(t.nodes))
|
|
537
|
-
|
|
809
|
+
for (let t of [e.graph, ...Object.values(e.subflows).map((e) => e.graph)]) for (let e of Object.values(t.nodes)) {
|
|
810
|
+
if ((e.kind == "poll" || e.kind == "integration") && n(e.bindingId), !("inputs" in e)) continue;
|
|
811
|
+
let t = [...Object.values(e.inputs), ...e.kind == "wait" && e.notification != null ? Object.values(e.notification.inputs) : []];
|
|
812
|
+
for (let e of t) if (e.kind == "sources") for (let t of e.sources) t.kind == "binding" && n(t.bindingId);
|
|
538
813
|
}
|
|
539
814
|
return t;
|
|
540
815
|
}
|
|
541
|
-
function
|
|
816
|
+
function E(e, t, n) {
|
|
542
817
|
let r = e.document.tasks[t];
|
|
543
|
-
if (!(r == null || !("executor" in r) || r.executor.kind != "connector")) return [{
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
...r.executor,
|
|
549
|
-
connectionId: n
|
|
550
|
-
}
|
|
551
|
-
},
|
|
552
|
-
taskId: t
|
|
818
|
+
if (!(r == null || !("executor" in r) || r.executor.kind != "connector")) return r.executor.connectionId == n ? [] : [{
|
|
819
|
+
before: r.executor.connectionId,
|
|
820
|
+
kind: "task.connector.connection.set",
|
|
821
|
+
taskId: t,
|
|
822
|
+
value: n
|
|
553
823
|
}];
|
|
554
824
|
}
|
|
555
|
-
function
|
|
556
|
-
let
|
|
557
|
-
if (
|
|
558
|
-
let
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
825
|
+
function D(e, t, n, r) {
|
|
826
|
+
let a = e.document.graph.nodes[n];
|
|
827
|
+
if (a == null) return;
|
|
828
|
+
let o = [];
|
|
829
|
+
switch (a.name != r.name && o.push({
|
|
830
|
+
before: a.name,
|
|
831
|
+
field: "name",
|
|
832
|
+
kind: "graph.node.field.set",
|
|
833
|
+
nodeId: n,
|
|
834
|
+
target: t,
|
|
835
|
+
value: r.name
|
|
836
|
+
}), a.description != r.description && o.push({
|
|
837
|
+
before: a.description,
|
|
838
|
+
field: "description",
|
|
839
|
+
kind: "graph.node.field.set",
|
|
840
|
+
nodeId: n,
|
|
841
|
+
target: t,
|
|
842
|
+
value: r.description
|
|
843
|
+
}), r.kind) {
|
|
844
|
+
case "webhook": {
|
|
845
|
+
if (a.kind != "webhook") return;
|
|
846
|
+
let e = {
|
|
572
847
|
inputsDef: r.inputs,
|
|
573
|
-
|
|
574
|
-
|
|
848
|
+
options: Object.keys(r.options).length == 0 ? void 0 : r.options
|
|
849
|
+
}, s = {
|
|
850
|
+
inputsDef: a.inputsDef,
|
|
851
|
+
options: a.options
|
|
575
852
|
};
|
|
853
|
+
i(s, e) || o.push({
|
|
854
|
+
before: s,
|
|
855
|
+
kind: "graph.node.webhook.set",
|
|
856
|
+
nodeId: n,
|
|
857
|
+
target: t,
|
|
858
|
+
value: e
|
|
859
|
+
});
|
|
576
860
|
break;
|
|
861
|
+
}
|
|
577
862
|
case "cron":
|
|
578
|
-
if (
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
863
|
+
if (a.kind != "cron") return;
|
|
864
|
+
i(a.cronTimes, r.schedule) || o.push({
|
|
865
|
+
before: a.cronTimes,
|
|
866
|
+
kind: "graph.trigger.schedule.set",
|
|
867
|
+
nodeId: n,
|
|
868
|
+
value: r.schedule
|
|
869
|
+
});
|
|
584
870
|
break;
|
|
585
871
|
case "poll":
|
|
586
|
-
if (
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
872
|
+
if (a.kind != "poll") return;
|
|
873
|
+
for (let e of /* @__PURE__ */ new Set([...Object.keys(a.config), ...Object.keys(r.config)])) i(a.config[e], r.config[e]) || o.push({
|
|
874
|
+
before: a.config[e],
|
|
875
|
+
kind: "graph.trigger.config.set",
|
|
876
|
+
name: e,
|
|
877
|
+
nodeId: n,
|
|
878
|
+
value: r.config[e]
|
|
879
|
+
});
|
|
880
|
+
i(a.pollTimes, r.schedule) || o.push({
|
|
881
|
+
before: a.pollTimes,
|
|
882
|
+
kind: "graph.trigger.schedule.set",
|
|
883
|
+
nodeId: n,
|
|
884
|
+
value: r.schedule
|
|
885
|
+
});
|
|
593
886
|
break;
|
|
594
887
|
case "integration":
|
|
595
|
-
if (
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
888
|
+
if (a.kind != "integration") return;
|
|
889
|
+
for (let e of /* @__PURE__ */ new Set([...Object.keys(a.config), ...Object.keys(r.config)])) i(a.config[e], r.config[e]) || o.push({
|
|
890
|
+
before: a.config[e],
|
|
891
|
+
kind: "graph.trigger.config.set",
|
|
892
|
+
name: e,
|
|
893
|
+
nodeId: n,
|
|
894
|
+
value: r.config[e]
|
|
895
|
+
});
|
|
601
896
|
}
|
|
602
|
-
return
|
|
897
|
+
return o;
|
|
603
898
|
}
|
|
604
|
-
function
|
|
899
|
+
function O(e, t, n, r) {
|
|
605
900
|
let i = e.document.graph.nodes[n];
|
|
606
|
-
if (
|
|
901
|
+
if (i == null || i.kind != "poll" && i.kind != "integration") return;
|
|
902
|
+
let a = e.document.bindings[i.bindingId];
|
|
903
|
+
if (a == null) return [{
|
|
607
904
|
binding: {
|
|
608
905
|
kind: "connection",
|
|
609
906
|
target: r
|
|
610
907
|
},
|
|
611
908
|
bindingId: i.bindingId,
|
|
612
|
-
kind: "binding.
|
|
909
|
+
kind: "binding.create"
|
|
910
|
+
}];
|
|
911
|
+
if (a.kind == "connection") return a.target == r ? [] : [{
|
|
912
|
+
before: a.target,
|
|
913
|
+
bindingId: i.bindingId,
|
|
914
|
+
kind: "binding.target.set",
|
|
915
|
+
value: r
|
|
613
916
|
}];
|
|
614
917
|
}
|
|
615
|
-
function
|
|
918
|
+
function k(e, t) {
|
|
616
919
|
return t.kind == "flow" ? e.document.graph : e.document.subflows[t.id]?.graph;
|
|
617
920
|
}
|
|
618
|
-
function
|
|
921
|
+
function A(e) {
|
|
619
922
|
return Object.fromEntries(e.flatMap((e) => "handle" in e && Object.hasOwn(e, "value") ? [[e.handle, {
|
|
620
923
|
kind: "value",
|
|
621
924
|
value: e.value
|
|
622
925
|
}]] : []));
|
|
623
926
|
}
|
|
624
|
-
function
|
|
927
|
+
function j(e, t, n) {
|
|
625
928
|
return e != null && Object.hasOwn(e, t) ? e[t] : n;
|
|
626
929
|
}
|
|
627
|
-
function k(e, t, n) {
|
|
628
|
-
return [{
|
|
629
|
-
kind: "graph.node.replace",
|
|
630
|
-
node: n,
|
|
631
|
-
nodeId: t,
|
|
632
|
-
target: e
|
|
633
|
-
}];
|
|
634
|
-
}
|
|
635
930
|
//#endregion
|
|
636
931
|
//#region src/flow/common/edgeChanges.ts
|
|
637
|
-
function
|
|
932
|
+
function M(e, t, n) {
|
|
638
933
|
let r = {
|
|
639
934
|
source: n.source,
|
|
640
935
|
sourceHandle: n.sourceHandle,
|
|
641
936
|
target: n.target,
|
|
642
937
|
targetHandle: n.targetHandle
|
|
643
|
-
}, i =
|
|
644
|
-
return a?.kind == "sources" && a.sources.some((e) => e.kind == "node" && e.nodeId == n.source && e.output == n.sourceHandle) ? [] :
|
|
938
|
+
}, i = P(e, t)?.nodes[n.target], a = i != null && "inputs" in i ? i.inputs[n.targetHandle] : void 0;
|
|
939
|
+
return a?.kind == "sources" && a.sources.some((e) => e.kind == "node" && e.nodeId == n.source && e.output == n.sourceHandle) ? [] : w(e, [{
|
|
940
|
+
before: a,
|
|
645
941
|
edge: r,
|
|
646
942
|
kind: "graph.edge.connect",
|
|
647
943
|
target: t
|
|
648
944
|
}]);
|
|
649
945
|
}
|
|
650
|
-
function
|
|
946
|
+
function N(e, t, n) {
|
|
651
947
|
let r = {
|
|
652
948
|
source: n.source,
|
|
653
949
|
sourceHandle: n.sourceHandle,
|
|
654
950
|
target: n.target,
|
|
655
951
|
targetHandle: n.targetHandle
|
|
656
|
-
}, i =
|
|
952
|
+
}, i = P(e, t)?.nodes[n.target], a = i != null && "inputs" in i ? i.inputs[n.targetHandle] : void 0;
|
|
657
953
|
return a?.kind != "sources" || !a.sources.some((e) => e.kind == "node" && e.nodeId == n.source && e.output == n.sourceHandle) ? [] : [{
|
|
954
|
+
before: a,
|
|
658
955
|
edge: r,
|
|
659
956
|
kind: "graph.edge.disconnect",
|
|
660
957
|
target: t
|
|
661
958
|
}];
|
|
662
959
|
}
|
|
663
|
-
function
|
|
960
|
+
function P(e, t) {
|
|
664
961
|
return t.kind == "flow" ? e.document.graph : e.document.subflows[t.id]?.graph;
|
|
665
962
|
}
|
|
666
963
|
//#endregion
|
|
667
964
|
//#region src/flow/common/moduleChanges.ts
|
|
668
|
-
async function
|
|
965
|
+
async function F(e) {
|
|
669
966
|
try {
|
|
670
967
|
let { parse: t } = await import("./lib-GrGxYjsJ.js"), n = t(e, {
|
|
671
968
|
errorRecovery: !0,
|
|
@@ -681,21 +978,24 @@ async function N(e) {
|
|
|
681
978
|
return [];
|
|
682
979
|
}
|
|
683
980
|
}
|
|
684
|
-
function
|
|
981
|
+
function I(e, t, n, r, i) {
|
|
685
982
|
return [{
|
|
686
|
-
|
|
983
|
+
beforeImports: n,
|
|
984
|
+
beforeSource: t,
|
|
985
|
+
imports: i,
|
|
687
986
|
kind: "module.source.replace",
|
|
688
987
|
moduleId: e,
|
|
689
|
-
source:
|
|
988
|
+
source: r
|
|
690
989
|
}];
|
|
691
990
|
}
|
|
692
|
-
function
|
|
991
|
+
function L(e, t, n) {
|
|
693
992
|
return [{
|
|
993
|
+
before: t,
|
|
694
994
|
kind: "module.rename",
|
|
695
995
|
moduleId: e,
|
|
696
|
-
name:
|
|
996
|
+
name: n
|
|
697
997
|
}];
|
|
698
998
|
}
|
|
699
|
-
var
|
|
999
|
+
var R = n("23456789abcdefghjkmnpqrstuvwxyz", 10);
|
|
700
1000
|
//#endregion
|
|
701
|
-
export {
|
|
1001
|
+
export { w as cleanVariableBindings, M as connect, R as createAuthoringId, v as createBuiltinTrigger, f as createCodeTask, h as createCondition, m as createLlmTask, p as createManagedTask, y as createProviderTrigger, g as createValue, _ as createWait, b as deleteNodes, N as disconnect, F as moduleImports, L as renameModule, I as replaceModuleSource, E as setConnectorConnection, S as setInputValues, C as setInputVariable, O as setTriggerConnection, x as updateSettings, D as updateTrigger };
|