@workglow/task-graph 0.0.85 → 0.0.87

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 (71) hide show
  1. package/README.md +1 -53
  2. package/dist/browser.js +1451 -355
  3. package/dist/browser.js.map +28 -21
  4. package/dist/bun.js +1451 -355
  5. package/dist/bun.js.map +28 -21
  6. package/dist/common.d.ts +1 -16
  7. package/dist/common.d.ts.map +1 -1
  8. package/dist/node.js +1451 -355
  9. package/dist/node.js.map +28 -21
  10. package/dist/storage/TaskGraphTabularRepository.d.ts +2 -2
  11. package/dist/storage/TaskGraphTabularRepository.d.ts.map +1 -1
  12. package/dist/storage/TaskOutputTabularRepository.d.ts +2 -2
  13. package/dist/storage/TaskOutputTabularRepository.d.ts.map +1 -1
  14. package/dist/task/BatchTask.d.ts +154 -0
  15. package/dist/task/BatchTask.d.ts.map +1 -0
  16. package/dist/task/ConditionalTask.d.ts +1 -0
  17. package/dist/task/ConditionalTask.d.ts.map +1 -1
  18. package/dist/task/ForEachTask.d.ts +120 -0
  19. package/dist/task/ForEachTask.d.ts.map +1 -0
  20. package/dist/task/GraphAsTask.d.ts +2 -0
  21. package/dist/task/GraphAsTask.d.ts.map +1 -1
  22. package/dist/task/GraphAsTaskRunner.d.ts +0 -1
  23. package/dist/task/GraphAsTaskRunner.d.ts.map +1 -1
  24. package/dist/task/ITask.d.ts +5 -6
  25. package/dist/task/ITask.d.ts.map +1 -1
  26. package/dist/task/InputResolver.d.ts +34 -0
  27. package/dist/task/InputResolver.d.ts.map +1 -0
  28. package/dist/task/IteratorTask.d.ts +197 -0
  29. package/dist/task/IteratorTask.d.ts.map +1 -0
  30. package/dist/task/IteratorTaskRunner.d.ts +63 -0
  31. package/dist/task/IteratorTaskRunner.d.ts.map +1 -0
  32. package/dist/task/JobQueueTask.d.ts +3 -3
  33. package/dist/task/JobQueueTask.d.ts.map +1 -1
  34. package/dist/task/MapTask.d.ts +134 -0
  35. package/dist/task/MapTask.d.ts.map +1 -0
  36. package/dist/task/ReduceTask.d.ts +155 -0
  37. package/dist/task/ReduceTask.d.ts.map +1 -0
  38. package/dist/task/Task.d.ts +22 -11
  39. package/dist/task/Task.d.ts.map +1 -1
  40. package/dist/task/TaskEvents.d.ts +1 -1
  41. package/dist/task/TaskEvents.d.ts.map +1 -1
  42. package/dist/task/TaskJSON.d.ts +1 -4
  43. package/dist/task/TaskJSON.d.ts.map +1 -1
  44. package/dist/task/TaskRunner.d.ts +6 -5
  45. package/dist/task/TaskRunner.d.ts.map +1 -1
  46. package/dist/task/TaskTypes.d.ts +0 -4
  47. package/dist/task/TaskTypes.d.ts.map +1 -1
  48. package/dist/task/WhileTask.d.ts +176 -0
  49. package/dist/task/WhileTask.d.ts.map +1 -0
  50. package/dist/task/index.d.ts +35 -0
  51. package/dist/task/index.d.ts.map +1 -0
  52. package/dist/task-graph/Dataflow.d.ts +2 -3
  53. package/dist/task-graph/Dataflow.d.ts.map +1 -1
  54. package/dist/task-graph/ITaskGraph.d.ts +1 -1
  55. package/dist/task-graph/ITaskGraph.d.ts.map +1 -1
  56. package/dist/task-graph/TaskGraph.d.ts +4 -4
  57. package/dist/task-graph/TaskGraph.d.ts.map +1 -1
  58. package/dist/task-graph/TaskGraphRunner.d.ts +11 -18
  59. package/dist/task-graph/TaskGraphRunner.d.ts.map +1 -1
  60. package/dist/task-graph/Workflow.d.ts +95 -9
  61. package/dist/task-graph/Workflow.d.ts.map +1 -1
  62. package/package.json +7 -7
  63. package/src/storage/README.md +1 -1
  64. package/src/task/README.md +91 -15
  65. package/src/task-graph/README.md +0 -2
  66. package/dist/task/ArrayTask.d.ts +0 -77
  67. package/dist/task/ArrayTask.d.ts.map +0 -1
  68. package/dist/task/InputTask.d.ts +0 -27
  69. package/dist/task/InputTask.d.ts.map +0 -1
  70. package/dist/task/OutputTask.d.ts +0 -27
  71. package/dist/task/OutputTask.d.ts.map +0 -1
@@ -3,14 +3,14 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { EventEmitter, SchemaNode, type DataPortSchema } from "@workglow/util";
6
+ import { EventEmitter, SchemaNode, type DataPortSchema, type ServiceRegistry } from "@workglow/util";
7
7
  import { TaskGraph } from "../task-graph/TaskGraph";
8
8
  import type { IExecuteContext, IExecuteReactiveContext, ITask } from "./ITask";
9
9
  import { TaskError } from "./TaskError";
10
10
  import { type TaskEventListener, type TaskEventListeners, type TaskEventParameters, type TaskEvents } from "./TaskEvents";
11
11
  import type { JsonTaskItem, TaskGraphItemJson } from "./TaskJSON";
12
12
  import { TaskRunner } from "./TaskRunner";
13
- import { TaskStatus, type Provenance, type TaskConfig, type TaskInput, type TaskOutput, type TaskTypeName } from "./TaskTypes";
13
+ import { TaskStatus, type TaskConfig, type TaskInput, type TaskOutput, type TaskTypeName } from "./TaskTypes";
14
14
  /**
15
15
  * Base class for all tasks that implements the ITask interface.
16
16
  * This abstract class provides common functionality for both simple and compound tasks.
@@ -168,10 +168,6 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
168
168
  */
169
169
  get events(): EventEmitter<TaskEventListeners>;
170
170
  protected _events: EventEmitter<TaskEventListeners> | undefined;
171
- /**
172
- * Provenance information for the task
173
- */
174
- protected nodeProvenance: Provenance;
175
171
  /**
176
172
  * Creates a new task instance
177
173
  *
@@ -187,6 +183,24 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
187
183
  * Resets input data to defaults
188
184
  */
189
185
  resetInputData(): void;
186
+ /**
187
+ * Smart clone that deep-clones plain objects and arrays while preserving
188
+ * class instances (objects with non-Object prototype) by reference.
189
+ * Detects and throws an error on circular references.
190
+ *
191
+ * This is necessary because:
192
+ * - structuredClone cannot clone class instances (methods are lost)
193
+ * - JSON.parse/stringify loses methods and fails on circular references
194
+ * - Class instances like repositories should be passed by reference
195
+ *
196
+ * This breaks the idea of everything being json serializable, but it allows
197
+ * more efficient use cases. Do be careful with this though! Use sparingly.
198
+ *
199
+ * @param obj The object to clone
200
+ * @param visited Set of objects in the current cloning path (for circular reference detection)
201
+ * @returns A cloned object with class instances preserved by reference
202
+ */
203
+ private smartClone;
190
204
  /**
191
205
  * Sets the default input values for the task
192
206
  *
@@ -214,9 +228,10 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
214
228
  /**
215
229
  * Stub for narrowing input. Override in subclasses for custom logic.
216
230
  * @param input The input to narrow
231
+ * @param _registry Optional service registry for lookups
217
232
  * @returns The (possibly narrowed) input
218
233
  */
219
- narrowInput(input: Record<string, any>): Promise<Record<string, any>>;
234
+ narrowInput(input: Record<string, any>, _registry: ServiceRegistry): Promise<Record<string, any>>;
220
235
  /**
221
236
  * Subscribes to an event
222
237
  */
@@ -268,10 +283,6 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
268
283
  * Gets the task ID from the config
269
284
  */
270
285
  id(): unknown;
271
- /**
272
- * Gets provenance information for the task
273
- */
274
- getProvenance(): Provenance;
275
286
  /**
276
287
  * Strips symbol properties from an object to make it serializable
277
288
  * @param obj The object to strip symbols from
@@ -1 +1 @@
1
- {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/task/Task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/task/Task.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { EventParameters, type DataPortSchema } from "@workglow/util";
7
- import { TaskStatus } from "../common";
8
7
  import { TaskAbortedError, TaskError } from "./TaskError";
8
+ import { TaskStatus } from "./TaskTypes";
9
9
  /**
10
10
  * Event listeners for task lifecycle events
11
11
  */
@@ -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,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK1D;;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;CACrF,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"}
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;CACrF,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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { TaskGraph } from "../task-graph/TaskGraph";
7
7
  import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
8
- import { DataPorts, Provenance, TaskInput } from "./TaskTypes";
8
+ import { DataPorts, TaskInput } from "./TaskTypes";
9
9
  /**
10
10
  * Represents a single task item in the JSON configuration.
11
11
  * This structure defines how tasks should be configured in JSON format.
@@ -34,8 +34,6 @@ export type JsonTaskItem = {
34
34
  };
35
35
  /** Optional user data to use for this task, not used by the task framework except it will be exported as part of the task JSON*/
36
36
  extras?: DataPorts;
37
- /** Optional metadata about task origin */
38
- provenance?: Provenance;
39
37
  /** Nested tasks for compound operations */
40
38
  subtasks?: JsonTaskItem[];
41
39
  }; /**
@@ -46,7 +44,6 @@ export type TaskGraphItemJson = {
46
44
  type: string;
47
45
  name?: string;
48
46
  defaults?: TaskInput;
49
- provenance?: Provenance;
50
47
  extras?: DataPorts;
51
48
  subgraph?: TaskGraphJson;
52
49
  merge?: CompoundMergeStrategy;
@@ -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;AAItE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAK3E;;;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,0CAA0C;IAC1C,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,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,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,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;AAwBF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,MAAM,YAAY,2CAS9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAI,WAAW,YAAY,EAAE,cAMtE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,iBAAiB,2CAS9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,aAAa,cAgBnE,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;AAItE,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,2CAS9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAI,WAAW,YAAY,EAAE,cAMtE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,iBAAiB,2CAS9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,aAAa,cAgBnE,CAAC"}
@@ -3,11 +3,12 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { ServiceRegistry } from "@workglow/util";
6
7
  import { TaskOutputRepository } from "../storage/TaskOutputRepository";
7
8
  import { type Taskish } from "../task-graph/Conversions";
8
9
  import { IRunConfig, ITask } from "./ITask";
9
10
  import { ITaskRunner } from "./ITaskRunner";
10
- import { Provenance, TaskConfig, TaskInput, TaskOutput } from "./TaskTypes";
11
+ import { TaskConfig, TaskInput, TaskOutput } from "./TaskTypes";
11
12
  /**
12
13
  * Responsible for running tasks
13
14
  * Manages the execution lifecycle of individual tasks
@@ -18,10 +19,6 @@ export declare class TaskRunner<Input extends TaskInput = TaskInput, Output exte
18
19
  */
19
20
  protected running: boolean;
20
21
  protected reactiveRunning: boolean;
21
- /**
22
- * Provenance information for the task
23
- */
24
- protected nodeProvenance: Provenance;
25
22
  /**
26
23
  * The task to run
27
24
  */
@@ -34,6 +31,10 @@ export declare class TaskRunner<Input extends TaskInput = TaskInput, Output exte
34
31
  * The output cache for the task
35
32
  */
36
33
  protected outputCache?: TaskOutputRepository;
34
+ /**
35
+ * The service registry for the task
36
+ */
37
+ protected registry: ServiceRegistry;
37
38
  /**
38
39
  * Constructor for TaskRunner
39
40
  * @param task The task to run
@@ -1 +1 @@
1
- {"version":3,"file":"TaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/TaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA0B,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAExF;;;GAGG;AACH,qBAAa,UAAU,CACrB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,YAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC7C;;OAEG;IACH,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,eAAe,UAAS;IAElC;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,UAAU,CAAM;IAE1C;;OAEG;IACH,SAAgB,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAE7C;;;OAGG;gBACS,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAU9C;;;;;OAKG;IACG,GAAG,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAwCnF;;;;OAIG;IACU,WAAW,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BzE;;OAEG;IACI,KAAK,IAAI,IAAI;IAWpB,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAMnD;;OAEG;cACa,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUtE;;OAEG;cACa,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASlF;;OAEG;cACa,WAAW,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCnE,OAAO,CAAC,cAAc,CAKd;cAEQ,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;cAS5B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;cACa,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;cAa/B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;OAGG;cACa,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;cAmBtC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;OAIG;cACa,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;CAKjB"}
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;AAG5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAE5E;;;GAGG;AACH,qBAAa,UAAU,CACrB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,YAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC7C;;OAEG;IACH,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,eAAe,UAAS;IAElC;;OAEG;IACH,SAAgB,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAE7C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAyB;IAE5D;;;OAGG;gBACS,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAU9C;;;;;OAKG;IACG,GAAG,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAiDnF;;;;OAIG;IACU,WAAW,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqCzE;;OAEG;IACI,KAAK,IAAI,IAAI;IAWpB,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAMnD;;OAEG;cACa,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUtE;;OAEG;cACa,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASlF;;OAEG;cACa,WAAW,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnE,OAAO,CAAC,cAAc,CAKd;cAEQ,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;cAS5B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;cACa,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;cAY/B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;OAGG;cACa,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;cAkBtC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;OAIG;cACa,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;CAKjB"}
@@ -41,8 +41,6 @@ export type CompoundTaskOutput = {
41
41
  } | {
42
42
  [key: string]: unknown | unknown[] | undefined;
43
43
  };
44
- /** Type for task provenance metadata */
45
- export type Provenance = DataPorts;
46
44
  /** Type for task type names */
47
45
  export type TaskTypeName = string;
48
46
  /** Type for task configuration */
@@ -52,8 +50,6 @@ export interface IConfig {
52
50
  id: unknown;
53
51
  /** Optional display name for the task */
54
52
  name?: string;
55
- /** Optional metadata about task origin */
56
- provenance?: Provenance;
57
53
  /** Optional ID of the runner to use for this task */
58
54
  runnerId?: string;
59
55
  /** Optional output cache to use for this task */
@@ -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;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,YAAY,GACZ,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,eAAO,MAAM,UAAU;IACrB,0CAA0C;;IAE1C,gDAAgD;;IAEhD,gCAAgC;;IAEhC,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,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,+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,0CAA0C;IAC1C,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,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"}
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;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,YAAY,GACZ,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,eAAO,MAAM,UAAU;IACrB,0CAA0C;;IAE1C,gDAAgD;;IAEhD,gCAAgC;;IAEhC,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;AAGN,+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;IAGd,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"}
@@ -0,0 +1,176 @@
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 { TaskGraph } from "../task-graph/TaskGraph";
8
+ import { GraphAsTask, GraphAsTaskConfig } from "./GraphAsTask";
9
+ import type { IExecuteContext } from "./ITask";
10
+ import type { TaskInput, TaskOutput, TaskTypeName } from "./TaskTypes";
11
+ /**
12
+ * Condition function type for WhileTask.
13
+ * Receives the current output and iteration count, returns whether to continue looping.
14
+ *
15
+ * @param output - The output from the last iteration
16
+ * @param iteration - The current iteration number (0-based)
17
+ * @returns true to continue looping, false to stop
18
+ */
19
+ export type WhileConditionFn<Output> = (output: Output, iteration: number) => boolean;
20
+ /**
21
+ * Configuration for WhileTask.
22
+ */
23
+ export interface WhileTaskConfig<Output extends TaskOutput = TaskOutput> extends GraphAsTaskConfig {
24
+ /**
25
+ * Condition function that determines whether to continue looping.
26
+ * Called after each iteration with the current output and iteration count.
27
+ * Returns true to continue, false to stop.
28
+ */
29
+ readonly condition?: WhileConditionFn<Output>;
30
+ /**
31
+ * Maximum number of iterations to prevent infinite loops.
32
+ * @default 100
33
+ */
34
+ readonly maxIterations?: number;
35
+ /**
36
+ * Whether to pass the output of each iteration as input to the next.
37
+ * When true, output from iteration N becomes input to iteration N+1.
38
+ * @default true
39
+ */
40
+ readonly chainIterations?: boolean;
41
+ }
42
+ /**
43
+ * WhileTask loops until a condition function returns false.
44
+ *
45
+ * This task is useful for:
46
+ * - Iterative refinement processes
47
+ * - Polling until a condition is met
48
+ * - Convergence algorithms
49
+ * - Retry logic with conditions
50
+ *
51
+ * ## Features
52
+ *
53
+ * - Loops until condition returns false
54
+ * - Configurable maximum iterations (safety limit)
55
+ * - Passes output from each iteration to the next
56
+ * - Access to iteration count in condition function
57
+ *
58
+ * ## Usage
59
+ *
60
+ * ```typescript
61
+ * // Refine until quality threshold
62
+ * workflow
63
+ * .while({
64
+ * condition: (output, iteration) => output.quality < 0.9 && iteration < 10,
65
+ * maxIterations: 20
66
+ * })
67
+ * .refineResult()
68
+ * .evaluateQuality()
69
+ * .endWhile()
70
+ *
71
+ * // Retry until success
72
+ * workflow
73
+ * .while({
74
+ * condition: (output) => !output.success,
75
+ * maxIterations: 5
76
+ * })
77
+ * .attemptOperation()
78
+ * .endWhile()
79
+ * ```
80
+ *
81
+ * @template Input - The input type for the while task
82
+ * @template Output - The output type for the while task
83
+ * @template Config - The configuration type
84
+ */
85
+ export declare class WhileTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends WhileTaskConfig<Output> = WhileTaskConfig<Output>> extends GraphAsTask<Input, Output, Config> {
86
+ static type: TaskTypeName;
87
+ static category: string;
88
+ static title: string;
89
+ static description: string;
90
+ /** This task has dynamic schemas based on the inner workflow */
91
+ static hasDynamicSchemas: boolean;
92
+ /**
93
+ * The template subgraph that will be executed each iteration.
94
+ */
95
+ protected _templateGraph: TaskGraph | undefined;
96
+ /**
97
+ * Current iteration count during execution.
98
+ */
99
+ protected _currentIteration: number;
100
+ constructor(input?: Partial<Input>, config?: Partial<Config>);
101
+ /**
102
+ * Gets the condition function.
103
+ */
104
+ get condition(): WhileConditionFn<Output> | undefined;
105
+ /**
106
+ * Gets the maximum iterations limit.
107
+ */
108
+ get maxIterations(): number;
109
+ /**
110
+ * Whether to chain iteration outputs to inputs.
111
+ */
112
+ get chainIterations(): boolean;
113
+ /**
114
+ * Gets the current iteration count.
115
+ */
116
+ get currentIteration(): number;
117
+ /**
118
+ * Sets the template graph that defines the workflow to run each iteration.
119
+ */
120
+ setTemplateGraph(graph: TaskGraph): void;
121
+ /**
122
+ * Gets the template graph.
123
+ */
124
+ getTemplateGraph(): TaskGraph | undefined;
125
+ /**
126
+ * Execute the while loop.
127
+ */
128
+ execute(input: Input, context: IExecuteContext): Promise<Output | undefined>;
129
+ /**
130
+ * Clones the template graph for a specific iteration.
131
+ */
132
+ protected cloneTemplateGraph(iteration: number): TaskGraph;
133
+ /**
134
+ * Static input schema for WhileTask.
135
+ */
136
+ static inputSchema(): DataPortSchema;
137
+ /**
138
+ * Static output schema for WhileTask.
139
+ */
140
+ static outputSchema(): DataPortSchema;
141
+ /**
142
+ * Instance output schema - returns final iteration output schema.
143
+ */
144
+ outputSchema(): DataPortSchema;
145
+ }
146
+ declare module "../task-graph/Workflow" {
147
+ interface Workflow {
148
+ /**
149
+ * Starts a while loop that continues until a condition is false.
150
+ * Use .endWhile() to close the loop and return to the parent workflow.
151
+ *
152
+ * @param config - Configuration for the while loop (must include condition)
153
+ * @returns A Workflow in loop builder mode for defining the loop body
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * workflow
158
+ * .while({
159
+ * condition: (output, iteration) => output.quality < 0.9,
160
+ * maxIterations: 10
161
+ * })
162
+ * .refineResult()
163
+ * .endWhile()
164
+ * ```
165
+ */
166
+ while: CreateLoopWorkflow<TaskInput, TaskOutput, WhileTaskConfig<any>>;
167
+ /**
168
+ * Ends the while loop and returns to the parent workflow.
169
+ * Only callable on workflows in loop builder mode.
170
+ *
171
+ * @returns The parent workflow
172
+ */
173
+ endWhile(): Workflow;
174
+ }
175
+ }
176
+ //# sourceMappingURL=WhileTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhileTask.d.ts","sourceRoot":"","sources":["../../src/task/WhileTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMpD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,iBAAiB;IACzB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE9C;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,SAAS,CACpB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,eAAe,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAChE,SAAQ,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC1C,OAAc,IAAI,EAAE,YAAY,CAAe;IAC/C,OAAc,QAAQ,EAAE,MAAM,CAAkB;IAChD,OAAc,KAAK,EAAE,MAAM,CAAgB;IAC3C,OAAc,WAAW,EAAE,MAAM,CAAoD;IAErF,gEAAgE;IAChE,OAAc,iBAAiB,EAAE,OAAO,CAAQ;IAEhD;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,SAAS,GAAG,SAAS,CAAC;IAEhD;;OAEG;IACH,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAK;gBAE5B,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM;IAQpE;;OAEG;IACH,IAAW,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,CAE3D;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAMD;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAI/C;;OAEG;IACI,gBAAgB,IAAI,SAAS,GAAG,SAAS;IAQhD;;OAEG;IACU,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwDzF;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAqD1D;;OAEG;WACW,WAAW,IAAI,cAAc;IAQ3C;;OAEG;WACW,YAAY,IAAI,cAAc;IAc5C;;OAEG;IACa,YAAY,IAAI,cAAc;CA0C/C;AAMD,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,QAAQ;QAChB;;;;;;;;;;;;;;;;;WAiBG;QACH,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvE;;;;;WAKG;QACH,QAAQ,IAAI,QAAQ,CAAC;KACtB;CACF"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./BatchTask";
7
+ export * from "./ConditionalTask";
8
+ export * from "./ForEachTask";
9
+ export * from "./GraphAsTask";
10
+ export * from "./GraphAsTaskRunner";
11
+ export * from "./InputResolver";
12
+ export * from "./ITask";
13
+ export * from "./IteratorTask";
14
+ export * from "./IteratorTaskRunner";
15
+ export * from "./JobQueueFactory";
16
+ export * from "./JobQueueTask";
17
+ export * from "./MapTask";
18
+ export * from "./ReduceTask";
19
+ export * from "./Task";
20
+ export * from "./TaskError";
21
+ export * from "./TaskEvents";
22
+ export * from "./TaskJSON";
23
+ export * from "./TaskQueueRegistry";
24
+ export * from "./TaskRegistry";
25
+ export * from "./TaskTypes";
26
+ export * from "./WhileTask";
27
+ import { BatchTask } from "./BatchTask";
28
+ import { ConditionalTask } from "./ConditionalTask";
29
+ import { ForEachTask } from "./ForEachTask";
30
+ import { GraphAsTask } from "./GraphAsTask";
31
+ import { MapTask } from "./MapTask";
32
+ import { ReduceTask } from "./ReduceTask";
33
+ import { WhileTask } from "./WhileTask";
34
+ export declare const registerBaseTasks: () => (typeof ConditionalTask | typeof GraphAsTask | typeof ForEachTask | typeof MapTask | typeof BatchTask | typeof WhileTask | typeof ReduceTask)[];
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,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;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,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,uJAY7B,CAAC"}
@@ -6,7 +6,7 @@
6
6
  import { EventEmitter } from "@workglow/util";
7
7
  import { TaskError } from "../task/TaskError";
8
8
  import { DataflowJson } from "../task/TaskJSON";
9
- import { Provenance, TaskIdType, TaskOutput, TaskStatus } from "../task/TaskTypes";
9
+ import { TaskIdType, TaskOutput, TaskStatus } from "../task/TaskTypes";
10
10
  import { DataflowEventListener, DataflowEventListeners, DataflowEventParameters, DataflowEvents } from "./DataflowEvents";
11
11
  import { TaskGraph } from "./TaskGraph";
12
12
  export type DataflowIdType = `${string}[${string}] ==> ${string}[${string}]`;
@@ -24,12 +24,11 @@ export declare class Dataflow {
24
24
  static createId(sourceTaskId: TaskIdType, sourceTaskPortId: string, targetTaskId: TaskIdType, targetTaskPortId: string): DataflowIdType;
25
25
  get id(): DataflowIdType;
26
26
  value: any;
27
- provenance: Provenance;
28
27
  status: TaskStatus;
29
28
  error: TaskError | undefined;
30
29
  reset(): void;
31
30
  setStatus(status: TaskStatus): void;
32
- setPortData(entireDataBlock: any, nodeProvenance: any): void;
31
+ setPortData(entireDataBlock: any): void;
33
32
  getPortData(): TaskOutput;
34
33
  toJSON(): DataflowJson;
35
34
  semanticallyCompatible(graph: TaskGraph, dataflow: Dataflow): "static" | "runtime" | "incompatible";
@@ -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,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnF,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,UAAU,EAAE,UAAU,CAAM;IAC5B,MAAM,EAAE,UAAU,CAAsB;IACxC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAE7B,KAAK;IASL,SAAS,CAAC,MAAM,EAAE,UAAU;IA0BnC,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;IAWrD,WAAW,IAAI,UAAU;IAUzB,MAAM,IAAI,YAAY;IAStB,sBAAsB,CACpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,GACjB,QAAQ,GAAG,SAAS,GAAG,cAAc;IAiDxC;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAKxD;IACD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;IAE7D,SAAS,CAAC,KAAK,SAAS,cAAc,EAC3C,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAC/B,MAAM,IAAI;IAIb;;OAEG;IACI,EAAE,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI5F;;OAEG;IACI,GAAG,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI7F;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI9F;;OAEG;IACI,MAAM,CAAC,KAAK,SAAS,cAAc,EACxC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAI1C;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,cAAc,EACtC,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC,GACtC,IAAI;CAGR;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,QAAQ,EAAE,cAAc;CAarC"}
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;IAE7B,KAAK;IAQL,SAAS,CAAC,MAAM,EAAE,UAAU;IA0BnC,WAAW,CAAC,eAAe,EAAE,GAAG;IAUhC,WAAW,IAAI,UAAU;IAYzB,MAAM,IAAI,YAAY;IAStB,sBAAsB,CACpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,GACjB,QAAQ,GAAG,SAAS,GAAG,cAAc;IAiDxC;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAKxD;IACD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;IAE7D,SAAS,CAAC,KAAK,SAAS,cAAc,EAC3C,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAC/B,MAAM,IAAI;IAIb;;OAEG;IACI,EAAE,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI5F;;OAEG;IACI,GAAG,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI7F;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI9F;;OAEG;IACI,MAAM,CAAC,KAAK,SAAS,cAAc,EACxC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAI1C;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,cAAc,EACtC,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC,GACtC,IAAI;CAGR;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,QAAQ,EAAE,cAAc;CAarC"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { ITask } from "../task/ITask";
7
7
  import { JsonTaskItem, TaskGraphJson } from "../task/TaskJSON";
8
- import { TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
8
+ import type { TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
9
9
  import { Dataflow, DataflowIdType } from "./Dataflow";
10
10
  import type { TaskGraphRunConfig } from "./TaskGraph";
11
11
  import type { TaskGraphEventListener, TaskGraphEvents } from "./TaskGraphEvents";
@@ -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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"}
@@ -3,11 +3,11 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { DirectedAcyclicGraph, EventEmitter } from "@workglow/util";
6
+ import { DirectedAcyclicGraph, EventEmitter, ServiceRegistry } from "@workglow/util";
7
7
  import { TaskOutputRepository } from "../storage/TaskOutputRepository";
8
8
  import type { ITask } from "../task/ITask";
9
9
  import { JsonTaskItem, TaskGraphJson } from "../task/TaskJSON";
10
- import type { Provenance, TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
10
+ import type { TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
11
11
  import { type PipeFunction } from "./Conversions";
12
12
  import { Dataflow, type DataflowIdType } from "./Dataflow";
13
13
  import type { ITaskGraph } from "./ITaskGraph";
@@ -21,8 +21,8 @@ export interface TaskGraphRunConfig {
21
21
  outputCache?: TaskOutputRepository | boolean;
22
22
  /** Optional signal to abort the task graph */
23
23
  parentSignal?: AbortSignal;
24
- /** Optional provenance to use for this task graph */
25
- parentProvenance?: Provenance;
24
+ /** Optional service registry to use for this task graph (creates child from global if not provided) */
25
+ registry?: ServiceRegistry;
26
26
  }
27
27
  declare class TaskGraphDAG extends DirectedAcyclicGraph<ITask<any, any, any>, Dataflow, TaskIdType, DataflowIdType> {
28
28
  constructor();
@@ -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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAS,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,8BAA8B,EAC9B,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,KAAK,gBAAgB,EACrB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,WAAW,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAC7C,8CAA8C;IAC9C,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,uGAAuG;IACvG,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,cAAM,YAAa,SAAQ,oBAAoB,CAC7C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,cAAc,CACf;;CAOA;AAED,UAAU,0BAA0B;IAClC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,uDAAuD;IAChD,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAE1C;;;OAGG;gBACS,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,0BAA+B;IAKjE,OAAO,CAAC,IAAI,CAAe;IAE3B,OAAO,CAAC,OAAO,CAA8B;IAC7C,IAAW,MAAM,IAAI,eAAe,CAKnC;IAMD;;;;;OAKG;IACI,GAAG,CAAC,aAAa,SAAS,UAAU,EACzC,KAAK,GAAE,SAA2B,EAClC,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAO3C;;;;OAIG;IACI,WAAW,CAAC,MAAM,SAAS,UAAU,KAAK,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAIlF;;;;;OAKG;IAEI,8BAA8B,CACnC,aAAa,SAAS,UAAU,EAChC,KAAK,SAAS,qBAAqB,GAAG,qBAAqB,EAE3D,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,EACxC,aAAa,EAAE,KAAK,GACnB,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC;IAIpC;;OAEG;IACI,KAAK;IAIZ;;OAEG;IACU,OAAO;IAIpB;;;;OAIG;IACI,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS;IAIhE;;;OAGG;IACI,QAAQ,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IAIzC;;;OAGG;IACI,wBAAwB,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IAIzD;;;;OAIG;IACI,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO;IAC1D,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO;IAKnD;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE;IACpD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE;IAKzD;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAIrC;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE;IAOzC;;;;OAIG;IACI,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS;IAmB5D;;;OAGG;IACI,YAAY,IAAI,QAAQ,EAAE;IAIjC;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAIxC;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE;IAItD;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE;IAItD;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IAI9D;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IAI9D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO;IAI1B,UAAU;IAIjB;;;OAGG;IACI,MAAM,IAAI,aAAa;IAS9B;;;OAGG;IACI,gBAAgB,IAAI,YAAY,EAAE;IAkCzC;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAAC,wBAAwB,CAAC,CAK1D;IACD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IAEtE;;;;;OAKG;IACI,SAAS,CAAC,KAAK,SAAS,eAAe,EAC5C,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAChC,MAAM,IAAI;IAKb;;;;;;OAMG;IACI,qBAAqB,CAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,GACzD,MAAM,IAAI;IA+Bb;;;;;;;;OAQG;IACI,uBAAuB,CAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACzF,MAAM,IAAI;IA+Bb;;;;;;OAMG;IACI,yBAAyB,CAC9B,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,GACjE,MAAM,IAAI;IA+Bb;;;;OAIG;IACH,EAAE,CAAC,KAAK,SAAS,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC;IAahF;;;;OAIG;IACH,GAAG,CAAC,KAAK,SAAS,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,sBAAsB,CAAC,KAAK,CAAC;IAajF;;;;OAIG;IACH,IAAI,CAAC,CAAC,SAAS,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI;IACvF,IAAI,CAAC,CAAC,SAAS,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,GAAG,IAAI;IAYhG;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,KAAK,SAAS,qBAAqB,EACtD,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,8BAA8B,CAAC,KAAK,CAAC;IAKhD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS,mBAAmB,EAClD,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC;CAM1C;AAsBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,SAAS,CAKX"}