@bian-womp/spark-graph 0.2.45 → 0.2.47
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 +41 -69
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/core/categories.d.ts +2 -2
- package/lib/cjs/src/core/categories.d.ts.map +1 -1
- package/lib/cjs/src/core/types.d.ts +5 -5
- package/lib/cjs/src/core/types.d.ts.map +1 -1
- package/lib/cjs/src/plugins/compute.d.ts +1 -1
- package/lib/cjs/src/plugins/compute.d.ts.map +1 -1
- package/lib/cjs/src/runtime/GraphRuntime.d.ts +1 -0
- package/lib/cjs/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/esm/index.js +41 -69
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/core/categories.d.ts +2 -2
- package/lib/esm/src/core/categories.d.ts.map +1 -1
- package/lib/esm/src/core/types.d.ts +5 -5
- package/lib/esm/src/core/types.d.ts.map +1 -1
- package/lib/esm/src/plugins/compute.d.ts +1 -1
- package/lib/esm/src/plugins/compute.d.ts.map +1 -1
- package/lib/esm/src/runtime/GraphRuntime.d.ts +1 -0
- package/lib/esm/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -2,9 +2,9 @@ import type { NodeCategoryId } from "@bian-womp/spark-protocol";
|
|
|
2
2
|
import type { ExecutionContext, ExecutionPolicy } from "./types";
|
|
3
3
|
export interface CategoryRuntime<State = unknown> {
|
|
4
4
|
onInputsChanged?: (inputs: Record<string, unknown>, ctx: ExecutionContext<State>) => void | Promise<void>;
|
|
5
|
-
onActivated?: (
|
|
5
|
+
onActivated?: () => void | Promise<void>;
|
|
6
6
|
onDeactivated?: () => void | Promise<void>;
|
|
7
|
-
onExternalEvent?: (event: unknown,
|
|
7
|
+
onExternalEvent?: (event: unknown, state: State) => void | Promise<void>;
|
|
8
8
|
onTick?: () => void;
|
|
9
9
|
dispose?: () => void;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../../src/core/categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,eAAe,CAAC,KAAK,GAAG,OAAO;IAC9C,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,KACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../../src/core/categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,eAAe,CAAC,KAAK,GAAG,OAAO;IAC9C,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,KACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB,CAAC,IAAI,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IACrE,EAAE,EAAE,cAAc,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,CAAC,OAAO,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,IAAI,CAAC;QACX,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;KAC/B,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACnC"}
|
|
@@ -15,13 +15,13 @@ export interface NodeContext<State> {
|
|
|
15
15
|
setState(next: Partial<State>): void;
|
|
16
16
|
}
|
|
17
17
|
export interface ExecutionContext<State> extends NodeContext<State> {
|
|
18
|
-
emit: (handle: HandleId, value: unknown) => void;
|
|
19
|
-
invalidateDownstream: () => void;
|
|
20
|
-
getInput: (handle: HandleId) => unknown;
|
|
21
18
|
environment: Record<string, unknown>;
|
|
22
19
|
runId: string;
|
|
23
20
|
abortSignal: AbortSignal;
|
|
24
|
-
|
|
21
|
+
emit: (handle: HandleId, value: unknown) => void;
|
|
22
|
+
invalidateDownstream: () => void;
|
|
23
|
+
scheduleInputsChanged: () => void;
|
|
24
|
+
getInput: (handle: HandleId) => unknown;
|
|
25
25
|
reportProgress?: (value: number) => void;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
@@ -82,7 +82,7 @@ export interface NodeTypeDescriptor<I extends Record<string, InputHandleDescript
|
|
|
82
82
|
}) => Partial<ResolvedHandles> | Promise<Partial<ResolvedHandles>>;
|
|
83
83
|
inputDefaults?: Record<string, unknown>;
|
|
84
84
|
lifecycle?: {
|
|
85
|
-
|
|
85
|
+
prepare?: (params: Record<string, unknown>, ctx: ExecutionContext<InferState<Impl, State>>) => void | Promise<void>;
|
|
86
86
|
dispose?: (ctx: NodeContext<InferState<Impl, State>>) => void;
|
|
87
87
|
};
|
|
88
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,EAAE,EAAE,UAAU,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC,UAAU,CAAC,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,QAAQ,CAAA;KAAE,CAAC;CAChE;AAED,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,oBAAoB,GACpB,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,WAAW,WAAW,CAAC,KAAK;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB,CAAC,KAAK,CAAE,SAAQ,WAAW,CAAC,KAAK,CAAC;IACjE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NodeCategoryDescriptor } from "../core/categories";
|
|
2
2
|
import type { ExecutionContext } from "../core/types";
|
|
3
3
|
export type ComputeImpl = (inputs: Record<string, unknown>, ctx: ExecutionContext<any>) => void | Record<string, unknown> | Promise<void | Record<string, unknown>>;
|
|
4
|
-
export declare const ComputeCategory: NodeCategoryDescriptor<ComputeImpl,
|
|
4
|
+
export declare const ComputeCategory: NodeCategoryDescriptor<ComputeImpl, any>;
|
|
5
5
|
//# sourceMappingURL=compute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../../../../src/plugins/compute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,KACvB,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9E,eAAO,MAAM,eAAe,EAAE,sBAAsB,CAAC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../../../../src/plugins/compute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,KACvB,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9E,eAAO,MAAM,eAAe,EAAE,sBAAsB,CAAC,WAAW,EAAE,GAAG,CAgCpE,CAAC"}
|
|
@@ -29,6 +29,7 @@ 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 createExecutionContext;
|
|
32
33
|
private scheduleInputsChanged;
|
|
33
34
|
private allInboundHaveValue;
|
|
34
35
|
private getEffectiveInputs;
|
|
@@ -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,qBAAqB;IA2J7B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,SAAS;IA0JjB,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAuDvC,OAAO,CAAC,MAAM,CAAC,UAAU;IAgDzB,OAAO,CAAC,iBAAiB;IASzB,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,GACjB,IAAI;IAsDP,MAAM,CAAC,UAAU,UAAQ,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -637,6 +637,30 @@ class GraphRuntime {
|
|
|
637
637
|
},
|
|
638
638
|
};
|
|
639
639
|
}
|
|
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.invalidateDownstream(nodeId),
|
|
652
|
+
scheduleInputsChanged: () => {
|
|
653
|
+
if (this.allInboundHaveValue(nodeId)) {
|
|
654
|
+
this.scheduleInputsChanged(nodeId);
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
getInput: (handle) => inputs[handle],
|
|
658
|
+
environment: this.environment,
|
|
659
|
+
runId,
|
|
660
|
+
abortSignal,
|
|
661
|
+
reportProgress,
|
|
662
|
+
};
|
|
663
|
+
}
|
|
640
664
|
scheduleInputsChanged(nodeId) {
|
|
641
665
|
const node = this.nodes.get(nodeId);
|
|
642
666
|
if (!node)
|
|
@@ -679,21 +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
|
-
setState: (next) => Object.assign(node.state, next),
|
|
685
|
-
emit: (handle, value) => {
|
|
706
|
+
const ctx = this.createExecutionContext(nodeId, node, capturedInputs, runId, controller.signal, {
|
|
707
|
+
emitHandler: (handle, value) => {
|
|
686
708
|
const m = policy.asyncConcurrency ?? "switch";
|
|
687
709
|
if (m !== "merge" && runId !== node.latestRunId)
|
|
688
710
|
return;
|
|
689
711
|
this.propagate(nodeId, handle, value);
|
|
690
712
|
},
|
|
691
|
-
invalidateDownstream: () => this.invalidateDownstream(nodeId),
|
|
692
|
-
getInput: (handle) => capturedInputs[handle],
|
|
693
|
-
environment: this.environment,
|
|
694
|
-
runId: runId,
|
|
695
|
-
abortSignal: controller.signal,
|
|
696
|
-
createAbortController: () => new AbortController(),
|
|
697
713
|
reportProgress: (p) => {
|
|
698
714
|
node.stats.progress = Math.max(0, Math.min(1, Number(p) || 0));
|
|
699
715
|
this.emit("stats", {
|
|
@@ -703,10 +719,11 @@ class GraphRuntime {
|
|
|
703
719
|
progress: node.stats.progress,
|
|
704
720
|
});
|
|
705
721
|
},
|
|
706
|
-
};
|
|
722
|
+
});
|
|
707
723
|
const exec = async (attempt) => {
|
|
708
724
|
let hadError = false;
|
|
709
725
|
try {
|
|
726
|
+
node.lifecycle?.prepare?.(node.params ?? {}, ctx);
|
|
710
727
|
await node.runtime.onInputsChanged?.(capturedInputs, ctx);
|
|
711
728
|
}
|
|
712
729
|
catch (err) {
|
|
@@ -1148,27 +1165,11 @@ class GraphRuntime {
|
|
|
1148
1165
|
launch(invalidate = false) {
|
|
1149
1166
|
// call onActivated for nodes that implement it
|
|
1150
1167
|
for (const node of this.nodes.values()) {
|
|
1151
|
-
const ctrl = new AbortController();
|
|
1152
1168
|
const effectiveInputs = this.getEffectiveInputs(node.nodeId);
|
|
1153
|
-
const
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
invalidateDownstream: () => this.invalidateDownstream(node.nodeId),
|
|
1158
|
-
getInput: (handle) => effectiveInputs[handle],
|
|
1159
|
-
environment: this.environment,
|
|
1160
|
-
runId: `${node.nodeId}:activation`,
|
|
1161
|
-
abortSignal: ctrl.signal,
|
|
1162
|
-
createAbortController: () => new AbortController(),
|
|
1163
|
-
reportProgress: (p) => {
|
|
1164
|
-
node.stats.progress = Math.max(0, Math.min(1, Number(p) || 0));
|
|
1165
|
-
},
|
|
1166
|
-
};
|
|
1167
|
-
node.lifecycle?.init?.(node.params ?? {}, {
|
|
1168
|
-
state: node.state,
|
|
1169
|
-
setState: (next) => Object.assign(node.state, next),
|
|
1170
|
-
});
|
|
1171
|
-
node.runtime.onActivated?.(ctx);
|
|
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);
|
|
1172
|
+
node.runtime.onActivated?.();
|
|
1172
1173
|
}
|
|
1173
1174
|
if (invalidate) {
|
|
1174
1175
|
// After activation, schedule nodes that have all inbound inputs present
|
|
@@ -1182,22 +1183,6 @@ class GraphRuntime {
|
|
|
1182
1183
|
const node = this.nodes.get(nodeId);
|
|
1183
1184
|
if (!node)
|
|
1184
1185
|
return;
|
|
1185
|
-
const ctrl = new AbortController();
|
|
1186
|
-
const effectiveInputs = this.getEffectiveInputs(nodeId);
|
|
1187
|
-
const ctx = {
|
|
1188
|
-
state: node.state,
|
|
1189
|
-
setState: (next) => Object.assign(node.state, next),
|
|
1190
|
-
emit: (handle, value) => this.propagate(nodeId, handle, value),
|
|
1191
|
-
invalidateDownstream: () => this.invalidateDownstream(nodeId),
|
|
1192
|
-
getInput: (handle) => effectiveInputs[handle],
|
|
1193
|
-
environment: this.environment,
|
|
1194
|
-
runId: `${nodeId}:external`,
|
|
1195
|
-
abortSignal: ctrl.signal,
|
|
1196
|
-
createAbortController: () => new AbortController(),
|
|
1197
|
-
reportProgress: (p) => {
|
|
1198
|
-
node.stats.progress = Math.max(0, Math.min(1, Number(p) || 0));
|
|
1199
|
-
},
|
|
1200
|
-
};
|
|
1201
1186
|
// Built-in support: invalidate event reruns or re-emits without per-node wiring
|
|
1202
1187
|
if (event &&
|
|
1203
1188
|
typeof event === "object" &&
|
|
@@ -1208,7 +1193,7 @@ class GraphRuntime {
|
|
|
1208
1193
|
this.invalidateDownstream(nodeId);
|
|
1209
1194
|
}
|
|
1210
1195
|
else {
|
|
1211
|
-
node.runtime.onExternalEvent?.(event,
|
|
1196
|
+
node.runtime.onExternalEvent?.(event, node.state);
|
|
1212
1197
|
}
|
|
1213
1198
|
}
|
|
1214
1199
|
dispose() {
|
|
@@ -1426,24 +1411,11 @@ class GraphRuntime {
|
|
|
1426
1411
|
};
|
|
1427
1412
|
this.nodes.set(n.nodeId, rn);
|
|
1428
1413
|
// Activate new node
|
|
1429
|
-
const ctrl = new AbortController();
|
|
1430
1414
|
const effectiveInputs = this.getEffectiveInputs(rn.nodeId);
|
|
1431
|
-
const
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
invalidateDownstream: () => this.invalidateDownstream(rn.nodeId),
|
|
1436
|
-
getInput: (handle) => effectiveInputs[handle],
|
|
1437
|
-
environment: this.environment,
|
|
1438
|
-
runId: `${rn.nodeId}:activation`,
|
|
1439
|
-
abortSignal: ctrl.signal,
|
|
1440
|
-
createAbortController: () => new AbortController(),
|
|
1441
|
-
};
|
|
1442
|
-
rn.lifecycle?.init?.(rn.params ?? {}, {
|
|
1443
|
-
state: rn.state,
|
|
1444
|
-
setState: (next) => Object.assign(rn.state, next),
|
|
1445
|
-
});
|
|
1446
|
-
rn.runtime.onActivated?.(ctx);
|
|
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);
|
|
1418
|
+
rn.runtime.onActivated?.();
|
|
1447
1419
|
}
|
|
1448
1420
|
else {
|
|
1449
1421
|
// update params/policy and initialInputs
|
|
@@ -2086,13 +2058,13 @@ const ComputeCategory = {
|
|
|
2086
2058
|
ctx.emit(h, v);
|
|
2087
2059
|
}
|
|
2088
2060
|
},
|
|
2089
|
-
onExternalEvent(event,
|
|
2061
|
+
onExternalEvent(event, state) {
|
|
2090
2062
|
try {
|
|
2091
2063
|
const e = event;
|
|
2092
|
-
// Preferred: call a function on
|
|
2064
|
+
// Preferred: call a function on state keyed by e.action
|
|
2093
2065
|
const action = e?.action;
|
|
2094
|
-
if (action && typeof
|
|
2095
|
-
const fn =
|
|
2066
|
+
if (action && typeof state?.[action] === "function") {
|
|
2067
|
+
const fn = state[action];
|
|
2096
2068
|
// Normalize args: prefer explicit args array, else wrap single value;
|
|
2097
2069
|
let args = [];
|
|
2098
2070
|
if (Array.isArray(e?.args))
|