@workglow/task-graph 0.1.2 → 0.2.1

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 (84) hide show
  1. package/dist/browser.js +810 -189
  2. package/dist/browser.js.map +40 -33
  3. package/dist/bun.js +810 -189
  4. package/dist/bun.js.map +40 -33
  5. package/dist/common.d.ts +2 -0
  6. package/dist/common.d.ts.map +1 -1
  7. package/dist/node.js +810 -189
  8. package/dist/node.js.map +40 -33
  9. package/dist/storage/TaskOutputTabularRepository.d.ts +1 -1
  10. package/dist/storage/TaskOutputTabularRepository.d.ts.map +1 -1
  11. package/dist/task/ConditionalTask.d.ts +7 -2
  12. package/dist/task/ConditionalTask.d.ts.map +1 -1
  13. package/dist/task/EntitlementEnforcer.d.ts +55 -0
  14. package/dist/task/EntitlementEnforcer.d.ts.map +1 -0
  15. package/dist/task/EntitlementPolicy.d.ts +60 -0
  16. package/dist/task/EntitlementPolicy.d.ts.map +1 -0
  17. package/dist/task/EntitlementProfiles.d.ts +49 -0
  18. package/dist/task/EntitlementProfiles.d.ts.map +1 -0
  19. package/dist/task/EntitlementResolver.d.ts +50 -0
  20. package/dist/task/EntitlementResolver.d.ts.map +1 -0
  21. package/dist/task/FallbackTask.d.ts +11 -4
  22. package/dist/task/FallbackTask.d.ts.map +1 -1
  23. package/dist/task/FallbackTaskRunner.d.ts +2 -2
  24. package/dist/task/FallbackTaskRunner.d.ts.map +1 -1
  25. package/dist/task/GraphAsTask.d.ts +18 -6
  26. package/dist/task/GraphAsTask.d.ts.map +1 -1
  27. package/dist/task/GraphAsTaskRunner.d.ts +3 -2
  28. package/dist/task/GraphAsTaskRunner.d.ts.map +1 -1
  29. package/dist/task/ITask.d.ts +12 -1
  30. package/dist/task/ITask.d.ts.map +1 -1
  31. package/dist/task/InputCompactor.d.ts +1 -1
  32. package/dist/task/InputCompactor.d.ts.map +1 -1
  33. package/dist/task/InputResolver.d.ts +3 -3
  34. package/dist/task/InputResolver.d.ts.map +1 -1
  35. package/dist/task/IteratorTask.d.ts +9 -4
  36. package/dist/task/IteratorTask.d.ts.map +1 -1
  37. package/dist/task/IteratorTaskRunner.d.ts +1 -1
  38. package/dist/task/IteratorTaskRunner.d.ts.map +1 -1
  39. package/dist/task/MapTask.d.ts +8 -3
  40. package/dist/task/MapTask.d.ts.map +1 -1
  41. package/dist/task/ReduceTask.d.ts +9 -4
  42. package/dist/task/ReduceTask.d.ts.map +1 -1
  43. package/dist/task/StreamTypes.d.ts +6 -2
  44. package/dist/task/StreamTypes.d.ts.map +1 -1
  45. package/dist/task/Task.d.ts +37 -7
  46. package/dist/task/Task.d.ts.map +1 -1
  47. package/dist/task/TaskEntitlements.d.ts +134 -0
  48. package/dist/task/TaskEntitlements.d.ts.map +1 -0
  49. package/dist/task/TaskError.d.ts +7 -0
  50. package/dist/task/TaskError.d.ts.map +1 -1
  51. package/dist/task/TaskEvents.d.ts +3 -0
  52. package/dist/task/TaskEvents.d.ts.map +1 -1
  53. package/dist/task/TaskJSON.d.ts +14 -1
  54. package/dist/task/TaskJSON.d.ts.map +1 -1
  55. package/dist/task/TaskRegistry.d.ts +16 -3
  56. package/dist/task/TaskRegistry.d.ts.map +1 -1
  57. package/dist/task/TaskRunner.d.ts +5 -4
  58. package/dist/task/TaskRunner.d.ts.map +1 -1
  59. package/dist/task/TaskTypes.d.ts +10 -2
  60. package/dist/task/TaskTypes.d.ts.map +1 -1
  61. package/dist/task/WhileTask.d.ts +8 -4
  62. package/dist/task/WhileTask.d.ts.map +1 -1
  63. package/dist/task/WhileTaskRunner.d.ts +1 -1
  64. package/dist/task/WhileTaskRunner.d.ts.map +1 -1
  65. package/dist/task/index.d.ts +5 -0
  66. package/dist/task/index.d.ts.map +1 -1
  67. package/dist/task/iterationSchema.d.ts +2 -1
  68. package/dist/task/iterationSchema.d.ts.map +1 -1
  69. package/dist/task-graph/Dataflow.d.ts +1 -1
  70. package/dist/task-graph/Dataflow.d.ts.map +1 -1
  71. package/dist/task-graph/GraphEntitlementUtils.d.ts +30 -0
  72. package/dist/task-graph/GraphEntitlementUtils.d.ts.map +1 -0
  73. package/dist/task-graph/GraphFormatScanner.d.ts +41 -0
  74. package/dist/task-graph/GraphFormatScanner.d.ts.map +1 -0
  75. package/dist/task-graph/GraphToWorkflowCode.d.ts.map +1 -1
  76. package/dist/task-graph/TaskGraph.d.ts +23 -5
  77. package/dist/task-graph/TaskGraph.d.ts.map +1 -1
  78. package/dist/task-graph/TaskGraphEvents.d.ts +3 -0
  79. package/dist/task-graph/TaskGraphEvents.d.ts.map +1 -1
  80. package/dist/task-graph/TaskGraphRunner.d.ts +13 -1
  81. package/dist/task-graph/TaskGraphRunner.d.ts.map +1 -1
  82. package/dist/task-graph/Workflow.d.ts +29 -17
  83. package/dist/task-graph/Workflow.d.ts.map +1 -1
  84. package/package.json +12 -7
@@ -14,13 +14,13 @@ export interface InputResolverConfig {
14
14
  /**
15
15
  * Extracts the format string from a schema, handling oneOf/anyOf wrappers.
16
16
  */
17
- export declare function getSchemaFormat(schema: unknown): string | undefined;
17
+ export declare function getSchemaFormat(schema: unknown, visited?: WeakSet<object>): string | undefined;
18
18
  /**
19
19
  * Extracts the object-typed schema from a property schema, handling oneOf/anyOf wrappers.
20
20
  * This is needed for patterns like `oneOf: [{ type: "string" }, { type: "object", properties: {...} }]`
21
21
  * where the model can be either a string ID or an inline config object.
22
22
  */
23
- export declare function getObjectSchema(schema: unknown): (Record<string, unknown> & {
23
+ export declare function getObjectSchema(schema: unknown, visited?: WeakSet<object>): (Record<string, unknown> & {
24
24
  properties: Record<string, unknown>;
25
25
  }) | undefined;
26
26
  /**
@@ -55,5 +55,5 @@ export declare function schemaHasFormatAnnotations(schema: DataPortSchema): bool
55
55
  * );
56
56
  * ```
57
57
  */
58
- export declare function resolveSchemaInputs<T extends Record<string, unknown>>(input: T, schema: DataPortSchema, config: InputResolverConfig): Promise<T>;
58
+ export declare function resolveSchemaInputs<T extends Record<string, unknown>>(input: T, schema: DataPortSchema, config: InputResolverConfig, visited?: Set<object>): Promise<T>;
59
59
  //# sourceMappingURL=InputResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputResolver.d.ts","sourceRoot":"","sources":["../../src/task/InputResolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAoBnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,GACd,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GAAG,SAAS,CAwBjF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAU1E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,CAAC,CA4DZ"}
1
+ {"version":3,"file":"InputResolver.d.ts","sourceRoot":"","sources":["../../src/task/InputResolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,OAAO,CAAC,MAAM,CAAiB,GACvC,MAAM,GAAG,SAAS,CA8BpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,OAAO,CAAC,MAAM,CAAiB,GACvC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GAAG,SAAS,CAmCjF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAU1E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,GAC/B,OAAO,CAAC,CAAC,CAAC,CAiEZ"}
@@ -5,7 +5,8 @@
5
5
  */
6
6
  import type { DataPortSchema, PropertySchema } from "@workglow/util/schema";
7
7
  import { TaskGraph } from "../task-graph/TaskGraph";
8
- import { GraphAsTask, GraphAsTaskConfig } from "./GraphAsTask";
8
+ import { GraphAsTask } from "./GraphAsTask";
9
+ import type { GraphAsTaskConfig } from "./GraphAsTask";
9
10
  import type { IExecuteContext } from "./ITask";
10
11
  import { IteratorTaskRunner } from "./IteratorTaskRunner";
11
12
  import type { StreamEvent } from "./StreamTypes";
@@ -78,6 +79,11 @@ export declare const iteratorTaskConfigSchema: {
78
79
  readonly additionalProperties: true;
79
80
  readonly "x-ui-hidden": true;
80
81
  };
82
+ readonly defaults: {
83
+ readonly type: "object";
84
+ readonly additionalProperties: true;
85
+ readonly "x-ui-hidden": true;
86
+ };
81
87
  readonly concurrencyLimit: {
82
88
  readonly type: "integer";
83
89
  readonly minimum: 1;
@@ -101,7 +107,7 @@ export declare const iteratorTaskConfigSchema: {
101
107
  * Configuration type for IteratorTask.
102
108
  * Extends GraphAsTaskConfig with iterator-specific options.
103
109
  */
104
- export type IteratorTaskConfig = GraphAsTaskConfig & {
110
+ export type IteratorTaskConfig<Input extends TaskInput = TaskInput> = GraphAsTaskConfig<Input> & {
105
111
  /**
106
112
  * Maximum number of concurrent iteration workers
107
113
  * @default undefined (unlimited)
@@ -163,7 +169,7 @@ export declare function schemaAcceptsArray(schema: DataPortSchema): boolean;
163
169
  /**
164
170
  * Base class for iterator tasks that process collections of items.
165
171
  */
166
- export declare abstract class IteratorTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends IteratorTaskConfig = IteratorTaskConfig> extends GraphAsTask<Input, Output, Config> {
172
+ export declare abstract class IteratorTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends IteratorTaskConfig<Input> = IteratorTaskConfig<Input>> extends GraphAsTask<Input, Output, Config> {
167
173
  static type: TaskTypeName;
168
174
  static category: string;
169
175
  static title: string;
@@ -180,7 +186,6 @@ export declare abstract class IteratorTask<Input extends TaskInput = TaskInput,
180
186
  protected _iteratorPortInfo: IteratorPortInfo | undefined;
181
187
  /** Cached computed iteration input schema. */
182
188
  protected _iterationInputSchema: DataPortSchema | undefined;
183
- constructor(input?: Partial<Input>, config?: Partial<Config>);
184
189
  _runner: IteratorTaskRunner<Input, Output, Config>;
185
190
  get runner(): IteratorTaskRunner<Input, Output, Config>;
186
191
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IteratorTask.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,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;mBAC7B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGQ,IAAI,EAAE,SAAS;qBAAE,OAAO,EAAE,CAAC;;;qBAClC,IAAI,EAAE,SAAS;qBAAE,OAAO,EAAE,CAAC;;;qBACvB,IAAI,EAAE,SAAS;qBAAE,OAAO,EAAE,CAAC;;;qBACpB,IAAI,EAAE,QAAQ;qBAAE,oBAAoB;;;;CAG7B,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;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;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;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CA4CxE;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,OAAuB,IAAI,EAAE,YAAY,CAAkB;IAC3D,OAAuB,QAAQ,EAAE,MAAM,CAAkB;IACzD,OAAuB,KAAK,EAAE,MAAM,CAAc;IAClD,OAAuB,WAAW,EAAE,MAAM,CAAoC;IAE9E,gEAAgE;IAChE,OAAuB,iBAAiB,EAAE,OAAO,CAAQ;IAEzD,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED;;;OAGG;IACH,OAAc,yBAAyB,IAAI,cAAc,CAExD;IAED,sDAAsD;IACtD,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAE1D,8CAA8C;IAC9C,SAAS,CAAC,qBAAqB,EAAE,cAAc,GAAG,SAAS,CAAC;IAE5D,YAAY,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM,EAEnE;IAMO,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;IACa,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,eAAe,GACxB,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAEpC;IAMD,IAAa,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAIxC;IAED,IAAa,QAAQ,IAAI,SAAS,CAEjC;IAEe,eAAe,IAAI,IAAI,CAGtC;IAMD;;;OAGG;IACI,sBAAsB,IAAI,OAAO,CAEvC;IAED;;OAEG;IACI,YAAY,IAAI,OAAO,CAE7B;IAED;;OAEG;IACI,qBAAqB,IAAI,MAAM,CAErC;IAED;;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,CAOzB;IAED;;OAEG;IACI,6BAA6B,CAClC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,UAAU,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,GACb,MAAM,CAER;IAED;;OAEG;IACI,cAAc,IAAI,MAAM,CAE9B;IAED;;OAEG;IACI,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAmBnD;IAMD,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,CAyB3D;IAED,SAAS,CAAC,mCAAmC,IAAI,cAAc,CA4C9D;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,GAAG,SAAS,CAmF1D;IAEM,uBAAuB,IAAI,cAAc,CAU/C;IAEM,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAI3D;IAEM,oBAAoB,CACzB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,kBAAkB,EACxB,UAAU,CAAC,EAAE,cAAc,GAC1B,IAAI,CAiCN;IAEM,8BAA8B,IAAI,IAAI,CAI5C;IAMD;;;;;;OAMG;IACI,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,uBAAuB,CAyFlE;IAMM,yBAAyB,IAAI,cAAc,CAEjD;IAEe,WAAW,IAAI,cAAc,CAK5C;IAEe,YAAY,IAAI,cAAc,CAM7C;IAED,SAAS,CAAC,sBAAsB,IAAI,cAAc,CAgCjD;CACF"}
1
+ {"version":3,"file":"IteratorTask.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTask.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import type { TaskInput, TaskOutput } from "./TaskTypes";
11
11
  * per-iteration inputs. The task defines iteration analysis/collection hooks,
12
12
  * while this runner owns scheduling and execution orchestration.
13
13
  */
14
- export declare class IteratorTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends IteratorTaskConfig = IteratorTaskConfig> extends GraphAsTaskRunner<Input, Output, Config> {
14
+ export declare class IteratorTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends IteratorTaskConfig<Input> = IteratorTaskConfig<Input>> extends GraphAsTaskRunner<Input, Output, Config> {
15
15
  task: IteratorTask<Input, Output, Config>;
16
16
  /** When true, {@link executeSubgraphIteration} folds inner progress into parent MapTask %. */
17
17
  private aggregatingParentMapProgress;
@@ -1 +1 @@
1
- {"version":3,"file":"IteratorTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;GAIG;AACH,qBAAa,kBAAkB,CAC7B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACxC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAElD,8FAA8F;IAC9F,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,wBAAwB,CAAK;IAErC;;OAEG;IAEH,UAAyB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuB9E;IAED;;OAEG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvF;IAED,UAAgB,wBAAwB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4D3F;IAED;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAWzC,UAAgB,uBAAuB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB1F;IAED,UAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,uBAAuB,EACjC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACnC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC,CA6BnE;IAED;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA2BlB,UAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAoDjC;CACF"}
1
+ {"version":3,"file":"IteratorTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/IteratorTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;GAIG;AACH,qBAAa,kBAAkB,CAC7B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CACpE,SAAQ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACxC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAElD,8FAA8F;IAC9F,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,wBAAwB,CAAK;IAErC;;OAEG;IAEH,UAAyB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuB9E;IAED;;OAEG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvF;IAED,UAAgB,wBAAwB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4D3F;IAED;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAWzC,UAAgB,uBAAuB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB1F;IAED,UAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,uBAAuB,EACjC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACnC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC,CA6BnE;IAED;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA2BlB,UAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAoDjC;CACF"}
@@ -46,6 +46,11 @@ export declare const mapTaskConfigSchema: {
46
46
  readonly additionalProperties: true;
47
47
  readonly "x-ui-hidden": true;
48
48
  };
49
+ readonly defaults: {
50
+ readonly type: "object";
51
+ readonly additionalProperties: true;
52
+ readonly "x-ui-hidden": true;
53
+ };
49
54
  readonly concurrencyLimit: {
50
55
  readonly type: "integer";
51
56
  readonly minimum: 1;
@@ -74,7 +79,7 @@ export declare const mapTaskConfigSchema: {
74
79
  /**
75
80
  * Configuration for MapTask.
76
81
  */
77
- export type MapTaskConfig = IteratorTaskConfig & {
82
+ export type MapTaskConfig<Input extends TaskInput = TaskInput> = IteratorTaskConfig<Input> & {
78
83
  /**
79
84
  * Whether to preserve the order of results matching the input order.
80
85
  * When false, results may be in completion order.
@@ -91,7 +96,7 @@ export type MapTaskConfig = IteratorTaskConfig & {
91
96
  /**
92
97
  * MapTask transforms one or more array inputs by running a workflow for each index.
93
98
  */
94
- export declare class MapTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends MapTaskConfig = MapTaskConfig> extends IteratorTask<Input, Output, Config> {
99
+ export declare class MapTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends MapTaskConfig<Input> = MapTaskConfig<Input>> extends IteratorTask<Input, Output, Config> {
95
100
  static type: TaskTypeName;
96
101
  static category: string;
97
102
  static title: string;
@@ -138,7 +143,7 @@ declare module "../task-graph/Workflow" {
138
143
  * Starts a map loop that transforms each element in array input ports.
139
144
  * Use .endMap() to close the loop and return to the parent workflow.
140
145
  */
141
- map: CreateLoopWorkflow<TaskInput, TaskOutput, MapTaskConfig>;
146
+ map: CreateLoopWorkflow<TaskInput, TaskOutput, MapTaskConfig<TaskInput>>;
142
147
  /**
143
148
  * Ends the map loop and returns to the parent workflow.
144
149
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MapTask.d.ts","sourceRoot":"","sources":["../../src/task/MapTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAA4B,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvE,eAAO,MAAM,mBAAmB;mBACxB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGK,IAAI,EAAE,SAAS;;;qBACrB,IAAI,EAAE,SAAS;;;;CAGK,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,OAAO,CAClB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,aAAa,GAAG,aAAa,CAC5C,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAuB,IAAI,EAAE,YAAY,CAAa;IACtD,OAAuB,QAAQ,EAAE,MAAM,CAAkB;IACzD,OAAuB,KAAK,EAAE,MAAM,CAAS;IAC7C,OAAuB,WAAW,EAAE,MAAM,CACiB;IAE3D,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED;;OAEG;IACH,gBAAgC,aAAa,mBAAkB;IAE/D;;OAEG;IACH,OAAuB,WAAW,IAAI,cAAc,CAMnD;IAED;;OAEG;IACH,OAAuB,YAAY,IAAI,cAAc,CAMpD;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEe,sBAAsB,IAAI,OAAO,CAEhD;IAED;;OAEG;IACa,cAAc,IAAI,MAAM,CAYvC;IAED;;;OAGG;IACa,YAAY,IAAI,cAAc,CAM7C;IAED;;OAEG;IACa,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAiB5D;CACF;AAMD,OAAO,QAAQ,wBAAwB,CAAC,CAAC;IACvC,UAAU,QAAQ;QAChB;;;WAGG;QACH,GAAG,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAE9D;;WAEG;QACH,MAAM,IAAI,QAAQ,CAAC;KACpB;CACF"}
1
+ {"version":3,"file":"MapTask.d.ts","sourceRoot":"","sources":["../../src/task/MapTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAA4B,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvE,eAAO,MAAM,mBAAmB;mBACxB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGK,IAAI,EAAE,SAAS;;;qBACrB,IAAI,EAAE,SAAS;;;;CAGK,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG;IAC3F;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,OAAO,CAClB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAC1D,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAuB,IAAI,EAAE,YAAY,CAAa;IACtD,OAAuB,QAAQ,EAAE,MAAM,CAAkB;IACzD,OAAuB,KAAK,EAAE,MAAM,CAAS;IAC7C,OAAuB,WAAW,EAAE,MAAM,CACiB;IAE3D,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED;;OAEG;IACH,gBAAgC,aAAa,mBAAkB;IAE/D;;OAEG;IACH,OAAuB,WAAW,IAAI,cAAc,CAMnD;IAED;;OAEG;IACH,OAAuB,YAAY,IAAI,cAAc,CAMpD;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEe,sBAAsB,IAAI,OAAO,CAEhD;IAED;;OAEG;IACa,cAAc,IAAI,MAAM,CAYvC;IAED;;;OAGG;IACa,YAAY,IAAI,cAAc,CAM7C;IAED;;OAEG;IACa,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAiB5D;CACF;AAMD,OAAO,QAAQ,wBAAwB,CAAC,CAAC;IACvC,UAAU,QAAQ;QAChB;;;WAGG;QACH,GAAG,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QAEzE;;WAEG;QACH,MAAM,IAAI,QAAQ,CAAC;KACpB;CACF"}
@@ -46,6 +46,11 @@ export declare const reduceTaskConfigSchema: {
46
46
  readonly additionalProperties: true;
47
47
  readonly "x-ui-hidden": true;
48
48
  };
49
+ readonly defaults: {
50
+ readonly type: "object";
51
+ readonly additionalProperties: true;
52
+ readonly "x-ui-hidden": true;
53
+ };
49
54
  readonly concurrencyLimit: {
50
55
  readonly type: "integer";
51
56
  readonly minimum: 1;
@@ -69,7 +74,7 @@ export declare const reduceTaskConfigSchema: {
69
74
  /**
70
75
  * Configuration for ReduceTask.
71
76
  */
72
- export type ReduceTaskConfig<Accumulator = unknown> = IteratorTaskConfig & {
77
+ export type ReduceTaskConfig<Input extends TaskInput = TaskInput, Accumulator = unknown> = IteratorTaskConfig<Input> & {
73
78
  /**
74
79
  * The initial value for the accumulator.
75
80
  */
@@ -78,13 +83,13 @@ export type ReduceTaskConfig<Accumulator = unknown> = IteratorTaskConfig & {
78
83
  /**
79
84
  * ReduceTask processes iterated inputs sequentially with an accumulator.
80
85
  */
81
- export declare class ReduceTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends ReduceTaskConfig<Output> = ReduceTaskConfig<Output>> extends IteratorTask<Input, Output, Config> {
86
+ export declare class ReduceTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends ReduceTaskConfig<Input, Output> = ReduceTaskConfig<Input, Output>> extends IteratorTask<Input, Output, Config> {
82
87
  static type: TaskTypeName;
83
88
  static category: string;
84
89
  static title: string;
85
90
  static description: string;
86
91
  static configSchema(): DataPortSchema;
87
- constructor(input?: Partial<Input>, config?: Partial<Config>);
92
+ constructor(config?: Partial<Config>);
88
93
  /**
89
94
  * Gets the initial accumulator value.
90
95
  */
@@ -112,7 +117,7 @@ declare module "../task-graph/Workflow" {
112
117
  * Starts a reduce loop that processes iterated inputs with an accumulator.
113
118
  * Use .endReduce() to close the loop and return to the parent workflow.
114
119
  */
115
- reduce: CreateLoopWorkflow<TaskInput, TaskOutput, ReduceTaskConfig<any>>;
120
+ reduce: CreateLoopWorkflow<TaskInput, TaskOutput, ReduceTaskConfig<TaskInput, any>>;
116
121
  /**
117
122
  * Ends the reduce loop and returns to the parent workflow.
118
123
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ReduceTask.d.ts","sourceRoot":"","sources":["../../src/task/ReduceTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,sBAAsB;mBAC3B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMmB,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,WAAW,GAAG,OAAO,IAAI,kBAAkB,GAAG;IACzE;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAU,CACrB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAClE,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAuB,IAAI,EAAE,YAAY,CAAgB;IACzD,OAAuB,QAAQ,EAAE,MAAM,CAAkB;IACzD,OAAuB,KAAK,EAAE,MAAM,CAAY;IAChD,OAAuB,WAAW,EAAE,MAAM,CAC4B;IAEtE,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED,YAAY,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM,EAQnE;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAEe,YAAY,IAAI,OAAO,CAEtC;IAEe,qBAAqB,IAAI,MAAM,CAS9C;IAEe,sBAAsB,CACpC,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB;IAEe,cAAc,IAAI,MAAM,CAEvC;IAED;;OAEG;IACH,OAAuB,WAAW,IAAI,cAAc,CAMnD;IAED;;OAEG;IACH,OAAuB,YAAY,IAAI,cAAc,CAMpD;IAED;;OAEG;IACa,YAAY,IAAI,cAAc,CA+B7C;CACF;AAMD,OAAO,QAAQ,wBAAwB,CAAC,CAAC;IACvC,UAAU,QAAQ;QAChB;;;WAGG;QACH,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzE;;WAEG;QACH,SAAS,IAAI,QAAQ,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"ReduceTask.d.ts","sourceRoot":"","sources":["../../src/task/ReduceTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,sBAAsB;mBAC3B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMmB,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,WAAW,GAAG,OAAO,IACnB,kBAAkB,CAAC,KAAK,CAAC,GAAG;IAC9B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAU,CACrB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAChF,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAuB,IAAI,EAAE,YAAY,CAAgB;IACzD,OAAuB,QAAQ,EAAE,MAAM,CAAkB;IACzD,OAAuB,KAAK,EAAE,MAAM,CAAY;IAChD,OAAuB,WAAW,EAAE,MAAM,CAC4B;IAEtE,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED,YAAY,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM,EAQvC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAEe,YAAY,IAAI,OAAO,CAEtC;IAEe,qBAAqB,IAAI,MAAM,CAS9C;IAEe,sBAAsB,CACpC,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB;IAEe,cAAc,IAAI,MAAM,CAEvC;IAED;;OAEG;IACH,OAAuB,WAAW,IAAI,cAAc,CAMnD;IAED;;OAEG;IACH,OAAuB,YAAY,IAAI,cAAc,CAMpD;IAED;;OAEG;IACa,YAAY,IAAI,cAAc,CA+B7C;CACF;AAMD,OAAO,QAAQ,wBAAwB,CAAC,CAAC;IACvC,UAAU,QAAQ;QAChB;;;WAGG;QACH,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpF;;WAEG;QACH,SAAS,IAAI,QAAQ,CAAC;KACvB;CACF"}
@@ -28,8 +28,12 @@ export type StreamTextDelta = {
28
28
  /**
29
29
  * Object delta for structured/object streaming.
30
30
  * `port` identifies which output port this delta belongs to.
31
- * Each `objectDelta` is a progressively more complete partial object snapshot.
32
- * Consumers should replace (not merge) their state with the latest delta.
31
+ *
32
+ * - **Non-array** (e.g. structured generation): each `objectDelta` is a
33
+ * progressively more complete partial object snapshot. Consumers should
34
+ * replace (not merge) their state with the latest delta.
35
+ * - **Array** (e.g. tool calls): each `objectDelta` is a single-element
36
+ * array containing one item to upsert by `id` into the accumulated array.
33
37
  */
34
38
  export type StreamObjectDelta = {
35
39
  type: "object-delta";
@@ -1 +1 @@
1
- {"version":3,"file":"StreamTypes.d.ts","sourceRoot":"","sources":["../../src/task/StreamTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5E;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACzD,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAChD,eAAe,GACf,iBAAiB,GACjB,cAAc,CAAC,MAAM,CAAC,GACtB,YAAY,CAAC,MAAM,CAAC,GACpB,WAAW,CAAC;AAMhB;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAOjG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,GACrB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAc3C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,cAAc,GAAG,UAAU,CAW5E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,YAAY,IAAI,cAAc,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACzC,GAAG,OAAO,CAGV;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAU1E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAKT;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAa1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEnE"}
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,uBAAuB,CAAC;AAExE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5E;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACzD,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAChD,eAAe,GACf,iBAAiB,GACjB,cAAc,CAAC,MAAM,CAAC,GACtB,YAAY,CAAC,MAAM,CAAC,GACpB,WAAW,CAAC;AAMhB;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAOjG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,GACrB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAc3C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,cAAc,GAAG,UAAU,CAW5E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,YAAY,IAAI,cAAc,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACzC,GAAG,OAAO,CAGV;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAU1E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAKT;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAa1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEnE"}
@@ -3,15 +3,18 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { type DataPortSchema, type SchemaNode } from "@workglow/util/schema";
7
- import { EventEmitter, type ServiceRegistry } from "@workglow/util";
6
+ import type { ServiceRegistry } from "@workglow/util";
7
+ import { EventEmitter } from "@workglow/util";
8
+ import type { DataPortSchema, SchemaNode } from "@workglow/util/schema";
8
9
  import { TaskGraph } from "../task-graph/TaskGraph";
9
10
  import type { IExecuteContext, IExecuteReactiveContext, IRunConfig, ITask } from "./ITask";
11
+ import { type TaskEntitlements } from "./TaskEntitlements";
10
12
  import { TaskError } from "./TaskError";
11
- import { type TaskEventListener, type TaskEventListeners, type TaskEventParameters, type TaskEvents } from "./TaskEvents";
13
+ import type { TaskEventListener, TaskEventListeners, TaskEventParameters, TaskEvents } from "./TaskEvents";
12
14
  import type { JsonTaskItem, TaskGraphItemJson, TaskGraphJsonOptions } from "./TaskJSON";
13
15
  import { TaskRunner } from "./TaskRunner";
14
- import { TaskStatus, type TaskConfig, type TaskInput, type TaskOutput, type TaskTypeName } from "./TaskTypes";
16
+ import type { TaskConfig, TaskInput, TaskOutput, TaskTypeName } from "./TaskTypes";
17
+ import { TaskStatus } from "./TaskTypes";
15
18
  /**
16
19
  * Base class for all tasks that implements the ITask interface.
17
20
  * This abstract class provides common functionality for both simple and compound tasks.
@@ -59,6 +62,23 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
59
62
  * Tasks that have meaningful user-facing config options beyond the base fields should set this.
60
63
  */
61
64
  static customizable: boolean;
65
+ /**
66
+ * When true, this task defines the graph's output. The graph runner will
67
+ * collect results only from tasks with this flag when they exist among the
68
+ * leaf nodes; otherwise it falls back to collecting from all leaves.
69
+ */
70
+ static isGraphOutput: boolean;
71
+ /**
72
+ * Whether this task has dynamic entitlements that can change at runtime.
73
+ * Tasks with dynamic entitlements should override the instance entitlements() method
74
+ * and emit 'entitlementChange' events when their entitlements change.
75
+ */
76
+ static hasDynamicEntitlements: boolean;
77
+ /**
78
+ * Entitlements required by this task class.
79
+ * Subclasses override to declare their permission requirements.
80
+ */
81
+ static entitlements(): TaskEntitlements;
62
82
  /**
63
83
  * Input schema for this task
64
84
  */
@@ -140,6 +160,17 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
140
160
  * Gets config schema for this task
141
161
  */
142
162
  configSchema(): DataPortSchema;
163
+ /**
164
+ * Gets entitlements for this task instance.
165
+ * For tasks with dynamic entitlements, override this to compute based on config/state.
166
+ */
167
+ entitlements(): TaskEntitlements;
168
+ /**
169
+ * Emits an entitlementChange event when the task's required entitlements change.
170
+ * Call this from tasks with dynamic entitlements when their configuration changes
171
+ * in a way that affects their entitlements.
172
+ */
173
+ protected emitEntitlementChange(entitlements?: TaskEntitlements): void;
143
174
  get type(): TaskTypeName;
144
175
  get category(): string;
145
176
  get title(): string;
@@ -212,11 +243,10 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
212
243
  /**
213
244
  * Creates a new task instance
214
245
  *
215
- * @param callerDefaultInputs Default input values provided by the caller
216
- * @param config Configuration for the task
246
+ * @param config Configuration for the task (includes defaults for input values)
217
247
  * @param runConfig Runtime configuration for the task
218
248
  */
219
- constructor(callerDefaultInputs?: NoInfer<Partial<Input>>, config?: NoInfer<Partial<Config>>, runConfig?: NoInfer<Partial<IRunConfig>>);
249
+ constructor(config?: NoInfer<Partial<Config>>, runConfig?: NoInfer<Partial<IRunConfig>>);
220
250
  /**
221
251
  * Gets default input values from input schema
222
252
  */
@@ -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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"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { TaskIdType } from "./TaskTypes";
7
+ /**
8
+ * Hierarchical entitlement identifier.
9
+ * Uses colon-separated namespacing: "network", "network:http", "network:websocket"
10
+ * A grant of "network" implicitly covers "network:http" and "network:websocket".
11
+ */
12
+ export type EntitlementId = string;
13
+ /**
14
+ * A single entitlement declaration.
15
+ */
16
+ export interface TaskEntitlement {
17
+ /** Hierarchical identifier, e.g. "network:http", "credential:anthropic", "code-execution:javascript" */
18
+ readonly id: EntitlementId;
19
+ /** Human-readable reason why this entitlement is needed */
20
+ readonly reason?: string;
21
+ /** Whether this entitlement is optional (task can degrade gracefully without it) */
22
+ readonly optional?: boolean;
23
+ /**
24
+ * Specific resources this entitlement applies to.
25
+ * E.g. URL patterns for network, model IDs for ai:model, server names for mcp.
26
+ * When undefined, the entitlement applies broadly.
27
+ */
28
+ readonly resources?: readonly string[];
29
+ }
30
+ /**
31
+ * Complete entitlement declaration for a task or graph.
32
+ */
33
+ export interface TaskEntitlements {
34
+ /** List of entitlements required */
35
+ readonly entitlements: readonly TaskEntitlement[];
36
+ }
37
+ /**
38
+ * An entitlement with origin tracking (which task(s) require it).
39
+ */
40
+ export interface TrackedTaskEntitlement extends TaskEntitlement {
41
+ /** Task IDs that require this entitlement */
42
+ readonly sourceTaskIds: readonly TaskIdType[];
43
+ }
44
+ /**
45
+ * Entitlements with optional origin tracking.
46
+ */
47
+ export interface TrackedTaskEntitlements {
48
+ readonly entitlements: readonly TrackedTaskEntitlement[];
49
+ }
50
+ /**
51
+ * Well-known entitlement categories. Tasks may also use custom IDs beyond these.
52
+ */
53
+ export declare const Entitlements: {
54
+ readonly NETWORK: "network";
55
+ readonly NETWORK_HTTP: "network:http";
56
+ readonly NETWORK_WEBSOCKET: "network:websocket";
57
+ readonly NETWORK_PRIVATE: "network:private";
58
+ readonly FILESYSTEM: "filesystem";
59
+ readonly FILESYSTEM_READ: "filesystem:read";
60
+ readonly FILESYSTEM_WRITE: "filesystem:write";
61
+ readonly CODE_EXECUTION: "code-execution";
62
+ readonly CODE_EXECUTION_JS: "code-execution:javascript";
63
+ readonly CREDENTIAL: "credential";
64
+ readonly AI: "ai";
65
+ readonly AI_MODEL: "ai:model";
66
+ readonly AI_INFERENCE: "ai:inference";
67
+ readonly MCP: "mcp";
68
+ readonly MCP_TOOL_CALL: "mcp:tool-call";
69
+ readonly MCP_RESOURCE_READ: "mcp:resource-read";
70
+ readonly MCP_PROMPT_GET: "mcp:prompt-get";
71
+ readonly MCP_STDIO: "mcp:stdio";
72
+ readonly STORAGE: "storage";
73
+ readonly STORAGE_READ: "storage:read";
74
+ readonly STORAGE_WRITE: "storage:write";
75
+ };
76
+ /** Shared empty entitlements object to avoid unnecessary allocations */
77
+ export declare const EMPTY_ENTITLEMENTS: TaskEntitlements;
78
+ /**
79
+ * Check if a granted entitlement covers a required entitlement.
80
+ * "network" covers "network:http" (parent covers child in hierarchy).
81
+ */
82
+ export declare function entitlementCovers(granted: EntitlementId, required: EntitlementId): boolean;
83
+ /**
84
+ * A grant declaration — what a consumer is willing to allow.
85
+ * Unlike TaskEntitlement (which declares what a task *needs*), this declares what is *permitted*.
86
+ */
87
+ export interface EntitlementGrant {
88
+ /** Entitlement ID to grant. Hierarchy applies: granting "network" covers "network:http". */
89
+ readonly id: EntitlementId;
90
+ /**
91
+ * Specific resources this grant covers.
92
+ * - undefined → broad grant, covers all resources for this entitlement
93
+ * - string[] → scoped grant, only covers requirements whose resources are a subset
94
+ *
95
+ * Supports glob-style trailing wildcards:
96
+ * - "/tmp/*" covers "/tmp/data.json" and "/tmp/subdir/file.txt"
97
+ * - "claude-*" covers "claude-3-opus", "claude-3-sonnet"
98
+ * - "*.example.com" covers "api.example.com"
99
+ */
100
+ readonly resources?: readonly string[];
101
+ }
102
+ /**
103
+ * Check if a single grant resource pattern matches a single required resource.
104
+ * Supports single-`*` glob matching:
105
+ * - "prefix*" matches anything starting with "prefix"
106
+ * - "*.example.com" matches anything ending with ".example.com"
107
+ * - "pre*suf" matches anything with both the given prefix and suffix
108
+ * Without `*`, requires exact match.
109
+ */
110
+ export declare function resourcePatternMatches(grantPattern: string, requiredResource: string): boolean;
111
+ /**
112
+ * Check if a grant covers the resource requirements of an entitlement.
113
+ *
114
+ * Matching rules:
115
+ * - Grant has no resources (broad) → covers any resource requirement
116
+ * - Requirement has no resources (broad need) → only a broad grant covers it
117
+ * - Both have resources → every required resource must match at least one grant pattern
118
+ */
119
+ export declare function grantCoversResources(grant: EntitlementGrant, required: TaskEntitlement): boolean;
120
+ /**
121
+ * Merge two TaskEntitlements into a union (deduplicating by ID).
122
+ * If the same ID appears in both, optional is false if either is false (most restrictive wins).
123
+ * Resources are merged (union of all resource arrays for the same ID).
124
+ */
125
+ export declare function mergeEntitlements(a: TaskEntitlements, b: TaskEntitlements): TaskEntitlements;
126
+ /**
127
+ * Merge two entitlements with the same ID.
128
+ * - optional: false wins (most restrictive)
129
+ * - reason: first non-empty wins
130
+ * - resources: union
131
+ */
132
+ export declare function mergeEntitlementPair(a: TaskEntitlement, b: TaskEntitlement): TaskEntitlement;
133
+ export declare function mergeResources(a: readonly string[] | undefined, b: readonly string[] | undefined): readonly string[] | undefined;
134
+ //# sourceMappingURL=TaskEntitlements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskEntitlements.d.ts","sourceRoot":"","sources":["../../src/task/TaskEntitlements.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wGAAwG;IACxG,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,6CAA6C;IAC7C,QAAQ,CAAC,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC1D;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY;aAEvB,OAAO,EAAE,SAAS;aAClB,YAAY,EAAE,cAAc;aAC5B,iBAAiB,EAAE,mBAAmB;aACtC,eAAe,EAAE,iBAAiB;aAGlC,UAAU,EAAE,YAAY;aACxB,eAAe,EAAE,iBAAiB;aAClC,gBAAgB,EAAE,kBAAkB;aAGpC,cAAc,EAAE,gBAAgB;aAChC,iBAAiB,EAAE,2BAA2B;aAG9C,UAAU,EAAE,YAAY;aAGxB,EAAE,EAAE,IAAI;aACR,QAAQ,EAAE,UAAU;aACpB,YAAY,EAAE,cAAc;aAG5B,GAAG,EAAE,KAAK;aACV,aAAa,EAAE,eAAe;aAC9B,iBAAiB,EAAE,mBAAmB;aACtC,cAAc,EAAE,gBAAgB;aAChC,SAAS,EAAE,WAAW;aAGtB,OAAO,EAAE,SAAS;aAClB,YAAY,EAAE,cAAc;aAC5B,aAAa,EAAE,eAAe;CACtB,CAAC;AAMX,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,EAAE,gBAE/B,CAAC;AAMH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE1F;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAY9F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAShG;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAoB5F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,eAAe,CAY5F;AAED,wBAAgB,cAAc,CAC5B,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAChC,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC/B,SAAS,MAAM,EAAE,GAAG,SAAS,CAK/B"}
@@ -86,6 +86,13 @@ export declare class TaskInvalidInputError extends TaskError {
86
86
  static readonly type: string;
87
87
  constructor(message?: string);
88
88
  }
89
+ /**
90
+ * Thrown when required entitlements are denied by the registered enforcer.
91
+ */
92
+ export declare class TaskEntitlementError extends TaskError {
93
+ static readonly type: string;
94
+ constructor(message?: string);
95
+ }
89
96
  /**
90
97
  * Thrown when toJSON is called on a task whose config contains non-serializable
91
98
  * values (e.g. functions). Tasks should override canSerializeConfig() to declare
@@ -1 +1 @@
1
- {"version":3,"file":"TaskError.d.ts","sourceRoot":"","sources":["../../src/task/TaskError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,qBAAa,SAAU,SAAQ,SAAS;IACtC,gBAAyB,IAAI,EAAE,MAAM,CAAe;IACpD,mEAAmE;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IACjE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,gBAAyB,IAAI,EAAE,MAAM,CAAmB;IACxD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,gBAAyB,IAAI,EAAE,MAAM,CAAsB;IAC3D,YAAY,OAAO,GAAE,MAAuB,EAE3C;CACF;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,gBAAyB,IAAI,EAAE,MAAM,CAAsB;IAC3D,YAAY,SAAS,CAAC,EAAE,MAAM,EAE7B;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,gBAAgB;IACzD,gBAAyB,IAAI,EAAE,MAAM,CAA2B;IAChE,YAAY,SAAS,CAAC,EAAE,MAAM,EAM7B;CACF;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,gBAAyB,IAAI,EAAE,MAAM,CAAqB;IAC1D,YAAY,OAAO,GAAE,MAAsB,EAE1C;CACF;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,gBAAyB,IAAI,EAAE,MAAM,CAAwB;IACtD,QAAQ,EAAE,QAAQ,CAAC;IAC1B,YAAY,GAAG,EAAE,QAAQ,EAGxB;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,gBAAyB,IAAI,EAAE,MAAM,CAAmB;IACxD,YAAY,OAAO,GAAE,MAA0C,EAE9D;CACF;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD,gBAAyB,IAAI,EAAE,MAAM,CAA2B;IAChE,YAAY,OAAO,GAAE,MAA6B,EAEjD;CACF;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IACjE,YAAY,QAAQ,EAAE,MAAM,EAK3B;CACF"}
1
+ {"version":3,"file":"TaskError.d.ts","sourceRoot":"","sources":["../../src/task/TaskError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,qBAAa,SAAU,SAAQ,SAAS;IACtC,gBAAyB,IAAI,EAAE,MAAM,CAAe;IACpD,mEAAmE;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IACjE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,gBAAyB,IAAI,EAAE,MAAM,CAAmB;IACxD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,gBAAyB,IAAI,EAAE,MAAM,CAAsB;IAC3D,YAAY,OAAO,GAAE,MAAuB,EAE3C;CACF;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,gBAAyB,IAAI,EAAE,MAAM,CAAsB;IAC3D,YAAY,SAAS,CAAC,EAAE,MAAM,EAE7B;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,gBAAgB;IACzD,gBAAyB,IAAI,EAAE,MAAM,CAA2B;IAChE,YAAY,SAAS,CAAC,EAAE,MAAM,EAM7B;CACF;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,gBAAyB,IAAI,EAAE,MAAM,CAAqB;IAC1D,YAAY,OAAO,GAAE,MAAsB,EAE1C;CACF;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,gBAAyB,IAAI,EAAE,MAAM,CAAwB;IACtD,QAAQ,EAAE,QAAQ,CAAC;IAC1B,YAAY,GAAG,EAAE,QAAQ,EAGxB;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,gBAAyB,IAAI,EAAE,MAAM,CAAmB;IACxD,YAAY,OAAO,GAAE,MAA0C,EAE9D;CACF;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD,gBAAyB,IAAI,EAAE,MAAM,CAA2B;IAChE,YAAY,OAAO,GAAE,MAA6B,EAEjD;CACF;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;IACjD,gBAAyB,IAAI,EAAE,MAAM,CAA0B;IAC/D,YAAY,OAAO,GAAE,MAAuC,EAE3D;CACF;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IACjE,YAAY,QAAQ,EAAE,MAAM,EAK3B;CACF"}
@@ -7,6 +7,7 @@ import type { DataPortSchema } from "@workglow/util/schema";
7
7
  import { EventParameters } from "@workglow/util";
8
8
  import type { StreamEvent } from "./StreamTypes";
9
9
  import { TaskAbortedError, TaskError } from "./TaskError";
10
+ import type { TaskEntitlements } from "./TaskEntitlements";
10
11
  import { TaskStatus } from "./TaskTypes";
11
12
  /**
12
13
  * Event listeners for task lifecycle events
@@ -46,6 +47,8 @@ export type TaskEventListeners = {
46
47
  status: (status: TaskStatus) => void;
47
48
  /** Fired when a task's input or output schema changes (for tasks with dynamic schemas) */
48
49
  schemaChange: (inputSchema?: DataPortSchema, outputSchema?: DataPortSchema) => void;
50
+ /** Fired when a task's required entitlements change (for tasks with dynamic entitlements) */
51
+ entitlementChange: (entitlements: TaskEntitlements) => void;
49
52
  /** Fired when a streaming task begins producing chunks */
50
53
  stream_start: () => void;
51
54
  /** Fired for each stream chunk produced by a streaming task */
@@ -1 +1 @@
1
- {"version":3,"file":"TaskEvents.d.ts","sourceRoot":"","sources":["../../src/task/TaskEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,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;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjE;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpE;;;OAGG;IACH,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,KACb,IAAI,CAAC;IAEV,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,OAAO,CAAC,KAAK,IAAI,CAAC;CACvD,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,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,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;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjE;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpE;;;OAGG;IACH,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,KACb,IAAI,CAAC;IAEV,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,6FAA6F;IAC7F,iBAAiB,EAAE,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAE5D,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,OAAO,CAAC,KAAK,IAAI,CAAC;CACvD,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"}
@@ -6,6 +6,7 @@
6
6
  import type { ServiceRegistry } from "@workglow/util";
7
7
  import { TaskGraph } from "../task-graph/TaskGraph";
8
8
  import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
9
+ import type { TaskEntitlements } from "../task/TaskEntitlements";
9
10
  import { ConditionalTaskConfig } from "./ConditionalTask";
10
11
  import { GraphAsTask, GraphAsTaskConfig } from "./GraphAsTask";
11
12
  import { IteratorTaskConfig } from "./IteratorTask";
@@ -17,7 +18,7 @@ import { WhileTaskConfig } from "./WhileTask";
17
18
  * Represents a single task item in the JSON configuration.
18
19
  * This structure defines how tasks should be configured in JSON format.
19
20
  */
20
- export type JsonTaskConfig = Omit<TaskConfig & GraphAsTaskConfig & WhileTaskConfig & IteratorTaskConfig & ReduceTaskConfig & MapTaskConfig & ConditionalTaskConfig, "id">;
21
+ export type JsonTaskConfig = Omit<TaskConfig & GraphAsTaskConfig & WhileTaskConfig & IteratorTaskConfig & ReduceTaskConfig & MapTaskConfig & ConditionalTaskConfig, "id" | "defaults">;
21
22
  export type JsonTaskItem = {
22
23
  /** Unique identifier for the task */
23
24
  id: unknown;
@@ -42,6 +43,13 @@ export type JsonTaskItem = {
42
43
  };
43
44
  /** Nested tasks for compound operations */
44
45
  subtasks?: JsonTaskItem[];
46
+ /**
47
+ * Entitlements required by this task.
48
+ * @output-only This field is populated during serialization (toJSON/toDependencyJSON)
49
+ * and is ignored during deserialization. User-supplied entitlements in JSON input
50
+ * are not applied to the reconstructed task.
51
+ */
52
+ entitlements?: TaskEntitlements;
45
53
  };
46
54
  /**
47
55
  * Represents a task graph item, which can be a task or a subgraph
@@ -53,6 +61,11 @@ export type TaskGraphItemJson = {
53
61
  config?: JsonTaskConfig;
54
62
  subgraph?: TaskGraphJson;
55
63
  merge?: CompoundMergeStrategy;
64
+ /**
65
+ * Entitlements required by this task.
66
+ * @output-only This field is populated during serialization and is ignored during deserialization.
67
+ */
68
+ entitlements?: TaskEntitlements;
56
69
  };
57
70
  export type TaskGraphJson = {
58
71
  tasks: TaskGraphItemJson[];
@@ -1 +1 @@
1
- {"version":3,"file":"TaskJSON.d.ts","sourceRoot":"","sources":["../../src/task/TaskJSON.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskJSON.d.ts","sourceRoot":"","sources":["../../src/task/TaskJSON.ts"],"names":[],"mappings":"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"}