@bian-womp/spark-workbench 0.2.35 → 0.2.36

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.
@@ -1 +1 @@
1
- {"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,QAAQ,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAa3E,OAAO,EAGL,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAI5B,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAyrBA"}
1
+ {"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,QAAQ,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAa3E,OAAO,EAGL,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAI5B,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAgsBA"}
@@ -9,16 +9,15 @@ export declare abstract class AbstractGraphRunner implements IGraphRunner {
9
9
  private listeners;
10
10
  protected stagedInputs: Record<string, Record<string, unknown>>;
11
11
  protected runningKind?: EngineKind;
12
- protected currentDef?: GraphDefinition;
13
12
  constructor(registry: Registry, backend: ExecutionBackend);
14
13
  abstract build(def: GraphDefinition): void;
15
14
  abstract update(def: GraphDefinition): void;
16
15
  abstract step(): Promise<void>;
17
16
  abstract computeNode(nodeId: string): Promise<void>;
18
17
  abstract flush(): void;
19
- abstract getInputs(): Record<string, Record<string, unknown>>;
20
- abstract getInputDefaults(): Record<string, Record<string, unknown>>;
21
- abstract getOutputs(): Record<string, Record<string, unknown>>;
18
+ abstract getInputs(def: GraphDefinition): Record<string, Record<string, unknown>>;
19
+ abstract getInputDefaults(def: GraphDefinition): Record<string, Record<string, unknown>>;
20
+ abstract getOutputs(def: GraphDefinition): Record<string, Record<string, unknown>>;
22
21
  abstract setEnvironment(env: Record<string, unknown>, opts?: {
23
22
  merge?: boolean;
24
23
  }): void;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/AbstractGraphRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/AbstractGraphRunner.ts"],"names":[],"mappings":"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"}
@@ -52,9 +52,9 @@ export interface IGraphRunner {
52
52
  step(): Promise<void>;
53
53
  computeNode(nodeId: string): Promise<void>;
54
54
  flush(): void;
55
- getOutputs(): Record<string, Record<string, unknown>>;
56
- getInputs(): Record<string, Record<string, unknown>>;
57
- getInputDefaults(): Record<string, Record<string, unknown>>;
55
+ getOutputs(def: GraphDefinition): Record<string, Record<string, unknown>>;
56
+ getInputs(def: GraphDefinition): Record<string, Record<string, unknown>>;
57
+ getInputDefaults(def: GraphDefinition): Record<string, Record<string, unknown>>;
58
58
  launch(def: GraphDefinition, opts: RunnerOptions): void;
59
59
  setInput(nodeId: string, handle: string, value: unknown): void;
60
60
  setInputs(nodeId: string, inputs: Record<string, unknown>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"IGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/IGraphRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/IGraphRunner.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@ export declare class LocalGraphRunner extends AbstractGraphRunner {
10
10
  step(): Promise<void>;
11
11
  computeNode(nodeId: string): Promise<void>;
12
12
  flush(): void;
13
- getOutputs(): Record<string, Record<string, unknown>>;
14
- getInputs(): Record<string, Record<string, unknown>>;
15
- getInputDefaults(): Record<string, Record<string, unknown>>;
13
+ getOutputs(def: GraphDefinition): Record<string, Record<string, unknown>>;
14
+ getInputs(def: GraphDefinition): Record<string, Record<string, unknown>>;
15
+ getInputDefaults(def: GraphDefinition): Record<string, Record<string, unknown>>;
16
16
  setEnvironment: (env: Record<string, unknown>, opts?: {
17
17
  merge?: boolean;
18
18
  }) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/LocalGraphRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAOT,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,gBAAiB,SAAQ,mBAAmB;gBAC3C,QAAQ,EAAE,QAAQ;IAK9B,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAQjC,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAUlC,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IA0CjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,KAAK,IAAI,IAAI;IAKb,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiBrD,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAwBpD,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAY3D,cAAc,QACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SACrB;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,UAU1B;IAEF,cAAc,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAEtD;IAEI,YAAY;;;;;;IAQZ,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IAUpD,OAAO,IAAI,IAAI;CAKhB"}
1
+ {"version":3,"file":"LocalGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/LocalGraphRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAOT,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,gBAAiB,SAAQ,mBAAmB;gBAC3C,QAAQ,EAAE,QAAQ;IAK9B,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAOjC,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IASlC,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IA0CjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,KAAK,IAAI,IAAI;IAKb,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiBzE,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuBxE,gBAAgB,CACd,GAAG,EAAE,eAAe,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAW1C,cAAc,QACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SACrB;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,UAU1B;IAEF,cAAc,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAEtD;IAEI,YAAY;;;;;;IA4BZ,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IAUpD,OAAO,IAAI,IAAI;CAKhB"}
@@ -4,6 +4,7 @@ import { RemoteRunner } from "@bian-womp/spark-remote";
4
4
  import { RemoteExecutionBackend, RemoteTransport, RunnerOptions } from "./IGraphRunner";
5
5
  import { AbstractGraphRunner } from "./AbstractGraphRunner";
6
6
  export declare class RemoteGraphRunner extends AbstractGraphRunner {
7
+ protected lastDef?: GraphDefinition;
7
8
  protected runner?: RemoteRunner;
8
9
  protected transport?: RemoteTransport;
9
10
  valueCache: Map<string, {
@@ -37,9 +38,9 @@ export declare class RemoteGraphRunner extends AbstractGraphRunner {
37
38
  merge?: boolean;
38
39
  }): void;
39
40
  getEnvironment(): Record<string, unknown> | undefined;
40
- getOutputs(): Record<string, Record<string, unknown>>;
41
- getInputs(): Record<string, Record<string, unknown>>;
42
- getInputDefaults(): Record<string, Record<string, unknown>>;
41
+ getOutputs(def: GraphDefinition): Record<string, Record<string, unknown>>;
42
+ getInputs(def: GraphDefinition): Record<string, Record<string, unknown>>;
43
+ getInputDefaults(def: GraphDefinition): Record<string, Record<string, unknown>>;
43
44
  dispose(): void;
44
45
  /**
45
46
  * Fetch full registry description from remote and register it locally.
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/RemoteGraphRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAU,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAEL,YAAY,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EAEtB,eAAe,EACf,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAChC,SAAS,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IAEtC,UAAU;YAEF,OAAO,GAAG,QAAQ;eAAS,OAAO;wBAAkB,MAAM;OAC9D;IACJ,cAAc,UAAS;IACvB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAK;IACjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;gBAEnC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB;IA8D/D,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAIjC,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAWlC,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAwDjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,KAAK,IAAI,IAAI;IAIb,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ/C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IASlE,YAAY;IASZ,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IASpD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAuBhC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAWvE,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAOrD,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAoBrD,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA8BpD,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAY3D,OAAO,IAAI,IAAI;IAaf;;;OAGG;YACW,aAAa;cA6HX,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC;CAuD5D"}
1
+ {"version":3,"file":"RemoteGraphRunner.d.ts","sourceRoot":"","sources":["../../../../src/runtime/RemoteGraphRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAU,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAEL,YAAY,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EAEtB,eAAe,EACf,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,SAAS,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACpC,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAChC,SAAS,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IAEtC,UAAU;YAEF,OAAO,GAAG,QAAQ;eAAS,OAAO;wBAAkB,MAAM;OAC9D;IACJ,cAAc,UAAS;IACvB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAK;IACjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;gBAEnC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB;IA8D/D,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAIjC,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAWlC,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAyDjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,KAAK,IAAI,IAAI;IAIb,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ/C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IASlE,YAAY;IASZ,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IASpD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAuBhC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAWvE,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAOrD,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAoBzE,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA6BxE,gBAAgB,CACd,GAAG,EAAE,eAAe,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAW1C,OAAO,IAAI,IAAI;IAaf;;;OAGG;YACW,aAAa;cA6HX,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC;CAuD5D"}
package/lib/esm/index.js CHANGED
@@ -337,7 +337,6 @@ class AbstractGraphRunner {
337
337
  if (this.engine) {
338
338
  throw new Error("Engine already running. Stop the current engine first.");
339
339
  }
340
- this.currentDef = def;
341
340
  }
342
341
  setInput(nodeId, handle, value) {
343
342
  if (!this.stagedInputs[nodeId])
@@ -394,7 +393,6 @@ class AbstractGraphRunner {
394
393
  this.engine = undefined;
395
394
  this.runtime?.dispose();
396
395
  this.runtime = undefined;
397
- this.currentDef = undefined;
398
396
  if (this.runningKind) {
399
397
  this.runningKind = undefined;
400
398
  this.emit("status", { running: false, engine: undefined });
@@ -429,14 +427,12 @@ class LocalGraphRunner extends AbstractGraphRunner {
429
427
  this.emit("transport", { state: "local" });
430
428
  }
431
429
  build(def) {
432
- this.currentDef = def;
433
430
  const builder = new GraphBuilder(this.registry);
434
431
  this.runtime = builder.build(def);
435
432
  // Signal UI that freshly built graph should be considered invalidated
436
433
  this.emit("invalidate", { reason: "graph-built" });
437
434
  }
438
435
  update(def) {
439
- this.currentDef = def;
440
436
  if (!this.runtime)
441
437
  return;
442
438
  // Prevent mid-run churn while wiring changes are applied
@@ -501,11 +497,11 @@ class LocalGraphRunner extends AbstractGraphRunner {
501
497
  if (eng instanceof BatchedEngine)
502
498
  eng.flush();
503
499
  }
504
- getOutputs() {
500
+ getOutputs(def) {
505
501
  const out = {};
506
- if (!this.runtime || !this.currentDef)
502
+ if (!this.runtime)
507
503
  return out;
508
- for (const n of this.currentDef.nodes) {
504
+ for (const n of def.nodes) {
509
505
  const desc = this.registry.nodes.get(n.typeId);
510
506
  const handles = Object.keys(desc?.outputs ?? {});
511
507
  for (const h of handles) {
@@ -519,17 +515,15 @@ class LocalGraphRunner extends AbstractGraphRunner {
519
515
  }
520
516
  return out;
521
517
  }
522
- getInputs() {
518
+ getInputs(def) {
523
519
  const out = {};
524
- if (!this.currentDef)
525
- return out;
526
- for (const n of this.currentDef.nodes) {
520
+ for (const n of def.nodes) {
527
521
  const staged = this.stagedInputs[n.nodeId] ?? {};
528
522
  const runtimeInputs = this.runtime
529
523
  ? this.runtime.getNodeData?.(n.nodeId)?.inputs ?? {}
530
524
  : {};
531
525
  // Build inbound handle set for this node from current def
532
- const inbound = new Set(this.currentDef.edges
526
+ const inbound = new Set(def.edges
533
527
  .filter((e) => e.target.nodeId === n.nodeId)
534
528
  .map((e) => e.target.handle));
535
529
  // Merge staged only for non-inbound handles so UI reflects runtime values for wired inputs
@@ -543,11 +537,9 @@ class LocalGraphRunner extends AbstractGraphRunner {
543
537
  }
544
538
  return out;
545
539
  }
546
- getInputDefaults() {
540
+ getInputDefaults(def) {
547
541
  const out = {};
548
- if (!this.currentDef)
549
- return out;
550
- for (const n of this.currentDef.nodes) {
542
+ for (const n of def.nodes) {
551
543
  const dynDefaults = n.resolvedHandles?.inputDefaults ?? {};
552
544
  if (Object.keys(dynDefaults).length > 0) {
553
545
  out[n.nodeId] = dynDefaults;
@@ -557,8 +549,24 @@ class LocalGraphRunner extends AbstractGraphRunner {
557
549
  }
558
550
  async snapshotFull() {
559
551
  const def = undefined; // UI will supply def/positions on download for local
560
- const inputs = this.getInputs();
561
- const outputs = this.getOutputs();
552
+ const inputs = this.getInputs(this.runtime
553
+ ? {
554
+ nodes: Array.from(this.runtime.getNodeIds()).map((id) => ({
555
+ nodeId: id,
556
+ typeId: "",
557
+ })),
558
+ edges: [],
559
+ }
560
+ : { nodes: [], edges: [] });
561
+ const outputs = this.getOutputs(this.runtime
562
+ ? {
563
+ nodes: Array.from(this.runtime.getNodeIds()).map((id) => ({
564
+ nodeId: id,
565
+ typeId: "",
566
+ })),
567
+ edges: [],
568
+ }
569
+ : { nodes: [], edges: [] });
562
570
  const environment = this.getEnvironment() || {};
563
571
  return { def, environment, inputs, outputs };
564
572
  }
@@ -635,8 +643,8 @@ class RemoteGraphRunner extends AbstractGraphRunner {
635
643
  this.emit("registry", this.registry);
636
644
  // Trigger update so validation/UI refreshes using last known graph
637
645
  try {
638
- if (this.currentDef)
639
- this.update(this.currentDef);
646
+ if (this.lastDef)
647
+ this.update(this.lastDef);
640
648
  }
641
649
  catch {
642
650
  console.error("Failed to update graph definition after registry changed");
@@ -654,12 +662,12 @@ class RemoteGraphRunner extends AbstractGraphRunner {
654
662
  console.warn("Unsupported operation for remote runner");
655
663
  }
656
664
  update(def) {
657
- this.currentDef = def;
658
665
  // Remote: forward update; ignore errors (fire-and-forget)
659
666
  this.ensureRemoteRunner().then(async (runner) => {
660
667
  try {
661
668
  await runner.update(def);
662
669
  this.emit("invalidate", { reason: "graph-updated" });
670
+ this.lastDef = def;
663
671
  }
664
672
  catch { }
665
673
  });
@@ -671,6 +679,7 @@ class RemoteGraphRunner extends AbstractGraphRunner {
671
679
  await runner.build(def);
672
680
  // Signal UI after remote build as well
673
681
  this.emit("invalidate", { reason: "graph-built" });
682
+ this.lastDef = def;
674
683
  // Hydrate current remote inputs/outputs (including defaults) into cache
675
684
  try {
676
685
  const snap = await runner.snapshot();
@@ -806,12 +815,12 @@ class RemoteGraphRunner extends AbstractGraphRunner {
806
815
  // For now, we expose an async helper on RemoteRunner. Keep sync signature per interface.
807
816
  return undefined;
808
817
  }
809
- getOutputs() {
818
+ getOutputs(def) {
810
819
  const out = {};
811
820
  const cache = this.valueCache;
812
- if (!cache || !this.currentDef)
821
+ if (!cache)
813
822
  return out;
814
- for (const n of this.currentDef.nodes) {
823
+ for (const n of def.nodes) {
815
824
  const resolved = n.resolvedHandles?.outputs;
816
825
  const desc = this.registry.nodes.get(n.typeId);
817
826
  const handles = Object.keys(resolved ?? desc?.outputs ?? {});
@@ -827,19 +836,17 @@ class RemoteGraphRunner extends AbstractGraphRunner {
827
836
  }
828
837
  return out;
829
838
  }
830
- getInputs() {
839
+ getInputs(def) {
831
840
  const out = {};
832
841
  const cache = this.valueCache;
833
- if (!this.currentDef)
834
- return out;
835
- for (const n of this.currentDef.nodes) {
842
+ for (const n of def.nodes) {
836
843
  const staged = this.stagedInputs[n.nodeId] ?? {};
837
844
  const resolved = n.resolvedHandles?.inputs;
838
845
  const desc = this.registry.nodes.get(n.typeId);
839
846
  const handles = Object.keys(resolved ?? desc?.inputs ?? {});
840
847
  const cur = {};
841
848
  // Build inbound handle set for this node to honor wiring precedence
842
- const inbound = new Set(this.currentDef.edges
849
+ const inbound = new Set(def.edges
843
850
  .filter((e) => e.target.nodeId === n.nodeId)
844
851
  .map((e) => e.target.handle));
845
852
  for (const h of handles) {
@@ -858,11 +865,9 @@ class RemoteGraphRunner extends AbstractGraphRunner {
858
865
  }
859
866
  return out;
860
867
  }
861
- getInputDefaults() {
868
+ getInputDefaults(def) {
862
869
  const out = {};
863
- if (!this.currentDef)
864
- return out;
865
- for (const n of this.currentDef.nodes) {
870
+ for (const n of def.nodes) {
866
871
  const dynDefaults = n.resolvedHandles?.inputDefaults ?? {};
867
872
  if (Object.keys(dynDefaults).length > 0) {
868
873
  out[n.nodeId] = dynDefaults;
@@ -1787,9 +1792,9 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
1787
1792
  const valuesTick = versionTick + graphTick + graphUiTick;
1788
1793
  // Def and IO values
1789
1794
  const def = wb.export();
1790
- const inputsMap = useMemo(() => runner.getInputs(), [runner, valuesTick]);
1791
- const inputDefaultsMap = useMemo(() => runner.getInputDefaults(), [runner, valuesTick]);
1792
- const outputsMap = useMemo(() => runner.getOutputs(), [runner, valuesTick]);
1795
+ const inputsMap = useMemo(() => runner.getInputs(def), [runner, def, valuesTick]);
1796
+ const inputDefaultsMap = useMemo(() => runner.getInputDefaults(def), [runner, def, valuesTick]);
1797
+ const outputsMap = useMemo(() => runner.getOutputs(def), [runner, def, valuesTick]);
1793
1798
  const outputTypesMap = useMemo(() => {
1794
1799
  const out = {};
1795
1800
  // Local: runtimeTypeId is not stored; derive from typed wrapper in outputsMap
@@ -2189,13 +2194,14 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
2189
2194
  offRunnerTransport();
2190
2195
  };
2191
2196
  }, [runner, wb]);
2192
- // Keep runner.currentDef in sync with the workbench graph at all times.
2193
- // When an engine/runtime exists, this also pushes incremental wiring changes into it.
2197
+ // Push incremental updates into running engine without full reload
2194
2198
  useEffect(() => {
2195
- try {
2196
- runner.update(def);
2199
+ if (runner.isRunning()) {
2200
+ try {
2201
+ runner.update(def);
2202
+ }
2203
+ catch { }
2197
2204
  }
2198
- catch { }
2199
2205
  }, [runner, def, graphTick]);
2200
2206
  const validationByNode = useMemo(() => {
2201
2207
  const inputs = {};
@@ -3463,7 +3469,7 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
3463
3469
  const off1 = wb.on("graphChanged", () => {
3464
3470
  try {
3465
3471
  const cur = wb.export();
3466
- const inputs = runner.getInputs();
3472
+ const inputs = runner.getInputs(cur);
3467
3473
  onChange({ def: cur, inputs });
3468
3474
  }
3469
3475
  catch { }
@@ -3471,7 +3477,7 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
3471
3477
  const off2 = runner.on("value", () => {
3472
3478
  try {
3473
3479
  const cur = wb.export();
3474
- const inputs = runner.getInputs();
3480
+ const inputs = runner.getInputs(cur);
3475
3481
  onChange({ def: cur, inputs });
3476
3482
  }
3477
3483
  catch { }
@@ -3517,7 +3523,7 @@ function WorkbenchStudioCanvas({ setRegistry, autoScroll, onAutoScrollChange, ex
3517
3523
  const downloadGraph = useCallback(() => {
3518
3524
  try {
3519
3525
  const def = wb.export();
3520
- const inputs = runner.getInputs();
3526
+ const inputs = runner.getInputs(def);
3521
3527
  const payload = { def, inputs };
3522
3528
  const pretty = JSON.stringify(payload, null, 2);
3523
3529
  const blob = new Blob([pretty], { type: "application/json" });