@haibun/core 2.0.0 → 3.0.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 (153) hide show
  1. package/build/applyEffectFeatures.d.ts.map +1 -1
  2. package/build/applyEffectFeatures.js +3 -6
  3. package/build/applyEffectFeatures.js.map +1 -1
  4. package/build/currentVersion.d.ts +1 -1
  5. package/build/currentVersion.js +1 -1
  6. package/build/jsprolog/converter.d.ts +9 -0
  7. package/build/jsprolog/converter.d.ts.map +1 -0
  8. package/build/jsprolog/converter.js +42 -0
  9. package/build/jsprolog/converter.js.map +1 -0
  10. package/build/jsprolog/stepper-utils.d.ts +8 -0
  11. package/build/jsprolog/stepper-utils.d.ts.map +1 -0
  12. package/build/jsprolog/stepper-utils.js +8 -0
  13. package/build/jsprolog/stepper-utils.js.map +1 -0
  14. package/build/jsprolog/test.jsprolog.d.ts +4 -0
  15. package/build/jsprolog/test.jsprolog.d.ts.map +1 -0
  16. package/build/jsprolog/test.jsprolog.js +19 -0
  17. package/build/jsprolog/test.jsprolog.js.map +1 -0
  18. package/build/jsprolog/test.kireji.d.ts +4 -0
  19. package/build/jsprolog/test.kireji.d.ts.map +1 -0
  20. package/build/jsprolog/test.kireji.js +19 -0
  21. package/build/jsprolog/test.kireji.js.map +1 -0
  22. package/build/jsprolog/withAction.d.ts +32 -0
  23. package/build/jsprolog/withAction.d.ts.map +1 -0
  24. package/build/jsprolog/withAction.js +65 -0
  25. package/build/jsprolog/withAction.js.map +1 -0
  26. package/build/kireji/converter.d.ts +9 -0
  27. package/build/kireji/converter.d.ts.map +1 -0
  28. package/build/kireji/converter.js +49 -0
  29. package/build/kireji/converter.js.map +1 -0
  30. package/build/kireji/test.kireji.d.ts +4 -0
  31. package/build/kireji/test.kireji.d.ts.map +1 -0
  32. package/build/kireji/test.kireji.js +19 -0
  33. package/build/kireji/test.kireji.js.map +1 -0
  34. package/build/kireji/withAction.d.ts +36 -0
  35. package/build/kireji/withAction.d.ts.map +1 -0
  36. package/build/kireji/withAction.js +66 -0
  37. package/build/kireji/withAction.js.map +1 -0
  38. package/build/lib/Logger.d.ts +2 -0
  39. package/build/lib/Logger.d.ts.map +1 -1
  40. package/build/lib/Logger.js +9 -5
  41. package/build/lib/Logger.js.map +1 -1
  42. package/build/lib/TestLogger.d.ts +1 -0
  43. package/build/lib/TestLogger.d.ts.map +1 -1
  44. package/build/lib/TestLogger.js +1 -0
  45. package/build/lib/TestLogger.js.map +1 -1
  46. package/build/lib/astepper.d.ts +4 -6
  47. package/build/lib/astepper.d.ts.map +1 -1
  48. package/build/lib/astepper.js +0 -1
  49. package/build/lib/astepper.js.map +1 -1
  50. package/build/lib/core-domains.d.ts +3 -3
  51. package/build/lib/core-domains.d.ts.map +1 -1
  52. package/build/lib/core-domains.js +3 -3
  53. package/build/lib/core-domains.js.map +1 -1
  54. package/build/lib/defs.d.ts +29 -23
  55. package/build/lib/defs.d.ts.map +1 -1
  56. package/build/lib/defs.js +2 -1
  57. package/build/lib/defs.js.map +1 -1
  58. package/build/lib/errors.d.ts +13 -0
  59. package/build/lib/errors.d.ts.map +1 -0
  60. package/build/lib/errors.js +18 -0
  61. package/build/lib/errors.js.map +1 -0
  62. package/build/lib/feature-variables.d.ts +4 -2
  63. package/build/lib/feature-variables.d.ts.map +1 -1
  64. package/build/lib/feature-variables.js +12 -2
  65. package/build/lib/feature-variables.js.map +1 -1
  66. package/build/lib/features.d.ts.map +1 -1
  67. package/build/lib/features.js +7 -3
  68. package/build/lib/features.js.map +1 -1
  69. package/build/lib/interfaces/logger.d.ts +4 -2
  70. package/build/lib/interfaces/logger.d.ts.map +1 -1
  71. package/build/lib/interfaces/logger.js +1 -0
  72. package/build/lib/interfaces/logger.js.map +1 -1
  73. package/build/lib/namedVars.d.ts.map +1 -1
  74. package/build/lib/namedVars.js +8 -1
  75. package/build/lib/namedVars.js.map +1 -1
  76. package/build/lib/populateActionArgs.js +1 -1
  77. package/build/lib/populateActionArgs.js.map +1 -1
  78. package/build/lib/test/TestSteps.d.ts +0 -5
  79. package/build/lib/test/TestSteps.d.ts.map +1 -1
  80. package/build/lib/test/TestSteps.js +0 -8
  81. package/build/lib/test/TestSteps.js.map +1 -1
  82. package/build/lib/test/lib.d.ts +4 -1
  83. package/build/lib/test/lib.d.ts.map +1 -1
  84. package/build/lib/test/lib.js +18 -5
  85. package/build/lib/test/lib.js.map +1 -1
  86. package/build/lib/test/resolvedTestFeatures.js +1 -1
  87. package/build/lib/test/resolvedTestFeatures.js.map +1 -1
  88. package/build/lib/util/featureStep-executor.d.ts +2 -1
  89. package/build/lib/util/featureStep-executor.d.ts.map +1 -1
  90. package/build/lib/util/featureStep-executor.js +31 -7
  91. package/build/lib/util/featureStep-executor.js.map +1 -1
  92. package/build/lib/util/index.d.ts +3 -1
  93. package/build/lib/util/index.d.ts.map +1 -1
  94. package/build/lib/util/index.js +2 -0
  95. package/build/lib/util/index.js.map +1 -1
  96. package/build/phases/Executor.d.ts +6 -1
  97. package/build/phases/Executor.d.ts.map +1 -1
  98. package/build/phases/Executor.js +156 -22
  99. package/build/phases/Executor.js.map +1 -1
  100. package/build/phases/Resolver.d.ts +4 -3
  101. package/build/phases/Resolver.d.ts.map +1 -1
  102. package/build/phases/Resolver.js +49 -31
  103. package/build/phases/Resolver.js.map +1 -1
  104. package/build/phases/collector.d.ts +1 -1
  105. package/build/phases/collector.d.ts.map +1 -1
  106. package/build/phases/collector.js +36 -7
  107. package/build/phases/collector.js.map +1 -1
  108. package/build/runner.d.ts.map +1 -1
  109. package/build/runner.js +4 -7
  110. package/build/runner.js.map +1 -1
  111. package/build/steps/activities-stepper.d.ts +79 -0
  112. package/build/steps/activities-stepper.d.ts.map +1 -0
  113. package/build/steps/activities-stepper.js +342 -0
  114. package/build/steps/activities-stepper.js.map +1 -0
  115. package/build/steps/conditions-stepper.d.ts +27 -0
  116. package/build/steps/conditions-stepper.d.ts.map +1 -0
  117. package/build/steps/conditions-stepper.js +99 -0
  118. package/build/steps/conditions-stepper.js.map +1 -0
  119. package/build/steps/debugger-stepper.d.ts +60 -2
  120. package/build/steps/debugger-stepper.d.ts.map +1 -1
  121. package/build/steps/debugger-stepper.js +5 -5
  122. package/build/steps/debugger-stepper.js.map +1 -1
  123. package/build/steps/haibun.d.ts +69 -22
  124. package/build/steps/haibun.d.ts.map +1 -1
  125. package/build/steps/haibun.js +138 -75
  126. package/build/steps/haibun.js.map +1 -1
  127. package/build/steps/narrator.d.ts +4 -4
  128. package/build/steps/parse.d.ts +1 -1
  129. package/build/steps/variables-stepper.d.ts +69 -4
  130. package/build/steps/variables-stepper.d.ts.map +1 -1
  131. package/build/steps/variables-stepper.js +44 -14
  132. package/build/steps/variables-stepper.js.map +1 -1
  133. package/package.json +1 -1
  134. package/build/lib/dependency-resolver.d.ts +0 -2
  135. package/build/lib/dependency-resolver.d.ts.map +0 -1
  136. package/build/lib/dependency-resolver.js +0 -3
  137. package/build/lib/dependency-resolver.js.map +0 -1
  138. package/build/lib/resolve-or-error.d.ts +0 -2
  139. package/build/lib/resolve-or-error.d.ts.map +0 -1
  140. package/build/lib/resolve-or-error.js +0 -3
  141. package/build/lib/resolve-or-error.js.map +0 -1
  142. package/build/lib/resolved-text-view.d.ts +0 -32
  143. package/build/lib/resolved-text-view.d.ts.map +0 -1
  144. package/build/lib/resolved-text-view.js +0 -103
  145. package/build/lib/resolved-text-view.js.map +0 -1
  146. package/build/lib/resolved-view.d.ts +0 -45
  147. package/build/lib/resolved-view.d.ts.map +0 -1
  148. package/build/lib/resolved-view.js +0 -133
  149. package/build/lib/resolved-view.js.map +0 -1
  150. package/build/phases/statement.test copy.d.ts +0 -2
  151. package/build/phases/statement.test copy.d.ts.map +0 -1
  152. package/build/phases/statement.test copy.js +0 -57
  153. package/build/phases/statement.test copy.js.map +0 -1
@@ -1,133 +0,0 @@
1
- /**
2
- * Generate a flat, resolved view of a feature
3
- * This is the "what actually runs" view
4
- */
5
- export function generateResolvedView(feature) {
6
- const lines = [];
7
- const dependencies = new Set();
8
- let lineNumber = 1;
9
- for (const step of feature.featureSteps) {
10
- // Track dependencies (backgrounds, etc)
11
- if (step.path !== feature.path) {
12
- dependencies.add(step.path);
13
- }
14
- // Get the display text with resolved variables
15
- const text = resolveVariablesInText(step);
16
- lines.push({
17
- lineNumber: lineNumber++,
18
- text,
19
- sourcePath: step.path,
20
- sourceLineNumber: undefined, // TODO: track original line number
21
- seqPath: step.seqPath,
22
- stepperName: step.action.stepperName,
23
- actionName: step.action.actionName,
24
- variables: extractVariables(step),
25
- });
26
- }
27
- return {
28
- featurePath: feature.path,
29
- lines,
30
- dependencies: Array.from(dependencies),
31
- };
32
- }
33
- /**
34
- * Resolve variables in the step text to show actual values
35
- */
36
- function resolveVariablesInText(step) {
37
- let text = step.in;
38
- // If we have stepValuesMap, show the resolved values inline
39
- if (step.action.stepValuesMap) {
40
- const values = step.action.stepValuesMap;
41
- for (const [placeholder, valueInfo] of Object.entries(values)) {
42
- // Skip complex nested values
43
- if (Array.isArray(valueInfo.value))
44
- continue;
45
- const displayValue = formatValueForDisplay(valueInfo.value, valueInfo.origin);
46
- // Try to replace the placeholder in the text
47
- // This is a simple approach - might need refinement
48
- text = text.replace(new RegExp(`\\b${placeholder}\\b`, 'g'), displayValue);
49
- }
50
- }
51
- return text;
52
- }
53
- /**
54
- * Format a value for display, with source context
55
- */
56
- function formatValueForDisplay(value, origin) {
57
- if (value === null || value === undefined) {
58
- return `<undefined>`;
59
- }
60
- const stringValue = String(value);
61
- // Add origin indicator for clarity
62
- switch (origin) {
63
- case 'env':
64
- return `${stringValue} (env)`;
65
- case 'var':
66
- return `${stringValue} (var)`;
67
- default:
68
- return stringValue;
69
- }
70
- }
71
- /**
72
- * Extract variable information for a step
73
- */
74
- function extractVariables(step) {
75
- if (!step.action.stepValuesMap)
76
- return undefined;
77
- const vars = {};
78
- for (const [name, valueInfo] of Object.entries(step.action.stepValuesMap)) {
79
- if (!Array.isArray(valueInfo.value)) {
80
- vars[name] = valueInfo.value;
81
- }
82
- }
83
- return Object.keys(vars).length > 0 ? vars : undefined;
84
- }
85
- /**
86
- * Generate a plain text version of the resolved view
87
- * This is what you'd edit or debug
88
- */
89
- export function formatResolvedViewAsText(view) {
90
- const lines = [];
91
- lines.push(`# Feature: ${view.featurePath}`);
92
- if (view.dependencies.length > 0) {
93
- lines.push('');
94
- lines.push('# Dependencies:');
95
- for (const dep of view.dependencies) {
96
- lines.push(`# - ${dep}`);
97
- }
98
- }
99
- lines.push('');
100
- lines.push('# Resolved Steps:');
101
- lines.push('');
102
- for (const line of view.lines) {
103
- const indent = ' '.repeat(line.seqPath.length - 1);
104
- const sourceInfo = line.sourcePath !== view.featurePath
105
- ? ` # from ${line.sourcePath}`
106
- : '';
107
- lines.push(`${indent}${line.text}${sourceInfo}`);
108
- // Optionally show variables
109
- if (line.variables && Object.keys(line.variables).length > 0) {
110
- const varInfo = Object.entries(line.variables)
111
- .map(([k, v]) => `${k}=${v}`)
112
- .join(', ');
113
- lines.push(`${indent} # vars: ${varInfo}`);
114
- }
115
- }
116
- return lines.join('\n');
117
- }
118
- export function formatResolvedViewAsEditable(view) {
119
- const text = formatResolvedViewAsText(view);
120
- const textLines = text.split('\n');
121
- // Build line mapping (simplified for now)
122
- const lineMapping = textLines.map((_, idx) => ({
123
- editLine: idx + 1,
124
- sourcePath: view.featurePath,
125
- sourceLineNumber: undefined,
126
- canEdit: true, // TODO: mark background lines as read-only
127
- }));
128
- return {
129
- text,
130
- lineMapping,
131
- };
132
- }
133
- //# sourceMappingURL=resolved-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolved-view.js","sourceRoot":"","sources":["../../src/lib/resolved-view.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=statement.test%20copy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statement.test copy.d.ts","sourceRoot":"","sources":["../../src/phases/statement.test copy.ts"],"names":[],"mappings":""}
@@ -1,57 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { AStepper } from '../lib/astepper.js';
3
- import { OK, ExecMode } from '../lib/defs.js';
4
- import { testWithDefaults, DEF_PROTO_OPTIONS } from '../lib/test/lib.js';
5
- import { actionNotOK } from '../lib/util/index.js';
6
- import { doExecuteFeatureSteps } from '../lib/util/featureStep-executor.js';
7
- import { DOMAIN_STATEMENT } from '../lib/domain-types.js';
8
- class StatementTestStepper extends AStepper {
9
- steps = {
10
- alpha: {
11
- exact: 'alpha',
12
- action: async () => Promise.resolve(OK),
13
- },
14
- beta: {
15
- exact: 'beta',
16
- action: async () => Promise.resolve(OK),
17
- },
18
- do: {
19
- gwta: `do {steps:${DOMAIN_STATEMENT}}`,
20
- action: async (args) => {
21
- try {
22
- const steps = args.steps;
23
- if (!Array.isArray(steps))
24
- throw new Error('steps must be feature steps');
25
- const last = await doExecuteFeatureSteps(steps, [this], this.getWorld(), ExecMode.NO_CYCLES);
26
- if (!last || !last.ok) {
27
- const msg = last?.stepActionResult?.message || 'inline statement failed';
28
- return actionNotOK(`statement failed: ${msg}`);
29
- }
30
- return OK;
31
- }
32
- catch (e) {
33
- return actionNotOK(`statement failed: ${e.message}`);
34
- }
35
- }
36
- }
37
- };
38
- }
39
- describe('statement type', () => {
40
- it('executes single known statement', async () => {
41
- const feature = { path: '/features/test.feature', content: 'do alpha' };
42
- const result = await testWithDefaults([feature], [StatementTestStepper], DEF_PROTO_OPTIONS, []);
43
- expect(result.ok).toBe(true);
44
- });
45
- it('fails unknown statement', async () => {
46
- const feature = { path: '/features/test.feature', content: 'do gamma' };
47
- const result = await testWithDefaults([feature], [StatementTestStepper], DEF_PROTO_OPTIONS, []);
48
- expect(result.ok).toBe(false);
49
- });
50
- it('executes multi-line backgrounds via statement list', async () => {
51
- // Compose statement referencing beta after alpha
52
- const feature = { path: '/features/test.feature', content: 'do alpha\nalpha\nbeta' };
53
- const result = await testWithDefaults([feature], [StatementTestStepper], DEF_PROTO_OPTIONS, []);
54
- expect(result.ok).toBe(true);
55
- });
56
- });
57
- //# sourceMappingURL=statement.test%20copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statement.test copy.js","sourceRoot":"","sources":["../../src/phases/statement.test copy.ts"],"names":[],"mappings":"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"}