@workglow/task-graph 0.0.102 → 0.0.104
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/README.md +1 -3
- package/dist/browser.js +1096 -279
- package/dist/browser.js.map +25 -22
- package/dist/bun.js +1096 -279
- package/dist/bun.js.map +25 -22
- package/dist/common.d.ts +1 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/node.js +1096 -279
- package/dist/node.js.map +25 -22
- package/dist/task/ConditionalTask.d.ts +5 -1
- package/dist/task/ConditionalTask.d.ts.map +1 -1
- package/dist/task/FallbackTask.d.ts +244 -0
- package/dist/task/FallbackTask.d.ts.map +1 -0
- package/dist/task/FallbackTaskRunner.d.ts +49 -0
- package/dist/task/FallbackTaskRunner.d.ts.map +1 -0
- package/dist/task/GraphAsTask.d.ts +15 -12
- package/dist/task/GraphAsTask.d.ts.map +1 -1
- package/dist/task/ITask.d.ts +5 -4
- package/dist/task/ITask.d.ts.map +1 -1
- package/dist/task/InputResolver.d.ts.map +1 -1
- package/dist/task/IteratorTask.d.ts +9 -1
- package/dist/task/IteratorTask.d.ts.map +1 -1
- package/dist/task/IteratorTaskRunner.d.ts +7 -5
- package/dist/task/IteratorTaskRunner.d.ts.map +1 -1
- package/dist/task/JobQueueTask.d.ts +4 -0
- package/dist/task/JobQueueTask.d.ts.map +1 -1
- package/dist/task/MapTask.d.ts +4 -0
- package/dist/task/MapTask.d.ts.map +1 -1
- package/dist/task/ReduceTask.d.ts +4 -0
- package/dist/task/ReduceTask.d.ts.map +1 -1
- package/dist/task/StreamTypes.d.ts +26 -4
- package/dist/task/StreamTypes.d.ts.map +1 -1
- package/dist/task/Task.d.ts +20 -18
- package/dist/task/Task.d.ts.map +1 -1
- package/dist/task/TaskError.d.ts +9 -0
- package/dist/task/TaskError.d.ts.map +1 -1
- package/dist/task/TaskJSON.d.ts +7 -2
- package/dist/task/TaskJSON.d.ts.map +1 -1
- package/dist/task/TaskRunner.d.ts +20 -0
- package/dist/task/TaskRunner.d.ts.map +1 -1
- package/dist/task/TaskTypes.d.ts +5 -0
- package/dist/task/TaskTypes.d.ts.map +1 -1
- package/dist/task/WhileTask.d.ts +4 -0
- package/dist/task/WhileTask.d.ts.map +1 -1
- package/dist/task/index.d.ts +4 -1
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task-graph/GraphSchemaUtils.d.ts +51 -0
- package/dist/task-graph/GraphSchemaUtils.d.ts.map +1 -0
- package/dist/task-graph/ITaskGraph.d.ts +3 -3
- package/dist/task-graph/ITaskGraph.d.ts.map +1 -1
- package/dist/task-graph/IWorkflow.d.ts +1 -1
- package/dist/task-graph/IWorkflow.d.ts.map +1 -1
- package/dist/task-graph/TaskGraph.d.ts +6 -4
- package/dist/task-graph/TaskGraph.d.ts.map +1 -1
- package/dist/task-graph/TaskGraphRunner.d.ts +26 -0
- package/dist/task-graph/TaskGraphRunner.d.ts.map +1 -1
- package/dist/task-graph/Workflow.d.ts +26 -4
- package/dist/task-graph/Workflow.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/EXECUTION_MODEL.md +1 -1
- package/src/task/ConditionalTask.README.md +4 -4
|
@@ -9,11 +9,12 @@ import type { DataPortSchema, JsonSchema } from "@workglow/util";
|
|
|
9
9
|
* - `none`: No streaming (default). `execute()` returns `Promise<Output>`.
|
|
10
10
|
* - `append`: Each chunk is a delta (e.g., a new token).
|
|
11
11
|
* - `replace`: Each chunk is a corrected/revised snapshot of the complete output so far.
|
|
12
|
+
* - `object`: Each chunk is a progressively more complete partial object snapshot.
|
|
12
13
|
*
|
|
13
14
|
* Declared per-port via the `x-stream` schema extension property.
|
|
14
15
|
* Absent `x-stream` = `"none"`.
|
|
15
16
|
*/
|
|
16
|
-
export type StreamMode = "none" | "append" | "replace";
|
|
17
|
+
export type StreamMode = "none" | "append" | "replace" | "object";
|
|
17
18
|
/**
|
|
18
19
|
* Append mode: delta chunk (consumer accumulates).
|
|
19
20
|
* `port` identifies which output port this delta belongs to.
|
|
@@ -24,14 +25,15 @@ export type StreamTextDelta = {
|
|
|
24
25
|
textDelta: string;
|
|
25
26
|
};
|
|
26
27
|
/**
|
|
27
|
-
* Object delta for
|
|
28
|
+
* Object delta for structured/object streaming.
|
|
28
29
|
* `port` identifies which output port this delta belongs to.
|
|
29
|
-
*
|
|
30
|
+
* Each `objectDelta` is a progressively more complete partial object snapshot.
|
|
31
|
+
* Consumers should replace (not merge) their state with the latest delta.
|
|
30
32
|
*/
|
|
31
33
|
export type StreamObjectDelta = {
|
|
32
34
|
type: "object-delta";
|
|
33
35
|
port: string;
|
|
34
|
-
objectDelta: unknown
|
|
36
|
+
objectDelta: Record<string, unknown>;
|
|
35
37
|
};
|
|
36
38
|
/**
|
|
37
39
|
* Replace mode: full snapshot chunk (replaces previous state).
|
|
@@ -124,4 +126,24 @@ export declare function getAppendPortId(schema: DataPortSchema): string | undefi
|
|
|
124
126
|
* @returns true if the edge should accumulate; false if stream can pass through
|
|
125
127
|
*/
|
|
126
128
|
export declare function edgeNeedsAccumulation(sourceSchema: DataPortSchema, sourcePort: string, targetSchema: DataPortSchema, targetPort: string): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Returns the port ID (property name) of the first output port that declares
|
|
131
|
+
* `x-stream: "object"`, or `undefined` if no such port exists.
|
|
132
|
+
*
|
|
133
|
+
* @param schema - The task's output DataPortSchema
|
|
134
|
+
* @returns The port name with object streaming, or undefined
|
|
135
|
+
*/
|
|
136
|
+
export declare function getObjectPortId(schema: DataPortSchema): string | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* Returns a map of port names to their JSON Schemas for every output port
|
|
139
|
+
* that declares `"x-structured-output": true`.
|
|
140
|
+
*
|
|
141
|
+
* @param schema - The task's output DataPortSchema
|
|
142
|
+
* @returns Map of port-name → JSON Schema for structured output ports
|
|
143
|
+
*/
|
|
144
|
+
export declare function getStructuredOutputSchemas(schema: DataPortSchema): Map<string, JsonSchema>;
|
|
145
|
+
/**
|
|
146
|
+
* Returns true if the schema has any output port with `"x-structured-output": true`.
|
|
147
|
+
*/
|
|
148
|
+
export declare function hasStructuredOutput(schema: DataPortSchema): boolean;
|
|
127
149
|
//# sourceMappingURL=StreamTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamTypes.d.ts","sourceRoot":"","sources":["../../src/task/StreamTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjE
|
|
1
|
+
{"version":3,"file":"StreamTypes.d.ts","sourceRoot":"","sources":["../../src/task/StreamTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACzD,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAChD,eAAe,GACf,iBAAiB,GACjB,cAAc,CAAC,MAAM,CAAC,GACtB,YAAY,CAAC,MAAM,CAAC,GACpB,WAAW,CAAC;AAMhB;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAOjG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,GACrB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAc3C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,cAAc,GAAG,UAAU,CAc5E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,YAAY,IAAI,cAAc,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACzC,GAAG,OAAO,CAGV;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAU1E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAKT;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAa1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEnE"}
|
package/dist/task/Task.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { TaskGraph } from "../task-graph/TaskGraph";
|
|
|
8
8
|
import type { IExecuteContext, IExecuteReactiveContext, IRunConfig, ITask } from "./ITask";
|
|
9
9
|
import { TaskError } from "./TaskError";
|
|
10
10
|
import { type TaskEventListener, type TaskEventListeners, type TaskEventParameters, type TaskEvents } from "./TaskEvents";
|
|
11
|
-
import type { JsonTaskItem, TaskGraphItemJson } from "./TaskJSON";
|
|
11
|
+
import type { JsonTaskItem, TaskGraphItemJson, TaskGraphJsonOptions } from "./TaskJSON";
|
|
12
12
|
import { TaskRunner } from "./TaskRunner";
|
|
13
13
|
import { TaskStatus, type TaskConfig, type TaskInput, type TaskOutput, type TaskTypeName } from "./TaskTypes";
|
|
14
14
|
/**
|
|
@@ -165,6 +165,10 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
165
165
|
* The configuration of the task
|
|
166
166
|
*/
|
|
167
167
|
config: Config;
|
|
168
|
+
/**
|
|
169
|
+
* Task id from config (read-only).
|
|
170
|
+
*/
|
|
171
|
+
get id(): unknown;
|
|
168
172
|
/**
|
|
169
173
|
* Runtime configuration (not serialized with the task).
|
|
170
174
|
* Set via the constructor's third argument or mutated by the graph runner.
|
|
@@ -296,12 +300,14 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
296
300
|
* @param outputSchema - The new output schema (optional, will use current schema if not provided)
|
|
297
301
|
*/
|
|
298
302
|
protected emitSchemaChange(inputSchema?: DataPortSchema, outputSchema?: DataPortSchema): void;
|
|
299
|
-
/**
|
|
300
|
-
* The compiled config schema (cached per task type)
|
|
301
|
-
*/
|
|
302
|
-
private static _configSchemaNode;
|
|
303
303
|
/**
|
|
304
304
|
* Gets the compiled config schema node, or undefined if no configSchema is defined.
|
|
305
|
+
*
|
|
306
|
+
* The compiled schema is cached directly on the concrete class object (not in a shared
|
|
307
|
+
* inherited Map) so that each subclass always uses its own configSchema() result.
|
|
308
|
+
* A shared Map keyed only by type name can be poisoned if a different class computes
|
|
309
|
+
* and caches the schema first — e.g., due to cross-package static-method resolution
|
|
310
|
+
* inconsistencies in bundled outputs.
|
|
305
311
|
*/
|
|
306
312
|
private static getConfigSchemaNode;
|
|
307
313
|
/**
|
|
@@ -310,24 +316,18 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
310
316
|
* Returns config as-is if no configSchema is defined.
|
|
311
317
|
*/
|
|
312
318
|
private validateAndApplyConfigDefaults;
|
|
313
|
-
/**
|
|
314
|
-
* The compiled input schema
|
|
315
|
-
*/
|
|
316
|
-
private static _inputSchemaNode;
|
|
317
319
|
protected static generateInputSchemaNode(schema: DataPortSchema): SchemaNode;
|
|
318
320
|
/**
|
|
319
|
-
* Gets the compiled input schema
|
|
321
|
+
* Gets the compiled input schema, cached per class (not in a shared inherited Map).
|
|
322
|
+
* Uses Object.hasOwn so each subclass stores its own compiled schema and never
|
|
323
|
+
* picks up a stale entry cached by a different class with the same type name.
|
|
320
324
|
*/
|
|
321
|
-
protected static getInputSchemaNode(
|
|
322
|
-
protected getInputSchemaNode(
|
|
325
|
+
protected static getInputSchemaNode(): SchemaNode;
|
|
326
|
+
protected getInputSchemaNode(): SchemaNode;
|
|
323
327
|
/**
|
|
324
328
|
* Validates an input data object against the task's input schema
|
|
325
329
|
*/
|
|
326
330
|
validateInput(input: Partial<Input>): Promise<boolean>;
|
|
327
|
-
/**
|
|
328
|
-
* Gets the task ID from the config
|
|
329
|
-
*/
|
|
330
|
-
id(): unknown;
|
|
331
331
|
/**
|
|
332
332
|
* Strips symbol properties from an object to make it serializable
|
|
333
333
|
* @param obj The object to strip symbols from
|
|
@@ -336,14 +336,16 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
336
336
|
private stripSymbols;
|
|
337
337
|
/**
|
|
338
338
|
* Serializes the task and its subtasks into a format that can be stored
|
|
339
|
+
* @param _options Options controlling serialization (used by subclasses)
|
|
339
340
|
* @returns The serialized task and subtasks
|
|
340
341
|
*/
|
|
341
|
-
toJSON(): TaskGraphItemJson;
|
|
342
|
+
toJSON(_options?: TaskGraphJsonOptions): TaskGraphItemJson;
|
|
342
343
|
/**
|
|
343
344
|
* Converts the task to a JSON format suitable for dependency tracking
|
|
345
|
+
* @param options Options controlling serialization (used by subclasses)
|
|
344
346
|
* @returns The task and subtasks in JSON thats easier for humans to read
|
|
345
347
|
*/
|
|
346
|
-
toDependencyJSON(): JsonTaskItem;
|
|
348
|
+
toDependencyJSON(options?: TaskGraphJsonOptions): JsonTaskItem;
|
|
347
349
|
/**
|
|
348
350
|
* Checks if the task has children. Useful to gate to use of the internal subGraph
|
|
349
351
|
* as this will return without creating a new graph if graph is non-existent .
|
package/dist/task/Task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/task/Task.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,YAAY,EACZ,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAGL,SAAS,EAEV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/task/Task.ts"],"names":[],"mappings":"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"}
|
package/dist/task/TaskError.d.ts
CHANGED
|
@@ -33,6 +33,15 @@ export declare class TaskAbortedError extends TaskError {
|
|
|
33
33
|
static readonly type: string;
|
|
34
34
|
constructor(message?: string);
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* A task error that is caused by a task exceeding its timeout
|
|
38
|
+
*
|
|
39
|
+
* Examples: task.runConfig.timeout exceeded during execution
|
|
40
|
+
*/
|
|
41
|
+
export declare class TaskTimeoutError extends TaskAbortedError {
|
|
42
|
+
static readonly type: string;
|
|
43
|
+
constructor(timeoutMs?: number);
|
|
44
|
+
}
|
|
36
45
|
/**
|
|
37
46
|
* A task error that is caused by a task failing
|
|
38
47
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskError.d.ts","sourceRoot":"","sources":["../../src/task/TaskError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,qBAAa,SAAU,SAAQ,SAAS;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAe;gBAC/B,OAAO,EAAE,MAAM;CAG5B;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA4B;gBAC5C,OAAO,EAAE,MAAM;CAG5B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAmB;gBACnC,OAAO,EAAE,MAAM;CAG5B;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAsB;gBACtC,OAAO,GAAE,MAAuB;CAG7C;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAqB;gBACrC,OAAO,GAAE,MAAsB;CAG5C;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAwB;IAC7C,QAAQ,EAAE,QAAQ,CAAC;gBACd,GAAG,EAAE,QAAQ;CAI1B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAmB;gBACnC,OAAO,GAAE,MAA0C;CAGhE;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA2B;gBAC3C,OAAO,GAAE,MAA6B;CAGnD"}
|
|
1
|
+
{"version":3,"file":"TaskError.d.ts","sourceRoot":"","sources":["../../src/task/TaskError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,qBAAa,SAAU,SAAQ,SAAS;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAe;gBAC/B,OAAO,EAAE,MAAM;CAG5B;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA4B;gBAC5C,OAAO,EAAE,MAAM;CAG5B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAmB;gBACnC,OAAO,EAAE,MAAM;CAG5B;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAsB;gBACtC,OAAO,GAAE,MAAuB;CAG7C;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAsB;gBACtC,SAAS,CAAC,EAAE,MAAM;CAG/B;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAqB;gBACrC,OAAO,GAAE,MAAsB;CAG5C;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAwB;IAC7C,QAAQ,EAAE,QAAQ,CAAC;gBACd,GAAG,EAAE,QAAQ;CAI1B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAmB;gBACnC,OAAO,GAAE,MAA0C;CAGhE;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA2B;gBAC3C,OAAO,GAAE,MAA6B;CAGnD"}
|
package/dist/task/TaskJSON.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import { MapTaskConfig } from "./MapTask";
|
|
|
13
13
|
import { ReduceTaskConfig } from "./ReduceTask";
|
|
14
14
|
import { TaskConfig, TaskInput } from "./TaskTypes";
|
|
15
15
|
import { WhileTaskConfig } from "./WhileTask";
|
|
16
|
+
import type { ITaskConstructor } from "./ITask";
|
|
16
17
|
/**
|
|
17
18
|
* Represents a single task item in the JSON configuration.
|
|
18
19
|
* This structure defines how tasks should be configured in JSON format.
|
|
@@ -64,6 +65,10 @@ export type DataflowJson = {
|
|
|
64
65
|
targetTaskId: unknown;
|
|
65
66
|
targetTaskPortId: string;
|
|
66
67
|
};
|
|
68
|
+
export interface TaskGraphJsonOptions {
|
|
69
|
+
/** When true, synthetic InputTask/OutputTask boundary nodes are added at each graph level */
|
|
70
|
+
readonly withBoundaryNodes?: boolean;
|
|
71
|
+
}
|
|
67
72
|
/**
|
|
68
73
|
* Creates a task instance from a JSON task item configuration
|
|
69
74
|
* Validates required fields and resolves task type from registry
|
|
@@ -80,11 +85,11 @@ export declare const createGraphFromDependencyJSON: (jsonItems: JsonTaskItem[])
|
|
|
80
85
|
* @returns A new task instance
|
|
81
86
|
* @throws Error if required fields are missing or invalid
|
|
82
87
|
*/
|
|
83
|
-
export declare const createTaskFromGraphJSON: (item: TaskGraphItemJson) => import("./ITask").ITask<any, any, any>;
|
|
88
|
+
export declare const createTaskFromGraphJSON: (item: TaskGraphItemJson, taskRegistry?: Map<string, ITaskConstructor<any, any, any>>) => import("./ITask").ITask<any, any, any>;
|
|
84
89
|
/**
|
|
85
90
|
* Creates a TaskGraph instance from its JSON representation
|
|
86
91
|
* @param graphJsonObj The JSON representation of the task graph
|
|
87
92
|
* @returns A new TaskGraph instance with all tasks and data flows
|
|
88
93
|
*/
|
|
89
|
-
export declare const createGraphFromGraphJSON: (graphJsonObj: TaskGraphJson) => TaskGraph;
|
|
94
|
+
export declare const createGraphFromGraphJSON: (graphJsonObj: TaskGraphJson, taskRegistry?: Map<string, ITaskConstructor<any, any, any>>) => TaskGraph;
|
|
90
95
|
//# sourceMappingURL=TaskJSON.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskJSON.d.ts","sourceRoot":"","sources":["../../src/task/TaskJSON.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAe,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskJSON.d.ts","sourceRoot":"","sources":["../../src/task/TaskJSON.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { type Taskish } from "../task-graph/Conversions";
|
|
|
9
9
|
import { IRunConfig, ITask } from "./ITask";
|
|
10
10
|
import { ITaskRunner } from "./ITaskRunner";
|
|
11
11
|
import { type StreamEvent } from "./StreamTypes";
|
|
12
|
+
import { TaskTimeoutError } from "./TaskError";
|
|
12
13
|
import { TaskConfig, TaskInput, TaskOutput } from "./TaskTypes";
|
|
13
14
|
/**
|
|
14
15
|
* Responsible for running tasks
|
|
@@ -42,6 +43,17 @@ export declare class TaskRunner<Input extends TaskInput = TaskInput, Output exte
|
|
|
42
43
|
* upstream streaming edges. Keyed by input port name.
|
|
43
44
|
*/
|
|
44
45
|
inputStreams?: Map<string, ReadableStream<StreamEvent>>;
|
|
46
|
+
/**
|
|
47
|
+
* Timer handle for task-level timeout. Set when `IRunConfig.timeout` is
|
|
48
|
+
* provided and cleared on completion, error, or abort.
|
|
49
|
+
*/
|
|
50
|
+
protected timeoutTimer?: ReturnType<typeof setTimeout>;
|
|
51
|
+
/**
|
|
52
|
+
* When a timeout triggers the abort, this holds the TaskTimeoutError so
|
|
53
|
+
* handleAbort() can surface the correct error type instead of a generic
|
|
54
|
+
* TaskAbortedError.
|
|
55
|
+
*/
|
|
56
|
+
protected pendingTimeoutError?: TaskTimeoutError;
|
|
45
57
|
/**
|
|
46
58
|
* Whether the streaming task runner should accumulate text-delta chunks and
|
|
47
59
|
* emit an enriched finish event. Set from IRunConfig.shouldAccumulate.
|
|
@@ -55,6 +67,10 @@ export declare class TaskRunner<Input extends TaskInput = TaskInput, Output exte
|
|
|
55
67
|
* @param task The task to run
|
|
56
68
|
*/
|
|
57
69
|
constructor(task: ITask<Input, Output, Config>);
|
|
70
|
+
/**
|
|
71
|
+
* Returns a label for timing this task's execution.
|
|
72
|
+
*/
|
|
73
|
+
protected get timerLabel(): string;
|
|
58
74
|
/**
|
|
59
75
|
* Runs the task and returns the output
|
|
60
76
|
* @param overrides Optional input overrides
|
|
@@ -103,6 +119,10 @@ export declare class TaskRunner<Input extends TaskInput = TaskInput, Output exte
|
|
|
103
119
|
protected handleStart(config?: IRunConfig): Promise<void>;
|
|
104
120
|
private updateProgress;
|
|
105
121
|
protected handleStartReactive(): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Clears the timeout timer if one is active.
|
|
124
|
+
*/
|
|
125
|
+
protected clearTimeoutTimer(): void;
|
|
106
126
|
/**
|
|
107
127
|
* Handles task abort
|
|
108
128
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/TaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"TaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/TaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoC,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAA0B,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAKL,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAE5E;;;GAGG;AACH,qBAAa,UAAU,CACrB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,YAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC7C;;OAEG;IACH,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,eAAe,UAAS;IAElC;;OAEG;IACH,SAAgB,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAE7C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAyB;IAE5D;;;;OAIG;IACI,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAE/D;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAEvD;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IAEjD;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAQ;IAE3C;;;OAGG;gBACS,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAM9C;;OAEG;IACH,SAAS,KAAK,UAAU,IAAI,MAAM,CAEjC;IAMD;;;;;OAKG;IACG,GAAG,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAkEnF;;;;OAIG;IACU,WAAW,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqCzE;;OAEG;IACI,KAAK,IAAI,IAAI;IAWpB,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAMnD;;OAEG;cACa,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUtE;;OAEG;cACa,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlF;;;;;;;;;;;;;;OAcG;cACa,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqI/E;;OAEG;cACa,WAAW,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDnE,OAAO,CAAC,cAAc,CAKd;cAEQ,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAOnC;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;cAa5B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;cACa,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;cAgB/B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;OAGG;cACa,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;cAqBtC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;OAIG;cACa,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;CAKjB"}
|
package/dist/task/TaskTypes.d.ts
CHANGED
|
@@ -58,6 +58,7 @@ export type TaskTypeName = string;
|
|
|
58
58
|
* - inputSchema: dynamic input schema override (for tasks like InputTask)
|
|
59
59
|
* - outputSchema: dynamic output schema override (for tasks like OutputTask)
|
|
60
60
|
* - extras: arbitrary user data serialized with the task JSON
|
|
61
|
+
* - timeout: max execution time in milliseconds (auto-aborts with TaskTimeoutError)
|
|
61
62
|
*/
|
|
62
63
|
export declare const TaskConfigSchema: {
|
|
63
64
|
readonly type: "object";
|
|
@@ -74,6 +75,10 @@ export declare const TaskConfigSchema: {
|
|
|
74
75
|
readonly cacheable: {
|
|
75
76
|
readonly type: "boolean";
|
|
76
77
|
};
|
|
78
|
+
readonly timeout: {
|
|
79
|
+
readonly type: "number";
|
|
80
|
+
readonly description: "Max execution time in milliseconds";
|
|
81
|
+
};
|
|
77
82
|
readonly inputSchema: {
|
|
78
83
|
readonly type: "object";
|
|
79
84
|
readonly properties: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskTypes.d.ts","sourceRoot":"","sources":["../../src/task/TaskTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,YAAY,GACZ,WAAW,GACX,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,eAAO,MAAM,UAAU;IACrB,0CAA0C;;IAE1C,gDAAgD;;IAEhD,gCAAgC;;IAEhC,uDAAuD;;IAEvD,sCAAsC;;IAEtC,8CAA8C;;IAE9C,sBAAsB;;CAE2B,CAAC;AAMpD,MAAM,WAAW,SAAU,SAAQ,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,gCAAgC;AAChC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,MAAM,MAAM,kBAAkB,GAC1B;IACE,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;CAChD,CAAC;AAEN,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAMlC
|
|
1
|
+
{"version":3,"file":"TaskTypes.d.ts","sourceRoot":"","sources":["../../src/task/TaskTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,YAAY,GACZ,WAAW,GACX,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,eAAO,MAAM,UAAU;IACrB,0CAA0C;;IAE1C,gDAAgD;;IAEhD,gCAAgC;;IAEhC,uDAAuD;;IAEvD,sCAAsC;;IAEtC,8CAA8C;;IAE9C,sBAAsB;;CAE2B,CAAC;AAMpD,MAAM,WAAW,SAAU,SAAQ,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,gCAAgC;AAChC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,MAAM,MAAM,kBAAkB,GAC1B;IACE,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;CAChD,CAAC;AAEN,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAMlC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BM,CAAC;AAEpC,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,aAAa,GAAG,cAAc,CAAC,GAAG;IACrF,wDAAwD;IACxD,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,0DAA0D;IAC1D,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/task/WhileTask.d.ts
CHANGED
|
@@ -64,6 +64,10 @@ export declare const whileTaskConfigSchema: {
|
|
|
64
64
|
readonly cacheable: {
|
|
65
65
|
readonly type: "boolean";
|
|
66
66
|
};
|
|
67
|
+
readonly timeout: {
|
|
68
|
+
readonly type: "number";
|
|
69
|
+
readonly description: "Max execution time in milliseconds";
|
|
70
|
+
};
|
|
67
71
|
readonly inputSchema: {
|
|
68
72
|
readonly type: "object";
|
|
69
73
|
readonly properties: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhileTask.d.ts","sourceRoot":"","sources":["../../src/task/WhileTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAWlC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;AAEtF,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"WhileTask.d.ts","sourceRoot":"","sources":["../../src/task/WhileTask.ts"],"names":[],"mappings":"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"}
|
package/dist/task/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export * from "./ConditionalTask";
|
|
7
7
|
export * from "./ConditionUtils";
|
|
8
|
+
export * from "./FallbackTask";
|
|
9
|
+
export * from "./FallbackTaskRunner";
|
|
8
10
|
export * from "./GraphAsTask";
|
|
9
11
|
export * from "./GraphAsTaskRunner";
|
|
10
12
|
export * from "./InputResolver";
|
|
@@ -27,9 +29,10 @@ export * from "./TaskTypes";
|
|
|
27
29
|
export * from "./WhileTask";
|
|
28
30
|
export * from "./WhileTaskRunner";
|
|
29
31
|
import { ConditionalTask } from "./ConditionalTask";
|
|
32
|
+
import { FallbackTask } from "./FallbackTask";
|
|
30
33
|
import { GraphAsTask } from "./GraphAsTask";
|
|
31
34
|
import { MapTask } from "./MapTask";
|
|
32
35
|
import { ReduceTask } from "./ReduceTask";
|
|
33
36
|
import { WhileTask } from "./WhileTask";
|
|
34
|
-
export declare const registerBaseTasks: () => (typeof GraphAsTask | typeof ConditionalTask | typeof MapTask | typeof WhileTask | typeof ReduceTask)[];
|
|
37
|
+
export declare const registerBaseTasks: () => (typeof GraphAsTask | typeof ConditionalTask | typeof FallbackTask | typeof MapTask | typeof WhileTask | typeof ReduceTask)[];
|
|
35
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/task/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,iBAAiB,qIAI7B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type DataPortSchema } from "@workglow/util";
|
|
7
|
+
import type { TaskGraph } from "./TaskGraph";
|
|
8
|
+
import type { TaskIdType } from "../task/TaskTypes";
|
|
9
|
+
import type { JsonTaskItem, TaskGraphJson } from "../task/TaskJSON";
|
|
10
|
+
export interface GraphSchemaOptions {
|
|
11
|
+
/**
|
|
12
|
+
* When true, annotate each property with `x-source-task-id` or `x-source-task-ids`
|
|
13
|
+
* to identify which task(s) the property originates from.
|
|
14
|
+
*/
|
|
15
|
+
readonly trackOrigins?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Calculates the depth (longest path from any starting node) for each task in the graph.
|
|
19
|
+
* @returns A map of task IDs to their depths
|
|
20
|
+
*/
|
|
21
|
+
export declare function calculateNodeDepths(graph: TaskGraph): Map<TaskIdType, number>;
|
|
22
|
+
/**
|
|
23
|
+
* Computes the input schema for a graph by examining root tasks (no incoming edges)
|
|
24
|
+
* and non-root tasks with unsatisfied required inputs.
|
|
25
|
+
*
|
|
26
|
+
* When `options.trackOrigins` is true, each property is annotated with
|
|
27
|
+
* `x-source-task-id` (single origin) or `x-source-task-ids` (multiple origins).
|
|
28
|
+
*/
|
|
29
|
+
export declare function computeGraphInputSchema(graph: TaskGraph, options?: GraphSchemaOptions): DataPortSchema;
|
|
30
|
+
/**
|
|
31
|
+
* Computes the output schema for a graph by examining leaf tasks (no outgoing edges)
|
|
32
|
+
* at the maximum depth level.
|
|
33
|
+
*
|
|
34
|
+
* When `options.trackOrigins` is true, each property is annotated with
|
|
35
|
+
* `x-source-task-id` (single origin) or `x-source-task-ids` (multiple origins).
|
|
36
|
+
*/
|
|
37
|
+
export declare function computeGraphOutputSchema(graph: TaskGraph, options?: GraphSchemaOptions): DataPortSchema;
|
|
38
|
+
/**
|
|
39
|
+
* Adds synthetic InputTask and OutputTask boundary nodes to a TaskGraphJson.
|
|
40
|
+
* The boundary nodes represent the graph's external interface.
|
|
41
|
+
*
|
|
42
|
+
* InputTask is placed first in the tasks array, OutputTask last.
|
|
43
|
+
* Per-property dataflows connect them to the origin tasks using origin tracking annotations.
|
|
44
|
+
*/
|
|
45
|
+
export declare function addBoundaryNodesToGraphJson(json: TaskGraphJson, graph: TaskGraph): TaskGraphJson;
|
|
46
|
+
/**
|
|
47
|
+
* Adds synthetic InputTask and OutputTask boundary nodes to a dependency JSON items array.
|
|
48
|
+
* Per-property dependencies connect them to the origin tasks using origin tracking annotations.
|
|
49
|
+
*/
|
|
50
|
+
export declare function addBoundaryNodesToDependencyJson(items: JsonTaskItem[], graph: TaskGraph): JsonTaskItem[];
|
|
51
|
+
//# sourceMappingURL=GraphSchemaUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphSchemaUtils.d.ts","sourceRoot":"","sources":["../../src/task-graph/GraphSchemaUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAEV,YAAY,EAEZ,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAwB7E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,cAAc,CA6GhB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,cAAc,CAuFhB;AA2CD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,SAAS,GACf,aAAa,CAqFf;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,YAAY,EAAE,EACrB,KAAK,EAAE,SAAS,GACf,YAAY,EAAE,CAoFhB"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ITask } from "../task/ITask";
|
|
7
7
|
import type { StreamEvent } from "../task/StreamTypes";
|
|
8
|
-
import { JsonTaskItem, TaskGraphJson } from "../task/TaskJSON";
|
|
8
|
+
import { JsonTaskItem, TaskGraphJson, TaskGraphJsonOptions } from "../task/TaskJSON";
|
|
9
9
|
import type { TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
|
|
10
10
|
import { Dataflow, DataflowIdType } from "./Dataflow";
|
|
11
11
|
import type { TaskGraphRunConfig } from "./TaskGraph";
|
|
@@ -32,8 +32,8 @@ export interface ITaskGraph {
|
|
|
32
32
|
getSourceTasks(taskId: unknown): ITask[];
|
|
33
33
|
getTargetTasks(taskId: unknown): ITask[];
|
|
34
34
|
removeTask(taskId: unknown): void;
|
|
35
|
-
toJSON(): TaskGraphJson;
|
|
36
|
-
toDependencyJSON(): JsonTaskItem[];
|
|
35
|
+
toJSON(options?: TaskGraphJsonOptions): TaskGraphJson;
|
|
36
|
+
toDependencyJSON(options?: TaskGraphJsonOptions): JsonTaskItem[];
|
|
37
37
|
subscribe<Event extends TaskGraphEvents>(event: Event, fn: TaskGraphEventListener<Event>): () => void;
|
|
38
38
|
subscribeToTaskStatus(callback: (taskId: TaskIdType, status: TaskStatus) => void): () => void;
|
|
39
39
|
subscribeToTaskProgress(callback: (taskId: TaskIdType, progress: number, message?: string, ...args: any[]) => void): () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITaskGraph.d.ts","sourceRoot":"","sources":["../../src/task-graph/ITaskGraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ITaskGraph.d.ts","sourceRoot":"","sources":["../../src/task-graph/ITaskGraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,UAAU;IACzB,IAAI,MAAM,IAAI,eAAe,CAAC;IAC9B,GAAG,CAAC,aAAa,SAAS,UAAU,EAClC,KAAK,CAAC,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5C,WAAW,CAAC,MAAM,SAAS,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,8BAA8B,CAC5B,aAAa,SAAS,UAAU,EAChC,KAAK,SAAS,qBAAqB,GAAG,qBAAqB,EAE3D,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,EACxC,aAAa,EAAE,KAAK,GACnB,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IAC3C,QAAQ,IAAI,KAAK,EAAE,CAAC;IACpB,wBAAwB,IAAI,KAAK,EAAE,CAAC;IACpC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtD,YAAY,IAAI,QAAQ,EAAE,CAAC;IAC3B,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;IAChD,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;IAChD,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;IACzC,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;IACzC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAAC;IACtD,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,YAAY,EAAE,CAAC;IACjE,SAAS,CAAC,KAAK,SAAS,eAAe,EACrC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAChC,MAAM,IAAI,CAAC;IACd,qBAAqB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC9F,uBAAuB,CACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACzF,MAAM,IAAI,CAAC;IACd,yBAAyB,CACvB,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,GACjE,MAAM,IAAI,CAAC;IACd,wBAAwB,CAAC,SAAS,EAAE;QAClC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;QAC7C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QACjE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;KACzE,GAAG,MAAM,IAAI,CAAC;CAChB"}
|
|
@@ -8,6 +8,6 @@ import { TaskGraph } from "./TaskGraph";
|
|
|
8
8
|
import { GraphResult, PROPERTY_ARRAY } from "./TaskGraphRunner";
|
|
9
9
|
export interface IWorkflow<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput> {
|
|
10
10
|
graph: TaskGraph;
|
|
11
|
-
run(input?: Input): Promise<GraphResult<Output, typeof PROPERTY_ARRAY>>;
|
|
11
|
+
run(input?: Partial<Input>): Promise<GraphResult<Output, typeof PROPERTY_ARRAY>>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=IWorkflow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IWorkflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/IWorkflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,SAAS,CACxB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU;IAEtC,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"IWorkflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/IWorkflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,SAAS,CACxB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU;IAEtC,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC;CAClF"}
|
|
@@ -7,7 +7,7 @@ import { DirectedAcyclicGraph, EventEmitter, ServiceRegistry } from "@workglow/u
|
|
|
7
7
|
import { TaskOutputRepository } from "../storage/TaskOutputRepository";
|
|
8
8
|
import type { ITask } from "../task/ITask";
|
|
9
9
|
import type { StreamEvent } from "../task/StreamTypes";
|
|
10
|
-
import { JsonTaskItem, TaskGraphJson } from "../task/TaskJSON";
|
|
10
|
+
import type { JsonTaskItem, TaskGraphJson, TaskGraphJsonOptions } from "../task/TaskJSON";
|
|
11
11
|
import type { TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
|
|
12
12
|
import { type PipeFunction } from "./Conversions";
|
|
13
13
|
import { Dataflow, type DataflowIdType } from "./Dataflow";
|
|
@@ -173,14 +173,16 @@ export declare class TaskGraph implements ITaskGraph {
|
|
|
173
173
|
resetGraph(): void;
|
|
174
174
|
/**
|
|
175
175
|
* Converts the task graph to a JSON format suitable for dependency tracking
|
|
176
|
-
* @
|
|
176
|
+
* @param options Options controlling serialization (e.g., boundary nodes)
|
|
177
|
+
* @returns A TaskGraphJson object representing the tasks and dataflows
|
|
177
178
|
*/
|
|
178
|
-
toJSON(): TaskGraphJson;
|
|
179
|
+
toJSON(options?: TaskGraphJsonOptions): TaskGraphJson;
|
|
179
180
|
/**
|
|
180
181
|
* Converts the task graph to a JSON format suitable for dependency tracking
|
|
182
|
+
* @param options Options controlling serialization (e.g., boundary nodes)
|
|
181
183
|
* @returns An array of JsonTaskItem objects, each representing a task and its dependencies
|
|
182
184
|
*/
|
|
183
|
-
toDependencyJSON(): JsonTaskItem[];
|
|
185
|
+
toDependencyJSON(options?: TaskGraphJsonOptions): JsonTaskItem[];
|
|
184
186
|
/**
|
|
185
187
|
* Event emitter for task lifecycle events
|
|
186
188
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskGraph.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAS,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskGraph.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,14 @@ export declare class TaskGraphRunner {
|
|
|
76
76
|
* @param reactiveScheduler The scheduler to use for reactive task execution
|
|
77
77
|
*/
|
|
78
78
|
constructor(graph: TaskGraph, outputCache?: TaskOutputRepository, processScheduler?: DependencyBasedScheduler, reactiveScheduler?: TopologicalScheduler);
|
|
79
|
+
/**
|
|
80
|
+
* Unique ID for the current run, used for timing labels.
|
|
81
|
+
*/
|
|
82
|
+
protected runId: string;
|
|
83
|
+
/**
|
|
84
|
+
* Returns a label for timing this graph's execution.
|
|
85
|
+
*/
|
|
86
|
+
protected get timerLabel(): string;
|
|
79
87
|
runGraph<ExecuteOutput extends TaskOutput>(input?: TaskInput, config?: TaskGraphRunConfig): Promise<GraphResultArray<ExecuteOutput>>;
|
|
80
88
|
/**
|
|
81
89
|
* Runs the task graph in a reactive manner
|
|
@@ -133,6 +141,24 @@ export declare class TaskGraphRunner {
|
|
|
133
141
|
* @param node The task that produced the error
|
|
134
142
|
*/
|
|
135
143
|
protected pushErrorFromNodeToEdges(graph: TaskGraph, node: ITask): void;
|
|
144
|
+
/**
|
|
145
|
+
* Returns true if the task has any outgoing dataflow edges that use the
|
|
146
|
+
* error output port (`[error]`). These edges indicate that the task's
|
|
147
|
+
* errors should be routed to downstream handler tasks instead of failing
|
|
148
|
+
* the entire graph.
|
|
149
|
+
*/
|
|
150
|
+
protected hasErrorOutputEdges(task: ITask): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Routes a failed task's error through its error-port dataflow edges.
|
|
153
|
+
*
|
|
154
|
+
* For each outgoing dataflow:
|
|
155
|
+
* - Error-port edges (`[error]`) receive the error data and get COMPLETED status
|
|
156
|
+
* - Non-error-port edges get DISABLED status (the task didn't produce normal output)
|
|
157
|
+
*
|
|
158
|
+
* After setting edge statuses, propagateDisabledStatus() cascades DISABLED
|
|
159
|
+
* through any downstream tasks that only had non-error inputs from this task.
|
|
160
|
+
*/
|
|
161
|
+
protected pushErrorOutputToEdges(task: ITask): void;
|
|
136
162
|
/**
|
|
137
163
|
* Propagates DISABLED status through the graph.
|
|
138
164
|
*
|