@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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import type
|
|
6
|
+
import { type DataPortSchema } from "@workglow/util";
|
|
7
7
|
import { type UIConditionConfig } from "./ConditionUtils";
|
|
8
8
|
import type { IExecuteContext } from "./ITask";
|
|
9
9
|
import { Task } from "./Task";
|
|
@@ -104,6 +104,10 @@ export declare const conditionalTaskConfigSchema: {
|
|
|
104
104
|
readonly cacheable: {
|
|
105
105
|
readonly type: "boolean";
|
|
106
106
|
};
|
|
107
|
+
readonly timeout: {
|
|
108
|
+
readonly type: "number";
|
|
109
|
+
readonly description: "Max execution time in milliseconds";
|
|
110
|
+
};
|
|
107
111
|
readonly inputSchema: {
|
|
108
112
|
readonly type: "object";
|
|
109
113
|
readonly properties: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalTask.d.ts","sourceRoot":"","sources":["../../src/task/ConditionalTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ConditionalTask.d.ts","sourceRoot":"","sources":["../../src/task/ConditionalTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,244 @@
|
|
|
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 { GraphAsTask, GraphAsTaskConfig } from "./GraphAsTask";
|
|
8
|
+
import { FallbackTaskRunner } from "./FallbackTaskRunner";
|
|
9
|
+
import type { TaskInput, TaskOutput, TaskTypeName } from "./TaskTypes";
|
|
10
|
+
/**
|
|
11
|
+
* Execution mode for the fallback task.
|
|
12
|
+
*
|
|
13
|
+
* - `"task"`: Each task in the subgraph is an independent alternative.
|
|
14
|
+
* They are tried sequentially until one succeeds.
|
|
15
|
+
*
|
|
16
|
+
* - `"data"`: The subgraph contains a template workflow that is executed
|
|
17
|
+
* multiple times with different input overrides from the `alternatives` array.
|
|
18
|
+
*/
|
|
19
|
+
export type FallbackMode = "task" | "data";
|
|
20
|
+
export declare const fallbackTaskConfigSchema: {
|
|
21
|
+
readonly type: "object";
|
|
22
|
+
readonly properties: {
|
|
23
|
+
readonly fallbackMode: {
|
|
24
|
+
readonly type: "string";
|
|
25
|
+
readonly enum: readonly ["task", "data"];
|
|
26
|
+
};
|
|
27
|
+
readonly alternatives: {
|
|
28
|
+
readonly type: "array";
|
|
29
|
+
readonly items: {
|
|
30
|
+
readonly type: "object";
|
|
31
|
+
readonly additionalProperties: true;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
readonly compoundMerge: {
|
|
35
|
+
readonly type: "string";
|
|
36
|
+
readonly "x-ui-hidden": true;
|
|
37
|
+
};
|
|
38
|
+
readonly id: {
|
|
39
|
+
readonly "x-ui-hidden": true;
|
|
40
|
+
};
|
|
41
|
+
readonly title: {
|
|
42
|
+
readonly type: "string";
|
|
43
|
+
};
|
|
44
|
+
readonly description: {
|
|
45
|
+
readonly type: "string";
|
|
46
|
+
};
|
|
47
|
+
readonly cacheable: {
|
|
48
|
+
readonly type: "boolean";
|
|
49
|
+
};
|
|
50
|
+
readonly timeout: {
|
|
51
|
+
readonly type: "number";
|
|
52
|
+
readonly description: "Max execution time in milliseconds";
|
|
53
|
+
};
|
|
54
|
+
readonly inputSchema: {
|
|
55
|
+
readonly type: "object";
|
|
56
|
+
readonly properties: {};
|
|
57
|
+
readonly additionalProperties: true;
|
|
58
|
+
readonly "x-ui-hidden": true;
|
|
59
|
+
};
|
|
60
|
+
readonly outputSchema: {
|
|
61
|
+
readonly type: "object";
|
|
62
|
+
readonly properties: {};
|
|
63
|
+
readonly additionalProperties: true;
|
|
64
|
+
readonly "x-ui-hidden": true;
|
|
65
|
+
};
|
|
66
|
+
readonly extras: {
|
|
67
|
+
readonly type: "object";
|
|
68
|
+
readonly additionalProperties: true;
|
|
69
|
+
readonly "x-ui-hidden": true;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
readonly additionalProperties: false;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Configuration type for FallbackTask.
|
|
76
|
+
* Extends GraphAsTaskConfig with fallback-specific options.
|
|
77
|
+
*/
|
|
78
|
+
export type FallbackTaskConfig = GraphAsTaskConfig & {
|
|
79
|
+
/**
|
|
80
|
+
* The fallback execution mode.
|
|
81
|
+
* - `"task"`: Try each task in the subgraph as an alternative.
|
|
82
|
+
* - `"data"`: Try the template workflow with each set of input overrides.
|
|
83
|
+
* @default "task"
|
|
84
|
+
*/
|
|
85
|
+
readonly fallbackMode?: FallbackMode;
|
|
86
|
+
/**
|
|
87
|
+
* Array of input overrides for data mode.
|
|
88
|
+
* Each entry is merged with the task input before running the template.
|
|
89
|
+
* Only used when `fallbackMode` is `"data"`.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* alternatives: [
|
|
94
|
+
* { model: "openai:gpt-4" },
|
|
95
|
+
* { model: "anthropic:claude-sonnet-4-20250514" },
|
|
96
|
+
* { model: "onnx:Xenova/LaMini-Flan-T5-783M:q8" },
|
|
97
|
+
* ]
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
readonly alternatives?: Record<string, unknown>[];
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* A task that tries multiple alternatives and returns the first successful result.
|
|
104
|
+
*
|
|
105
|
+
* FallbackTask provides resilient execution by automatically falling back to
|
|
106
|
+
* alternative strategies when one fails. This is essential for production AI
|
|
107
|
+
* workflows where provider availability is unpredictable.
|
|
108
|
+
*
|
|
109
|
+
* ## Execution Modes
|
|
110
|
+
*
|
|
111
|
+
* ### Task Mode (`fallbackMode: "task"`)
|
|
112
|
+
* Each task added to the subgraph is an independent alternative. They are
|
|
113
|
+
* tried sequentially in insertion order. The first successful result is
|
|
114
|
+
* returned and remaining alternatives are skipped.
|
|
115
|
+
*
|
|
116
|
+
* ```typescript
|
|
117
|
+
* // Via Workflow API:
|
|
118
|
+
* workflow
|
|
119
|
+
* .fallback()
|
|
120
|
+
* .notifySlack({ channel: "#alerts", message: "Hello" })
|
|
121
|
+
* .notifyEmail({ to: "admin@example.com", subject: "Alert" })
|
|
122
|
+
* .notifySms({ phone: "+1234567890", message: "Alert" })
|
|
123
|
+
* .endFallback();
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* ### Data Mode (`fallbackMode: "data"`)
|
|
127
|
+
* The subgraph contains a template workflow that is executed multiple times,
|
|
128
|
+
* each time with different input data merged from the `alternatives` array.
|
|
129
|
+
*
|
|
130
|
+
* ```typescript
|
|
131
|
+
* // Via Workflow API:
|
|
132
|
+
* workflow
|
|
133
|
+
* .fallbackWith([
|
|
134
|
+
* { model: "openai:gpt-4" },
|
|
135
|
+
* { model: "anthropic:claude-sonnet-4-20250514" },
|
|
136
|
+
* { model: "onnx:Xenova/LaMini-Flan-T5-783M:q8" },
|
|
137
|
+
* ])
|
|
138
|
+
* .textGeneration({ prompt: "Hello" })
|
|
139
|
+
* .endFallbackWith();
|
|
140
|
+
* ```
|
|
141
|
+
*
|
|
142
|
+
* ## Error Handling
|
|
143
|
+
*
|
|
144
|
+
* If all alternatives fail, a `TaskFailedError` is thrown with a message
|
|
145
|
+
* that includes all individual error messages. Each attempt's error is
|
|
146
|
+
* collected and reported for debugging.
|
|
147
|
+
*
|
|
148
|
+
* ## Output
|
|
149
|
+
*
|
|
150
|
+
* The output is the result from whichever alternative succeeded first.
|
|
151
|
+
* The output schema matches the inner tasks' output schema.
|
|
152
|
+
*/
|
|
153
|
+
export declare class FallbackTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends FallbackTaskConfig = FallbackTaskConfig> extends GraphAsTask<Input, Output, Config> {
|
|
154
|
+
static type: TaskTypeName;
|
|
155
|
+
static category: string;
|
|
156
|
+
static title: string;
|
|
157
|
+
static description: string;
|
|
158
|
+
/** FallbackTask has dynamic schemas based on the subgraph structure. */
|
|
159
|
+
static hasDynamicSchemas: boolean;
|
|
160
|
+
static configSchema(): DataPortSchema;
|
|
161
|
+
_runner: FallbackTaskRunner<Input, Output, Config>;
|
|
162
|
+
get runner(): FallbackTaskRunner<Input, Output, Config>;
|
|
163
|
+
get fallbackMode(): FallbackMode;
|
|
164
|
+
get alternatives(): Record<string, unknown>[];
|
|
165
|
+
/**
|
|
166
|
+
* In task mode, input schema is the union of all alternative tasks' inputs.
|
|
167
|
+
* In data mode, input schema comes from the template workflow's starting nodes.
|
|
168
|
+
*/
|
|
169
|
+
inputSchema(): DataPortSchema;
|
|
170
|
+
/**
|
|
171
|
+
* Output schema is derived from the first task in the subgraph.
|
|
172
|
+
* All alternatives should produce compatible output.
|
|
173
|
+
*/
|
|
174
|
+
outputSchema(): DataPortSchema;
|
|
175
|
+
toJSON(): {
|
|
176
|
+
config: {
|
|
177
|
+
alternatives?: Record<string, unknown>[] | undefined;
|
|
178
|
+
fallbackMode: FallbackMode;
|
|
179
|
+
title?: string | undefined;
|
|
180
|
+
description?: string | undefined;
|
|
181
|
+
cacheable?: boolean | undefined;
|
|
182
|
+
timeout?: number | undefined;
|
|
183
|
+
inputSchema?: DataPortSchema;
|
|
184
|
+
outputSchema?: DataPortSchema;
|
|
185
|
+
extras?: {
|
|
186
|
+
[x: string]: unknown;
|
|
187
|
+
} | undefined;
|
|
188
|
+
subGraph?: import("../common").TaskGraph;
|
|
189
|
+
compoundMerge?: import("../common").CompoundMergeStrategy;
|
|
190
|
+
concurrencyLimit?: number;
|
|
191
|
+
batchSize?: number;
|
|
192
|
+
iterationInputConfig?: (Record<string, {
|
|
193
|
+
mode: string;
|
|
194
|
+
baseSchema?: unknown;
|
|
195
|
+
}> & Record<string, import("./IteratorTask").IterationPropertyConfig>) | undefined;
|
|
196
|
+
initialValue?: unknown;
|
|
197
|
+
branches?: import("./ConditionalTask").BranchConfig<any>[];
|
|
198
|
+
defaultBranch?: string;
|
|
199
|
+
exclusive?: boolean;
|
|
200
|
+
conditionConfig?: import("./ConditionUtils").UIConditionConfig;
|
|
201
|
+
condition?: import("./WhileTask").WhileConditionFn<import("./TaskTypes").DataPorts> | undefined;
|
|
202
|
+
maxIterations?: number;
|
|
203
|
+
chainIterations?: boolean;
|
|
204
|
+
conditionField?: string;
|
|
205
|
+
conditionOperator?: string;
|
|
206
|
+
conditionValue?: string;
|
|
207
|
+
preserveOrder?: boolean;
|
|
208
|
+
flatten?: boolean;
|
|
209
|
+
queue?: boolean | string;
|
|
210
|
+
};
|
|
211
|
+
id: unknown;
|
|
212
|
+
type: string;
|
|
213
|
+
defaults?: TaskInput;
|
|
214
|
+
subgraph?: import("./TaskJSON").TaskGraphJson;
|
|
215
|
+
merge?: import("../common").CompoundMergeStrategy;
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
declare module "../task-graph/Workflow" {
|
|
219
|
+
interface Workflow {
|
|
220
|
+
/**
|
|
221
|
+
* Starts a task-mode fallback block. Each task added inside the block
|
|
222
|
+
* is an independent alternative tried sequentially until one succeeds.
|
|
223
|
+
* Use `.endFallback()` to close the block and return to the parent workflow.
|
|
224
|
+
*/
|
|
225
|
+
fallback: CreateLoopWorkflow<TaskInput, TaskOutput, FallbackTaskConfig>;
|
|
226
|
+
/**
|
|
227
|
+
* Ends the task-mode fallback block and returns to the parent workflow.
|
|
228
|
+
*/
|
|
229
|
+
endFallback(): Workflow;
|
|
230
|
+
/**
|
|
231
|
+
* Starts a data-mode fallback block. The tasks added inside the block
|
|
232
|
+
* form a template workflow that is re-run with each set of input overrides
|
|
233
|
+
* from `alternatives`. Use `.endFallbackWith()` to close the block.
|
|
234
|
+
*
|
|
235
|
+
* @param alternatives - Array of input override objects to try sequentially
|
|
236
|
+
*/
|
|
237
|
+
fallbackWith(alternatives: Record<string, unknown>[]): Workflow;
|
|
238
|
+
/**
|
|
239
|
+
* Ends the data-mode fallback block and returns to the parent workflow.
|
|
240
|
+
*/
|
|
241
|
+
endFallbackWith(): Workflow;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=FallbackTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FallbackTask.d.ts","sourceRoot":"","sources":["../../src/task/FallbackTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMvE;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQF,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAErC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,YAAY,CACvB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAK1C,OAAc,IAAI,EAAE,YAAY,CAAkB;IAClD,OAAc,QAAQ,EAAE,MAAM,CAAkB;IAChD,OAAc,KAAK,EAAE,MAAM,CAAc;IACzC,OAAc,WAAW,EAAE,MAAM,CAAyC;IAE1E,wEAAwE;IACxE,OAAc,iBAAiB,EAAE,OAAO,CAAQ;WAElC,YAAY,IAAI,cAAc;IAQpC,OAAO,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3D,IAAa,MAAM,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAK/D;IAMD,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED,IAAW,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAEnD;IAMD;;;OAGG;IACa,WAAW,IAAI,cAAc;IAiC7C;;;OAGG;IACa,YAAY,IAAI,cAAc;IAwB9B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWvB;AAMD,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,QAAQ;QAChB;;;;WAIG;QACH,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAExE;;WAEG;QACH,WAAW,IAAI,QAAQ,CAAC;QAExB;;;;;;WAMG;QACH,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,QAAQ,CAAC;QAEhE;;WAEG;QACH,eAAe,IAAI,QAAQ,CAAC;KAC7B;CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { GraphAsTaskRunner } from "./GraphAsTaskRunner";
|
|
7
|
+
import type { FallbackTask, FallbackTaskConfig } from "./FallbackTask";
|
|
8
|
+
import { type TaskInput, type TaskOutput } from "./TaskTypes";
|
|
9
|
+
/**
|
|
10
|
+
* Runner for FallbackTask that executes alternatives sequentially until one succeeds.
|
|
11
|
+
*
|
|
12
|
+
* In **task mode**, each task in the subgraph is tried independently.
|
|
13
|
+
* In **data mode**, the entire subgraph is re-run with different input overrides.
|
|
14
|
+
*/
|
|
15
|
+
export declare class FallbackTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends FallbackTaskConfig = FallbackTaskConfig> extends GraphAsTaskRunner<Input, Output, Config> {
|
|
16
|
+
task: FallbackTask<Input, Output, Config>;
|
|
17
|
+
/**
|
|
18
|
+
* Override executeTask to implement sequential fallback logic.
|
|
19
|
+
*/
|
|
20
|
+
protected executeTask(input: Input): Promise<Output | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* For FallbackTask, reactive runs use the task's reactive hook only,
|
|
23
|
+
* bypassing GraphAsTaskRunner's child-merging logic.
|
|
24
|
+
*/
|
|
25
|
+
executeTaskReactive(input: Input, output: Output): Promise<Output>;
|
|
26
|
+
/**
|
|
27
|
+
* Tries each task in the subgraph sequentially. Returns the first
|
|
28
|
+
* successful result. If all fail, throws with collected errors.
|
|
29
|
+
*/
|
|
30
|
+
private executeTaskFallback;
|
|
31
|
+
/**
|
|
32
|
+
* Runs the subgraph workflow multiple times, each time with a different
|
|
33
|
+
* set of input overrides merged from `config.alternatives`.
|
|
34
|
+
*/
|
|
35
|
+
private executeDataFallback;
|
|
36
|
+
/**
|
|
37
|
+
* Resets a single task to PENDING status so it can be re-run.
|
|
38
|
+
*/
|
|
39
|
+
private resetTask;
|
|
40
|
+
/**
|
|
41
|
+
* Resets all tasks and dataflows in the subgraph for a fresh run.
|
|
42
|
+
*/
|
|
43
|
+
private resetSubgraph;
|
|
44
|
+
/**
|
|
45
|
+
* Builds a descriptive error from all collected failures.
|
|
46
|
+
*/
|
|
47
|
+
private buildAggregateError;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=FallbackTaskRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FallbackTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/FallbackTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1E;;;;;GAKG;AACH,qBAAa,kBAAkB,CAC7B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACxC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAElD;;OAEG;cACsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO/E;;;OAGG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASxF;;;OAGG;YACW,mBAAmB;IAsDjC;;;OAGG;YACW,mBAAmB;IAiEjC;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAa5B"}
|
|
@@ -11,7 +11,7 @@ import { GraphAsTaskRunner } from "./GraphAsTaskRunner";
|
|
|
11
11
|
import type { IExecuteContext } from "./ITask";
|
|
12
12
|
import type { StreamEvent } from "./StreamTypes";
|
|
13
13
|
import { Task } from "./Task";
|
|
14
|
-
import type { JsonTaskItem, TaskGraphItemJson } from "./TaskJSON";
|
|
14
|
+
import type { JsonTaskItem, TaskGraphItemJson, TaskGraphJsonOptions } from "./TaskJSON";
|
|
15
15
|
import { type TaskConfig, type TaskInput, type TaskOutput, type TaskTypeName } from "./TaskTypes";
|
|
16
16
|
export declare const graphAsTaskConfigSchema: {
|
|
17
17
|
readonly type: "object";
|
|
@@ -32,6 +32,10 @@ export declare const graphAsTaskConfigSchema: {
|
|
|
32
32
|
readonly cacheable: {
|
|
33
33
|
readonly type: "boolean";
|
|
34
34
|
};
|
|
35
|
+
readonly timeout: {
|
|
36
|
+
readonly type: "number";
|
|
37
|
+
readonly description: "Max execution time in milliseconds";
|
|
38
|
+
};
|
|
35
39
|
readonly inputSchema: {
|
|
36
40
|
readonly type: "object";
|
|
37
41
|
readonly properties: {};
|
|
@@ -78,22 +82,21 @@ export declare class GraphAsTask<Input extends TaskInput = TaskInput, Output ext
|
|
|
78
82
|
get compoundMerge(): CompoundMergeStrategy;
|
|
79
83
|
get cacheable(): boolean;
|
|
80
84
|
/**
|
|
81
|
-
* Override inputSchema to compute it dynamically from the subgraph at runtime
|
|
82
|
-
*
|
|
83
|
-
*
|
|
85
|
+
* Override inputSchema to compute it dynamically from the subgraph at runtime.
|
|
86
|
+
* For root tasks (no incoming edges) all input properties are collected.
|
|
87
|
+
* For non-root tasks, only REQUIRED properties that are not satisfied by
|
|
88
|
+
* any internal dataflow are added — this ensures that required inputs are
|
|
89
|
+
* included in the graph's input schema without pulling in every optional
|
|
90
|
+
* downstream property.
|
|
84
91
|
*/
|
|
85
92
|
inputSchema(): DataPortSchema;
|
|
86
93
|
protected _inputSchemaNode: SchemaNode | undefined;
|
|
87
94
|
/**
|
|
88
95
|
* Gets the compiled input schema
|
|
89
96
|
*/
|
|
90
|
-
protected getInputSchemaNode(
|
|
91
|
-
/**
|
|
92
|
-
* Calculates the depth (longest path from any starting node) for each task in the graph
|
|
93
|
-
* @returns A map of task IDs to their depths
|
|
94
|
-
*/
|
|
95
|
-
private calculateNodeDepths;
|
|
97
|
+
protected getInputSchemaNode(): SchemaNode;
|
|
96
98
|
/**
|
|
99
|
+
|
|
97
100
|
* Override outputSchema to compute it dynamically from the subgraph at runtime
|
|
98
101
|
* The output schema depends on the compoundMerge strategy and the nodes at the last level
|
|
99
102
|
*/
|
|
@@ -121,11 +124,11 @@ export declare class GraphAsTask<Input extends TaskInput = TaskInput, Output ext
|
|
|
121
124
|
* Serializes the task and its subtasks into a format that can be stored
|
|
122
125
|
* @returns The serialized task and subtasks
|
|
123
126
|
*/
|
|
124
|
-
toJSON(): TaskGraphItemJson;
|
|
127
|
+
toJSON(options?: TaskGraphJsonOptions): TaskGraphItemJson;
|
|
125
128
|
/**
|
|
126
129
|
* Converts the task to a JSON format suitable for dependency tracking
|
|
127
130
|
* @returns The task and subtasks in JSON thats easier for humans to read
|
|
128
131
|
*/
|
|
129
|
-
toDependencyJSON(): JsonTaskItem;
|
|
132
|
+
toDependencyJSON(options?: TaskGraphJsonOptions): JsonTaskItem;
|
|
130
133
|
}
|
|
131
134
|
//# sourceMappingURL=GraphAsTask.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphAsTask.d.ts","sourceRoot":"","sources":["../../src/task/GraphAsTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAiB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAkB,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphAsTask.d.ts","sourceRoot":"","sources":["../../src/task/GraphAsTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAiB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAkB,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOD,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW,CACtB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,CACpD,SAAQ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAKnC,OAAc,IAAI,EAAE,YAAY,CAAiB;IACjD,OAAc,KAAK,EAAE,MAAM,CAAW;IACtC,OAAc,WAAW,EAAE,MAAM,CAAiD;IAClF,OAAc,QAAQ,EAAE,MAAM,CAAkB;IAChD,OAAc,aAAa,EAAE,qBAAqB,CAAkB;IAEpE,gFAAgF;IAChF,OAAc,iBAAiB,EAAE,OAAO,CAAQ;gBAMpC,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM;IAa5D,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1D;;OAEG;IACH,IAAa,MAAM,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAK9D;WAMa,YAAY,IAAI,cAAc;IAI5C,IAAW,aAAa,IAAI,qBAAqB,CAEhD;IAED,IAAW,SAAS,IAAI,OAAO,CAM9B;IAMD;;;;;;;OAOG;IACI,WAAW,IAAI,cAAc;IASpC,SAAS,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,CAAC;IACnD;;OAEG;cACgB,kBAAkB,IAAI,UAAU;IAoBnD;;;;OAIG;IAEa,YAAY,IAAI,cAAc;IAS9C;;OAEG;IACI,cAAc,IAAI,IAAI;IAgB7B;;;;;OAKG;IACI,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAkFhG;;;;;;OAMG;IACI,eAAe,IAAI,IAAI;IAS9B;;;OAGG;IACa,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,iBAAiB;IAazE;;;OAGG;IACa,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,YAAY;CAU/E"}
|
package/dist/task/ITask.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
|
|
|
12
12
|
import type { StreamEvent } from "./StreamTypes";
|
|
13
13
|
import { TaskError } from "./TaskError";
|
|
14
14
|
import type { TaskEventListener, TaskEventListeners, TaskEventParameters, TaskEvents } from "./TaskEvents";
|
|
15
|
-
import type { JsonTaskItem, TaskGraphItemJson } from "./TaskJSON";
|
|
15
|
+
import type { JsonTaskItem, TaskGraphItemJson, TaskGraphJsonOptions } from "./TaskJSON";
|
|
16
16
|
import { TaskRunner } from "./TaskRunner";
|
|
17
17
|
import type { TaskConfig, TaskInput, TaskOutput, TaskStatus } from "./TaskTypes";
|
|
18
18
|
/**
|
|
@@ -157,15 +157,16 @@ export interface ITaskEvents {
|
|
|
157
157
|
* Interface for task serialization
|
|
158
158
|
*/
|
|
159
159
|
export interface ITaskSerialization {
|
|
160
|
-
toJSON(): JsonTaskItem | TaskGraphItemJson;
|
|
161
|
-
toDependencyJSON(): JsonTaskItem;
|
|
162
|
-
id(): unknown;
|
|
160
|
+
toJSON(options?: TaskGraphJsonOptions): JsonTaskItem | TaskGraphItemJson;
|
|
161
|
+
toDependencyJSON(options?: TaskGraphJsonOptions): JsonTaskItem;
|
|
162
|
+
get id(): unknown;
|
|
163
163
|
}
|
|
164
164
|
/**
|
|
165
165
|
* Interface for task configuration and state
|
|
166
166
|
*/
|
|
167
167
|
export interface ITaskState<Config extends TaskConfig = TaskConfig> {
|
|
168
168
|
readonly config: Config;
|
|
169
|
+
get id(): unknown;
|
|
169
170
|
status: TaskStatus;
|
|
170
171
|
progress: number;
|
|
171
172
|
createdAt: Date;
|
package/dist/task/ITask.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../src/task/ITask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../src/task/ITask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputResolver.d.ts","sourceRoot":"","sources":["../../src/task/InputResolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"InputResolver.d.ts","sourceRoot":"","sources":["../../src/task/InputResolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAsED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAqDZ"}
|
|
@@ -69,6 +69,10 @@ export declare const iteratorTaskConfigSchema: {
|
|
|
69
69
|
readonly cacheable: {
|
|
70
70
|
readonly type: "boolean";
|
|
71
71
|
};
|
|
72
|
+
readonly timeout: {
|
|
73
|
+
readonly type: "number";
|
|
74
|
+
readonly description: "Max execution time in milliseconds";
|
|
75
|
+
};
|
|
72
76
|
readonly inputSchema: {
|
|
73
77
|
readonly type: "object";
|
|
74
78
|
readonly properties: {};
|
|
@@ -214,7 +218,11 @@ export declare abstract class IteratorTask<Input extends TaskInput = TaskInput,
|
|
|
214
218
|
protected buildConfiguredIterationInputSchema(): DataPortSchema;
|
|
215
219
|
/**
|
|
216
220
|
* Derives the schema accepted by each iteration of the inner workflow.
|
|
217
|
-
*
|
|
221
|
+
* For root tasks (no incoming edges) all input properties are collected.
|
|
222
|
+
* For non-root tasks, only REQUIRED properties that are not satisfied by
|
|
223
|
+
* any internal dataflow are added — this ensures that required inputs are
|
|
224
|
+
* included in the iterator's input schema without pulling in every optional
|
|
225
|
+
* downstream property.
|
|
218
226
|
*/
|
|
219
227
|
protected getInnerInputSchema(): DataPortSchema | undefined;
|
|
220
228
|
getIterationInputSchema(): DataPortSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IteratorTask.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAkBrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,kBAAkB,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAED,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"IteratorTask.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,6 @@ import type { TaskInput, TaskOutput } from "./TaskTypes";
|
|
|
13
13
|
*/
|
|
14
14
|
export declare class IteratorTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends IteratorTaskConfig = IteratorTaskConfig> extends GraphAsTaskRunner<Input, Output, Config> {
|
|
15
15
|
task: IteratorTask<Input, Output, Config>;
|
|
16
|
-
/**
|
|
17
|
-
* Subgraph runs are serialized against one shared subgraph instance.
|
|
18
|
-
*/
|
|
19
|
-
private subGraphRunChain;
|
|
20
16
|
/**
|
|
21
17
|
* For iterator tasks, reactive runs use full execution for correctness.
|
|
22
18
|
*/
|
|
@@ -27,10 +23,16 @@ export declare class IteratorTaskRunner<Input extends TaskInput = TaskInput, Out
|
|
|
27
23
|
executeTaskReactive(input: Input, output: Output): Promise<Output>;
|
|
28
24
|
protected executeCollectIterations(analysis: IterationAnalysisResult): Promise<Output>;
|
|
29
25
|
protected executeReduceIterations(analysis: IterationAnalysisResult): Promise<Output>;
|
|
30
|
-
protected executeBatch(indices: number[], analysis: IterationAnalysisResult, iterationCount: number, concurrency: number): Promise<Array<{
|
|
26
|
+
protected executeBatch(indices: number[], analysis: IterationAnalysisResult, iterationCount: number, concurrency: number, onItemComplete?: () => Promise<void>): Promise<Array<{
|
|
31
27
|
index: number;
|
|
32
28
|
result: TaskOutput | undefined;
|
|
33
29
|
}>>;
|
|
30
|
+
/**
|
|
31
|
+
* Clones a TaskGraph by reconstructing each task from its constructor,
|
|
32
|
+
* defaults, and config. This preserves non-serializable config such as
|
|
33
|
+
* function references (e.g. WhileTask condition functions).
|
|
34
|
+
*/
|
|
35
|
+
private cloneGraph;
|
|
34
36
|
protected executeSubgraphIteration(input: Record<string, unknown>): Promise<TaskOutput | undefined>;
|
|
35
37
|
}
|
|
36
38
|
//# sourceMappingURL=IteratorTaskRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IteratorTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"IteratorTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;GAIG;AACH,qBAAa,kBAAkB,CAC7B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACxC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAElD;;OAEG;cAEsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAe/E;;OAEG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAKxE,wBAAwB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;cA4D5E,uBAAuB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;cAuB3E,YAAY,CAC1B,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,uBAAuB,EACjC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACnC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IA+BpE;;;;OAIG;IACH,OAAO,CAAC,UAAU;cAkBF,wBAAwB,CACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAqBnC"}
|
|
@@ -38,6 +38,10 @@ export declare const jobQueueTaskConfigSchema: {
|
|
|
38
38
|
readonly cacheable: {
|
|
39
39
|
readonly type: "boolean";
|
|
40
40
|
};
|
|
41
|
+
readonly timeout: {
|
|
42
|
+
readonly type: "number";
|
|
43
|
+
readonly description: "Max execution time in milliseconds";
|
|
44
|
+
};
|
|
41
45
|
readonly inputSchema: {
|
|
42
46
|
readonly type: "object";
|
|
43
47
|
readonly properties: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobQueueTask.d.ts","sourceRoot":"","sources":["../../src/task/JobQueueTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,WAAW,EAA2B,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAwB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhE,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"JobQueueTask.d.ts","sourceRoot":"","sources":["../../src/task/JobQueueTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,WAAW,EAA2B,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAwB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWF,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG;IAC5C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAG;IAC9E,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9F,CAAC;AAEF;;;;;;;GAOG;AACH,8BAAsB,YAAY,CAChC,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAkB;IAC9C,MAAM,CAAC,cAAc,UAAQ;WAEf,YAAY,IAAI,cAAc;IAI5C,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,0CAA0C;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,KAAK,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAE5E,KAAK,GAAE,OAAO,CAAC,KAAK,CAAe,EAAE,MAAM,GAAE,MAAqB;IAQxE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoEzF;;;;;OAKG;cACa,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D;;;;;;OAMG;IACG,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;cAQ5D,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;cAmC/E,mBAAmB,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAI/D,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IA4B1C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B"}
|
package/dist/task/MapTask.d.ts
CHANGED
|
@@ -43,6 +43,10 @@ export declare const mapTaskConfigSchema: {
|
|
|
43
43
|
readonly cacheable: {
|
|
44
44
|
readonly type: "boolean";
|
|
45
45
|
};
|
|
46
|
+
readonly timeout: {
|
|
47
|
+
readonly type: "number";
|
|
48
|
+
readonly description: "Max execution time in milliseconds";
|
|
49
|
+
};
|
|
46
50
|
readonly inputSchema: {
|
|
47
51
|
readonly type: "object";
|
|
48
52
|
readonly properties: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapTask.d.ts","sourceRoot":"","sources":["../../src/task/MapTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAA4B,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"MapTask.d.ts","sourceRoot":"","sources":["../../src/task/MapTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAA4B,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQG,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,OAAO,CAClB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,aAAa,GAAG,aAAa,CAC5C,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAc,IAAI,EAAE,YAAY,CAAa;IAC7C,OAAc,QAAQ,EAAE,MAAM,CAAkB;IAChD,OAAc,KAAK,EAAE,MAAM,CAAS;IACpC,OAAc,WAAW,EAAE,MAAM,CAA4D;WAE/E,YAAY,IAAI,cAAc;IAI5C;;OAEG;IACH,gBAAuB,aAAa,mBAAkB;IAEtD;;OAEG;WACW,WAAW,IAAI,cAAc;IAQ3C;;OAEG;WACW,YAAY,IAAI,cAAc;IAQ5C;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEe,sBAAsB,IAAI,OAAO;IAIjD;;OAEG;IACa,cAAc,IAAI,MAAM;IAcxC;;;OAGG;IACa,YAAY,IAAI,cAAc;IAQ9C;;OAEG;IACa,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;CAkB9D;AAMD,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,QAAQ;QAChB;;;WAGG;QACH,GAAG,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAE9D;;WAEG;QACH,MAAM,IAAI,QAAQ,CAAC;KACpB;CACF"}
|
|
@@ -38,6 +38,10 @@ export declare const reduceTaskConfigSchema: {
|
|
|
38
38
|
readonly cacheable: {
|
|
39
39
|
readonly type: "boolean";
|
|
40
40
|
};
|
|
41
|
+
readonly timeout: {
|
|
42
|
+
readonly type: "number";
|
|
43
|
+
readonly description: "Max execution time in milliseconds";
|
|
44
|
+
};
|
|
41
45
|
readonly inputSchema: {
|
|
42
46
|
readonly type: "object";
|
|
43
47
|
readonly properties: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReduceTask.d.ts","sourceRoot":"","sources":["../../src/task/ReduceTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"ReduceTask.d.ts","sourceRoot":"","sources":["../../src/task/ReduceTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOA,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,WAAW,GAAG,OAAO,IAAI,kBAAkB,GAAG;IACzE;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAU,CACrB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAClE,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAc,IAAI,EAAE,YAAY,CAAgB;IAChD,OAAc,QAAQ,EAAE,MAAM,CAAkB;IAChD,OAAc,KAAK,EAAE,MAAM,CAAY;IACvC,OAAc,WAAW,EAAE,MAAM,CACqC;WAExD,YAAY,IAAI,cAAc;gBAIhC,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM;IAUpE;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAEe,YAAY,IAAI,OAAO;IAIvB,qBAAqB,IAAI,MAAM;IAW/B,sBAAsB,CACpC,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAMV,cAAc,IAAI,MAAM;IAIxC;;OAEG;WACW,WAAW,IAAI,cAAc;IAQ3C;;OAEG;WACW,YAAY,IAAI,cAAc;IAQ5C;;OAEG;IACa,YAAY,IAAI,cAAc;CAgC/C;AAMD,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,QAAQ;QAChB;;;WAGG;QACH,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzE;;WAEG;QACH,SAAS,IAAI,QAAQ,CAAC;KACvB;CACF"}
|