@executioncontrolprotocol/format-reactflow 0.12.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/README.md +24 -0
- package/dist/extension.d.ts +3 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +94 -0
- package/dist/extension.js.map +1 -0
- package/dist/extract-data-edges.d.ts +17 -0
- package/dist/extract-data-edges.d.ts.map +1 -0
- package/dist/extract-data-edges.js +95 -0
- package/dist/extract-data-edges.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/io-from-schema.d.ts +36 -0
- package/dist/io-from-schema.d.ts.map +1 -0
- package/dist/io-from-schema.js +136 -0
- package/dist/io-from-schema.js.map +1 -0
- package/dist/layout.d.ts +7 -0
- package/dist/layout.d.ts.map +1 -0
- package/dist/layout.js +67 -0
- package/dist/layout.js.map +1 -0
- package/dist/ports-from-zod.d.ts +28 -0
- package/dist/ports-from-zod.d.ts.map +1 -0
- package/dist/ports-from-zod.js +169 -0
- package/dist/ports-from-zod.js.map +1 -0
- package/dist/progress.d.ts +19 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +23 -0
- package/dist/progress.js.map +1 -0
- package/dist/types.d.ts +133 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/value-schema-hint.d.ts +31 -0
- package/dist/value-schema-hint.d.ts.map +1 -0
- package/dist/value-schema-hint.js +156 -0
- package/dist/value-schema-hint.js.map +1 -0
- package/dist/workflow-to-reactflow.d.ts +11 -0
- package/dist/workflow-to-reactflow.d.ts.map +1 -0
- package/dist/workflow-to-reactflow.js +207 -0
- package/dist/workflow-to-reactflow.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { extractDataEdges } from "./extract-data-edges.js";
|
|
2
|
+
import { acceptsReactFlowNode, jsonSchemaObjectProperties, returnsReactFlowNode, WORKFLOW_ACCEPTS_NODE_ID, WORKFLOW_RETURNS_NODE_ID, } from "./io-from-schema.js";
|
|
3
|
+
import { layoutReactFlowDocument } from "./layout.js";
|
|
4
|
+
import { portsForStep, ensureOutputPort } from "./ports-from-zod.js";
|
|
5
|
+
function isStepNode(node) {
|
|
6
|
+
return !node.type || node.type === "step";
|
|
7
|
+
}
|
|
8
|
+
function connectControl(edges, fromIds, toIds, prefix) {
|
|
9
|
+
if (fromIds.length === 0 || toIds.length === 0)
|
|
10
|
+
return;
|
|
11
|
+
let i = 0;
|
|
12
|
+
for (const from of fromIds) {
|
|
13
|
+
for (const to of toIds) {
|
|
14
|
+
edges.push({
|
|
15
|
+
id: `ctrl-${prefix}-${i++}-${from}-${to}`,
|
|
16
|
+
source: from,
|
|
17
|
+
target: to,
|
|
18
|
+
data: { kind: "control" },
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function renderStep(node, registry) {
|
|
24
|
+
const ports = portsForStep(node, registry);
|
|
25
|
+
const data = {
|
|
26
|
+
label: node.label ?? node.id,
|
|
27
|
+
uses: String(node.uses),
|
|
28
|
+
...(node.as !== undefined ? { as: node.as } : {}),
|
|
29
|
+
inputs: ports.inputs,
|
|
30
|
+
outputs: ports.outputs,
|
|
31
|
+
};
|
|
32
|
+
const rfNode = {
|
|
33
|
+
id: node.id,
|
|
34
|
+
type: "ecp-step",
|
|
35
|
+
position: { x: 0, y: 0 },
|
|
36
|
+
data,
|
|
37
|
+
};
|
|
38
|
+
return { nodes: [rfNode], edges: [], entryIds: [node.id], exitIds: [node.id] };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Flatten structural containers (parallel / branch / loop) to step nodes only.
|
|
42
|
+
* The React Flow canvas is the workflow surface — no subgroup wrappers.
|
|
43
|
+
*/
|
|
44
|
+
function renderParallel(node, registry) {
|
|
45
|
+
const nodes = [];
|
|
46
|
+
const edges = [];
|
|
47
|
+
const entryIds = [];
|
|
48
|
+
const exitIds = [];
|
|
49
|
+
node.branches.forEach((branch) => {
|
|
50
|
+
const seg = renderNodes(branch, registry);
|
|
51
|
+
nodes.push(...seg.nodes);
|
|
52
|
+
edges.push(...seg.edges);
|
|
53
|
+
entryIds.push(...seg.entryIds);
|
|
54
|
+
exitIds.push(...seg.exitIds);
|
|
55
|
+
});
|
|
56
|
+
return { nodes, edges, entryIds, exitIds };
|
|
57
|
+
}
|
|
58
|
+
function renderBranch(node, registry) {
|
|
59
|
+
const nodes = [];
|
|
60
|
+
const edges = [];
|
|
61
|
+
const entryIds = [];
|
|
62
|
+
const exitIds = [];
|
|
63
|
+
for (const arm of node.branches) {
|
|
64
|
+
const seg = renderNodes(arm.steps, registry);
|
|
65
|
+
nodes.push(...seg.nodes);
|
|
66
|
+
edges.push(...seg.edges);
|
|
67
|
+
entryIds.push(...seg.entryIds);
|
|
68
|
+
exitIds.push(...seg.exitIds);
|
|
69
|
+
}
|
|
70
|
+
return { nodes, edges, entryIds, exitIds };
|
|
71
|
+
}
|
|
72
|
+
function renderLoop(node, registry) {
|
|
73
|
+
return renderNodes(node.steps, registry);
|
|
74
|
+
}
|
|
75
|
+
function renderNode(node, registry) {
|
|
76
|
+
if (isStepNode(node))
|
|
77
|
+
return renderStep(node, registry);
|
|
78
|
+
if (node.type === "parallel")
|
|
79
|
+
return renderParallel(node, registry);
|
|
80
|
+
if (node.type === "branch")
|
|
81
|
+
return renderBranch(node, registry);
|
|
82
|
+
return renderLoop(node, registry);
|
|
83
|
+
}
|
|
84
|
+
function renderNodes(nodes, registry) {
|
|
85
|
+
const outNodes = [];
|
|
86
|
+
const outEdges = [];
|
|
87
|
+
let entryIds = [];
|
|
88
|
+
let exitIds = [];
|
|
89
|
+
nodes.forEach((node, index) => {
|
|
90
|
+
const segment = renderNode(node, registry);
|
|
91
|
+
outNodes.push(...segment.nodes);
|
|
92
|
+
outEdges.push(...segment.edges);
|
|
93
|
+
if (segment.entryIds.length === 0)
|
|
94
|
+
return;
|
|
95
|
+
if (entryIds.length === 0) {
|
|
96
|
+
entryIds = segment.entryIds;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
connectControl(outEdges, exitIds, segment.entryIds, `seq-root-${index}`);
|
|
100
|
+
}
|
|
101
|
+
exitIds = segment.exitIds;
|
|
102
|
+
});
|
|
103
|
+
return { nodes: outNodes, edges: outEdges, entryIds, exitIds };
|
|
104
|
+
}
|
|
105
|
+
function acceptsPropertyKeys(manifest) {
|
|
106
|
+
return new Set(jsonSchemaObjectProperties(manifest.workflow.accepts).map((field) => field.name));
|
|
107
|
+
}
|
|
108
|
+
function sourceHandleForStep(data) {
|
|
109
|
+
return data.outputs[0]?.id ?? "output";
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Edges from steps whose `.as` matches a `returns` property, or from Inputs
|
|
113
|
+
* when the property is an `accepts` key, to the Outputs node.
|
|
114
|
+
*/
|
|
115
|
+
function extractReturnsEdges(manifest, nodes) {
|
|
116
|
+
const returnsNode = nodes.find((n) => n.id === WORKFLOW_RETURNS_NODE_ID && n.type === "ecp-io");
|
|
117
|
+
if (!returnsNode)
|
|
118
|
+
return [];
|
|
119
|
+
const fields = jsonSchemaObjectProperties(manifest.workflow.returns);
|
|
120
|
+
const acceptsKeys = acceptsPropertyKeys(manifest);
|
|
121
|
+
const asToStep = new Map();
|
|
122
|
+
for (const node of nodes) {
|
|
123
|
+
if (node.type !== "ecp-step")
|
|
124
|
+
continue;
|
|
125
|
+
const data = node.data;
|
|
126
|
+
if (data.as)
|
|
127
|
+
asToStep.set(data.as, node);
|
|
128
|
+
}
|
|
129
|
+
const edges = [];
|
|
130
|
+
let i = 0;
|
|
131
|
+
for (const field of fields) {
|
|
132
|
+
const stepSource = asToStep.get(field.name);
|
|
133
|
+
if (stepSource && stepSource.type === "ecp-step") {
|
|
134
|
+
const data = stepSource.data;
|
|
135
|
+
edges.push({
|
|
136
|
+
id: `data-returns-${i++}-${stepSource.id}-${field.name}`,
|
|
137
|
+
source: stepSource.id,
|
|
138
|
+
target: WORKFLOW_RETURNS_NODE_ID,
|
|
139
|
+
sourceHandle: sourceHandleForStep(data),
|
|
140
|
+
targetHandle: field.name,
|
|
141
|
+
data: { kind: "data" },
|
|
142
|
+
});
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if (!acceptsKeys.has(field.name))
|
|
146
|
+
continue;
|
|
147
|
+
edges.push({
|
|
148
|
+
id: `data-returns-${i++}-${WORKFLOW_ACCEPTS_NODE_ID}-${field.name}`,
|
|
149
|
+
source: WORKFLOW_ACCEPTS_NODE_ID,
|
|
150
|
+
target: WORKFLOW_RETURNS_NODE_ID,
|
|
151
|
+
sourceHandle: field.name,
|
|
152
|
+
targetHandle: field.name,
|
|
153
|
+
data: { kind: "data" },
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
return edges;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Convert a workflow manifest into a positioned React Flow document.
|
|
160
|
+
* Emits step nodes, projected Inputs / Outputs (`ecp-io`), and **data** edges.
|
|
161
|
+
* Sequential control edges are used internally for layout, then discarded.
|
|
162
|
+
* @category Encoding
|
|
163
|
+
*/
|
|
164
|
+
export function workflowToReactFlow(manifest, registry, options) {
|
|
165
|
+
const acceptsNode = acceptsReactFlowNode(manifest);
|
|
166
|
+
const returnsNode = returnsReactFlowNode(manifest);
|
|
167
|
+
const body = manifest.steps.length === 0
|
|
168
|
+
? { nodes: [], edges: [], entryIds: [], exitIds: [] }
|
|
169
|
+
: renderNodes(manifest.steps, registry);
|
|
170
|
+
const nodes = [acceptsNode, ...body.nodes];
|
|
171
|
+
if (returnsNode)
|
|
172
|
+
nodes.push(returnsNode);
|
|
173
|
+
const dataEdges = extractDataEdges(manifest.steps, acceptsPropertyKeys(manifest));
|
|
174
|
+
const returnsEdges = extractReturnsEdges(manifest, nodes);
|
|
175
|
+
const allDataEdges = [...dataEdges, ...returnsEdges];
|
|
176
|
+
for (const edge of allDataEdges) {
|
|
177
|
+
if (!edge.sourceHandle)
|
|
178
|
+
continue;
|
|
179
|
+
const source = nodes.find((n) => n.id === edge.source);
|
|
180
|
+
if (!source || source.type !== "ecp-step")
|
|
181
|
+
continue;
|
|
182
|
+
const data = source.data;
|
|
183
|
+
ensureOutputPort(data.outputs, edge.sourceHandle);
|
|
184
|
+
}
|
|
185
|
+
const layoutEdges = [...body.edges, ...allDataEdges];
|
|
186
|
+
if (body.entryIds.length > 0) {
|
|
187
|
+
connectControl(layoutEdges, [acceptsNode.id], body.entryIds, "io-accepts");
|
|
188
|
+
}
|
|
189
|
+
else if (returnsNode) {
|
|
190
|
+
connectControl(layoutEdges, [acceptsNode.id], [returnsNode.id], "io-empty");
|
|
191
|
+
}
|
|
192
|
+
if (returnsNode && body.exitIds.length > 0) {
|
|
193
|
+
connectControl(layoutEdges, body.exitIds, [returnsNode.id], "io-returns");
|
|
194
|
+
}
|
|
195
|
+
const doc = {
|
|
196
|
+
nodes,
|
|
197
|
+
// Control edges rank sequential / parallel steps for dagre; they are not
|
|
198
|
+
// property mappings and are stripped from the published document below.
|
|
199
|
+
edges: layoutEdges,
|
|
200
|
+
};
|
|
201
|
+
const laid = layoutReactFlowDocument(doc, options);
|
|
202
|
+
return {
|
|
203
|
+
nodes: laid.nodes,
|
|
204
|
+
edges: laid.edges.filter((edge) => edge.data.kind === "data"),
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=workflow-to-reactflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-to-reactflow.js","sourceRoot":"","sources":["../src/workflow-to-reactflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@executioncontrolprotocol/format-reactflow",
|
|
3
|
+
"version": "0.12.0",
|
|
4
|
+
"description": "ECP React Flow graph encode extension with run-progress hooks",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc -b"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@dagrejs/dagre": "^1.1.4"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"@executioncontrolprotocol/core": "^0.12.0",
|
|
27
|
+
"@executioncontrolprotocol/types": "^0.12.0",
|
|
28
|
+
"zod": "^3.24.0"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@executioncontrolprotocol/core": "0.12.0",
|
|
32
|
+
"@executioncontrolprotocol/types": "0.12.0",
|
|
33
|
+
"typescript": "^5.7.0",
|
|
34
|
+
"zod": "^3.24.0"
|
|
35
|
+
}
|
|
36
|
+
}
|