@bian-womp/spark-graph 0.3.73 → 0.3.75
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 +161 -83
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/core/types.d.ts +2 -0
- package/lib/cjs/src/core/types.d.ts.map +1 -1
- package/lib/cjs/src/runtime/GraphRuntime.d.ts +2 -2
- package/lib/cjs/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/cjs/src/runtime/components/EdgePropagator.d.ts.map +1 -1
- package/lib/cjs/src/runtime/components/NodeExecutor.d.ts.map +1 -1
- package/lib/cjs/src/runtime/components/RunContextManager.d.ts +6 -0
- package/lib/cjs/src/runtime/components/RunContextManager.d.ts.map +1 -1
- package/lib/esm/index.js +161 -83
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/core/types.d.ts +2 -0
- package/lib/esm/src/core/types.d.ts.map +1 -1
- package/lib/esm/src/runtime/GraphRuntime.d.ts +2 -2
- package/lib/esm/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/esm/src/runtime/components/EdgePropagator.d.ts.map +1 -1
- package/lib/esm/src/runtime/components/NodeExecutor.d.ts.map +1 -1
- package/lib/esm/src/runtime/components/RunContextManager.d.ts +6 -0
- package/lib/esm/src/runtime/components/RunContextManager.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -10,9 +10,11 @@ export interface DataTypeDescriptor<T = unknown> {
|
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
export type InvalidateReason = "input-changed" | "dependency-changed" | "manual" | "disposed";
|
|
13
|
+
export type NodeDisposeReason = "node-removed" | "runtime-dispose" | "runtime-rebuild" | "adapter-dispose";
|
|
13
14
|
export interface NodeContext<State> {
|
|
14
15
|
state: State;
|
|
15
16
|
setState(next: Partial<State>): void;
|
|
17
|
+
disposeReason?: NodeDisposeReason;
|
|
16
18
|
}
|
|
17
19
|
export interface ExecutionContext<State> extends NodeContext<State> {
|
|
18
20
|
nodeId: string;
|
|
@@ -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,EACf,QAAQ,EACT,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,GAAG,eAAe,GAAG,oBAAoB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9F,MAAM,WAAW,WAAW,CAAC,KAAK;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;
|
|
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 { RuntimeValue, RuntimeInvalidate, RuntimeError, RuntimeStats, GraphDefinition, RunMode } from "@bian-womp/spark-protocol";
|
|
2
|
-
import type { RuntimeNodeStats } from "../core/types";
|
|
2
|
+
import type { NodeDisposeReason, RuntimeNodeStats } from "../core/types";
|
|
3
3
|
import { Registry } from "../builder/Registry";
|
|
4
4
|
import type { INodeExecutor, IRuntime, IEdgePropagator, RuntimeValidator, RuntimeValidationError } from "./components/interfaces";
|
|
5
5
|
import type { RunContextId, RuntimeEdge } from "./components/types";
|
|
@@ -91,7 +91,7 @@ export declare class GraphRuntime implements IRuntime, INodeExecutor, IEdgePropa
|
|
|
91
91
|
invalidate?: boolean;
|
|
92
92
|
}): void;
|
|
93
93
|
update(def: GraphDefinition, registry: Registry): void;
|
|
94
|
-
dispose(): void;
|
|
94
|
+
dispose(reason?: NodeDisposeReason): void;
|
|
95
95
|
execute(nodeId: string, opts?: {
|
|
96
96
|
runContextIds?: Set<RunContextId>;
|
|
97
97
|
canSkipHandleResolution?: boolean;
|
|
@@ -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,EAEZ,eAAe,EAGf,OAAO,EACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,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":"EdgePropagator.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/EdgePropagator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,SAAS,CAAC;AACzD,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,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExE;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;IAIlD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,iBAAiB,CAA0D;gBAGhE,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,QAAQ;IAGpC;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAgBlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkD7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgDrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"EdgePropagator.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/EdgePropagator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,SAAS,CAAC;AACzD,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,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExE;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;IAIlD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,iBAAiB,CAA0D;gBAGhE,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,QAAQ;IAGpC;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAgBlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkD7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgDrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgBjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI;IAiBxG;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkB1C;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAG7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeExecutor.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/NodeExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAC;AAC3D,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;AAC7D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKzF;;GAEG;AACH,qBAAa,YAAa,YAAW,aAAa;IAK9C,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,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,cAAc,CAA+C;gBAGlD,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,eAAe,EAC/B,cAAc,EAAE,eAAe,EAC/B,OAAO,EAAE,QAAQ,EAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKvC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI1D,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAIhF;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAM3D;;OAEG;IACH,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,EACxB,aAAa,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,EACjC,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;KACtC,GACA,gBAAgB,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeExecutor.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/NodeExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface RunContext {
|
|
|
5
5
|
id: RunContextId;
|
|
6
6
|
startNodes: Set<string>;
|
|
7
7
|
cancelledNodes: Set<string>;
|
|
8
|
+
pendingScheduling: number;
|
|
8
9
|
pendingNodes: number;
|
|
9
10
|
pendingEdges: number;
|
|
10
11
|
pendingResolvers: number;
|
|
@@ -46,6 +47,11 @@ export declare class RunContextManager {
|
|
|
46
47
|
* Check if there are any active run-contexts
|
|
47
48
|
*/
|
|
48
49
|
hasActiveRunContexts(): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Release one scheduling hold from a run-context.
|
|
52
|
+
* Must be called once by the creator when scheduling decisions are complete.
|
|
53
|
+
*/
|
|
54
|
+
releaseScheduling(id: RunContextId): void;
|
|
49
55
|
/**
|
|
50
56
|
* Increment queued work count for a run-context.
|
|
51
57
|
* Used by asyncConcurrency: "queue" to keep contexts alive while work is queued.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunContextManager.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/RunContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,YAAY,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAGlB,KAAK,EAAE,KAAK,EAC7B,QAAQ,CAAC,EAAE,QAAQ;IAMrB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIrC;;OAEG;IACH,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GACA,YAAY;
|
|
1
|
+
{"version":3,"file":"RunContextManager.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/components/RunContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,YAAY,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAGlB,KAAK,EAAE,KAAK,EAC7B,QAAQ,CAAC,EAAE,QAAQ;IAMrB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIrC;;OAEG;IACH,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GACA,YAAY;IAyBf;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS;IAIvD;;OAEG;IACH,iBAAiB,IAAI,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;IAIlD;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAuBzC;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBvD;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBvD,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBpD,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBrD,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiB3D,oBAAoB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkB5D,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiB7D,sBAAsB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkB9D;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiClC;;;;;;OAMG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI;IA0CzE;;OAEG;IACH,UAAU,IAAI,IAAI;IAWlB;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1682,6 +1682,7 @@ class RunContextManager {
|
|
|
1682
1682
|
id,
|
|
1683
1683
|
startNodes: new Set([startNodeId]),
|
|
1684
1684
|
cancelledNodes: new Set(),
|
|
1685
|
+
pendingScheduling: 1,
|
|
1685
1686
|
pendingNodes: 0,
|
|
1686
1687
|
pendingEdges: 0,
|
|
1687
1688
|
pendingResolvers: 0,
|
|
@@ -1717,6 +1718,33 @@ class RunContextManager {
|
|
|
1717
1718
|
hasActiveRunContexts() {
|
|
1718
1719
|
return this.runContexts.size > 0;
|
|
1719
1720
|
}
|
|
1721
|
+
/**
|
|
1722
|
+
* Release one scheduling hold from a run-context.
|
|
1723
|
+
* Must be called once by the creator when scheduling decisions are complete.
|
|
1724
|
+
*/
|
|
1725
|
+
releaseScheduling(id) {
|
|
1726
|
+
const ctx = this.runContexts.get(id);
|
|
1727
|
+
if (!ctx) {
|
|
1728
|
+
this.logger.debug("release-scheduling-context-not-found", {
|
|
1729
|
+
runContextId: id,
|
|
1730
|
+
});
|
|
1731
|
+
return;
|
|
1732
|
+
}
|
|
1733
|
+
if (ctx.pendingScheduling > 0) {
|
|
1734
|
+
ctx.pendingScheduling--;
|
|
1735
|
+
}
|
|
1736
|
+
else {
|
|
1737
|
+
this.logger.warn("release-scheduling-underflow", {
|
|
1738
|
+
runContextId: id,
|
|
1739
|
+
pendingScheduling: ctx.pendingScheduling,
|
|
1740
|
+
});
|
|
1741
|
+
}
|
|
1742
|
+
this.logger.debug("release-scheduling", {
|
|
1743
|
+
runContextId: id,
|
|
1744
|
+
pendingScheduling: ctx.pendingScheduling,
|
|
1745
|
+
});
|
|
1746
|
+
this.finishRunContextIfPossible(id);
|
|
1747
|
+
}
|
|
1720
1748
|
/**
|
|
1721
1749
|
* Increment queued work count for a run-context.
|
|
1722
1750
|
* Used by asyncConcurrency: "queue" to keep contexts alive while work is queued.
|
|
@@ -1868,7 +1896,11 @@ class RunContextManager {
|
|
|
1868
1896
|
});
|
|
1869
1897
|
return;
|
|
1870
1898
|
}
|
|
1871
|
-
if (ctx.
|
|
1899
|
+
if (ctx.pendingScheduling > 0 ||
|
|
1900
|
+
ctx.pendingNodes > 0 ||
|
|
1901
|
+
ctx.pendingEdges > 0 ||
|
|
1902
|
+
ctx.pendingResolvers > 0 ||
|
|
1903
|
+
ctx.pendingQueued > 0) {
|
|
1872
1904
|
return; // Still has pending work
|
|
1873
1905
|
}
|
|
1874
1906
|
this.logger.info("finish-run-context", {
|
|
@@ -2787,7 +2819,10 @@ class EdgePropagator {
|
|
|
2787
2819
|
*/
|
|
2788
2820
|
shouldPropagateExecution(effectiveRunContexts) {
|
|
2789
2821
|
if (!effectiveRunContexts) {
|
|
2790
|
-
|
|
2822
|
+
// Without run-context IDs, only auto mode should schedule downstream execution.
|
|
2823
|
+
// In manual mode this path is used for value refresh/re-emits (e.g. handle updates),
|
|
2824
|
+
// and should not implicitly trigger node runs.
|
|
2825
|
+
return this.runtime.getRunMode() === "auto";
|
|
2791
2826
|
}
|
|
2792
2827
|
// Check propagate flag (only in run-context mode)
|
|
2793
2828
|
for (const id of effectiveRunContexts) {
|
|
@@ -2978,13 +3013,22 @@ class NodeExecutor {
|
|
|
2978
3013
|
execute: (opts) => {
|
|
2979
3014
|
if (this.graph.allInboundHaveValue(nodeId)) {
|
|
2980
3015
|
let runContextIdsToUse = this.runtime.getRunMode() === "auto" ? undefined : runContextIds;
|
|
3016
|
+
let runContextIdToRelease;
|
|
2981
3017
|
if (this.runtime.getRunMode() === "manual" && (!runContextIds || runContextIds.size === 0)) {
|
|
2982
|
-
|
|
3018
|
+
runContextIdToRelease = this.runContextManager.createRunContext(nodeId, opts);
|
|
3019
|
+
runContextIdsToUse = new Set([runContextIdToRelease]);
|
|
3020
|
+
}
|
|
3021
|
+
try {
|
|
3022
|
+
this.execute(nodeId, {
|
|
3023
|
+
runContextIds: runContextIdsToUse,
|
|
3024
|
+
reason: opts?.reason ?? "executeFromContext",
|
|
3025
|
+
});
|
|
3026
|
+
}
|
|
3027
|
+
finally {
|
|
3028
|
+
if (runContextIdToRelease) {
|
|
3029
|
+
this.runContextManager.releaseScheduling(runContextIdToRelease);
|
|
3030
|
+
}
|
|
2983
3031
|
}
|
|
2984
|
-
this.execute(nodeId, {
|
|
2985
|
-
runContextIds: runContextIdsToUse,
|
|
2986
|
-
reason: opts?.reason ?? "executeFromContext",
|
|
2987
|
-
});
|
|
2988
3032
|
}
|
|
2989
3033
|
},
|
|
2990
3034
|
getInput: (handle) => inputs[handle],
|
|
@@ -3010,6 +3054,7 @@ class NodeExecutor {
|
|
|
3010
3054
|
*/
|
|
3011
3055
|
execute(nodeId, opts) {
|
|
3012
3056
|
let { runContextIds, canSkipHandleResolution, reason = "" } = opts ?? {};
|
|
3057
|
+
let autoCreatedRunContextId;
|
|
3013
3058
|
const node = this.graph.getNode(nodeId);
|
|
3014
3059
|
if (!node)
|
|
3015
3060
|
return;
|
|
@@ -3022,81 +3067,89 @@ class NodeExecutor {
|
|
|
3022
3067
|
if (runMode === "manual" && (!runContextIds || runContextIds.size === 0)) {
|
|
3023
3068
|
// If autoRun is true, auto-generate a run context (similar to createExecutionContext pattern)
|
|
3024
3069
|
if (node.policy?.autoRun === true) {
|
|
3025
|
-
|
|
3070
|
+
autoCreatedRunContextId = this.runContextManager.createRunContext(nodeId, { propagate: false });
|
|
3071
|
+
runContextIds = new Set([autoCreatedRunContextId]);
|
|
3026
3072
|
}
|
|
3027
3073
|
else {
|
|
3028
3074
|
console.trace(`NodeExecutor.execute[${formatNodeRef(this.graph, nodeId)}:${reason}]: no runContextIds provided in manual mode, skipping execution`);
|
|
3029
3075
|
return;
|
|
3030
3076
|
}
|
|
3031
3077
|
}
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
// Early validation for auto-mode paused state
|
|
3037
|
-
if (this.runtime.isPaused())
|
|
3038
|
-
return;
|
|
3039
|
-
// Check runtime validators (check current state, not just graph definition)
|
|
3040
|
-
const runtimeValidationError = this.runtime.hasRuntimeValidationBlock(nodeId);
|
|
3041
|
-
if (runtimeValidationError) {
|
|
3042
|
-
this.eventEmitter.emit("error", {
|
|
3043
|
-
kind: "system",
|
|
3044
|
-
message: runtimeValidationError.message,
|
|
3045
|
-
code: runtimeValidationError.code || "RUNTIME_VALIDATION_BLOCKED",
|
|
3046
|
-
details: {
|
|
3047
|
-
nodeId,
|
|
3048
|
-
nodeTypeId: node?.typeId,
|
|
3049
|
-
...runtimeValidationError.details,
|
|
3050
|
-
},
|
|
3051
|
-
});
|
|
3052
|
-
return;
|
|
3053
|
-
}
|
|
3054
|
-
// Attach run-context IDs if provided - do this BEFORE checking for pending resolution
|
|
3055
|
-
// so that handle resolution can track these run contexts
|
|
3056
|
-
if (runContextIds) {
|
|
3057
|
-
this.graph.addNodeRunContextIds(nodeId, runContextIds);
|
|
3058
|
-
}
|
|
3059
|
-
if (!canSkipHandleResolution && !this.handleResolver.getPendingResolution(nodeId)) {
|
|
3060
|
-
this.handleResolver.scheduleRecomputeHandles(nodeId);
|
|
3061
|
-
}
|
|
3062
|
-
// Check if handles are being resolved - wait for resolution before executing
|
|
3063
|
-
// Do this AFTER setting up run contexts so handle resolution can track them
|
|
3064
|
-
const pendingResolution = this.handleResolver.getPendingResolution(nodeId);
|
|
3065
|
-
if (pendingResolution) {
|
|
3066
|
-
if (runContextIds && runContextIds.size > 0) {
|
|
3067
|
-
for (const id of runContextIds) {
|
|
3068
|
-
this.runContextManager.startHandleResolution(id, nodeId);
|
|
3069
|
-
}
|
|
3078
|
+
try {
|
|
3079
|
+
if (runMode === "auto" && runContextIds && runContextIds.size > 0) {
|
|
3080
|
+
console.trace(`NodeExecutor.execute[${formatNodeRef(this.graph, nodeId)}:${reason}]: runContextIds provided in auto mode, ignoring`);
|
|
3081
|
+
runContextIds = undefined;
|
|
3070
3082
|
}
|
|
3071
|
-
//
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3083
|
+
// Early validation for auto-mode paused state
|
|
3084
|
+
if (this.runtime.isPaused())
|
|
3085
|
+
return;
|
|
3086
|
+
// Check runtime validators (check current state, not just graph definition)
|
|
3087
|
+
const runtimeValidationError = this.runtime.hasRuntimeValidationBlock(nodeId);
|
|
3088
|
+
if (runtimeValidationError) {
|
|
3089
|
+
this.eventEmitter.emit("error", {
|
|
3090
|
+
kind: "system",
|
|
3091
|
+
message: runtimeValidationError.message,
|
|
3092
|
+
code: runtimeValidationError.code || "RUNTIME_VALIDATION_BLOCKED",
|
|
3093
|
+
details: {
|
|
3094
|
+
nodeId,
|
|
3095
|
+
nodeTypeId: node?.typeId,
|
|
3096
|
+
...runtimeValidationError.details,
|
|
3097
|
+
},
|
|
3098
|
+
});
|
|
3099
|
+
return;
|
|
3100
|
+
}
|
|
3101
|
+
// Attach run-context IDs if provided - do this BEFORE checking for pending resolution
|
|
3102
|
+
// so that handle resolution can track these run contexts
|
|
3103
|
+
if (runContextIds) {
|
|
3104
|
+
this.graph.addNodeRunContextIds(nodeId, runContextIds);
|
|
3105
|
+
}
|
|
3106
|
+
if (!canSkipHandleResolution && !this.handleResolver.getPendingResolution(nodeId)) {
|
|
3107
|
+
this.handleResolver.scheduleRecomputeHandles(nodeId);
|
|
3108
|
+
}
|
|
3109
|
+
// Check if handles are being resolved - wait for resolution before executing
|
|
3110
|
+
// Do this AFTER setting up run contexts so handle resolution can track them
|
|
3111
|
+
const pendingResolution = this.handleResolver.getPendingResolution(nodeId);
|
|
3112
|
+
if (pendingResolution) {
|
|
3082
3113
|
if (runContextIds && runContextIds.size > 0) {
|
|
3083
3114
|
for (const id of runContextIds) {
|
|
3084
|
-
this.runContextManager.
|
|
3115
|
+
this.runContextManager.startHandleResolution(id, nodeId);
|
|
3085
3116
|
}
|
|
3086
3117
|
}
|
|
3087
|
-
|
|
3088
|
-
|
|
3118
|
+
// Wait for resolution to complete, then re-execute
|
|
3119
|
+
pendingResolution.then(() => {
|
|
3120
|
+
// Re-check node still exists and conditions
|
|
3121
|
+
const nodeAfter = this.graph.getNode(nodeId);
|
|
3122
|
+
if (nodeAfter) {
|
|
3123
|
+
this.execute(nodeId, {
|
|
3124
|
+
runContextIds,
|
|
3125
|
+
canSkipHandleResolution: true,
|
|
3126
|
+
reason: opts?.reason,
|
|
3127
|
+
});
|
|
3128
|
+
}
|
|
3129
|
+
if (runContextIds && runContextIds.size > 0) {
|
|
3130
|
+
for (const id of runContextIds) {
|
|
3131
|
+
this.runContextManager.finishHandleResolution(id, nodeId);
|
|
3132
|
+
}
|
|
3133
|
+
}
|
|
3134
|
+
});
|
|
3135
|
+
return;
|
|
3136
|
+
}
|
|
3137
|
+
// Handle debouncing
|
|
3138
|
+
const now = Date.now();
|
|
3139
|
+
if (this.shouldDebounce(nodeId, now)) {
|
|
3140
|
+
this.handleDebouncedSchedule(nodeId, now, runContextIds, reason);
|
|
3141
|
+
return;
|
|
3142
|
+
}
|
|
3143
|
+
// Prepare execution plan
|
|
3144
|
+
const executionPlan = this.prepareExecutionPlan(nodeId, runContextIds, now, reason);
|
|
3145
|
+
// Route to appropriate concurrency handler
|
|
3146
|
+
this.routeToConcurrencyHandler(nodeId, executionPlan);
|
|
3089
3147
|
}
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
return;
|
|
3148
|
+
finally {
|
|
3149
|
+
if (autoCreatedRunContextId) {
|
|
3150
|
+
this.runContextManager.releaseScheduling(autoCreatedRunContextId);
|
|
3151
|
+
}
|
|
3095
3152
|
}
|
|
3096
|
-
// Prepare execution plan
|
|
3097
|
-
const executionPlan = this.prepareExecutionPlan(nodeId, runContextIds, now, reason);
|
|
3098
|
-
// Route to appropriate concurrency handler
|
|
3099
|
-
this.routeToConcurrencyHandler(nodeId, executionPlan);
|
|
3100
3153
|
}
|
|
3101
3154
|
/**
|
|
3102
3155
|
* Check if execution should be debounced
|
|
@@ -3714,16 +3767,26 @@ class GraphRuntime {
|
|
|
3714
3767
|
executeNodeAutoRun(nodeId, opts) {
|
|
3715
3768
|
const node = this.graph.getNode(nodeId);
|
|
3716
3769
|
const shouldAutoRun = this.runMode === "auto" || node?.policy?.autoRun === true;
|
|
3770
|
+
const canExecute = this.graph.allInboundHaveValue(nodeId);
|
|
3771
|
+
if (!shouldAutoRun || !canExecute)
|
|
3772
|
+
return;
|
|
3717
3773
|
let runContextIdsToUse = undefined;
|
|
3774
|
+
let runContextIdToRelease;
|
|
3718
3775
|
if (this.runMode === "manual") {
|
|
3719
|
-
|
|
3776
|
+
runContextIdToRelease = this.runContextManager.createRunContext(nodeId, { propagate: false });
|
|
3777
|
+
runContextIdsToUse = new Set([runContextIdToRelease]);
|
|
3720
3778
|
}
|
|
3721
|
-
|
|
3779
|
+
try {
|
|
3722
3780
|
this.execute(nodeId, {
|
|
3723
3781
|
runContextIds: runContextIdsToUse,
|
|
3724
3782
|
reason: opts?.reason ?? "executeNodeAutoRun",
|
|
3725
3783
|
});
|
|
3726
3784
|
}
|
|
3785
|
+
finally {
|
|
3786
|
+
if (runContextIdToRelease) {
|
|
3787
|
+
this.runContextManager.releaseScheduling(runContextIdToRelease);
|
|
3788
|
+
}
|
|
3789
|
+
}
|
|
3727
3790
|
}
|
|
3728
3791
|
setInputs(nodeId, inputs) {
|
|
3729
3792
|
const node = this.graph.getNode(nodeId);
|
|
@@ -3808,8 +3871,9 @@ class GraphRuntime {
|
|
|
3808
3871
|
});
|
|
3809
3872
|
if (this.runMode === "auto" && invalidate) {
|
|
3810
3873
|
for (const nodeId of this.graph.getNodeIds()) {
|
|
3811
|
-
if (this.graph.allInboundHaveValue(nodeId))
|
|
3874
|
+
if (this.graph.allInboundHaveValue(nodeId)) {
|
|
3812
3875
|
this.execute(nodeId, { reason: "launch" });
|
|
3876
|
+
}
|
|
3813
3877
|
}
|
|
3814
3878
|
}
|
|
3815
3879
|
if (startPaused) {
|
|
@@ -3956,10 +4020,15 @@ class GraphRuntime {
|
|
|
3956
4020
|
...opts,
|
|
3957
4021
|
});
|
|
3958
4022
|
this.graph.addNodeRunContextId(startNodeId, id);
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3962
|
-
|
|
4023
|
+
try {
|
|
4024
|
+
this.execute(startNodeId, {
|
|
4025
|
+
runContextIds: new Set([id]),
|
|
4026
|
+
reason: opts?.reason ?? "runFromHereContext",
|
|
4027
|
+
});
|
|
4028
|
+
}
|
|
4029
|
+
finally {
|
|
4030
|
+
this.runContextManager.releaseScheduling(id);
|
|
4031
|
+
}
|
|
3963
4032
|
});
|
|
3964
4033
|
}
|
|
3965
4034
|
setRunMode(runMode) {
|
|
@@ -4082,6 +4151,7 @@ class GraphRuntime {
|
|
|
4082
4151
|
node.lifecycle?.dispose?.({
|
|
4083
4152
|
state: node.state,
|
|
4084
4153
|
setState: (next) => this.graph.updateNodeState(node.nodeId, next),
|
|
4154
|
+
disposeReason: "node-removed",
|
|
4085
4155
|
});
|
|
4086
4156
|
this.graph.deleteNode(nodeId);
|
|
4087
4157
|
this.edgePropagator.clearArrayBuckets(nodeId);
|
|
@@ -4280,14 +4350,21 @@ class GraphRuntime {
|
|
|
4280
4350
|
const val = this.getOutput(nodeId, handle);
|
|
4281
4351
|
if (val !== undefined) {
|
|
4282
4352
|
let runContextIdsToUse = undefined;
|
|
4353
|
+
let runContextIdToRelease;
|
|
4283
4354
|
if (this.runMode === "manual") {
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
|
|
4355
|
+
runContextIdToRelease = this.runContextManager.createRunContext(nodeId, {
|
|
4356
|
+
propagate: false,
|
|
4357
|
+
});
|
|
4358
|
+
runContextIdsToUse = new Set([runContextIdToRelease]);
|
|
4359
|
+
}
|
|
4360
|
+
try {
|
|
4361
|
+
this.propagate(nodeId, handle, val, runContextIdsToUse);
|
|
4362
|
+
}
|
|
4363
|
+
finally {
|
|
4364
|
+
if (runContextIdToRelease) {
|
|
4365
|
+
this.runContextManager.releaseScheduling(runContextIdToRelease);
|
|
4366
|
+
}
|
|
4289
4367
|
}
|
|
4290
|
-
this.propagate(nodeId, handle, val, runContextIdsToUse);
|
|
4291
4368
|
}
|
|
4292
4369
|
}
|
|
4293
4370
|
}
|
|
@@ -4295,7 +4372,7 @@ class GraphRuntime {
|
|
|
4295
4372
|
}
|
|
4296
4373
|
}
|
|
4297
4374
|
}
|
|
4298
|
-
dispose() {
|
|
4375
|
+
dispose(reason = "runtime-dispose") {
|
|
4299
4376
|
this.runContextManager.resolveAll();
|
|
4300
4377
|
this.graph.forEachNode((node) => {
|
|
4301
4378
|
node.runtime.onDeactivated?.();
|
|
@@ -4303,6 +4380,7 @@ class GraphRuntime {
|
|
|
4303
4380
|
node.lifecycle?.dispose?.({
|
|
4304
4381
|
state: node.state,
|
|
4305
4382
|
setState: (next) => this.graph.updateNodeState(node.nodeId, next),
|
|
4383
|
+
disposeReason: reason,
|
|
4306
4384
|
});
|
|
4307
4385
|
});
|
|
4308
4386
|
this.graph.clear();
|