@bian-womp/spark-graph 0.3.45 → 0.3.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 +14 -15
- 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/runtime/GraphRuntime.d.ts +1 -1
- package/lib/cjs/src/runtime/GraphRuntime.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 +2 -1
- package/lib/cjs/src/runtime/components/RunContextManager.d.ts.map +1 -1
- package/lib/esm/index.js +14 -15
- 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/runtime/GraphRuntime.d.ts +1 -1
- package/lib/esm/src/runtime/GraphRuntime.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 +2 -1
- package/lib/esm/src/runtime/components/RunContextManager.d.ts.map +1 -1
- package/lib/src/builder/GraphBuilder.d.ts +43 -0
- package/lib/src/builder/GraphBuilder.d.ts.map +1 -0
- package/lib/src/builder/GraphBuilder.js +284 -0
- package/lib/src/builder/GraphBuilder.js.map +1 -0
- package/lib/src/builder/Registry.d.ts +93 -0
- package/lib/src/builder/Registry.d.ts.map +1 -0
- package/lib/src/builder/Registry.js +393 -0
- package/lib/src/builder/Registry.js.map +1 -0
- package/lib/src/core/categories.d.ts +22 -0
- package/lib/src/core/categories.d.ts.map +1 -0
- package/lib/src/core/categories.js +2 -0
- package/lib/src/core/categories.js.map +1 -0
- package/lib/src/core/order.d.ts +7 -0
- package/lib/src/core/order.d.ts.map +1 -0
- package/lib/src/core/order.js +66 -0
- package/lib/src/core/order.js.map +1 -0
- package/lib/src/core/type-utils.d.ts +29 -0
- package/lib/src/core/type-utils.d.ts.map +1 -0
- package/lib/src/core/type-utils.js +97 -0
- package/lib/src/core/type-utils.js.map +1 -0
- package/lib/src/core/types.d.ts +92 -0
- package/lib/src/core/types.d.ts.map +1 -0
- package/lib/src/core/types.js +2 -0
- package/lib/src/core/types.js.map +1 -0
- package/lib/src/examples/arrays.d.ts +5 -0
- package/lib/src/examples/arrays.d.ts.map +1 -0
- package/lib/src/examples/arrays.js +49 -0
- package/lib/src/examples/arrays.js.map +1 -0
- package/lib/src/examples/async.d.ts +5 -0
- package/lib/src/examples/async.d.ts.map +1 -0
- package/lib/src/examples/async.js +91 -0
- package/lib/src/examples/async.js.map +1 -0
- package/lib/src/examples/progress.d.ts +5 -0
- package/lib/src/examples/progress.d.ts.map +1 -0
- package/lib/src/examples/progress.js +51 -0
- package/lib/src/examples/progress.js.map +1 -0
- package/lib/src/examples/run.d.ts +2 -0
- package/lib/src/examples/run.d.ts.map +1 -0
- package/lib/src/examples/run.js +32 -0
- package/lib/src/examples/run.js.map +1 -0
- package/lib/src/examples/runMode.d.ts +2 -0
- package/lib/src/examples/runMode.d.ts.map +1 -0
- package/lib/src/examples/runMode.js +223 -0
- package/lib/src/examples/runMode.js.map +1 -0
- package/lib/src/examples/shared.d.ts +5 -0
- package/lib/src/examples/shared.d.ts.map +1 -0
- package/lib/src/examples/shared.js +49 -0
- package/lib/src/examples/shared.js.map +1 -0
- package/lib/src/examples/simple.d.ts +5 -0
- package/lib/src/examples/simple.d.ts.map +1 -0
- package/lib/src/examples/simple.js +79 -0
- package/lib/src/examples/simple.js.map +1 -0
- package/lib/src/examples/snapshot.d.ts +4 -0
- package/lib/src/examples/snapshot.d.ts.map +1 -0
- package/lib/src/examples/snapshot.js +58 -0
- package/lib/src/examples/snapshot.js.map +1 -0
- package/lib/src/examples/validation.d.ts +5 -0
- package/lib/src/examples/validation.d.ts.map +1 -0
- package/lib/src/examples/validation.js +105 -0
- package/lib/src/examples/validation.js.map +1 -0
- package/lib/src/index.d.ts +27 -0
- package/lib/src/index.d.ts.map +1 -0
- package/lib/src/index.js +19 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/misc/base.d.ts +51 -0
- package/lib/src/misc/base.d.ts.map +1 -0
- package/lib/src/misc/base.js +1122 -0
- package/lib/src/misc/base.js.map +1 -0
- package/lib/src/misc/utils/json.d.ts +22 -0
- package/lib/src/misc/utils/json.d.ts.map +1 -0
- package/lib/src/misc/utils/json.js +239 -0
- package/lib/src/misc/utils/json.js.map +1 -0
- package/lib/src/misc/utils/merge.d.ts +51 -0
- package/lib/src/misc/utils/merge.d.ts.map +1 -0
- package/lib/src/misc/utils/merge.js +600 -0
- package/lib/src/misc/utils/merge.js.map +1 -0
- package/lib/src/plugins/composite.d.ts +22 -0
- package/lib/src/plugins/composite.d.ts.map +1 -0
- package/lib/src/plugins/composite.js +59 -0
- package/lib/src/plugins/composite.js.map +1 -0
- package/lib/src/plugins/compute.d.ts +5 -0
- package/lib/src/plugins/compute.d.ts.map +1 -0
- package/lib/src/plugins/compute.js +39 -0
- package/lib/src/plugins/compute.js.map +1 -0
- package/lib/src/runtime/Engine.d.ts +28 -0
- package/lib/src/runtime/Engine.d.ts.map +1 -0
- package/lib/src/runtime/Engine.js +2 -0
- package/lib/src/runtime/Engine.js.map +1 -0
- package/lib/src/runtime/GraphLifecycleApi.d.ts +46 -0
- package/lib/src/runtime/GraphLifecycleApi.d.ts.map +1 -0
- package/lib/src/runtime/GraphLifecycleApi.js +2 -0
- package/lib/src/runtime/GraphLifecycleApi.js.map +1 -0
- package/lib/src/runtime/GraphRuntime.d.ts +94 -0
- package/lib/src/runtime/GraphRuntime.d.ts.map +1 -0
- package/lib/src/runtime/GraphRuntime.js +729 -0
- package/lib/src/runtime/GraphRuntime.js.map +1 -0
- package/lib/src/runtime/LocalEngine.d.ts +45 -0
- package/lib/src/runtime/LocalEngine.d.ts.map +1 -0
- package/lib/src/runtime/LocalEngine.js +89 -0
- package/lib/src/runtime/LocalEngine.js.map +1 -0
- package/lib/src/runtime/components/EdgePropagator.d.ts +101 -0
- package/lib/src/runtime/components/EdgePropagator.d.ts.map +1 -0
- package/lib/src/runtime/components/EdgePropagator.js +372 -0
- package/lib/src/runtime/components/EdgePropagator.js.map +1 -0
- package/lib/src/runtime/components/EventEmitter.d.ts +12 -0
- package/lib/src/runtime/components/EventEmitter.d.ts.map +1 -0
- package/lib/src/runtime/components/EventEmitter.js +33 -0
- package/lib/src/runtime/components/EventEmitter.js.map +1 -0
- package/lib/src/runtime/components/Graph.d.ts +211 -0
- package/lib/src/runtime/components/Graph.d.ts.map +1 -0
- package/lib/src/runtime/components/Graph.js +468 -0
- package/lib/src/runtime/components/Graph.js.map +1 -0
- package/lib/src/runtime/components/HandleResolver.d.ts +36 -0
- package/lib/src/runtime/components/HandleResolver.d.ts.map +1 -0
- package/lib/src/runtime/components/HandleResolver.js +231 -0
- package/lib/src/runtime/components/HandleResolver.js.map +1 -0
- package/lib/src/runtime/components/NodeExecutor.d.ts +110 -0
- package/lib/src/runtime/components/NodeExecutor.d.ts.map +1 -0
- package/lib/src/runtime/components/NodeExecutor.js +659 -0
- package/lib/src/runtime/components/NodeExecutor.js.map +1 -0
- package/lib/src/runtime/components/RunContextManager.d.ts +86 -0
- package/lib/src/runtime/components/RunContextManager.d.ts.map +1 -0
- package/lib/src/runtime/components/RunContextManager.js +302 -0
- package/lib/src/runtime/components/RunContextManager.js.map +1 -0
- package/lib/src/runtime/components/RuntimeValidatorManager.d.ts +31 -0
- package/lib/src/runtime/components/RuntimeValidatorManager.d.ts.map +1 -0
- package/lib/src/runtime/components/RuntimeValidatorManager.js +55 -0
- package/lib/src/runtime/components/RuntimeValidatorManager.js.map +1 -0
- package/lib/src/runtime/components/graph-utils.d.ts +33 -0
- package/lib/src/runtime/components/graph-utils.d.ts.map +1 -0
- package/lib/src/runtime/components/graph-utils.js +292 -0
- package/lib/src/runtime/components/graph-utils.js.map +1 -0
- package/lib/src/runtime/components/interfaces.d.ts +54 -0
- package/lib/src/runtime/components/interfaces.d.ts.map +1 -0
- package/lib/src/runtime/components/interfaces.js +2 -0
- package/lib/src/runtime/components/interfaces.js.map +1 -0
- package/lib/src/runtime/components/types.d.ts +55 -0
- package/lib/src/runtime/components/types.d.ts.map +1 -0
- package/lib/src/runtime/components/types.js +2 -0
- package/lib/src/runtime/components/types.js.map +1 -0
- package/lib/src/runtime/utils.d.ts +67 -0
- package/lib/src/runtime/utils.d.ts.map +1 -0
- package/lib/src/runtime/utils.js +137 -0
- package/lib/src/runtime/utils.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { LOG_LEVEL_VALUES } from "@bian-womp/spark-protocol";
|
|
2
|
+
import { unwrapMaybePromise } from "../utils";
|
|
3
|
+
import { buildEdgeConverters, extractEdgeTypes } from "./graph-utils";
|
|
4
|
+
import { mergeInputHandleDescriptors } from "../../core/type-utils";
|
|
5
|
+
/**
|
|
6
|
+
* HandleResolver component - manages dynamic handle resolution
|
|
7
|
+
*/
|
|
8
|
+
export class HandleResolver {
|
|
9
|
+
constructor(graph, eventEmitter, runContextManager, edgePropagator, registry, environment) {
|
|
10
|
+
this.graph = graph;
|
|
11
|
+
this.eventEmitter = eventEmitter;
|
|
12
|
+
this.runContextManager = runContextManager;
|
|
13
|
+
this.edgePropagator = edgePropagator;
|
|
14
|
+
this.registry = registry;
|
|
15
|
+
this.recomputeTokenByNode = new Map();
|
|
16
|
+
this.environment = {};
|
|
17
|
+
this.pendingResolutions = new Map();
|
|
18
|
+
this.isRecomputing = new Map();
|
|
19
|
+
this.environment = environment ?? {};
|
|
20
|
+
}
|
|
21
|
+
setRegistry(registry) {
|
|
22
|
+
this.registry = registry;
|
|
23
|
+
}
|
|
24
|
+
setEnvironment(environment) {
|
|
25
|
+
this.environment = environment;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the promise for pending handle resolution, or null if none
|
|
29
|
+
*/
|
|
30
|
+
getPendingResolution(nodeId) {
|
|
31
|
+
return this.pendingResolutions.get(nodeId) || null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Schedule async recomputation of handles for a node
|
|
35
|
+
*/
|
|
36
|
+
scheduleRecomputeHandles(nodeId) {
|
|
37
|
+
// If no registry or node not found, skip
|
|
38
|
+
if (!this.registry)
|
|
39
|
+
return;
|
|
40
|
+
const node = this.graph.getNode(nodeId);
|
|
41
|
+
if (!node)
|
|
42
|
+
return;
|
|
43
|
+
// If already recomputing, increment token to mark that a new recompute is needed
|
|
44
|
+
// but don't schedule another concurrent execution
|
|
45
|
+
if (this.isRecomputing.get(nodeId)) {
|
|
46
|
+
const currentToken = this.recomputeTokenByNode.get(nodeId) ?? 0;
|
|
47
|
+
this.recomputeTokenByNode.set(nodeId, currentToken + 1);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Track resolver start for all active run-contexts
|
|
51
|
+
const activeRunContextIds = this.graph.getNodeRunContextIds(nodeId);
|
|
52
|
+
if (activeRunContextIds.size > 0) {
|
|
53
|
+
for (const runContextId of activeRunContextIds) {
|
|
54
|
+
this.runContextManager.startHandleResolution(runContextId, nodeId);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Mark as recomputing
|
|
58
|
+
this.isRecomputing.set(nodeId, true);
|
|
59
|
+
// Capture initial token before starting (will be incremented in recomputeHandlesForNode)
|
|
60
|
+
const initialToken = this.recomputeTokenByNode.get(nodeId) ?? 0;
|
|
61
|
+
// Create and track the resolution promise
|
|
62
|
+
const resolutionPromise = new Promise((resolve) => {
|
|
63
|
+
setTimeout(async () => {
|
|
64
|
+
await this.recomputeHandlesForNode(nodeId, activeRunContextIds);
|
|
65
|
+
this.pendingResolutions.delete(nodeId);
|
|
66
|
+
this.isRecomputing.delete(nodeId);
|
|
67
|
+
// Check if a new recompute was requested while we were running
|
|
68
|
+
// (token was incremented by another scheduleRecomputeHandles call)
|
|
69
|
+
const finalToken = this.recomputeTokenByNode.get(nodeId) ?? 0;
|
|
70
|
+
// After recomputeHandlesForNode, token should be initialToken + 1
|
|
71
|
+
// If finalToken > initialToken + 1, a new recompute was requested
|
|
72
|
+
if (finalToken > initialToken + 1) {
|
|
73
|
+
// A new recompute was requested, schedule it now
|
|
74
|
+
this.scheduleRecomputeHandles(nodeId);
|
|
75
|
+
}
|
|
76
|
+
resolve();
|
|
77
|
+
}, 0);
|
|
78
|
+
});
|
|
79
|
+
this.pendingResolutions.set(nodeId, resolutionPromise);
|
|
80
|
+
}
|
|
81
|
+
// Update resolved handles for a single node and refresh edge converters/types that touch it
|
|
82
|
+
updateNodeHandles(nodeId, handles) {
|
|
83
|
+
if (!this.registry)
|
|
84
|
+
return;
|
|
85
|
+
const node = this.graph.getNode(nodeId);
|
|
86
|
+
if (!node)
|
|
87
|
+
return;
|
|
88
|
+
this.graph.setResolvedHandles(nodeId, handles);
|
|
89
|
+
const resolvedByNode = new Map();
|
|
90
|
+
this.graph.forEachResolvedHandles((handles, nodeId) => {
|
|
91
|
+
resolvedByNode.set(nodeId, handles);
|
|
92
|
+
});
|
|
93
|
+
const registry = this.registry; // Store for use in callback
|
|
94
|
+
this.graph.forEachEdge((e, _index) => {
|
|
95
|
+
// Only update edges that touch the changed node
|
|
96
|
+
const touchesChangedNode = e.source.nodeId === nodeId || e.target.nodeId === nodeId;
|
|
97
|
+
if (!touchesChangedNode)
|
|
98
|
+
return;
|
|
99
|
+
const srcNode = this.graph.getNode(e.source.nodeId);
|
|
100
|
+
const dstNode = this.graph.getNode(e.target.nodeId);
|
|
101
|
+
const oldDstDeclared = e.dstDeclared;
|
|
102
|
+
// Extract edge types using shared helper (handles both source and target updates)
|
|
103
|
+
const { srcDeclared, dstDeclared } = extractEdgeTypes(e.source.nodeId, e.source.handle, e.target.nodeId, e.target.handle, resolvedByNode);
|
|
104
|
+
// Update converters
|
|
105
|
+
const conv = buildEdgeConverters(srcDeclared, dstDeclared, registry, `updateNodeHandles: ${srcNode?.typeId || ""}.${e.source.nodeId}.${e.source.handle} -> ${dstNode?.typeId || ""}.${e.target.nodeId}.${e.target.handle}`);
|
|
106
|
+
// Update edge properties via Graph
|
|
107
|
+
this.graph.updateEdgeProperties(e.id, {
|
|
108
|
+
dstDeclared,
|
|
109
|
+
srcUnionTypes: Array.isArray(srcDeclared)
|
|
110
|
+
? [...srcDeclared]
|
|
111
|
+
: undefined,
|
|
112
|
+
convert: conv.convert,
|
|
113
|
+
convertAsync: conv.convertAsync,
|
|
114
|
+
});
|
|
115
|
+
if (e.target.nodeId === nodeId &&
|
|
116
|
+
oldDstDeclared === undefined &&
|
|
117
|
+
dstDeclared !== undefined) {
|
|
118
|
+
const srcNode = this.graph.getNode(e.source.nodeId);
|
|
119
|
+
if (srcNode) {
|
|
120
|
+
const srcValue = srcNode.outputs[e.source.handle];
|
|
121
|
+
if (srcValue !== undefined) {
|
|
122
|
+
const activeRunContextIds = this.graph.getNodeRunContextIds(e.source.nodeId);
|
|
123
|
+
this.edgePropagator.propagate(e.source.nodeId, e.source.handle, srcValue, activeRunContextIds.size > 0 ? activeRunContextIds : undefined);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
this.edgePropagator.invalidateDownstream(nodeId);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Recompute dynamic handles for a single node using current inputs/environment
|
|
132
|
+
*/
|
|
133
|
+
async recomputeHandlesForNode(nodeId, activeRunContextIds) {
|
|
134
|
+
try {
|
|
135
|
+
if (!this.registry)
|
|
136
|
+
return;
|
|
137
|
+
const node = this.graph.getNode(nodeId);
|
|
138
|
+
if (!node)
|
|
139
|
+
return;
|
|
140
|
+
const desc = this.registry.nodes.get(node.typeId);
|
|
141
|
+
if (!desc)
|
|
142
|
+
return;
|
|
143
|
+
const resolveHandles = desc.resolveHandles;
|
|
144
|
+
if (typeof resolveHandles !== "function")
|
|
145
|
+
return;
|
|
146
|
+
const token = (this.recomputeTokenByNode.get(nodeId) ?? 0) + 1;
|
|
147
|
+
this.recomputeTokenByNode.set(nodeId, token);
|
|
148
|
+
// Log resolveHandles-start
|
|
149
|
+
const nodeLogLevel = node.logLevel ?? "info";
|
|
150
|
+
const nodeLogValue = LOG_LEVEL_VALUES[nodeLogLevel] ?? 1;
|
|
151
|
+
const shouldLog = nodeLogValue <= LOG_LEVEL_VALUES.debug && nodeLogLevel !== "silent";
|
|
152
|
+
if (shouldLog) {
|
|
153
|
+
console.info(`[node:${nodeId}:${node.typeId}] resolveHandles-start`);
|
|
154
|
+
}
|
|
155
|
+
let resolved;
|
|
156
|
+
try {
|
|
157
|
+
const res = resolveHandles({
|
|
158
|
+
nodeId,
|
|
159
|
+
environment: this.environment || {},
|
|
160
|
+
params: node.params,
|
|
161
|
+
inputs: node.inputs || {},
|
|
162
|
+
});
|
|
163
|
+
resolved = await unwrapMaybePromise(res);
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
// Log resolveHandles-done even on error
|
|
167
|
+
if (shouldLog) {
|
|
168
|
+
console.info(`[node:${nodeId}:${node.typeId}] resolveHandles-done (error)`);
|
|
169
|
+
}
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
// Log resolveHandles-done
|
|
173
|
+
if (shouldLog) {
|
|
174
|
+
console.info(`[node:${nodeId}:${node.typeId}] resolveHandles-done`);
|
|
175
|
+
}
|
|
176
|
+
// If a newer recompute was scheduled, drop this result
|
|
177
|
+
if ((this.recomputeTokenByNode.get(nodeId) ?? 0) !== token)
|
|
178
|
+
return;
|
|
179
|
+
const before = this.graph.getResolvedHandles(nodeId);
|
|
180
|
+
// Re-fetch desc to ensure we have the latest (node might have been updated)
|
|
181
|
+
const nodeDesc = this.registry.nodes.get(node.typeId);
|
|
182
|
+
if (!nodeDesc)
|
|
183
|
+
return;
|
|
184
|
+
// Merge inputs properly, handling metadata
|
|
185
|
+
const inputs = {};
|
|
186
|
+
// First, add all static handles
|
|
187
|
+
if (nodeDesc.inputs) {
|
|
188
|
+
for (const [handle, staticDesc] of Object.entries(nodeDesc.inputs)) {
|
|
189
|
+
inputs[handle] = staticDesc;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// Then, merge dynamic handles
|
|
193
|
+
if (resolved?.inputs) {
|
|
194
|
+
for (const [handle, dynamicDesc] of Object.entries(resolved.inputs)) {
|
|
195
|
+
const staticDesc = nodeDesc.inputs?.[handle];
|
|
196
|
+
const merged = mergeInputHandleDescriptors(staticDesc, dynamicDesc);
|
|
197
|
+
if (merged) {
|
|
198
|
+
inputs[handle] = merged;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
const outputs = { ...nodeDesc.outputs, ...resolved?.outputs };
|
|
203
|
+
const inputDefaults = {
|
|
204
|
+
...nodeDesc.inputDefaults,
|
|
205
|
+
...resolved?.inputDefaults,
|
|
206
|
+
};
|
|
207
|
+
const after = { inputs, outputs, inputDefaults };
|
|
208
|
+
// If we have prior handles, skip update when unchanged; for new nodes (no before),
|
|
209
|
+
// always write the resolved handles.
|
|
210
|
+
if (before && JSON.stringify(before) === JSON.stringify(after))
|
|
211
|
+
return;
|
|
212
|
+
// Call GraphRuntime's updateNodeHandles to update edges and re-propagate values
|
|
213
|
+
// Note: updateNodeHandles will set the resolved handles internally
|
|
214
|
+
this.updateNodeHandles(nodeId, after);
|
|
215
|
+
// Notify graph updated with the changed handles
|
|
216
|
+
this.eventEmitter.emit("invalidate", {
|
|
217
|
+
reason: "graph-updated",
|
|
218
|
+
resolvedHandles: { [nodeId]: after },
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
finally {
|
|
222
|
+
// Track resolver finish after successful completion
|
|
223
|
+
if (activeRunContextIds && activeRunContextIds.size > 0) {
|
|
224
|
+
for (const runContextId of activeRunContextIds) {
|
|
225
|
+
this.runContextManager.finishHandleResolution(runContextId, nodeId);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=HandleResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandleResolver.js","sourceRoot":"","sources":["../../../../src/runtime/components/HandleResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { ExecutionContext } from "../../core/types";
|
|
2
|
+
import type { RuntimeNode, RunContextId } from "./types";
|
|
3
|
+
import type { Graph } from "./Graph";
|
|
4
|
+
import type { EventEmitter } from "./EventEmitter";
|
|
5
|
+
import type { RunContextManager } from "./RunContextManager";
|
|
6
|
+
import { IEdgePropagator, INodeExecutor, IRuntime, IHandleResolver } from "./interfaces";
|
|
7
|
+
/**
|
|
8
|
+
* NodeExecutor component - handles node execution scheduling and lifecycle
|
|
9
|
+
*/
|
|
10
|
+
export declare class NodeExecutor implements INodeExecutor {
|
|
11
|
+
private readonly graph;
|
|
12
|
+
private readonly eventEmitter;
|
|
13
|
+
private readonly runContextManager;
|
|
14
|
+
private readonly handleResolver;
|
|
15
|
+
private readonly edgePropagator;
|
|
16
|
+
private readonly runtime;
|
|
17
|
+
private environment;
|
|
18
|
+
constructor(graph: Graph, eventEmitter: EventEmitter, runContextManager: RunContextManager, handleResolver: IHandleResolver, edgePropagator: IEdgePropagator, runtime: IRuntime, environment?: Record<string, unknown>);
|
|
19
|
+
setEnvironment(environment: Record<string, unknown>): void;
|
|
20
|
+
/**
|
|
21
|
+
* Compute effective inputs for a node by merging real inputs with defaults
|
|
22
|
+
*/
|
|
23
|
+
getEffectiveInputs(nodeId: string): Record<string, unknown>;
|
|
24
|
+
/**
|
|
25
|
+
* Create an execution context for a node
|
|
26
|
+
*/
|
|
27
|
+
createExecutionContext(nodeId: string, node: RuntimeNode<any>, inputs: Record<string, unknown>, runId: string, abortSignal: AbortSignal, runContextIds?: Set<RunContextId>, options?: {
|
|
28
|
+
emitHandler?: (handle: string, value: unknown) => void;
|
|
29
|
+
reportProgress?: (p: number) => void;
|
|
30
|
+
}): ExecutionContext<any>;
|
|
31
|
+
/**
|
|
32
|
+
* Internal method for executing inputs changed (also used by GraphRuntime)
|
|
33
|
+
*/
|
|
34
|
+
execute(nodeId: string, runContextIds?: Set<RunContextId>, canSkipHandleResolution?: boolean): void;
|
|
35
|
+
/**
|
|
36
|
+
* Check if execution should be debounced
|
|
37
|
+
*/
|
|
38
|
+
private shouldDebounce;
|
|
39
|
+
/**
|
|
40
|
+
* Handle debounced scheduling by replacing the latest queued item
|
|
41
|
+
*/
|
|
42
|
+
private handleDebouncedSchedule;
|
|
43
|
+
/**
|
|
44
|
+
* Prepare execution plan with all necessary information
|
|
45
|
+
*/
|
|
46
|
+
private prepareExecutionPlan;
|
|
47
|
+
/**
|
|
48
|
+
* Route execution to appropriate concurrency handler
|
|
49
|
+
*/
|
|
50
|
+
private routeToConcurrencyHandler;
|
|
51
|
+
/**
|
|
52
|
+
* Handle drop mode - drop execution if node is already running, otherwise start run
|
|
53
|
+
*/
|
|
54
|
+
private handleDropMode;
|
|
55
|
+
/**
|
|
56
|
+
* Handle queue mode - add to queue and process sequentially
|
|
57
|
+
*/
|
|
58
|
+
private handleQueueMode;
|
|
59
|
+
/**
|
|
60
|
+
* Process queued executions sequentially
|
|
61
|
+
*/
|
|
62
|
+
private processQueue;
|
|
63
|
+
/**
|
|
64
|
+
* Start a node execution run
|
|
65
|
+
*/
|
|
66
|
+
private startRun;
|
|
67
|
+
/**
|
|
68
|
+
* Track run-context start for pending nodes
|
|
69
|
+
*/
|
|
70
|
+
private trackRunContextStart;
|
|
71
|
+
/**
|
|
72
|
+
* Decrement pendingQueued counters for plans' run-contexts.
|
|
73
|
+
* Used when queued work is being started, dropped, or cancelled.
|
|
74
|
+
*/
|
|
75
|
+
private decrementQueuedForPlans;
|
|
76
|
+
/**
|
|
77
|
+
* Create execution controller and update node stats
|
|
78
|
+
*/
|
|
79
|
+
private createExecutionController;
|
|
80
|
+
/**
|
|
81
|
+
* Apply concurrency mode (switch mode aborts other controllers)
|
|
82
|
+
*/
|
|
83
|
+
private applyConcurrencyMode;
|
|
84
|
+
/**
|
|
85
|
+
* Setup timeout for execution if configured
|
|
86
|
+
*/
|
|
87
|
+
private setupTimeout;
|
|
88
|
+
/**
|
|
89
|
+
* Create emit and progress handlers for execution context
|
|
90
|
+
*/
|
|
91
|
+
private createEmitAndProgressHandlers;
|
|
92
|
+
/**
|
|
93
|
+
* Execute the node with retry logic and cleanup
|
|
94
|
+
*/
|
|
95
|
+
private executeNode;
|
|
96
|
+
/**
|
|
97
|
+
* Cleanup after execution completes
|
|
98
|
+
*/
|
|
99
|
+
private cleanupExecution;
|
|
100
|
+
/**
|
|
101
|
+
* Cancel all active runs for a node
|
|
102
|
+
*/
|
|
103
|
+
cancelNodeActiveRuns(node: RuntimeNode, reason: "snapshot" | "node-deleted" | "user-cancelled"): void;
|
|
104
|
+
/**
|
|
105
|
+
* Cancel runs for multiple nodes.
|
|
106
|
+
* Can be called for snapshot/undo/redo operations or user-initiated cancellation.
|
|
107
|
+
*/
|
|
108
|
+
cancelNodeRuns(nodeIds: string[], reason?: "snapshot" | "user-cancelled"): void;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=NodeExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeExecutor.d.ts","sourceRoot":"","sources":["../../../../src/runtime/components/NodeExecutor.ts"],"names":[],"mappings":"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"}
|