@haibun/core 3.0.5 → 3.1.1
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.
- package/build/currentVersion.d.ts +1 -1
- package/build/currentVersion.js +2 -1
- package/build/lib/EventLogger.d.ts +30 -0
- package/build/lib/EventLogger.d.ts.map +1 -0
- package/build/lib/EventLogger.js +110 -0
- package/build/lib/EventLogger.js.map +1 -0
- package/build/lib/astepper.d.ts +9 -0
- package/build/lib/astepper.d.ts.map +1 -1
- package/build/lib/astepper.js +8 -0
- package/build/lib/astepper.js.map +1 -1
- package/build/lib/core/flow-runner.d.ts +25 -0
- package/build/lib/core/flow-runner.d.ts.map +1 -0
- package/build/lib/core/flow-runner.js +128 -0
- package/build/lib/core/flow-runner.js.map +1 -0
- package/build/lib/core/protocol.d.ts +58 -0
- package/build/lib/core/protocol.d.ts.map +1 -0
- package/build/lib/core/protocol.js +18 -0
- package/build/lib/core/protocol.js.map +1 -0
- package/build/lib/core-domains.d.ts +2 -16
- package/build/lib/core-domains.d.ts.map +1 -1
- package/build/lib/core-domains.js +46 -27
- package/build/lib/core-domains.js.map +1 -1
- package/build/lib/defs.d.ts +31 -6
- package/build/lib/defs.d.ts.map +1 -1
- package/build/lib/defs.js +1 -1
- package/build/lib/defs.js.map +1 -1
- package/build/lib/domain-types.d.ts +12 -1
- package/build/lib/domain-types.d.ts.map +1 -1
- package/build/lib/domain-types.js +63 -3
- package/build/lib/domain-types.js.map +1 -1
- package/build/lib/event-bridge.d.ts +42 -0
- package/build/lib/event-bridge.d.ts.map +1 -0
- package/build/lib/event-bridge.js +214 -0
- package/build/lib/event-bridge.js.map +1 -0
- package/build/lib/feature-variables.d.ts +13 -0
- package/build/lib/feature-variables.d.ts.map +1 -1
- package/build/lib/feature-variables.js +125 -6
- package/build/lib/feature-variables.js.map +1 -1
- package/build/lib/namedVars.d.ts.map +1 -1
- package/build/lib/namedVars.js +18 -10
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/populateActionArgs.d.ts +1 -1
- package/build/lib/populateActionArgs.d.ts.map +1 -1
- package/build/lib/populateActionArgs.js +11 -49
- package/build/lib/populateActionArgs.js.map +1 -1
- package/build/lib/test/TestSteps.d.ts +1 -0
- package/build/lib/test/TestSteps.d.ts.map +1 -1
- package/build/lib/test/TestStepsWithOptions.d.ts +1 -0
- package/build/lib/test/TestStepsWithOptions.d.ts.map +1 -1
- package/build/lib/test/lib.d.ts.map +1 -1
- package/build/lib/test/lib.js +2 -0
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/util/actualURI.js +1 -1
- package/build/lib/util/actualURI.js.map +1 -1
- package/build/lib/util/index.d.ts +11 -2
- package/build/lib/util/index.d.ts.map +1 -1
- package/build/lib/util/index.js +46 -2
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/util/variables.d.ts +9 -0
- package/build/lib/util/variables.d.ts.map +1 -0
- package/build/lib/util/variables.js +40 -0
- package/build/lib/util/variables.js.map +1 -0
- package/build/lib/util/workspace-lib.d.ts.map +1 -1
- package/build/lib/util/workspace-lib.js +30 -3
- package/build/lib/util/workspace-lib.js.map +1 -1
- package/build/monitor/browser-stubs.d.ts +12 -0
- package/build/monitor/browser-stubs.d.ts.map +1 -0
- package/build/monitor/browser-stubs.js +20 -0
- package/build/monitor/browser-stubs.js.map +1 -0
- package/build/monitor/constants.d.ts +9 -0
- package/build/monitor/constants.d.ts.map +1 -0
- package/build/monitor/constants.js +9 -0
- package/build/monitor/constants.js.map +1 -0
- package/build/monitor/event-view.d.ts +40 -0
- package/build/monitor/event-view.d.ts.map +1 -0
- package/build/monitor/event-view.js +104 -0
- package/build/monitor/event-view.js.map +1 -0
- package/build/monitor/filters.d.ts +17 -0
- package/build/monitor/filters.d.ts.map +1 -0
- package/build/monitor/filters.js +32 -0
- package/build/monitor/filters.js.map +1 -0
- package/build/monitor/formatters.d.ts +27 -0
- package/build/monitor/formatters.d.ts.map +1 -0
- package/build/monitor/formatters.js +89 -0
- package/build/monitor/formatters.js.map +1 -0
- package/build/monitor/index.d.ts +11 -0
- package/build/monitor/index.d.ts.map +1 -0
- package/build/monitor/index.js +15 -0
- package/build/monitor/index.js.map +1 -0
- package/build/monitor/jit-serialization.d.ts +9 -0
- package/build/monitor/jit-serialization.d.ts.map +1 -0
- package/build/monitor/jit-serialization.js +73 -0
- package/build/monitor/jit-serialization.js.map +1 -0
- package/build/monitor/monitor-types.d.ts +119 -0
- package/build/monitor/monitor-types.d.ts.map +1 -0
- package/build/monitor/monitor-types.js +43 -0
- package/build/monitor/monitor-types.js.map +1 -0
- package/build/monitor/speculative-tracker.d.ts +20 -0
- package/build/monitor/speculative-tracker.d.ts.map +1 -0
- package/build/monitor/speculative-tracker.js +38 -0
- package/build/monitor/speculative-tracker.js.map +1 -0
- package/build/monitor/state.d.ts +31 -0
- package/build/monitor/state.d.ts.map +1 -0
- package/build/monitor/state.js +110 -0
- package/build/monitor/state.js.map +1 -0
- package/build/monitor/timer.d.ts +11 -0
- package/build/monitor/timer.d.ts.map +1 -0
- package/build/monitor/timer.js +13 -0
- package/build/monitor/timer.js.map +1 -0
- package/build/monitor/tree-builder.d.ts +25 -0
- package/build/monitor/tree-builder.d.ts.map +1 -0
- package/build/monitor/tree-builder.js +36 -0
- package/build/monitor/tree-builder.js.map +1 -0
- package/build/phases/Executor.d.ts.map +1 -1
- package/build/phases/Executor.js +93 -22
- package/build/phases/Executor.js.map +1 -1
- package/build/phases/Resolver.d.ts +2 -1
- package/build/phases/Resolver.d.ts.map +1 -1
- package/build/phases/Resolver.js +64 -1
- package/build/phases/Resolver.js.map +1 -1
- package/build/runner.d.ts.map +1 -1
- package/build/runner.js +5 -0
- package/build/runner.js.map +1 -1
- package/build/schema/events.d.ts +426 -0
- package/build/schema/events.d.ts.map +1 -0
- package/build/schema/events.js +123 -0
- package/build/schema/events.js.map +1 -0
- package/build/steps/activities-stepper.d.ts +49 -8
- package/build/steps/activities-stepper.d.ts.map +1 -1
- package/build/steps/activities-stepper.js +277 -141
- package/build/steps/activities-stepper.js.map +1 -1
- package/build/steps/conformance.d.ts +1 -0
- package/build/steps/conformance.d.ts.map +1 -1
- package/build/steps/console-monitor-stepper.d.ts +44 -0
- package/build/steps/console-monitor-stepper.d.ts.map +1 -0
- package/build/steps/console-monitor-stepper.js +107 -0
- package/build/steps/console-monitor-stepper.js.map +1 -0
- package/build/steps/debugger-stepper.d.ts +5 -3
- package/build/steps/debugger-stepper.d.ts.map +1 -1
- package/build/steps/debugger-stepper.js +32 -8
- package/build/steps/debugger-stepper.js.map +1 -1
- package/build/steps/haibun.d.ts +6 -18
- package/build/steps/haibun.d.ts.map +1 -1
- package/build/steps/haibun.js +33 -54
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/logic-stepper.d.ts +42 -0
- package/build/steps/logic-stepper.d.ts.map +1 -0
- package/build/steps/logic-stepper.js +143 -0
- package/build/steps/logic-stepper.js.map +1 -0
- package/build/steps/narrator.js +1 -1
- package/build/steps/narrator.js.map +1 -1
- package/build/steps/parse.d.ts +1 -0
- package/build/steps/parse.d.ts.map +1 -1
- package/build/steps/variables-stepper.d.ts +11 -75
- package/build/steps/variables-stepper.d.ts.map +1 -1
- package/build/steps/variables-stepper.js +527 -85
- package/build/steps/variables-stepper.js.map +1 -1
- package/package.json +16 -3
- package/build/applyEffectFeatures.d.ts +0 -4
- package/build/applyEffectFeatures.d.ts.map +0 -1
- package/build/applyEffectFeatures.js +0 -31
- package/build/applyEffectFeatures.js.map +0 -1
- package/build/jsprolog/converter.d.ts +0 -9
- package/build/jsprolog/converter.d.ts.map +0 -1
- package/build/jsprolog/converter.js +0 -42
- package/build/jsprolog/converter.js.map +0 -1
- package/build/jsprolog/stepper-utils.d.ts +0 -8
- package/build/jsprolog/stepper-utils.d.ts.map +0 -1
- package/build/jsprolog/stepper-utils.js +0 -8
- package/build/jsprolog/stepper-utils.js.map +0 -1
- package/build/jsprolog/test.jsprolog.d.ts +0 -4
- package/build/jsprolog/test.jsprolog.d.ts.map +0 -1
- package/build/jsprolog/test.jsprolog.js +0 -19
- package/build/jsprolog/test.jsprolog.js.map +0 -1
- package/build/jsprolog/test.kireji.d.ts +0 -4
- package/build/jsprolog/test.kireji.d.ts.map +0 -1
- package/build/jsprolog/test.kireji.js +0 -19
- package/build/jsprolog/test.kireji.js.map +0 -1
- package/build/jsprolog/withAction.d.ts +0 -32
- package/build/jsprolog/withAction.d.ts.map +0 -1
- package/build/jsprolog/withAction.js +0 -65
- package/build/jsprolog/withAction.js.map +0 -1
- package/build/kireji/test.kireji.d.ts +0 -4
- package/build/kireji/test.kireji.d.ts.map +0 -1
- package/build/kireji/test.kireji.js +0 -19
- package/build/kireji/test.kireji.js.map +0 -1
- package/build/lib/errors.d.ts +0 -13
- package/build/lib/errors.d.ts.map +0 -1
- package/build/lib/errors.js +0 -18
- package/build/lib/errors.js.map +0 -1
- package/build/lib/util/featureStep-executor.d.ts +0 -7
- package/build/lib/util/featureStep-executor.d.ts.map +0 -1
- package/build/lib/util/featureStep-executor.js +0 -63
- package/build/lib/util/featureStep-executor.js.map +0 -1
- package/build/steps/conditions-stepper.d.ts +0 -27
- package/build/steps/conditions-stepper.d.ts.map +0 -1
- package/build/steps/conditions-stepper.js +0 -99
- package/build/steps/conditions-stepper.js.map +0 -1
- package/build/steps/outcomesRegistry.d.ts +0 -8
- package/build/steps/outcomesRegistry.d.ts.map +0 -1
- package/build/steps/outcomesRegistry.js +0 -3
- package/build/steps/outcomesRegistry.js.map +0 -1
- package/build/steps/registeredOutcomesStore.d.ts +0 -12
- package/build/steps/registeredOutcomesStore.d.ts.map +0 -1
- package/build/steps/registeredOutcomesStore.js +0 -11
- package/build/steps/registeredOutcomesStore.js.map +0 -1
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { AStepper } from '../lib/astepper.js';
|
|
2
2
|
import { OK, CycleWhen } from '../lib/defs.js';
|
|
3
|
-
import { executeSubFeatureSteps, findFeatureStepsFromStatement } from '../lib/util/featureStep-executor.js';
|
|
4
|
-
import { ExecMode } from '../lib/defs.js';
|
|
5
3
|
import { actionOK, actionNotOK, getActionable } from '../lib/util/index.js';
|
|
6
4
|
import { DOMAIN_STATEMENT } from '../lib/domain-types.js';
|
|
7
5
|
import { EExecutionMessageType } from '../lib/interfaces/logger.js';
|
|
6
|
+
import { FlowRunner } from '../lib/core/flow-runner.js';
|
|
8
7
|
/**
|
|
9
8
|
* Stepper that dynamically builds virtual steps from `waypoint` statements.
|
|
10
9
|
* implements this logic: P ∨ (¬P ∧ [A]P)
|
|
11
10
|
*/
|
|
12
11
|
export class ActivitiesStepper extends AStepper {
|
|
13
|
-
|
|
12
|
+
runner;
|
|
14
13
|
backgroundOutcomePatterns = new Set();
|
|
15
14
|
featureOutcomePatterns = new Set();
|
|
16
15
|
outcomeToFeaturePath = new Map();
|
|
16
|
+
featureSteps = new Map();
|
|
17
17
|
currentFeaturePath = '';
|
|
18
18
|
lastFeaturePath = '';
|
|
19
|
+
lastResolutionPath = '';
|
|
19
20
|
ensuredInstances = new Map();
|
|
21
|
+
ensureAttempts = new Map();
|
|
20
22
|
registeredOutcomeMetadata = new Map();
|
|
23
|
+
inActivityBlock = false;
|
|
21
24
|
cycles = {
|
|
22
25
|
startExecution: () => {
|
|
23
26
|
this.sendGraphLinkMessages();
|
|
@@ -26,18 +29,18 @@ export class ActivitiesStepper extends AStepper {
|
|
|
26
29
|
this.getWorld().logger.debug(`ActivitiesStepper.startFeature: starting feature at path "${startFeature.resolvedFeature.path}"`);
|
|
27
30
|
if (this.lastFeaturePath && this.lastFeaturePath !== startFeature.resolvedFeature.path) {
|
|
28
31
|
this.getWorld().logger.debug(`ActivitiesStepper.startFeature: clearing outcomes from previous feature "${this.lastFeaturePath}"`);
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
outcomesToClear.push(outcome);
|
|
32
|
+
const previousSteps = this.featureSteps.get(this.lastFeaturePath);
|
|
33
|
+
if (previousSteps) {
|
|
34
|
+
for (const outcome of Object.keys(previousSteps)) {
|
|
33
35
|
delete this.steps[outcome];
|
|
34
|
-
this.featureOutcomePatterns.delete(outcome);
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
}
|
|
39
|
+
const currentSteps = this.featureSteps.get(startFeature.resolvedFeature.path);
|
|
40
|
+
if (currentSteps) {
|
|
41
|
+
for (const [outcome, step] of Object.entries(currentSteps)) {
|
|
42
|
+
this.steps[outcome] = step;
|
|
39
43
|
}
|
|
40
|
-
this.getWorld().logger.debug(`ActivitiesStepper.startFeature: cleared ${outcomesToClear.length} outcomes from previous feature`);
|
|
41
44
|
}
|
|
42
45
|
this.currentFeaturePath = startFeature.resolvedFeature.path;
|
|
43
46
|
this.sendGraphLinkMessages();
|
|
@@ -55,70 +58,103 @@ export class ActivitiesStepper extends AStepper {
|
|
|
55
58
|
baseSteps = {
|
|
56
59
|
activity: {
|
|
57
60
|
gwta: 'Activity: {activity}',
|
|
58
|
-
action: () => OK
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const match = line.match(/^waypoint\s+(.+?)\s+with\s+(.+?)$/i);
|
|
68
|
-
if (!match) {
|
|
69
|
-
return false;
|
|
61
|
+
action: () => OK,
|
|
62
|
+
resolveFeatureLine: (line, path, _stepper, _backgrounds, allLines, lineIndex) => {
|
|
63
|
+
if (this.lastResolutionPath && this.lastResolutionPath !== path) {
|
|
64
|
+
const previousSteps = this.featureSteps.get(this.lastResolutionPath);
|
|
65
|
+
if (previousSteps) {
|
|
66
|
+
for (const outcome of Object.keys(previousSteps)) {
|
|
67
|
+
delete this.steps[outcome];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
70
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return true;
|
|
71
|
+
this.lastResolutionPath = path;
|
|
72
|
+
if (line.match(/^Activity:/i)) {
|
|
73
|
+
this.inActivityBlock = true;
|
|
74
|
+
return true; // Skip the Activity definition line itself
|
|
75
75
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (allLines && lineIndex !== undefined) {
|
|
82
|
-
let activityStartLine = -1;
|
|
83
|
-
for (let i = lineIndex - 1; i >= 0; i--) {
|
|
84
|
-
const prevLine = getActionable(allLines[i]);
|
|
85
|
-
if (prevLine.match(/^Activity:/i)) {
|
|
86
|
-
activityStartLine = i;
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
if (prevLine.match(/^(Feature|Scenario|Background):/i)) {
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
76
|
+
if (this.inActivityBlock) {
|
|
77
|
+
// Check for block terminators
|
|
78
|
+
if (line.match(/^(Feature|Scenario|Background|Activity):/i)) {
|
|
79
|
+
this.inActivityBlock = false;
|
|
80
|
+
return false; // Process this line normally
|
|
92
81
|
}
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
82
|
+
if (line.match(/^waypoint\s+/i)) {
|
|
83
|
+
this.resolveWaypointCommon(line, path, allLines, lineIndex, line.includes(' with '));
|
|
84
|
+
// Check if this is the last waypoint in the block
|
|
85
|
+
let hasMoreWaypoints = false;
|
|
86
|
+
if (allLines && lineIndex !== undefined) {
|
|
87
|
+
for (let i = lineIndex + 1; i < allLines.length; i++) {
|
|
88
|
+
const nextLine = allLines[i].trim();
|
|
89
|
+
if (nextLine.match(/^(Feature|Scenario|Background|Activity):/i)) {
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
if (nextLine.match(/^waypoint\s+/i)) {
|
|
93
|
+
hasMoreWaypoints = true;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
100
96
|
}
|
|
101
97
|
}
|
|
102
|
-
|
|
98
|
+
if (!hasMoreWaypoints) {
|
|
99
|
+
this.inActivityBlock = false;
|
|
100
|
+
}
|
|
101
|
+
return true; // Skip the waypoint definition line
|
|
103
102
|
}
|
|
103
|
+
// Inside block
|
|
104
|
+
return true; // Skip lines inside the block
|
|
104
105
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
waypointWithProof: {
|
|
110
|
+
gwta: `waypoint {outcome} with {proof:${DOMAIN_STATEMENT}}`,
|
|
111
|
+
precludes: ['ActivitiesStepper.waypointLabel'],
|
|
108
112
|
action: async ({ proof }, featureStep) => {
|
|
109
113
|
this.getWorld().logger.debug(`waypoint action: executing ${proof?.length || 0} proof steps`);
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
114
|
+
try {
|
|
115
|
+
const result = await this.runner.runSteps(proof, { intent: { mode: 'authoritative' }, parentStep: featureStep });
|
|
116
|
+
if (result.kind !== 'ok') {
|
|
117
|
+
return actionNotOK(`waypoint: failed to execute proof steps: ${result.message}`);
|
|
118
|
+
}
|
|
119
|
+
return actionOK();
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
123
|
+
this.getWorld().logger.debug(`waypoint action: exception executing proof steps: ${msg}`);
|
|
124
|
+
const messageContext = {
|
|
125
|
+
incident: EExecutionMessageType.ACTION,
|
|
126
|
+
incidentDetails: { error: msg }
|
|
127
|
+
};
|
|
128
|
+
return actionNotOK(`waypoint: failed to execute proof steps: ${msg}`, { messageContext });
|
|
113
129
|
}
|
|
114
|
-
return actionOK();
|
|
115
130
|
},
|
|
116
131
|
},
|
|
132
|
+
waypointLabel: {
|
|
133
|
+
gwta: `waypoint {outcome}`,
|
|
134
|
+
action: async () => actionOK(),
|
|
135
|
+
},
|
|
117
136
|
ensure: {
|
|
118
|
-
description: 'Ensure a waypoint condition by always running the proof. If proof passes, waypoint is already satisfied. If proof fails, run the full activity
|
|
137
|
+
description: 'Ensure a waypoint condition by always running the proof. If proof passes, waypoint is already satisfied. If proof fails, run the full activity, then try the proof again',
|
|
119
138
|
gwta: `ensure {outcome:${DOMAIN_STATEMENT}}`,
|
|
139
|
+
unique: true, // Ensure takes priority over dynamically registered outcomes
|
|
120
140
|
action: async ({ outcome }, featureStep) => {
|
|
121
141
|
const outcomeKey = outcome.map(step => step.in).join(' ');
|
|
142
|
+
// Guard: prevent infinite ensure retry loops by counting attempts per outcome+seq
|
|
143
|
+
const attemptKey = outcomeKey; // key by outcome only to avoid differing seqPaths
|
|
144
|
+
const prevAttempts = this.ensureAttempts.get(attemptKey) ?? 0;
|
|
145
|
+
const MAX_ENSURE_ATTEMPTS = 10;
|
|
146
|
+
this.ensureAttempts.set(attemptKey, prevAttempts + 1);
|
|
147
|
+
if (prevAttempts + 1 > MAX_ENSURE_ATTEMPTS) {
|
|
148
|
+
this.getWorld().logger.warn(`ensure: exceeded max attempts (${MAX_ENSURE_ATTEMPTS}) for ${outcomeKey}`);
|
|
149
|
+
if (this.getWorld().runtime) {
|
|
150
|
+
this.getWorld().runtime.exhaustionError = 'ensure max attempts exceeded';
|
|
151
|
+
}
|
|
152
|
+
const messageContext = {
|
|
153
|
+
incident: EExecutionMessageType.ACTION,
|
|
154
|
+
incidentDetails: { waypoint: outcomeKey, satisfied: false, error: 'max ensure attempts exceeded', terminal: true }
|
|
155
|
+
};
|
|
156
|
+
return actionNotOK(`ensure: max attempts exceeded for waypoint "${outcomeKey}"`, { messageContext });
|
|
157
|
+
}
|
|
122
158
|
// Log ENSURE_START
|
|
123
159
|
const startMessageContext = {
|
|
124
160
|
incident: EExecutionMessageType.ENSURE_START,
|
|
@@ -129,30 +165,63 @@ export class ActivitiesStepper extends AStepper {
|
|
|
129
165
|
const pattern = outcome[0]?.action?.actionName || outcomeKey;
|
|
130
166
|
const registeredWaypoint = this.steps[pattern];
|
|
131
167
|
if (!registeredWaypoint) {
|
|
132
|
-
|
|
133
|
-
incident: EExecutionMessageType.ACTION,
|
|
134
|
-
incidentDetails: { waypoint: outcomeKey, error: 'waypoint not registered' }
|
|
135
|
-
};
|
|
136
|
-
return actionNotOK(`ensure: waypoint "${outcomeKey}" (pattern "${pattern}") is not registered`, { messageContext });
|
|
168
|
+
return actionNotOK(`ensure: "${outcomeKey}" is not a registered waypoint. ensure can only be used with waypoints.`);
|
|
137
169
|
}
|
|
138
|
-
const
|
|
139
|
-
if (!
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
170
|
+
const metadata = this.registeredOutcomeMetadata.get(pattern);
|
|
171
|
+
if (!metadata || metadata.proofStatements.length === 0) {
|
|
172
|
+
return actionNotOK(`ensure: waypoint "${outcomeKey}" has no proof. ensure can only be used with waypoints that have a proof.`);
|
|
173
|
+
}
|
|
174
|
+
// Extract args from the outcome step(s) to pass to the activity
|
|
175
|
+
// This ensures that variables (e.g. {name}) defined in the waypoint are available in the activity
|
|
176
|
+
const activityArgs = {};
|
|
177
|
+
for (const step of outcome) {
|
|
178
|
+
if (step.action.stepValuesMap) {
|
|
179
|
+
for (const [key, val] of Object.entries(step.action.stepValuesMap)) {
|
|
180
|
+
// Use the value if available (it should be resolved), otherwise term
|
|
181
|
+
const value = val.value !== undefined ? String(val.value) : val.term;
|
|
182
|
+
if (value !== undefined) {
|
|
183
|
+
activityArgs[key] = value;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
let proofStatements;
|
|
189
|
+
try {
|
|
190
|
+
// Use FlowRunner for the proof execution
|
|
191
|
+
// Pass activityArgs so they are available to the Outcome Action
|
|
192
|
+
const flowResult = await this.runner.runSteps(outcome, { intent: { mode: 'authoritative', usage: featureStep.intent?.usage, stepperOptions: { isEnsure: true } }, parentStep: featureStep });
|
|
193
|
+
if (flowResult.kind !== 'ok') {
|
|
194
|
+
// Log ENSURE_END for failure
|
|
195
|
+
const endMessageContext = {
|
|
196
|
+
incident: EExecutionMessageType.ENSURE_END,
|
|
197
|
+
incidentDetails: { waypoint: outcomeKey, satisfied: false, error: flowResult.message, actionResult: { ok: false } }
|
|
198
|
+
};
|
|
199
|
+
this.getWorld().logger.log(`❌ Failed ensuring ${outcomeKey}`, endMessageContext);
|
|
200
|
+
const messageContext = {
|
|
201
|
+
incident: EExecutionMessageType.ACTION,
|
|
202
|
+
incidentDetails: { waypoint: outcomeKey, satisfied: false, error: flowResult.message }
|
|
203
|
+
};
|
|
204
|
+
return actionNotOK(`ensure: waypoint "${outcomeKey}" proof failed: ${flowResult.message}`, { messageContext });
|
|
205
|
+
}
|
|
206
|
+
proofStatements = flowResult.payload?.messageContext?.incidentDetails?.proofStatements;
|
|
207
|
+
if (!proofStatements) {
|
|
208
|
+
return actionNotOK(`ensure: waypoint "${outcomeKey}" succeeded but returned no proofStatements`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
catch (err) {
|
|
212
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
213
|
+
this.getWorld().logger.debug(`ensure: exception while executing proof for ${outcomeKey}: ${msg}`);
|
|
146
214
|
const messageContext = {
|
|
147
215
|
incident: EExecutionMessageType.ACTION,
|
|
148
|
-
incidentDetails: { waypoint: outcomeKey, satisfied: false, error:
|
|
216
|
+
incidentDetails: { waypoint: outcomeKey, satisfied: false, error: msg }
|
|
149
217
|
};
|
|
150
|
-
return actionNotOK(`ensure: waypoint "${outcomeKey}" proof
|
|
151
|
-
}
|
|
152
|
-
const proofStatements = result.stepActionResult?.messageContext?.incidentDetails?.proofStatements;
|
|
153
|
-
if (proofStatements) {
|
|
154
|
-
this.ensuredInstances.set(outcomeKey, { proof: proofStatements, valid: true });
|
|
218
|
+
return actionNotOK(`ensure: waypoint "${outcomeKey}" proof execution error: ${msg}`, { messageContext });
|
|
155
219
|
}
|
|
220
|
+
// FIXME: We don't have easy access to proofStatements from FlowRunner result yet unless we pass them back
|
|
221
|
+
// For now, we assume if it passed, it passed.
|
|
222
|
+
this.ensuredInstances.set(outcomeKey, { proof: proofStatements, valid: true });
|
|
223
|
+
// On success or after one ensure action completes, reset attempt counter for this outcome
|
|
224
|
+
this.ensureAttempts.delete(attemptKey);
|
|
156
225
|
this.getWorld().logger.debug(`ensure: waypoint "${outcomeKey}" verified and satisfied`);
|
|
157
226
|
// Log ENSURE_END for success at trace level (just to hide the ENSURE_START)
|
|
158
227
|
const endMessageContext = {
|
|
@@ -178,20 +247,11 @@ export class ActivitiesStepper extends AStepper {
|
|
|
178
247
|
for (const [instanceKey, instanceData] of this.ensuredInstances.entries()) {
|
|
179
248
|
this.getWorld().logger.debug(`show waypoints: verifying "${instanceKey}"`);
|
|
180
249
|
try {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
const statement = instanceData.proof[i];
|
|
184
|
-
const resolved = findFeatureStepsFromStatement(statement, this.steppers, this.getWorld(), featureStep.path, [...featureStep.seqPath, i], 1);
|
|
185
|
-
const contextualizedSteps = resolved.map(step => ({
|
|
186
|
-
...step,
|
|
187
|
-
in: `[${instanceKey} proof] ${step.in}`
|
|
188
|
-
}));
|
|
189
|
-
resolvedSteps.push(...contextualizedSteps);
|
|
190
|
-
}
|
|
191
|
-
const result = await executeSubFeatureSteps(featureStep, resolvedSteps, this.steppers, this.getWorld(), ExecMode.NO_CYCLES);
|
|
250
|
+
// Use FlowRunner to run the proof statements directly
|
|
251
|
+
const result = await this.runner.runStatements(instanceData.proof, { intent: { mode: 'speculative' }, parentStep: featureStep });
|
|
192
252
|
waypointResults[instanceKey] = {
|
|
193
253
|
proof: instanceData.proof.join('; '),
|
|
194
|
-
currentlyValid: result.ok
|
|
254
|
+
currentlyValid: result.kind === 'ok'
|
|
195
255
|
};
|
|
196
256
|
}
|
|
197
257
|
catch (error) {
|
|
@@ -211,7 +271,7 @@ export class ActivitiesStepper extends AStepper {
|
|
|
211
271
|
steps = { ...this.baseSteps };
|
|
212
272
|
async setWorld(world, steppers) {
|
|
213
273
|
await super.setWorld(world, steppers);
|
|
214
|
-
this.
|
|
274
|
+
this.runner = new FlowRunner(world, steppers);
|
|
215
275
|
}
|
|
216
276
|
/**
|
|
217
277
|
* Register a dynamic outcome step.
|
|
@@ -228,12 +288,14 @@ export class ActivitiesStepper extends AStepper {
|
|
|
228
288
|
if (this.steps[outcome]) {
|
|
229
289
|
throw new Error(`Outcome "${outcome}" is already registered. Each outcome can only be defined once.`);
|
|
230
290
|
}
|
|
291
|
+
// Normalize activity steps (split multiline strings)
|
|
292
|
+
const normalizedActivitySteps = activityBlockSteps?.flatMap(s => s.split('\n')).map(s => s.trim()).filter(s => s.length > 0) ?? [];
|
|
231
293
|
// Store metadata for runtime re-emission via TEST_LINKS messages
|
|
232
294
|
this.registeredOutcomeMetadata.set(outcome, {
|
|
233
295
|
proofStatements,
|
|
234
296
|
proofPath,
|
|
235
297
|
isBackground: isBackground ?? false,
|
|
236
|
-
activityBlockSteps:
|
|
298
|
+
activityBlockSteps: normalizedActivitySteps,
|
|
237
299
|
});
|
|
238
300
|
// Track whether this is a background or feature outcome
|
|
239
301
|
if (isBackground) {
|
|
@@ -246,75 +308,86 @@ export class ActivitiesStepper extends AStepper {
|
|
|
246
308
|
}
|
|
247
309
|
this.getWorld().logger.debug(`ActivitiesStepper: registerOutcome called with ${proofStatements.length} proof steps for "${outcome}"`);
|
|
248
310
|
this.getWorld().logger.debug(`ActivitiesStepper: outcome is background=${isBackground}, will be added to ${isBackground ? 'backgroundOutcomePatterns' : 'featureOutcomePatterns'}`);
|
|
249
|
-
//
|
|
250
|
-
const
|
|
251
|
-
this.steps[outcome] = {
|
|
311
|
+
// FIXME: maybe we don't care if normalizedActivitySteps is empty
|
|
312
|
+
const step = {
|
|
252
313
|
gwta: outcome,
|
|
253
314
|
virtual: true, // Dynamically registered outcomes are virtual
|
|
315
|
+
handlesUndefined: true, // FIXME they should not need to handle undefined at the virtual stepper level
|
|
254
316
|
description: `Outcome: ${outcome}. Proof: ${proofStatements.join('; ')}`,
|
|
255
317
|
action: async (args, featureStep) => {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
318
|
+
// Reconstruct args to include unresolved terms (skipped by strict populateActionArgs)
|
|
319
|
+
const robustArgs = { ...args };
|
|
320
|
+
if (featureStep.action.stepValuesMap) {
|
|
321
|
+
for (const [key, val] of Object.entries(featureStep.action.stepValuesMap)) {
|
|
322
|
+
if (robustArgs[key] === undefined && val.term !== undefined) {
|
|
323
|
+
robustArgs[key] = val.term;
|
|
324
|
+
}
|
|
262
325
|
}
|
|
263
|
-
|
|
264
|
-
});
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
const
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
326
|
+
}
|
|
327
|
+
this.getWorld().logger.debug(`ActivitiesStepper: executing recipe for outcome "${outcome}" with args ${JSON.stringify(robustArgs)}`);
|
|
328
|
+
// 1. Check Proof (Speculative)
|
|
329
|
+
if (proofStatements.length > 0) {
|
|
330
|
+
const proof = await this.runner.runStatements(proofStatements, { args: robustArgs, intent: { mode: 'speculative' }, parentStep: featureStep });
|
|
331
|
+
if (proof.kind === 'ok') {
|
|
332
|
+
this.getWorld().logger.debug(`ActivitiesStepper: proof passed for outcome "${outcome}", skipping activity body`);
|
|
333
|
+
return actionOK({
|
|
334
|
+
messageContext: {
|
|
335
|
+
incident: EExecutionMessageType.ACTION,
|
|
336
|
+
incidentDetails: { proofStatements, proofSatisfied: true }
|
|
337
|
+
}
|
|
338
|
+
});
|
|
273
339
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
return actionOK({
|
|
284
|
-
messageContext: {
|
|
285
|
-
incident: EExecutionMessageType.ACTION,
|
|
286
|
-
incidentDetails: { proofStatements: interpolatedProof, proofSatisfied: true }
|
|
340
|
+
}
|
|
341
|
+
// 2. Proof Failed or not present
|
|
342
|
+
if (!featureStep.intent?.stepperOptions?.isEnsure) {
|
|
343
|
+
if (normalizedActivitySteps && normalizedActivitySteps.length > 0) {
|
|
344
|
+
this.getWorld().logger.debug(`ActivitiesStepper: running activity body for outcome "${outcome}" (no ensure)`);
|
|
345
|
+
const mode = featureStep.intent?.mode === 'speculative' ? 'speculative' : 'authoritative';
|
|
346
|
+
const act = await this.runner.runStatements(normalizedActivitySteps, { args: robustArgs, intent: { mode, usage: featureStep.intent?.usage }, parentStep: featureStep });
|
|
347
|
+
if (act.kind !== 'ok') {
|
|
348
|
+
return actionNotOK(`ActivitiesStepper: activity body failed for outcome "${outcome}": ${act.message}`);
|
|
287
349
|
}
|
|
288
|
-
|
|
350
|
+
return actionOK();
|
|
351
|
+
}
|
|
352
|
+
if (proofStatements.length > 0) {
|
|
353
|
+
return actionNotOK(`ActivitiesStepper: proof failed for outcome "${outcome}"`);
|
|
354
|
+
}
|
|
355
|
+
// No proof (waypointLabel) and not ensure: do nothing.
|
|
356
|
+
return actionOK();
|
|
289
357
|
}
|
|
290
|
-
//
|
|
291
|
-
if (
|
|
358
|
+
// 3. Ensure Mode: Run Activity Body
|
|
359
|
+
if (normalizedActivitySteps && normalizedActivitySteps.length > 0) {
|
|
292
360
|
this.getWorld().logger.debug(`ActivitiesStepper: proof failed for outcome "${outcome}", running activity body`);
|
|
293
|
-
|
|
294
|
-
const
|
|
295
|
-
if (
|
|
296
|
-
return actionNotOK(`ActivitiesStepper: activity body failed for outcome "${outcome}"`);
|
|
361
|
+
const mode = featureStep.intent?.mode === 'speculative' ? 'speculative' : 'authoritative';
|
|
362
|
+
const act = await this.runner.runStatements(normalizedActivitySteps, { args: robustArgs, intent: { mode, usage: featureStep.intent?.usage }, parentStep: featureStep });
|
|
363
|
+
if (act.kind !== 'ok') {
|
|
364
|
+
return actionNotOK(`ActivitiesStepper: activity body failed for outcome "${outcome}": ${act.message}`);
|
|
297
365
|
}
|
|
298
|
-
// Verify
|
|
366
|
+
// 4. Verify Proof After Activity
|
|
299
367
|
this.getWorld().logger.debug(`ActivitiesStepper: verifying proof after activity body for outcome "${outcome}"`);
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
368
|
+
if (proofStatements.length > 0) {
|
|
369
|
+
const verify = await this.runner.runStatements(proofStatements, { args: robustArgs, intent: { mode, usage: featureStep.intent?.usage }, parentStep: featureStep });
|
|
370
|
+
if (verify.kind !== 'ok') {
|
|
371
|
+
return actionNotOK(`ActivitiesStepper: proof verification failed after activity body for outcome "${outcome}": ${verify.message}`);
|
|
372
|
+
}
|
|
303
373
|
}
|
|
304
|
-
const interpolatedProof = expandStatements(outcomeProofStatements);
|
|
305
374
|
return actionOK({
|
|
306
375
|
messageContext: {
|
|
307
376
|
incident: EExecutionMessageType.ACTION,
|
|
308
|
-
incidentDetails: { proofStatements:
|
|
377
|
+
incidentDetails: { proofStatements, proofSatisfied: true }
|
|
309
378
|
}
|
|
310
379
|
});
|
|
311
380
|
}
|
|
312
|
-
|
|
313
|
-
// No activity body, just proof - and it failed
|
|
314
|
-
return actionNotOK(`ActivitiesStepper: proof failed and no activity body available for outcome "${outcome}"`);
|
|
315
|
-
}
|
|
381
|
+
return actionNotOK(`ActivitiesStepper: no activity body for outcome "${outcome}"`);
|
|
316
382
|
}
|
|
317
383
|
};
|
|
384
|
+
this.steps[outcome] = step;
|
|
385
|
+
if (!isBackground) {
|
|
386
|
+
if (!this.featureSteps.has(proofPath)) {
|
|
387
|
+
this.featureSteps.set(proofPath, {});
|
|
388
|
+
}
|
|
389
|
+
this.featureSteps.get(proofPath)[outcome] = step;
|
|
390
|
+
}
|
|
318
391
|
this.getWorld().logger.debug(`ActivitiesStepper: registered outcome pattern "${outcome}" with ${proofStatements.length} proof steps`);
|
|
319
392
|
}
|
|
320
393
|
/**
|
|
@@ -336,6 +409,69 @@ export class ActivitiesStepper extends AStepper {
|
|
|
336
409
|
this.getWorld().logger.debug(`waypoint registered: "${outcome}"`, messageContext);
|
|
337
410
|
}
|
|
338
411
|
}
|
|
412
|
+
resolveWaypointCommon(line, path, allLines, lineIndex, requireProof) {
|
|
413
|
+
if (!line.match(/^waypoint\s+/i)) {
|
|
414
|
+
return false;
|
|
415
|
+
}
|
|
416
|
+
let outcome;
|
|
417
|
+
let proofStatements = [];
|
|
418
|
+
if (requireProof) {
|
|
419
|
+
if (!line.match(/^waypoint\s+.+?\s+with\s+/i)) {
|
|
420
|
+
return false;
|
|
421
|
+
}
|
|
422
|
+
// Find the LAST occurrence of ' with ' to separate outcome from proof
|
|
423
|
+
// This allows 'with' to appear in outcome names (e.g., "{name} agreed with {concern}")
|
|
424
|
+
const withoutPrefix = line.replace(/^waypoint\s+/i, '');
|
|
425
|
+
const lastWithIndex = withoutPrefix.lastIndexOf(' with ');
|
|
426
|
+
if (lastWithIndex === -1)
|
|
427
|
+
return false;
|
|
428
|
+
outcome = withoutPrefix.substring(0, lastWithIndex).trim();
|
|
429
|
+
const proofRaw = withoutPrefix.substring(lastWithIndex + 6).trim(); // ' with ' is 6 chars
|
|
430
|
+
proofStatements = proofRaw.split('\n').map(s => s.trim()).filter(s => s.length > 0);
|
|
431
|
+
}
|
|
432
|
+
else {
|
|
433
|
+
if (line.match(/^waypoint\s+.+?\s+with\s+/i)) {
|
|
434
|
+
return false;
|
|
435
|
+
}
|
|
436
|
+
const match = line.match(/^waypoint\s+(.+?)$/i);
|
|
437
|
+
if (!match)
|
|
438
|
+
return false;
|
|
439
|
+
outcome = match[1].trim();
|
|
440
|
+
}
|
|
441
|
+
// Skip if already registered (prevents infinite loops)
|
|
442
|
+
if (this.backgroundOutcomePatterns.has(outcome) || this.featureOutcomePatterns.has(outcome)) {
|
|
443
|
+
return true;
|
|
444
|
+
}
|
|
445
|
+
const isBackground = path.includes('backgrounds/');
|
|
446
|
+
// Scan backwards to find containing Activity block
|
|
447
|
+
let activityBlockSteps;
|
|
448
|
+
if (allLines && lineIndex !== undefined) {
|
|
449
|
+
let activityStartLine = -1;
|
|
450
|
+
for (let i = lineIndex - 1; i >= 0; i--) {
|
|
451
|
+
const prevLine = getActionable(allLines[i]);
|
|
452
|
+
if (prevLine.match(/^Activity:/i)) {
|
|
453
|
+
activityStartLine = i;
|
|
454
|
+
break;
|
|
455
|
+
}
|
|
456
|
+
if (prevLine.match(/^(Feature|Scenario|Background):/i)) {
|
|
457
|
+
break;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
if (activityStartLine !== -1) {
|
|
461
|
+
// Collect steps between Activity: and waypoint (excluding waypoint itself)
|
|
462
|
+
const blockLines = [];
|
|
463
|
+
for (let i = activityStartLine + 1; i < lineIndex; i++) {
|
|
464
|
+
const stepLine = getActionable(allLines[i]);
|
|
465
|
+
if (stepLine && !stepLine.match(/^waypoint\s+/i)) {
|
|
466
|
+
blockLines.push(stepLine);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
activityBlockSteps = blockLines;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
this.registerOutcome(outcome, proofStatements, path, isBackground, activityBlockSteps);
|
|
473
|
+
return true;
|
|
474
|
+
}
|
|
339
475
|
}
|
|
340
476
|
export default ActivitiesStepper;
|
|
341
477
|
//# sourceMappingURL=activities-stepper.js.map
|
|
@@ -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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"}
|