@haibun/core 3.8.1 → 3.8.3

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 (48) hide show
  1. package/build/lib/EventLogger.d.ts +4 -4
  2. package/build/lib/EventLogger.d.ts.map +1 -1
  3. package/build/lib/EventLogger.js +6 -6
  4. package/build/lib/EventLogger.js.map +1 -1
  5. package/build/lib/feature-variables.d.ts +0 -1
  6. package/build/lib/feature-variables.d.ts.map +1 -1
  7. package/build/lib/feature-variables.js +18 -4
  8. package/build/lib/feature-variables.js.map +1 -1
  9. package/build/lib/util/secret-utils.d.ts +1 -4
  10. package/build/lib/util/secret-utils.d.ts.map +1 -1
  11. package/build/lib/util/secret-utils.js +2 -20
  12. package/build/lib/util/secret-utils.js.map +1 -1
  13. package/build/phases/Executor.d.ts.map +1 -1
  14. package/build/phases/Executor.js +2 -4
  15. package/build/phases/Executor.js.map +1 -1
  16. package/build/schema/protocol.d.ts +2 -2
  17. package/build/steps/activities-stepper.d.ts +4 -4
  18. package/build/steps/haibun.d.ts +4 -4
  19. package/build/steps/narrator.d.ts +4 -4
  20. package/build/steps/variables-stepper.d.ts +25 -25
  21. package/build/steps/variables-stepper.d.ts.map +1 -1
  22. package/build/steps/variables-stepper.js +5 -6
  23. package/build/steps/variables-stepper.js.map +1 -1
  24. package/package.json +2 -2
  25. package/build/lib/filter-schema.d.ts +0 -49
  26. package/build/lib/filter-schema.d.ts.map +0 -1
  27. package/build/lib/filter-schema.js +0 -104
  28. package/build/lib/filter-schema.js.map +0 -1
  29. package/build/lib/filter-types.d.ts +0 -71
  30. package/build/lib/filter-types.d.ts.map +0 -1
  31. package/build/lib/filter-types.js +0 -121
  32. package/build/lib/filter-types.js.map +0 -1
  33. package/build/lib/monitor-event-collector.d.ts +0 -16
  34. package/build/lib/monitor-event-collector.d.ts.map +0 -1
  35. package/build/lib/monitor-event-collector.js +0 -26
  36. package/build/lib/monitor-event-collector.js.map +0 -1
  37. package/build/lib/secrets.d.ts +0 -17
  38. package/build/lib/secrets.d.ts.map +0 -1
  39. package/build/lib/secrets.js +0 -46
  40. package/build/lib/secrets.js.map +0 -1
  41. package/build/runfilter/filter-schema.d.ts +0 -76
  42. package/build/runfilter/filter-schema.d.ts.map +0 -1
  43. package/build/runfilter/filter-schema.js +0 -129
  44. package/build/runfilter/filter-schema.js.map +0 -1
  45. package/build/runfilter/filter-types.d.ts +0 -58
  46. package/build/runfilter/filter-types.d.ts.map +0 -1
  47. package/build/runfilter/filter-types.js +0 -102
  48. package/build/runfilter/filter-types.js.map +0 -1
@@ -1,102 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-types.js","sourceRoot":"","sources":["../../src/runfilter/filter-types.ts"],"names":[],"mappings":"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"}