@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.
Files changed (61) hide show
  1. package/README.md +1 -3
  2. package/dist/browser.js +1083 -275
  3. package/dist/browser.js.map +26 -23
  4. package/dist/bun.js +1083 -275
  5. package/dist/bun.js.map +26 -23
  6. package/dist/common.d.ts +1 -0
  7. package/dist/common.d.ts.map +1 -1
  8. package/dist/node.js +1083 -275
  9. package/dist/node.js.map +26 -23
  10. package/dist/task/ConditionalTask.d.ts +11 -2
  11. package/dist/task/ConditionalTask.d.ts.map +1 -1
  12. package/dist/task/FallbackTask.d.ts +244 -0
  13. package/dist/task/FallbackTask.d.ts.map +1 -0
  14. package/dist/task/FallbackTaskRunner.d.ts +49 -0
  15. package/dist/task/FallbackTaskRunner.d.ts.map +1 -0
  16. package/dist/task/GraphAsTask.d.ts +22 -13
  17. package/dist/task/GraphAsTask.d.ts.map +1 -1
  18. package/dist/task/ITask.d.ts +6 -4
  19. package/dist/task/ITask.d.ts.map +1 -1
  20. package/dist/task/IteratorTask.d.ts +22 -8
  21. package/dist/task/IteratorTask.d.ts.map +1 -1
  22. package/dist/task/IteratorTaskRunner.d.ts +7 -5
  23. package/dist/task/IteratorTaskRunner.d.ts.map +1 -1
  24. package/dist/task/JobQueueTask.d.ts +21 -3
  25. package/dist/task/JobQueueTask.d.ts.map +1 -1
  26. package/dist/task/MapTask.d.ts +11 -1
  27. package/dist/task/MapTask.d.ts.map +1 -1
  28. package/dist/task/ReduceTask.d.ts +11 -1
  29. package/dist/task/ReduceTask.d.ts.map +1 -1
  30. package/dist/task/StreamTypes.d.ts +26 -4
  31. package/dist/task/StreamTypes.d.ts.map +1 -1
  32. package/dist/task/Task.d.ts +25 -18
  33. package/dist/task/Task.d.ts.map +1 -1
  34. package/dist/task/TaskError.d.ts +9 -0
  35. package/dist/task/TaskError.d.ts.map +1 -1
  36. package/dist/task/TaskJSON.d.ts +12 -3
  37. package/dist/task/TaskJSON.d.ts.map +1 -1
  38. package/dist/task/TaskRunner.d.ts +20 -0
  39. package/dist/task/TaskRunner.d.ts.map +1 -1
  40. package/dist/task/TaskTypes.d.ts +11 -1
  41. package/dist/task/TaskTypes.d.ts.map +1 -1
  42. package/dist/task/WhileTask.d.ts +11 -1
  43. package/dist/task/WhileTask.d.ts.map +1 -1
  44. package/dist/task/index.d.ts +4 -1
  45. package/dist/task/index.d.ts.map +1 -1
  46. package/dist/task/iterationSchema.d.ts +1 -1
  47. package/dist/task-graph/GraphSchemaUtils.d.ts +51 -0
  48. package/dist/task-graph/GraphSchemaUtils.d.ts.map +1 -0
  49. package/dist/task-graph/ITaskGraph.d.ts +3 -3
  50. package/dist/task-graph/ITaskGraph.d.ts.map +1 -1
  51. package/dist/task-graph/IWorkflow.d.ts +1 -1
  52. package/dist/task-graph/IWorkflow.d.ts.map +1 -1
  53. package/dist/task-graph/TaskGraph.d.ts +6 -4
  54. package/dist/task-graph/TaskGraph.d.ts.map +1 -1
  55. package/dist/task-graph/TaskGraphRunner.d.ts +26 -0
  56. package/dist/task-graph/TaskGraphRunner.d.ts.map +1 -1
  57. package/dist/task-graph/Workflow.d.ts +26 -4
  58. package/dist/task-graph/Workflow.d.ts.map +1 -1
  59. package/package.json +7 -7
  60. package/src/EXECUTION_MODEL.md +1 -1
  61. 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 { DataPortSchema } from "@workglow/util";
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";
@@ -92,7 +92,9 @@ export declare const conditionalTaskConfigSchema: {
92
92
  readonly type: "object";
93
93
  readonly additionalProperties: true;
94
94
  };
95
- readonly id: {};
95
+ readonly id: {
96
+ readonly "x-ui-hidden": true;
97
+ };
96
98
  readonly title: {
97
99
  readonly type: "string";
98
100
  };
@@ -102,19 +104,26 @@ export declare const conditionalTaskConfigSchema: {
102
104
  readonly cacheable: {
103
105
  readonly type: "boolean";
104
106
  };
107
+ readonly timeout: {
108
+ readonly type: "number";
109
+ readonly description: "Max execution time in milliseconds";
110
+ };
105
111
  readonly inputSchema: {
106
112
  readonly type: "object";
107
113
  readonly properties: {};
108
114
  readonly additionalProperties: true;
115
+ readonly "x-ui-hidden": true;
109
116
  };
110
117
  readonly outputSchema: {
111
118
  readonly type: "object";
112
119
  readonly properties: {};
113
120
  readonly additionalProperties: true;
121
+ readonly "x-ui-hidden": true;
114
122
  };
115
123
  readonly extras: {
116
124
  readonly type: "object";
117
125
  readonly additionalProperties: true;
126
+ readonly "x-ui-hidden": true;
118
127
  };
119
128
  };
120
129
  readonly additionalProperties: false;
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionalTask.d.ts","sourceRoot":"","sources":["../../src/task/ConditionalTask.ts"],"names":[],"mappings":"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"}
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,15 +11,18 @@ 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";
18
18
  readonly properties: {
19
19
  readonly compoundMerge: {
20
20
  readonly type: "string";
21
+ readonly "x-ui-hidden": true;
22
+ };
23
+ readonly id: {
24
+ readonly "x-ui-hidden": true;
21
25
  };
22
- readonly id: {};
23
26
  readonly title: {
24
27
  readonly type: "string";
25
28
  };
@@ -29,19 +32,26 @@ export declare const graphAsTaskConfigSchema: {
29
32
  readonly cacheable: {
30
33
  readonly type: "boolean";
31
34
  };
35
+ readonly timeout: {
36
+ readonly type: "number";
37
+ readonly description: "Max execution time in milliseconds";
38
+ };
32
39
  readonly inputSchema: {
33
40
  readonly type: "object";
34
41
  readonly properties: {};
35
42
  readonly additionalProperties: true;
43
+ readonly "x-ui-hidden": true;
36
44
  };
37
45
  readonly outputSchema: {
38
46
  readonly type: "object";
39
47
  readonly properties: {};
40
48
  readonly additionalProperties: true;
49
+ readonly "x-ui-hidden": true;
41
50
  };
42
51
  readonly extras: {
43
52
  readonly type: "object";
44
53
  readonly additionalProperties: true;
54
+ readonly "x-ui-hidden": true;
45
55
  };
46
56
  };
47
57
  readonly additionalProperties: false;
@@ -72,22 +82,21 @@ export declare class GraphAsTask<Input extends TaskInput = TaskInput, Output ext
72
82
  get compoundMerge(): CompoundMergeStrategy;
73
83
  get cacheable(): boolean;
74
84
  /**
75
- * Override inputSchema to compute it dynamically from the subgraph at runtime
76
- * The input schema is the union of all unconnected inputs from starting nodes
77
- * (nodes with zero incoming connections)
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.
78
91
  */
79
92
  inputSchema(): DataPortSchema;
80
93
  protected _inputSchemaNode: SchemaNode | undefined;
81
94
  /**
82
95
  * Gets the compiled input schema
83
96
  */
84
- protected getInputSchemaNode(type: TaskTypeName): SchemaNode;
85
- /**
86
- * Calculates the depth (longest path from any starting node) for each task in the graph
87
- * @returns A map of task IDs to their depths
88
- */
89
- private calculateNodeDepths;
97
+ protected getInputSchemaNode(): SchemaNode;
90
98
  /**
99
+
91
100
  * Override outputSchema to compute it dynamically from the subgraph at runtime
92
101
  * The output schema depends on the compoundMerge strategy and the nodes at the last level
93
102
  */
@@ -115,11 +124,11 @@ export declare class GraphAsTask<Input extends TaskInput = TaskInput, Output ext
115
124
  * Serializes the task and its subtasks into a format that can be stored
116
125
  * @returns The serialized task and subtasks
117
126
  */
118
- toJSON(): TaskGraphItemJson;
127
+ toJSON(options?: TaskGraphJsonOptions): TaskGraphItemJson;
119
128
  /**
120
129
  * Converts the task to a JSON format suitable for dependency tracking
121
130
  * @returns The task and subtasks in JSON thats easier for humans to read
122
131
  */
123
- toDependencyJSON(): JsonTaskItem;
132
+ toDependencyJSON(options?: TaskGraphJsonOptions): JsonTaskItem;
124
133
  }
125
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;AAClE,OAAO,EAEL,KAAK,UAAU,EAEf,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;;;;OAIG;IACI,WAAW,IAAI,cAAc;IAsDpC,SAAS,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,CAAC;IACnD;;OAEG;cACgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU;IAoBrE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;;OAGG;IACa,YAAY,IAAI,cAAc;IA2E9C;;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;IACI,MAAM,IAAI,iBAAiB;IAalC;;;OAGG;IACI,gBAAgB,IAAI,YAAY;CAUxC"}
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"}
@@ -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
  /**
@@ -83,6 +83,7 @@ export interface ITaskStaticProperties {
83
83
  readonly cacheable: boolean;
84
84
  readonly hasDynamicSchemas: boolean;
85
85
  readonly passthroughInputsToOutputs?: boolean;
86
+ readonly customizable?: boolean;
86
87
  readonly inputSchema: () => DataPortSchema;
87
88
  readonly outputSchema: () => DataPortSchema;
88
89
  readonly configSchema: () => DataPortSchema;
@@ -156,15 +157,16 @@ export interface ITaskEvents {
156
157
  * Interface for task serialization
157
158
  */
158
159
  export interface ITaskSerialization {
159
- toJSON(): JsonTaskItem | TaskGraphItemJson;
160
- toDependencyJSON(): JsonTaskItem;
161
- id(): unknown;
160
+ toJSON(options?: TaskGraphJsonOptions): JsonTaskItem | TaskGraphItemJson;
161
+ toDependencyJSON(options?: TaskGraphJsonOptions): JsonTaskItem;
162
+ get id(): unknown;
162
163
  }
163
164
  /**
164
165
  * Interface for task configuration and state
165
166
  */
166
167
  export interface ITaskState<Config extends TaskConfig = TaskConfig> {
167
168
  readonly config: Config;
169
+ get id(): unknown;
168
170
  status: TaskStatus;
169
171
  progress: number;
170
172
  createdAt: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../src/task/ITask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../src/task/ITask.ts"],"names":[],"mappings":"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"}
@@ -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 { DataPortSchema } from "@workglow/util";
6
+ import type { DataPortSchema, PropertySchema } from "@workglow/util";
7
7
  import { TaskGraph } from "../task-graph/TaskGraph";
8
8
  import { GraphAsTask, GraphAsTaskConfig } from "./GraphAsTask";
9
9
  import type { IExecuteContext } from "./ITask";
@@ -34,7 +34,7 @@ export type IterationInputMode = "array" | "scalar" | "flexible";
34
34
  */
35
35
  export interface IterationPropertyConfig {
36
36
  /** The base schema for the property (without array wrapping) */
37
- readonly baseSchema: DataPortSchema;
37
+ readonly baseSchema: PropertySchema;
38
38
  /** The input mode for this property */
39
39
  readonly mode: IterationInputMode;
40
40
  }
@@ -55,8 +55,11 @@ export declare const iteratorTaskConfigSchema: {
55
55
  };
56
56
  readonly compoundMerge: {
57
57
  readonly type: "string";
58
+ readonly "x-ui-hidden": true;
59
+ };
60
+ readonly id: {
61
+ readonly "x-ui-hidden": true;
58
62
  };
59
- readonly id: {};
60
63
  readonly title: {
61
64
  readonly type: "string";
62
65
  };
@@ -66,19 +69,26 @@ export declare const iteratorTaskConfigSchema: {
66
69
  readonly cacheable: {
67
70
  readonly type: "boolean";
68
71
  };
72
+ readonly timeout: {
73
+ readonly type: "number";
74
+ readonly description: "Max execution time in milliseconds";
75
+ };
69
76
  readonly inputSchema: {
70
77
  readonly type: "object";
71
78
  readonly properties: {};
72
79
  readonly additionalProperties: true;
80
+ readonly "x-ui-hidden": true;
73
81
  };
74
82
  readonly outputSchema: {
75
83
  readonly type: "object";
76
84
  readonly properties: {};
77
85
  readonly additionalProperties: true;
86
+ readonly "x-ui-hidden": true;
78
87
  };
79
88
  readonly extras: {
80
89
  readonly type: "object";
81
90
  readonly additionalProperties: true;
91
+ readonly "x-ui-hidden": true;
82
92
  };
83
93
  };
84
94
  readonly additionalProperties: false;
@@ -126,15 +136,15 @@ export interface IterationAnalysisResult {
126
136
  /**
127
137
  * Creates a union type schema (T | T[]) for flexible iteration input.
128
138
  */
129
- export declare function createFlexibleSchema(baseSchema: DataPortSchema): DataPortSchema;
139
+ export declare function createFlexibleSchema(baseSchema: PropertySchema): PropertySchema;
130
140
  /**
131
141
  * Creates an array schema from a base schema.
132
142
  */
133
- export declare function createArraySchema(baseSchema: DataPortSchema): DataPortSchema;
143
+ export declare function createArraySchema(baseSchema: PropertySchema): PropertySchema;
134
144
  /**
135
145
  * Extracts the base (scalar) schema from a potentially wrapped schema.
136
146
  */
137
- export declare function extractBaseSchema(schema: DataPortSchema): DataPortSchema;
147
+ export declare function extractBaseSchema(schema: PropertySchema): PropertySchema;
138
148
  /**
139
149
  * Determines if a schema accepts arrays (is array type or has array in union).
140
150
  */
@@ -208,12 +218,16 @@ export declare abstract class IteratorTask<Input extends TaskInput = TaskInput,
208
218
  protected buildConfiguredIterationInputSchema(): DataPortSchema;
209
219
  /**
210
220
  * Derives the schema accepted by each iteration of the inner workflow.
211
- * This uses root task inputs and does not require an InputTask node.
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.
212
226
  */
213
227
  protected getInnerInputSchema(): DataPortSchema | undefined;
214
228
  getIterationInputSchema(): DataPortSchema;
215
229
  setIterationInputSchema(schema: DataPortSchema): void;
216
- setPropertyInputMode(propertyName: string, mode: IterationInputMode, baseSchema?: DataPortSchema): void;
230
+ setPropertyInputMode(propertyName: string, mode: IterationInputMode, baseSchema?: PropertySchema): void;
217
231
  invalidateIterationInputSchema(): void;
218
232
  /**
219
233
  * Analyzes input to determine which ports are iterated vs scalar.
@@ -1 +1 @@
1
- {"version":3,"file":"IteratorTask.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTask.ts"],"names":[],"mappings":"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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASF,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACzE,CAAC;AAEF;;GAEG;AACH,UAAU,gBAAgB;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B,oDAAoD;IACpD,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3D;AAmDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,cAAc,GAAG,cAAc,CAI/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,cAAc,CAK5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CA4BxE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAYlE;AAED;;GAEG;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,OAAc,IAAI,EAAE,YAAY,CAAkB;IAClD,OAAc,QAAQ,EAAE,MAAM,CAAkB;IAChD,OAAc,KAAK,EAAE,MAAM,CAAc;IACzC,OAAc,WAAW,EAAE,MAAM,CAAoC;IAErE,gEAAgE;IAChE,OAAc,iBAAiB,EAAE,OAAO,CAAQ;WAElC,YAAY,IAAI,cAAc;IAI5C;;;OAGG;WACW,yBAAyB,IAAI,cAAc;IAIzD,sDAAsD;IACtD,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAE1D,8CAA8C;IAC9C,SAAS,CAAC,qBAAqB,EAAE,cAAc,GAAG,SAAS,CAAC;gBAEhD,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM;IAQ5D,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;IAED;;;;;OAKG;IACI,aAAa,CAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,eAAe,GACxB,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAQrC,IAAa,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAIxC;IAED,IAAa,QAAQ,IAAI,SAAS,CAEjC;IAEe,eAAe,IAAI,IAAI;IASvC;;;OAGG;IACI,sBAAsB,IAAI,OAAO;IAIxC;;OAEG;IACI,YAAY,IAAI,OAAO;IAI9B;;OAEG;IACI,qBAAqB,IAAI,MAAM;IAItC;;OAEG;IACI,sBAAsB,CAC3B,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;IAS1B;;OAEG;IACI,6BAA6B,CAClC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,UAAU,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,GACb,MAAM;IAIT;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;IAyBpD,IAAW,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEhD;IAED,IAAW,SAAS,IAAI,MAAM,GAAG,SAAS,CAEzC;IAMD,IAAW,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,SAAS,CAErF;IAED,SAAS,CAAC,gCAAgC,IAAI,cAAc;IA2B5D,SAAS,CAAC,mCAAmC,IAAI,cAAc;IA8C/D;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,GAAG,SAAS;IAqFpD,uBAAuB,IAAI,cAAc;IAYzC,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAMrD,oBAAoB,CACzB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,CAAC,EAAE,cAAc,GAC1B,IAAI;IAmCA,8BAA8B,IAAI,IAAI;IAU7C;;;;;;OAMG;IACI,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,uBAAuB;IA+F5D,yBAAyB,IAAI,cAAc;IAI3C,WAAW,IAAI,cAAc;IAO7B,YAAY,IAAI,cAAc;IAQrC,SAAS,CAAC,sBAAsB,IAAI,cAAc;CAiCnD"}