@workglow/task-graph 0.0.90 → 0.0.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +402 -12
- package/dist/browser.js.map +13 -12
- package/dist/bun.js +402 -12
- package/dist/bun.js.map +13 -12
- package/dist/node.js +402 -12
- package/dist/node.js.map +13 -12
- package/dist/task/ITask.d.ts +7 -0
- package/dist/task/ITask.d.ts.map +1 -1
- package/dist/task/StreamTypes.d.ts +96 -0
- package/dist/task/StreamTypes.d.ts.map +1 -0
- package/dist/task/TaskEvents.d.ts +7 -0
- package/dist/task/TaskEvents.d.ts.map +1 -1
- package/dist/task/TaskJSON.d.ts +3 -2
- package/dist/task/TaskJSON.d.ts.map +1 -1
- package/dist/task/TaskRunner.d.ts +7 -0
- package/dist/task/TaskRunner.d.ts.map +1 -1
- package/dist/task/TaskTypes.d.ts +4 -1
- package/dist/task/TaskTypes.d.ts.map +1 -1
- package/dist/task/index.d.ts +1 -0
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task-graph/Dataflow.d.ts +34 -0
- package/dist/task-graph/Dataflow.d.ts.map +1 -1
- package/dist/task-graph/DataflowEvents.d.ts +2 -0
- package/dist/task-graph/DataflowEvents.d.ts.map +1 -1
- package/dist/task-graph/ITaskGraph.d.ts +6 -0
- package/dist/task-graph/ITaskGraph.d.ts.map +1 -1
- package/dist/task-graph/TaskGraph.d.ts +14 -0
- package/dist/task-graph/TaskGraph.d.ts.map +1 -1
- package/dist/task-graph/TaskGraphEvents.d.ts +7 -0
- package/dist/task-graph/TaskGraphEvents.d.ts.map +1 -1
- package/dist/task-graph/TaskGraphRunner.d.ts +25 -0
- package/dist/task-graph/TaskGraphRunner.d.ts.map +1 -1
- package/dist/task-graph/TaskGraphScheduler.d.ts +9 -0
- package/dist/task-graph/TaskGraphScheduler.d.ts.map +1 -1
- package/dist/task-graph/Workflow.d.ts +36 -1
- package/dist/task-graph/Workflow.d.ts.map +1 -1
- package/package.json +7 -7
package/dist/task/ITask.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { ITaskGraph } from "../task-graph/ITaskGraph";
|
|
|
9
9
|
import { IWorkflow } from "../task-graph/IWorkflow";
|
|
10
10
|
import type { TaskGraph } from "../task-graph/TaskGraph";
|
|
11
11
|
import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
|
|
12
|
+
import type { StreamEvent } from "./StreamTypes";
|
|
12
13
|
import { TaskError } from "./TaskError";
|
|
13
14
|
import type { TaskEventListener, TaskEventListeners, TaskEventParameters, TaskEvents } from "./TaskEvents";
|
|
14
15
|
import type { JsonTaskItem, TaskGraphItemJson } from "./TaskJSON";
|
|
@@ -54,6 +55,12 @@ export interface ITaskStaticProperties {
|
|
|
54
55
|
export interface ITaskExecution<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput> {
|
|
55
56
|
execute(input: Input, context: IExecuteContext): Promise<Output | undefined>;
|
|
56
57
|
executeReactive(input: Input, output: Output, context: IExecuteReactiveContext): Promise<Output | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* Optional streaming execution method.
|
|
60
|
+
* When implemented, returns an async iterable of StreamEvents instead of a single output.
|
|
61
|
+
* Only available on tasks where the static `streamable` property is true.
|
|
62
|
+
*/
|
|
63
|
+
executeStream?(input: Input, context: IExecuteContext): AsyncIterable<StreamEvent<Output>>;
|
|
57
64
|
}
|
|
58
65
|
/**
|
|
59
66
|
* Interface for task lifecycle management
|
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,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;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,GAAG,EAAE,CAAC,CAAC,SAAS,KAAK,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3D,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAC7C,cAAc,CAAC,EAAE,CACf,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,cAAc,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,cAAc,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAC7B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU;IAEtC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7E,eAAe,CACb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../src/task/ITask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DataPortSchema, JsonSchema } from "@workglow/util";
|
|
7
|
+
/**
|
|
8
|
+
* Stream mode determines how a task's streaming output is interpreted:
|
|
9
|
+
* - `none`: No streaming (default). `execute()` returns `Promise<Output>`.
|
|
10
|
+
* - `append`: Each chunk is a delta (e.g., a new token).
|
|
11
|
+
* - `replace`: Each chunk is a corrected/revised snapshot of the complete output so far.
|
|
12
|
+
*
|
|
13
|
+
* Declared per-port via the `x-stream` schema extension property.
|
|
14
|
+
* Absent `x-stream` = `"none"`.
|
|
15
|
+
*/
|
|
16
|
+
export type StreamMode = "none" | "append" | "replace";
|
|
17
|
+
/**
|
|
18
|
+
* Append mode: delta chunk (consumer accumulates).
|
|
19
|
+
*/
|
|
20
|
+
export type StreamTextDelta = {
|
|
21
|
+
type: "text-delta";
|
|
22
|
+
textDelta: string;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Replace mode: full snapshot chunk (replaces previous state).
|
|
26
|
+
*/
|
|
27
|
+
export type StreamSnapshot<Output = Record<string, any>> = {
|
|
28
|
+
type: "snapshot";
|
|
29
|
+
data: Output;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Signals that the stream has finished. In append mode, the runner
|
|
33
|
+
* always accumulates text-delta chunks into the `text` field; `data`
|
|
34
|
+
* may carry additional non-text fields (merged into the final output).
|
|
35
|
+
* In replace mode, `data` contains the final output.
|
|
36
|
+
*/
|
|
37
|
+
export type StreamFinish<Output = Record<string, any>> = {
|
|
38
|
+
type: "finish";
|
|
39
|
+
data: Output;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Signals that the stream encountered an error.
|
|
43
|
+
*/
|
|
44
|
+
export type StreamError = {
|
|
45
|
+
type: "error";
|
|
46
|
+
error: Error;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Discriminated union of all stream event types.
|
|
50
|
+
* Used as the element type for `AsyncIterable<StreamEvent>` streams
|
|
51
|
+
* flowing through the DAG.
|
|
52
|
+
*/
|
|
53
|
+
export type StreamEvent<Output = Record<string, any>> = StreamTextDelta | StreamSnapshot<Output> | StreamFinish<Output> | StreamError;
|
|
54
|
+
/**
|
|
55
|
+
* Reads the `x-stream` value from a specific port property in a DataPortSchema.
|
|
56
|
+
* Returns `"none"` when the property or the `x-stream` annotation is absent.
|
|
57
|
+
*
|
|
58
|
+
* @param schema - The task's input or output DataPortSchema
|
|
59
|
+
* @param portId - The property name (port ID) to inspect
|
|
60
|
+
* @returns The StreamMode declared on that port
|
|
61
|
+
*/
|
|
62
|
+
export declare function getPortStreamMode(schema: DataPortSchema | JsonSchema, portId: string): StreamMode;
|
|
63
|
+
/**
|
|
64
|
+
* Returns the dominant output stream mode for a task by inspecting its output schema.
|
|
65
|
+
* If any output port has `x-stream`, returns that mode. If multiple ports have
|
|
66
|
+
* different modes, `append` takes priority (it is the most common).
|
|
67
|
+
* Returns `"none"` if no output port declares streaming.
|
|
68
|
+
*/
|
|
69
|
+
export declare function getOutputStreamMode(outputSchema: DataPortSchema): StreamMode;
|
|
70
|
+
/**
|
|
71
|
+
* Determines whether a task supports streaming by checking if any output port
|
|
72
|
+
* has an `x-stream` annotation AND the task implements `executeStream()`.
|
|
73
|
+
*
|
|
74
|
+
* @param task - The task to inspect (must have `outputSchema()` and optionally `executeStream`)
|
|
75
|
+
* @returns true if the task can produce streaming output
|
|
76
|
+
*/
|
|
77
|
+
export declare function isTaskStreamable(task: {
|
|
78
|
+
outputSchema(): DataPortSchema;
|
|
79
|
+
executeStream?: (...args: any[]) => any;
|
|
80
|
+
}): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Determines whether a dataflow edge needs to accumulate stream events
|
|
83
|
+
* into a materialized value for the target port.
|
|
84
|
+
*
|
|
85
|
+
* Accumulation is needed when:
|
|
86
|
+
* - The source output port declares streaming (`x-stream` is set)
|
|
87
|
+
* - AND the target input port does NOT accept the same stream mode
|
|
88
|
+
*
|
|
89
|
+
* @param sourceSchema - Output schema of the source task
|
|
90
|
+
* @param sourcePort - Port ID on the source task
|
|
91
|
+
* @param targetSchema - Input schema of the target task
|
|
92
|
+
* @param targetPort - Port ID on the target task
|
|
93
|
+
* @returns true if the edge should accumulate; false if stream can pass through
|
|
94
|
+
*/
|
|
95
|
+
export declare function edgeNeedsAccumulation(sourceSchema: DataPortSchema, sourcePort: string, targetSchema: DataPortSchema, targetPort: string): boolean;
|
|
96
|
+
//# sourceMappingURL=StreamTypes.d.ts.map
|
|
@@ -0,0 +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;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,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;;;;;GAKG;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,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,mBAAmB,CAAC,YAAY,EAAE,cAAc,GAAG,UAAU,CAa5E;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;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAKT"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { EventParameters, type DataPortSchema } from "@workglow/util";
|
|
7
|
+
import type { StreamEvent } from "./StreamTypes";
|
|
7
8
|
import { TaskAbortedError, TaskError } from "./TaskError";
|
|
8
9
|
import { TaskStatus } from "./TaskTypes";
|
|
9
10
|
/**
|
|
@@ -30,6 +31,12 @@ export type TaskEventListeners = {
|
|
|
30
31
|
status: (status: TaskStatus) => void;
|
|
31
32
|
/** Fired when a task's input or output schema changes (for tasks with dynamic schemas) */
|
|
32
33
|
schemaChange: (inputSchema?: DataPortSchema, outputSchema?: DataPortSchema) => void;
|
|
34
|
+
/** Fired when a streaming task begins producing chunks */
|
|
35
|
+
stream_start: () => void;
|
|
36
|
+
/** Fired for each stream chunk produced by a streaming task */
|
|
37
|
+
stream_chunk: (event: StreamEvent) => void;
|
|
38
|
+
/** Fired when a streaming task finishes (carries final output) */
|
|
39
|
+
stream_end: (output: Record<string, any>) => void;
|
|
33
40
|
};
|
|
34
41
|
/** Union type of all possible task event names */
|
|
35
42
|
export type TaskEvents = keyof TaskEventListeners;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskEvents.d.ts","sourceRoot":"","sources":["../../src/task/TaskEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC;;GAEG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yCAAyC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,mCAAmC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEzC,4CAA4C;IAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAElC,oCAAoC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,yCAAyC;IACzC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEvE,2DAA2D;IAC3D,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB,mDAAmD;IACnD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,0CAA0C;IAC1C,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAErC,0FAA0F;IAC1F,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskEvents.d.ts","sourceRoot":"","sources":["../../src/task/TaskEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC;;GAEG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yCAAyC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,mCAAmC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEzC,4CAA4C;IAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAElC,oCAAoC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,yCAAyC;IACzC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEvE,2DAA2D;IAC3D,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB,mDAAmD;IACnD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,0CAA0C;IAC1C,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAErC,0FAA0F;IAC1F,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAEpF,0DAA0D;IAC1D,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,+DAA+D;IAC/D,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAE3C,kEAAkE;IAClE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACnD,CAAC;AACF,kDAAkD;AAElD,MAAM,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;AAClD,6CAA6C;AAE7C,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,UAAU,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACpF,qCAAqC;AAErC,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,UAAU,IAAI,eAAe,CACzE,kBAAkB,EAClB,KAAK,CACN,CAAC"}
|
package/dist/task/TaskJSON.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { TaskGraph } from "../task-graph/TaskGraph";
|
|
7
7
|
import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
|
|
8
|
+
import { GraphAsTask } from "./GraphAsTask";
|
|
8
9
|
import { DataPorts, TaskInput } from "./TaskTypes";
|
|
9
10
|
/**
|
|
10
11
|
* Represents a single task item in the JSON configuration.
|
|
@@ -62,7 +63,7 @@ export type DataflowJson = {
|
|
|
62
63
|
* Creates a task instance from a JSON task item configuration
|
|
63
64
|
* Validates required fields and resolves task type from registry
|
|
64
65
|
*/
|
|
65
|
-
export declare const createTaskFromDependencyJSON: (item: JsonTaskItem) => import("./ITask").ITask<any, any, any>;
|
|
66
|
+
export declare const createTaskFromDependencyJSON: (item: JsonTaskItem) => GraphAsTask<any, any, any> | import("./ITask").ITask<any, any, any>;
|
|
66
67
|
/**
|
|
67
68
|
* Creates a task graph from an array of JSON task items
|
|
68
69
|
* Recursively processes subtasks for compound tasks
|
|
@@ -74,7 +75,7 @@ export declare const createGraphFromDependencyJSON: (jsonItems: JsonTaskItem[])
|
|
|
74
75
|
* @returns A new task instance
|
|
75
76
|
* @throws Error if required fields are missing or invalid
|
|
76
77
|
*/
|
|
77
|
-
export declare const createTaskFromGraphJSON: (item: TaskGraphItemJson) => import("./ITask").ITask<any, any, any>;
|
|
78
|
+
export declare const createTaskFromGraphJSON: (item: TaskGraphItemJson) => GraphAsTask<any, any, any> | import("./ITask").ITask<any, any, any>;
|
|
78
79
|
/**
|
|
79
80
|
* Creates a TaskGraph instance from its JSON representation
|
|
80
81
|
* @param graphJsonObj The JSON representation of the task graph
|
|
@@ -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;
|
|
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,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAK/D;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,qCAAqC;IACrC,EAAE,EAAE,OAAO,CAAC;IAEZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wCAAwC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,sCAAsC;IACtC,YAAY,CAAC,EAAE;QACb,wDAAwD;QACxD,CAAC,CAAC,EAAE,MAAM,GACN;YACE,4BAA4B;YAC5B,EAAE,EAAE,OAAO,CAAC;YAEZ,6CAA6C;YAC7C,MAAM,EAAE,MAAM,CAAC;SAChB,GACD,KAAK,CAAC;YACJ,EAAE,EAAE,OAAO,CAAC;YACZ,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACR,CAAC;IAEF,iIAAiI;IACjI,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC,CAAC;;GAEA;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAqBF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,MAAM,YAAY,wEAS9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAI,WAAW,YAAY,EAAE,cAMtE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,iBAAiB,wEAS9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,aAAa,cAgBnE,CAAC"}
|
|
@@ -66,6 +66,13 @@ export declare class TaskRunner<Input extends TaskInput = TaskInput, Output exte
|
|
|
66
66
|
* Protected method for reactive execution delegation
|
|
67
67
|
*/
|
|
68
68
|
protected executeTaskReactive(input: Input, output: Output): Promise<Output>;
|
|
69
|
+
/**
|
|
70
|
+
* Executes a streaming task by consuming its executeStream() async iterable.
|
|
71
|
+
* In append mode, text-delta chunks are always accumulated into the final
|
|
72
|
+
* output's `text` field, regardless of output cache configuration.
|
|
73
|
+
* In replace mode, the final output comes from the finish event data.
|
|
74
|
+
*/
|
|
75
|
+
protected executeStreamingTask(input: Input): Promise<Output | undefined>;
|
|
69
76
|
/**
|
|
70
77
|
* Handles task start
|
|
71
78
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/TaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAyB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,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;
|
|
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
|
@@ -10,11 +10,12 @@ import type { Task } from "./Task";
|
|
|
10
10
|
* Enum representing the possible states of a task
|
|
11
11
|
*
|
|
12
12
|
* PENDING -> PROCESSING -> COMPLETED
|
|
13
|
+
* PENDING -> PROCESSING -> STREAMING -> COMPLETED
|
|
13
14
|
* PENDING -> PROCESSING -> ABORTING -> FAILED
|
|
14
15
|
* PENDING -> PROCESSING -> FAILED
|
|
15
16
|
* PENDING -> DISABLED
|
|
16
17
|
*/
|
|
17
|
-
export type TaskStatus = "PENDING" | "DISABLED" | "PROCESSING" | "COMPLETED" | "ABORTING" | "FAILED";
|
|
18
|
+
export type TaskStatus = "PENDING" | "DISABLED" | "PROCESSING" | "STREAMING" | "COMPLETED" | "ABORTING" | "FAILED";
|
|
18
19
|
export declare const TaskStatus: {
|
|
19
20
|
/** Task is created but not yet started */
|
|
20
21
|
readonly PENDING: "PENDING";
|
|
@@ -22,6 +23,8 @@ export declare const TaskStatus: {
|
|
|
22
23
|
readonly DISABLED: "DISABLED";
|
|
23
24
|
/** Task is currently running */
|
|
24
25
|
readonly PROCESSING: "PROCESSING";
|
|
26
|
+
/** Task has begun producing streaming output chunks */
|
|
27
|
+
readonly STREAMING: "STREAMING";
|
|
25
28
|
/** Task has completed successfully */
|
|
26
29
|
readonly COMPLETED: "COMPLETED";
|
|
27
30
|
/** Task is in the process of being aborted */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskTypes.d.ts","sourceRoot":"","sources":["../../src/task/TaskTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC
|
|
1
|
+
{"version":3,"file":"TaskTypes.d.ts","sourceRoot":"","sources":["../../src/task/TaskTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,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;AAElC,kCAAkC;AAClC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAM1C,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,EAAE,EAAE,OAAO,CAAC;IAEZ,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iDAAiD;IACjD,WAAW,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAE7C,2FAA2F;IAC3F,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iIAAiI;IACjI,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/task/index.d.ts
CHANGED
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,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,+GAI7B,CAAC"}
|
|
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,+GAI7B,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { EventEmitter } from "@workglow/util";
|
|
7
|
+
import type { StreamEvent } from "../task/StreamTypes";
|
|
7
8
|
import { TaskError } from "../task/TaskError";
|
|
8
9
|
import { DataflowJson } from "../task/TaskJSON";
|
|
9
10
|
import { TaskIdType, TaskOutput, TaskStatus } from "../task/TaskTypes";
|
|
@@ -26,6 +27,39 @@ export declare class Dataflow {
|
|
|
26
27
|
value: any;
|
|
27
28
|
status: TaskStatus;
|
|
28
29
|
error: TaskError | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Active stream for this dataflow edge.
|
|
32
|
+
* Set when a streaming upstream task begins producing chunks.
|
|
33
|
+
* Multiple downstream consumers can each get an independent reader via tee().
|
|
34
|
+
*/
|
|
35
|
+
stream: ReadableStream<StreamEvent> | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Sets the active stream on this dataflow.
|
|
38
|
+
* @param stream The ReadableStream of StreamEvents from the upstream task
|
|
39
|
+
*/
|
|
40
|
+
setStream(stream: ReadableStream<StreamEvent>): void;
|
|
41
|
+
/**
|
|
42
|
+
* Gets the active stream from this dataflow, or undefined if not streaming.
|
|
43
|
+
*/
|
|
44
|
+
getStream(): ReadableStream<StreamEvent> | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Consumes the active stream to completion and materializes the value.
|
|
47
|
+
*
|
|
48
|
+
* This is edge-level accumulation for non-streaming downstream tasks that
|
|
49
|
+
* depend on a streaming upstream task (Plan section 5e). The method reads
|
|
50
|
+
* all stream events and determines the final value:
|
|
51
|
+
*
|
|
52
|
+
* - **append mode** (text-delta events): concatenates all textDelta strings.
|
|
53
|
+
* The accumulated text is stored directly as `this.value` (for specific-port
|
|
54
|
+
* dataflows) or wrapped in `{ text }` (for DATAFLOW_ALL_PORTS).
|
|
55
|
+
* - **replace mode** (snapshot events): uses the data from the last snapshot.
|
|
56
|
+
* - **finish with data**: uses the finish payload (covers cache-on append and
|
|
57
|
+
* replace modes where the provider already accumulated).
|
|
58
|
+
*
|
|
59
|
+
* After consumption the stream reference is cleared. Calling this method on
|
|
60
|
+
* a dataflow that has no stream is a no-op.
|
|
61
|
+
*/
|
|
62
|
+
awaitStreamValue(): Promise<void>;
|
|
29
63
|
reset(): void;
|
|
30
64
|
setStatus(status: TaskStatus): void;
|
|
31
65
|
setPortData(entireDataBlock: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dataflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/Dataflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA6B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,GAAG,MAAM,IAAI,MAAM,SAAS,MAAM,IAAI,MAAM,GAAG,CAAC;AAE7E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,QAAQ;IAEV,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,MAAM;gBAHxB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM;WAEnB,QAAQ,CACpB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM,GACvB,cAAc;IAGjB,IAAI,EAAE,IAAI,cAAc,CAOvB;IACM,KAAK,EAAE,GAAG,CAAa;IACvB,MAAM,EAAE,UAAU,CAAsB;IACxC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Dataflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/Dataflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ import { TaskStatus } from "../task/TaskTypes";
|
|
|
12
12
|
export type DataflowEventListeners = {
|
|
13
13
|
/** Fired when a source task starts execution */
|
|
14
14
|
start: () => void;
|
|
15
|
+
/** Fired when a source task begins streaming output */
|
|
16
|
+
streaming: () => void;
|
|
15
17
|
/** Fired when a source task completes successfully */
|
|
16
18
|
complete: () => void;
|
|
17
19
|
/** Fired when a source task is disabled */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataflowEvents.d.ts","sourceRoot":"","sources":["../../src/task-graph/DataflowEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AAEH,MAAM,MAAM,sBAAsB,GAAG;IACnC,gDAAgD;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,mDAAmD;IACnD,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAElC,uDAAuD;IACvD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,2CAA2C;IAC3C,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC,CAAC;AACF,sDAAsD;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC;AAC1D,iDAAiD;AAEjD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,cAAc,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChG,yCAAyC;AAEzC,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,cAAc,IAAI,eAAe,CACjF,sBAAsB,EACtB,KAAK,CACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"DataflowEvents.d.ts","sourceRoot":"","sources":["../../src/task-graph/DataflowEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AAEH,MAAM,MAAM,sBAAsB,GAAG;IACnC,gDAAgD;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,uDAAuD;IACvD,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,mDAAmD;IACnD,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAElC,uDAAuD;IACvD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,2CAA2C;IAC3C,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC,CAAC;AACF,sDAAsD;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC;AAC1D,iDAAiD;AAEjD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,cAAc,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChG,yCAAyC;AAEzC,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,cAAc,IAAI,eAAe,CACjF,sBAAsB,EACtB,KAAK,CACN,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { ITask } from "../task/ITask";
|
|
7
|
+
import type { StreamEvent } from "../task/StreamTypes";
|
|
7
8
|
import { JsonTaskItem, TaskGraphJson } from "../task/TaskJSON";
|
|
8
9
|
import type { TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
|
|
9
10
|
import { Dataflow, DataflowIdType } from "./Dataflow";
|
|
@@ -37,5 +38,10 @@ export interface ITaskGraph {
|
|
|
37
38
|
subscribeToTaskStatus(callback: (taskId: TaskIdType, status: TaskStatus) => void): () => void;
|
|
38
39
|
subscribeToTaskProgress(callback: (taskId: TaskIdType, progress: number, message?: string, ...args: any[]) => void): () => void;
|
|
39
40
|
subscribeToDataflowStatus(callback: (dataflowId: DataflowIdType, status: TaskStatus) => void): () => void;
|
|
41
|
+
subscribeToTaskStreaming(callbacks: {
|
|
42
|
+
onStreamStart?: (taskId: TaskIdType) => void;
|
|
43
|
+
onStreamChunk?: (taskId: TaskIdType, event: StreamEvent) => void;
|
|
44
|
+
onStreamEnd?: (taskId: TaskIdType, output: Record<string, any>) => void;
|
|
45
|
+
}): () => void;
|
|
40
46
|
}
|
|
41
47
|
//# sourceMappingURL=ITaskGraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITaskGraph.d.ts","sourceRoot":"","sources":["../../src/task-graph/ITaskGraph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ITaskGraph.d.ts","sourceRoot":"","sources":["../../src/task-graph/ITaskGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { DirectedAcyclicGraph, EventEmitter, ServiceRegistry } from "@workglow/util";
|
|
7
7
|
import { TaskOutputRepository } from "../storage/TaskOutputRepository";
|
|
8
8
|
import type { ITask } from "../task/ITask";
|
|
9
|
+
import type { StreamEvent } from "../task/StreamTypes";
|
|
9
10
|
import { JsonTaskItem, TaskGraphJson } from "../task/TaskJSON";
|
|
10
11
|
import type { TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
|
|
11
12
|
import { type PipeFunction } from "./Conversions";
|
|
@@ -211,6 +212,19 @@ export declare class TaskGraph implements ITaskGraph {
|
|
|
211
212
|
* @returns a function to unsubscribe from all dataflow status events
|
|
212
213
|
*/
|
|
213
214
|
subscribeToDataflowStatus(callback: (dataflowId: DataflowIdType, status: TaskStatus) => void): () => void;
|
|
215
|
+
/**
|
|
216
|
+
* Subscribes to streaming events on the task graph.
|
|
217
|
+
* Listens for task_stream_start, task_stream_chunk, and task_stream_end
|
|
218
|
+
* events emitted by the TaskGraphRunner during streaming task execution.
|
|
219
|
+
*
|
|
220
|
+
* @param callbacks - Object with optional callbacks for each streaming event
|
|
221
|
+
* @returns a function to unsubscribe from all streaming events
|
|
222
|
+
*/
|
|
223
|
+
subscribeToTaskStreaming(callbacks: {
|
|
224
|
+
onStreamStart?: (taskId: TaskIdType) => void;
|
|
225
|
+
onStreamChunk?: (taskId: TaskIdType, event: StreamEvent) => void;
|
|
226
|
+
onStreamEnd?: (taskId: TaskIdType, output: Record<string, any>) => void;
|
|
227
|
+
}): () => void;
|
|
214
228
|
/**
|
|
215
229
|
* Registers an event listener for the specified event
|
|
216
230
|
* @param name - The event name to listen for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskGraph.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaskGraph.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { EventParameters } from "@workglow/util";
|
|
7
|
+
import type { StreamEvent } from "../task/StreamTypes";
|
|
7
8
|
import { TaskIdType } from "../task/TaskTypes";
|
|
8
9
|
import { DataflowIdType } from "./Dataflow";
|
|
9
10
|
/**
|
|
@@ -16,6 +17,12 @@ export type TaskGraphStatusListeners = {
|
|
|
16
17
|
error: (error: Error) => void;
|
|
17
18
|
abort: () => void;
|
|
18
19
|
disabled: () => void;
|
|
20
|
+
/** Fired when a task in the graph starts streaming */
|
|
21
|
+
task_stream_start: (taskId: TaskIdType) => void;
|
|
22
|
+
/** Fired for each stream chunk produced by a task in the graph */
|
|
23
|
+
task_stream_chunk: (taskId: TaskIdType, event: StreamEvent) => void;
|
|
24
|
+
/** Fired when a task in the graph finishes streaming */
|
|
25
|
+
task_stream_end: (taskId: TaskIdType, output: Record<string, any>) => void;
|
|
19
26
|
};
|
|
20
27
|
export type TaskGraphStatusEvents = keyof TaskGraphStatusListeners;
|
|
21
28
|
export type TaskGraphStatusListener<Event extends TaskGraphStatusEvents> = TaskGraphStatusListeners[Event];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskGraphEvents.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraphEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7E,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskGraphEvents.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraphEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7E,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,sDAAsD;IACtD,iBAAiB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,kEAAkE;IAClE,iBAAiB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACpE,wDAAwD;IACxD,eAAe,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CAC5E,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAAC;AACnE,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,qBAAqB,IACrE,wBAAwB,CAAC,KAAK,CAAC,CAAC;AAClC,MAAM,MAAM,8BAA8B,CAAC,KAAK,SAAS,qBAAqB,IAAI,eAAe,CAC/F,wBAAwB,EACxB,KAAK,CACN,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,iBAAiB,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;CACzD,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CAAC;AAC/D,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,mBAAmB,IACjE,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChC,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,mBAAmB,IAAI,eAAe,CACtF,sBAAsB,EACtB,KAAK,CACN,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,sBAAsB,CAAC;AACnF,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AACvD,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,eAAe,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC9F,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS,eAAe,IAAI,eAAe,CACnF,kBAAkB,EAClB,KAAK,CACN,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;CAO7B,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;CAO7B,CAAC"}
|
|
@@ -147,6 +147,31 @@ export declare class TaskGraphRunner {
|
|
|
147
147
|
* @returns The output of the task
|
|
148
148
|
*/
|
|
149
149
|
protected runTask<T>(task: ITask, input: TaskInput): Promise<GraphSingleTaskResult<T>>;
|
|
150
|
+
/**
|
|
151
|
+
* For non-streaming downstream tasks, awaits completion of any active
|
|
152
|
+
* streams on input dataflow edges, materializing their values.
|
|
153
|
+
*
|
|
154
|
+
* Streaming upstream tasks set a ReadableStream on outgoing edges.
|
|
155
|
+
* Non-streaming downstream tasks cannot consume streams directly, so
|
|
156
|
+
* this method reads each stream to completion and accumulates the
|
|
157
|
+
* value (via Dataflow.awaitStreamValue) before the task reads its
|
|
158
|
+
* inputs through the normal getPortData() path.
|
|
159
|
+
*/
|
|
160
|
+
protected awaitStreamInputs(task: ITask): Promise<void>;
|
|
161
|
+
/**
|
|
162
|
+
* Runs a streaming task within the DAG.
|
|
163
|
+
* Listens for stream events to:
|
|
164
|
+
* - Notify the scheduler when streaming begins (unblocking downstream streamable tasks)
|
|
165
|
+
* - Push stream data to outgoing dataflow edges
|
|
166
|
+
* - Accumulate output at edge level for non-streaming downstream tasks
|
|
167
|
+
*/
|
|
168
|
+
protected runStreamingTask<T>(task: ITask, input: TaskInput): Promise<GraphSingleTaskResult<T>>;
|
|
169
|
+
/**
|
|
170
|
+
* Pushes stream events from a streaming task to its outgoing dataflow edges.
|
|
171
|
+
* Creates a ReadableStream backed by task stream events and sets it on target dataflows.
|
|
172
|
+
* For fan-out (multiple downstream consumers), uses tee() for independent streams.
|
|
173
|
+
*/
|
|
174
|
+
protected pushStreamToEdges(task: ITask, streamMode: string): void;
|
|
150
175
|
/**
|
|
151
176
|
* Resets a task
|
|
152
177
|
* @param graph The task graph to reset
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskGraphRunner.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraphRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,yBAAyB,EAEzB,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA0B,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE/F,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskGraphRunner.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraphRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,12 @@ export interface ITaskGraphScheduler {
|
|
|
19
19
|
* @param taskId The ID of the completed task
|
|
20
20
|
*/
|
|
21
21
|
onTaskCompleted(taskId: unknown): void;
|
|
22
|
+
/**
|
|
23
|
+
* Notifies the scheduler that a task has begun streaming output.
|
|
24
|
+
* Streaming tasks may unblock downstream streamable tasks early.
|
|
25
|
+
* @param taskId The ID of the streaming task
|
|
26
|
+
*/
|
|
27
|
+
onTaskStreaming(taskId: unknown): void;
|
|
22
28
|
/**
|
|
23
29
|
* Resets the scheduler state
|
|
24
30
|
*/
|
|
@@ -35,6 +41,7 @@ export declare class TopologicalScheduler implements ITaskGraphScheduler {
|
|
|
35
41
|
constructor(dag: TaskGraph);
|
|
36
42
|
tasks(): AsyncIterableIterator<ITask>;
|
|
37
43
|
onTaskCompleted(taskId: unknown): void;
|
|
44
|
+
onTaskStreaming(taskId: unknown): void;
|
|
38
45
|
reset(): void;
|
|
39
46
|
}
|
|
40
47
|
/**
|
|
@@ -44,6 +51,7 @@ export declare class TopologicalScheduler implements ITaskGraphScheduler {
|
|
|
44
51
|
export declare class DependencyBasedScheduler implements ITaskGraphScheduler {
|
|
45
52
|
private dag;
|
|
46
53
|
private completedTasks;
|
|
54
|
+
private streamingTasks;
|
|
47
55
|
private pendingTasks;
|
|
48
56
|
private nextResolver;
|
|
49
57
|
constructor(dag: TaskGraph);
|
|
@@ -51,6 +59,7 @@ export declare class DependencyBasedScheduler implements ITaskGraphScheduler {
|
|
|
51
59
|
private waitForNextTask;
|
|
52
60
|
tasks(): AsyncIterableIterator<ITask>;
|
|
53
61
|
onTaskCompleted(taskId: unknown): void;
|
|
62
|
+
onTaskStreaming(taskId: unknown): void;
|
|
54
63
|
reset(): void;
|
|
55
64
|
}
|
|
56
65
|
//# sourceMappingURL=TaskGraphScheduler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskGraphScheduler.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraphScheduler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskGraphScheduler.d.ts","sourceRoot":"","sources":["../../src/task-graph/TaskGraphScheduler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAEtC;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvC;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,mBAAmB;IAIlD,OAAO,CAAC,GAAG;IAHvB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,YAAY,CAAS;gBAET,GAAG,EAAE,SAAS;IAM3B,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC;IAM5C,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAItC,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAItC,KAAK,IAAI,IAAI;CAId;AAED;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAMtD,OAAO,CAAC,GAAG;IALvB,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAA+C;gBAE/C,GAAG,EAAE,SAAS;IAOlC,OAAO,CAAC,WAAW;YA8CL,eAAe;IA4BtB,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC;IAW5C,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IA2BtC,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAuBtC,KAAK,IAAI,IAAI;CAMd"}
|