@bian-womp/spark-graph 0.2.44 → 0.2.46
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 +19 -88
- 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 +3 -4
- 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.map +1 -1
- package/lib/esm/index.js +19 -88
- 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 +3 -4
- 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.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,12 @@ 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;
|
|
25
24
|
reportProgress?: (value: number) => void;
|
|
26
25
|
}
|
|
27
26
|
/**
|
|
@@ -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":"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,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IAEzB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GACxE,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,IAAI,IAAI,IAAI,SAAS,CACpD,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,gBAAgB,CAAC,MAAM,KAAK,CAAC,KAC/B,GAAG,GACJ,KAAK,GACL,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,IAAI,IAAI,IAAI,SAAS,CACrD,MAAM,EAAE,MAAM,CAAC,EACf,GAAG,EAAE,GAAG,KACL,GAAG,GACJ,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI;IAC1C,YAAY,EAAE,UAAU,CAAC;IACzB,aAAa,EAAE,CAAC,CAAC;CAClB,CAAC;AAEF,wBAAgB,KAAK,CAAC,CAAC,GAAG,OAAO,EAC/B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,CAAC,GACP,gBAAgB,CAAC,CAAC,CAAC,CAErB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAMxE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAGvE;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAGvD;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,EACzD,MAAM,EAAE,QAAQ,GACf,UAAU,GAAG,SAAS,CAIxB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,EACzD,MAAM,EAAE,QAAQ,GACf,OAAO,CAGT;AAGD,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGjE,KAAK,UAAU,CAAC,IAAI,EAAE,KAAK,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,KAAK,GACnE,KAAK,GACL,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAE/B,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,MAAM,CACtD,MAAM,EACN,qBAAqB,CACtB,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,GAAG,MAAM,CAC1D,MAAM,EACN,UAAU,GAAG,UAAU,EAAE,CAC1B,EACD,KAAK,GAAG,OAAO,EACf,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAC9D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,KACzB,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7E,EAAE,EAAE,UAAU,CAAC;IACf,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IAEX,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAGlC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE;QACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,KAAK,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAEnE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,CACL,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KACtC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;KAC/D,CAAC;CACH"}
|
|
@@ -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"}
|
|
@@ -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;
|
|
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
|
@@ -681,6 +681,9 @@ class GraphRuntime {
|
|
|
681
681
|
}
|
|
682
682
|
const ctx = {
|
|
683
683
|
state: node.state,
|
|
684
|
+
environment: this.environment,
|
|
685
|
+
runId,
|
|
686
|
+
abortSignal: controller.signal,
|
|
684
687
|
setState: (next) => Object.assign(node.state, next),
|
|
685
688
|
emit: (handle, value) => {
|
|
686
689
|
const m = policy.asyncConcurrency ?? "switch";
|
|
@@ -689,11 +692,11 @@ class GraphRuntime {
|
|
|
689
692
|
this.propagate(nodeId, handle, value);
|
|
690
693
|
},
|
|
691
694
|
invalidateDownstream: () => this.invalidateDownstream(nodeId),
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
695
|
+
scheduleInputsChanged: () => {
|
|
696
|
+
if (this.allInboundHaveValue(nodeId)) {
|
|
697
|
+
this.scheduleInputsChanged(nodeId);
|
|
698
|
+
}
|
|
699
|
+
},
|
|
697
700
|
reportProgress: (p) => {
|
|
698
701
|
node.stats.progress = Math.max(0, Math.min(1, Number(p) || 0));
|
|
699
702
|
this.emit("stats", {
|
|
@@ -844,10 +847,7 @@ class GraphRuntime {
|
|
|
844
847
|
if (dynamicHandles.has(handle))
|
|
845
848
|
continue; // Skip defaults for dynamic handles
|
|
846
849
|
// Clone to avoid shared references
|
|
847
|
-
effective[handle] =
|
|
848
|
-
typeof structuredClone === "function"
|
|
849
|
-
? structuredClone(defaultValue)
|
|
850
|
-
: JSON.parse(JSON.stringify(defaultValue));
|
|
850
|
+
effective[handle] = structuredClone(defaultValue);
|
|
851
851
|
}
|
|
852
852
|
return effective;
|
|
853
853
|
}
|
|
@@ -1151,27 +1151,11 @@ class GraphRuntime {
|
|
|
1151
1151
|
launch(invalidate = false) {
|
|
1152
1152
|
// call onActivated for nodes that implement it
|
|
1153
1153
|
for (const node of this.nodes.values()) {
|
|
1154
|
-
const ctrl = new AbortController();
|
|
1155
|
-
const effectiveInputs = this.getEffectiveInputs(node.nodeId);
|
|
1156
|
-
const ctx = {
|
|
1157
|
-
state: node.state,
|
|
1158
|
-
setState: (next) => Object.assign(node.state, next),
|
|
1159
|
-
emit: (handle, value) => this.propagate(node.nodeId, handle, value),
|
|
1160
|
-
invalidateDownstream: () => this.invalidateDownstream(node.nodeId),
|
|
1161
|
-
getInput: (handle) => effectiveInputs[handle],
|
|
1162
|
-
environment: this.environment,
|
|
1163
|
-
runId: `${node.nodeId}:activation`,
|
|
1164
|
-
abortSignal: ctrl.signal,
|
|
1165
|
-
createAbortController: () => new AbortController(),
|
|
1166
|
-
reportProgress: (p) => {
|
|
1167
|
-
node.stats.progress = Math.max(0, Math.min(1, Number(p) || 0));
|
|
1168
|
-
},
|
|
1169
|
-
};
|
|
1170
1154
|
node.lifecycle?.init?.(node.params ?? {}, {
|
|
1171
1155
|
state: node.state,
|
|
1172
1156
|
setState: (next) => Object.assign(node.state, next),
|
|
1173
1157
|
});
|
|
1174
|
-
node.runtime.onActivated?.(
|
|
1158
|
+
node.runtime.onActivated?.();
|
|
1175
1159
|
}
|
|
1176
1160
|
if (invalidate) {
|
|
1177
1161
|
// After activation, schedule nodes that have all inbound inputs present
|
|
@@ -1185,22 +1169,6 @@ class GraphRuntime {
|
|
|
1185
1169
|
const node = this.nodes.get(nodeId);
|
|
1186
1170
|
if (!node)
|
|
1187
1171
|
return;
|
|
1188
|
-
const ctrl = new AbortController();
|
|
1189
|
-
const effectiveInputs = this.getEffectiveInputs(nodeId);
|
|
1190
|
-
const ctx = {
|
|
1191
|
-
state: node.state,
|
|
1192
|
-
setState: (next) => Object.assign(node.state, next),
|
|
1193
|
-
emit: (handle, value) => this.propagate(nodeId, handle, value),
|
|
1194
|
-
invalidateDownstream: () => this.invalidateDownstream(nodeId),
|
|
1195
|
-
getInput: (handle) => effectiveInputs[handle],
|
|
1196
|
-
environment: this.environment,
|
|
1197
|
-
runId: `${nodeId}:external`,
|
|
1198
|
-
abortSignal: ctrl.signal,
|
|
1199
|
-
createAbortController: () => new AbortController(),
|
|
1200
|
-
reportProgress: (p) => {
|
|
1201
|
-
node.stats.progress = Math.max(0, Math.min(1, Number(p) || 0));
|
|
1202
|
-
},
|
|
1203
|
-
};
|
|
1204
1172
|
// Built-in support: invalidate event reruns or re-emits without per-node wiring
|
|
1205
1173
|
if (event &&
|
|
1206
1174
|
typeof event === "object" &&
|
|
@@ -1211,7 +1179,7 @@ class GraphRuntime {
|
|
|
1211
1179
|
this.invalidateDownstream(nodeId);
|
|
1212
1180
|
}
|
|
1213
1181
|
else {
|
|
1214
|
-
node.runtime.onExternalEvent?.(event,
|
|
1182
|
+
node.runtime.onExternalEvent?.(event, node.state);
|
|
1215
1183
|
}
|
|
1216
1184
|
}
|
|
1217
1185
|
dispose() {
|
|
@@ -1264,10 +1232,7 @@ class GraphRuntime {
|
|
|
1264
1232
|
const hasInbound = this.edges.some((e) => e.target.nodeId === n.nodeId && e.target.handle === handle);
|
|
1265
1233
|
if (!hasInbound && value !== undefined) {
|
|
1266
1234
|
// Clone to avoid shared references
|
|
1267
|
-
initialInputs[handle] =
|
|
1268
|
-
typeof structuredClone === "function"
|
|
1269
|
-
? structuredClone(value)
|
|
1270
|
-
: JSON.parse(JSON.stringify(value));
|
|
1235
|
+
initialInputs[handle] = structuredClone(value);
|
|
1271
1236
|
}
|
|
1272
1237
|
}
|
|
1273
1238
|
return {
|
|
@@ -1326,30 +1291,12 @@ class GraphRuntime {
|
|
|
1326
1291
|
this.paused = true;
|
|
1327
1292
|
try {
|
|
1328
1293
|
const ins = payload?.inputs || {};
|
|
1329
|
-
const outsPayload = payload?.outputs || {};
|
|
1330
1294
|
for (const [nodeId, map] of Object.entries(ins)) {
|
|
1331
1295
|
const node = this.nodes.get(nodeId);
|
|
1332
1296
|
if (!node)
|
|
1333
1297
|
continue;
|
|
1334
1298
|
for (const [h, v] of Object.entries(map || {})) {
|
|
1335
|
-
|
|
1336
|
-
// Fallback: if not all upstream output values are present in the snapshot, hydrate the saved input
|
|
1337
|
-
// so the initial view matches last saved state (important for array inputs with multiple edges).
|
|
1338
|
-
const inboundEdges = this.edges.filter((e) => e.target.nodeId === nodeId && e.target.handle === h);
|
|
1339
|
-
if (inboundEdges.length > 0) {
|
|
1340
|
-
// Check if ALL upstream outputs exist in snapshot (required for correct array input restoration)
|
|
1341
|
-
const allUpstreamOutputsExist = inboundEdges.every((e) => {
|
|
1342
|
-
const srcMap = outsPayload[e.source.nodeId] || {};
|
|
1343
|
-
return Object.prototype.hasOwnProperty.call(srcMap, e.source.handle);
|
|
1344
|
-
});
|
|
1345
|
-
// Only skip input hydration if all upstream outputs are present (re-emit will populate correctly)
|
|
1346
|
-
if (allUpstreamOutputsExist)
|
|
1347
|
-
continue;
|
|
1348
|
-
}
|
|
1349
|
-
node.inputs[h] =
|
|
1350
|
-
typeof structuredClone === "function"
|
|
1351
|
-
? structuredClone(v)
|
|
1352
|
-
: JSON.parse(JSON.stringify(v));
|
|
1299
|
+
node.inputs[h] = structuredClone(v);
|
|
1353
1300
|
// emit input value event
|
|
1354
1301
|
this.emit("value", {
|
|
1355
1302
|
nodeId,
|
|
@@ -1366,10 +1313,7 @@ class GraphRuntime {
|
|
|
1366
1313
|
if (!node)
|
|
1367
1314
|
continue;
|
|
1368
1315
|
for (const [h, v] of Object.entries(map || {})) {
|
|
1369
|
-
node.outputs[h] =
|
|
1370
|
-
typeof structuredClone === "function"
|
|
1371
|
-
? structuredClone(v)
|
|
1372
|
-
: JSON.parse(JSON.stringify(v));
|
|
1316
|
+
node.outputs[h] = structuredClone(v);
|
|
1373
1317
|
// emit output value event
|
|
1374
1318
|
this.emit("value", {
|
|
1375
1319
|
nodeId,
|
|
@@ -1453,24 +1397,11 @@ class GraphRuntime {
|
|
|
1453
1397
|
};
|
|
1454
1398
|
this.nodes.set(n.nodeId, rn);
|
|
1455
1399
|
// Activate new node
|
|
1456
|
-
const ctrl = new AbortController();
|
|
1457
|
-
const effectiveInputs = this.getEffectiveInputs(rn.nodeId);
|
|
1458
|
-
const ctx = {
|
|
1459
|
-
state: rn.state,
|
|
1460
|
-
setState: (next) => Object.assign(rn.state, next),
|
|
1461
|
-
emit: (handle, value) => this.propagate(rn.nodeId, handle, value),
|
|
1462
|
-
invalidateDownstream: () => this.invalidateDownstream(rn.nodeId),
|
|
1463
|
-
getInput: (handle) => effectiveInputs[handle],
|
|
1464
|
-
environment: this.environment,
|
|
1465
|
-
runId: `${rn.nodeId}:activation`,
|
|
1466
|
-
abortSignal: ctrl.signal,
|
|
1467
|
-
createAbortController: () => new AbortController(),
|
|
1468
|
-
};
|
|
1469
1400
|
rn.lifecycle?.init?.(rn.params ?? {}, {
|
|
1470
1401
|
state: rn.state,
|
|
1471
1402
|
setState: (next) => Object.assign(rn.state, next),
|
|
1472
1403
|
});
|
|
1473
|
-
rn.runtime.onActivated?.(
|
|
1404
|
+
rn.runtime.onActivated?.();
|
|
1474
1405
|
}
|
|
1475
1406
|
else {
|
|
1476
1407
|
// update params/policy and initialInputs
|
|
@@ -2113,13 +2044,13 @@ const ComputeCategory = {
|
|
|
2113
2044
|
ctx.emit(h, v);
|
|
2114
2045
|
}
|
|
2115
2046
|
},
|
|
2116
|
-
onExternalEvent(event,
|
|
2047
|
+
onExternalEvent(event, state) {
|
|
2117
2048
|
try {
|
|
2118
2049
|
const e = event;
|
|
2119
|
-
// Preferred: call a function on
|
|
2050
|
+
// Preferred: call a function on state keyed by e.action
|
|
2120
2051
|
const action = e?.action;
|
|
2121
|
-
if (action && typeof
|
|
2122
|
-
const fn =
|
|
2052
|
+
if (action && typeof state?.[action] === "function") {
|
|
2053
|
+
const fn = state[action];
|
|
2123
2054
|
// Normalize args: prefer explicit args array, else wrap single value;
|
|
2124
2055
|
let args = [];
|
|
2125
2056
|
if (Array.isArray(e?.args))
|