@bian-womp/spark-workbench 0.1.11 → 0.1.13
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/lib/cjs/index.cjs +95 -50
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/core/contracts.d.ts +2 -2
- package/lib/cjs/src/core/contracts.d.ts.map +1 -1
- package/lib/cjs/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -1
- package/lib/cjs/src/runtime/GraphRunner.d.ts +1 -0
- package/lib/cjs/src/runtime/GraphRunner.d.ts.map +1 -1
- package/lib/esm/index.js +96 -51
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/core/contracts.d.ts +2 -2
- package/lib/esm/src/core/contracts.d.ts.map +1 -1
- package/lib/esm/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -1
- package/lib/esm/src/runtime/GraphRunner.d.ts +1 -0
- package/lib/esm/src/runtime/GraphRunner.d.ts.map +1 -1
- package/package.json +4 -4
- package/lib/cjs/src/adapters/react-flow/index.d.ts +0 -31
- package/lib/cjs/src/adapters/react-flow/index.d.ts.map +0 -1
- package/lib/esm/src/adapters/react-flow/index.d.ts +0 -31
- package/lib/esm/src/adapters/react-flow/index.d.ts.map +0 -1
|
@@ -89,13 +89,13 @@ export type GraphPositionMap = Record<string, {
|
|
|
89
89
|
y: number;
|
|
90
90
|
}>;
|
|
91
91
|
export interface NodeRunStatus {
|
|
92
|
-
|
|
92
|
+
activeRuns: number;
|
|
93
93
|
progress?: number;
|
|
94
94
|
invalidated?: boolean;
|
|
95
95
|
lastError?: unknown;
|
|
96
96
|
}
|
|
97
97
|
export interface EdgeRunStatus {
|
|
98
|
-
|
|
98
|
+
activeRuns: number;
|
|
99
99
|
lastError?: unknown;
|
|
100
100
|
}
|
|
101
101
|
export type DebugEvent<T = unknown> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAmB,MAAM,2BAA2B,CAAC;AAezE,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAmB,MAAM,2BAA2B,CAAC;AAezE,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CA2ZA"}
|
|
@@ -44,6 +44,7 @@ export declare class GraphRunner {
|
|
|
44
44
|
update(def: GraphDefinition): void;
|
|
45
45
|
launch(def: GraphDefinition, opts: RunnerOptions): void;
|
|
46
46
|
setInput(nodeId: string, handle: string, value: unknown): void;
|
|
47
|
+
setInputs(nodeId: string, inputs: Record<string, unknown>): void;
|
|
47
48
|
step(): Promise<void>;
|
|
48
49
|
computeNode(nodeId: string): Promise<void>;
|
|
49
50
|
flush(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,eAAe,EACf,QAAQ,EAQR,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"GraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRunner.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GraphBuilder, StepEngine, HybridEngine, PullEngine, BatchedEngine, PushEngine, createSimpleGraphRegistry, createSimpleGraphDef, createValidationGraphRegistry, createValidationGraphDef, createProgressGraphRegistry, createProgressGraphDef, createAsyncGraphRegistry, createAsyncGraphDef, Registry } from '@bian-womp/spark-graph';
|
|
2
|
-
import { HttpPollingTransport, WebSocketTransport, RemoteRunner } from '@bian-womp/spark-remote';
|
|
2
|
+
import { RemoteEngine, HttpPollingTransport, WebSocketTransport, RemoteRunner } from '@bian-womp/spark-remote';
|
|
3
3
|
import React, { useCallback, useState, useEffect, useMemo, createContext, useContext, useRef } from 'react';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
import { XCircleIcon, WarningCircleIcon } from '@phosphor-icons/react';
|
|
@@ -341,19 +341,9 @@ class GraphRunner {
|
|
|
341
341
|
if (!this.runtime)
|
|
342
342
|
return;
|
|
343
343
|
// Prevent mid-run churn while wiring changes are applied
|
|
344
|
-
|
|
345
|
-
this.runtime.pause();
|
|
346
|
-
}
|
|
347
|
-
catch {
|
|
348
|
-
console.error("Failed to pause runtime");
|
|
349
|
-
}
|
|
344
|
+
this.runtime.pause();
|
|
350
345
|
this.runtime.update(def, this.registry);
|
|
351
|
-
|
|
352
|
-
this.runtime.resume();
|
|
353
|
-
}
|
|
354
|
-
catch {
|
|
355
|
-
console.error("Failed to resume runtime");
|
|
356
|
-
}
|
|
346
|
+
this.runtime.resume();
|
|
357
347
|
this.emit("invalidate", { reason: "graph-updated" });
|
|
358
348
|
return;
|
|
359
349
|
}
|
|
@@ -407,9 +397,7 @@ class GraphRunner {
|
|
|
407
397
|
this.runningKind = opts.engine;
|
|
408
398
|
this.emit("status", { running: true, engine: this.runningKind });
|
|
409
399
|
for (const [nodeId, map] of Object.entries(this.stagedInputs)) {
|
|
410
|
-
|
|
411
|
-
this.engine.setInput(nodeId, handle, value);
|
|
412
|
-
}
|
|
400
|
+
this.engine.setInputs(nodeId, map);
|
|
413
401
|
}
|
|
414
402
|
return;
|
|
415
403
|
}
|
|
@@ -437,9 +425,7 @@ class GraphRunner {
|
|
|
437
425
|
this.runningKind = "push";
|
|
438
426
|
this.emit("status", { running: true, engine: this.runningKind });
|
|
439
427
|
for (const [nodeId, map] of Object.entries(this.stagedInputs)) {
|
|
440
|
-
|
|
441
|
-
this.engine.setInput(nodeId, handle, value);
|
|
442
|
-
}
|
|
428
|
+
this.engine.setInputs(nodeId, map);
|
|
443
429
|
}
|
|
444
430
|
});
|
|
445
431
|
}
|
|
@@ -455,6 +441,51 @@ class GraphRunner {
|
|
|
455
441
|
this.emit("value", { nodeId, handle, value, io: "input" });
|
|
456
442
|
}
|
|
457
443
|
}
|
|
444
|
+
// Batch update multiple inputs on a node and trigger a single run
|
|
445
|
+
setInputs(nodeId, inputs) {
|
|
446
|
+
if (!inputs)
|
|
447
|
+
return;
|
|
448
|
+
if (!this.stagedInputs[nodeId])
|
|
449
|
+
this.stagedInputs[nodeId] = {};
|
|
450
|
+
Object.assign(this.stagedInputs[nodeId], inputs);
|
|
451
|
+
// Local running: pause, set all inputs, resume, schedule a single recompute
|
|
452
|
+
if (this.backend.kind === "local" && this.engine && this.runtime) {
|
|
453
|
+
this.runtime.pause();
|
|
454
|
+
try {
|
|
455
|
+
for (const [handle, value] of Object.entries(inputs)) {
|
|
456
|
+
this.engine.setInput(nodeId, handle, value);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
finally {
|
|
460
|
+
this.runtime.resume();
|
|
461
|
+
try {
|
|
462
|
+
this.runtime.__unsafe_scheduleInputsChanged(nodeId);
|
|
463
|
+
}
|
|
464
|
+
catch { }
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
// Remote running: forward inputs individually (no batch API available)
|
|
468
|
+
else if (this.engine && this.backend.kind !== "local") {
|
|
469
|
+
// Prefer batch if supported by remote engine
|
|
470
|
+
if (this.engine instanceof RemoteEngine) {
|
|
471
|
+
this.engine.setInputs(nodeId, inputs);
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
console.warn("Remote engine does not support setInputs");
|
|
475
|
+
for (const [handle, value] of Object.entries(inputs)) {
|
|
476
|
+
this.engine.setInput(nodeId, handle, value);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
// Not running: emit value events so UI reflects staged values
|
|
481
|
+
else if (!this.engine) {
|
|
482
|
+
// Not running: emit a single synthetic value event per handle; UI will coalesce
|
|
483
|
+
console.warn("Remote engine does not exists");
|
|
484
|
+
for (const [handle, value] of Object.entries(inputs)) {
|
|
485
|
+
this.emit("value", { nodeId, handle, value, io: "input" });
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
458
489
|
async step() {
|
|
459
490
|
if (this.backend.kind !== "local")
|
|
460
491
|
return; // unsupported remotely
|
|
@@ -815,7 +846,7 @@ function toReactFlow(def, positions, registry, opts) {
|
|
|
815
846
|
})
|
|
816
847
|
.map((e) => {
|
|
817
848
|
const st = opts.edgeStatus?.[e.id];
|
|
818
|
-
const isRunning = !!st?.
|
|
849
|
+
const isRunning = !!st?.activeRuns;
|
|
819
850
|
const hasError = !!st?.lastError;
|
|
820
851
|
const isInvalidEdge = !!opts.edgeValidation?.[e.id];
|
|
821
852
|
const style = hasError || isInvalidEdge
|
|
@@ -846,7 +877,7 @@ function getNodeBorderClassNames(args) {
|
|
|
846
877
|
const hasError = !!status.lastError;
|
|
847
878
|
const hasValidationError = issues.some((i) => i?.level === "error");
|
|
848
879
|
const hasValidationWarning = !hasValidationError && issues.length > 0;
|
|
849
|
-
const isRunning = !!status.
|
|
880
|
+
const isRunning = !!status.activeRuns;
|
|
850
881
|
const isInvalid = !!status.invalidated && !isRunning && !hasError;
|
|
851
882
|
const borderWidth = selected ? "border-2" : "border";
|
|
852
883
|
const borderStyle = isInvalid ? "border-dashed" : "border-solid";
|
|
@@ -961,7 +992,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
961
992
|
const nodeId = e?.nodeId;
|
|
962
993
|
setNodeStatus((s) => ({
|
|
963
994
|
...s,
|
|
964
|
-
[nodeId]: { ...
|
|
995
|
+
[nodeId]: { ...s[nodeId], invalidated: true },
|
|
965
996
|
}));
|
|
966
997
|
}
|
|
967
998
|
return add("runner", "value")(e);
|
|
@@ -973,7 +1004,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
973
1004
|
const edgeId = edgeError.edgeId;
|
|
974
1005
|
setEdgeStatus((s) => ({
|
|
975
1006
|
...s,
|
|
976
|
-
[edgeId]: { ...
|
|
1007
|
+
[edgeId]: { ...s[edgeId], lastError: edgeError.err },
|
|
977
1008
|
}));
|
|
978
1009
|
}
|
|
979
1010
|
else if (nodeError.nodeId) {
|
|
@@ -981,7 +1012,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
981
1012
|
setNodeStatus((s) => ({
|
|
982
1013
|
...s,
|
|
983
1014
|
[nodeId]: {
|
|
984
|
-
...
|
|
1015
|
+
...s[nodeId],
|
|
985
1016
|
lastError: nodeError.err,
|
|
986
1017
|
},
|
|
987
1018
|
}));
|
|
@@ -993,7 +1024,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
993
1024
|
setNodeStatus((s) => {
|
|
994
1025
|
const next = {};
|
|
995
1026
|
for (const n of wb.export().nodes) {
|
|
996
|
-
next[n.nodeId] = { ...
|
|
1027
|
+
next[n.nodeId] = { ...s[n.nodeId], invalidated: true };
|
|
997
1028
|
}
|
|
998
1029
|
return next;
|
|
999
1030
|
});
|
|
@@ -1005,47 +1036,61 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
1005
1036
|
return;
|
|
1006
1037
|
if (s.kind === "node-start") {
|
|
1007
1038
|
const id = s.nodeId;
|
|
1008
|
-
setNodeStatus((prev) =>
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
...
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1039
|
+
setNodeStatus((prev) => {
|
|
1040
|
+
const current = prev[id]?.activeRuns ?? 0;
|
|
1041
|
+
return {
|
|
1042
|
+
...prev,
|
|
1043
|
+
[id]: {
|
|
1044
|
+
...prev[id],
|
|
1045
|
+
activeRuns: current + 1,
|
|
1046
|
+
progress: 0,
|
|
1047
|
+
invalidated: false,
|
|
1048
|
+
},
|
|
1049
|
+
};
|
|
1050
|
+
});
|
|
1017
1051
|
}
|
|
1018
1052
|
else if (s.kind === "node-progress") {
|
|
1019
1053
|
const id = s.nodeId;
|
|
1020
1054
|
setNodeStatus((prev) => ({
|
|
1021
1055
|
...prev,
|
|
1022
1056
|
[id]: {
|
|
1023
|
-
...
|
|
1024
|
-
running: true,
|
|
1057
|
+
...prev[id],
|
|
1025
1058
|
progress: Number(s.progress) || 0,
|
|
1026
1059
|
},
|
|
1027
1060
|
}));
|
|
1028
1061
|
}
|
|
1029
1062
|
else if (s.kind === "node-done") {
|
|
1030
1063
|
const id = s.nodeId;
|
|
1031
|
-
setNodeStatus((prev) =>
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1064
|
+
setNodeStatus((prev) => {
|
|
1065
|
+
const current = prev[id]?.activeRuns ?? 0;
|
|
1066
|
+
return {
|
|
1067
|
+
...prev,
|
|
1068
|
+
[id]: {
|
|
1069
|
+
...prev[id],
|
|
1070
|
+
activeRuns: current - 1,
|
|
1071
|
+
},
|
|
1072
|
+
};
|
|
1073
|
+
});
|
|
1035
1074
|
}
|
|
1036
1075
|
else if (s.kind === "edge-start") {
|
|
1037
1076
|
const id = s.edgeId;
|
|
1038
|
-
setEdgeStatus((prev) =>
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1077
|
+
setEdgeStatus((prev) => {
|
|
1078
|
+
const current = prev[id]?.activeRuns ?? 0;
|
|
1079
|
+
return {
|
|
1080
|
+
...prev,
|
|
1081
|
+
[id]: { ...prev[id], activeRuns: current + 1 },
|
|
1082
|
+
};
|
|
1083
|
+
});
|
|
1042
1084
|
}
|
|
1043
1085
|
else if (s.kind === "edge-done") {
|
|
1044
1086
|
const id = s.edgeId;
|
|
1045
|
-
setEdgeStatus((prev) =>
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1087
|
+
setEdgeStatus((prev) => {
|
|
1088
|
+
const current = prev[id]?.activeRuns ?? 0;
|
|
1089
|
+
return {
|
|
1090
|
+
...prev,
|
|
1091
|
+
[id]: { ...prev[id], activeRuns: current - 1 },
|
|
1092
|
+
};
|
|
1093
|
+
});
|
|
1049
1094
|
}
|
|
1050
1095
|
return add("runner", "stats")(s);
|
|
1051
1096
|
});
|
|
@@ -1057,7 +1102,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
|
|
|
1057
1102
|
const id = change.nodeId;
|
|
1058
1103
|
setNodeStatus((s) => ({
|
|
1059
1104
|
...s,
|
|
1060
|
-
[id]: { ...
|
|
1105
|
+
[id]: { ...s[id], invalidated: true },
|
|
1061
1106
|
}));
|
|
1062
1107
|
}
|
|
1063
1108
|
});
|
|
@@ -1409,7 +1454,7 @@ const DefaultNode = React.memo(function DefaultNode({ id, data, selected, isConn
|
|
|
1409
1454
|
const { typeId, showValues, inputValues, outputValues, toString } = data;
|
|
1410
1455
|
const inputEntries = data.inputHandles ?? [];
|
|
1411
1456
|
const outputEntries = data.outputHandles ?? [];
|
|
1412
|
-
const status = data.status ?? {};
|
|
1457
|
+
const status = data.status ?? { activeRuns: 0 };
|
|
1413
1458
|
const validation = data.validation ?? {
|
|
1414
1459
|
inputs: [],
|
|
1415
1460
|
outputs: [],
|
|
@@ -1424,7 +1469,7 @@ const DefaultNode = React.memo(function DefaultNode({ id, data, selected, isConn
|
|
|
1424
1469
|
const hasError = !!status.lastError;
|
|
1425
1470
|
const hasValidationError = validation.issues.some((i) => i.level === "error");
|
|
1426
1471
|
const hasValidationWarning = !hasValidationError && validation.issues.length > 0;
|
|
1427
|
-
const isRunning = !!status.
|
|
1472
|
+
const isRunning = !!status.activeRuns;
|
|
1428
1473
|
const isInvalid = !!status.invalidated && !isRunning && !hasError;
|
|
1429
1474
|
// Border color encodes severity; thickness encodes selection; style (dashed) encodes invalidated
|
|
1430
1475
|
const borderWidth = selected ? "border-2" : "border";
|