@workglow/task-graph 0.1.2 → 0.2.0

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
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { type BaseTabularStorage } from "@workglow/storage";
6
+ import type { BaseTabularStorage } from "@workglow/storage";
7
7
  import { TaskInput, TaskOutput } from "../task/TaskTypes";
8
8
  import { TaskOutputRepository } from "./TaskOutputRepository";
9
9
  export type TaskOutputPrimaryKey = {
@@ -1 +1 @@
1
- {"version":3,"file":"TaskOutputTabularRepository.d.ts","sourceRoot":"","sources":["../../src/storage/TaskOutputTabularRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;CASG,CAAC;AAEjC,eAAO,MAAM,yBAAyB,YAAI,KAAK,EAAE,UAAU,CAAU,CAAC;AAEtE,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,CAC1D,OAAO,gBAAgB,EACvB,OAAO,yBAAyB,CACjC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB;IACnE;;OAEG;IACH,iBAAiB,EAAE,2BAA2B,CAAC;IAE/C;;;OAGG;IACH,YAAY,EAAE,iBAAiB,EAAE,iBAAwB,EAAE,EAAE,2BAA2B,EAIvF;IAED;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAEY,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7D;IAED;;;;;OAKG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,OAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAuBf;IAED;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAgCpF;IAED;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5B;IAED;;;OAGG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzD;CACF"}
1
+ {"version":3,"file":"TaskOutputTabularRepository.d.ts","sourceRoot":"","sources":["../../src/storage/TaskOutputTabularRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;CASG,CAAC;AAEjC,eAAO,MAAM,yBAAyB,YAAI,KAAK,EAAE,UAAU,CAAU,CAAC;AAEtE,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,CAC1D,OAAO,gBAAgB,EACvB,OAAO,yBAAyB,CACjC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB;IACnE;;OAEG;IACH,iBAAiB,EAAE,2BAA2B,CAAC;IAE/C;;;OAGG;IACH,YAAY,EAAE,iBAAiB,EAAE,iBAAwB,EAAE,EAAE,2BAA2B,EAIvF;IAED;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAEY,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7D;IAED;;;;;OAKG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,OAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAuBf;IAED;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAgCpF;IAED;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5B;IAED;;;OAGG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzD;CACF"}
@@ -4,10 +4,10 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { DataPortSchema } from "@workglow/util/schema";
7
- import { type UIConditionConfig } from "./ConditionUtils";
7
+ import type { UIConditionConfig } from "./ConditionUtils";
8
8
  import type { IExecuteContext } from "./ITask";
9
9
  import { Task } from "./Task";
10
- import { type TaskConfig, type TaskInput, type TaskOutput, type TaskTypeName } from "./TaskTypes";
10
+ import type { TaskConfig, TaskInput, TaskOutput, TaskTypeName } from "./TaskTypes";
11
11
  /**
12
12
  * A predicate function that evaluates whether a branch condition is met.
13
13
  * Receives the task's input data and returns true if the branch should be active.
@@ -125,6 +125,11 @@ export declare const conditionalTaskConfigSchema: {
125
125
  readonly additionalProperties: true;
126
126
  readonly "x-ui-hidden": true;
127
127
  };
128
+ readonly defaults: {
129
+ readonly type: "object";
130
+ readonly additionalProperties: true;
131
+ readonly "x-ui-hidden": true;
132
+ };
128
133
  };
129
134
  readonly additionalProperties: false;
130
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionalTask.d.ts","sourceRoot":"","sources":["../../src/task/ConditionalTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConditionalTask.d.ts","sourceRoot":"","sources":["../../src/task/ConditionalTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { EntitlementGrant, TaskEntitlement, TaskEntitlements } from "./TaskEntitlements";
7
+ import type { EntitlementPolicy } from "./EntitlementPolicy";
8
+ import type { IEntitlementResolver } from "./EntitlementResolver";
9
+ import type { ITask } from "./ITask";
10
+ /**
11
+ * Interface for checking whether required entitlements are granted.
12
+ * Register a custom implementation via the ServiceRegistry to enforce entitlements.
13
+ *
14
+ * Methods are async because resolving "ask" verdicts may require user interaction.
15
+ */
16
+ export interface IEntitlementEnforcer {
17
+ /**
18
+ * Preflight check: evaluate all required entitlements against the policy.
19
+ * Resolves "ask" verdicts via the resolver (prompt + save).
20
+ * Returns the list of denied (non-optional) entitlements, or empty array if all granted.
21
+ */
22
+ checkAll(required: TaskEntitlements): Promise<readonly TaskEntitlement[]>;
23
+ /**
24
+ * Runtime check: evaluate a single task's dynamic entitlements.
25
+ * Called during execution for tasks with `hasDynamicEntitlements`.
26
+ */
27
+ checkTask(task: ITask): Promise<readonly TaskEntitlement[]>;
28
+ }
29
+ /** Default permissive enforcer — grants everything. */
30
+ export declare const PERMISSIVE_ENFORCER: IEntitlementEnforcer;
31
+ /**
32
+ * Creates an enforcer from a unified entitlement policy with deny/grant/ask rules.
33
+ *
34
+ * Evaluation order: Deny → Grant → Ask → Default(deny).
35
+ *
36
+ * @param policy - The policy defining deny, grant, and ask rules
37
+ * @param resolver - Pluggable resolver for handling "ask" verdicts. Defaults to PERMISSIVE_RESOLVER.
38
+ */
39
+ export declare function createPolicyEnforcer(policy: EntitlementPolicy, resolver?: IEntitlementResolver): IEntitlementEnforcer;
40
+ /**
41
+ * Creates an enforcer from scoped grants that support resource-level matching.
42
+ * This is a convenience wrapper around `createPolicyEnforcer` with no deny or ask rules.
43
+ *
44
+ * Optional entitlements are never denied.
45
+ */
46
+ export declare function createScopedEnforcer(grants: readonly EntitlementGrant[]): IEntitlementEnforcer;
47
+ /**
48
+ * Creates an enforcer from a list of entitlement ID strings (broad grants).
49
+ * Entitlement hierarchy is respected: granting "network" covers "network:http".
50
+ * All grants are broad (no resource scoping). Optional entitlements are never denied.
51
+ */
52
+ export declare function createGrantListEnforcer(grants: readonly string[]): IEntitlementEnforcer;
53
+ /** Service token for registering an entitlement enforcer in the ServiceRegistry */
54
+ export declare const ENTITLEMENT_ENFORCER: import("@workglow/util").ServiceToken<IEntitlementEnforcer>;
55
+ //# sourceMappingURL=EntitlementEnforcer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitlementEnforcer.d.ts","sourceRoot":"","sources":["../../src/task/EntitlementEnforcer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAOrC;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IAE1E;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;CAC7D;AAMD,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,EAAE,oBAGjC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,GAAE,oBAA0C,GACnD,oBAAoB,CAiDtB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,oBAAoB,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,oBAAoB,CAEvF;AAMD,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,6DAEhC,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { EntitlementGrant, EntitlementId, TaskEntitlement, TaskEntitlements } from "./TaskEntitlements";
7
+ /**
8
+ * A rule matching entitlements by ID and optional resource patterns.
9
+ * Used for deny and ask rules. Same shape as EntitlementGrant.
10
+ */
11
+ export interface EntitlementRule {
12
+ readonly id: EntitlementId;
13
+ /** Resource patterns (glob-style). When undefined, matches broadly. */
14
+ readonly resources?: readonly string[];
15
+ }
16
+ /**
17
+ * A unified entitlement policy combining deny, grant, and ask rules.
18
+ *
19
+ * Evaluation order: Deny → Grant → Ask → Default(deny).
20
+ * - Deny rules override everything — if matched, the entitlement is denied.
21
+ * - Grant rules auto-allow without prompting.
22
+ * - Ask rules trigger a resolver to prompt the user.
23
+ * - If no rule matches, the entitlement is denied.
24
+ */
25
+ export interface EntitlementPolicy {
26
+ /** Hard denials — checked first, override grants */
27
+ readonly deny: readonly EntitlementRule[];
28
+ /** Grants — auto-allowed without prompting */
29
+ readonly grant: readonly EntitlementGrant[];
30
+ /** Ask rules — require user approval via a resolver */
31
+ readonly ask: readonly EntitlementRule[];
32
+ }
33
+ /**
34
+ * The result of evaluating a single entitlement against a policy.
35
+ */
36
+ export type EntitlementVerdict = "granted" | "denied" | "ask";
37
+ /**
38
+ * Per-entitlement result from policy evaluation.
39
+ */
40
+ export interface EntitlementCheckResult {
41
+ readonly verdict: EntitlementVerdict;
42
+ readonly entitlement: TaskEntitlement;
43
+ /** The rule that produced this verdict (for debugging/UI). Undefined when default-denied. */
44
+ readonly matchedRule?: EntitlementRule;
45
+ }
46
+ /** An empty policy that denies everything (no grants, no denies, no asks). */
47
+ export declare const EMPTY_POLICY: EntitlementPolicy;
48
+ /**
49
+ * Evaluates a policy against a set of required entitlements.
50
+ *
51
+ * For each required entitlement (skipping optional ones):
52
+ * 1. If any deny rule matches → `"denied"`
53
+ * 2. If any grant rule matches → `"granted"`
54
+ * 3. If any ask rule matches → `"ask"`
55
+ * 4. Otherwise → `"denied"` (default deny)
56
+ *
57
+ * This is a pure function with no side effects.
58
+ */
59
+ export declare function evaluatePolicy(policy: EntitlementPolicy, required: TaskEntitlements): readonly EntitlementCheckResult[];
60
+ //# sourceMappingURL=EntitlementPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitlementPolicy.d.ts","sourceRoot":"","sources":["../../src/task/EntitlementPolicy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAO5B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;IAC1C,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C,uDAAuD;IACvD,QAAQ,CAAC,GAAG,EAAE,SAAS,eAAe,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,6FAA6F;IAC7F,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;CACxC;AAED,8EAA8E;AAC9E,eAAO,MAAM,YAAY,EAAE,iBAIzB,CAAC;AAiBH;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,gBAAgB,GACzB,SAAS,sBAAsB,EAAE,CAgCnC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ *
6
+ * Pre-built entitlement grant profiles for common runtime environments.
7
+ * The library has no concept of Electron, brands, or deployment targets —
8
+ * only capability profiles expressed as entitlement policies.
9
+ */
10
+ import { type IEntitlementEnforcer } from "./EntitlementEnforcer";
11
+ import type { EntitlementPolicy } from "./EntitlementPolicy";
12
+ import type { IEntitlementResolver } from "./EntitlementResolver";
13
+ import type { EntitlementGrant } from "./TaskEntitlements";
14
+ /**
15
+ * Browser environment grants.
16
+ * No filesystem access, no code execution, no stdio MCP.
17
+ */
18
+ export declare const BROWSER_GRANTS: readonly EntitlementGrant[];
19
+ /**
20
+ * Desktop environment grants (e.g., Electron with Node.js main process).
21
+ * Adds filesystem, code execution, and stdio MCP on top of browser grants.
22
+ */
23
+ export declare const DESKTOP_GRANTS: readonly EntitlementGrant[];
24
+ /**
25
+ * Server environment grants (e.g., cloud deployment).
26
+ * Same as desktop for now; can add resource scoping later.
27
+ */
28
+ export declare const SERVER_GRANTS: readonly EntitlementGrant[];
29
+ export type EntitlementProfile = "browser" | "desktop" | "server";
30
+ /**
31
+ * Creates an entitlement policy for the given runtime profile.
32
+ * The profile's grants become the policy's grant rules.
33
+ * Deny and ask arrays are empty by default — callers can extend the returned policy.
34
+ */
35
+ export declare function createProfilePolicy(profile: EntitlementProfile): EntitlementPolicy;
36
+ /**
37
+ * Creates an entitlement enforcer for the given runtime profile.
38
+ * Tasks requiring entitlements not in the profile will be denied.
39
+ *
40
+ * @param profile - The runtime profile to use
41
+ * @param resolver - Optional resolver for handling "ask" verdicts
42
+ */
43
+ export declare function createProfileEnforcer(profile: EntitlementProfile, resolver?: IEntitlementResolver): IEntitlementEnforcer;
44
+ /**
45
+ * Returns the grant list for a given profile.
46
+ * Useful for inspection or combining with additional grants.
47
+ */
48
+ export declare function getProfileGrants(profile: EntitlementProfile): readonly EntitlementGrant[];
49
+ //# sourceMappingURL=EntitlementProfiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitlementProfiles.d.ts","sourceRoot":"","sources":["../../src/task/EntitlementProfiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,gBAAgB,EAQrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,gBAAgB,EAKrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,gBAAgB,EAAwB,CAAC;AAM9E,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAQlE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAElF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,CAEtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,gBAAgB,EAAE,CAEzF"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { TaskEntitlement } from "./TaskEntitlements";
7
+ import type { TaskIdType } from "./TaskTypes";
8
+ /**
9
+ * A request to the resolver for a user decision on an entitlement.
10
+ */
11
+ export interface EntitlementAskRequest {
12
+ /** The entitlement that needs a decision */
13
+ readonly entitlement: TaskEntitlement;
14
+ /** The task type requesting the entitlement */
15
+ readonly taskType: string;
16
+ /** The task instance ID requesting the entitlement */
17
+ readonly taskId: TaskIdType;
18
+ }
19
+ /**
20
+ * A user's answer to an entitlement ask.
21
+ */
22
+ export type EntitlementAnswer = "grant" | "deny";
23
+ /**
24
+ * Pluggable interface for handling "ask" entitlement verdicts.
25
+ *
26
+ * The resolver is responsible for:
27
+ * - Checking if a saved answer exists (`lookup`)
28
+ * - Prompting the user for a decision (`prompt`)
29
+ * - Persisting the user's answer for future lookups (`save`)
30
+ *
31
+ * Implementations vary by environment:
32
+ * - Builder app: shows a dialog, persists answers per-project
33
+ * - CLI: prints to terminal, saves in config
34
+ * - Tests: use PERMISSIVE_RESOLVER or DENY_ALL_RESOLVER
35
+ */
36
+ export interface IEntitlementResolver {
37
+ /** Check if there's a saved answer for this ask. Returns undefined if not saved. */
38
+ lookup(request: EntitlementAskRequest): EntitlementAnswer | undefined;
39
+ /** Prompt the user and return their answer. May block on UI. */
40
+ prompt(request: EntitlementAskRequest): Promise<EntitlementAnswer>;
41
+ /** Save a user's answer for future lookups. */
42
+ save(request: EntitlementAskRequest, answer: EntitlementAnswer): void;
43
+ }
44
+ /** Grants all asks without prompting. Useful for tests and permissive environments. */
45
+ export declare const PERMISSIVE_RESOLVER: IEntitlementResolver;
46
+ /** Denies all asks without prompting. Useful for locked-down environments. */
47
+ export declare const DENY_ALL_RESOLVER: IEntitlementResolver;
48
+ /** Service token for registering an entitlement resolver in the ServiceRegistry */
49
+ export declare const ENTITLEMENT_RESOLVER: import("@workglow/util").ServiceToken<IEntitlementResolver>;
50
+ //# sourceMappingURL=EntitlementResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitlementResolver.d.ts","sourceRoot":"","sources":["../../src/task/EntitlementResolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AAMjD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACtE,gEAAgE;IAChE,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnE,+CAA+C;IAC/C,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACvE;AAMD,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,EAAE,oBAIjC,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,EAAE,oBAI/B,CAAC;AAMF,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,6DAEhC,CAAC"}
@@ -4,7 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { DataPortSchema } from "@workglow/util/schema";
7
- import { GraphAsTask, GraphAsTaskConfig } from "./GraphAsTask";
7
+ import { GraphAsTask } from "./GraphAsTask";
8
+ import type { GraphAsTaskConfig } from "./GraphAsTask";
8
9
  import { FallbackTaskRunner } from "./FallbackTaskRunner";
9
10
  import type { TaskInput, TaskOutput, TaskTypeName } from "./TaskTypes";
10
11
  /**
@@ -57,6 +58,11 @@ export declare const fallbackTaskConfigSchema: {
57
58
  readonly additionalProperties: true;
58
59
  readonly "x-ui-hidden": true;
59
60
  };
61
+ readonly defaults: {
62
+ readonly type: "object";
63
+ readonly additionalProperties: true;
64
+ readonly "x-ui-hidden": true;
65
+ };
60
66
  readonly fallbackMode: {
61
67
  readonly type: "string";
62
68
  readonly enum: readonly ["task", "data"];
@@ -75,7 +81,7 @@ export declare const fallbackTaskConfigSchema: {
75
81
  * Configuration type for FallbackTask.
76
82
  * Extends GraphAsTaskConfig with fallback-specific options.
77
83
  */
78
- export type FallbackTaskConfig = GraphAsTaskConfig & {
84
+ export type FallbackTaskConfig<Input extends TaskInput = TaskInput> = GraphAsTaskConfig<Input> & {
79
85
  /**
80
86
  * The fallback execution mode.
81
87
  * - `"task"`: Try each task in the subgraph as an alternative.
@@ -150,7 +156,7 @@ export type FallbackTaskConfig = GraphAsTaskConfig & {
150
156
  * The output is the result from whichever alternative succeeded first.
151
157
  * The output schema matches the inner tasks' output schema.
152
158
  */
153
- export declare class FallbackTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends FallbackTaskConfig = FallbackTaskConfig> extends GraphAsTask<Input, Output, Config> {
159
+ export declare class FallbackTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends FallbackTaskConfig<Input> = FallbackTaskConfig<Input>> extends GraphAsTask<Input, Output, Config> {
154
160
  static type: TaskTypeName;
155
161
  static category: string;
156
162
  static title: string;
@@ -178,6 +184,7 @@ export declare class FallbackTask<Input extends TaskInput = TaskInput, Output ex
178
184
  defaults?: TaskInput;
179
185
  subgraph?: import("./TaskJSON").TaskGraphJson;
180
186
  merge?: import("../common").CompoundMergeStrategy;
187
+ entitlements?: import("./TaskEntitlements").TaskEntitlements;
181
188
  config: {
182
189
  branches?: import("./ConditionalTask").BranchConfig<any>[];
183
190
  defaultBranch?: string;
@@ -221,7 +228,7 @@ declare module "../task-graph/Workflow" {
221
228
  * is an independent alternative tried sequentially until one succeeds.
222
229
  * Use `.endFallback()` to close the block and return to the parent workflow.
223
230
  */
224
- fallback: CreateLoopWorkflow<TaskInput, TaskOutput, FallbackTaskConfig>;
231
+ fallback: CreateLoopWorkflow<TaskInput, TaskOutput, FallbackTaskConfig<TaskInput>>;
225
232
  /**
226
233
  * Ends the task-mode fallback block and returns to the parent workflow.
227
234
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FallbackTask.d.ts","sourceRoot":"","sources":["../../src/task/FallbackTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMvE;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,eAAO,MAAM,wBAAwB;mBAC7B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGI,IAAI,EAAE,QAAQ;qBAAE,IAAI;;;qBACpB,IAAI,EAAE,OAAO;qBAAE,KAAK;yBAAI,IAAI,EAAE,QAAQ;yBAAE,oBAAoB;;;;;CAG7C,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAErC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,YAAY,CACvB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAK1C,OAAuB,IAAI,EAAE,YAAY,CAAkB;IAC3D,OAAuB,QAAQ,EAAE,MAAM,CAAkB;IACzD,OAAuB,KAAK,EAAE,MAAM,CAAc;IAClD,OAAuB,WAAW,EAAE,MAAM,CAAyC;IAEnF,wEAAwE;IACxE,OAAuB,iBAAiB,EAAE,OAAO,CAAQ;IAEzD,OAAuB,YAAY,IAAI,cAAc,CAEpD;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;IAMD,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED,IAAW,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAEnD;IAMD;;;OAGG;IACa,WAAW,IAAI,cAAc,CA+B5C;IAED;;;OAGG;IACa,YAAY,IAAI,cAAc,CAkB7C;IAMe,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUrB;CACF;AAMD,OAAO,QAAQ,wBAAwB,CAAC,CAAC;IACvC,UAAU,QAAQ;QAChB;;;;WAIG;QACH,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAExE;;WAEG;QACH,WAAW,IAAI,QAAQ,CAAC;QAExB;;;;;;WAMG;QACH,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,QAAQ,CAAC;QAEhE;;WAEG;QACH,eAAe,IAAI,QAAQ,CAAC;KAC7B;CACF"}
1
+ {"version":3,"file":"FallbackTask.d.ts","sourceRoot":"","sources":["../../src/task/FallbackTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAA2B,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMvE;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,eAAO,MAAM,wBAAwB;mBAC7B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGI,IAAI,EAAE,QAAQ;qBAAE,IAAI;;;qBACpB,IAAI,EAAE,OAAO;qBAAE,KAAK;yBAAI,IAAI,EAAE,QAAQ;yBAAE,oBAAoB;;;;;CAG7C,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG;IAC/F;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAErC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,YAAY,CACvB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CACpE,SAAQ,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAK1C,OAAuB,IAAI,EAAE,YAAY,CAAkB;IAC3D,OAAuB,QAAQ,EAAE,MAAM,CAAkB;IACzD,OAAuB,KAAK,EAAE,MAAM,CAAc;IAClD,OAAuB,WAAW,EAAE,MAAM,CAAyC;IAEnF,wEAAwE;IACxE,OAAuB,iBAAiB,EAAE,OAAO,CAAQ;IAEzD,OAAuB,YAAY,IAAI,cAAc,CAEpD;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;IAMD,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED,IAAW,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAEnD;IAMD;;;OAGG;IACa,WAAW,IAAI,cAAc,CA+B5C;IAED;;;OAGG;IACa,YAAY,IAAI,cAAc,CAkB7C;IAMe,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUrB;CACF;AAMD,OAAO,QAAQ,wBAAwB,CAAC,CAAC;IACvC,UAAU,QAAQ;QAChB;;;;WAIG;QACH,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnF;;WAEG;QACH,WAAW,IAAI,QAAQ,CAAC;QAExB;;;;;;WAMG;QACH,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,QAAQ,CAAC;QAEhE;;WAEG;QACH,eAAe,IAAI,QAAQ,CAAC;KAC7B;CACF"}
@@ -5,14 +5,14 @@
5
5
  */
6
6
  import type { FallbackTask, FallbackTaskConfig } from "./FallbackTask";
7
7
  import { GraphAsTaskRunner } from "./GraphAsTaskRunner";
8
- import { type TaskInput, type TaskOutput } from "./TaskTypes";
8
+ import type { TaskInput, TaskOutput } from "./TaskTypes";
9
9
  /**
10
10
  * Runner for FallbackTask that executes alternatives sequentially until one succeeds.
11
11
  *
12
12
  * In **task mode**, each task in the subgraph is tried independently.
13
13
  * In **data mode**, the entire subgraph is re-run with different input overrides.
14
14
  */
15
- export declare class FallbackTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends FallbackTaskConfig = FallbackTaskConfig> extends GraphAsTaskRunner<Input, Output, Config> {
15
+ export declare class FallbackTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends FallbackTaskConfig<Input> = FallbackTaskConfig<Input>> extends GraphAsTaskRunner<Input, Output, Config> {
16
16
  task: FallbackTask<Input, Output, Config>;
17
17
  /**
18
18
  * Override executeTask to implement sequential fallback logic.
@@ -1 +1 @@
1
- {"version":3,"file":"FallbackTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/FallbackTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1E;;;;;GAKG;AACH,qBAAa,kBAAkB,CAC7B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACxC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAElD;;OAEG;IACH,UAAyB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK9E;IAED;;;OAGG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvF;YAUa,mBAAmB;YA0DnB,mBAAmB;IAkEjC;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAa5B"}
1
+ {"version":3,"file":"FallbackTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/FallbackTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;;GAKG;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;;OAEG;IACH,UAAyB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK9E;IAED;;;OAGG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvF;YAUa,mBAAmB;YA0DnB,mBAAmB;IAkEjC;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAa5B"}
@@ -3,15 +3,16 @@
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";
6
+ import type { DataPortSchema, SchemaNode } from "@workglow/util/schema";
7
7
  import { TaskGraph } from "../task-graph/TaskGraph";
8
8
  import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
9
9
  import { GraphAsTaskRunner } from "./GraphAsTaskRunner";
10
10
  import type { IExecuteContext } from "./ITask";
11
11
  import type { StreamEvent } from "./StreamTypes";
12
12
  import { Task } from "./Task";
13
+ import type { TaskEntitlements } from "./TaskEntitlements";
13
14
  import type { JsonTaskItem, TaskGraphItemJson, TaskGraphJsonOptions } from "./TaskJSON";
14
- import { type TaskConfig, type TaskInput, type TaskOutput, type TaskTypeName } from "./TaskTypes";
15
+ import type { TaskConfig, TaskInput, TaskOutput, TaskTypeName } from "./TaskTypes";
15
16
  export declare const graphAsTaskConfigSchema: {
16
17
  readonly type: "object";
17
18
  readonly properties: {
@@ -52,10 +53,15 @@ export declare const graphAsTaskConfigSchema: {
52
53
  readonly additionalProperties: true;
53
54
  readonly "x-ui-hidden": true;
54
55
  };
56
+ readonly defaults: {
57
+ readonly type: "object";
58
+ readonly additionalProperties: true;
59
+ readonly "x-ui-hidden": true;
60
+ };
55
61
  };
56
62
  readonly additionalProperties: false;
57
63
  };
58
- export type GraphAsTaskConfig = TaskConfig & {
64
+ export type GraphAsTaskConfig<Input extends TaskInput = TaskInput> = TaskConfig<Input> & {
59
65
  /** subGraph is extracted in the constructor before validation — not in the JSON schema */
60
66
  subGraph?: TaskGraph;
61
67
  compoundMerge?: CompoundMergeStrategy;
@@ -63,7 +69,7 @@ export type GraphAsTaskConfig = TaskConfig & {
63
69
  /**
64
70
  * A task that contains a subgraph of tasks
65
71
  */
66
- export declare class GraphAsTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends GraphAsTaskConfig = GraphAsTaskConfig> extends Task<Input, Output, Config> {
72
+ export declare class GraphAsTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends GraphAsTaskConfig<Input> = GraphAsTaskConfig<Input>> extends Task<Input, Output, Config> {
67
73
  static type: TaskTypeName;
68
74
  static title: string;
69
75
  static description: string;
@@ -71,7 +77,9 @@ export declare class GraphAsTask<Input extends TaskInput = TaskInput, Output ext
71
77
  static compoundMerge: CompoundMergeStrategy;
72
78
  /** This task has dynamic schemas that change based on the subgraph structure */
73
79
  static hasDynamicSchemas: boolean;
74
- constructor(input?: Partial<Input>, config?: Partial<Config>);
80
+ /** Entitlements are always dynamic — they depend on child tasks in the subgraph */
81
+ static hasDynamicEntitlements: boolean;
82
+ constructor(config?: Partial<Config>);
75
83
  _runner: GraphAsTaskRunner<Input, Output, Config>;
76
84
  /**
77
85
  * Task runner for handling the task execution
@@ -100,6 +108,10 @@ export declare class GraphAsTask<Input extends TaskInput = TaskInput, Output ext
100
108
  * The output schema depends on the compoundMerge strategy and the nodes at the last level
101
109
  */
102
110
  outputSchema(): DataPortSchema;
111
+ /**
112
+ * Override entitlements to aggregate from all tasks in the subgraph.
113
+ */
114
+ entitlements(): TaskEntitlements;
103
115
  /**
104
116
  * Resets input data to defaults
105
117
  */
@@ -136,7 +148,7 @@ declare module "../task-graph/Workflow" {
136
148
  * Starts a group that wraps inner tasks in a GraphAsTask subgraph.
137
149
  * Use .endGroup() to close the group and return to the parent workflow.
138
150
  */
139
- group: CreateLoopWorkflow<TaskInput, TaskOutput, GraphAsTaskConfig>;
151
+ group: CreateLoopWorkflow<TaskInput, TaskOutput, GraphAsTaskConfig<TaskInput>>;
140
152
  /**
141
153
  * Ends the group and returns to the parent workflow.
142
154
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GraphAsTask.d.ts","sourceRoot":"","sources":["../../src/task/GraphAsTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAkB,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,uBAAuB;mBAC5B,QAAQ;;;qBAGK,IAAI,EAAE,QAAQ;qBAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGf,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW,CACtB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,CACpD,SAAQ,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAKnC,OAAuB,IAAI,EAAE,YAAY,CAAiB;IAC1D,OAAuB,KAAK,EAAE,MAAM,CAAW;IAC/C,OAAuB,WAAW,EAAE,MAAM,CAAiD;IAC3F,OAAuB,QAAQ,EAAE,MAAM,CAAkB;IACzD,OAAc,aAAa,EAAE,qBAAqB,CAAkB;IAEpE,gFAAgF;IAChF,OAAuB,iBAAiB,EAAE,OAAO,CAAQ;IAMzD,YAAY,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM,EAOnE;IAMO,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1D;;OAEG;IACH,IAAa,MAAM,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAK9D;IAMD,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED,IAAW,aAAa,IAAI,qBAAqB,CAEhD;IAED,IAAoB,SAAS,IAAI,OAAO,CAMvC;IAMD;;;;;;;OAOG;IACa,WAAW,IAAI,cAAc,CAO5C;IAED,SAAS,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,CAAC;IACnD;;OAEG;IACH,UAAmB,kBAAkB,IAAI,UAAU,CAmBlD;IAED;;;;OAIG;IAEa,YAAY,IAAI,cAAc,CAO7C;IAED;;OAEG;IACa,cAAc,IAAI,IAAI,CAUrC;IAMD;;;;;OAKG;IACI,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CA4E/F;IAMD;;;;;;OAMG;IACa,eAAe,IAAI,IAAI,CAGtC;IAMD;;;OAGG;IACa,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,CAWxE;IAED;;;OAGG;IACa,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,YAAY,CAS7E;CACF;AAED,OAAO,QAAQ,wBAAwB,CAAC,CAAC;IACvC,UAAU,QAAQ;QAChB;;;WAGG;QACH,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEpE;;WAEG;QACH,QAAQ,IAAI,QAAQ,CAAC;KACtB;CACF"}
1
+ {"version":3,"file":"GraphAsTask.d.ts","sourceRoot":"","sources":["../../src/task/GraphAsTask.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,9 @@
6
6
  import { GraphResultArray } from "../task-graph/TaskGraphRunner";
7
7
  import { GraphAsTask } from "./GraphAsTask";
8
8
  import { TaskRunner } from "./TaskRunner";
9
- import { TaskConfig, TaskInput, TaskOutput } from "./TaskTypes";
10
- export declare class GraphAsTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends TaskConfig = TaskConfig> extends TaskRunner<Input, Output, Config> {
9
+ import type { TaskInput, TaskOutput } from "./TaskTypes";
10
+ import type { GraphAsTaskConfig } from "./GraphAsTask";
11
+ export declare class GraphAsTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends GraphAsTaskConfig<Input> = GraphAsTaskConfig<Input>> extends TaskRunner<Input, Output, Config> {
11
12
  task: GraphAsTask<Input, Output, Config>;
12
13
  /**
13
14
  * Protected method to execute a task subgraph by delegating back to the task itself.
@@ -1 +1 @@
1
- {"version":3,"file":"GraphAsTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/GraphAsTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhE,qBAAa,iBAAiB,CAC5B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,SAAQ,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACjC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjD;;OAEG;IACH,UAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAcnF;IACD;;;;;;OAMG;IACH,UAAgB,2BAA2B,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAI/E;IAED,UAAyB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD;IAMD;;OAEG;IACH,UAAyB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY9E;IAED;;OAEG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYvF;CACF"}
1
+ {"version":3,"file":"GraphAsTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/GraphAsTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,qBAAa,iBAAiB,CAC5B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,iBAAiB,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAClE,SAAQ,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACjC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjD;;OAEG;IACH,UAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAcnF;IACD;;;;;;OAMG;IACH,UAAgB,2BAA2B,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAI/E;IAED,UAAyB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD;IAMD;;OAEG;IACH,UAAyB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY9E;IAED;;OAEG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYvF;CACF"}
@@ -12,6 +12,7 @@ import type { TaskGraph } from "../task-graph/TaskGraph";
12
12
  import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
13
13
  import type { StreamEvent } from "./StreamTypes";
14
14
  import { TaskError } from "./TaskError";
15
+ import type { TaskEntitlements } from "./TaskEntitlements";
15
16
  import type { TaskEventListener, TaskEventListeners, TaskEventParameters, TaskEvents } from "./TaskEvents";
16
17
  import type { JsonTaskItem, TaskGraphItemJson, TaskGraphJsonOptions } from "./TaskJSON";
17
18
  import { TaskRunner } from "./TaskRunner";
@@ -76,6 +77,12 @@ export interface IRunConfig {
76
77
  * Set automatically by context.own() to propagate cancellation from parent to child tasks.
77
78
  */
78
79
  signal?: AbortSignal;
80
+ /**
81
+ * When true, check entitlements via the registered IEntitlementEnforcer
82
+ * before graph execution begins. Throws TaskEntitlementError if denied.
83
+ * Default: false (entitlements are declarative only, not enforced by the engine).
84
+ */
85
+ enforceEntitlements?: boolean;
79
86
  }
80
87
  /**
81
88
  * Interface for task static property metadata
@@ -89,11 +96,14 @@ export interface ITaskStaticProperties {
89
96
  readonly description?: string;
90
97
  readonly cacheable: boolean;
91
98
  readonly hasDynamicSchemas: boolean;
99
+ readonly hasDynamicEntitlements: boolean;
92
100
  readonly passthroughInputsToOutputs?: boolean;
101
+ readonly isGraphOutput?: boolean;
93
102
  readonly customizable?: boolean;
94
103
  readonly inputSchema: () => DataPortSchema;
95
104
  readonly outputSchema: () => DataPortSchema;
96
105
  readonly configSchema: () => DataPortSchema;
106
+ readonly entitlements: () => TaskEntitlements;
97
107
  }
98
108
  /**
99
109
  * Interface for task execution logic
@@ -148,6 +158,7 @@ export interface ITaskIO<Input extends TaskInput> {
148
158
  validateInput(input: Input): Promise<boolean>;
149
159
  get cacheable(): boolean;
150
160
  narrowInput(input: Partial<Input>, registry: ServiceRegistry): Promise<Partial<Input>>;
161
+ entitlements(): TaskEntitlements;
151
162
  }
152
163
  export interface ITaskInternalGraph {
153
164
  subGraph: TaskGraph;
@@ -198,7 +209,7 @@ export interface IGraphAsTask<Input extends TaskInput = TaskInput, Output extend
198
209
  /**
199
210
  * Type for task constructor
200
211
  */
201
- type ITaskConstructorType<Input extends TaskInput, Output extends TaskOutput, Config extends TaskConfig> = new (input: Input, config: Config, runConfig?: Partial<IRunConfig>) => ITask<Input, Output, Config>;
212
+ type ITaskConstructorType<Input extends TaskInput, Output extends TaskOutput, Config extends TaskConfig> = new (config: Config, runConfig?: Partial<IRunConfig>) => ITask<Input, Output, Config>;
202
213
  /**
203
214
  * Interface for task constructor with static properties
204
215
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../src/task/ITask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../src/task/ITask.ts"],"names":[],"mappings":"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"}
@@ -33,5 +33,5 @@ export interface InputCompactorConfig {
33
33
  * // compacted.model === "gpt-4"
34
34
  * ```
35
35
  */
36
- export declare function compactSchemaInputs<T extends Record<string, unknown>>(input: T, schema: DataPortSchema, config: InputCompactorConfig): Promise<T>;
36
+ export declare function compactSchemaInputs<T extends Record<string, unknown>>(input: T, schema: DataPortSchema, config: InputCompactorConfig, visited?: Set<object>): Promise<T>;
37
37
  //# sourceMappingURL=InputCompactor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputCompactor.d.ts","sourceRoot":"","sources":["../../src/task/InputCompactor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAsBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,CAAC,CAAC,CA6EZ"}
1
+ {"version":3,"file":"InputCompactor.d.ts","sourceRoot":"","sources":["../../src/task/InputCompactor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAgCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,GAC/B,OAAO,CAAC,CAAC,CAAC,CAmFZ"}