@workglow/task-graph 0.2.24 → 0.2.25
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/dist/browser.js +1953 -1620
- package/dist/browser.js.map +37 -22
- package/dist/bun.js +1954 -1621
- package/dist/bun.js.map +37 -22
- package/dist/common.d.ts +14 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/node.js +1954 -1621
- package/dist/node.js.map +37 -22
- package/dist/task/CacheCoordinator.d.ts +48 -0
- package/dist/task/CacheCoordinator.d.ts.map +1 -0
- package/dist/task/FallbackTask.d.ts +1 -0
- package/dist/task/FallbackTask.d.ts.map +1 -1
- package/dist/task/FallbackTaskRunner.d.ts +3 -2
- package/dist/task/FallbackTaskRunner.d.ts.map +1 -1
- package/dist/task/GraphAsTask.d.ts +1 -0
- package/dist/task/GraphAsTask.d.ts.map +1 -1
- package/dist/task/GraphAsTaskRunner.d.ts +4 -3
- package/dist/task/GraphAsTaskRunner.d.ts.map +1 -1
- package/dist/task/ITask.d.ts +19 -3
- package/dist/task/ITask.d.ts.map +1 -1
- package/dist/task/IteratorTaskRunner.d.ts +3 -2
- package/dist/task/IteratorTaskRunner.d.ts.map +1 -1
- package/dist/task/MapTask.d.ts +1 -0
- package/dist/task/MapTask.d.ts.map +1 -1
- package/dist/task/ReduceTask.d.ts +1 -0
- package/dist/task/ReduceTask.d.ts.map +1 -1
- package/dist/task/StreamProcessor.d.ts +38 -0
- package/dist/task/StreamProcessor.d.ts.map +1 -0
- package/dist/task/TaskRunContext.d.ts +33 -0
- package/dist/task/TaskRunContext.d.ts.map +1 -0
- package/dist/task/TaskRunner.d.ts +31 -47
- package/dist/task/TaskRunner.d.ts.map +1 -1
- package/dist/task/WhileTask.d.ts +1 -0
- package/dist/task/WhileTask.d.ts.map +1 -1
- package/dist/task/WhileTaskRunner.d.ts +3 -2
- package/dist/task/WhileTaskRunner.d.ts.map +1 -1
- package/dist/task-graph/Dataflow.d.ts +1 -1
- package/dist/task-graph/EdgeMaterializer.d.ts +88 -0
- package/dist/task-graph/EdgeMaterializer.d.ts.map +1 -0
- package/dist/task-graph/GraphSchemaUtils.d.ts +19 -0
- package/dist/task-graph/GraphSchemaUtils.d.ts.map +1 -1
- package/dist/task-graph/IWorkflow.d.ts +11 -1
- package/dist/task-graph/IWorkflow.d.ts.map +1 -1
- package/dist/task-graph/LoopBuilderContext.d.ts +60 -0
- package/dist/task-graph/LoopBuilderContext.d.ts.map +1 -0
- package/dist/task-graph/RunContext.d.ts +39 -0
- package/dist/task-graph/RunContext.d.ts.map +1 -0
- package/dist/task-graph/RunScheduler.d.ts +81 -0
- package/dist/task-graph/RunScheduler.d.ts.map +1 -0
- package/dist/task-graph/StreamPump.d.ts +122 -0
- package/dist/task-graph/StreamPump.d.ts.map +1 -0
- package/dist/task-graph/TaskGraph.d.ts +10 -2
- package/dist/task-graph/TaskGraph.d.ts.map +1 -1
- package/dist/task-graph/TaskGraphRunner.d.ts +31 -167
- package/dist/task-graph/TaskGraphRunner.d.ts.map +1 -1
- package/dist/task-graph/Workflow.d.ts +18 -99
- package/dist/task-graph/Workflow.d.ts.map +1 -1
- package/dist/task-graph/WorkflowBuilder.d.ts +93 -0
- package/dist/task-graph/WorkflowBuilder.d.ts.map +1 -0
- package/dist/task-graph/WorkflowCacheAdapter.d.ts +19 -0
- package/dist/task-graph/WorkflowCacheAdapter.d.ts.map +1 -0
- package/dist/task-graph/WorkflowEventBridge.d.ts +41 -0
- package/dist/task-graph/WorkflowEventBridge.d.ts.map +1 -0
- package/dist/task-graph/WorkflowFactories.d.ts +52 -0
- package/dist/task-graph/WorkflowFactories.d.ts.map +1 -0
- package/dist/task-graph/WorkflowPipe.d.ts +32 -0
- package/dist/task-graph/WorkflowPipe.d.ts.map +1 -0
- package/dist/task-graph/WorkflowRunContext.d.ts +27 -0
- package/dist/task-graph/WorkflowRunContext.d.ts.map +1 -0
- package/dist/task-graph/WorkflowTask.d.ts +19 -0
- package/dist/task-graph/WorkflowTask.d.ts.map +1 -0
- package/package.json +7 -7
- package/src/EXECUTION_MODEL.md +13 -5
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import type { ISpan } from "@workglow/util";
|
|
7
6
|
import { ConvertAllToOptionalArray, ResourceScope, ServiceRegistry } from "@workglow/util";
|
|
8
7
|
import { TaskOutputRepository } from "../storage/TaskOutputRepository";
|
|
9
|
-
import type { IEntitlementEnforcer } from "../task/EntitlementEnforcer";
|
|
10
8
|
import { ITask } from "../task/ITask";
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
9
|
+
import { TaskError } from "../task/TaskError";
|
|
10
|
+
import { TaskInput, TaskOutput } from "../task/TaskTypes";
|
|
11
|
+
import { EdgeMaterializer } from "./EdgeMaterializer";
|
|
12
|
+
import { RunContext } from "./RunContext";
|
|
13
|
+
import { RunScheduler } from "./RunScheduler";
|
|
14
|
+
import { StreamPump } from "./StreamPump";
|
|
14
15
|
import { TaskGraph, TaskGraphRunConfig, TaskGraphRunPreviewConfig } from "./TaskGraph";
|
|
15
16
|
import { DependencyBasedScheduler, TopologicalScheduler } from "./TaskGraphScheduler";
|
|
16
17
|
/**
|
|
@@ -59,6 +60,10 @@ export declare class TaskGraphRunner {
|
|
|
59
60
|
* Whether the task graph is currently running
|
|
60
61
|
*/
|
|
61
62
|
protected running: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the task graph is currently running in preview mode.
|
|
65
|
+
* Read by EdgeMaterializer via bracket access (`runner["previewRunning"]`).
|
|
66
|
+
*/
|
|
62
67
|
protected previewRunning: boolean;
|
|
63
68
|
/**
|
|
64
69
|
* The task graph to run
|
|
@@ -74,7 +79,8 @@ export declare class TaskGraphRunner {
|
|
|
74
79
|
*/
|
|
75
80
|
protected accumulateLeafOutputs: boolean;
|
|
76
81
|
/**
|
|
77
|
-
* Service registry for this graph run
|
|
82
|
+
* Service registry for this graph run.
|
|
83
|
+
* Read by EdgeMaterializer via bracket access (`runner["registry"]`).
|
|
78
84
|
*/
|
|
79
85
|
protected registry: ServiceRegistry;
|
|
80
86
|
/**
|
|
@@ -82,33 +88,26 @@ export declare class TaskGraphRunner {
|
|
|
82
88
|
*/
|
|
83
89
|
protected resourceScope?: ResourceScope;
|
|
84
90
|
/**
|
|
85
|
-
*
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Maps to track task execution state
|
|
91
|
+
* Per-run state. Set by handleStart, cleared by handleComplete/Error/Abort.
|
|
92
|
+
* The only mutable per-run state on the facade — exists so the public abort()
|
|
93
|
+
* and disable() methods (which take no arguments) have something to act on.
|
|
90
94
|
*/
|
|
91
|
-
protected
|
|
92
|
-
protected inProgressFunctions: Map<unknown, Promise<void>>;
|
|
93
|
-
protected failedTaskErrors: Map<unknown, TaskError>;
|
|
95
|
+
protected currentCtx?: RunContext;
|
|
94
96
|
/**
|
|
95
|
-
*
|
|
97
|
+
* Edge materializer — owns dataflow read/write, transforms, and error-port routing.
|
|
96
98
|
*/
|
|
97
|
-
protected
|
|
99
|
+
protected readonly edgeMaterializer: EdgeMaterializer;
|
|
98
100
|
/**
|
|
99
|
-
*
|
|
101
|
+
* Stream pump — owns streaming-input handoff, streaming task execution, and
|
|
102
|
+
* stream tee/fan-out to outgoing dataflow edges.
|
|
100
103
|
*/
|
|
101
|
-
protected
|
|
104
|
+
protected readonly streamPump: StreamPump;
|
|
102
105
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
106
|
+
* Run-loop coordinator — owns the for-await loop body, status push, disabled
|
|
107
|
+
* cascade, progress aggregation, and graph-level timeout arm/clear.
|
|
108
|
+
* Read by EdgeMaterializer via bracket access (`runner["runScheduler"]`).
|
|
105
109
|
*/
|
|
106
|
-
protected
|
|
107
|
-
/**
|
|
108
|
-
* The entitlement enforcer for the current run, if enforcement is enabled.
|
|
109
|
-
* Set during handleStart and cleared after the run completes.
|
|
110
|
-
*/
|
|
111
|
-
protected activeEnforcer?: IEntitlementEnforcer;
|
|
110
|
+
protected readonly runScheduler: RunScheduler;
|
|
112
111
|
/**
|
|
113
112
|
* Constructor for TaskGraphRunner
|
|
114
113
|
* @param graph The task graph to run
|
|
@@ -117,10 +116,6 @@ export declare class TaskGraphRunner {
|
|
|
117
116
|
* @param previewScheduler The scheduler to use for preview task execution
|
|
118
117
|
*/
|
|
119
118
|
constructor(graph: TaskGraph, outputCache?: TaskOutputRepository, processScheduler?: DependencyBasedScheduler, previewScheduler?: TopologicalScheduler);
|
|
120
|
-
/**
|
|
121
|
-
* Unique ID for the current run, used for timing labels.
|
|
122
|
-
*/
|
|
123
|
-
protected runId: string;
|
|
124
119
|
runGraph<ExecuteOutput extends TaskOutput>(input?: TaskInput, config?: TaskGraphRunConfig): Promise<GraphResultArray<ExecuteOutput>>;
|
|
125
120
|
/**
|
|
126
121
|
* Runs the task graph in preview mode
|
|
@@ -141,13 +136,6 @@ export declare class TaskGraphRunner {
|
|
|
141
136
|
* Disables the task graph execution
|
|
142
137
|
*/
|
|
143
138
|
disable(): Promise<void>;
|
|
144
|
-
/**
|
|
145
|
-
* Filters graph-level input to only include properties that are not connected via dataflows for a given task
|
|
146
|
-
* @param task The task to filter input for
|
|
147
|
-
* @param input The graph-level input
|
|
148
|
-
* @returns Filtered input containing only unconnected properties
|
|
149
|
-
*/
|
|
150
|
-
protected filterInputForTask(task: ITask, input: TaskInput): TaskInput;
|
|
151
139
|
/**
|
|
152
140
|
* Adds input data to a task.
|
|
153
141
|
* Delegates to {@link Task.addInput} for the actual merging logic.
|
|
@@ -162,76 +150,6 @@ export declare class TaskGraphRunner {
|
|
|
162
150
|
*/
|
|
163
151
|
protected filterLeafResults<T>(results: GraphResultArray<T>): GraphResultArray<T>;
|
|
164
152
|
mergeExecuteOutputsToRunOutput<ExecuteOutput extends TaskOutput, Merge extends CompoundMergeStrategy = CompoundMergeStrategy>(results: GraphResultArray<ExecuteOutput>, compoundMerge: Merge): GraphResult<ExecuteOutput, Merge>;
|
|
165
|
-
/**
|
|
166
|
-
* Copies input data from edges to a task
|
|
167
|
-
* @param task The task to copy input data to
|
|
168
|
-
*/
|
|
169
|
-
protected copyInputFromEdgesToNode(task: ITask): void;
|
|
170
|
-
/**
|
|
171
|
-
* Pushes the output of a task to its target tasks
|
|
172
|
-
* @param node The task that produced the output
|
|
173
|
-
* @param results The output of the task
|
|
174
|
-
*/
|
|
175
|
-
protected pushOutputFromNodeToEdges(node: ITask, results: TaskOutput): Promise<void>;
|
|
176
|
-
/**
|
|
177
|
-
* Pushes the status of a task to its target edges
|
|
178
|
-
* @param node The task that produced the status
|
|
179
|
-
*
|
|
180
|
-
* For ConditionalTask, this method handles selective dataflow status:
|
|
181
|
-
* - Active branch dataflows get COMPLETED status
|
|
182
|
-
* - Inactive branch dataflows get DISABLED status
|
|
183
|
-
*/
|
|
184
|
-
protected pushStatusFromNodeToEdges(graph: TaskGraph, node: ITask, status?: TaskStatus): void;
|
|
185
|
-
/**
|
|
186
|
-
* Pushes the error of a task to its target edges
|
|
187
|
-
* @param node The task that produced the error
|
|
188
|
-
*/
|
|
189
|
-
protected pushErrorFromNodeToEdges(graph: TaskGraph, node: ITask): void;
|
|
190
|
-
/**
|
|
191
|
-
* Returns true if the task has any outgoing dataflow edges that use the
|
|
192
|
-
* error output port (`[error]`). These edges indicate that the task's
|
|
193
|
-
* errors should be routed to downstream handler tasks instead of failing
|
|
194
|
-
* the entire graph.
|
|
195
|
-
*/
|
|
196
|
-
protected hasErrorOutputEdges(task: ITask): boolean;
|
|
197
|
-
/**
|
|
198
|
-
* Routes a failed task's error through its error-port dataflow edges.
|
|
199
|
-
*
|
|
200
|
-
* For each outgoing dataflow:
|
|
201
|
-
* - Error-port edges (`[error]`) receive the error data and get COMPLETED status
|
|
202
|
-
* - Non-error-port edges get DISABLED status (the task didn't produce normal output)
|
|
203
|
-
*
|
|
204
|
-
* After setting edge statuses, propagateDisabledStatus() cascades DISABLED
|
|
205
|
-
* through any downstream tasks that only had non-error inputs from this task.
|
|
206
|
-
*/
|
|
207
|
-
protected pushErrorOutputToEdges(task: ITask): void;
|
|
208
|
-
/**
|
|
209
|
-
* Propagates DISABLED status through the graph.
|
|
210
|
-
*
|
|
211
|
-
* When a task's ALL incoming dataflows are DISABLED, that task becomes unreachable
|
|
212
|
-
* and should also be disabled. This cascades through the graph until no more
|
|
213
|
-
* tasks can be disabled.
|
|
214
|
-
*
|
|
215
|
-
* This is used by ConditionalTask to disable downstream tasks on inactive branches.
|
|
216
|
-
*
|
|
217
|
-
* @param graph The task graph to propagate disabled status through
|
|
218
|
-
*/
|
|
219
|
-
protected propagateDisabledStatus(graph: TaskGraph): void;
|
|
220
|
-
/**
|
|
221
|
-
* Determines whether a streaming task needs to accumulate its text-delta
|
|
222
|
-
* chunks into an enriched finish event. Accumulation is needed when:
|
|
223
|
-
*
|
|
224
|
-
* 1. Output caching is active (the cached value must be fully materialised).
|
|
225
|
-
* 2. Any outgoing dataflow edge connects a streaming output port to an input
|
|
226
|
-
* port that is not streaming with the same mode (i.e. the downstream task
|
|
227
|
-
* cannot consume a raw stream and needs a completed value).
|
|
228
|
-
*
|
|
229
|
-
* When accumulation is required the source task runs with shouldAccumulate=true,
|
|
230
|
-
* emitting an enriched finish event that carries all accumulated port text.
|
|
231
|
-
* All downstream dataflow edges share that event via tee'd streams so no
|
|
232
|
-
* edge needs to re-accumulate independently.
|
|
233
|
-
*/
|
|
234
|
-
protected taskNeedsAccumulation(task: ITask): boolean;
|
|
235
153
|
/**
|
|
236
154
|
* Runs a task
|
|
237
155
|
* @param task The task to run
|
|
@@ -239,54 +157,6 @@ export declare class TaskGraphRunner {
|
|
|
239
157
|
* @returns The output of the task
|
|
240
158
|
*/
|
|
241
159
|
protected runTask<T>(task: ITask, input: TaskInput): Promise<GraphSingleTaskResult<T>>;
|
|
242
|
-
/**
|
|
243
|
-
* For non-streaming downstream tasks, awaits completion of any active
|
|
244
|
-
* streams on input dataflow edges, materializing their values.
|
|
245
|
-
*
|
|
246
|
-
* Streaming upstream tasks set a ReadableStream on outgoing edges.
|
|
247
|
-
* Non-streaming downstream tasks cannot consume streams directly, so
|
|
248
|
-
* this method reads each stream to completion and accumulates the
|
|
249
|
-
* value (via Dataflow.awaitStreamValue) before the task reads its
|
|
250
|
-
* inputs through the normal getPortData() path.
|
|
251
|
-
*/
|
|
252
|
-
protected awaitStreamInputs(task: ITask): Promise<void>;
|
|
253
|
-
/**
|
|
254
|
-
* Runs a streaming task within the DAG.
|
|
255
|
-
* Listens for stream events to:
|
|
256
|
-
* - Notify the scheduler when streaming begins (unblocking downstream streamable tasks)
|
|
257
|
-
* - Push stream data to outgoing dataflow edges
|
|
258
|
-
* - Have the source task accumulate and emit enriched finish events for
|
|
259
|
-
* non-streaming downstream tasks (when taskNeedsAccumulation() is true)
|
|
260
|
-
*/
|
|
261
|
-
protected runStreamingTask<T>(task: ITask, input: TaskInput): Promise<GraphSingleTaskResult<T>>;
|
|
262
|
-
/**
|
|
263
|
-
* Returns true if an event carries a port-specific delta (text-delta or object-delta).
|
|
264
|
-
*/
|
|
265
|
-
private static isPortDelta;
|
|
266
|
-
/**
|
|
267
|
-
* Creates a ReadableStream from task streaming events, optionally filtered
|
|
268
|
-
* to a single port. When `portId` is undefined (DATAFLOW_ALL_PORTS), all
|
|
269
|
-
* events pass through. When set, only delta events matching the port plus
|
|
270
|
-
* control events (finish, error, snapshot) are enqueued.
|
|
271
|
-
*
|
|
272
|
-
* Also taps snapshot events to write per-port data into each edge's
|
|
273
|
-
* `latestSnapshot` slot for downstream peek-during-streaming.
|
|
274
|
-
*/
|
|
275
|
-
private createStreamFromTaskEvents;
|
|
276
|
-
/**
|
|
277
|
-
* Pushes stream events from a streaming task to its outgoing dataflow edges.
|
|
278
|
-
* Creates per-port filtered ReadableStreams for specific-port edges and
|
|
279
|
-
* unfiltered streams for DATAFLOW_ALL_PORTS edges. Within each port group,
|
|
280
|
-
* uses tee() for fan-out to multiple consumers.
|
|
281
|
-
*/
|
|
282
|
-
protected pushStreamToEdges(task: ITask, _streamMode: StreamMode): void;
|
|
283
|
-
/**
|
|
284
|
-
* Resets a task
|
|
285
|
-
* @param graph The task graph to reset
|
|
286
|
-
* @param task The task to reset
|
|
287
|
-
* @param runId The run ID
|
|
288
|
-
*/
|
|
289
|
-
protected resetTask(graph: TaskGraph, task: ITask, runId: string): void;
|
|
290
160
|
/**
|
|
291
161
|
* Resets the task graph, recursively
|
|
292
162
|
* @param graph The task graph to reset
|
|
@@ -298,9 +168,6 @@ export declare class TaskGraphRunner {
|
|
|
298
168
|
*/
|
|
299
169
|
protected handleStart(config?: TaskGraphRunConfig): Promise<void>;
|
|
300
170
|
protected handleStartPreview(config?: TaskGraphRunConfig): Promise<void>;
|
|
301
|
-
/**
|
|
302
|
-
* Handles the completion of task graph execution
|
|
303
|
-
*/
|
|
304
171
|
/**
|
|
305
172
|
* Clears the graph-level timeout timer if active.
|
|
306
173
|
*/
|
|
@@ -313,7 +180,12 @@ export declare class TaskGraphRunner {
|
|
|
313
180
|
protected handleError(error: TaskError): Promise<void>;
|
|
314
181
|
protected handleErrorPreview(): Promise<void>;
|
|
315
182
|
/**
|
|
316
|
-
* Handles task graph abortion
|
|
183
|
+
* Handles task graph abortion.
|
|
184
|
+
*
|
|
185
|
+
* Single-fire: invoked from both the abort-signal listener installed in
|
|
186
|
+
* `handleStart` and the `runGraph` epilogue when `signal.aborted`. Without
|
|
187
|
+
* a guard, observers see two `"abort"` events for one logical abort. We
|
|
188
|
+
* latch on `this.running` synchronously so the second caller is a no-op.
|
|
317
189
|
*/
|
|
318
190
|
protected handleAbort(): Promise<void>;
|
|
319
191
|
protected handleAbortPreview(): Promise<void>;
|
|
@@ -321,13 +193,5 @@ export declare class TaskGraphRunner {
|
|
|
321
193
|
* Handles task graph disabling
|
|
322
194
|
*/
|
|
323
195
|
protected handleDisable(): Promise<void>;
|
|
324
|
-
/**
|
|
325
|
-
* Handles progress updates for the task graph by averaging `progress` across tasks whose class
|
|
326
|
-
* declares its own `execute` ({@link taskPrototypeHasOwnExecute}). Other nodes are ignored.
|
|
327
|
-
* @param progress Progress value (0-100), or `undefined` for indeterminate
|
|
328
|
-
* @param message Optional message
|
|
329
|
-
* @param args Additional arguments
|
|
330
|
-
*/
|
|
331
|
-
protected handleProgress(task: ITask, progress: number | undefined, message?: string, ...args: any[]): Promise<void>;
|
|
332
196
|
}
|
|
333
197
|
//# sourceMappingURL=TaskGraphRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskGraphRunner.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraphRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"TaskGraphRunner.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraphRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { EventParameters } from "@workglow/util";
|
|
7
7
|
import { EventEmitter, ServiceRegistry } from "@workglow/util";
|
|
8
|
-
import { TaskOutputRepository } from "../storage/TaskOutputRepository";
|
|
8
|
+
import type { TaskOutputRepository } from "../storage/TaskOutputRepository";
|
|
9
9
|
import type { ConditionFn } from "../task/ConditionalTask";
|
|
10
10
|
import { GraphAsTask } from "../task/GraphAsTask";
|
|
11
11
|
import type { ITask, ITaskConstructor } from "../task/ITask";
|
|
@@ -14,28 +14,16 @@ import { Task } from "../task/Task";
|
|
|
14
14
|
import type { TaskEntitlements } from "../task/TaskEntitlements";
|
|
15
15
|
import type { JsonTaskItem, TaskGraphJson, TaskGraphJsonOptions } from "../task/TaskJSON";
|
|
16
16
|
import type { DataPorts, TaskConfig, TaskIdType, TaskInput } from "../task/TaskTypes";
|
|
17
|
-
import { ConditionalBuilder } from "./ConditionalBuilder";
|
|
17
|
+
import type { ConditionalBuilder } from "./ConditionalBuilder";
|
|
18
18
|
import type { PipeFunction, Taskish } from "./Conversions";
|
|
19
19
|
import type { GraphEntitlementOptions } from "./GraphEntitlementUtils";
|
|
20
|
-
import type { ITaskGraph } from "./ITaskGraph";
|
|
21
20
|
import type { IWorkflow, WorkflowRunConfig } from "./IWorkflow";
|
|
22
21
|
import { TaskGraph } from "./TaskGraph";
|
|
23
22
|
import type { PropertyArrayGraphResult } from "./TaskGraphRunner";
|
|
24
23
|
import { CompoundMergeStrategy } from "./TaskGraphRunner";
|
|
25
24
|
import type { ITransformStep } from "./TransformTypes";
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
export declare function pipe<A extends DataPorts, B extends DataPorts>([fn1]: [Taskish<A, B>], workflow?: IWorkflow<A, B>): IWorkflow<A, B>;
|
|
29
|
-
export declare function pipe<A extends DataPorts, B extends DataPorts, C extends DataPorts>([fn1, fn2]: [Taskish<A, B>, Taskish<B, C>], workflow?: IWorkflow<A, C>): IWorkflow<A, C>;
|
|
30
|
-
export declare function pipe<A extends DataPorts, B extends DataPorts, C extends DataPorts, D extends DataPorts>([fn1, fn2, fn3]: [Taskish<A, B>, Taskish<B, C>, Taskish<C, D>], workflow?: IWorkflow<A, D>): IWorkflow<A, D>;
|
|
31
|
-
export declare function pipe<A extends DataPorts, B extends DataPorts, C extends DataPorts, D extends DataPorts, E extends DataPorts>([fn1, fn2, fn3, fn4]: [Taskish<A, B>, Taskish<B, C>, Taskish<C, D>, Taskish<D, E>], workflow?: IWorkflow<A, E>): IWorkflow<A, E>;
|
|
32
|
-
export declare function pipe<A extends DataPorts, B extends DataPorts, C extends DataPorts, D extends DataPorts, E extends DataPorts, F extends DataPorts>([fn1, fn2, fn3, fn4, fn5]: [
|
|
33
|
-
Taskish<A, B>,
|
|
34
|
-
Taskish<B, C>,
|
|
35
|
-
Taskish<C, D>,
|
|
36
|
-
Taskish<D, E>,
|
|
37
|
-
Taskish<E, F>
|
|
38
|
-
], workflow?: IWorkflow<A, F>): IWorkflow<A, F>;
|
|
25
|
+
import type { IWorkflowBuilderHandle } from "./WorkflowBuilder";
|
|
26
|
+
import type { CreateWorkflow } from "./WorkflowFactories";
|
|
39
27
|
/** Options accepted by {@link Workflow.rename}. */
|
|
40
28
|
export interface RenameOptions {
|
|
41
29
|
/** Index of the task whose output is renamed (defaults to the last task, `-1`). */
|
|
@@ -43,62 +31,6 @@ export interface RenameOptions {
|
|
|
43
31
|
/** Transform chain applied to the dataflow edge this rename creates. */
|
|
44
32
|
readonly transforms?: ReadonlyArray<ITransformStep>;
|
|
45
33
|
}
|
|
46
|
-
export declare function parallel<I extends DataPorts = DataPorts, O extends DataPorts = DataPorts>(args: (PipeFunction<I, O> | ITask<I, O> | IWorkflow<I, O> | ITaskGraph)[], mergeFn?: CompoundMergeStrategy, workflow?: IWorkflow<I, O>): IWorkflow<I, O>;
|
|
47
|
-
export type CreateWorkflow<I extends DataPorts, O extends DataPorts, C extends TaskConfig<I>> = (input?: Partial<I>, config?: Partial<C>) => Workflow<I, O>;
|
|
48
|
-
export declare function CreateWorkflow<I extends DataPorts, O extends DataPorts, C extends TaskConfig<I> = TaskConfig<I>>(taskClass: ITaskConstructor<I, O, C>): CreateWorkflow<I, O, C>;
|
|
49
|
-
/**
|
|
50
|
-
* Type for loop workflow methods (map, while, reduce).
|
|
51
|
-
* Represents the method signature with proper `this` context.
|
|
52
|
-
* Loop methods take only a config parameter - input is not used for loop tasks.
|
|
53
|
-
*/
|
|
54
|
-
export type CreateLoopWorkflow<I extends DataPorts, O extends DataPorts, C extends TaskConfig<I> = TaskConfig<I>> = (this: Workflow<I, O>, config?: Partial<C>) => Workflow<I, O>;
|
|
55
|
-
/**
|
|
56
|
-
* Factory function that creates a loop workflow method for a given task class.
|
|
57
|
-
* Returns a method that can be assigned to Workflow.prototype.
|
|
58
|
-
*
|
|
59
|
-
* @param taskClass - The iterator task class (MapTask, ReduceTask, etc.)
|
|
60
|
-
* @returns A method that creates the task and returns a loop builder workflow
|
|
61
|
-
*/
|
|
62
|
-
export declare function CreateLoopWorkflow<I extends DataPorts, O extends DataPorts, C extends TaskConfig<I> = TaskConfig<I>>(taskClass: ITaskConstructor<I, O, C>): CreateLoopWorkflow<I, O, C>;
|
|
63
|
-
/**
|
|
64
|
-
* Type for end loop workflow methods (endMap, endBatch, etc.).
|
|
65
|
-
*/
|
|
66
|
-
export type EndLoopWorkflow = (this: Workflow) => Workflow;
|
|
67
|
-
/**
|
|
68
|
-
* Factory function that creates an end loop workflow method.
|
|
69
|
-
*
|
|
70
|
-
* @param methodName - The name of the method (for error messages)
|
|
71
|
-
* @returns A method that finalizes the loop and returns to the parent workflow
|
|
72
|
-
*/
|
|
73
|
-
export declare function CreateEndLoopWorkflow(methodName: string): EndLoopWorkflow;
|
|
74
|
-
/**
|
|
75
|
-
* Returns true if the task's output schema has any port with TypedArray format.
|
|
76
|
-
* Used by adaptive workflow methods to choose scalar vs vector task variant.
|
|
77
|
-
*/
|
|
78
|
-
export declare function hasVectorOutput(task: ITask): boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Returns true if the input object looks like vector task input: has a "vectors"
|
|
81
|
-
* property that is an array with at least one TypedArray element. Used by
|
|
82
|
-
* adaptive workflow methods so that e.g. sum({ vectors: [new Float32Array(...)] })
|
|
83
|
-
* chooses the vector variant even with no previous task.
|
|
84
|
-
*/
|
|
85
|
-
export declare function hasVectorLikeInput(input: unknown): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Type for adaptive workflow methods that dispatch to scalar or vector variant
|
|
88
|
-
* based on the previous task's output schema.
|
|
89
|
-
*/
|
|
90
|
-
export type CreateAdaptiveWorkflow<IS extends DataPorts, _OS extends DataPorts, IV extends DataPorts, _OV extends DataPorts, CS extends TaskConfig<IS> = TaskConfig<IS>, CV extends TaskConfig<IV> = TaskConfig<IV>> = (this: Workflow, input?: Partial<IS> & Partial<IV>, config?: Partial<CS> & Partial<CV>) => Workflow;
|
|
91
|
-
/**
|
|
92
|
-
* Factory that creates an adaptive workflow method: when called, inspects the
|
|
93
|
-
* output schema of the last task in the chain and delegates to the vector
|
|
94
|
-
* variant if it has TypedArray output, otherwise to the scalar variant.
|
|
95
|
-
* If there is no previous task, defaults to the scalar variant.
|
|
96
|
-
*
|
|
97
|
-
* @param scalarClass - Task class for scalar path (e.g. ScalarAddTask)
|
|
98
|
-
* @param vectorClass - Task class for vector path (e.g. VectorSumTask)
|
|
99
|
-
* @returns A method suitable for Workflow.prototype
|
|
100
|
-
*/
|
|
101
|
-
export declare function CreateAdaptiveWorkflow<IS extends DataPorts, OS extends DataPorts, IV extends DataPorts, OV extends DataPorts, CS extends TaskConfig<IS> = TaskConfig<IS>, CV extends TaskConfig<IV> = TaskConfig<IV>>(scalarClass: ITaskConstructor<IS, OS, CS>, vectorClass: ITaskConstructor<IV, OV, CV>): CreateAdaptiveWorkflow<IS, OS, IV, OV, CS, CV>;
|
|
102
34
|
export type WorkflowEventListeners = {
|
|
103
35
|
changed: (id: unknown) => void;
|
|
104
36
|
reset: () => void;
|
|
@@ -137,15 +69,20 @@ export declare class Workflow<Input extends DataPorts = DataPorts, Output extend
|
|
|
137
69
|
*/
|
|
138
70
|
constructor(cache?: TaskOutputRepository, parent?: Workflow, iteratorTask?: GraphAsTask, registry?: ServiceRegistry);
|
|
139
71
|
private _graph;
|
|
140
|
-
private
|
|
141
|
-
private
|
|
142
|
-
private
|
|
143
|
-
private
|
|
144
|
-
|
|
145
|
-
private
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
72
|
+
private _cache;
|
|
73
|
+
private _bridge?;
|
|
74
|
+
private _builder;
|
|
75
|
+
private _currentRun?;
|
|
76
|
+
/** @internal — exposes the parent's registry so a child loop-builder can inherit it */
|
|
77
|
+
private get builderRegistry();
|
|
78
|
+
/**
|
|
79
|
+
* Internal cross-instance handle for loop-builder wiring and error
|
|
80
|
+
* propagation. Returns a NARROWED interface — only the two members the
|
|
81
|
+
* package actually needs externally — so consumers cannot reach
|
|
82
|
+
* `_dataFlows`, `_registry`, or other builder internals through `wf.builder`.
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
get builder(): IWorkflowBuilderHandle;
|
|
149
86
|
outputCache(): TaskOutputRepository | undefined;
|
|
150
87
|
/**
|
|
151
88
|
* Whether this workflow is in loop builder mode.
|
|
@@ -263,18 +200,6 @@ export declare class Workflow<Input extends DataPorts = DataPorts, Output extend
|
|
|
263
200
|
* @returns The current task graph workflow
|
|
264
201
|
*/
|
|
265
202
|
reset(): Workflow;
|
|
266
|
-
/**
|
|
267
|
-
* Sets up event listeners for the task graph
|
|
268
|
-
*/
|
|
269
|
-
private setupEvents;
|
|
270
|
-
/**
|
|
271
|
-
* Clears event listeners for the task graph
|
|
272
|
-
*/
|
|
273
|
-
private clearEvents;
|
|
274
|
-
/**
|
|
275
|
-
* Handles changes to the task graph
|
|
276
|
-
*/
|
|
277
|
-
private _onChanged;
|
|
278
203
|
/**
|
|
279
204
|
* Connects outputs to inputs between tasks
|
|
280
205
|
*/
|
|
@@ -323,12 +248,6 @@ export declare class Workflow<Input extends DataPorts = DataPorts, Output extend
|
|
|
323
248
|
parent: ITask;
|
|
324
249
|
iteratorTask: ITask;
|
|
325
250
|
}): void;
|
|
326
|
-
/**
|
|
327
|
-
* Updates InputTask/OutputTask config schemas based on their connected dataflows.
|
|
328
|
-
* InputTask schema reflects its outgoing dataflow targets' input schemas.
|
|
329
|
-
* OutputTask schema reflects its incoming dataflow sources' output schemas.
|
|
330
|
-
*/
|
|
331
|
-
private static updateBoundaryTaskSchemas;
|
|
332
251
|
/**
|
|
333
252
|
* Options for auto-connect operation.
|
|
334
253
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/Workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Workflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/Workflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAkB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACrD;AAGD,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,yDAAyD;IACzD,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,qEAAqE;IACrE,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/D,2DAA2D;IAC3D,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACtE,oEAAoE;IACpE,iBAAiB,EAAE,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC;AAC1D,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,cAAc,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChG,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,cAAc,IAAI,eAAe,CACjF,sBAAsB,EACtB,KAAK,CACN,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,QAAQ,CACnB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,SAAS,GAAG,SAAS,CACpC,YAAW,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACnC;;;;;;;;OAQG;IACH,YACE,KAAK,CAAC,EAAE,oBAAoB,EAC5B,MAAM,CAAC,EAAE,QAAQ,EACjB,YAAY,CAAC,EAAE,WAAW,EAC1B,QAAQ,CAAC,EAAE,eAAe,EAc3B;IAGD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAkB;IAKlC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC,uFAAuF;IACvF,OAAO,KAAK,eAAe,GAE1B;IAED;;;;;;OAMG;IACH,IAAW,OAAO,IAAI,sBAAsB,CAE3C;IAEM,WAAW,IAAI,oBAAoB,GAAG,SAAS,CAErD;IAED;;;OAGG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;OAEG;IACH,SAAgB,MAAM,uCAA8C;IAEpE;;;;;OAKG;IACH,OAAc,cAAc,CAC1B,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EACvC,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAsB/D;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,SAAS,CAE5B;IAED;;OAEG;IACH,IAAW,KAAK,CAAC,KAAK,EAAE,SAAS,EAMhC;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;OAEG;IACI,EAAE,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI,CAE3F;IAEM,GAAG,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI,CAE5F;IAEM,IAAI,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI,CAE7F;IAEM,MAAM,CAAC,KAAK,SAAS,cAAc,EACxC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAEzC;IAED;;;;;;OAMG;IACU,GAAG,CACd,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAC1B,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAyC3C;IAED;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlC;IAED;;;;OAIG;IACI,GAAG,IAAI,QAAQ,CAGrB;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAO,GAAE,oBAAkD,GAAG,aAAa,CAExF;IAED;;;;;OAKG;IACI,gBAAgB,CACrB,OAAO,GAAE,oBAAkD,GAC1D,YAAY,EAAE,CAEhB;IAED;;;OAGG;IACI,YAAY,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAEvE;IAIM,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACvE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GACjB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACZ,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAC5F,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GACjB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACZ,IAAI,CACT,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EAEnB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GACjB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACZ,IAAI,CACT,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EAEnB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GACjB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAMnB,OAAc,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACzD,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,SAAS,CAAC;IACb,OAAc,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAC9E,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,SAAS,CAAC;IACb,OAAc,IAAI,CAChB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EAEnB,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,SAAS,CAAC;IACb,OAAc,IAAI,CAChB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EAEnB,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,SAAS,CAAC;IACb,OAAc,IAAI,CAChB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EAEnB,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACrC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,SAAS,CAAC;IAKN,QAAQ,CACb,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,EACvC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,SAAS,CAEX;IAED,OAAc,QAAQ,CACpB,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,EACxC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,SAAS,CAEX;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACjE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC;IAUhF;;;;;;;;;;OAUG;IACI,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAGzC;IAED,WAAW,IAAI,SAAS,CAEvB;IAED,MAAM,IAAI,WAAW,CAIpB;IAED;;;;OAIG;IACI,KAAK,IAAI,QAAQ,CAevB;IAED;;OAEG;IACI,OAAO,CACZ,YAAY,EAAE,OAAO,EACrB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,OAAO,EACrB,gBAAgB,EAAE,MAAM,GACvB,QAAQ,CAGV;IAEM,cAAc,CACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EACvC,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAEjE;IAED;;;;;;;;OAQG;IACI,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAC9F,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAKzB;IAMD;;;;;;;OAOG;IACI,WAAW,CAChB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EACvC,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAE,OAAO,CAAC,CAAC,CAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAE/E;IAED;;;;;;;;;;;;;OAaG;IACI,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAE/D;IAED;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC;QAAC,YAAY,EAAE,KAAK,CAAA;KAAE,GAAG,IAAI,CAIjF;IAED;;OAEG;IACH,gBAAuB,kBAAkB,EAAE,OAAO,MAAM,CAAgC;IAExF;;;;;;;;;;;;OAYG;IACH,OAAc,WAAW,CACvB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,KAAK,EACjB,UAAU,EAAE,KAAK,EACjB,OAAO,CAAC,EAAE;QACR,yEAAyE;QACzE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,4GAA4G;QAC5G,QAAQ,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,6FAA6F;QAC7F,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;KAC1C,GACA;QACD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;KAC/C,CAEA;IAED;;;OAGG;IACI,gBAAgB,IAAI,IAAI,CAI9B;IAED;;;;;;OAMG;IACI,iBAAiB,IAAI,QAAQ,CAMnC;CACF"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ServiceRegistry } from "@workglow/util";
|
|
7
|
+
import type { ConditionFn } from "../task/ConditionalTask";
|
|
8
|
+
import type { ITask, ITaskConstructor } from "../task/ITask";
|
|
9
|
+
import type { DataPorts, TaskConfig, TaskInput } from "../task/TaskTypes";
|
|
10
|
+
import { ConditionalBuilder } from "./ConditionalBuilder";
|
|
11
|
+
import type { Taskish } from "./Conversions";
|
|
12
|
+
import { LoopBuilderContext } from "./LoopBuilderContext";
|
|
13
|
+
import type { RenameOptions, Workflow } from "./Workflow";
|
|
14
|
+
/**
|
|
15
|
+
* Owns the DSL state machine for a {@link Workflow}: the list of pending
|
|
16
|
+
* dataflows queued by `.rename(...)`, the most recent error string, the
|
|
17
|
+
* optional service registry, and the optional loop-builder context.
|
|
18
|
+
*
|
|
19
|
+
* The {@link Workflow} facade keeps its public method signatures and
|
|
20
|
+
* delegates the implementation here. This split keeps the run/abort/event
|
|
21
|
+
* surface separate from the chainable graph-construction surface.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Narrowed handle returned by `Workflow.builder`. Exposes only the two
|
|
25
|
+
* members other in-package code legitimately needs to reach across instances
|
|
26
|
+
* (loop-builder wiring + error propagation), keeping `_dataFlows`,
|
|
27
|
+
* `_registry`, and other builder internals out of reach via the facade.
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export interface IWorkflowBuilderHandle {
|
|
31
|
+
readonly loopContext: LoopBuilderContext | undefined;
|
|
32
|
+
setError(message: string): void;
|
|
33
|
+
}
|
|
34
|
+
export declare class WorkflowBuilder implements IWorkflowBuilderHandle {
|
|
35
|
+
private readonly _facade;
|
|
36
|
+
private _dataFlows;
|
|
37
|
+
private _error;
|
|
38
|
+
private readonly _registry?;
|
|
39
|
+
private readonly _loopContext?;
|
|
40
|
+
constructor(facade: Workflow<any, any>, registry?: ServiceRegistry, loopContext?: LoopBuilderContext);
|
|
41
|
+
get error(): string;
|
|
42
|
+
get registry(): ServiceRegistry | undefined;
|
|
43
|
+
get loopContext(): LoopBuilderContext | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Surfaces an error onto this builder's error slot. Used by deferred
|
|
46
|
+
* loop-builder auto-connect (which runs from a child Workflow but reports
|
|
47
|
+
* the failure onto the parent's `.error`, matching the non-loop path).
|
|
48
|
+
*/
|
|
49
|
+
setError(message: string): void;
|
|
50
|
+
/** Clears pending state. Called by the facade's graph setter and reset(). */
|
|
51
|
+
resetState(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Instantiates a task and adds it to the facade's graph; emits "changed".
|
|
54
|
+
* Used both by {@link addTaskWithAutoConnect} and direct callers.
|
|
55
|
+
*/
|
|
56
|
+
addTaskInstance<I extends DataPorts, O extends DataPorts, C extends TaskConfig<I> = TaskConfig<I>>(taskClass: ITaskConstructor<I, O, C>, config: C): ITask<I, O, C>;
|
|
57
|
+
/**
|
|
58
|
+
* Adds a task with auto-connect to the previous task. Drains pending
|
|
59
|
+
* dataflows queued by `.rename(...)` first, then runs auto-connect
|
|
60
|
+
* against the immediately-previous task plus earlier tasks for any
|
|
61
|
+
* unmatched required inputs.
|
|
62
|
+
*/
|
|
63
|
+
addTaskWithAutoConnect<I extends DataPorts, O extends DataPorts, C extends TaskConfig<I> = TaskConfig<I>>(taskClass: ITaskConstructor<I, O, C>, input?: Partial<I>, config?: Partial<C>): Workflow<any, any>;
|
|
64
|
+
/**
|
|
65
|
+
* Adds an iterator/loop task to the workflow using the same auto-connect
|
|
66
|
+
* logic as {@link addTaskWithAutoConnect}, then returns a new loop-builder
|
|
67
|
+
* Workflow whose template graph the user populates.
|
|
68
|
+
*/
|
|
69
|
+
addLoopTask<I extends DataPorts, O extends DataPorts, C extends TaskConfig<I> = TaskConfig<I>>(taskClass: ITaskConstructor<I, O, C>, config?: Partial<C>): Workflow<I, O>;
|
|
70
|
+
/**
|
|
71
|
+
* Connects outputs to inputs between tasks. Validates source/target
|
|
72
|
+
* schemas before adding the dataflow; throws {@link WorkflowError} on
|
|
73
|
+
* mismatch.
|
|
74
|
+
*/
|
|
75
|
+
connect(sourceTaskId: unknown, sourceTaskPortId: string, targetTaskId: unknown, targetTaskPortId: string): void;
|
|
76
|
+
/**
|
|
77
|
+
* Renames an output of a task, queuing a pending dataflow. The dataflow's
|
|
78
|
+
* target is filled in when the next task is added via
|
|
79
|
+
* {@link addTaskWithAutoConnect}.
|
|
80
|
+
*/
|
|
81
|
+
rename(source: string, target: string, indexOrOptions?: number | RenameOptions): void;
|
|
82
|
+
/**
|
|
83
|
+
* Adds an error handler task that receives errors from the previous task.
|
|
84
|
+
* The handler task is wired from the previous task's `[error]` output port
|
|
85
|
+
* to its all-ports input.
|
|
86
|
+
*/
|
|
87
|
+
onError(handler: Taskish): void;
|
|
88
|
+
/** Removes the last task from the graph. */
|
|
89
|
+
pop(): void;
|
|
90
|
+
/** Opens a conditional branch builder rooted at the facade. */
|
|
91
|
+
createConditional(condition: ConditionFn<TaskInput>): ConditionalBuilder;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=WorkflowBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowBuilder.d.ts","sourceRoot":"","sources":["../../src/task-graph/WorkflowBuilder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAa,eAAe,EAAS,MAAM,gBAAgB,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG1D;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,qBAAa,eAAgB,YAAW,sBAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAqB;IAEnD,YACE,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAC1B,QAAQ,CAAC,EAAE,eAAe,EAC1B,WAAW,CAAC,EAAE,kBAAkB,EAKjC;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,QAAQ,IAAI,eAAe,GAAG,SAAS,CAEjD;IAED,IAAW,WAAW,IAAI,kBAAkB,GAAG,SAAS,CAEvD;IAED;;;;OAIG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAErC;IAED,6EAA6E;IACtE,UAAU,IAAI,IAAI,CAGxB;IAED;;;OAGG;IACI,eAAe,CACpB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EACvC,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAKjE;IAED;;;;;OAKG;IACI,sBAAsB,CAC3B,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAEvC,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpC,KAAK,GAAE,OAAO,CAAC,CAAC,CAAM,EACtB,MAAM,GAAE,OAAO,CAAC,CAAC,CAAM,GACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CA6EpB;IAED;;;;OAIG;IACI,WAAW,CAChB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EACvC,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAE,OAAO,CAAC,CAAC,CAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAsE/E;IAED;;;;OAIG;IACI,OAAO,CACZ,YAAY,EAAE,OAAO,EACrB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,OAAO,EACrB,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAoCN;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,MAAM,GAAG,aAAkB,GAAG,IAAI,CAqC/F;IAED;;;;OAIG;IACI,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBrC;IAED,4CAA4C;IACrC,GAAG,IAAI,IAAI,CAYjB;IAED,+DAA+D;IACxD,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAE9E;CACF"}
|