@workglow/task-graph 0.0.101 → 0.0.103
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 +1083 -275
- package/dist/browser.js.map +26 -23
- package/dist/bun.js +1083 -275
- package/dist/bun.js.map +26 -23
- package/dist/common.d.ts +1 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/node.js +1083 -275
- package/dist/node.js.map +26 -23
- package/dist/task/ConditionalTask.d.ts +11 -2
- 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 +22 -13
- package/dist/task/GraphAsTask.d.ts.map +1 -1
- package/dist/task/ITask.d.ts +6 -4
- package/dist/task/ITask.d.ts.map +1 -1
- package/dist/task/IteratorTask.d.ts +22 -8
- 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 +21 -3
- package/dist/task/JobQueueTask.d.ts.map +1 -1
- package/dist/task/MapTask.d.ts +11 -1
- package/dist/task/MapTask.d.ts.map +1 -1
- package/dist/task/ReduceTask.d.ts +11 -1
- 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 +25 -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 +12 -3
- 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 +11 -1
- package/dist/task/TaskTypes.d.ts.map +1 -1
- package/dist/task/WhileTask.d.ts +11 -1
- 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/iterationSchema.d.ts +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
|
@@ -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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import type { DataPortSchema } from "@workglow/util";
|
|
7
6
|
import { Job, JobConstructorParam } from "@workglow/job-queue";
|
|
7
|
+
import type { DataPortSchema } from "@workglow/util";
|
|
8
8
|
import { GraphAsTask } from "./GraphAsTask";
|
|
9
9
|
import { IExecuteContext } from "./ITask";
|
|
10
10
|
import { TaskEventListeners } from "./TaskEvents";
|
|
@@ -13,11 +13,22 @@ import { TaskConfig, TaskInput, TaskOutput } from "./TaskTypes";
|
|
|
13
13
|
export declare const jobQueueTaskConfigSchema: {
|
|
14
14
|
readonly type: "object";
|
|
15
15
|
readonly properties: {
|
|
16
|
-
readonly queue: {
|
|
16
|
+
readonly queue: {
|
|
17
|
+
readonly oneOf: readonly [{
|
|
18
|
+
readonly type: "boolean";
|
|
19
|
+
}, {
|
|
20
|
+
readonly type: "string";
|
|
21
|
+
}];
|
|
22
|
+
readonly description: "Queue handling: false=run inline, true=use default, string=explicit queue name";
|
|
23
|
+
readonly "x-ui-hidden": true;
|
|
24
|
+
};
|
|
17
25
|
readonly compoundMerge: {
|
|
18
26
|
readonly type: "string";
|
|
27
|
+
readonly "x-ui-hidden": true;
|
|
28
|
+
};
|
|
29
|
+
readonly id: {
|
|
30
|
+
readonly "x-ui-hidden": true;
|
|
19
31
|
};
|
|
20
|
-
readonly id: {};
|
|
21
32
|
readonly title: {
|
|
22
33
|
readonly type: "string";
|
|
23
34
|
};
|
|
@@ -27,19 +38,26 @@ export declare const jobQueueTaskConfigSchema: {
|
|
|
27
38
|
readonly cacheable: {
|
|
28
39
|
readonly type: "boolean";
|
|
29
40
|
};
|
|
41
|
+
readonly timeout: {
|
|
42
|
+
readonly type: "number";
|
|
43
|
+
readonly description: "Max execution time in milliseconds";
|
|
44
|
+
};
|
|
30
45
|
readonly inputSchema: {
|
|
31
46
|
readonly type: "object";
|
|
32
47
|
readonly properties: {};
|
|
33
48
|
readonly additionalProperties: true;
|
|
49
|
+
readonly "x-ui-hidden": true;
|
|
34
50
|
};
|
|
35
51
|
readonly outputSchema: {
|
|
36
52
|
readonly type: "object";
|
|
37
53
|
readonly properties: {};
|
|
38
54
|
readonly additionalProperties: true;
|
|
55
|
+
readonly "x-ui-hidden": true;
|
|
39
56
|
};
|
|
40
57
|
readonly extras: {
|
|
41
58
|
readonly type: "object";
|
|
42
59
|
readonly additionalProperties: true;
|
|
60
|
+
readonly "x-ui-hidden": true;
|
|
43
61
|
};
|
|
44
62
|
};
|
|
45
63
|
readonly additionalProperties: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobQueueTask.d.ts","sourceRoot":"","sources":["../../src/task/JobQueueTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
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
|
@@ -29,8 +29,11 @@ export declare const mapTaskConfigSchema: {
|
|
|
29
29
|
};
|
|
30
30
|
readonly compoundMerge: {
|
|
31
31
|
readonly type: "string";
|
|
32
|
+
readonly "x-ui-hidden": true;
|
|
33
|
+
};
|
|
34
|
+
readonly id: {
|
|
35
|
+
readonly "x-ui-hidden": true;
|
|
32
36
|
};
|
|
33
|
-
readonly id: {};
|
|
34
37
|
readonly title: {
|
|
35
38
|
readonly type: "string";
|
|
36
39
|
};
|
|
@@ -40,19 +43,26 @@ export declare const mapTaskConfigSchema: {
|
|
|
40
43
|
readonly cacheable: {
|
|
41
44
|
readonly type: "boolean";
|
|
42
45
|
};
|
|
46
|
+
readonly timeout: {
|
|
47
|
+
readonly type: "number";
|
|
48
|
+
readonly description: "Max execution time in milliseconds";
|
|
49
|
+
};
|
|
43
50
|
readonly inputSchema: {
|
|
44
51
|
readonly type: "object";
|
|
45
52
|
readonly properties: {};
|
|
46
53
|
readonly additionalProperties: true;
|
|
54
|
+
readonly "x-ui-hidden": true;
|
|
47
55
|
};
|
|
48
56
|
readonly outputSchema: {
|
|
49
57
|
readonly type: "object";
|
|
50
58
|
readonly properties: {};
|
|
51
59
|
readonly additionalProperties: true;
|
|
60
|
+
readonly "x-ui-hidden": true;
|
|
52
61
|
};
|
|
53
62
|
readonly extras: {
|
|
54
63
|
readonly type: "object";
|
|
55
64
|
readonly additionalProperties: true;
|
|
65
|
+
readonly "x-ui-hidden": true;
|
|
56
66
|
};
|
|
57
67
|
};
|
|
58
68
|
readonly additionalProperties: false;
|
|
@@ -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"}
|
|
@@ -24,8 +24,11 @@ export declare const reduceTaskConfigSchema: {
|
|
|
24
24
|
};
|
|
25
25
|
readonly compoundMerge: {
|
|
26
26
|
readonly type: "string";
|
|
27
|
+
readonly "x-ui-hidden": true;
|
|
28
|
+
};
|
|
29
|
+
readonly id: {
|
|
30
|
+
readonly "x-ui-hidden": true;
|
|
27
31
|
};
|
|
28
|
-
readonly id: {};
|
|
29
32
|
readonly title: {
|
|
30
33
|
readonly type: "string";
|
|
31
34
|
};
|
|
@@ -35,19 +38,26 @@ export declare const reduceTaskConfigSchema: {
|
|
|
35
38
|
readonly cacheable: {
|
|
36
39
|
readonly type: "boolean";
|
|
37
40
|
};
|
|
41
|
+
readonly timeout: {
|
|
42
|
+
readonly type: "number";
|
|
43
|
+
readonly description: "Max execution time in milliseconds";
|
|
44
|
+
};
|
|
38
45
|
readonly inputSchema: {
|
|
39
46
|
readonly type: "object";
|
|
40
47
|
readonly properties: {};
|
|
41
48
|
readonly additionalProperties: true;
|
|
49
|
+
readonly "x-ui-hidden": true;
|
|
42
50
|
};
|
|
43
51
|
readonly outputSchema: {
|
|
44
52
|
readonly type: "object";
|
|
45
53
|
readonly properties: {};
|
|
46
54
|
readonly additionalProperties: true;
|
|
55
|
+
readonly "x-ui-hidden": true;
|
|
47
56
|
};
|
|
48
57
|
readonly extras: {
|
|
49
58
|
readonly type: "object";
|
|
50
59
|
readonly additionalProperties: true;
|
|
60
|
+
readonly "x-ui-hidden": true;
|
|
51
61
|
};
|
|
52
62
|
};
|
|
53
63
|
readonly additionalProperties: false;
|
|
@@ -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"}
|
|
@@ -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
|
/**
|
|
@@ -53,6 +53,11 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
53
53
|
* forward their additional inputs to their outputs unchanged.
|
|
54
54
|
*/
|
|
55
55
|
static passthroughInputsToOutputs: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* When true, this task can be saved as a custom task with a preset configuration.
|
|
58
|
+
* Tasks that have meaningful user-facing config options beyond the base fields should set this.
|
|
59
|
+
*/
|
|
60
|
+
static customizable: boolean;
|
|
56
61
|
/**
|
|
57
62
|
* Input schema for this task
|
|
58
63
|
*/
|
|
@@ -160,6 +165,10 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
160
165
|
* The configuration of the task
|
|
161
166
|
*/
|
|
162
167
|
config: Config;
|
|
168
|
+
/**
|
|
169
|
+
* Task id from config (read-only).
|
|
170
|
+
*/
|
|
171
|
+
get id(): unknown;
|
|
163
172
|
/**
|
|
164
173
|
* Runtime configuration (not serialized with the task).
|
|
165
174
|
* Set via the constructor's third argument or mutated by the graph runner.
|
|
@@ -291,12 +300,14 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
291
300
|
* @param outputSchema - The new output schema (optional, will use current schema if not provided)
|
|
292
301
|
*/
|
|
293
302
|
protected emitSchemaChange(inputSchema?: DataPortSchema, outputSchema?: DataPortSchema): void;
|
|
294
|
-
/**
|
|
295
|
-
* The compiled config schema (cached per task type)
|
|
296
|
-
*/
|
|
297
|
-
private static _configSchemaNode;
|
|
298
303
|
/**
|
|
299
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.
|
|
300
311
|
*/
|
|
301
312
|
private static getConfigSchemaNode;
|
|
302
313
|
/**
|
|
@@ -305,24 +316,18 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
305
316
|
* Returns config as-is if no configSchema is defined.
|
|
306
317
|
*/
|
|
307
318
|
private validateAndApplyConfigDefaults;
|
|
308
|
-
/**
|
|
309
|
-
* The compiled input schema
|
|
310
|
-
*/
|
|
311
|
-
private static _inputSchemaNode;
|
|
312
319
|
protected static generateInputSchemaNode(schema: DataPortSchema): SchemaNode;
|
|
313
320
|
/**
|
|
314
|
-
* 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.
|
|
315
324
|
*/
|
|
316
|
-
protected static getInputSchemaNode(
|
|
317
|
-
protected getInputSchemaNode(
|
|
325
|
+
protected static getInputSchemaNode(): SchemaNode;
|
|
326
|
+
protected getInputSchemaNode(): SchemaNode;
|
|
318
327
|
/**
|
|
319
328
|
* Validates an input data object against the task's input schema
|
|
320
329
|
*/
|
|
321
330
|
validateInput(input: Partial<Input>): Promise<boolean>;
|
|
322
|
-
/**
|
|
323
|
-
* Gets the task ID from the config
|
|
324
|
-
*/
|
|
325
|
-
id(): unknown;
|
|
326
331
|
/**
|
|
327
332
|
* Strips symbol properties from an object to make it serializable
|
|
328
333
|
* @param obj The object to strip symbols from
|
|
@@ -331,14 +336,16 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
|
|
|
331
336
|
private stripSymbols;
|
|
332
337
|
/**
|
|
333
338
|
* Serializes the task and its subtasks into a format that can be stored
|
|
339
|
+
* @param _options Options controlling serialization (used by subclasses)
|
|
334
340
|
* @returns The serialized task and subtasks
|
|
335
341
|
*/
|
|
336
|
-
toJSON(): TaskGraphItemJson;
|
|
342
|
+
toJSON(_options?: TaskGraphJsonOptions): TaskGraphItemJson;
|
|
337
343
|
/**
|
|
338
344
|
* Converts the task to a JSON format suitable for dependency tracking
|
|
345
|
+
* @param options Options controlling serialization (used by subclasses)
|
|
339
346
|
* @returns The task and subtasks in JSON thats easier for humans to read
|
|
340
347
|
*/
|
|
341
|
-
toDependencyJSON(): JsonTaskItem;
|
|
348
|
+
toDependencyJSON(options?: TaskGraphJsonOptions): JsonTaskItem;
|
|
342
349
|
/**
|
|
343
350
|
* Checks if the task has children. Useful to gate to use of the internal subGraph
|
|
344
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
|
@@ -6,14 +6,19 @@
|
|
|
6
6
|
import { TaskGraph } from "../task-graph/TaskGraph";
|
|
7
7
|
import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
|
|
8
8
|
import { ConditionalTaskConfig } from "./ConditionalTask";
|
|
9
|
+
import { GraphAsTaskConfig } from "./GraphAsTask";
|
|
9
10
|
import { IteratorTaskConfig } from "./IteratorTask";
|
|
11
|
+
import { JobQueueTaskConfig } from "./JobQueueTask";
|
|
12
|
+
import { MapTaskConfig } from "./MapTask";
|
|
13
|
+
import { ReduceTaskConfig } from "./ReduceTask";
|
|
10
14
|
import { TaskConfig, TaskInput } from "./TaskTypes";
|
|
11
15
|
import { WhileTaskConfig } from "./WhileTask";
|
|
16
|
+
import type { ITaskConstructor } from "./ITask";
|
|
12
17
|
/**
|
|
13
18
|
* Represents a single task item in the JSON configuration.
|
|
14
19
|
* This structure defines how tasks should be configured in JSON format.
|
|
15
20
|
*/
|
|
16
|
-
export type JsonTaskConfig = Omit<TaskConfig & WhileTaskConfig & IteratorTaskConfig & ConditionalTaskConfig, "id">;
|
|
21
|
+
export type JsonTaskConfig = Omit<TaskConfig & GraphAsTaskConfig & WhileTaskConfig & IteratorTaskConfig & ReduceTaskConfig & MapTaskConfig & ConditionalTaskConfig & JobQueueTaskConfig, "id">;
|
|
17
22
|
export type JsonTaskItem = {
|
|
18
23
|
/** Unique identifier for the task */
|
|
19
24
|
id: unknown;
|
|
@@ -60,6 +65,10 @@ export type DataflowJson = {
|
|
|
60
65
|
targetTaskId: unknown;
|
|
61
66
|
targetTaskPortId: string;
|
|
62
67
|
};
|
|
68
|
+
export interface TaskGraphJsonOptions {
|
|
69
|
+
/** When true, synthetic InputTask/OutputTask boundary nodes are added at each graph level */
|
|
70
|
+
readonly withBoundaryNodes?: boolean;
|
|
71
|
+
}
|
|
63
72
|
/**
|
|
64
73
|
* Creates a task instance from a JSON task item configuration
|
|
65
74
|
* Validates required fields and resolves task type from registry
|
|
@@ -76,11 +85,11 @@ export declare const createGraphFromDependencyJSON: (jsonItems: JsonTaskItem[])
|
|
|
76
85
|
* @returns A new task instance
|
|
77
86
|
* @throws Error if required fields are missing or invalid
|
|
78
87
|
*/
|
|
79
|
-
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>;
|
|
80
89
|
/**
|
|
81
90
|
* Creates a TaskGraph instance from its JSON representation
|
|
82
91
|
* @param graphJsonObj The JSON representation of the task graph
|
|
83
92
|
* @returns A new TaskGraph instance with all tasks and data flows
|
|
84
93
|
*/
|
|
85
|
-
export declare const createGraphFromGraphJSON: (graphJsonObj: TaskGraphJson) => TaskGraph;
|
|
94
|
+
export declare const createGraphFromGraphJSON: (graphJsonObj: TaskGraphJson, taskRegistry?: Map<string, ITaskConstructor<any, any, any>>) => TaskGraph;
|
|
86
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;
|
|
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":"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"}
|
package/dist/task/TaskTypes.d.ts
CHANGED
|
@@ -58,11 +58,14 @@ 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";
|
|
64
65
|
readonly properties: {
|
|
65
|
-
readonly id: {
|
|
66
|
+
readonly id: {
|
|
67
|
+
readonly "x-ui-hidden": true;
|
|
68
|
+
};
|
|
66
69
|
readonly title: {
|
|
67
70
|
readonly type: "string";
|
|
68
71
|
};
|
|
@@ -72,19 +75,26 @@ export declare const TaskConfigSchema: {
|
|
|
72
75
|
readonly cacheable: {
|
|
73
76
|
readonly type: "boolean";
|
|
74
77
|
};
|
|
78
|
+
readonly timeout: {
|
|
79
|
+
readonly type: "number";
|
|
80
|
+
readonly description: "Max execution time in milliseconds";
|
|
81
|
+
};
|
|
75
82
|
readonly inputSchema: {
|
|
76
83
|
readonly type: "object";
|
|
77
84
|
readonly properties: {};
|
|
78
85
|
readonly additionalProperties: true;
|
|
86
|
+
readonly "x-ui-hidden": true;
|
|
79
87
|
};
|
|
80
88
|
readonly outputSchema: {
|
|
81
89
|
readonly type: "object";
|
|
82
90
|
readonly properties: {};
|
|
83
91
|
readonly additionalProperties: true;
|
|
92
|
+
readonly "x-ui-hidden": true;
|
|
84
93
|
};
|
|
85
94
|
readonly extras: {
|
|
86
95
|
readonly type: "object";
|
|
87
96
|
readonly additionalProperties: true;
|
|
97
|
+
readonly "x-ui-hidden": true;
|
|
88
98
|
};
|
|
89
99
|
};
|
|
90
100
|
readonly additionalProperties: false;
|
|
@@ -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"}
|