@haibun/core 3.5.0 → 3.7.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 (101) hide show
  1. package/build/currentVersion.d.ts +1 -1
  2. package/build/currentVersion.js +1 -2
  3. package/build/lib/EventLogger.d.ts +0 -2
  4. package/build/lib/EventLogger.d.ts.map +1 -1
  5. package/build/lib/EventLogger.js +1 -2
  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 +1 -0
  12. package/build/lib/defs.d.ts.map +1 -1
  13. package/build/lib/defs.js.map +1 -1
  14. package/build/lib/feature-variables.d.ts +1 -19
  15. package/build/lib/feature-variables.d.ts.map +1 -1
  16. package/build/lib/feature-variables.js +3 -31
  17. package/build/lib/feature-variables.js.map +1 -1
  18. package/build/lib/filter-schema.d.ts +49 -0
  19. package/build/lib/filter-schema.d.ts.map +1 -0
  20. package/build/lib/filter-schema.js +104 -0
  21. package/build/lib/filter-schema.js.map +1 -0
  22. package/build/lib/filter-types.d.ts +71 -0
  23. package/build/lib/filter-types.d.ts.map +1 -0
  24. package/build/lib/filter-types.js +121 -0
  25. package/build/lib/filter-types.js.map +1 -0
  26. package/build/lib/monitor-event-collector.d.ts +16 -0
  27. package/build/lib/monitor-event-collector.d.ts.map +1 -0
  28. package/build/lib/monitor-event-collector.js +26 -0
  29. package/build/lib/monitor-event-collector.js.map +1 -0
  30. package/build/lib/secrets.d.ts +17 -0
  31. package/build/lib/secrets.d.ts.map +1 -0
  32. package/build/lib/secrets.js +46 -0
  33. package/build/lib/secrets.js.map +1 -0
  34. package/build/lib/util/actualURI.d.ts +1 -1
  35. package/build/lib/util/actualURI.d.ts.map +1 -1
  36. package/build/phases/Executor.d.ts.map +1 -1
  37. package/build/phases/Executor.js +0 -2
  38. package/build/phases/Executor.js.map +1 -1
  39. package/build/phases/collector.d.ts +3 -2
  40. package/build/phases/collector.d.ts.map +1 -1
  41. package/build/phases/collector.js +19 -7
  42. package/build/phases/collector.js.map +1 -1
  43. package/build/run-policy/run-policy-schema.d.ts +76 -0
  44. package/build/run-policy/run-policy-schema.d.ts.map +1 -0
  45. package/build/run-policy/run-policy-schema.js +124 -0
  46. package/build/run-policy/run-policy-schema.js.map +1 -0
  47. package/build/run-policy/run-policy-types.d.ts +58 -0
  48. package/build/run-policy/run-policy-types.d.ts.map +1 -0
  49. package/build/run-policy/run-policy-types.js +102 -0
  50. package/build/run-policy/run-policy-types.js.map +1 -0
  51. package/build/runfilter/filter-schema.d.ts +76 -0
  52. package/build/runfilter/filter-schema.d.ts.map +1 -0
  53. package/build/runfilter/filter-schema.js +129 -0
  54. package/build/runfilter/filter-schema.js.map +1 -0
  55. package/build/runfilter/filter-types.d.ts +58 -0
  56. package/build/runfilter/filter-types.d.ts.map +1 -0
  57. package/build/runfilter/filter-types.js +102 -0
  58. package/build/runfilter/filter-types.js.map +1 -0
  59. package/build/runner.d.ts +0 -3
  60. package/build/runner.d.ts.map +1 -1
  61. package/build/runner.js +19 -52
  62. package/build/runner.js.map +1 -1
  63. package/build/steps/activities-stepper.d.ts.map +1 -1
  64. package/build/steps/activities-stepper.js +0 -2
  65. package/build/steps/activities-stepper.js.map +1 -1
  66. package/build/steps/variables-stepper.d.ts.map +1 -1
  67. package/build/steps/variables-stepper.js +1 -2
  68. package/build/steps/variables-stepper.js.map +1 -1
  69. package/package.json +2 -2
  70. package/build/applyEffectFeatures.d.ts +0 -4
  71. package/build/applyEffectFeatures.d.ts.map +0 -1
  72. package/build/applyEffectFeatures.js +0 -34
  73. package/build/applyEffectFeatures.js.map +0 -1
  74. package/build/lib/Logger.d.ts +0 -46
  75. package/build/lib/Logger.d.ts.map +0 -1
  76. package/build/lib/Logger.js +0 -80
  77. package/build/lib/Logger.js.map +0 -1
  78. package/build/lib/TestLogger.d.ts +0 -11
  79. package/build/lib/TestLogger.d.ts.map +0 -1
  80. package/build/lib/TestLogger.js +0 -11
  81. package/build/lib/TestLogger.js.map +0 -1
  82. package/build/lib/Timer.d.ts +0 -7
  83. package/build/lib/Timer.d.ts.map +0 -1
  84. package/build/lib/Timer.js +0 -9
  85. package/build/lib/Timer.js.map +0 -1
  86. package/build/lib/interfaces/logger.d.ts +0 -105
  87. package/build/lib/interfaces/logger.d.ts.map +0 -1
  88. package/build/lib/interfaces/logger.js +0 -18
  89. package/build/lib/interfaces/logger.js.map +0 -1
  90. package/build/lib/util/featureStep-executor.d.ts +0 -6
  91. package/build/lib/util/featureStep-executor.d.ts.map +0 -1
  92. package/build/lib/util/featureStep-executor.js +0 -39
  93. package/build/lib/util/featureStep-executor.js.map +0 -1
  94. package/build/steps/lib/parse.d.ts +0 -4
  95. package/build/steps/lib/parse.d.ts.map +0 -1
  96. package/build/steps/lib/parse.js +0 -42
  97. package/build/steps/lib/parse.js.map +0 -1
  98. package/build/steps/parse.d.ts +0 -25
  99. package/build/steps/parse.d.ts.map +0 -1
  100. package/build/steps/parse.js +0 -31
  101. package/build/steps/parse.js.map +0 -1
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod';
2
+ /** CLI option name for filters */
3
+ export declare const OPTION_FILTERS = "--filters";
4
+ /** Environment variable for filters (format: "schema.json env dir:access,dir:access") */
5
+ export declare const HAIBUN_FILTERS = "HAIBUN_FILTERS";
6
+ /** Valid access levels, forming a strict hierarchy: r ⊂ a ⊂ w */
7
+ export declare const ACCESS_LEVELS: readonly ["r", "a", "w"];
8
+ /** Feature filename prefixes corresponding to access levels */
9
+ export declare const ACCESS_PREFIX_R = "r_";
10
+ export declare const ACCESS_PREFIX_A = "a_";
11
+ export declare const ACCESS_PREFIX_W = "w_";
12
+ export declare const ACCESS_PREFIXES: readonly ["r_", "a_", "w_"];
13
+ export type AccessLevel = (typeof ACCESS_LEVELS)[number];
14
+ export declare const AccessLevelSchema: z.ZodEnum<{
15
+ r: "r";
16
+ a: "a";
17
+ w: "w";
18
+ }>;
19
+ /** A single directory + access pair, e.g. "smoke:r" */
20
+ export type TDirFilter = {
21
+ dir: string;
22
+ access: AccessLevel;
23
+ };
24
+ /** Parsed --filters configuration */
25
+ export type TFilterConfig = {
26
+ schemaPath: string;
27
+ env: string;
28
+ dirFilters: TDirFilter[];
29
+ };
30
+ /**
31
+ * Parse the dir:access,dir:access string into TDirFilter[].
32
+ * E.g. "smoke:r,api:a" → [{ dir: "smoke", access: "r" }, { dir: "api", access: "a" }]
33
+ */
34
+ export declare function parseDirFilters(input: string): TDirFilter[];
35
+ /**
36
+ * Parse --filters arguments: schemaPath env dir:access[,dir:access]
37
+ */
38
+ export declare function parseFilterArgs(schemaPath: string, env: string, dirAccessStr: string): TFilterConfig;
39
+ /**
40
+ * Parse HAIBUN_FILTERS env var value: "schema.json env dir:access,dir:access"
41
+ */
42
+ export declare function parseFilterEnv(value: string): TFilterConfig;
43
+ /**
44
+ * Returns the numeric rank of an access level for comparison.
45
+ * r=0, a=1, w=2
46
+ */
47
+ export declare function accessRank(level: AccessLevel): number;
48
+ /**
49
+ * Check if a granted access level includes the required level.
50
+ * Access levels are cumulative: w includes a includes r.
51
+ */
52
+ export declare function accessLevelIncludes(granted: AccessLevel, required: AccessLevel): boolean;
53
+ /**
54
+ * Extract the access prefix from a feature filename.
55
+ * Returns the access level if the file starts with r_, a_, or w_.
56
+ * Returns undefined for unprefixed/unrecognized files (they will be skipped).
57
+ */
58
+ export declare function getFeatureAccessPrefix(filename: string): AccessLevel | undefined;
59
+ /**
60
+ * Determine if a feature file should run given the active filters.
61
+ *
62
+ * - Unprefixed/unrecognized files are silently skipped (returns false).
63
+ * - Files whose access prefix exceeds the granted level are skipped.
64
+ * - Files in directories not listed in the filters are skipped.
65
+ *
66
+ * @param featurePath - relative path from features root, e.g. "/smoke/r_health.feature"
67
+ * @param dirFilters - active directory filters
68
+ * @returns true if the feature should execute
69
+ */
70
+ export declare function featureMatchesFilter(featurePath: string, dirFilters: TDirFilter[]): boolean;
71
+ //# sourceMappingURL=filter-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-types.d.ts","sourceRoot":"","sources":["../../src/lib/filter-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,kCAAkC;AAClC,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,yFAAyF;AACzF,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,iEAAiE;AACjE,eAAO,MAAM,aAAa,0BAA2B,CAAC;AAEtD,+DAA+D;AAC/D,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,eAAe,6BAA+D,CAAC;AAM5F,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,eAAO,MAAM,iBAAiB;;;;EAAwB,CAAC;AAEvD,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CAAC;AAMF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAY3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,CAUpG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAM3D;AAMD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAExF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAKhF;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAe3F"}
@@ -0,0 +1,121 @@
1
+ import { z } from 'zod';
2
+ // ============================================================================
3
+ // Constants
4
+ // ============================================================================
5
+ /** CLI option name for filters */
6
+ export const OPTION_FILTERS = '--filters';
7
+ /** Environment variable for filters (format: "schema.json env dir:access,dir:access") */
8
+ export const HAIBUN_FILTERS = 'HAIBUN_FILTERS';
9
+ /** Valid access levels, forming a strict hierarchy: r ⊂ a ⊂ w */
10
+ export const ACCESS_LEVELS = ['r', 'a', 'w'];
11
+ /** Feature filename prefixes corresponding to access levels */
12
+ export const ACCESS_PREFIX_R = 'r_';
13
+ export const ACCESS_PREFIX_A = 'a_';
14
+ export const ACCESS_PREFIX_W = 'w_';
15
+ export const ACCESS_PREFIXES = [ACCESS_PREFIX_R, ACCESS_PREFIX_A, ACCESS_PREFIX_W];
16
+ export const AccessLevelSchema = z.enum(ACCESS_LEVELS);
17
+ // ============================================================================
18
+ // Parsing
19
+ // ============================================================================
20
+ /**
21
+ * Parse the dir:access,dir:access string into TDirFilter[].
22
+ * E.g. "smoke:r,api:a" → [{ dir: "smoke", access: "r" }, { dir: "api", access: "a" }]
23
+ */
24
+ export function parseDirFilters(input) {
25
+ return input.split(',').map((pair) => {
26
+ const [dir, accessStr] = pair.split(':');
27
+ if (!dir || !accessStr) {
28
+ throw new Error(`Invalid dir:access pair "${pair}". Expected format: dir:access (e.g. smoke:r)`);
29
+ }
30
+ const parsed = AccessLevelSchema.safeParse(accessStr);
31
+ if (!parsed.success) {
32
+ throw new Error(`Invalid access level "${accessStr}" in "${pair}". Must be one of: ${ACCESS_LEVELS.join(', ')}`);
33
+ }
34
+ return { dir, access: parsed.data };
35
+ });
36
+ }
37
+ /**
38
+ * Parse --filters arguments: schemaPath env dir:access[,dir:access]
39
+ */
40
+ export function parseFilterArgs(schemaPath, env, dirAccessStr) {
41
+ if (!schemaPath)
42
+ throw new Error(`${OPTION_FILTERS} requires a schema path`);
43
+ if (!env)
44
+ throw new Error(`${OPTION_FILTERS} requires an environment`);
45
+ if (!dirAccessStr)
46
+ throw new Error(`${OPTION_FILTERS} requires dir:access pairs`);
47
+ return {
48
+ schemaPath,
49
+ env,
50
+ dirFilters: parseDirFilters(dirAccessStr),
51
+ };
52
+ }
53
+ /**
54
+ * Parse HAIBUN_FILTERS env var value: "schema.json env dir:access,dir:access"
55
+ */
56
+ export function parseFilterEnv(value) {
57
+ const parts = value.trim().split(/\s+/);
58
+ if (parts.length !== 3) {
59
+ throw new Error(`${HAIBUN_FILTERS} must have 3 space-separated parts: "schema env dir:access[,dir:access]" (got ${parts.length})`);
60
+ }
61
+ return parseFilterArgs(parts[0], parts[1], parts[2]);
62
+ }
63
+ // ============================================================================
64
+ // Access Level Logic
65
+ // ============================================================================
66
+ /**
67
+ * Returns the numeric rank of an access level for comparison.
68
+ * r=0, a=1, w=2
69
+ */
70
+ export function accessRank(level) {
71
+ return ACCESS_LEVELS.indexOf(level);
72
+ }
73
+ /**
74
+ * Check if a granted access level includes the required level.
75
+ * Access levels are cumulative: w includes a includes r.
76
+ */
77
+ export function accessLevelIncludes(granted, required) {
78
+ return accessRank(granted) >= accessRank(required);
79
+ }
80
+ /**
81
+ * Extract the access prefix from a feature filename.
82
+ * Returns the access level if the file starts with r_, a_, or w_.
83
+ * Returns undefined for unprefixed/unrecognized files (they will be skipped).
84
+ */
85
+ export function getFeatureAccessPrefix(filename) {
86
+ const match = filename.match(/^([raw])_/);
87
+ if (!match)
88
+ return undefined;
89
+ const parsed = AccessLevelSchema.safeParse(match[1]);
90
+ return parsed.success ? parsed.data : undefined;
91
+ }
92
+ // ============================================================================
93
+ // Feature Matching
94
+ // ============================================================================
95
+ /**
96
+ * Determine if a feature file should run given the active filters.
97
+ *
98
+ * - Unprefixed/unrecognized files are silently skipped (returns false).
99
+ * - Files whose access prefix exceeds the granted level are skipped.
100
+ * - Files in directories not listed in the filters are skipped.
101
+ *
102
+ * @param featurePath - relative path from features root, e.g. "/smoke/r_health.feature"
103
+ * @param dirFilters - active directory filters
104
+ * @returns true if the feature should execute
105
+ */
106
+ export function featureMatchesFilter(featurePath, dirFilters) {
107
+ const parts = featurePath.replace(/^\//, '').split('/');
108
+ const filename = parts[parts.length - 1];
109
+ const featureDir = parts.length > 1 ? parts[0] : undefined;
110
+ // Unrecognized prefix → skip silently
111
+ const requiredAccess = getFeatureAccessPrefix(filename);
112
+ if (!requiredAccess)
113
+ return false;
114
+ // No matching directory filter → skip
115
+ const matchingFilter = dirFilters.find((f) => f.dir === featureDir);
116
+ if (!matchingFilter)
117
+ return false;
118
+ // Check access hierarchy
119
+ return accessLevelIncludes(matchingFilter.access, requiredAccess);
120
+ }
121
+ //# sourceMappingURL=filter-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-types.js","sourceRoot":"","sources":["../../src/lib/filter-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { AStepper, IHasCycles } from './astepper.js';
2
+ import { IStepperCycles } from './defs.js';
3
+ import { THaibunEvent } from '../schema/protocol.js';
4
+ export declare class EventCollectorStepper extends AStepper implements IHasCycles {
5
+ description: string;
6
+ kind: "MONITOR";
7
+ private events;
8
+ steps: {};
9
+ cycles: IStepperCycles;
10
+ getEvents(): THaibunEvent[];
11
+ getStepEvents(): THaibunEvent[];
12
+ findEvents(predicate: (e: THaibunEvent) => boolean): THaibunEvent[];
13
+ clear(): void;
14
+ }
15
+ export default EventCollectorStepper;
16
+ //# sourceMappingURL=monitor-event-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor-event-collector.d.ts","sourceRoot":"","sources":["../../src/lib/monitor-event-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAa,qBAAsB,SAAQ,QAAS,YAAW,UAAU;IACvE,WAAW,SAAyC;IACpD,IAAI,YAAwB;IAE5B,OAAO,CAAC,MAAM,CAAsB;IAEpC,KAAK,KAAM;IAEX,MAAM,EAAE,cAAc,CAIpB;IAEF,SAAS,IAAI,YAAY,EAAE;IAI3B,aAAa,IAAI,YAAY,EAAE;IAI/B,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,YAAY,EAAE;IAGnE,KAAK,IAAI,IAAI;CAGd;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { AStepper, StepperKinds } from './astepper.js';
2
+ export class EventCollectorStepper extends AStepper {
3
+ description = 'Collects events for test inspection';
4
+ kind = StepperKinds.MONITOR;
5
+ events = [];
6
+ steps = {};
7
+ cycles = {
8
+ onEvent: (event) => {
9
+ this.events.push(event);
10
+ }
11
+ };
12
+ getEvents() {
13
+ return [...this.events];
14
+ }
15
+ getStepEvents() {
16
+ return this.events.filter(e => 'type' in e && e.type === 'step');
17
+ }
18
+ findEvents(predicate) {
19
+ return this.events.filter(predicate);
20
+ }
21
+ clear() {
22
+ this.events = [];
23
+ }
24
+ }
25
+ export default EventCollectorStepper;
26
+ //# sourceMappingURL=monitor-event-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor-event-collector.js","sourceRoot":"","sources":["../../src/lib/monitor-event-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,YAAY,EAAE,MAAM,eAAe,CAAC;AAInE,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,WAAW,GAAG,qCAAqC,CAAC;IACpD,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC;IAEpB,MAAM,GAAmB,EAAE,CAAC;IAEpC,KAAK,GAAG,EAAE,CAAC;IAEX,MAAM,GAAmB;QACvB,OAAO,EAAE,CAAC,KAAmB,EAAE,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC;IAEF,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,UAAU,CAAC,SAAuC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IACD,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /** Marker type for sanitized objects */
2
+ export type Sanitized<T> = T & {
3
+ readonly __sanitized: unique symbol;
4
+ };
5
+ /**
6
+ * Escapes special regex characters in a string.
7
+ */
8
+ export declare function escapeRegex(s: string): string;
9
+ /**
10
+ * Replaces all occurrences of secret values in text with OBSCURED_VALUE.
11
+ */
12
+ export declare function replaceSecrets(text: string, secrets: string[]): string;
13
+ /**
14
+ * Sanitizes an object by recursively replacing all secret values.
15
+ */
16
+ export declare function sanitizeObject<T>(obj: T, secrets: string[]): Sanitized<T>;
17
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/lib/secrets.ts"],"names":[],"mappings":"AAEA,wCAAwC;AACxC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAEvE;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAQtE;AAuBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAEzE"}
@@ -0,0 +1,46 @@
1
+ import { OBSCURED_VALUE } from './feature-variables.js';
2
+ /**
3
+ * Escapes special regex characters in a string.
4
+ */
5
+ export function escapeRegex(s) {
6
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
7
+ }
8
+ /**
9
+ * Replaces all occurrences of secret values in text with OBSCURED_VALUE.
10
+ */
11
+ export function replaceSecrets(text, secrets) {
12
+ let result = text;
13
+ for (const secret of secrets) {
14
+ if (secret && secret.length > 0) {
15
+ result = result.replace(new RegExp(escapeRegex(secret), 'g'), OBSCURED_VALUE);
16
+ }
17
+ }
18
+ return result;
19
+ }
20
+ /**
21
+ * Recursively sanitizes a value by replacing secret strings.
22
+ * Handles primitives, arrays, and plain objects.
23
+ */
24
+ function sanitizeValue(value, secrets) {
25
+ if (typeof value === 'string') {
26
+ return replaceSecrets(value, secrets);
27
+ }
28
+ if (Array.isArray(value)) {
29
+ return value.map(v => sanitizeValue(v, secrets));
30
+ }
31
+ if (value !== null && typeof value === 'object') {
32
+ const result = {};
33
+ for (const [k, v] of Object.entries(value)) {
34
+ result[k] = sanitizeValue(v, secrets);
35
+ }
36
+ return result;
37
+ }
38
+ return value;
39
+ }
40
+ /**
41
+ * Sanitizes an object by recursively replacing all secret values.
42
+ */
43
+ export function sanitizeObject(obj, secrets) {
44
+ return sanitizeValue(obj, secrets);
45
+ }
46
+ //# sourceMappingURL=secrets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/lib/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKxD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAiB;IAC5D,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAI,KAAQ,EAAE,OAAiB;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAM,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAM,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAI,GAAM,EAAE,OAAiB;IACzD,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAiB,CAAC;AACrD,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export declare const HOST_PROJECT_DIR = "HOST_PROJECT_DIR";
2
2
  export declare const containerHostPath: string;
3
- export declare function actualURI(file: string): import("url").URL;
3
+ export declare function actualURI(file: string): import("node:url").URL;
4
4
  //# sourceMappingURL=actualURI.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actualURI.d.ts","sourceRoot":"","sources":["../../../src/lib/util/actualURI.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAG/D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,qBAGrC"}
1
+ {"version":3,"file":"actualURI.d.ts","sourceRoot":"","sources":["../../../src/lib/util/actualURI.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAG/D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,0BAGrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.d.ts","sourceRoot":"","sources":["../../src/phases/Executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAA2E,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAC1L,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAiI,SAAS,EAAmC,QAAQ,EAAqC,MAAM,uBAAuB,CAAC;AAE5T,OAAO,EAAE,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAQ1D,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,WAiBnO;AAGD,qBAAa,QAAQ;IACpB,OAAO,CAAC,MAAM,CAAC,sBAAsB;WA8BxB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;WAyB1G,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;CAkGzH;AAED,qBAAa,eAAe;IACf,OAAO,CAAC,QAAQ;IAAc,OAAO,CAAC,KAAK;IAAU,OAAO,CAAC,WAAW;gBAAhE,QAAQ,EAAE,QAAQ,EAAE,EAAU,KAAK,EAAE,MAAM,EAAU,WAAW,SAAgB;IAG9F,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;WA2EtD,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA+B,GAAG,OAAO,CAAC,WAAW,CAAC;CAuE3J;AAiDD,wBAAgB,UAAU,CAAC,WAAW,EAAE;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAI,GAAG,QAAQ,CAarG"}
1
+ {"version":3,"file":"Executor.d.ts","sourceRoot":"","sources":["../../src/phases/Executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAA2E,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAC1L,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAiI,SAAS,EAAmC,QAAQ,EAAqC,MAAM,uBAAuB,CAAC;AAE5T,OAAO,EAAE,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAQ1D,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,WAiBnO;AAGD,qBAAa,QAAQ;IACpB,OAAO,CAAC,MAAM,CAAC,sBAAsB;WA8BxB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;WAyB1G,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;CAkGzH;AAED,qBAAa,eAAe;IACf,OAAO,CAAC,QAAQ;IAAc,OAAO,CAAC,KAAK;IAAU,OAAO,CAAC,WAAW;gBAAhE,QAAQ,EAAE,QAAQ,EAAE,EAAU,KAAK,EAAE,MAAM,EAAU,WAAW,SAAgB;IAG9F,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;WAyEtD,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA+B,GAAG,OAAO,CAAC,WAAW,CAAC;CAuE3J;AAiDD,wBAAgB,UAAU,CAAC,WAAW,EAAE;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAI,GAAG,QAAQ,CAarG"}
@@ -188,7 +188,6 @@ export class FeatureExecutor {
188
188
  id: `feat-${world.tag.featureNum}`,
189
189
  timestamp: Date.now(),
190
190
  kind: 'lifecycle',
191
- completeness: 'full',
192
191
  type: 'feature',
193
192
  stage: 'start',
194
193
  featurePath: feature.path,
@@ -205,7 +204,6 @@ export class FeatureExecutor {
205
204
  id: `feat-${world.tag.featureNum}.scen-${currentScenario + 1}`,
206
205
  timestamp: Date.now(),
207
206
  kind: 'lifecycle',
208
- completeness: 'full',
209
207
  type: 'scenario',
210
208
  stage: 'start',
211
209
  scenarioName: step.in,
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.js","sourceRoot":"","sources":["../../src/phases/Executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor.js","sourceRoot":"","sources":["../../src/phases/Executor.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { TBase, TFeature } from '../lib/defs.js';
2
2
  import { TFileSystem } from '../lib/util/workspace-lib.js';
3
+ import { type TRunPolicyConfig, type TDirFilter } from '../run-policy/run-policy-types.js';
3
4
  export type TFeaturesBackgrounds = {
4
5
  features: TFeature[];
5
6
  backgrounds: TFeature[];
6
7
  };
7
- export declare function getFeaturesAndBackgrounds(bases: TBase, featureFilter: string[], fs?: TFileSystem): Promise<TFeaturesBackgrounds>;
8
- export declare function shouldProcess(file: string, type: undefined | string, featureFilter: string[] | undefined): boolean;
8
+ export declare function getFeaturesAndBackgrounds(bases: TBase, featureFilter: string[], policyConfig?: TRunPolicyConfig, fs?: TFileSystem): Promise<TFeaturesBackgrounds>;
9
+ export declare function shouldProcess(file: string, type: undefined | string, featureFilter: string[] | undefined, dir?: string, dirFilters?: TDirFilter[]): boolean;
9
10
  export declare function debase(abase: string, features: TFeature[]): {
10
11
  path: string;
11
12
  base: string;
@@ -1 +1 @@
1
- {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/phases/collector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,WAAW,EAAE,QAAQ,EAAE,CAAC;CACzB,CAAC;AAEF,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,GAAE,WAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyB9I;AA0CD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,WASxG;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;;;;;;IAEzD"}
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/phases/collector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAwB,MAAM,mCAAmC,CAAC;AAEjH,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,WAAW,EAAE,QAAQ,EAAE,CAAC;CACzB,CAAC;AAEF,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,gBAAgB,EAAE,EAAE,GAAE,WAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyB/K;AA0CD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,WAqBjJ;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;;;;;;IAEzD"}
@@ -2,7 +2,8 @@ import nodeFS from 'fs';
2
2
  import path from 'path';
3
3
  import { withNameType } from '../lib/features.js';
4
4
  import { toBdd } from '../kireji/converter.js';
5
- export async function getFeaturesAndBackgrounds(bases, featureFilter, fs = nodeFS) {
5
+ import { featureMatchesFilter } from '../run-policy/run-policy-types.js';
6
+ export async function getFeaturesAndBackgrounds(bases, featureFilter, policyConfig, fs = nodeFS) {
6
7
  const ret = { features: [], backgrounds: [] };
7
8
  for (const abase of bases) {
8
9
  // Only filter features, not backgrounds - backgrounds should always be loaded
@@ -12,7 +13,7 @@ export async function getFeaturesAndBackgrounds(bases, featureFilter, fs = nodeF
12
13
  const p = `${t}s`;
13
14
  const checkPath = `${abase}/${p}`;
14
15
  if (fs.existsSync(checkPath)) {
15
- const more = debase(abase, await recurse(abase, `/${p}`, t, ff[t], fs));
16
+ const more = debase(abase, await recurse(abase, `/${p}`, t, ff[t], policyConfig, fs));
16
17
  rawFeaturesAndBackgrounds[p] = rawFeaturesAndBackgrounds[p].concat(more);
17
18
  }
18
19
  }
@@ -27,15 +28,15 @@ export async function getFeaturesAndBackgrounds(bases, featureFilter, fs = nodeF
27
28
  }
28
29
  return ret;
29
30
  }
30
- async function recurse(base, dir, type, featureFilter = undefined, fs = nodeFS) {
31
+ async function recurse(base, dir, type, featureFilter = undefined, policyConfig, fs = nodeFS) {
31
32
  const files = fs.readdirSync(`${base}${dir}`);
32
33
  let all = [];
33
34
  for (const file of files) {
34
35
  const here = `${base}${dir}/${file}`;
35
36
  if (fs.statSync(here).isDirectory()) {
36
- all = all.concat(await recurse(base, `${dir}/${file}`, type, featureFilter, fs));
37
+ all = all.concat(await recurse(base, `${dir}/${file}`, type, featureFilter, policyConfig, fs));
37
38
  }
38
- else if (shouldProcess(here, type, featureFilter)) {
39
+ else if (shouldProcess(here, type, featureFilter, dir, policyConfig?.dirFilters)) {
39
40
  let contents;
40
41
  let kirejiLineMap;
41
42
  if (here.endsWith('.feature.ts')) {
@@ -67,14 +68,25 @@ async function recurse(base, dir, type, featureFilter = undefined, fs = nodeFS)
67
68
  }
68
69
  return all;
69
70
  }
70
- export function shouldProcess(file, type, featureFilter) {
71
+ export function shouldProcess(file, type, featureFilter, dir, dirFilters) {
71
72
  const iskireji = file.endsWith('.feature.ts');
72
73
  // For kireji files, always process regardless of type
73
74
  // For .feature files, check if type matches or is undefined
74
75
  // Note: both 'feature' and 'background' types use .feature extension
75
76
  const isType = iskireji || !type || file.endsWith(`.${type}`) || (type === 'background' && file.endsWith('.feature'));
76
77
  const matchesFilter = (featureFilter === undefined || featureFilter.every(f => f === '')) || featureFilter.length < 1 ? true : !!featureFilter.find((f) => file.replace(/\/.*?\/([^.*?/])/, '$1').match(f));
77
- return isType && matchesFilter;
78
+ if (!isType || !matchesFilter)
79
+ return false;
80
+ // When --run-policy is active, apply prefix-based access filtering (features only, not backgrounds)
81
+ if (dirFilters && type === 'feature') {
82
+ // Extract relative path from features root (e.g. "/features/smoke/r_health.feature" → "/smoke/r_health.feature")
83
+ const featuresIdx = dir.indexOf('/features');
84
+ const relativePath = featuresIdx >= 0 ? dir.substring(featuresIdx + '/features'.length) : dir;
85
+ const filename = file.split('/').pop() || file;
86
+ const fullRelative = `${relativePath}/${filename}`;
87
+ return featureMatchesFilter(fullRelative, dirFilters);
88
+ }
89
+ return true;
78
90
  }
79
91
  export function debase(abase, features) {
80
92
  return features.map((f) => ({ ...f, path: f.path.replace(abase, '') }));
@@ -1 +1 @@
1
- {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/phases/collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/phases/collector.ts"],"names":[],"mappings":"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"}