@bian-womp/spark-graph 0.2.46 → 0.2.48
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 +86 -42
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/core/types.d.ts +2 -1
- package/lib/cjs/src/core/types.d.ts.map +1 -1
- package/lib/cjs/src/index.d.ts +1 -0
- package/lib/cjs/src/index.d.ts.map +1 -1
- package/lib/cjs/src/runtime/EngineFactory.d.ts +10 -0
- package/lib/cjs/src/runtime/EngineFactory.d.ts.map +1 -0
- package/lib/cjs/src/runtime/GraphRuntime.d.ts +5 -4
- package/lib/cjs/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/cjs/src/runtime/HybridEngine.d.ts.map +1 -1
- package/lib/esm/index.js +86 -43
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/core/types.d.ts +2 -1
- package/lib/esm/src/core/types.d.ts.map +1 -1
- package/lib/esm/src/index.d.ts +1 -0
- package/lib/esm/src/index.d.ts.map +1 -1
- package/lib/esm/src/runtime/EngineFactory.d.ts +10 -0
- package/lib/esm/src/runtime/EngineFactory.d.ts.map +1 -0
- package/lib/esm/src/runtime/GraphRuntime.d.ts +5 -4
- package/lib/esm/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/esm/src/runtime/HybridEngine.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -21,6 +21,7 @@ export interface ExecutionContext<State> extends NodeContext<State> {
|
|
|
21
21
|
emit: (handle: HandleId, value: unknown) => void;
|
|
22
22
|
invalidateDownstream: () => void;
|
|
23
23
|
scheduleInputsChanged: () => void;
|
|
24
|
+
getInput: (handle: HandleId) => unknown;
|
|
24
25
|
reportProgress?: (value: number) => void;
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
@@ -81,7 +82,7 @@ export interface NodeTypeDescriptor<I extends Record<string, InputHandleDescript
|
|
|
81
82
|
}) => Partial<ResolvedHandles> | Promise<Partial<ResolvedHandles>>;
|
|
82
83
|
inputDefaults?: Record<string, unknown>;
|
|
83
84
|
lifecycle?: {
|
|
84
|
-
|
|
85
|
+
prepare?: (params: Record<string, unknown>, ctx: ExecutionContext<InferState<Impl, State>>) => void | Promise<void>;
|
|
85
86
|
dispose?: (ctx: NodeContext<InferState<Impl, State>>) => void;
|
|
86
87
|
};
|
|
87
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/src/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export { BatchedEngine } from "./runtime/BatchedEngine";
|
|
|
12
12
|
export { PullEngine } from "./runtime/PullEngine";
|
|
13
13
|
export { HybridEngine } from "./runtime/HybridEngine";
|
|
14
14
|
export { StepEngine } from "./runtime/StepEngine";
|
|
15
|
+
export { createEngine } from "./runtime/EngineFactory";
|
|
15
16
|
export { ComputeCategory } from "./plugins/compute";
|
|
16
17
|
export { CompositeCategory } from "./plugins/composite";
|
|
17
18
|
export { createSimpleGraphRegistry, createSimpleGraphDef, } from "./examples/simple";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RunnerOptions } from "@bian-womp/spark-protocol";
|
|
2
|
+
import type { Engine } from "./Engine";
|
|
3
|
+
import type { GraphRuntime } from "./GraphRuntime";
|
|
4
|
+
export type EngineConfig = Omit<RunnerOptions, "invalidate">;
|
|
5
|
+
/**
|
|
6
|
+
* Creates an Engine instance for the given GraphRuntime based on engine configuration.
|
|
7
|
+
* This is the single source of truth for engine creation, used by both local and remote runners.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createEngine(runtime: GraphRuntime, config?: EngineConfig): Engine;
|
|
10
|
+
//# sourceMappingURL=EngineFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineFactory.d.ts","sourceRoot":"","sources":["../../../../src/runtime/EngineFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM,CAuBR"}
|
|
@@ -29,10 +29,11 @@ export declare class GraphRuntime {
|
|
|
29
29
|
setInputs(nodeId: string, inputs: Record<string, unknown>): void;
|
|
30
30
|
getOutput(nodeId: string, output: string): unknown;
|
|
31
31
|
private static buildEdgeConverters;
|
|
32
|
-
private
|
|
32
|
+
private createExecutionContext;
|
|
33
|
+
private scheduleInputsChangedInternal;
|
|
33
34
|
private allInboundHaveValue;
|
|
34
35
|
private getEffectiveInputs;
|
|
35
|
-
private
|
|
36
|
+
private invalidateDownstreamInternal;
|
|
36
37
|
private propagate;
|
|
37
38
|
private static computeResolvedHandleMap;
|
|
38
39
|
private static buildEdges;
|
|
@@ -55,8 +56,8 @@ export declare class GraphRuntime {
|
|
|
55
56
|
whenIdle(): Promise<void>;
|
|
56
57
|
pause(): void;
|
|
57
58
|
resume(): void;
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
invalidateDownstream(nodeId: string): void;
|
|
60
|
+
scheduleInputsChanged(nodeId: string): void;
|
|
60
61
|
hydrate(payload: {
|
|
61
62
|
inputs?: Record<string, Record<string, unknown>>;
|
|
62
63
|
outputs?: Record<string, Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EAIhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAIV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAC7D,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAClB,IAAI,CAAC;AAUV,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;CACrB;AA+BD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,MAAM,CAAS;IAIvB,OAAO,CAAC,iBAAiB,CAGrB;IAGJ,OAAO,CAAC,WAAW;IAanB,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC/C,YAAY;IA6Df,EAAE,CAAC,CAAC,SAAS,gBAAgB,EAC3B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,MAAM,IAAI;IAOb,OAAO,CAAC,IAAI;IAQZ,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;IAiEhE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKlD,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAuFlC,OAAO,CAAC,
|
|
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":"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;
|
|
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;IAqBX,MAAM,IAAI,IAAI;IAId,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAyBhE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKrD,OAAO,IAAI,IAAI;CAOzB"}
|
package/lib/esm/index.js
CHANGED
|
@@ -564,7 +564,7 @@ class GraphRuntime {
|
|
|
564
564
|
if (!this.paused) {
|
|
565
565
|
// Only schedule if all inbound inputs are present (or there are none)
|
|
566
566
|
if (anyChanged && this.allInboundHaveValue(nodeId))
|
|
567
|
-
this.
|
|
567
|
+
this.scheduleInputsChangedInternal(nodeId);
|
|
568
568
|
// Recompute dynamic handles for this node when its direct inputs change
|
|
569
569
|
if (anyChanged)
|
|
570
570
|
this.scheduleRecomputeHandles(nodeId);
|
|
@@ -637,7 +637,31 @@ class GraphRuntime {
|
|
|
637
637
|
},
|
|
638
638
|
};
|
|
639
639
|
}
|
|
640
|
-
|
|
640
|
+
createExecutionContext(nodeId, node, inputs, runId, abortSignal, options) {
|
|
641
|
+
const emitHandler = options?.emitHandler ??
|
|
642
|
+
((handle, value) => this.propagate(nodeId, handle, value));
|
|
643
|
+
const reportProgress = options?.reportProgress ??
|
|
644
|
+
((p) => {
|
|
645
|
+
node.stats.progress = Math.max(0, Math.min(1, Number(p) || 0));
|
|
646
|
+
});
|
|
647
|
+
return {
|
|
648
|
+
state: node.state,
|
|
649
|
+
setState: (next) => Object.assign(node.state, next),
|
|
650
|
+
emit: emitHandler,
|
|
651
|
+
invalidateDownstream: () => this.invalidateDownstreamInternal(nodeId),
|
|
652
|
+
scheduleInputsChanged: () => {
|
|
653
|
+
if (this.allInboundHaveValue(nodeId)) {
|
|
654
|
+
this.scheduleInputsChangedInternal(nodeId);
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
getInput: (handle) => inputs[handle],
|
|
658
|
+
environment: this.environment,
|
|
659
|
+
runId,
|
|
660
|
+
abortSignal,
|
|
661
|
+
reportProgress,
|
|
662
|
+
};
|
|
663
|
+
}
|
|
664
|
+
scheduleInputsChangedInternal(nodeId) {
|
|
641
665
|
const node = this.nodes.get(nodeId);
|
|
642
666
|
if (!node)
|
|
643
667
|
return;
|
|
@@ -679,24 +703,13 @@ class GraphRuntime {
|
|
|
679
703
|
if (policy.timeoutMs && policy.timeoutMs > 0) {
|
|
680
704
|
timeoutId = setTimeout(() => controller.abort("timeout"), policy.timeoutMs);
|
|
681
705
|
}
|
|
682
|
-
const ctx = {
|
|
683
|
-
|
|
684
|
-
environment: this.environment,
|
|
685
|
-
runId,
|
|
686
|
-
abortSignal: controller.signal,
|
|
687
|
-
setState: (next) => Object.assign(node.state, next),
|
|
688
|
-
emit: (handle, value) => {
|
|
706
|
+
const ctx = this.createExecutionContext(nodeId, node, capturedInputs, runId, controller.signal, {
|
|
707
|
+
emitHandler: (handle, value) => {
|
|
689
708
|
const m = policy.asyncConcurrency ?? "switch";
|
|
690
709
|
if (m !== "merge" && runId !== node.latestRunId)
|
|
691
710
|
return;
|
|
692
711
|
this.propagate(nodeId, handle, value);
|
|
693
712
|
},
|
|
694
|
-
invalidateDownstream: () => this.invalidateDownstream(nodeId),
|
|
695
|
-
scheduleInputsChanged: () => {
|
|
696
|
-
if (this.allInboundHaveValue(nodeId)) {
|
|
697
|
-
this.scheduleInputsChanged(nodeId);
|
|
698
|
-
}
|
|
699
|
-
},
|
|
700
713
|
reportProgress: (p) => {
|
|
701
714
|
node.stats.progress = Math.max(0, Math.min(1, Number(p) || 0));
|
|
702
715
|
this.emit("stats", {
|
|
@@ -706,10 +719,11 @@ class GraphRuntime {
|
|
|
706
719
|
progress: node.stats.progress,
|
|
707
720
|
});
|
|
708
721
|
},
|
|
709
|
-
};
|
|
722
|
+
});
|
|
710
723
|
const exec = async (attempt) => {
|
|
711
724
|
let hadError = false;
|
|
712
725
|
try {
|
|
726
|
+
node.lifecycle?.prepare?.(node.params ?? {}, ctx);
|
|
713
727
|
await node.runtime.onInputsChanged?.(capturedInputs, ctx);
|
|
714
728
|
}
|
|
715
729
|
catch (err) {
|
|
@@ -851,7 +865,7 @@ class GraphRuntime {
|
|
|
851
865
|
}
|
|
852
866
|
return effective;
|
|
853
867
|
}
|
|
854
|
-
|
|
868
|
+
invalidateDownstreamInternal(nodeId) {
|
|
855
869
|
// Notifies dependents; for now we propagate current outputs
|
|
856
870
|
for (const e of this.edges.filter((e) => e.source.nodeId === nodeId)) {
|
|
857
871
|
const value = this.getOutput(nodeId, e.source.handle);
|
|
@@ -944,7 +958,7 @@ class GraphRuntime {
|
|
|
944
958
|
// Recompute dynamic handles for the destination node on input change
|
|
945
959
|
this.scheduleRecomputeHandles(e.target.nodeId);
|
|
946
960
|
if (!this.paused && this.allInboundHaveValue(e.target.nodeId))
|
|
947
|
-
this.
|
|
961
|
+
this.scheduleInputsChangedInternal(e.target.nodeId);
|
|
948
962
|
}
|
|
949
963
|
};
|
|
950
964
|
if (e.convertAsync) {
|
|
@@ -1146,22 +1160,22 @@ class GraphRuntime {
|
|
|
1146
1160
|
}
|
|
1147
1161
|
}
|
|
1148
1162
|
// Invalidate downstream for this node so UI refreshes
|
|
1149
|
-
this.
|
|
1163
|
+
this.invalidateDownstreamInternal(nodeId);
|
|
1150
1164
|
}
|
|
1151
1165
|
launch(invalidate = false) {
|
|
1152
1166
|
// call onActivated for nodes that implement it
|
|
1153
1167
|
for (const node of this.nodes.values()) {
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
});
|
|
1168
|
+
const effectiveInputs = this.getEffectiveInputs(node.nodeId);
|
|
1169
|
+
const ctrl = new AbortController();
|
|
1170
|
+
const ctx = this.createExecutionContext(node.nodeId, node, effectiveInputs, `${node.nodeId}:init`, ctrl.signal);
|
|
1171
|
+
node.lifecycle?.prepare?.(node.params ?? {}, ctx);
|
|
1158
1172
|
node.runtime.onActivated?.();
|
|
1159
1173
|
}
|
|
1160
1174
|
if (invalidate) {
|
|
1161
1175
|
// After activation, schedule nodes that have all inbound inputs present
|
|
1162
1176
|
for (const nodeId of this.nodes.keys()) {
|
|
1163
1177
|
if (this.allInboundHaveValue(nodeId))
|
|
1164
|
-
this.
|
|
1178
|
+
this.scheduleInputsChangedInternal(nodeId);
|
|
1165
1179
|
}
|
|
1166
1180
|
}
|
|
1167
1181
|
}
|
|
@@ -1174,9 +1188,9 @@ class GraphRuntime {
|
|
|
1174
1188
|
typeof event === "object" &&
|
|
1175
1189
|
event.type === "invalidate") {
|
|
1176
1190
|
if (this.allInboundHaveValue(nodeId))
|
|
1177
|
-
this.
|
|
1191
|
+
this.scheduleInputsChangedInternal(nodeId);
|
|
1178
1192
|
else
|
|
1179
|
-
this.
|
|
1193
|
+
this.invalidateDownstreamInternal(nodeId);
|
|
1180
1194
|
}
|
|
1181
1195
|
else {
|
|
1182
1196
|
node.runtime.onExternalEvent?.(event, node.state);
|
|
@@ -1279,11 +1293,11 @@ class GraphRuntime {
|
|
|
1279
1293
|
resume() {
|
|
1280
1294
|
this.paused = false;
|
|
1281
1295
|
}
|
|
1282
|
-
|
|
1283
|
-
this.
|
|
1296
|
+
invalidateDownstream(nodeId) {
|
|
1297
|
+
this.invalidateDownstreamInternal(nodeId);
|
|
1284
1298
|
}
|
|
1285
|
-
|
|
1286
|
-
this.
|
|
1299
|
+
scheduleInputsChanged(nodeId) {
|
|
1300
|
+
this.scheduleInputsChangedInternal(nodeId);
|
|
1287
1301
|
}
|
|
1288
1302
|
// Hydrate inputs/outputs without triggering computation; optionally re-emit outputs downstream
|
|
1289
1303
|
hydrate(payload, opts) {
|
|
@@ -1397,10 +1411,10 @@ class GraphRuntime {
|
|
|
1397
1411
|
};
|
|
1398
1412
|
this.nodes.set(n.nodeId, rn);
|
|
1399
1413
|
// Activate new node
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
});
|
|
1414
|
+
const effectiveInputs = this.getEffectiveInputs(rn.nodeId);
|
|
1415
|
+
const ctrl = new AbortController();
|
|
1416
|
+
const ctx = this.createExecutionContext(rn.nodeId, rn, effectiveInputs, `${rn.nodeId}:init`, ctrl.signal);
|
|
1417
|
+
rn.lifecycle?.prepare?.(rn.params ?? {}, ctx);
|
|
1404
1418
|
rn.runtime.onActivated?.();
|
|
1405
1419
|
}
|
|
1406
1420
|
else {
|
|
@@ -1480,7 +1494,7 @@ class GraphRuntime {
|
|
|
1480
1494
|
if (bucketsForNode.size === 0)
|
|
1481
1495
|
this.arrayInputBuckets.delete(nodeId);
|
|
1482
1496
|
}
|
|
1483
|
-
this.
|
|
1497
|
+
this.scheduleInputsChangedInternal(nodeId);
|
|
1484
1498
|
}
|
|
1485
1499
|
}
|
|
1486
1500
|
// Re-emit outputs when per-handle target sets change (precise and simple)
|
|
@@ -1523,7 +1537,7 @@ class GraphRuntime {
|
|
|
1523
1537
|
if (val !== undefined)
|
|
1524
1538
|
this.propagate(nodeId, handle, val);
|
|
1525
1539
|
else if (this.allInboundHaveValue(nodeId))
|
|
1526
|
-
this.
|
|
1540
|
+
this.scheduleInputsChangedInternal(nodeId);
|
|
1527
1541
|
}
|
|
1528
1542
|
}
|
|
1529
1543
|
}
|
|
@@ -1903,7 +1917,7 @@ class BatchedEngine extends AbstractEngine {
|
|
|
1903
1917
|
this.dirtyNodes.clear();
|
|
1904
1918
|
this.graphRuntime.resume();
|
|
1905
1919
|
for (const n of nodes)
|
|
1906
|
-
this.graphRuntime.
|
|
1920
|
+
this.graphRuntime.scheduleInputsChanged(n);
|
|
1907
1921
|
await this.graphRuntime.whenIdle();
|
|
1908
1922
|
this.graphRuntime.pause();
|
|
1909
1923
|
}
|
|
@@ -1924,7 +1938,7 @@ class PullEngine extends AbstractEngine {
|
|
|
1924
1938
|
// Pull API
|
|
1925
1939
|
async computeNode(nodeId) {
|
|
1926
1940
|
this.graphRuntime.resume();
|
|
1927
|
-
this.graphRuntime.
|
|
1941
|
+
this.graphRuntime.scheduleInputsChanged(nodeId);
|
|
1928
1942
|
await this.graphRuntime.whenIdle();
|
|
1929
1943
|
this.graphRuntime.pause();
|
|
1930
1944
|
}
|
|
@@ -1953,7 +1967,7 @@ class HybridEngine extends AbstractEngine {
|
|
|
1953
1967
|
const nodes = Array.from(this.dirtyNodes);
|
|
1954
1968
|
this.dirtyNodes.clear();
|
|
1955
1969
|
for (const n of nodes)
|
|
1956
|
-
this.graphRuntime.
|
|
1970
|
+
this.graphRuntime.scheduleInputsChanged(n);
|
|
1957
1971
|
if (this.flushTimer) {
|
|
1958
1972
|
clearTimeout(this.flushTimer);
|
|
1959
1973
|
this.flushTimer = undefined;
|
|
@@ -1983,14 +1997,14 @@ class HybridEngine extends AbstractEngine {
|
|
|
1983
1997
|
const nodes = Array.from(this.dirtyNodes);
|
|
1984
1998
|
this.dirtyNodes.clear();
|
|
1985
1999
|
for (const n of nodes)
|
|
1986
|
-
this.graphRuntime.
|
|
2000
|
+
this.graphRuntime.scheduleInputsChanged(n);
|
|
1987
2001
|
this.flushTimer = undefined;
|
|
1988
2002
|
}, windowMs);
|
|
1989
2003
|
}
|
|
1990
2004
|
super.setInputs(nodeId, inputs);
|
|
1991
2005
|
this.dirtyNodes.add(nodeId);
|
|
1992
2006
|
if (!this.batching)
|
|
1993
|
-
this.graphRuntime.
|
|
2007
|
+
this.graphRuntime.scheduleInputsChanged(nodeId);
|
|
1994
2008
|
}
|
|
1995
2009
|
triggerExternal(nodeId, event) {
|
|
1996
2010
|
super.triggerExternal(nodeId, event);
|
|
@@ -2027,12 +2041,41 @@ class StepEngine extends AbstractEngine {
|
|
|
2027
2041
|
this.dirtyNodes.clear();
|
|
2028
2042
|
this.graphRuntime.resume();
|
|
2029
2043
|
for (const n of nodes)
|
|
2030
|
-
this.graphRuntime.
|
|
2044
|
+
this.graphRuntime.scheduleInputsChanged(n);
|
|
2031
2045
|
await this.graphRuntime.whenIdle();
|
|
2032
2046
|
this.graphRuntime.pause();
|
|
2033
2047
|
}
|
|
2034
2048
|
}
|
|
2035
2049
|
|
|
2050
|
+
/**
|
|
2051
|
+
* Creates an Engine instance for the given GraphRuntime based on engine configuration.
|
|
2052
|
+
* This is the single source of truth for engine creation, used by both local and remote runners.
|
|
2053
|
+
*/
|
|
2054
|
+
function createEngine(runtime, config) {
|
|
2055
|
+
const engineKind = config?.engine ?? "push";
|
|
2056
|
+
const batched = config?.batched ?? { flushIntervalMs: 0 };
|
|
2057
|
+
const hybrid = config?.hybrid ?? { windowMs: 250, batchThreshold: 3 };
|
|
2058
|
+
switch (engineKind) {
|
|
2059
|
+
case "push":
|
|
2060
|
+
return new PushEngine(runtime);
|
|
2061
|
+
case "batched":
|
|
2062
|
+
return new BatchedEngine(runtime, {
|
|
2063
|
+
flushIntervalMs: batched.flushIntervalMs,
|
|
2064
|
+
});
|
|
2065
|
+
case "pull":
|
|
2066
|
+
return new PullEngine(runtime);
|
|
2067
|
+
case "hybrid":
|
|
2068
|
+
return new HybridEngine(runtime, {
|
|
2069
|
+
windowMs: hybrid.windowMs,
|
|
2070
|
+
batchThreshold: hybrid.batchThreshold,
|
|
2071
|
+
});
|
|
2072
|
+
case "step":
|
|
2073
|
+
return new StepEngine(runtime);
|
|
2074
|
+
default:
|
|
2075
|
+
throw new Error(`Unknown engine kind: ${engineKind}`);
|
|
2076
|
+
}
|
|
2077
|
+
}
|
|
2078
|
+
|
|
2036
2079
|
const ComputeCategory = {
|
|
2037
2080
|
id: "compute",
|
|
2038
2081
|
displayName: "Compute",
|
|
@@ -3432,5 +3475,5 @@ function createValidationGraphRegistry() {
|
|
|
3432
3475
|
return registry;
|
|
3433
3476
|
}
|
|
3434
3477
|
|
|
3435
|
-
export { BatchedEngine, CompositeCategory, ComputeCategory, GraphBuilder, GraphRuntime, HybridEngine, PullEngine, PushEngine, Registry, StepEngine, createAsyncGraphDef, createAsyncGraphRegistry, createProgressGraphDef, createProgressGraphRegistry, createSimpleGraphDef, createSimpleGraphRegistry, createValidationGraphDef, createValidationGraphRegistry, getInputTypeId, getTypedOutputTypeId, getTypedOutputValue, installLogging, isInputPrivate, isTypedOutput, registerDelayNode, registerProgressNodes, typed };
|
|
3478
|
+
export { BatchedEngine, CompositeCategory, ComputeCategory, GraphBuilder, GraphRuntime, HybridEngine, PullEngine, PushEngine, Registry, StepEngine, createAsyncGraphDef, createAsyncGraphRegistry, createEngine, createProgressGraphDef, createProgressGraphRegistry, createSimpleGraphDef, createSimpleGraphRegistry, createValidationGraphDef, createValidationGraphRegistry, getInputTypeId, getTypedOutputTypeId, getTypedOutputValue, installLogging, isInputPrivate, isTypedOutput, registerDelayNode, registerProgressNodes, typed };
|
|
3436
3479
|
//# sourceMappingURL=index.js.map
|