@mesantosrai/pipeline-canvas 1.0.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/LICENSE +21 -0
- package/README.md +545 -0
- package/dist/_virtual/dynamic-import-helper.mjs +17 -0
- package/dist/_virtual/dynamic-import-helper.mjs.map +1 -0
- package/dist/components/CustomHandle.d.ts +9 -0
- package/dist/components/CustomHandle.d.ts.map +1 -0
- package/dist/components/CustomHandle.mjs +18 -0
- package/dist/components/CustomHandle.mjs.map +1 -0
- package/dist/components/ExecutionLogsPanel.d.ts +3 -0
- package/dist/components/ExecutionLogsPanel.d.ts.map +1 -0
- package/dist/components/ExecutionLogsPanel.mjs +189 -0
- package/dist/components/ExecutionLogsPanel.mjs.map +1 -0
- package/dist/components/NodeContextMenu.d.ts +15 -0
- package/dist/components/NodeContextMenu.d.ts.map +1 -0
- package/dist/components/NodeContextMenu.mjs +110 -0
- package/dist/components/NodeContextMenu.mjs.map +1 -0
- package/dist/components/PipelineCanvas.d.ts +4 -0
- package/dist/components/PipelineCanvas.d.ts.map +1 -0
- package/dist/components/PipelineCanvas.mjs +1016 -0
- package/dist/components/PipelineCanvas.mjs.map +1 -0
- package/dist/components/PipelineCanvasProvider.d.ts +30 -0
- package/dist/components/PipelineCanvasProvider.d.ts.map +1 -0
- package/dist/components/PipelineCanvasProvider.mjs +7 -0
- package/dist/components/PipelineCanvasProvider.mjs.map +1 -0
- package/dist/components/PipelineExecution.d.ts +16 -0
- package/dist/components/PipelineExecution.d.ts.map +1 -0
- package/dist/components/PipelineExecution.mjs +310 -0
- package/dist/components/PipelineExecution.mjs.map +1 -0
- package/dist/components/PipelineManager.d.ts +8 -0
- package/dist/components/PipelineManager.d.ts.map +1 -0
- package/dist/components/PipelineManager.mjs +143 -0
- package/dist/components/PipelineManager.mjs.map +1 -0
- package/dist/components/PipelineNodeConfig.d.ts +11 -0
- package/dist/components/PipelineNodeConfig.d.ts.map +1 -0
- package/dist/components/PipelineNodeConfig.mjs +1808 -0
- package/dist/components/PipelineNodeConfig.mjs.map +1 -0
- package/dist/components/PipelineNodePalette.d.ts +3 -0
- package/dist/components/PipelineNodePalette.d.ts.map +1 -0
- package/dist/components/PipelineNodePalette.mjs +87 -0
- package/dist/components/PipelineNodePalette.mjs.map +1 -0
- package/dist/components/SavePipelineDialog.d.ts +9 -0
- package/dist/components/SavePipelineDialog.d.ts.map +1 -0
- package/dist/components/SavePipelineDialog.mjs +140 -0
- package/dist/components/SavePipelineDialog.mjs.map +1 -0
- package/dist/components/SavedPipelinesList.d.ts +3 -0
- package/dist/components/SavedPipelinesList.d.ts.map +1 -0
- package/dist/components/SavedPipelinesList.mjs +172 -0
- package/dist/components/SavedPipelinesList.mjs.map +1 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/ui/alert.d.ts +9 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/alert.mjs +51 -0
- package/dist/components/ui/alert.mjs.map +1 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.mjs +45 -0
- package/dist/components/ui/button.mjs.map +1 -0
- package/dist/components/ui/dialog.d.ts +20 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog.mjs +99 -0
- package/dist/components/ui/dialog.mjs.map +1 -0
- package/dist/components/ui/index.d.ts +8 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/input.d.ts +6 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/input.mjs +22 -0
- package/dist/components/ui/input.mjs.map +1 -0
- package/dist/components/ui/label.d.ts +6 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/label.mjs +20 -0
- package/dist/components/ui/label.mjs.map +1 -0
- package/dist/components/ui/select.d.ts +14 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/select.mjs +121 -0
- package/dist/components/ui/select.mjs.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.mjs +24 -0
- package/dist/components/ui/tooltip.mjs.map +1 -0
- package/dist/context/PipelineContext.d.ts +50 -0
- package/dist/context/PipelineContext.d.ts.map +1 -0
- package/dist/context/PipelineContext.mjs +36 -0
- package/dist/context/PipelineContext.mjs.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +45 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.mjs +9 -0
- package/dist/lib/utils.mjs.map +1 -0
- package/dist/node_modules/zustand/esm/middleware.mjs +256 -0
- package/dist/node_modules/zustand/esm/middleware.mjs.map +1 -0
- package/dist/nodes/alphafold_node/node.json.mjs +82 -0
- package/dist/nodes/alphafold_node/node.json.mjs.map +1 -0
- package/dist/nodes/http_request_node/node.json.mjs +383 -0
- package/dist/nodes/http_request_node/node.json.mjs.map +1 -0
- package/dist/nodes/input_node/node.json.mjs +51 -0
- package/dist/nodes/input_node/node.json.mjs.map +1 -0
- package/dist/nodes/message_input_node/node.json.mjs +90 -0
- package/dist/nodes/message_input_node/node.json.mjs.map +1 -0
- package/dist/nodes/proteinmpnn_node/node.json.mjs +83 -0
- package/dist/nodes/proteinmpnn_node/node.json.mjs.map +1 -0
- package/dist/nodes/rfdiffusion_node/node.json.mjs +281 -0
- package/dist/nodes/rfdiffusion_node/node.json.mjs.map +1 -0
- package/dist/store/pipelineStore.d.ts +108 -0
- package/dist/store/pipelineStore.d.ts.map +1 -0
- package/dist/store/pipelineStore.mjs +633 -0
- package/dist/store/pipelineStore.mjs.map +1 -0
- package/dist/style.css +1 -0
- package/dist/types/dependencies.d.ts +93 -0
- package/dist/types/dependencies.d.ts.map +1 -0
- package/dist/types/index.d.ts +56 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/logger.d.ts +67 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/logger.mjs +22 -0
- package/dist/types/logger.mjs.map +1 -0
- package/dist/utils/executionEngine.d.ts +27 -0
- package/dist/utils/executionEngine.d.ts.map +1 -0
- package/dist/utils/executionEngine.mjs +461 -0
- package/dist/utils/executionEngine.mjs.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +23 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.mjs +29 -0
- package/dist/utils/logger.mjs.map +1 -0
- package/dist/utils/nodeLoader.d.ts +76 -0
- package/dist/utils/nodeLoader.d.ts.map +1 -0
- package/dist/utils/nodeLoader.mjs +48 -0
- package/dist/utils/nodeLoader.mjs.map +1 -0
- package/dist/utils/templateResolver.d.ts +10 -0
- package/dist/utils/templateResolver.d.ts.map +1 -0
- package/dist/utils/templateResolver.mjs +64 -0
- package/dist/utils/templateResolver.mjs.map +1 -0
- package/dist/utils/topologicalSort.d.ts +10 -0
- package/dist/utils/topologicalSort.d.ts.map +1 -0
- package/dist/utils/topologicalSort.mjs +25 -0
- package/dist/utils/topologicalSort.mjs.map +1 -0
- package/nodes/alphafold_node/node.json +77 -0
- package/nodes/http_request_node/node.json +311 -0
- package/nodes/input_node/node.json +47 -0
- package/nodes/message_input_node/node.json +56 -0
- package/nodes/proteinmpnn_node/node.json +78 -0
- package/nodes/rfdiffusion_node/node.json +231 -0
- package/package.json +94 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
const w = {};
|
|
2
|
+
function b(d, c) {
|
|
3
|
+
let s;
|
|
4
|
+
try {
|
|
5
|
+
s = d();
|
|
6
|
+
} catch {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
getItem: (a) => {
|
|
11
|
+
var e;
|
|
12
|
+
const v = (h) => h === null ? null : JSON.parse(h, void 0), m = (e = s.getItem(a)) != null ? e : null;
|
|
13
|
+
return m instanceof Promise ? m.then(v) : v(m);
|
|
14
|
+
},
|
|
15
|
+
setItem: (a, e) => s.setItem(
|
|
16
|
+
a,
|
|
17
|
+
JSON.stringify(e, void 0)
|
|
18
|
+
),
|
|
19
|
+
removeItem: (a) => s.removeItem(a)
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const I = (d) => (c) => {
|
|
23
|
+
try {
|
|
24
|
+
const s = d(c);
|
|
25
|
+
return s instanceof Promise ? s : {
|
|
26
|
+
then(o) {
|
|
27
|
+
return I(o)(s);
|
|
28
|
+
},
|
|
29
|
+
catch(o) {
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
} catch (s) {
|
|
34
|
+
return {
|
|
35
|
+
then(o) {
|
|
36
|
+
return this;
|
|
37
|
+
},
|
|
38
|
+
catch(o) {
|
|
39
|
+
return I(o)(s);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}, R = (d, c) => (s, o, a) => {
|
|
44
|
+
let e = {
|
|
45
|
+
getStorage: () => localStorage,
|
|
46
|
+
serialize: JSON.stringify,
|
|
47
|
+
deserialize: JSON.parse,
|
|
48
|
+
partialize: (r) => r,
|
|
49
|
+
version: 0,
|
|
50
|
+
merge: (r, l) => ({
|
|
51
|
+
...l,
|
|
52
|
+
...r
|
|
53
|
+
}),
|
|
54
|
+
...c
|
|
55
|
+
}, v = !1;
|
|
56
|
+
const m = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set();
|
|
57
|
+
let i;
|
|
58
|
+
try {
|
|
59
|
+
i = e.getStorage();
|
|
60
|
+
} catch {
|
|
61
|
+
}
|
|
62
|
+
if (!i)
|
|
63
|
+
return d(
|
|
64
|
+
(...r) => {
|
|
65
|
+
console.warn(
|
|
66
|
+
`[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`
|
|
67
|
+
), s(...r);
|
|
68
|
+
},
|
|
69
|
+
o,
|
|
70
|
+
a
|
|
71
|
+
);
|
|
72
|
+
const S = I(e.serialize), p = () => {
|
|
73
|
+
const r = e.partialize({ ...o() });
|
|
74
|
+
let l;
|
|
75
|
+
const t = S({ state: r, version: e.version }).then(
|
|
76
|
+
(u) => i.setItem(e.name, u)
|
|
77
|
+
).catch((u) => {
|
|
78
|
+
l = u;
|
|
79
|
+
});
|
|
80
|
+
if (l)
|
|
81
|
+
throw l;
|
|
82
|
+
return t;
|
|
83
|
+
}, y = a.setState;
|
|
84
|
+
a.setState = (r, l) => {
|
|
85
|
+
y(r, l), p();
|
|
86
|
+
};
|
|
87
|
+
const f = d(
|
|
88
|
+
(...r) => {
|
|
89
|
+
s(...r), p();
|
|
90
|
+
},
|
|
91
|
+
o,
|
|
92
|
+
a
|
|
93
|
+
);
|
|
94
|
+
let g;
|
|
95
|
+
const n = () => {
|
|
96
|
+
var r;
|
|
97
|
+
if (!i) return;
|
|
98
|
+
v = !1, m.forEach((t) => t(o()));
|
|
99
|
+
const l = ((r = e.onRehydrateStorage) == null ? void 0 : r.call(e, o())) || void 0;
|
|
100
|
+
return I(i.getItem.bind(i))(e.name).then((t) => {
|
|
101
|
+
if (t)
|
|
102
|
+
return e.deserialize(t);
|
|
103
|
+
}).then((t) => {
|
|
104
|
+
if (t)
|
|
105
|
+
if (typeof t.version == "number" && t.version !== e.version) {
|
|
106
|
+
if (e.migrate)
|
|
107
|
+
return e.migrate(
|
|
108
|
+
t.state,
|
|
109
|
+
t.version
|
|
110
|
+
);
|
|
111
|
+
console.error(
|
|
112
|
+
"State loaded from storage couldn't be migrated since no migrate function was provided"
|
|
113
|
+
);
|
|
114
|
+
} else
|
|
115
|
+
return t.state;
|
|
116
|
+
}).then((t) => {
|
|
117
|
+
var u;
|
|
118
|
+
return g = e.merge(
|
|
119
|
+
t,
|
|
120
|
+
(u = o()) != null ? u : f
|
|
121
|
+
), s(g, !0), p();
|
|
122
|
+
}).then(() => {
|
|
123
|
+
l == null || l(g, void 0), v = !0, h.forEach((t) => t(g));
|
|
124
|
+
}).catch((t) => {
|
|
125
|
+
l == null || l(void 0, t);
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
return a.persist = {
|
|
129
|
+
setOptions: (r) => {
|
|
130
|
+
e = {
|
|
131
|
+
...e,
|
|
132
|
+
...r
|
|
133
|
+
}, r.getStorage && (i = r.getStorage());
|
|
134
|
+
},
|
|
135
|
+
clearStorage: () => {
|
|
136
|
+
i == null || i.removeItem(e.name);
|
|
137
|
+
},
|
|
138
|
+
getOptions: () => e,
|
|
139
|
+
rehydrate: () => n(),
|
|
140
|
+
hasHydrated: () => v,
|
|
141
|
+
onHydrate: (r) => (m.add(r), () => {
|
|
142
|
+
m.delete(r);
|
|
143
|
+
}),
|
|
144
|
+
onFinishHydration: (r) => (h.add(r), () => {
|
|
145
|
+
h.delete(r);
|
|
146
|
+
})
|
|
147
|
+
}, n(), g || f;
|
|
148
|
+
}, E = (d, c) => (s, o, a) => {
|
|
149
|
+
let e = {
|
|
150
|
+
storage: b(() => localStorage),
|
|
151
|
+
partialize: (n) => n,
|
|
152
|
+
version: 0,
|
|
153
|
+
merge: (n, r) => ({
|
|
154
|
+
...r,
|
|
155
|
+
...n
|
|
156
|
+
}),
|
|
157
|
+
...c
|
|
158
|
+
}, v = !1;
|
|
159
|
+
const m = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set();
|
|
160
|
+
let i = e.storage;
|
|
161
|
+
if (!i)
|
|
162
|
+
return d(
|
|
163
|
+
(...n) => {
|
|
164
|
+
console.warn(
|
|
165
|
+
`[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`
|
|
166
|
+
), s(...n);
|
|
167
|
+
},
|
|
168
|
+
o,
|
|
169
|
+
a
|
|
170
|
+
);
|
|
171
|
+
const S = () => {
|
|
172
|
+
const n = e.partialize({ ...o() });
|
|
173
|
+
return i.setItem(e.name, {
|
|
174
|
+
state: n,
|
|
175
|
+
version: e.version
|
|
176
|
+
});
|
|
177
|
+
}, p = a.setState;
|
|
178
|
+
a.setState = (n, r) => {
|
|
179
|
+
p(n, r), S();
|
|
180
|
+
};
|
|
181
|
+
const y = d(
|
|
182
|
+
(...n) => {
|
|
183
|
+
s(...n), S();
|
|
184
|
+
},
|
|
185
|
+
o,
|
|
186
|
+
a
|
|
187
|
+
);
|
|
188
|
+
a.getInitialState = () => y;
|
|
189
|
+
let f;
|
|
190
|
+
const g = () => {
|
|
191
|
+
var n, r;
|
|
192
|
+
if (!i) return;
|
|
193
|
+
v = !1, m.forEach((t) => {
|
|
194
|
+
var u;
|
|
195
|
+
return t((u = o()) != null ? u : y);
|
|
196
|
+
});
|
|
197
|
+
const l = ((r = e.onRehydrateStorage) == null ? void 0 : r.call(e, (n = o()) != null ? n : y)) || void 0;
|
|
198
|
+
return I(i.getItem.bind(i))(e.name).then((t) => {
|
|
199
|
+
if (t)
|
|
200
|
+
if (typeof t.version == "number" && t.version !== e.version) {
|
|
201
|
+
if (e.migrate)
|
|
202
|
+
return [
|
|
203
|
+
!0,
|
|
204
|
+
e.migrate(
|
|
205
|
+
t.state,
|
|
206
|
+
t.version
|
|
207
|
+
)
|
|
208
|
+
];
|
|
209
|
+
console.error(
|
|
210
|
+
"State loaded from storage couldn't be migrated since no migrate function was provided"
|
|
211
|
+
);
|
|
212
|
+
} else
|
|
213
|
+
return [!1, t.state];
|
|
214
|
+
return [!1, void 0];
|
|
215
|
+
}).then((t) => {
|
|
216
|
+
var u;
|
|
217
|
+
const [_, H] = t;
|
|
218
|
+
if (f = e.merge(
|
|
219
|
+
H,
|
|
220
|
+
(u = o()) != null ? u : y
|
|
221
|
+
), s(f, !0), _)
|
|
222
|
+
return S();
|
|
223
|
+
}).then(() => {
|
|
224
|
+
l == null || l(f, void 0), f = o(), v = !0, h.forEach((t) => t(f));
|
|
225
|
+
}).catch((t) => {
|
|
226
|
+
l == null || l(void 0, t);
|
|
227
|
+
});
|
|
228
|
+
};
|
|
229
|
+
return a.persist = {
|
|
230
|
+
setOptions: (n) => {
|
|
231
|
+
e = {
|
|
232
|
+
...e,
|
|
233
|
+
...n
|
|
234
|
+
}, n.storage && (i = n.storage);
|
|
235
|
+
},
|
|
236
|
+
clearStorage: () => {
|
|
237
|
+
i == null || i.removeItem(e.name);
|
|
238
|
+
},
|
|
239
|
+
getOptions: () => e,
|
|
240
|
+
rehydrate: () => g(),
|
|
241
|
+
hasHydrated: () => v,
|
|
242
|
+
onHydrate: (n) => (m.add(n), () => {
|
|
243
|
+
m.delete(n);
|
|
244
|
+
}),
|
|
245
|
+
onFinishHydration: (n) => (h.add(n), () => {
|
|
246
|
+
h.delete(n);
|
|
247
|
+
})
|
|
248
|
+
}, e.skipHydration || g(), f || y;
|
|
249
|
+
}, z = (d, c) => "getStorage" in c || "serialize" in c || "deserialize" in c ? ((w ? "production" : void 0) !== "production" && console.warn(
|
|
250
|
+
"[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."
|
|
251
|
+
), R(d, c)) : E(d, c), F = z;
|
|
252
|
+
export {
|
|
253
|
+
b as createJSONStorage,
|
|
254
|
+
F as persist
|
|
255
|
+
};
|
|
256
|
+
//# sourceMappingURL=middleware.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.mjs","sources":["../../../../node_modules/zustand/esm/middleware.mjs"],"sourcesContent":["const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (_e) {\n }\n if (!extensionConnector) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && enabled) {\n console.warn(\n \"[zustand devtools middleware] Please install/enable Redux devtools extension\"\n );\n }\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format. \n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (_e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? void 0 : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst oldImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n getStorage: () => localStorage,\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage;\n try {\n storage = options.getStorage();\n } catch (_e) {\n }\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const thenableSerialize = toThenable(options.serialize);\n const setItem = () => {\n const state = options.partialize({ ...get() });\n let errorInSync;\n const thenable = thenableSerialize({ state, version: options.version }).then(\n (serializedValue) => storage.setItem(options.name, serializedValue)\n ).catch((e) => {\n errorInSync = e;\n });\n if (errorInSync) {\n throw errorInSync;\n }\n return thenable;\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n let stateFromStorage;\n const hydrate = () => {\n var _a;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => cb(get()));\n const postRehydrationCallback = ((_a = options.onRehydrateStorage) == null ? void 0 : _a.call(options, get())) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((storageValue) => {\n if (storageValue) {\n return options.deserialize(storageValue);\n }\n }).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then((migratedState) => {\n var _a2;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.getStorage) {\n storage = newOptions.getStorage();\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n hydrate();\n return stateFromStorage || configResult;\n};\nconst newImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return [\n true,\n options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n )\n ];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persistImpl = (config, baseOptions) => {\n if (\"getStorage\" in baseOptions || \"serialize\" in baseOptions || \"deserialize\" in baseOptions) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.\"\n );\n }\n return oldImpl(config, baseOptions);\n }\n return newImpl(config, baseOptions);\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n"],"names":["createJSONStorage","getStorage","options","storage","name","_a","parse","str2","str","newValue","toThenable","fn","input","result","onFulfilled","_onRejected","e","_onFulfilled","onRejected","oldImpl","config","baseOptions","set","get","api","state","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","args","thenableSerialize","setItem","errorInSync","thenable","serializedValue","savedSetState","replace","configResult","stateFromStorage","hydrate","cb","postRehydrationCallback","storageValue","deserializedStorageValue","migratedState","_a2","newOptions","newImpl","_b","migrationResult","migrated","persistImpl","__vite_import_meta_env__","persist"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
const e = {
|
|
2
|
+
type: "alphafold_node",
|
|
3
|
+
label: "AlphaFold",
|
|
4
|
+
icon: "Layers",
|
|
5
|
+
color: "#f97316",
|
|
6
|
+
borderColor: "border-orange-500",
|
|
7
|
+
bgColor: "bg-orange-500",
|
|
8
|
+
description: "Structure prediction"
|
|
9
|
+
}, t = {
|
|
10
|
+
api_key: {
|
|
11
|
+
type: "string",
|
|
12
|
+
required: !1,
|
|
13
|
+
default: "",
|
|
14
|
+
placeholder: "Enter API key (optional)",
|
|
15
|
+
label: "API Key",
|
|
16
|
+
helpText: "API key for AlphaFold. Leave empty to use global API key from settings."
|
|
17
|
+
},
|
|
18
|
+
recycle_count: {
|
|
19
|
+
type: "number",
|
|
20
|
+
required: !1,
|
|
21
|
+
default: 3,
|
|
22
|
+
min: 1,
|
|
23
|
+
max: 20,
|
|
24
|
+
label: "Recycle Count"
|
|
25
|
+
},
|
|
26
|
+
num_relax: {
|
|
27
|
+
type: "number",
|
|
28
|
+
required: !1,
|
|
29
|
+
default: 0,
|
|
30
|
+
min: 0,
|
|
31
|
+
max: 10,
|
|
32
|
+
label: "Number of Relax Steps"
|
|
33
|
+
}
|
|
34
|
+
}, a = {
|
|
35
|
+
inputs: [
|
|
36
|
+
{
|
|
37
|
+
id: "target",
|
|
38
|
+
type: "target",
|
|
39
|
+
position: "left",
|
|
40
|
+
dataType: "sequence"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
outputs: [
|
|
44
|
+
{
|
|
45
|
+
id: "source",
|
|
46
|
+
type: "source",
|
|
47
|
+
position: "right",
|
|
48
|
+
dataType: "pdb_file"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}, o = {
|
|
52
|
+
type: "api_call",
|
|
53
|
+
endpoint: "/alphafold/run",
|
|
54
|
+
method: "POST",
|
|
55
|
+
headers: {
|
|
56
|
+
Authorization: "Bearer {{config.api_key}}"
|
|
57
|
+
},
|
|
58
|
+
payload: {
|
|
59
|
+
sequence: "{{input.target}}",
|
|
60
|
+
recycle_count: "{{config.recycle_count}}",
|
|
61
|
+
num_relax: "{{config.num_relax}}"
|
|
62
|
+
}
|
|
63
|
+
}, l = {
|
|
64
|
+
api_key: "",
|
|
65
|
+
recycle_count: 3,
|
|
66
|
+
num_relax: 0
|
|
67
|
+
}, n = {
|
|
68
|
+
metadata: e,
|
|
69
|
+
schema: t,
|
|
70
|
+
handles: a,
|
|
71
|
+
execution: o,
|
|
72
|
+
defaultConfig: l
|
|
73
|
+
};
|
|
74
|
+
export {
|
|
75
|
+
n as default,
|
|
76
|
+
l as defaultConfig,
|
|
77
|
+
o as execution,
|
|
78
|
+
a as handles,
|
|
79
|
+
e as metadata,
|
|
80
|
+
t as schema
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=node.json.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|