@bian-womp/spark-graph 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.
@@ -5,6 +5,7 @@ export declare abstract class AbstractEngine implements Engine {
5
5
  constructor(graphRuntime: GraphRuntime);
6
6
  launch(): void;
7
7
  setInput(nodeId: string, handle: string, value: unknown): void;
8
+ setInputs(nodeId: string, inputs: Record<string, unknown>): void;
8
9
  triggerExternal(nodeId: string, event: unknown): void;
9
10
  on<K extends EngineEventName>(event: K, handler: EngineEventListener<K>): () => void;
10
11
  getOutput(nodeId: string, output: string): unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/AbstractEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,8BAAsB,cAAe,YAAW,MAAM;IACjC,YAAY,EAAE,YAAY;gBAA1B,YAAY,EAAE,YAAY;IAE7C,MAAM,IAAI,IAAI;IAId,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIrD,EAAE,CAAC,CAAC,SAAS,eAAe,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,MAAM,IAAI;IAIb,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"AbstractEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/AbstractEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,8BAAsB,cAAe,YAAW,MAAM;IACjC,YAAY,EAAE,YAAY;gBAA1B,YAAY,EAAE,YAAY;IAE7C,MAAM,IAAI,IAAI;IAId,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIhE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIrD,EAAE,CAAC,CAAC,SAAS,eAAe,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,MAAM,IAAI;IAIb,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,OAAO,IAAI,IAAI;CAGhB"}
@@ -9,7 +9,7 @@ export declare class BatchedEngine extends AbstractEngine {
9
9
  private timer;
10
10
  constructor(graphRuntime: GraphRuntime, opts?: BatchedEngineOptions);
11
11
  launch(): void;
12
- setInput(nodeId: string, handle: string, value: unknown): void;
12
+ setInputs(nodeId: string, inputs: Record<string, unknown>): void;
13
13
  triggerExternal(nodeId: string, event: unknown): void;
14
14
  flush(): Promise<void>;
15
15
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BatchedEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/BatchedEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,aAAc,SAAQ,cAAc;IAK7C,OAAO,CAAC,IAAI;IAJd,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,KAAK,CAA6B;gBAExC,YAAY,EAAE,YAAY,EAClB,IAAI,GAAE,oBAAyB;IAKhC,MAAM,IAAI,IAAI;IAOd,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK9D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnB,OAAO,IAAI,IAAI;CAIzB"}
1
+ {"version":3,"file":"BatchedEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/BatchedEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,aAAc,SAAQ,cAAc;IAK7C,OAAO,CAAC,IAAI;IAJd,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,KAAK,CAA6B;gBAExC,YAAY,EAAE,YAAY,EAClB,IAAI,GAAE,oBAAyB;IAKhC,MAAM,IAAI,IAAI;IAOd,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKhE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnB,OAAO,IAAI,IAAI;CAIzB"}
@@ -5,6 +5,7 @@ export type EngineEventMap = RuntimeEventMap;
5
5
  export interface Engine {
6
6
  launch(): void;
7
7
  setInput(nodeId: string, handle: string, value: unknown): void;
8
+ setInputs(nodeId: string, inputs: Record<string, unknown>): void;
8
9
  triggerExternal(nodeId: string, event: unknown): void;
9
10
  on<K extends EngineEventName>(event: K, handler: EngineEventListener<K>): () => void;
10
11
  getOutput(nodeId: string, output: string): unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAC/C,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,eAAe,IACvD,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAC7C,MAAM,WAAW,MAAM;IACrB,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtD,EAAE,CAAC,CAAC,SAAS,eAAe,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,MAAM,IAAI,CAAC;IACd,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACnD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB"}
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAC/C,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,eAAe,IACvD,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAC7C,MAAM,WAAW,MAAM;IACrB,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtD,EAAE,CAAC,CAAC,SAAS,eAAe,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,MAAM,IAAI,CAAC;IACd,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACnD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB"}
@@ -91,8 +91,10 @@ export declare class GraphRuntime {
91
91
  on<K extends RuntimeEventName>(event: K, handler: RuntimeEventListener<K>): () => void;
92
92
  private emit;
93
93
  setInput(nodeId: string, handle: string, value: unknown): void;
94
+ setInputs(nodeId: string, inputs: Record<string, unknown>): void;
94
95
  getOutput(nodeId: string, output: string): unknown;
95
96
  private scheduleInputsChanged;
97
+ private allInboundHaveValue;
96
98
  private invalidateDownstream;
97
99
  private propagate;
98
100
  launch(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class HybridEngine extends AbstractEngine {
14
14
  constructor(graphRuntime: GraphRuntime, opts?: HybridOptions);
15
15
  private updateWindow;
16
16
  launch(): void;
17
- setInput(nodeId: string, handle: string, value: unknown): void;
17
+ setInputs(nodeId: string, inputs: Record<string, unknown>): void;
18
18
  triggerExternal(nodeId: string, event: unknown): void;
19
19
  dispose(): void;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HybridEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/HybridEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAa,SAAQ,cAAc;IAMN,OAAO,CAAC,IAAI;IALpD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,UAAU,CAA6B;gBACnC,YAAY,EAAE,YAAY,EAAU,IAAI,GAAE,aAAkB;IAKxE,OAAO,CAAC,YAAY;IAsBX,MAAM,IAAI,IAAI;IAId,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IA2B9D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKrD,OAAO,IAAI,IAAI;CAOzB"}
1
+ {"version":3,"file":"HybridEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/HybridEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAa,SAAQ,cAAc;IAMN,OAAO,CAAC,IAAI;IALpD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,UAAU,CAA6B;gBACnC,YAAY,EAAE,YAAY,EAAU,IAAI,GAAE,aAAkB;IAKxE,OAAO,CAAC,YAAY;IAsBX,MAAM,IAAI,IAAI;IAId,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA2BhE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKrD,OAAO,IAAI,IAAI;CAOzB"}
@@ -4,7 +4,7 @@ export declare class StepEngine extends AbstractEngine {
4
4
  private dirtyNodes;
5
5
  constructor(graphRuntime: GraphRuntime);
6
6
  launch(): void;
7
- setInput(nodeId: string, handle: string, value: unknown): void;
7
+ setInputs(nodeId: string, inputs: Record<string, unknown>): void;
8
8
  triggerExternal(nodeId: string, event: unknown): void;
9
9
  step(): Promise<void>;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StepEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/StepEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,qBAAa,UAAW,SAAQ,cAAc;IAC5C,OAAO,CAAC,UAAU,CAAqB;gBAC3B,YAAY,EAAE,YAAY;IAK7B,MAAM,IAAI,IAAI;IAEd,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK9D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKxD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAS5B"}
1
+ {"version":3,"file":"StepEngine.d.ts","sourceRoot":"","sources":["../../../../src/runtime/StepEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,qBAAa,UAAW,SAAQ,cAAc;IAC5C,OAAO,CAAC,UAAU,CAAqB;gBAC3B,YAAY,EAAE,YAAY;IAK7B,MAAM,IAAI,IAAI;IAEd,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKhE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKxD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAS5B"}
package/lib/esm/index.js CHANGED
@@ -478,18 +478,25 @@ class GraphRuntime {
478
478
  h(payload);
479
479
  }
480
480
  setInput(nodeId, handle, value) {
481
+ this.setInputs(nodeId, { [handle]: value });
482
+ }
483
+ setInputs(nodeId, inputs) {
481
484
  const node = this.nodes.get(nodeId);
482
485
  if (!node)
483
486
  throw new Error(`Node not found: ${nodeId}`);
484
- // If this input has an inbound edge, prefer propagated runtime value over manual input
485
- const hasInbound = this.edges.some((e) => e.target.nodeId === nodeId && e.target.handle === handle);
486
- if (hasInbound)
487
- return; // respect linked value
488
- node.inputs[handle] = value;
489
- // Emit value event for input updates
490
- this.emit("value", { nodeId, handle, value, io: "input" });
491
- if (!this.paused)
492
- this.scheduleInputsChanged(nodeId);
487
+ for (const [handle, value] of Object.entries(inputs)) {
488
+ const hasInbound = this.edges.some((e) => e.target.nodeId === nodeId && e.target.handle === handle);
489
+ if (hasInbound)
490
+ continue;
491
+ node.inputs[handle] = value;
492
+ // Emit value event for input updates
493
+ this.emit("value", { nodeId, handle, value, io: "input" });
494
+ }
495
+ if (!this.paused) {
496
+ // Only schedule if all inbound inputs are present (or there are none)
497
+ if (this.allInboundHaveValue(nodeId))
498
+ this.scheduleInputsChanged(nodeId);
499
+ }
493
500
  }
494
501
  getOutput(nodeId, output) {
495
502
  const node = this.nodes.get(nodeId);
@@ -635,6 +642,20 @@ class GraphRuntime {
635
642
  // switch or merge
636
643
  startRun(rid, { ...node.inputs });
637
644
  }
645
+ // Returns true if all inbound handles for the node currently have a value
646
+ allInboundHaveValue(nodeId) {
647
+ const node = this.nodes.get(nodeId);
648
+ if (!node)
649
+ return false;
650
+ const inbound = this.edges.filter((e) => e.target.nodeId === nodeId);
651
+ if (inbound.length === 0)
652
+ return true;
653
+ for (const e of inbound) {
654
+ if (!(e.target.handle in node.inputs))
655
+ return false;
656
+ }
657
+ return true;
658
+ }
638
659
  invalidateDownstream(nodeId) {
639
660
  // Notifies dependents; for now we propagate current outputs
640
661
  for (const e of this.edges.filter((e) => e.source.nodeId === nodeId)) {
@@ -670,7 +691,7 @@ class GraphRuntime {
670
691
  value: v,
671
692
  io: "input",
672
693
  });
673
- if (!this.paused)
694
+ if (!this.paused && this.allInboundHaveValue(e.target.nodeId))
674
695
  this.scheduleInputsChanged(e.target.nodeId);
675
696
  };
676
697
  if (e.convertAsync) {
@@ -1253,7 +1274,10 @@ class AbstractEngine {
1253
1274
  this.graphRuntime.launch();
1254
1275
  }
1255
1276
  setInput(nodeId, handle, value) {
1256
- this.graphRuntime.setInput(nodeId, handle, value);
1277
+ this.setInputs(nodeId, { [handle]: value });
1278
+ }
1279
+ setInputs(nodeId, inputs) {
1280
+ this.graphRuntime.setInputs(nodeId, inputs);
1257
1281
  }
1258
1282
  triggerExternal(nodeId, event) {
1259
1283
  this.graphRuntime.triggerExternal(nodeId, event);
@@ -1316,8 +1340,8 @@ class BatchedEngine extends AbstractEngine {
1316
1340
  this.timer = setInterval(() => this.flush(), this.opts.flushIntervalMs);
1317
1341
  }
1318
1342
  }
1319
- setInput(nodeId, handle, value) {
1320
- super.setInput(nodeId, handle, value);
1343
+ setInputs(nodeId, inputs) {
1344
+ super.setInputs(nodeId, inputs);
1321
1345
  this.dirtyNodes.add(nodeId);
1322
1346
  }
1323
1347
  triggerExternal(nodeId, event) {
@@ -1393,7 +1417,7 @@ class HybridEngine extends AbstractEngine {
1393
1417
  launch() {
1394
1418
  this.graphRuntime.resume();
1395
1419
  }
1396
- setInput(nodeId, handle, value) {
1420
+ setInputs(nodeId, inputs) {
1397
1421
  this.updateWindow();
1398
1422
  this.countInWindow += 1;
1399
1423
  const threshold = this.opts.batchThreshold ?? 5;
@@ -1416,7 +1440,7 @@ class HybridEngine extends AbstractEngine {
1416
1440
  this.flushTimer = undefined;
1417
1441
  }, windowMs);
1418
1442
  }
1419
- super.setInput(nodeId, handle, value);
1443
+ super.setInputs(nodeId, inputs);
1420
1444
  this.dirtyNodes.add(nodeId);
1421
1445
  if (!this.batching)
1422
1446
  this.graphRuntime.__unsafe_scheduleInputsChanged(nodeId);
@@ -1442,8 +1466,8 @@ class StepEngine extends AbstractEngine {
1442
1466
  this.graphRuntime.pause();
1443
1467
  }
1444
1468
  launch() { }
1445
- setInput(nodeId, handle, value) {
1446
- super.setInput(nodeId, handle, value);
1469
+ setInputs(nodeId, inputs) {
1470
+ super.setInputs(nodeId, inputs);
1447
1471
  this.dirtyNodes.add(nodeId);
1448
1472
  }
1449
1473
  triggerExternal(nodeId, event) {