@db-lyon/flowkit 0.17.3 → 0.18.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 (59) hide show
  1. package/README.md +53 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/config/index.d.ts +4 -2
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/index.js +2 -1
  6. package/dist/config/index.js.map +1 -1
  7. package/dist/config/loader.d.ts +11 -0
  8. package/dist/config/loader.d.ts.map +1 -1
  9. package/dist/config/loader.js +4 -0
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/config/schema.d.ts +1486 -79
  12. package/dist/config/schema.d.ts.map +1 -1
  13. package/dist/config/schema.js +125 -8
  14. package/dist/config/schema.js.map +1 -1
  15. package/dist/config/strict.d.ts +40 -0
  16. package/dist/config/strict.d.ts.map +1 -0
  17. package/dist/config/strict.js +146 -0
  18. package/dist/config/strict.js.map +1 -0
  19. package/dist/flow/index.d.ts +2 -2
  20. package/dist/flow/index.d.ts.map +1 -1
  21. package/dist/flow/index.js +1 -1
  22. package/dist/flow/index.js.map +1 -1
  23. package/dist/flow/runner.d.ts +279 -6
  24. package/dist/flow/runner.d.ts.map +1 -1
  25. package/dist/flow/runner.js +845 -40
  26. package/dist/flow/runner.js.map +1 -1
  27. package/dist/index.d.ts +13 -5
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +6 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/task/base-task.d.ts +50 -1
  32. package/dist/task/base-task.d.ts.map +1 -1
  33. package/dist/task/base-task.js +23 -0
  34. package/dist/task/base-task.js.map +1 -1
  35. package/dist/task/composite.d.ts +66 -0
  36. package/dist/task/composite.d.ts.map +1 -0
  37. package/dist/task/composite.js +21 -0
  38. package/dist/task/composite.js.map +1 -0
  39. package/dist/task/index.d.ts +7 -1
  40. package/dist/task/index.d.ts.map +1 -1
  41. package/dist/task/index.js +3 -0
  42. package/dist/task/index.js.map +1 -1
  43. package/dist/task/options-schema.d.ts +51 -0
  44. package/dist/task/options-schema.d.ts.map +1 -0
  45. package/dist/task/options-schema.js +102 -0
  46. package/dist/task/options-schema.js.map +1 -0
  47. package/dist/task/registry.d.ts +38 -0
  48. package/dist/task/registry.d.ts.map +1 -1
  49. package/dist/task/registry.js +42 -0
  50. package/dist/task/registry.js.map +1 -1
  51. package/dist/task/warnings.d.ts +25 -0
  52. package/dist/task/warnings.d.ts.map +1 -0
  53. package/dist/task/warnings.js +30 -0
  54. package/dist/task/warnings.js.map +1 -0
  55. package/docs/api-reference.md +273 -0
  56. package/docs/configuration.md +262 -1
  57. package/docs/custom-tasks.md +155 -0
  58. package/docs/releases.md +47 -0
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB,wCAAwB,CAAC;AAEvD,eAAO,MAAM,oBAAoB;IAC/B;;;;;OAKG;;;;;IAKH,sEAAsE;;;;;;;;;;;;;;;;;EAGtE,CAAC;AAEH,eAAO,MAAM,cAAc;;;;IAKvB,0DAA0D;;IAE1D,8CAA8C;;IAE9C,iEAAiE;;IAEjE;;;;;OAKG;;IAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAShF,CAAC;AAEJ,eAAO,MAAM,oBAAoB;IAC/B;;;OAGG;;IAEH,kFAAkF;;;;;QA9BhF,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBjF,+EAA+E;;;;;QAhC7E,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqBjF,oCAAoC;;;;;QAlClC,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuBjF,gCAAgC;;;;;QApC9B,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyBjF,kEAAkE;;;;;QAtChE,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BjF,yFAAyF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzF,CAAC;AAOH;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B,uBAAuB;;IAEvB,iFAAiF;;IAEjF,+DAA+D;;IAE/D,6EAA6E;;IAE7E,qDAAqD;;IAErD,gDAAgD;;;;;;;;;;;;;;;;EAEhD,CAAC;AAEH,eAAO,MAAM,qBAAqB;;IAEhC,4CAA4C;;IAE5C,6BAA6B;;IAE7B,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEhD,gDAAgD;;IAEhD,uBAAuB;;QAxBvB,uBAAuB;;QAEvB,iFAAiF;;QAEjF,+DAA+D;;QAE/D,6EAA6E;;QAE7E,qDAAqD;;QAErD,gDAAgD;;;;;;;;;;;;;;;;;IAgBhD,4BAA4B;;IAE5B,kCAAkC;;IAElC,8BAA8B;;IAE9B,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElC,CAAC;AAEH,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB;;QAlI7B;;;;;WAKG;;;;;QAKH,sEAAsE;;;;;;;;;;;;;;;;;;;QAmCtE;;;WAGG;;QAEH,kFAAkF;;;;;YA9BhF,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmBjF,+EAA+E;;;;;YAhC7E,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqBjF,oCAAoC;;;;;YAlClC,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAuBjF,gCAAgC;;;;;YApC9B,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyBjF,kEAAkE;;;;;YAtChE,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2BjF,yFAAyF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiDzF,4CAA4C;;QAE5C,6BAA6B;;QAE7B,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEhD,gDAAgD;;QAEhD,uBAAuB;;YAxBvB,uBAAuB;;YAEvB,iFAAiF;;YAEjF,+DAA+D;;YAE/D,6EAA6E;;YAE7E,qDAAqD;;YAErD,gDAAgD;;;;;;;;;;;;;;;;;QAgBhD,4BAA4B;;QAE5B,kCAAkC;;QAElC,8BAA8B;;QAE9B,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB,wCAAwB,CAAC;AAOvD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;IAG3B,4EAA4E;;IAE5E,wEAAwE;;;;;;;;;;;;;IAaxE,sCAAsC;;IAEtC,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1D,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,iBAAiB;;;IAxB5B,4EAA4E;;IAE5E,wEAAwE;;;;;;;;;;;;;IAaxE,sCAAsC;;IAEtC,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOD,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;GAA6B,CAAC;AAE5D,eAAO,MAAM,oBAAoB;IAC/B;;;;;OAKG;;;;;IAKH,sEAAsE;;;IAGtE;;;;OAIG;;;;QA1DH,4EAA4E;;QAE5E,wEAAwE;;;;;;;;;;;;;QAaxE,sCAAsC;;QAEtC,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2C1D,+DAA+D;;;;;;;;;;;;;;;;;IAE/D;;;OAGG;;IAEH,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEjE,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;IAG1B,wFAAwF;;;;;;;;;;EAExF,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;;IAI/B,0DAA0D;;IAE1D,8CAA8C;;IAE9C,iEAAiE;;IAEjE;;;;;OAKG;;IAEH,+EAA+E;;IAE/E;;;OAGG;;;;QAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCxF,CAAC;AAWH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAClF,MAAM,EAAE,CAAC,GACR,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAIjB;AAED,0EAA0E;AAC1E,eAAO,MAAM,cAAc;;;;IA5CzB,0DAA0D;;IAE1D,8CAA8C;;IAE9C,iEAAiE;;IAEjE;;;;;OAKG;;IAEH,+EAA+E;;IAE/E;;;OAGG;;;;QAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DxB,CAAC;AAEnE,mDAAmD;AACnD,eAAO,MAAM,eAAe;;;;IA/C1B,0DAA0D;;IAE1D,8CAA8C;;IAE9C,iEAAiE;;IAEjE;;;;;OAKG;;IAEH,+EAA+E;;IAE/E;;;OAGG;;;;QAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DhB,CAAC;AAE3E,eAAO,MAAM,oBAAoB;IAC/B;;;OAGG;;IAEH,kFAAkF;;;;;QAvDlF,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;QAE/E;;;WAGG;;;;YAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyExF,+EAA+E;;;;;QAzD/E,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;QAE/E;;;WAGG;;;;YAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2ExF,oCAAoC;;;;;QA3DpC,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;QAE/E;;;WAGG;;;;YAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6ExF,gCAAgC;;;;;QA7DhC,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;QAE/E;;;WAGG;;;;YAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+ExF,kEAAkE;;;;;QA/DlE,0DAA0D;;QAE1D,8CAA8C;;QAE9C,iEAAiE;;QAEjE;;;;;WAKG;;QAEH,+EAA+E;;QAE/E;;;WAGG;;;;YAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiFxF,yFAAyF;;IAEzF,uFAAuF;;;;QAnFvF,wFAAwF;;;;;;;;;;;IAqFxF;;;;;OAKG;;IAEH,+EAA+E;;IAE/E,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEjE,CAAC;AAOH;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B,uBAAuB;;IAEvB,iFAAiF;;IAEjF,+DAA+D;;IAE/D,6EAA6E;;IAE7E,qDAAqD;;IAErD,gDAAgD;;;;;;;;;;;;;;;;EAEhD,CAAC;AAEH,eAAO,MAAM,qBAAqB;;IAEhC,4CAA4C;;IAE5C,6BAA6B;;IAE7B,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEhD,gDAAgD;;IAEhD,uBAAuB;;QAxBvB,uBAAuB;;QAEvB,iFAAiF;;QAEjF,+DAA+D;;QAE/D,6EAA6E;;QAE7E,qDAAqD;;QAErD,gDAAgD;;;;;;;;;;;;;;;;;IAgBhD,4BAA4B;;IAE5B,kCAAkC;;IAElC,8BAA8B;;IAE9B,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElC,CAAC;AAEH,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB;;QA3M7B;;;;;WAKG;;;;;QAKH,sEAAsE;;;QAGtE;;;;WAIG;;;;YA1DH,4EAA4E;;YAE5E,wEAAwE;;;;;;;;;;;;;YAaxE,sCAAsC;;YAEtC,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2C1D,+DAA+D;;;;;;;;;;;;;;;;;QAE/D;;;WAGG;;QAEH,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+EjE;;;WAGG;;QAEH,kFAAkF;;;;;YAvDlF,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;YAE/E;;;eAGG;;;;gBAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyExF,+EAA+E;;;;;YAzD/E,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;YAE/E;;;eAGG;;;;gBAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2ExF,oCAAoC;;;;;YA3DpC,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;YAE/E;;;eAGG;;;;gBAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6ExF,gCAAgC;;;;;YA7DhC,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;YAE/E;;;eAGG;;;;gBAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+ExF,kEAAkE;;;;;YA/DlE,0DAA0D;;YAE1D,8CAA8C;;YAE9C,iEAAiE;;YAEjE;;;;;eAKG;;YAEH,+EAA+E;;YAE/E;;;eAGG;;;;gBAlCH,wFAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiFxF,yFAAyF;;QAEzF,uFAAuF;;;;YAnFvF,wFAAwF;;;;;;;;;;;QAqFxF;;;;;WAKG;;QAEH,+EAA+E;;QAE/E,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiDjE,4CAA4C;;QAE5C,6BAA6B;;QAE7B,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEhD,gDAAgD;;QAEhD,uBAAuB;;YAxBvB,uBAAuB;;YAEvB,iFAAiF;;YAEjF,+DAA+D;;YAE/D,6EAA6E;;YAE7E,qDAAqD;;YAErD,gDAAgD;;;;;;;;;;;;;;;;;QAgBhD,4BAA4B;;QAE5B,kCAAkC;;QAElC,8BAA8B;;QAE9B,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1,5 +1,53 @@
1
1
  import { z } from 'zod';
2
2
  export const TaskOptionsSchema = z.record(z.unknown());
3
+ /** `deprecated:` on a task or flow: `true`, or a string saying why. */
4
+ const DeprecatedSchema = z.union([z.boolean(), z.string()]);
5
+ const OptionTypeSchema = z.enum(['string', 'number', 'integer', 'boolean', 'object', 'array', 'null']);
6
+ /**
7
+ * One declared task option. JSON-Schema-like: the constraint keywords are the
8
+ * JSON Schema ones (`enum`, `minimum`, `maxLength`, `items`, ...) and are
9
+ * checked with flowkit's built-in validator; `required` and `default` are
10
+ * per-option here rather than on a parent object.
11
+ */
12
+ export const OptionSpecSchema = z.object({
13
+ type: z.union([OptionTypeSchema, z.array(OptionTypeSchema)]).optional(),
14
+ description: z.string().optional(),
15
+ /** The option must be present (after defaults and every override layer). */
16
+ required: z.boolean().optional(),
17
+ /** Used when no layer supplies the option. Lowest precedence of all. */
18
+ default: z.unknown().optional(),
19
+ enum: z.array(z.unknown()).optional(),
20
+ const: z.unknown().optional(),
21
+ minimum: z.number().optional(),
22
+ maximum: z.number().optional(),
23
+ exclusiveMinimum: z.number().optional(),
24
+ exclusiveMaximum: z.number().optional(),
25
+ minLength: z.number().int().nonnegative().optional(),
26
+ maxLength: z.number().int().nonnegative().optional(),
27
+ pattern: z.string().optional(),
28
+ minItems: z.number().int().nonnegative().optional(),
29
+ maxItems: z.number().int().nonnegative().optional(),
30
+ /** JSON Schema for array elements. */
31
+ items: z.record(z.unknown()).optional(),
32
+ /** JSON Schema properties for an object-valued option. */
33
+ properties: z.record(z.unknown()).optional(),
34
+ additionalProperties: z.union([z.boolean(), z.record(z.unknown())]).optional(),
35
+ nullable: z.boolean().optional(),
36
+ });
37
+ /** A task's declared options, keyed by option name. */
38
+ export const OptionSpecsSchema = z.record(OptionSpecSchema);
39
+ /**
40
+ * One declared output: a key the task puts on `TaskResult.data`. Descriptive
41
+ * only; the runner does not check outputs.
42
+ */
43
+ export const OutputSpecSchema = z.object({
44
+ type: z.union([OptionTypeSchema, z.array(OptionTypeSchema)]).optional(),
45
+ description: z.string().optional(),
46
+ items: z.record(z.unknown()).optional(),
47
+ properties: z.record(z.unknown()).optional(),
48
+ });
49
+ /** A task's declared outputs, keyed by `data` key. */
50
+ export const OutputSpecsSchema = z.record(OutputSpecSchema);
3
51
  export const TaskDefinitionSchema = z.object({
4
52
  /**
5
53
  * The task's implementation. Optional: an option-only entry (no class_path)
@@ -14,9 +62,43 @@ export const TaskDefinitionSchema = z.object({
14
62
  /** Declarative hints surfaced in listings; not used by the runner. */
15
63
  idempotent: z.boolean().optional(),
16
64
  reversible: z.boolean().optional(),
65
+ /**
66
+ * Declared options. Refines (per option, field by field) any static
67
+ * `optionsSchema` on the task class, and step options are validated against
68
+ * the result before the task runs.
69
+ */
70
+ options_schema: OptionSpecsSchema.optional(),
71
+ /** Declared outputs, for `describe` and docs. Not enforced. */
72
+ outputs: OutputSpecsSchema.optional(),
73
+ /**
74
+ * Mark the task deprecated: `true`, or a string saying why. Running or
75
+ * planning it adds a `deprecated` warning to the result; it still runs.
76
+ */
77
+ deprecated: DeprecatedSchema.optional(),
78
+ /** The task to use instead, named in the deprecation warning. */
79
+ replaced_by: z.string().optional(),
17
80
  });
18
- export const FlowStepSchema = z
19
- .object({
81
+ /**
82
+ * A declared preflight check. `when` is evaluated by the runner's
83
+ * `conditionEvaluator` (or the built-in `${...}` truthiness fallback); when it
84
+ * is truthy the check fires and `action` applies: `error` fails before the
85
+ * step (or flow) starts, `skip` skips it, `warn` records a warning and runs it.
86
+ */
87
+ export const StepCheckSchema = z.object({
88
+ when: z.union([z.string(), z.boolean()]),
89
+ action: z.enum(['error', 'warn', 'skip']),
90
+ /** Shown in the error, skip reason or warning. Defaults to one naming the condition. */
91
+ message: z.string().optional(),
92
+ });
93
+ /**
94
+ * The fields of one flow step, as a plain object schema.
95
+ *
96
+ * Exported unrefined so a host can `.extend()` it for its own manifests (a
97
+ * plugin manifest, a code-declared flow) and stay in step with every field the
98
+ * runner understands. Pass the extended schema through `refineFlowStep` to get
99
+ * the same target rule `FlowStepSchema` enforces.
100
+ */
101
+ export const FlowStepObjectSchema = z.object({
20
102
  task: z.string().optional(),
21
103
  flow: z.string().optional(),
22
104
  options: TaskOptionsSchema.optional(),
@@ -35,12 +117,34 @@ export const FlowStepSchema = z
35
117
  when: z.union([z.string(), z.boolean()]).optional(),
36
118
  /** If true, a failure of this step is recorded but does not abort the flow. */
37
119
  ignore_failure: z.boolean().optional(),
38
- })
39
- .refine((data) => {
40
- if (data.task === 'None')
120
+ /**
121
+ * Preflight checks, evaluated in order just before the step would run (after
122
+ * `when`), and reported without running anything by `FlowRunner.preflight`.
123
+ */
124
+ checks: z.array(StepCheckSchema).optional(),
125
+ });
126
+ /** The target rule shared by every step schema: exactly one of task or flow, or a `None` skip. */
127
+ function hasOneStepTarget(data) {
128
+ // `None` in either slot disables the step. An overlay that turns a
129
+ // `flow:` step off with `task: None` (or the reverse) merges into a step
130
+ // carrying both keys, and that must still parse as a skip.
131
+ if (data.task === 'None' || data.flow === 'None')
41
132
  return true;
42
- return (data.task && !data.flow) || (!data.task && data.flow);
43
- }, { message: 'Step must have exactly one of task or flow (or task: None to skip)' });
133
+ return (!!data.task && !data.flow) || (!data.task && !!data.flow);
134
+ }
135
+ /**
136
+ * Apply the step target rule to a step object schema, typically one a host
137
+ * built with `FlowStepObjectSchema.extend({ ... })`.
138
+ */
139
+ export function refineFlowStep(schema) {
140
+ return schema.refine(hasOneStepTarget, {
141
+ message: 'Step must have exactly one of task or flow (or task: None / flow: None to skip)',
142
+ });
143
+ }
144
+ /** One flow step: `FlowStepObjectSchema` with the target rule applied. */
145
+ export const FlowStepSchema = refineFlowStep(FlowStepObjectSchema);
146
+ /** A flow's `steps:` map, keyed by step number. */
147
+ export const FlowStepsSchema = z.record(z.coerce.string(), FlowStepSchema);
44
148
  export const FlowDefinitionSchema = z.object({
45
149
  /**
46
150
  * Optional: a flow override (one that layers steps/hooks onto a same-named
@@ -48,7 +152,7 @@ export const FlowDefinitionSchema = z.object({
48
152
  */
49
153
  description: z.string().nullish(),
50
154
  /** Optional/defaulted so an override that only adjusts hooks/options is valid. */
51
- steps: z.record(z.coerce.string(), FlowStepSchema).default({}),
155
+ steps: FlowStepsSchema.default({}),
52
156
  /** Runs before the first step. Failure fails the flow before steps execute. */
53
157
  on_start: z.array(FlowStepSchema).optional(),
54
158
  /** Runs after all steps succeed. */
@@ -59,6 +163,19 @@ export const FlowDefinitionSchema = z.object({
59
163
  finally: z.array(FlowStepSchema).optional(),
60
164
  /** If true, invoke rollback records from completed steps in reverse order on failure. */
61
165
  rollback_on_failure: z.boolean().optional(),
166
+ /** Preflight checks for the whole flow, evaluated before any of its steps or hooks. */
167
+ checks: z.array(StepCheckSchema).optional(),
168
+ /**
169
+ * How runtime `params` reach the steps of a run started on this flow.
170
+ * `flat` (the default): every key goes to every step. `step`: each key is a
171
+ * step selector (a task name or a step path such as `2` or `2/1`) whose value
172
+ * is the options for the matching steps only.
173
+ */
174
+ options_scope: z.enum(['flat', 'step']).optional(),
175
+ /** Mark the flow deprecated: `true`, or a string saying why. It still runs. */
176
+ deprecated: DeprecatedSchema.optional(),
177
+ /** The flow to use instead, named in the deprecation warning. */
178
+ replaced_by: z.string().optional(),
62
179
  });
63
180
  // ---------------------------------------------------------------------------
64
181
  // Agents — the AI-native layer. Additive: CumulusCI never had an `agents:` key,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { z } from 'zod';
2
+ /**
3
+ * Unknown-key detection for config validated by a zod schema.
4
+ *
5
+ * Zod strips keys an object schema does not declare, so a misspelt field
6
+ * (`retires: 3`, `ignore_failur: true`) parses cleanly and is then ignored at
7
+ * run time. This walks the raw value alongside the schema and reports every key
8
+ * the schema would have dropped, with its full path.
9
+ *
10
+ * It follows the schema the caller passes, so a host that extends
11
+ * `EngineConfigSchema` with its own sections gets them checked too. An object
12
+ * schema declared `.passthrough()` or with a `.catchall()` accepts extra keys
13
+ * and is not reported.
14
+ */
15
+ export interface UnknownConfigKey {
16
+ /** Where the key sits, e.g. `flows.ci.steps.2.retires` or `tasks["asset.list"].opts`. */
17
+ path: string;
18
+ /** The unknown key itself. */
19
+ key: string;
20
+ /** The closest declared key, when one is near enough to be a likely typo. */
21
+ suggestion?: string;
22
+ }
23
+ export interface FindUnknownKeysOptions {
24
+ /**
25
+ * Top-level keys to leave unchecked. For a host that keeps sections in the
26
+ * same file but validates them elsewhere, or not at all. A section the host
27
+ * declares in its own schema does not need listing here.
28
+ */
29
+ passthroughKeys?: readonly string[];
30
+ }
31
+ /** Thrown by `assertKnownKeys` and by `loadConfig({ strict })`. */
32
+ export declare class UnknownConfigKeyError extends Error {
33
+ readonly keys: UnknownConfigKey[];
34
+ constructor(keys: UnknownConfigKey[]);
35
+ }
36
+ /** Every key in `value` that `schema` does not declare. Never throws. */
37
+ export declare function findUnknownKeys(schema: z.ZodTypeAny, value: unknown, options?: FindUnknownKeysOptions): UnknownConfigKey[];
38
+ /** Throw `UnknownConfigKeyError` when `value` carries any key `schema` does not declare. */
39
+ export declare function assertKnownKeys(schema: z.ZodTypeAny, value: unknown, options?: FindUnknownKeysOptions): void;
40
+ //# sourceMappingURL=strict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/config/strict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,mEAAmE;AACnE,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAEtB,IAAI,EAAE,gBAAgB,EAAE;CAQrC;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,gBAAgB,EAAE,CAKpB;AAED,4FAA4F;AAC5F,wBAAgB,eAAe,CAC7B,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,sBAAsB,GAC/B,IAAI,CAGN"}
@@ -0,0 +1,146 @@
1
+ /** Thrown by `assertKnownKeys` and by `loadConfig({ strict })`. */
2
+ export class UnknownConfigKeyError extends Error {
3
+ keys;
4
+ constructor(keys) {
5
+ const lines = keys.map((k) => ` ${k.path}${k.suggestion ? ` (did you mean "${k.suggestion}"?)` : ''}`);
6
+ super(`Unknown config key${keys.length === 1 ? '' : 's'}:\n${lines.join('\n')}`);
7
+ this.name = 'UnknownConfigKeyError';
8
+ this.keys = keys;
9
+ }
10
+ }
11
+ /** Every key in `value` that `schema` does not declare. Never throws. */
12
+ export function findUnknownKeys(schema, value, options = {}) {
13
+ const out = [];
14
+ const skip = new Set(options.passthroughKeys ?? []);
15
+ walk(schema, value, '', out, skip);
16
+ return out;
17
+ }
18
+ /** Throw `UnknownConfigKeyError` when `value` carries any key `schema` does not declare. */
19
+ export function assertKnownKeys(schema, value, options) {
20
+ const keys = findUnknownKeys(schema, value, options);
21
+ if (keys.length > 0)
22
+ throw new UnknownConfigKeyError(keys);
23
+ }
24
+ function defOf(schema) {
25
+ return schema._def;
26
+ }
27
+ function isPlainObject(v) {
28
+ return typeof v === 'object' && v !== null && !Array.isArray(v);
29
+ }
30
+ function joinPath(base, key) {
31
+ const simple = /^[A-Za-z_$][\w$-]*$/.test(key) || /^\d+$/.test(key);
32
+ if (!simple)
33
+ return `${base}[${JSON.stringify(key)}]`;
34
+ return base ? `${base}.${key}` : key;
35
+ }
36
+ function walk(schema, value, path, out, rootSkip) {
37
+ if (value === undefined || value === null)
38
+ return;
39
+ const def = defOf(schema);
40
+ switch (def.typeName) {
41
+ case 'ZodOptional':
42
+ case 'ZodNullable':
43
+ case 'ZodDefault':
44
+ case 'ZodCatch':
45
+ case 'ZodReadonly':
46
+ return walk(def.innerType, value, path, out, rootSkip);
47
+ case 'ZodEffects':
48
+ return walk(def.schema, value, path, out, rootSkip);
49
+ case 'ZodBranded':
50
+ return walk(def.type, value, path, out, rootSkip);
51
+ case 'ZodPipeline':
52
+ return walk(def.in, value, path, out, rootSkip);
53
+ case 'ZodLazy':
54
+ return walk(def.getter(), value, path, out, rootSkip);
55
+ case 'ZodArray':
56
+ if (!Array.isArray(value))
57
+ return;
58
+ value.forEach((item, i) => walk(def.type, item, `${path}[${i}]`, out, null));
59
+ return;
60
+ case 'ZodRecord':
61
+ if (!isPlainObject(value))
62
+ return;
63
+ for (const [k, v] of Object.entries(value)) {
64
+ walk(def.valueType, v, joinPath(path, k), out, null);
65
+ }
66
+ return;
67
+ case 'ZodUnion':
68
+ case 'ZodDiscriminatedUnion':
69
+ return walkUnion(def.options, value, path, out);
70
+ case 'ZodObject':
71
+ return walkObject(schema, value, path, out, rootSkip);
72
+ default:
73
+ return;
74
+ }
75
+ }
76
+ function walkObject(schema, value, path, out, rootSkip) {
77
+ if (!isPlainObject(value))
78
+ return;
79
+ const def = defOf(schema);
80
+ const shape = schema.shape;
81
+ const catchall = def.catchall;
82
+ const hasCatchall = !!catchall && defOf(catchall).typeName !== 'ZodNever';
83
+ const acceptsExtra = def.unknownKeys === 'passthrough' || hasCatchall;
84
+ for (const [k, v] of Object.entries(value)) {
85
+ if (rootSkip?.has(k))
86
+ continue;
87
+ if (Object.prototype.hasOwnProperty.call(shape, k)) {
88
+ walk(shape[k], v, joinPath(path, k), out, null);
89
+ }
90
+ else if (hasCatchall) {
91
+ walk(catchall, v, joinPath(path, k), out, null);
92
+ }
93
+ else if (!acceptsExtra) {
94
+ out.push({ path: joinPath(path, k), key: k, suggestion: closest(k, Object.keys(shape)) });
95
+ }
96
+ }
97
+ }
98
+ /**
99
+ * A union reports against the branch the value actually parses as. When
100
+ * several parse, the one with the fewest unknown keys wins; when none does,
101
+ * zod will report the mismatch itself and there is nothing useful to add.
102
+ */
103
+ function walkUnion(options, value, path, out) {
104
+ let best = null;
105
+ for (const option of options) {
106
+ if (!option.safeParse(value).success)
107
+ continue;
108
+ const found = [];
109
+ walk(option, value, path, found, null);
110
+ if (best === null || found.length < best.length)
111
+ best = found;
112
+ if (best.length === 0)
113
+ break;
114
+ }
115
+ if (best)
116
+ out.push(...best);
117
+ }
118
+ function closest(key, candidates) {
119
+ let best;
120
+ let bestDistance = Infinity;
121
+ for (const c of candidates) {
122
+ const d = editDistance(key.toLowerCase(), c.toLowerCase());
123
+ if (d < bestDistance) {
124
+ best = c;
125
+ bestDistance = d;
126
+ }
127
+ }
128
+ const limit = Math.max(1, Math.floor(key.length / 3));
129
+ return bestDistance <= limit ? best : undefined;
130
+ }
131
+ /** Edit distance counting an adjacent swap as one edit, the commonest typo. */
132
+ function editDistance(a, b) {
133
+ const d = Array.from({ length: a.length + 1 }, (_, i) => Array.from({ length: b.length + 1 }, (_, j) => (i === 0 ? j : j === 0 ? i : 0)));
134
+ for (let i = 1; i <= a.length; i++) {
135
+ for (let j = 1; j <= b.length; j++) {
136
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
137
+ let v = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);
138
+ if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {
139
+ v = Math.min(v, d[i - 2][j - 2] + 1);
140
+ }
141
+ d[i][j] = v;
142
+ }
143
+ }
144
+ return d[a.length][b.length];
145
+ }
146
+ //# sourceMappingURL=strict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/config/strict.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { FlowRunner } from './runner.js';
2
- export type { FlowRunOptions, FlowStepResult, FlowRunResult, FlowRunnerHooks, FlowRunnerConfig, NestedAgentTask, NestedAgentTaskFactory, PlanStep, } from './runner.js';
1
+ export { FlowRunner, CheckFailedError } from './runner.js';
2
+ export type { FlowRunOptions, FlowStepResult, FlowRunResult, FlowRunnerHooks, FlowRunnerConfig, NestedAgentTask, NestedAgentTaskFactory, PlanStep, FlowDescription, StepReferenceIssue, CheckOutcome, PreflightStep, PreflightResult, ConditionContext, ConditionEvaluator, OptionsScope, } from './runner.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,QAAQ,GACT,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,aAAa,CAAC"}
@@ -1,2 +1,2 @@
1
- export { FlowRunner } from './runner.js';
1
+ export { FlowRunner, CheckFailedError } from './runner.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}