@haibun/core 3.6.0 → 3.8.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 (88) hide show
  1. package/build/currentVersion.d.ts +1 -1
  2. package/build/currentVersion.js +1 -1
  3. package/build/lib/EventLogger.d.ts +6 -7
  4. package/build/lib/EventLogger.d.ts.map +1 -1
  5. package/build/lib/EventLogger.js +12 -33
  6. package/build/lib/EventLogger.js.map +1 -1
  7. package/build/lib/PhaseRunner.d.ts +16 -0
  8. package/build/lib/PhaseRunner.d.ts.map +1 -0
  9. package/build/lib/PhaseRunner.js +39 -0
  10. package/build/lib/PhaseRunner.js.map +1 -0
  11. package/build/lib/defs.d.ts +9 -11
  12. package/build/lib/defs.d.ts.map +1 -1
  13. package/build/lib/defs.js +8 -0
  14. package/build/lib/defs.js.map +1 -1
  15. package/build/lib/feature-variables.d.ts +10 -22
  16. package/build/lib/feature-variables.d.ts.map +1 -1
  17. package/build/lib/feature-variables.js +42 -58
  18. package/build/lib/feature-variables.js.map +1 -1
  19. package/build/lib/filter-schema.d.ts +49 -0
  20. package/build/lib/filter-schema.d.ts.map +1 -0
  21. package/build/lib/filter-schema.js +104 -0
  22. package/build/lib/filter-schema.js.map +1 -0
  23. package/build/lib/filter-types.d.ts +71 -0
  24. package/build/lib/filter-types.d.ts.map +1 -0
  25. package/build/lib/filter-types.js +121 -0
  26. package/build/lib/filter-types.js.map +1 -0
  27. package/build/lib/monitor-event-collector.d.ts +16 -0
  28. package/build/lib/monitor-event-collector.d.ts.map +1 -0
  29. package/build/lib/monitor-event-collector.js +26 -0
  30. package/build/lib/monitor-event-collector.js.map +1 -0
  31. package/build/lib/populateActionArgs.js +1 -1
  32. package/build/lib/populateActionArgs.js.map +1 -1
  33. package/build/lib/secrets.d.ts +17 -0
  34. package/build/lib/secrets.d.ts.map +1 -0
  35. package/build/lib/secrets.js +46 -0
  36. package/build/lib/secrets.js.map +1 -0
  37. package/build/lib/test/lib.js +3 -3
  38. package/build/lib/test/lib.js.map +1 -1
  39. package/build/lib/util/actualURI.d.ts +1 -1
  40. package/build/lib/util/actualURI.d.ts.map +1 -1
  41. package/build/lib/util/index.d.ts +1 -0
  42. package/build/lib/util/index.d.ts.map +1 -1
  43. package/build/lib/util/index.js +1 -0
  44. package/build/lib/util/index.js.map +1 -1
  45. package/build/lib/util/secret-utils.d.ts +7 -0
  46. package/build/lib/util/secret-utils.d.ts.map +1 -0
  47. package/build/lib/util/secret-utils.js +36 -0
  48. package/build/lib/util/secret-utils.js.map +1 -0
  49. package/build/phases/Executor.d.ts.map +1 -1
  50. package/build/phases/Executor.js +4 -6
  51. package/build/phases/Executor.js.map +1 -1
  52. package/build/phases/collector.d.ts +3 -2
  53. package/build/phases/collector.d.ts.map +1 -1
  54. package/build/phases/collector.js +19 -7
  55. package/build/phases/collector.js.map +1 -1
  56. package/build/run-policy/run-policy-schema.d.ts +44 -0
  57. package/build/run-policy/run-policy-schema.d.ts.map +1 -0
  58. package/build/run-policy/run-policy-schema.js +263 -0
  59. package/build/run-policy/run-policy-schema.js.map +1 -0
  60. package/build/run-policy/run-policy-types.d.ts +60 -0
  61. package/build/run-policy/run-policy-types.d.ts.map +1 -0
  62. package/build/run-policy/run-policy-types.js +106 -0
  63. package/build/run-policy/run-policy-types.js.map +1 -0
  64. package/build/runfilter/filter-schema.d.ts +76 -0
  65. package/build/runfilter/filter-schema.d.ts.map +1 -0
  66. package/build/runfilter/filter-schema.js +129 -0
  67. package/build/runfilter/filter-schema.js.map +1 -0
  68. package/build/runfilter/filter-types.d.ts +58 -0
  69. package/build/runfilter/filter-types.d.ts.map +1 -0
  70. package/build/runfilter/filter-types.js +102 -0
  71. package/build/runfilter/filter-types.js.map +1 -0
  72. package/build/runner.d.ts +0 -3
  73. package/build/runner.d.ts.map +1 -1
  74. package/build/runner.js +19 -52
  75. package/build/runner.js.map +1 -1
  76. package/build/schema/protocol.d.ts +2 -2
  77. package/build/steps/activities-stepper.d.ts +4 -4
  78. package/build/steps/activities-stepper.d.ts.map +1 -1
  79. package/build/steps/activities-stepper.js +0 -2
  80. package/build/steps/activities-stepper.js.map +1 -1
  81. package/build/steps/haibun.d.ts +4 -4
  82. package/build/steps/narrator.d.ts +4 -4
  83. package/build/steps/variables-stepper.d.ts +25 -25
  84. package/build/steps/variables-stepper.d.ts.map +1 -1
  85. package/build/steps/variables-stepper.js +45 -41
  86. package/build/steps/variables-stepper.js.map +1 -1
  87. package/haibun-core-specl.schema.json +42 -0
  88. package/package.json +6 -4
@@ -0,0 +1,129 @@
1
+ import { z } from 'zod';
2
+ import { readFileSync } from 'fs';
3
+ import { ACCESS_LEVELS } from './filter-types.js';
4
+ // ============================================================================
5
+ // Policy File Schema — Hierarchical JSON Schema
6
+ // ============================================================================
7
+ const DenyRuleSchema = z.object({
8
+ env: z.string().optional(),
9
+ dir: z.string().optional(),
10
+ access: z.enum(ACCESS_LEVELS).optional(),
11
+ });
12
+ /**
13
+ * Validates the policy file structure itself.
14
+ * The structure now mimics TFilterConfig (env + dirFilters array).
15
+ */
16
+ const PolicyFileSchema = z.object({
17
+ type: z.literal('object').default('object'),
18
+ properties: z.object({
19
+ env: z.object({
20
+ type: z.literal('string').default('string'),
21
+ enum: z.array(z.string()).min(1, 'At least one environment required'),
22
+ }).passthrough(),
23
+ dirFilters: z.object({
24
+ type: z.literal('array').default('array'),
25
+ items: z.object({
26
+ type: z.literal('object').default('object'),
27
+ properties: z.object({
28
+ dir: z.object({
29
+ type: z.literal('string').default('string'),
30
+ enum: z.array(z.string()).min(1, 'At least one directory required'),
31
+ }).passthrough(),
32
+ access: z.object({
33
+ type: z.literal('string').default('string'),
34
+ enum: z.array(z.enum(ACCESS_LEVELS)).optional(),
35
+ }).passthrough().optional()
36
+ }).passthrough(),
37
+ required: z.array(z.string()).optional()
38
+ }).passthrough()
39
+ }).passthrough()
40
+ }).passthrough(),
41
+ deny: z.array(DenyRuleSchema).default([]),
42
+ }).passthrough();
43
+ // ============================================================================
44
+ // Validation — Hierarchical Object Validation
45
+ // ============================================================================
46
+ /**
47
+ * Build a Zod validator for the entire TFilterConfig based on the policy.
48
+ * This validator checks the whole config object at once ("wholesale validation").
49
+ */
50
+ export function buildConfigValidator(policy) {
51
+ const validEnvs = policy.properties.env.enum;
52
+ // Extract enums from nested structure: properties.dirFilters.items.properties.dir.enum
53
+ const validDirs = policy.properties.dirFilters.items.properties.dir.enum;
54
+ const ConfigValidator = z.object({
55
+ env: z.enum(validEnvs),
56
+ dirFilters: z.array(z.object({
57
+ dir: z.enum(validDirs),
58
+ access: z.enum(ACCESS_LEVELS),
59
+ })),
60
+ // Allow extra properties like schemaPath or $schema
61
+ }).passthrough();
62
+ // Apply deny rules via superRefine on the whole object
63
+ return ConfigValidator.superRefine((data, ctx) => {
64
+ // Check each directory filter against all deny rules
65
+ // data.dirFilters is available because ConfigValidator ensures it exists (or Zod parse fails before here)
66
+ if (!data.dirFilters)
67
+ return;
68
+ data.dirFilters.forEach((filter, index) => {
69
+ const flat = { env: data.env, dir: filter.dir, access: filter.access };
70
+ for (const rule of policy.deny) {
71
+ const match = (!rule.env || rule.env === flat.env)
72
+ && (!rule.dir || rule.dir === flat.dir)
73
+ && (!rule.access || rule.access === flat.access);
74
+ if (match) {
75
+ ctx.addIssue({
76
+ code: 'custom',
77
+ path: ['dirFilters', index],
78
+ message: `Denied by policy: ${JSON.stringify(rule)}`,
79
+ });
80
+ }
81
+ }
82
+ });
83
+ });
84
+ }
85
+ /** Load and parse a policy file */
86
+ export function loadFilterPolicy(schemaPath) {
87
+ let raw;
88
+ try {
89
+ raw = readFileSync(schemaPath, 'utf-8');
90
+ }
91
+ catch (err) {
92
+ throw new Error(`Cannot read filter schema "${schemaPath}": ${err.message}`);
93
+ }
94
+ return PolicyFileSchema.parse(JSON.parse(raw));
95
+ }
96
+ /**
97
+ * Validate a runtime config against a loaded policy.
98
+ * Uses the generated Zod validator to check the config wholesale.
99
+ */
100
+ export function validateFilterConfig(config, policy, schemaPath) {
101
+ const validator = buildConfigValidator(policy);
102
+ const objectToValidate = { $schema: schemaPath, ...config };
103
+ const result = validator.safeParse(objectToValidate);
104
+ if (!result.success) {
105
+ return result.error.issues.map((issue) => {
106
+ // Improve error message context
107
+ if (issue.path[0] === 'dirFilters' && typeof issue.path[1] === 'number') {
108
+ const idx = issue.path[1];
109
+ const f = config.dirFilters[idx];
110
+ const filterStr = f ? `${f.dir}:${f.access}` : 'unknown';
111
+ const reason = issue.message.replace(/Expected .*, received/, 'Invalid').replace(/'/g, '"');
112
+ return `Filter "${filterStr}" in "${config.env}": ${reason}`;
113
+ }
114
+ return issue.message;
115
+ });
116
+ }
117
+ return [];
118
+ }
119
+ /** Load schema, validate config, throw on failure. */
120
+ export function loadAndValidateFilters(config, schemaPath) {
121
+ const policy = loadFilterPolicy(schemaPath);
122
+ const errors = validateFilterConfig(config, policy, schemaPath);
123
+ if (errors.length > 0) {
124
+ const jsonContext = JSON.stringify({ $schema: schemaPath, ...config }, null, 2);
125
+ throw new Error(`Filter validation failed:\n${jsonContext}\n\nErrors:\n${errors.map((e) => ` • ${e}`).join('\n')}`);
126
+ }
127
+ return policy;
128
+ }
129
+ //# sourceMappingURL=filter-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-schema.js","sourceRoot":"","sources":["../../src/runfilter/filter-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod';
2
+ /** CLI option name for run-policy */
3
+ export declare const OPTION_RUN_POLICY = "--run-policy";
4
+ /** CLI option for dry-run mode (preview which features pass/fail the run policy) */
5
+ export declare const OPTION_DRY_RUN = "--dry-run";
6
+ /** Environment variable for run-policy (format: "env dir:access[,dir:access]") */
7
+ export declare const HAIBUN_RUN_POLICY = "HAIBUN_RUN_POLICY";
8
+ /** Valid access levels, forming a strict hierarchy: r ⊂ a ⊂ w */
9
+ export declare const ACCESS_LEVELS: readonly ["r", "a", "w"];
10
+ /** Feature filename prefixes corresponding to access levels */
11
+ export declare const ACCESS_PREFIXES: readonly ["r_", "a_", "w_"];
12
+ export declare const AccessLevelSchema: z.ZodEnum<{
13
+ r: "r";
14
+ a: "a";
15
+ w: "w";
16
+ }>;
17
+ export type AccessLevel = z.infer<typeof AccessLevelSchema>;
18
+ export type TDirFilter = {
19
+ dir: string;
20
+ access: string;
21
+ };
22
+ export type TRunPolicyConfig = {
23
+ env: string;
24
+ dirFilters: TDirFilter[];
25
+ };
26
+ /** Parses "smoke:r" → { dir: "smoke", access: "r" } */
27
+ export declare const DirFilterSchema: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<{
28
+ dir: string;
29
+ access: string;
30
+ }, string>>, z.ZodObject<{
31
+ dir: z.ZodString;
32
+ access: z.ZodString;
33
+ }, z.core.$strip>>;
34
+ /** Parse dir:access[,dir:access] string */
35
+ export declare function parseDirFilters(input: string): TDirFilter[];
36
+ export declare const RunPolicyConfigSchema: z.ZodPipe<z.ZodObject<{
37
+ env: z.ZodString;
38
+ dirAccessStr: z.ZodString;
39
+ }, z.core.$strip>, z.ZodTransform<TRunPolicyConfig, {
40
+ env: string;
41
+ dirAccessStr: string;
42
+ }>>;
43
+ /** Parse --run-policy arguments: env dir:access[,dir:access] */
44
+ export declare function parseRunPolicyArgs(env: string, dirAccessStr: string): TRunPolicyConfig;
45
+ /** Parse HAIBUN_RUN_POLICY env var: "env dir:access[,dir:access]" */
46
+ export declare function parseRunPolicyEnv(envVar: string): TRunPolicyConfig;
47
+ /** Numeric rank for hierarchy comparison: r=0, a=1, w=2 */
48
+ export declare function accessRank(level: string): number;
49
+ /** Check if granted level includes required level (w ⊃ a ⊃ r) */
50
+ export declare function accessLevelIncludes(granted: string, required: string): boolean;
51
+ /** Extract access prefix from feature filename, or undefined if unrecognized */
52
+ export declare function getFeatureAccessPrefix(filename: string): AccessLevel | undefined;
53
+ /**
54
+ * Determine if a feature file should run given the active dir filters.
55
+ * Exclusive: only features with a recognized prefix in a listed directory pass.
56
+ */
57
+ export declare function featureMatchesFilter(featurePath: string, dirFilters: TDirFilter[]): boolean;
58
+ //# sourceMappingURL=filter-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-types.d.ts","sourceRoot":"","sources":["../../src/runfilter/filter-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD,oFAAoF;AACpF,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,iEAAiE;AACjE,eAAO,MAAM,aAAa,0BAA2B,CAAC;AAEtD,+DAA+D;AAC/D,eAAO,MAAM,eAAe,6BAA8B,CAAC;AAQ3D,eAAO,MAAM,iBAAiB;;;;EAAwB,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,eAAe;;;;;;kBASiD,CAAC;AAE9E,2CAA2C;AAC3C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAE3D;AAED,eAAO,MAAM,qBAAqB;;;;;;GAMhC,CAAC;AAMH,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,gBAAgB,CAUtF;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAMlE;AAMD,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGhF;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAY3F"}
@@ -0,0 +1,102 @@
1
+ import { z } from 'zod';
2
+ // ============================================================================
3
+ // Constants
4
+ // ============================================================================
5
+ /** CLI option name for run-policy */
6
+ export const OPTION_RUN_POLICY = '--run-policy';
7
+ /** CLI option for dry-run mode (preview which features pass/fail the run policy) */
8
+ export const OPTION_DRY_RUN = '--dry-run';
9
+ /** Environment variable for run-policy (format: "env dir:access[,dir:access]") */
10
+ export const HAIBUN_RUN_POLICY = 'HAIBUN_RUN_POLICY';
11
+ /** Valid access levels, forming a strict hierarchy: r ⊂ a ⊂ w */
12
+ export const ACCESS_LEVELS = ['r', 'a', 'w'];
13
+ /** Feature filename prefixes corresponding to access levels */
14
+ export const ACCESS_PREFIXES = ['r_', 'a_', 'w_'];
15
+ // ============================================================================
16
+ // Zod Schemas — types are inferred, parsing via transforms
17
+ // ============================================================================
18
+ // Basic types
19
+ const InputAccessLevelSchema = z.string();
20
+ export const AccessLevelSchema = z.enum(ACCESS_LEVELS);
21
+ /** Parses "smoke:r" → { dir: "smoke", access: "r" } */
22
+ export const DirFilterSchema = z.string()
23
+ .transform((val, ctx) => {
24
+ const parts = val.split(':');
25
+ if (parts.length !== 2) {
26
+ ctx.addIssue({ code: z.ZodIssueCode.custom, message: `Invalid filter format "${val}". Expected "dir:access"` });
27
+ return z.NEVER;
28
+ }
29
+ return { dir: parts[0], access: parts[1] };
30
+ })
31
+ .pipe(z.object({ dir: z.string().min(1), access: InputAccessLevelSchema }));
32
+ /** Parse dir:access[,dir:access] string */
33
+ export function parseDirFilters(input) {
34
+ return input.split(',').map(s => DirFilterSchema.parse(s));
35
+ }
36
+ export const RunPolicyConfigSchema = z.object({
37
+ env: z.string().min(1),
38
+ dirAccessStr: z.string(),
39
+ }).transform((data) => {
40
+ const dirFilters = parseDirFilters(data.dirAccessStr);
41
+ return { env: data.env, dirFilters };
42
+ });
43
+ // ============================================================================
44
+ // Parsing — thin wrappers delegating to Zod
45
+ // ============================================================================
46
+ /** Parse --run-policy arguments: env dir:access[,dir:access] */
47
+ export function parseRunPolicyArgs(env, dirAccessStr) {
48
+ try {
49
+ return RunPolicyConfigSchema.parse({ env, dirAccessStr });
50
+ }
51
+ catch (e) {
52
+ if (e instanceof z.ZodError) {
53
+ const detail = e.issues.map((i) => ` • ${i.path.join('.')}: ${i.message}`).join('\n');
54
+ throw new Error(`Run policy configuration failed:\n${detail}`);
55
+ }
56
+ throw e;
57
+ }
58
+ }
59
+ /** Parse HAIBUN_RUN_POLICY env var: "env dir:access[,dir:access]" */
60
+ export function parseRunPolicyEnv(envVar) {
61
+ const parts = envVar.trim().split(/\s+/);
62
+ if (parts.length !== 2) {
63
+ throw new Error(`Invalid format. Expected "env dir:access"`);
64
+ }
65
+ return parseRunPolicyArgs(parts[0], parts[1]);
66
+ }
67
+ // ============================================================================
68
+ // Access Level Logic — minimal procedural (pure domain logic)
69
+ // ============================================================================
70
+ /** Numeric rank for hierarchy comparison: r=0, a=1, w=2 */
71
+ export function accessRank(level) {
72
+ return ACCESS_LEVELS.indexOf(level);
73
+ }
74
+ /** Check if granted level includes required level (w ⊃ a ⊃ r) */
75
+ export function accessLevelIncludes(granted, required) {
76
+ return accessRank(granted) >= accessRank(required);
77
+ }
78
+ /** Extract access prefix from feature filename, or undefined if unrecognized */
79
+ export function getFeatureAccessPrefix(filename) {
80
+ const result = AccessLevelSchema.safeParse(filename.charAt(0));
81
+ return result.success && filename.charAt(1) === '_' ? result.data : undefined;
82
+ }
83
+ // ============================================================================
84
+ // Feature Matching — runtime matching (must be procedural)
85
+ // ============================================================================
86
+ /**
87
+ * Determine if a feature file should run given the active dir filters.
88
+ * Exclusive: only features with a recognized prefix in a listed directory pass.
89
+ */
90
+ export function featureMatchesFilter(featurePath, dirFilters) {
91
+ const parts = featurePath.replace(/^\//, '').split('/');
92
+ const filename = parts[parts.length - 1];
93
+ const featureDir = parts.length > 1 ? parts[0] : undefined;
94
+ const requiredAccess = getFeatureAccessPrefix(filename);
95
+ if (!requiredAccess)
96
+ return false;
97
+ const matchingFilter = dirFilters.find((f) => f.dir === featureDir);
98
+ if (!matchingFilter)
99
+ return false;
100
+ return accessLevelIncludes(matchingFilter.access, requiredAccess);
101
+ }
102
+ //# sourceMappingURL=filter-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-types.js","sourceRoot":"","sources":["../../src/runfilter/filter-types.ts"],"names":[],"mappings":"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"}
package/build/runner.d.ts CHANGED
@@ -4,11 +4,8 @@ import { AStepper } from './lib/astepper.js';
4
4
  import { TFeaturesBackgrounds } from './phases/collector.js';
5
5
  export declare class Runner {
6
6
  private world;
7
- private result;
8
7
  steppers: AStepper[];
9
8
  constructor(world: TWorld);
10
- private errorBail;
11
- run(steppers: string[], featureFilter?: string[]): Promise<TExecutorResult>;
12
9
  runFeaturesAndBackgrounds(csteppers: CStepper[], featuresBackgrounds: TFeaturesBackgrounds): Promise<TExecutorResult>;
13
10
  }
14
11
  //# sourceMappingURL=runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAgB,MAAM,mBAAmB,CAAC;AAI3D,OAAO,EAA6B,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIxF,qBAAa,MAAM;IAIN,OAAO,CAAC,KAAK;IAHzB,OAAO,CAAC,MAAM,CAA8B;IAC5C,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBAED,KAAK,EAAE,MAAM;IAEjC,OAAO,CAAC,SAAS,CAUf;IAEI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,aAAa,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAwB/E,yBAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,mBAAmB,EAAE,oBAAoB;CA4BhG"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAgB,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK7D,qBAAa,MAAM;IAEN,OAAO,CAAC,KAAK;IADzB,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACD,KAAK,EAAE,MAAM;IAE3B,yBAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,mBAAmB,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;CA+B3H"}
package/build/runner.js CHANGED
@@ -1,73 +1,40 @@
1
1
  import { StepperKinds } from './lib/astepper.js';
2
2
  import { expand } from './lib/features.js';
3
- import { verifyRequiredOptions, verifyExtraOptions, createSteppers, setStepperWorldsAndDomains } from './lib/util/index.js';
4
- import { getSteppers } from './lib/util/workspace-lib.js';
5
- import { getFeaturesAndBackgrounds } from './phases/collector.js';
3
+ import { createSteppers, setStepperWorldsAndDomains } from './lib/util/index.js';
6
4
  import { Executor } from './phases/Executor.js';
7
5
  import { Resolver } from './phases/Resolver.js';
6
+ import { PhaseBailError, PhaseRunner } from './lib/PhaseRunner.js';
8
7
  export class Runner {
9
8
  world;
10
- result = undefined;
11
9
  steppers;
12
10
  constructor(world) {
13
11
  this.world = world;
14
12
  }
15
- errorBail = (phase, error, details) => {
16
- this.result = {
17
- ok: false,
18
- shared: this.world.shared,
19
- tag: this.world.tag,
20
- failure: { stage: phase, error: { message: error.message, details: { stack: error.stack, details } } },
21
- steppers: this.steppers
22
- };
23
- // console.error(error.stack);
24
- throw Error(error);
25
- };
26
- async run(steppers, featureFilter = []) {
27
- let featuresBackgrounds = undefined;
28
- try {
29
- featuresBackgrounds = await getFeaturesAndBackgrounds(this.world.bases, featureFilter);
30
- }
31
- catch (error) {
32
- this.errorBail('Collector', error);
33
- }
34
- const csteppers = await getSteppers(steppers).catch((error) => this.errorBail('Steppers', error));
35
- try {
36
- verifyRequiredOptions(csteppers, this.world.moduleOptions);
37
- }
38
- catch (error) {
39
- this.errorBail('RequiredOptions', error);
40
- }
41
- try {
42
- verifyExtraOptions(this.world.moduleOptions, csteppers);
43
- }
44
- catch (error) {
45
- this.errorBail('ExtraOptions', error);
46
- }
47
- const featureResults = await this.runFeaturesAndBackgrounds(csteppers, featuresBackgrounds);
48
- return featureResults;
49
- }
50
13
  async runFeaturesAndBackgrounds(csteppers, featuresBackgrounds) {
14
+ const phaseRunner = new PhaseRunner(this.world);
51
15
  try {
52
- this.steppers = createSteppers(csteppers);
53
- await setStepperWorldsAndDomains(this.steppers, this.world);
16
+ this.steppers = await phaseRunner.tryPhase('Steppers', () => createSteppers(csteppers));
17
+ phaseRunner.steppers = this.steppers;
18
+ await phaseRunner.tryPhase('WorldsAndDomains', () => setStepperWorldsAndDomains(this.steppers, this.world));
54
19
  // Auto-suppress NDJSON output if any monitor stepper is configured
55
- if (this.steppers.some(s => s.kind === StepperKinds.MONITOR) && this.world.eventLogger) {
56
- this.world.eventLogger.suppressConsole = true;
57
- }
58
- // Make backgrounds available at runtime for inline `Backgrounds:` expansion
59
- this.world.runtime.backgrounds = featuresBackgrounds.backgrounds;
60
- const expandedFeatures = await expand(featuresBackgrounds).catch((error) => this.errorBail('Expand', error));
20
+ await phaseRunner.tryPhase('Options', () => {
21
+ if (this.steppers.some(s => s.kind === StepperKinds.MONITOR) && this.world.eventLogger) {
22
+ this.world.eventLogger.suppressConsole = true;
23
+ }
24
+ // Make backgrounds available at runtime for inline `Backgrounds:` expansion
25
+ this.world.runtime.backgrounds = featuresBackgrounds.backgrounds;
26
+ });
27
+ const expandedFeatures = await phaseRunner.tryPhase('Expand', () => expand(featuresBackgrounds));
61
28
  const resolver = new Resolver(this.steppers, featuresBackgrounds.backgrounds);
62
- const resolvedFeatures = await resolver.resolveStepsFromFeatures(expandedFeatures).catch((error) => this.errorBail('Resolve', error));
63
- this.result = await Executor.executeFeatures(this.steppers, this.world, resolvedFeatures).catch((error) => this.errorBail('Execute', error));
29
+ const resolvedFeatures = await phaseRunner.tryPhase('Resolve', () => resolver.resolveStepsFromFeatures(expandedFeatures));
30
+ return await phaseRunner.tryPhase('Execute', () => Executor.executeFeatures(this.steppers, this.world, resolvedFeatures));
64
31
  }
65
32
  catch (error) {
66
- if (!this.result) {
67
- this.errorBail('catch', error);
33
+ if (error instanceof PhaseBailError) {
34
+ return error.result;
68
35
  }
36
+ throw error;
69
37
  }
70
- return this.result;
71
38
  }
72
39
  }
73
40
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,OAAO,MAAM;IAEE;IADpB,QAAQ,CAAa;IACrB,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAI,CAAC;IAEtC,KAAK,CAAC,yBAAyB,CAAC,SAAqB,EAAE,mBAAyC;QAC/F,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,CAAC;YACJ,IAAI,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;YACxF,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAErC,MAAM,WAAW,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAE5G,mEAAmE;YACnE,MAAM,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;gBAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBACxF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC/C,CAAC;gBACD,4EAA4E;gBAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAEjG,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC9E,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAE1H,OAAO,MAAM,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3H,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC,MAAM,CAAC;YACrB,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;CACD"}
@@ -1023,8 +1023,8 @@ export declare const ControlEvent: z.ZodObject<{
1023
1023
  }>>;
1024
1024
  kind: z.ZodLiteral<"control">;
1025
1025
  signal: z.ZodEnum<{
1026
- fail: "fail";
1027
1026
  step: "step";
1027
+ fail: "fail";
1028
1028
  continue: "continue";
1029
1029
  retry: "retry";
1030
1030
  next: "next";
@@ -1408,8 +1408,8 @@ export declare const HaibunEvent: z.ZodUnion<readonly [z.ZodUnion<readonly [z.Zo
1408
1408
  }>>;
1409
1409
  kind: z.ZodLiteral<"control">;
1410
1410
  signal: z.ZodEnum<{
1411
- fail: "fail";
1412
1411
  step: "step";
1412
+ fail: "fail";
1413
1413
  continue: "continue";
1414
1414
  retry: "retry";
1415
1415
  next: "next";
@@ -50,7 +50,7 @@ export declare class ActivitiesStepper extends AStepper implements IHasCycles {
50
50
  readonly precludes: ["ActivitiesStepper.waypointLabel"];
51
51
  readonly action: ({ proof }: {
52
52
  proof: TFeatureStep[];
53
- }, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TOKActionResult | import("../schema/protocol.js").TNotOKActionResult>;
53
+ }, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult>;
54
54
  };
55
55
  readonly waypointLabel: {
56
56
  readonly gwta: "waypoint {outcome}";
@@ -62,7 +62,7 @@ export declare class ActivitiesStepper extends AStepper implements IHasCycles {
62
62
  readonly unique: true;
63
63
  readonly action: ({ outcome }: {
64
64
  outcome: TFeatureStep[];
65
- }, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TOKActionResult | import("../schema/protocol.js").TNotOKActionResult>;
65
+ }, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult>;
66
66
  };
67
67
  readonly showWaypoints: {
68
68
  readonly exact: "show waypoints";
@@ -80,7 +80,7 @@ export declare class ActivitiesStepper extends AStepper implements IHasCycles {
80
80
  readonly precludes: ["ActivitiesStepper.waypointLabel"];
81
81
  readonly action: ({ proof }: {
82
82
  proof: TFeatureStep[];
83
- }, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TOKActionResult | import("../schema/protocol.js").TNotOKActionResult>;
83
+ }, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult>;
84
84
  };
85
85
  readonly waypointLabel: {
86
86
  readonly gwta: "waypoint {outcome}";
@@ -92,7 +92,7 @@ export declare class ActivitiesStepper extends AStepper implements IHasCycles {
92
92
  readonly unique: true;
93
93
  readonly action: ({ outcome }: {
94
94
  outcome: TFeatureStep[];
95
- }, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TOKActionResult | import("../schema/protocol.js").TNotOKActionResult>;
95
+ }, featureStep: TFeatureStep) => Promise<import("../schema/protocol.js").TNotOKActionResult | import("../schema/protocol.js").TOKActionResult>;
96
96
  };
97
97
  readonly showWaypoints: {
98
98
  readonly exact: "show waypoints";
@@ -1 +1 @@
1
- {"version":3,"file":"activities-stepper.d.ts","sourceRoot":"","sources":["../../src/steps/activities-stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAa,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAiB,SAAS,EAA2B,MAAM,uBAAuB,CAAC;AAO1F,KAAK,qBAAqB,GAAG;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,iBAAiB,EAAE,YAAY,CAAC;IAChC,aAAa,EAAE,YAAY,CAAC;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,KAAK,uBAAuB,GAAG,aAAa,GAAG,qBAAqB,CAAC;AAErE;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,QAAS,YAAW,UAAU;IACpE,WAAW,SAA2D;IAEtE,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,yBAAyB,CAA0B;IAC3D,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,gBAAgB,CAA+D;IACvF,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,yBAAyB,CAA2J;IAC5L,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,eAAe,CAAS;IAEhC,MAAM,EAAE,cAAc,CAiCrB;IACD,UAAU;;;MAGT;IAED;;;OAGG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA2B1C,uBAAuB,IAAI,IAAI;IAK/B,QAAQ,CAAC,SAAS;;;;gDAIW,MAAM,QAAQ,MAAM,YAAY,QAAQ,gBAAgB,SAAS,aAAa,MAAM,EAAE,cAAc,MAAM,qBAAqB,MAAM;;;;;yCAiDtI;gBAAE,KAAK,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY;;;;;;;;;;2CAuBlD;gBAAE,OAAO,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY;;;;6DAsF/C,YAAY;;MA2BN;IAE3C,QAAQ,CAAC,UAAU;;;;gDA3LU,MAAM,QAAQ,MAAM,YAAY,QAAQ,gBAAgB,SAAS,aAAa,MAAM,EAAE,cAAc,MAAM,qBAAqB,MAAM;;;;;yCAiDtI;gBAAE,KAAK,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY;;;;;;;;;;2CAuBlD;gBAAE,OAAO,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY;;;;6DAsF/C,YAAY;;MA6BZ;IAErC,KAAK,EAAE,uBAAuB,CAAyB;IAEjD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAKlD,OAAO,CAAC,aAAa;IAgBrB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAsHnM,qBAAqB,IAAI,IAAI;IAoB7B,OAAO,CAAC,qBAAqB;CAqE7B;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"activities-stepper.d.ts","sourceRoot":"","sources":["../../src/steps/activities-stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAa,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAiB,SAAS,EAA2B,MAAM,uBAAuB,CAAC;AAO1F,KAAK,qBAAqB,GAAG;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,iBAAiB,EAAE,YAAY,CAAC;IAChC,aAAa,EAAE,YAAY,CAAC;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,KAAK,uBAAuB,GAAG,aAAa,GAAG,qBAAqB,CAAC;AAErE;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,QAAS,YAAW,UAAU;IACpE,WAAW,SAA2D;IAEtE,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,yBAAyB,CAA0B;IAC3D,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,gBAAgB,CAA+D;IACvF,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,yBAAyB,CAA2J;IAC5L,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,eAAe,CAAS;IAEhC,MAAM,EAAE,cAAc,CAiCrB;IACD,UAAU;;;MAGT;IAED;;;OAGG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA2B1C,uBAAuB,IAAI,IAAI;IAK/B,QAAQ,CAAC,SAAS;;;;gDAIW,MAAM,QAAQ,MAAM,YAAY,QAAQ,gBAAgB,SAAS,aAAa,MAAM,EAAE,cAAc,MAAM,qBAAqB,MAAM;;;;;yCAiDtI;gBAAE,KAAK,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY;;;;;;;;;;2CAuBlD;gBAAE,OAAO,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY;;;;6DAqF/C,YAAY;;MA2BN;IAE3C,QAAQ,CAAC,UAAU;;;;gDA1LU,MAAM,QAAQ,MAAM,YAAY,QAAQ,gBAAgB,SAAS,aAAa,MAAM,EAAE,cAAc,MAAM,qBAAqB,MAAM;;;;;yCAiDtI;gBAAE,KAAK,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY;;;;;;;;;;2CAuBlD;gBAAE,OAAO,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY;;;;6DAqF/C,YAAY;;MA6BZ;IAErC,KAAK,EAAE,uBAAuB,CAAyB;IAEjD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAKlD,OAAO,CAAC,aAAa;IAerB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAsHnM,qBAAqB,IAAI,IAAI;IAoB7B,OAAO,CAAC,qBAAqB;CAqE7B;AAED,eAAe,iBAAiB,CAAC"}
@@ -174,7 +174,6 @@ export class ActivitiesStepper extends AStepper {
174
174
  id: formatCurrentSeqPath(featureStep.seqPath) + '.ensure',
175
175
  timestamp: Date.now(),
176
176
  kind: 'lifecycle',
177
- completeness: 'full',
178
177
  type: 'ensure',
179
178
  stage: 'start',
180
179
  in: outcomeKey,
@@ -263,7 +262,6 @@ export class ActivitiesStepper extends AStepper {
263
262
  id: formatCurrentSeqPath(featureStep.seqPath) + '.ensure',
264
263
  timestamp: Date.now(),
265
264
  kind: 'lifecycle',
266
- completeness: 'full',
267
265
  type: 'ensure',
268
266
  stage: 'end',
269
267
  in: outcomeKey,
@@ -1 +1 @@
1
- {"version":3,"file":"activities-stepper.js","sourceRoot":"","sources":["../../src/steps/activities-stepper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activities-stepper.js","sourceRoot":"","sources":["../../src/steps/activities-stepper.ts"],"names":[],"mappings":"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"}