@bian-womp/spark-graph 0.3.43 → 0.3.45

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.
@@ -75,6 +75,7 @@ export declare class GraphRuntime implements IRuntime, INodeExecutor, IEdgePropa
75
75
  isPaused(): boolean;
76
76
  pause(): void;
77
77
  resume(): void;
78
+ private executeNodeAutoRun;
78
79
  copyOutputs(fromNodeId: string, toNodeId: string, options?: {
79
80
  dry?: boolean;
80
81
  }): 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EdgePropagator.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/EdgePropagator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/E;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;IAOlD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAV/B,OAAO,CAAC,iBAAiB,CAGrB;gBAGe,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,eAAe,EAC/B,YAAY,EAAE,aAAa;IAG9C;;;;OAIG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,aAAa,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,GAChC,IAAI;IAeP;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAgBlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmD7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAyDrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAuB1C;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAG7B"}
1
+ {"version":3,"file":"EdgePropagator.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/EdgePropagator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/E;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;IAOlD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAV/B,OAAO,CAAC,iBAAiB,CAGrB;gBAGe,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,eAAe,EAC/B,YAAY,EAAE,aAAa;IAG9C;;;;OAIG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,aAAa,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,GAChC,IAAI;IAeP;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAgBlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmD7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAyDrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAuB1C;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAG7B"}
@@ -1,16 +1,18 @@
1
1
  import type { ResolvedHandles } from "@bian-womp/spark-protocol";
2
2
  import { Registry } from "../../builder/Registry";
3
+ import { EventEmitter } from "./EventEmitter";
3
4
  import type { RuntimeNode, RuntimeEdge, ReadonlyRuntimeNode, ExecutionPlan } from "./types";
4
5
  /**
5
6
  * Graph component - manages nodes, edges, and handle resolution
6
7
  * This is the ONLY place where nodes, edges, and resolvedByNode are directly updated.
7
8
  */
8
9
  export declare class Graph {
10
+ private eventEmitter;
9
11
  private registry?;
10
12
  private nodes;
11
13
  private edges;
12
14
  private resolvedByNode;
13
- constructor(registry?: Registry | undefined);
15
+ constructor(eventEmitter: EventEmitter, registry?: Registry | undefined);
14
16
  /**
15
17
  * Get a node by ID (readonly to prevent accidental modifications)
16
18
  */
@@ -43,11 +45,7 @@ export declare class Graph {
43
45
  /**
44
46
  * Update node inputs
45
47
  */
46
- updateNodeInput(nodeId: string, handle: string, value: unknown): void;
47
- /**
48
- * Delete a node input handle
49
- */
50
- deleteNodeInput(nodeId: string, handle: string): void;
48
+ updateNodeInput(nodeId: string, handle: string, value: unknown, calculated?: boolean): void;
51
49
  /**
52
50
  * Update node outputs
53
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/Graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/Graph.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -493,7 +493,8 @@ Registry.idCounter = 0;
493
493
  * This is the ONLY place where nodes, edges, and resolvedByNode are directly updated.
494
494
  */
495
495
  class Graph {
496
- constructor(registry) {
496
+ constructor(eventEmitter, registry) {
497
+ this.eventEmitter = eventEmitter;
497
498
  this.registry = registry;
498
499
  this.nodes = new Map();
499
500
  this.edges = [];
@@ -550,7 +551,7 @@ class Graph {
550
551
  /**
551
552
  * Update node inputs
552
553
  */
553
- updateNodeInput(nodeId, handle, value) {
554
+ updateNodeInput(nodeId, handle, value, calculated = true) {
554
555
  const node = this.getNodeMutable(nodeId);
555
556
  if (!node)
556
557
  return;
@@ -560,15 +561,16 @@ class Graph {
560
561
  else {
561
562
  node.inputs[handle] = value;
562
563
  }
563
- }
564
- /**
565
- * Delete a node input handle
566
- */
567
- deleteNodeInput(nodeId, handle) {
568
- const node = this.nodes.get(nodeId);
569
- if (!node)
570
- return;
571
- delete node.inputs[handle];
564
+ if (calculated) {
565
+ this.updateNodeLastInputAt(nodeId, handle, Date.now());
566
+ }
567
+ this.eventEmitter.emit("value", {
568
+ nodeId,
569
+ handle,
570
+ value,
571
+ io: "input",
572
+ runtimeTypeId: unwrapTypeId(value),
573
+ });
572
574
  }
573
575
  /**
574
576
  * Update node outputs
@@ -577,7 +579,19 @@ class Graph {
577
579
  const node = this.nodes.get(nodeId);
578
580
  if (!node)
579
581
  return;
580
- node.outputs[handle] = value;
582
+ if (value === undefined) {
583
+ delete node.outputs[handle];
584
+ }
585
+ else {
586
+ node.outputs[handle] = value;
587
+ }
588
+ this.eventEmitter.emit("value", {
589
+ nodeId,
590
+ handle,
591
+ value,
592
+ io: "output",
593
+ runtimeTypeId: unwrapTypeId(value),
594
+ });
581
595
  }
582
596
  /**
583
597
  * Update node state
@@ -650,9 +664,8 @@ class Graph {
650
664
  const node = this.nodes.get(nodeId);
651
665
  if (!node)
652
666
  return;
653
- if (!node.lastInputAt) {
667
+ if (!node.lastInputAt)
654
668
  node.lastInputAt = {};
655
- }
656
669
  node.lastInputAt[handle] = timestamp;
657
670
  }
658
671
  /**
@@ -1975,13 +1988,6 @@ class EdgePropagator {
1975
1988
  return false;
1976
1989
  }
1977
1990
  this.graph.updateNodeOutput(srcNodeId, srcHandle, value);
1978
- this.eventEmitter.emit("value", {
1979
- nodeId: srcNodeId,
1980
- handle: srcHandle,
1981
- value,
1982
- io: "output",
1983
- runtimeTypeId: unwrapTypeId(value),
1984
- });
1985
1991
  return true;
1986
1992
  }
1987
1993
  /**
@@ -2203,16 +2209,7 @@ class EdgePropagator {
2203
2209
  * Set target input value and emit event
2204
2210
  */
2205
2211
  setTargetInput(edge, dstNode, value) {
2206
- const now = Date.now();
2207
2212
  this.graph.updateNodeInput(edge.target.nodeId, edge.target.handle, value);
2208
- this.graph.updateNodeLastInputAt(edge.target.nodeId, edge.target.handle, now);
2209
- this.eventEmitter.emit("value", {
2210
- nodeId: edge.target.nodeId,
2211
- handle: edge.target.handle,
2212
- value,
2213
- io: "input",
2214
- runtimeTypeId: unwrapTypeId(value),
2215
- });
2216
2213
  this.handleResolver.scheduleRecomputeHandles(edge.target.nodeId);
2217
2214
  }
2218
2215
  /**
@@ -2428,7 +2425,7 @@ class NodeExecutor {
2428
2425
  return;
2429
2426
  const runMode = this.runtime.getRunMode();
2430
2427
  if (!runMode) {
2431
- console.warn("NodeExecutor.execute: no runMode, skipping execution");
2428
+ console.trace("NodeExecutor.execute: no runMode, skipping execution");
2432
2429
  return;
2433
2430
  }
2434
2431
  // In manual mode, require runContextIds unless autoRun policy is set
@@ -2442,12 +2439,12 @@ class NodeExecutor {
2442
2439
  ]);
2443
2440
  }
2444
2441
  else {
2445
- console.warn("NodeExecutor.execute: no runContextIds provided in manual mode, skipping execution");
2442
+ console.trace("NodeExecutor.execute: no runContextIds provided in manual mode, skipping execution");
2446
2443
  return;
2447
2444
  }
2448
2445
  }
2449
2446
  if (runMode === "auto" && runContextIds && runContextIds.size > 0) {
2450
- console.warn("NodeExecutor.execute: runContextIds provided in auto mode, ignoring");
2447
+ console.trace("NodeExecutor.execute: runContextIds provided in auto mode, ignoring");
2451
2448
  runContextIds = undefined;
2452
2449
  }
2453
2450
  // Early validation for auto-mode paused state
@@ -3022,8 +3019,8 @@ class GraphRuntime {
3022
3019
  this.pauseRefCount = 0;
3023
3020
  this.persistentPauseToken = null;
3024
3021
  // Initialize components
3025
- this.graph = new Graph();
3026
3022
  this.eventEmitter = new EventEmitter();
3023
+ this.graph = new Graph(this.eventEmitter);
3027
3024
  this.runContextManager = new RunContextManager(this.graph, "debug");
3028
3025
  this.handleResolver = new HandleResolver(this.graph, this.eventEmitter, this.runContextManager, this);
3029
3026
  this.edgePropagator = new EdgePropagator(this.graph, this.eventEmitter, this.runContextManager, this.handleResolver, this);
@@ -3133,7 +3130,7 @@ class GraphRuntime {
3133
3130
  if (hasInbound)
3134
3131
  continue;
3135
3132
  // Validate input value against declared type
3136
- if (value !== undefined && registry) {
3133
+ if (registry) {
3137
3134
  const desc = registry.nodes.get(node.typeId);
3138
3135
  const resolved = this.graph.getResolvedHandles(nodeId);
3139
3136
  // Get declared types (may be union); prefer resolved handles over registry statics
@@ -3155,7 +3152,7 @@ class GraphRuntime {
3155
3152
  return true;
3156
3153
  return typeDesc.validate(value);
3157
3154
  });
3158
- if (!isValidForAny) {
3155
+ if (value !== undefined && !isValidForAny) {
3159
3156
  const typeLabel = typeIds.join("|");
3160
3157
  const errorMessage = `Invalid value for input ${nodeId}.${handle} (type ${typeLabel}): ${JSON.stringify(value)}`;
3161
3158
  this.eventEmitter.emit("error", {
@@ -3184,11 +3181,7 @@ class GraphRuntime {
3184
3181
  // However, if autoRun policy is set, nodes run automatically even in manual mode.
3185
3182
  if (anyChanged) {
3186
3183
  this.handleResolver.scheduleRecomputeHandles(nodeId);
3187
- const node = this.graph.getNode(nodeId);
3188
- const shouldAutoRun = this.runMode === "auto" || node?.policy?.autoRun === true;
3189
- if (shouldAutoRun && this.graph.allInboundHaveValue(nodeId)) {
3190
- this.execute(nodeId);
3191
- }
3184
+ this.executeNodeAutoRun(nodeId);
3192
3185
  }
3193
3186
  }
3194
3187
  getOutput(nodeId, output) {
@@ -3403,17 +3396,28 @@ class GraphRuntime {
3403
3396
  }
3404
3397
  }
3405
3398
  }
3399
+ executeNodeAutoRun(nodeId) {
3400
+ const node = this.graph.getNode(nodeId);
3401
+ const shouldAutoRun = this.runMode === "auto" || node?.policy?.autoRun === true;
3402
+ let runContextIdsToUse = undefined;
3403
+ if (this.runMode === "manual") {
3404
+ runContextIdsToUse = new Set([
3405
+ this.runContextManager.createRunContext(nodeId, undefined, {
3406
+ propagate: false,
3407
+ }),
3408
+ ]);
3409
+ }
3410
+ if (shouldAutoRun && this.graph.allInboundHaveValue(nodeId)) {
3411
+ this.execute(nodeId, runContextIdsToUse);
3412
+ }
3413
+ }
3406
3414
  copyOutputs(fromNodeId, toNodeId, options) {
3407
3415
  const fromNode = this.getNodeData(fromNodeId);
3408
3416
  if (!fromNode?.outputs)
3409
3417
  return;
3410
3418
  this.hydrate({ outputs: { [toNodeId]: { ...fromNode.outputs } } }, { invalidate: !options?.dry });
3411
3419
  this.handleResolver.scheduleRecomputeHandles(toNodeId);
3412
- const node = this.graph.getNode(toNodeId);
3413
- const shouldAutoRun = this.runMode === "auto" || node?.policy?.autoRun === true;
3414
- if (shouldAutoRun && this.graph.allInboundHaveValue(toNodeId)) {
3415
- this.execute(toNodeId);
3416
- }
3420
+ this.executeNodeAutoRun(toNodeId);
3417
3421
  }
3418
3422
  hydrate(payload, opts) {
3419
3423
  const releasePause = this.requestPause();
@@ -3430,14 +3434,7 @@ class GraphRuntime {
3430
3434
  const clonedValue = structuredClone(v);
3431
3435
  const same = valuesEqual(prev, clonedValue);
3432
3436
  if (!same) {
3433
- this.graph.updateNodeInput(nodeId, h, clonedValue);
3434
- this.eventEmitter.emit("value", {
3435
- nodeId,
3436
- handle: h,
3437
- value: clonedValue,
3438
- io: "input",
3439
- runtimeTypeId: unwrapTypeId(clonedValue),
3440
- });
3437
+ this.graph.updateNodeInput(nodeId, h, clonedValue, false);
3441
3438
  nodeChanged = true;
3442
3439
  }
3443
3440
  }
@@ -3452,13 +3449,6 @@ class GraphRuntime {
3452
3449
  for (const [h, v] of Object.entries(map || {})) {
3453
3450
  const clonedValue = structuredClone(v);
3454
3451
  this.graph.updateNodeOutput(nodeId, h, clonedValue);
3455
- this.eventEmitter.emit("value", {
3456
- nodeId,
3457
- handle: h,
3458
- value: clonedValue,
3459
- io: "output",
3460
- runtimeTypeId: unwrapTypeId(clonedValue),
3461
- });
3462
3452
  }
3463
3453
  }
3464
3454
  // Trigger handle resolution for nodes with changed inputs
@@ -3648,7 +3638,7 @@ class GraphRuntime {
3648
3638
  if (!currSet.has(handle)) {
3649
3639
  const node = this.graph.getNode(nodeId);
3650
3640
  if (node && handle in node.inputs) {
3651
- this.graph.deleteNodeInput(nodeId, handle);
3641
+ this.graph.updateNodeInput(nodeId, handle, undefined);
3652
3642
  changed = true;
3653
3643
  }
3654
3644
  }
@@ -3657,11 +3647,7 @@ class GraphRuntime {
3657
3647
  this.edgePropagator.clearArrayBuckets(nodeId);
3658
3648
  // Trigger handle resolution when inputs are removed
3659
3649
  this.handleResolver.scheduleRecomputeHandles(nodeId);
3660
- const node = this.graph.getNode(nodeId);
3661
- const shouldAutoRun = this.runMode === "auto" || node?.policy?.autoRun === true;
3662
- if (shouldAutoRun && this.graph.allInboundHaveValue(nodeId)) {
3663
- this.execute(nodeId);
3664
- }
3650
+ this.executeNodeAutoRun(nodeId);
3665
3651
  }
3666
3652
  }
3667
3653
  // Propagate changes on edges added