@bian-womp/spark-workbench 0.1.11 → 0.1.12

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.
@@ -89,13 +89,13 @@ export type GraphPositionMap = Record<string, {
89
89
  y: number;
90
90
  }>;
91
91
  export interface NodeRunStatus {
92
- running?: boolean;
92
+ activeRuns?: number;
93
93
  progress?: number;
94
94
  invalidated?: boolean;
95
95
  lastError?: unknown;
96
96
  }
97
97
  export interface EdgeRunStatus {
98
- running?: boolean;
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,2CA6YA"}
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,2CA8ZA"}
@@ -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":"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"}
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
- try {
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
- try {
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
  }
@@ -455,6 +445,51 @@ class GraphRunner {
455
445
  this.emit("value", { nodeId, handle, value, io: "input" });
456
446
  }
457
447
  }
448
+ // Batch update multiple inputs on a node and trigger a single run
449
+ setInputs(nodeId, inputs) {
450
+ if (!inputs)
451
+ return;
452
+ if (!this.stagedInputs[nodeId])
453
+ this.stagedInputs[nodeId] = {};
454
+ Object.assign(this.stagedInputs[nodeId], inputs);
455
+ // Local running: pause, set all inputs, resume, schedule a single recompute
456
+ if (this.backend.kind === "local" && this.engine && this.runtime) {
457
+ this.runtime.pause();
458
+ try {
459
+ for (const [handle, value] of Object.entries(inputs)) {
460
+ this.engine.setInput(nodeId, handle, value);
461
+ }
462
+ }
463
+ finally {
464
+ this.runtime.resume();
465
+ try {
466
+ this.runtime.__unsafe_scheduleInputsChanged(nodeId);
467
+ }
468
+ catch { }
469
+ }
470
+ }
471
+ // Remote running: forward inputs individually (no batch API available)
472
+ else if (this.engine && this.backend.kind !== "local") {
473
+ // Prefer batch if supported by remote engine
474
+ if (this.engine instanceof RemoteEngine) {
475
+ this.engine.setInputs(nodeId, inputs);
476
+ }
477
+ else {
478
+ console.warn("Remote engine does not support setInputs");
479
+ for (const [handle, value] of Object.entries(inputs)) {
480
+ this.engine.setInput(nodeId, handle, value);
481
+ }
482
+ }
483
+ }
484
+ // Not running: emit value events so UI reflects staged values
485
+ else if (!this.engine) {
486
+ // Not running: emit a single synthetic value event per handle; UI will coalesce
487
+ console.warn("Remote engine does not exists");
488
+ for (const [handle, value] of Object.entries(inputs)) {
489
+ this.emit("value", { nodeId, handle, value, io: "input" });
490
+ }
491
+ }
492
+ }
458
493
  async step() {
459
494
  if (this.backend.kind !== "local")
460
495
  return; // unsupported remotely
@@ -815,7 +850,7 @@ function toReactFlow(def, positions, registry, opts) {
815
850
  })
816
851
  .map((e) => {
817
852
  const st = opts.edgeStatus?.[e.id];
818
- const isRunning = !!st?.running;
853
+ const isRunning = !!st?.activeRuns;
819
854
  const hasError = !!st?.lastError;
820
855
  const isInvalidEdge = !!opts.edgeValidation?.[e.id];
821
856
  const style = hasError || isInvalidEdge
@@ -846,7 +881,7 @@ function getNodeBorderClassNames(args) {
846
881
  const hasError = !!status.lastError;
847
882
  const hasValidationError = issues.some((i) => i?.level === "error");
848
883
  const hasValidationWarning = !hasValidationError && issues.length > 0;
849
- const isRunning = !!status.running;
884
+ const isRunning = !!status.activeRuns;
850
885
  const isInvalid = !!status.invalidated && !isRunning && !hasError;
851
886
  const borderWidth = selected ? "border-2" : "border";
852
887
  const borderStyle = isInvalid ? "border-dashed" : "border-solid";
@@ -1005,15 +1040,18 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
1005
1040
  return;
1006
1041
  if (s.kind === "node-start") {
1007
1042
  const id = s.nodeId;
1008
- setNodeStatus((prev) => ({
1009
- ...prev,
1010
- [id]: {
1011
- ...(prev[id] ?? {}),
1012
- running: true,
1013
- progress: 0,
1014
- invalidated: false,
1015
- },
1016
- }));
1043
+ setNodeStatus((prev) => {
1044
+ const active = Math.max(1, (prev[id]?.activeRuns ?? 0) + 1);
1045
+ return {
1046
+ ...prev,
1047
+ [id]: {
1048
+ ...(prev[id] ?? {}),
1049
+ activeRuns: active,
1050
+ progress: 0,
1051
+ invalidated: false,
1052
+ },
1053
+ };
1054
+ });
1017
1055
  }
1018
1056
  else if (s.kind === "node-progress") {
1019
1057
  const id = s.nodeId;
@@ -1021,31 +1059,45 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, children, }) {
1021
1059
  ...prev,
1022
1060
  [id]: {
1023
1061
  ...(prev[id] ?? {}),
1024
- running: true,
1025
1062
  progress: Number(s.progress) || 0,
1026
1063
  },
1027
1064
  }));
1028
1065
  }
1029
1066
  else if (s.kind === "node-done") {
1030
1067
  const id = s.nodeId;
1031
- setNodeStatus((prev) => ({
1032
- ...prev,
1033
- [id]: { ...(prev[id] ?? {}), running: false },
1034
- }));
1068
+ setNodeStatus((prev) => {
1069
+ const current = prev[id]?.activeRuns ?? 1;
1070
+ const nextActive = Math.max(0, current - 1);
1071
+ return {
1072
+ ...prev,
1073
+ [id]: {
1074
+ ...(prev[id] ?? {}),
1075
+ activeRuns: nextActive,
1076
+ },
1077
+ };
1078
+ });
1035
1079
  }
1036
1080
  else if (s.kind === "edge-start") {
1037
1081
  const id = s.edgeId;
1038
- setEdgeStatus((prev) => ({
1039
- ...prev,
1040
- [id]: { ...(prev[id] ?? {}), running: true },
1041
- }));
1082
+ setEdgeStatus((prev) => {
1083
+ const current = prev[id]?.activeRuns ?? 1;
1084
+ const nextActive = Math.max(0, current + 1);
1085
+ return {
1086
+ ...prev,
1087
+ [id]: { ...(prev[id] ?? {}), activeRuns: nextActive },
1088
+ };
1089
+ });
1042
1090
  }
1043
1091
  else if (s.kind === "edge-done") {
1044
1092
  const id = s.edgeId;
1045
- setEdgeStatus((prev) => ({
1046
- ...prev,
1047
- [id]: { ...(prev[id] ?? {}), running: false },
1048
- }));
1093
+ setEdgeStatus((prev) => {
1094
+ const current = prev[id]?.activeRuns ?? 1;
1095
+ const nextActive = Math.max(0, current - 1);
1096
+ return {
1097
+ ...prev,
1098
+ [id]: { ...(prev[id] ?? {}), activeRuns: nextActive },
1099
+ };
1100
+ });
1049
1101
  }
1050
1102
  return add("runner", "stats")(s);
1051
1103
  });
@@ -1424,7 +1476,7 @@ const DefaultNode = React.memo(function DefaultNode({ id, data, selected, isConn
1424
1476
  const hasError = !!status.lastError;
1425
1477
  const hasValidationError = validation.issues.some((i) => i.level === "error");
1426
1478
  const hasValidationWarning = !hasValidationError && validation.issues.length > 0;
1427
- const isRunning = !!status.running;
1479
+ const isRunning = !!status.activeRuns;
1428
1480
  const isInvalid = !!status.invalidated && !isRunning && !hasError;
1429
1481
  // Border color encodes severity; thickness encodes selection; style (dashed) encodes invalidated
1430
1482
  const borderWidth = selected ? "border-2" : "border";