@dilipod/ui 0.4.13 → 0.4.15
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/components/workflow-flow.d.ts +29 -3
- package/dist/components/workflow-flow.d.ts.map +1 -1
- package/dist/components/workflow-viewer.d.ts.map +1 -1
- package/dist/index.js +112 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +112 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/workflow-flow.tsx +163 -5
- package/src/components/workflow-viewer.tsx +17 -20
|
@@ -14,14 +14,40 @@ export interface N8nWorkflow {
|
|
|
14
14
|
index: number;
|
|
15
15
|
}>>>>;
|
|
16
16
|
}
|
|
17
|
+
export interface SimBlock {
|
|
18
|
+
id: string;
|
|
19
|
+
type: string;
|
|
20
|
+
name: string;
|
|
21
|
+
position?: {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
};
|
|
25
|
+
subBlocks?: Record<string, unknown>;
|
|
26
|
+
outputs?: Record<string, unknown>;
|
|
27
|
+
enabled?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface SimWorkflow {
|
|
30
|
+
blocks?: Record<string, SimBlock>;
|
|
31
|
+
edges?: Array<{
|
|
32
|
+
id?: string;
|
|
33
|
+
source?: string;
|
|
34
|
+
target?: string;
|
|
35
|
+
sourceHandle?: string;
|
|
36
|
+
targetHandle?: string;
|
|
37
|
+
}>;
|
|
38
|
+
loops?: Record<string, unknown>;
|
|
39
|
+
parallels?: Record<string, unknown>;
|
|
40
|
+
}
|
|
17
41
|
export interface WorkflowFlowProps {
|
|
18
|
-
/** The
|
|
19
|
-
workflow: N8nWorkflow;
|
|
42
|
+
/** The workflow to visualize (n8n or Sim format) */
|
|
43
|
+
workflow: N8nWorkflow | SimWorkflow;
|
|
20
44
|
/** Height of the flow diagram container */
|
|
21
45
|
height?: number;
|
|
22
46
|
/** Additional CSS class name */
|
|
23
47
|
className?: string;
|
|
48
|
+
/** Platform type */
|
|
49
|
+
platform?: 'n8n' | 'sim';
|
|
24
50
|
}
|
|
25
|
-
export declare function WorkflowFlow({ workflow, height, className }: WorkflowFlowProps): import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
export declare function WorkflowFlow({ workflow, height, className, platform }: WorkflowFlowProps): import("react/jsx-runtime").JSX.Element;
|
|
26
52
|
export default WorkflowFlow;
|
|
27
53
|
//# sourceMappingURL=workflow-flow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-flow.d.ts","sourceRoot":"","sources":["../../src/components/workflow-flow.tsx"],"names":[],"mappings":"AAcA,OAAO,8BAA8B,CAAA;AAMrC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC,CAAC,CAAA;CACzG;AAED,MAAM,WAAW,iBAAiB;IAChC,
|
|
1
|
+
{"version":3,"file":"workflow-flow.d.ts","sourceRoot":"","sources":["../../src/components/workflow-flow.tsx"],"names":[],"mappings":"AAcA,OAAO,8BAA8B,CAAA;AAMrC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC,CAAC,CAAA;CACzG;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAA;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACzB;AA+DD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAY,EAAE,SAAc,EAAE,QAAgB,EAAE,EAAE,iBAAiB,2CAgT3G;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-viewer.d.ts","sourceRoot":"","sources":["../../src/components/workflow-viewer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workflow-viewer.d.ts","sourceRoot":"","sources":["../../src/components/workflow-viewer.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -86,6 +86,7 @@ __export(workflow_flow_exports, {
|
|
|
86
86
|
});
|
|
87
87
|
function getNodeTypeLabel(type) {
|
|
88
88
|
const labels = {
|
|
89
|
+
// n8n types
|
|
89
90
|
"n8n-nodes-base.webhook": "Webhook",
|
|
90
91
|
"n8n-nodes-base.scheduleTrigger": "Schedule",
|
|
91
92
|
"n8n-nodes-base.if": "Condition",
|
|
@@ -95,7 +96,22 @@ function getNodeTypeLabel(type) {
|
|
|
95
96
|
"n8n-nodes-base.respondToWebhook": "Response",
|
|
96
97
|
"@n8n/n8n-nodes-langchain.agent": "AI Agent",
|
|
97
98
|
"@n8n/n8n-nodes-langchain.lmChatOpenAi": "OpenAI",
|
|
98
|
-
"@n8n/n8n-nodes-langchain.lmChatAnthropic": "Anthropic"
|
|
99
|
+
"@n8n/n8n-nodes-langchain.lmChatAnthropic": "Anthropic",
|
|
100
|
+
// Sim Studio types
|
|
101
|
+
"starter": "Webhook",
|
|
102
|
+
"webhook": "Webhook",
|
|
103
|
+
"agent": "AI Agent",
|
|
104
|
+
"llm": "LLM",
|
|
105
|
+
"openai": "OpenAI",
|
|
106
|
+
"anthropic": "Anthropic",
|
|
107
|
+
"api": "API Request",
|
|
108
|
+
"http_request": "HTTP Request",
|
|
109
|
+
"condition": "Condition",
|
|
110
|
+
"code": "Code",
|
|
111
|
+
"response": "Response",
|
|
112
|
+
"function": "Function",
|
|
113
|
+
"evaluator": "Evaluator",
|
|
114
|
+
"router": "Router"
|
|
99
115
|
};
|
|
100
116
|
return labels[type] || type.split(".").pop()?.replace(/([A-Z])/g, " $1").trim() || type;
|
|
101
117
|
}
|
|
@@ -107,10 +123,98 @@ function CustomNode({ data }) {
|
|
|
107
123
|
/* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "source", position: react.Position.Right, className: "!bg-slate-300 !w-1.5 !h-1.5 !border-0" })
|
|
108
124
|
] });
|
|
109
125
|
}
|
|
110
|
-
function WorkflowFlow({ workflow, height = 350, className = "" }) {
|
|
126
|
+
function WorkflowFlow({ workflow, height = 350, className = "", platform = "n8n" }) {
|
|
111
127
|
const { initialNodes, initialEdges } = React50.useMemo(() => {
|
|
112
|
-
|
|
113
|
-
|
|
128
|
+
if (platform === "sim") {
|
|
129
|
+
const simWorkflow = workflow;
|
|
130
|
+
const blocks = simWorkflow.blocks || {};
|
|
131
|
+
const simEdges = simWorkflow.edges || [];
|
|
132
|
+
const blockList = Object.values(blocks);
|
|
133
|
+
if (blockList.length === 0) {
|
|
134
|
+
return { initialNodes: [], initialEdges: [] };
|
|
135
|
+
}
|
|
136
|
+
const forwardEdges2 = /* @__PURE__ */ new Map();
|
|
137
|
+
const backwardEdges2 = /* @__PURE__ */ new Map();
|
|
138
|
+
simEdges.forEach((edge) => {
|
|
139
|
+
const from = edge.source;
|
|
140
|
+
const to = edge.target;
|
|
141
|
+
if (from && to) {
|
|
142
|
+
if (!forwardEdges2.has(from)) forwardEdges2.set(from, []);
|
|
143
|
+
forwardEdges2.get(from).push(to);
|
|
144
|
+
if (!backwardEdges2.has(to)) backwardEdges2.set(to, []);
|
|
145
|
+
backwardEdges2.get(to).push(from);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
const triggerBlocks = blockList.filter(
|
|
149
|
+
(b) => b.type === "starter" || b.type === "webhook" || b.type === "api"
|
|
150
|
+
);
|
|
151
|
+
const roots2 = triggerBlocks.length > 0 ? triggerBlocks : blockList.filter((b) => !backwardEdges2.has(b.id) || backwardEdges2.get(b.id).length === 0);
|
|
152
|
+
const levels2 = /* @__PURE__ */ new Map();
|
|
153
|
+
const queue2 = [];
|
|
154
|
+
roots2.forEach((r) => {
|
|
155
|
+
levels2.set(r.id, 0);
|
|
156
|
+
queue2.push(r.id);
|
|
157
|
+
});
|
|
158
|
+
const visited2 = /* @__PURE__ */ new Set();
|
|
159
|
+
while (queue2.length > 0) {
|
|
160
|
+
const id = queue2.shift();
|
|
161
|
+
if (visited2.has(id)) continue;
|
|
162
|
+
visited2.add(id);
|
|
163
|
+
const children = forwardEdges2.get(id) || [];
|
|
164
|
+
const myLevel = levels2.get(id) || 0;
|
|
165
|
+
children.forEach((child) => {
|
|
166
|
+
const childLevel = levels2.get(child);
|
|
167
|
+
if (childLevel === void 0 || myLevel + 1 > childLevel) {
|
|
168
|
+
levels2.set(child, myLevel + 1);
|
|
169
|
+
}
|
|
170
|
+
if (!visited2.has(child)) {
|
|
171
|
+
queue2.push(child);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
blockList.forEach((block) => {
|
|
176
|
+
if (!levels2.has(block.id)) {
|
|
177
|
+
const maxLevel = Math.max(0, ...Array.from(levels2.values()));
|
|
178
|
+
levels2.set(block.id, maxLevel + 1);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
const nodesByLevel2 = /* @__PURE__ */ new Map();
|
|
182
|
+
levels2.forEach((level, id) => {
|
|
183
|
+
if (!nodesByLevel2.has(level)) nodesByLevel2.set(level, []);
|
|
184
|
+
nodesByLevel2.get(level).push(id);
|
|
185
|
+
});
|
|
186
|
+
const xGap2 = 170;
|
|
187
|
+
const yGap2 = 70;
|
|
188
|
+
const positions2 = /* @__PURE__ */ new Map();
|
|
189
|
+
const sortedLevels2 = Array.from(nodesByLevel2.keys()).sort((a, b) => a - b);
|
|
190
|
+
sortedLevels2.forEach((level) => {
|
|
191
|
+
const nodesInLevel = nodesByLevel2.get(level);
|
|
192
|
+
const totalHeight = (nodesInLevel.length - 1) * yGap2;
|
|
193
|
+
const startY = -totalHeight / 2;
|
|
194
|
+
nodesInLevel.forEach((id, i) => {
|
|
195
|
+
positions2.set(id, { x: level * xGap2, y: startY + i * yGap2 });
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
const nodes3 = blockList.map((block) => ({
|
|
199
|
+
id: block.id,
|
|
200
|
+
type: "custom",
|
|
201
|
+
position: positions2.get(block.id) || { x: 0, y: 0 },
|
|
202
|
+
data: { label: block.name || block.type, type: block.type }
|
|
203
|
+
}));
|
|
204
|
+
const edges3 = simEdges.map((edge, idx) => ({
|
|
205
|
+
id: edge.id || `edge-${idx}`,
|
|
206
|
+
source: edge.source || "",
|
|
207
|
+
target: edge.target || "",
|
|
208
|
+
type: "smoothstep",
|
|
209
|
+
pathOptions: { borderRadius: 20 },
|
|
210
|
+
style: { stroke: "#94a3b8", strokeWidth: 1.5 },
|
|
211
|
+
markerEnd: { type: react.MarkerType.ArrowClosed, color: "#94a3b8", width: 14, height: 14 }
|
|
212
|
+
})).filter((e) => e.source && e.target);
|
|
213
|
+
return { initialNodes: nodes3, initialEdges: edges3 };
|
|
214
|
+
}
|
|
215
|
+
const n8nWorkflow = workflow;
|
|
216
|
+
const n8nNodes = n8nWorkflow.nodes || [];
|
|
217
|
+
const connections = n8nWorkflow.connections || {};
|
|
114
218
|
const nodeIdMap = new Map(n8nNodes.map((n) => [n.name, n.id || n.name]));
|
|
115
219
|
const forwardEdges = /* @__PURE__ */ new Map();
|
|
116
220
|
const backwardEdges = /* @__PURE__ */ new Map();
|
|
@@ -5073,8 +5177,8 @@ function WorkflowViewer({
|
|
|
5073
5177
|
throw new Error("n8n workflow must have a nodes array");
|
|
5074
5178
|
}
|
|
5075
5179
|
} else {
|
|
5076
|
-
if (!parsed.
|
|
5077
|
-
throw new Error("Sim workflow must have a
|
|
5180
|
+
if (!parsed.blocks || typeof parsed.blocks !== "object") {
|
|
5181
|
+
throw new Error("Sim workflow must have a blocks object");
|
|
5078
5182
|
}
|
|
5079
5183
|
}
|
|
5080
5184
|
return parsed;
|
|
@@ -5460,7 +5564,7 @@ function WorkflowViewer({
|
|
|
5460
5564
|
]
|
|
5461
5565
|
}
|
|
5462
5566
|
),
|
|
5463
|
-
|
|
5567
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5464
5568
|
"button",
|
|
5465
5569
|
{
|
|
5466
5570
|
onClick: () => setViewMode("flow"),
|
|
@@ -5657,7 +5761,7 @@ function WorkflowViewer({
|
|
|
5657
5761
|
)
|
|
5658
5762
|
] }),
|
|
5659
5763
|
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "p-4 bg-[var(--black)] text-gray-100 text-xs overflow-auto max-h-[500px] font-mono", children: JSON.stringify(workflow, null, 2) })
|
|
5660
|
-
] }) : viewMode === "flow" ?
|
|
5764
|
+
] }) : viewMode === "flow" ? /* @__PURE__ */ jsxRuntime.jsx(React50.Suspense, { fallback: loadingComponent || DefaultLoading, children: /* @__PURE__ */ jsxRuntime.jsx(WorkflowFlow2, { workflow, height: 380, platform }) }) : viewMode === "backups" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
5661
5765
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
5662
5766
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-medium", children: "Backup History" }),
|
|
5663
5767
|
/* @__PURE__ */ jsxRuntime.jsx(
|