@haibun/core 3.1.3 → 3.3.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.
- package/build/currentVersion.d.ts +1 -1
- package/build/currentVersion.js +1 -1
- package/build/kireji/converter.d.ts +16 -1
- package/build/kireji/converter.d.ts.map +1 -1
- package/build/kireji/converter.js +19 -2
- package/build/kireji/converter.js.map +1 -1
- package/build/lib/EventLogger.d.ts +16 -10
- package/build/lib/EventLogger.d.ts.map +1 -1
- package/build/lib/EventLogger.js +54 -21
- package/build/lib/EventLogger.js.map +1 -1
- package/build/lib/astepper.d.ts +6 -0
- package/build/lib/astepper.d.ts.map +1 -1
- package/build/lib/astepper.js +1 -0
- package/build/lib/astepper.js.map +1 -1
- package/build/lib/base-prompt-manager.d.ts.map +1 -1
- package/build/lib/base-prompt-manager.js +2 -2
- package/build/lib/base-prompt-manager.js.map +1 -1
- package/build/lib/capture-locator.d.ts +1 -1
- package/build/lib/capture-locator.d.ts.map +1 -1
- package/build/lib/capture-locator.js +4 -2
- package/build/lib/capture-locator.js.map +1 -1
- package/build/lib/core/flow-runner.d.ts +5 -4
- package/build/lib/core/flow-runner.d.ts.map +1 -1
- package/build/lib/core/flow-runner.js +48 -15
- package/build/lib/core/flow-runner.js.map +1 -1
- package/build/lib/core-domains.d.ts +1 -1
- package/build/lib/core-domains.d.ts.map +1 -1
- package/build/lib/core-domains.js +1 -1
- package/build/lib/core-domains.js.map +1 -1
- package/build/lib/defs.d.ts +103 -200
- package/build/lib/defs.d.ts.map +1 -1
- package/build/lib/defs.js +4 -46
- package/build/lib/defs.js.map +1 -1
- package/build/lib/feature-variables.d.ts +2 -1
- package/build/lib/feature-variables.d.ts.map +1 -1
- package/build/lib/feature-variables.js +1 -2
- package/build/lib/feature-variables.js.map +1 -1
- package/build/lib/features.d.ts +5 -4
- package/build/lib/features.d.ts.map +1 -1
- package/build/lib/features.js +26 -16
- package/build/lib/features.js.map +1 -1
- package/build/lib/fixme.d.ts +1 -1
- package/build/lib/fixme.d.ts.map +1 -1
- package/build/lib/http-observations.d.ts +25 -0
- package/build/lib/http-observations.d.ts.map +1 -0
- package/build/lib/http-observations.js +40 -0
- package/build/lib/http-observations.js.map +1 -0
- package/build/lib/namedVars.d.ts +5 -1
- package/build/lib/namedVars.d.ts.map +1 -1
- package/build/lib/namedVars.js +11 -1
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/node-http-events.d.ts +16 -0
- package/build/lib/node-http-events.d.ts.map +1 -0
- package/build/lib/node-http-events.js +125 -0
- package/build/lib/node-http-events.js.map +1 -0
- package/build/lib/populateActionArgs.d.ts +2 -1
- package/build/lib/populateActionArgs.d.ts.map +1 -1
- package/build/lib/populateActionArgs.js.map +1 -1
- package/build/lib/resolver-features.d.ts +2 -1
- package/build/lib/resolver-features.d.ts.map +1 -1
- package/build/lib/resolver-features.js +2 -2
- package/build/lib/resolver-features.js.map +1 -1
- package/build/lib/step-trace.d.ts +10 -0
- package/build/lib/step-trace.d.ts.map +1 -0
- package/build/lib/step-trace.js +3 -0
- package/build/lib/step-trace.js.map +1 -0
- package/build/lib/stepper-registry.d.ts +28 -0
- package/build/lib/stepper-registry.d.ts.map +1 -0
- package/build/lib/stepper-registry.js +42 -0
- package/build/lib/stepper-registry.js.map +1 -0
- package/build/lib/test/SetTimeStepper.d.ts +2 -2
- package/build/lib/test/SetTimeStepper.d.ts.map +1 -1
- package/build/lib/test/SetTimeStepper.js +1 -1
- package/build/lib/test/SetTimeStepper.js.map +1 -1
- package/build/lib/test/TestSteps.d.ts +5 -3
- package/build/lib/test/TestSteps.d.ts.map +1 -1
- package/build/lib/test/TestStepsWithOptions.d.ts +3 -1
- package/build/lib/test/TestStepsWithOptions.d.ts.map +1 -1
- package/build/lib/test/TestStepsWithOptions.js +3 -5
- package/build/lib/test/TestStepsWithOptions.js.map +1 -1
- package/build/lib/test/lib.d.ts +4 -3
- package/build/lib/test/lib.d.ts.map +1 -1
- package/build/lib/test/lib.js +12 -12
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/test/resolvedTestFeatures.d.ts +5 -5
- package/build/lib/test/resolvedTestFeatures.js +1 -1
- package/build/lib/test/resolvedTestFeatures.js.map +1 -1
- package/build/lib/ttag.d.ts +2 -2
- package/build/lib/ttag.d.ts.map +1 -1
- package/build/lib/ttag.js +5 -5
- package/build/lib/ttag.js.map +1 -1
- package/build/lib/util/index.d.ts +20 -12
- package/build/lib/util/index.d.ts.map +1 -1
- package/build/lib/util/index.js +53 -17
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/workspace-discovery.d.ts +37 -0
- package/build/lib/workspace-discovery.d.ts.map +1 -0
- package/build/lib/workspace-discovery.js +96 -0
- package/build/lib/workspace-discovery.js.map +1 -0
- package/build/monitor/index.d.ts +1 -10
- package/build/monitor/index.d.ts.map +1 -1
- package/build/monitor/index.js +1 -14
- package/build/monitor/index.js.map +1 -1
- package/build/phases/Executor.d.ts +3 -11
- package/build/phases/Executor.d.ts.map +1 -1
- package/build/phases/Executor.js +76 -169
- package/build/phases/Executor.js.map +1 -1
- package/build/phases/Resolver.d.ts +25 -1
- package/build/phases/Resolver.d.ts.map +1 -1
- package/build/phases/Resolver.js +88 -22
- package/build/phases/Resolver.js.map +1 -1
- package/build/phases/collector.d.ts +1 -0
- package/build/phases/collector.d.ts.map +1 -1
- package/build/phases/collector.js +7 -3
- package/build/phases/collector.js.map +1 -1
- package/build/runner.d.ts +3 -2
- package/build/runner.d.ts.map +1 -1
- package/build/runner.js +0 -1
- package/build/runner.js.map +1 -1
- package/build/schema/protocol.d.ts +1443 -0
- package/build/schema/protocol.d.ts.map +1 -0
- package/build/schema/protocol.js +429 -0
- package/build/schema/protocol.js.map +1 -0
- package/build/steps/activities-stepper.d.ts +24 -28
- package/build/steps/activities-stepper.d.ts.map +1 -1
- package/build/steps/activities-stepper.js +150 -162
- package/build/steps/activities-stepper.js.map +1 -1
- package/build/steps/conformance.d.ts +3 -1
- package/build/steps/conformance.d.ts.map +1 -1
- package/build/steps/conformance.js +1 -0
- package/build/steps/conformance.js.map +1 -1
- package/build/steps/console-monitor-stepper.d.ts +3 -6
- package/build/steps/console-monitor-stepper.d.ts.map +1 -1
- package/build/steps/console-monitor-stepper.js +23 -64
- package/build/steps/console-monitor-stepper.js.map +1 -1
- package/build/steps/debugger-stepper.d.ts +7 -4
- package/build/steps/debugger-stepper.d.ts.map +1 -1
- package/build/steps/debugger-stepper.js +36 -43
- package/build/steps/debugger-stepper.js.map +1 -1
- package/build/steps/haibun.d.ts +24 -16
- package/build/steps/haibun.d.ts.map +1 -1
- package/build/steps/haibun.js +68 -31
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/lib/tts.d.ts +2 -3
- package/build/steps/lib/tts.d.ts.map +1 -1
- package/build/steps/lib/tts.js +4 -5
- package/build/steps/lib/tts.js.map +1 -1
- package/build/steps/logic-stepper.d.ts +14 -3
- package/build/steps/logic-stepper.d.ts.map +1 -1
- package/build/steps/logic-stepper.js +116 -17
- package/build/steps/logic-stepper.js.map +1 -1
- package/build/steps/narrator.d.ts +7 -5
- package/build/steps/narrator.d.ts.map +1 -1
- package/build/steps/narrator.js +30 -18
- package/build/steps/narrator.js.map +1 -1
- package/build/steps/parse.d.ts +5 -3
- package/build/steps/parse.d.ts.map +1 -1
- package/build/steps/parse.js +2 -1
- package/build/steps/parse.js.map +1 -1
- package/build/steps/variables-stepper.d.ts +285 -4
- package/build/steps/variables-stepper.d.ts.map +1 -1
- package/build/steps/variables-stepper.js +44 -50
- package/build/steps/variables-stepper.js.map +1 -1
- package/package.json +9 -16
- package/build/lib/Logger.d.ts +0 -48
- package/build/lib/Logger.d.ts.map +0 -1
- package/build/lib/Logger.js +0 -85
- package/build/lib/Logger.js.map +0 -1
- package/build/lib/TestLogger.d.ts +0 -12
- package/build/lib/TestLogger.d.ts.map +0 -1
- package/build/lib/TestLogger.js +0 -12
- package/build/lib/TestLogger.js.map +0 -1
- package/build/lib/Timer.d.ts +0 -7
- package/build/lib/Timer.d.ts.map +0 -1
- package/build/lib/Timer.js +0 -9
- package/build/lib/Timer.js.map +0 -1
- package/build/lib/core/protocol.d.ts +0 -58
- package/build/lib/core/protocol.d.ts.map +0 -1
- package/build/lib/core/protocol.js +0 -18
- package/build/lib/core/protocol.js.map +0 -1
- package/build/lib/event-bridge.d.ts +0 -42
- package/build/lib/event-bridge.d.ts.map +0 -1
- package/build/lib/event-bridge.js +0 -214
- package/build/lib/event-bridge.js.map +0 -1
- package/build/lib/interfaces/logger.d.ts +0 -123
- package/build/lib/interfaces/logger.d.ts.map +0 -1
- package/build/lib/interfaces/logger.js +0 -29
- package/build/lib/interfaces/logger.js.map +0 -1
- package/build/lib/util/variables.d.ts +0 -9
- package/build/lib/util/variables.d.ts.map +0 -1
- package/build/lib/util/variables.js +0 -40
- package/build/lib/util/variables.js.map +0 -1
- package/build/monitor/browser-stubs.d.ts +0 -12
- package/build/monitor/browser-stubs.d.ts.map +0 -1
- package/build/monitor/browser-stubs.js +0 -20
- package/build/monitor/browser-stubs.js.map +0 -1
- package/build/monitor/constants.d.ts +0 -9
- package/build/monitor/constants.d.ts.map +0 -1
- package/build/monitor/constants.js +0 -9
- package/build/monitor/constants.js.map +0 -1
- package/build/monitor/event-view.d.ts +0 -40
- package/build/monitor/event-view.d.ts.map +0 -1
- package/build/monitor/event-view.js +0 -104
- package/build/monitor/event-view.js.map +0 -1
- package/build/monitor/filters.d.ts +0 -17
- package/build/monitor/filters.d.ts.map +0 -1
- package/build/monitor/filters.js +0 -32
- package/build/monitor/filters.js.map +0 -1
- package/build/monitor/formatters.d.ts +0 -27
- package/build/monitor/formatters.d.ts.map +0 -1
- package/build/monitor/formatters.js +0 -89
- package/build/monitor/formatters.js.map +0 -1
- package/build/monitor/jit-serialization.d.ts +0 -9
- package/build/monitor/jit-serialization.d.ts.map +0 -1
- package/build/monitor/jit-serialization.js +0 -73
- package/build/monitor/jit-serialization.js.map +0 -1
- package/build/monitor/monitor-types.d.ts +0 -119
- package/build/monitor/monitor-types.d.ts.map +0 -1
- package/build/monitor/monitor-types.js +0 -43
- package/build/monitor/monitor-types.js.map +0 -1
- package/build/monitor/speculative-tracker.d.ts +0 -20
- package/build/monitor/speculative-tracker.d.ts.map +0 -1
- package/build/monitor/speculative-tracker.js +0 -38
- package/build/monitor/speculative-tracker.js.map +0 -1
- package/build/monitor/state.d.ts +0 -31
- package/build/monitor/state.d.ts.map +0 -1
- package/build/monitor/state.js +0 -110
- package/build/monitor/state.js.map +0 -1
- package/build/monitor/timer.d.ts +0 -11
- package/build/monitor/timer.d.ts.map +0 -1
- package/build/monitor/timer.js +0 -13
- package/build/monitor/timer.js.map +0 -1
- package/build/monitor/tree-builder.d.ts +0 -25
- package/build/monitor/tree-builder.d.ts.map +0 -1
- package/build/monitor/tree-builder.js +0 -36
- package/build/monitor/tree-builder.js.map +0 -1
- package/build/schema/events.d.ts +0 -426
- package/build/schema/events.d.ts.map +0 -1
- package/build/schema/events.js +0 -123
- package/build/schema/events.js.map +0 -1
package/build/phases/Executor.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { SCENARIO_START } from '../lib/defs.js';
|
|
7
|
-
import { Timer } from '../lib/Timer.js';
|
|
1
|
+
import { ExecMode } from '../lib/defs.js';
|
|
2
|
+
import { STAY, STAY_FAILURE, STEP_DELAY, CONTINUE_AFTER_ERROR, FEATURE_START, Timer } from '../schema/protocol.js';
|
|
3
|
+
import { LifecycleEvent } from '../schema/protocol.js';
|
|
4
|
+
import { actionNotOK, sleep, findStepper, setStepperWorldsAndDomains, } from '../lib/util/index.js';
|
|
5
|
+
import { SCENARIO_START } from '../schema/protocol.js';
|
|
8
6
|
import { FeatureVariables } from '../lib/feature-variables.js';
|
|
9
7
|
import { populateActionArgs } from '../lib/populateActionArgs.js';
|
|
10
8
|
import { registerDomains } from '../lib/domain-types.js';
|
|
11
|
-
|
|
9
|
+
import { basename } from 'path';
|
|
12
10
|
function calculateShouldClose({ thisFeatureOK, isLast, stayOnFailure, continueAfterError }) {
|
|
13
11
|
if (thisFeatureOK) {
|
|
14
12
|
return true;
|
|
@@ -31,8 +29,6 @@ export class Executor {
|
|
|
31
29
|
if (!firstFailedFeature) {
|
|
32
30
|
return undefined;
|
|
33
31
|
}
|
|
34
|
-
// Filter out speculative failures - these are intentional failures inside compound
|
|
35
|
-
// statements like `not` that shouldn't be reported as the main error
|
|
36
32
|
const failedStep = firstFailedFeature.stepResults.find(sr => !sr.ok && sr.intent?.mode !== 'speculative');
|
|
37
33
|
if (!failedStep) {
|
|
38
34
|
return undefined;
|
|
@@ -55,43 +51,71 @@ export class Executor {
|
|
|
55
51
|
static async action(steppers, featureStep, found, args, world) {
|
|
56
52
|
const stepper = findStepper(steppers, found.stepperName);
|
|
57
53
|
const action = stepper.steps[found.actionName].action;
|
|
54
|
+
// Track step usage for observation pattern
|
|
55
|
+
const usageKey = `${found.stepperName}.${found.actionName}`;
|
|
56
|
+
// Ensure observations map exists (it should be initialized in executeFeatures)
|
|
57
|
+
if (!world.runtime.observations) {
|
|
58
|
+
world.runtime.observations = new Map();
|
|
59
|
+
}
|
|
60
|
+
const stepUsage = world.runtime.observations.get('stepUsage') || new Map();
|
|
61
|
+
stepUsage.set(usageKey, (stepUsage.get(usageKey) || 0) + 1);
|
|
62
|
+
world.runtime.observations.set('stepUsage', stepUsage);
|
|
58
63
|
try {
|
|
59
64
|
return await action(args, featureStep);
|
|
60
65
|
}
|
|
61
66
|
catch (caught) {
|
|
62
67
|
if (featureStep.intent?.mode !== 'speculative') {
|
|
63
|
-
world.
|
|
68
|
+
world.eventLogger.log(featureStep, 'error', caught.stack || caught.message);
|
|
64
69
|
}
|
|
65
|
-
|
|
66
|
-
incident: EExecutionMessageType.ACTION,
|
|
67
|
-
incidentDetails: { caught: (caught?.stack || caught).toString() },
|
|
68
|
-
};
|
|
69
|
-
return actionNotOK(`in ${featureStep.in}: ${caught.message}`, { messageContext });
|
|
70
|
+
return actionNotOK(`in ${featureStep.in}: ${caught.message}`);
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
73
|
static async executeFeatures(steppers, world, features) {
|
|
73
|
-
|
|
74
|
+
if (!world.runtime.observations) {
|
|
75
|
+
world.runtime.observations = new Map();
|
|
76
|
+
}
|
|
77
|
+
await addStepperConcerns(world, steppers);
|
|
74
78
|
world.eventLogger.setStepperCallback((event) => {
|
|
75
79
|
doStepperCycleSync(steppers, 'onEvent', event);
|
|
76
80
|
});
|
|
81
|
+
// Emit resolved features artifact once at the start
|
|
82
|
+
try {
|
|
83
|
+
const { ResolvedFeaturesArtifact } = await import('../schema/protocol.js');
|
|
84
|
+
const resolvedFeaturesEvent = ResolvedFeaturesArtifact.parse({
|
|
85
|
+
id: `artifact.resolvedFeatures`,
|
|
86
|
+
timestamp: Date.now(),
|
|
87
|
+
kind: 'artifact',
|
|
88
|
+
artifactType: 'resolvedFeatures',
|
|
89
|
+
resolvedFeatures: features,
|
|
90
|
+
mimetype: 'application/json',
|
|
91
|
+
});
|
|
92
|
+
world.eventLogger.emit(resolvedFeaturesEvent);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
// Silently continue if artifact emission fails
|
|
96
|
+
}
|
|
77
97
|
await doStepperCycle(steppers, 'startExecution', features);
|
|
78
98
|
let okSoFar = true;
|
|
79
99
|
const stayOnFailure = world.options[STAY] === STAY_FAILURE;
|
|
80
100
|
const featureResults = [];
|
|
81
101
|
let featureNum = 0;
|
|
82
102
|
const continueAfterError = !!(world.options[CONTINUE_AFTER_ERROR]);
|
|
103
|
+
// Create a synthetic featureStep for logging outside of step context
|
|
104
|
+
const syntheticStep = { source: { path: '' }, in: '', seqPath: [0], action: { actionName: 'runner', stepperName: 'Executor', step: { action: async () => ({ ok: true }) } } };
|
|
83
105
|
for (const feature of features) {
|
|
84
|
-
if (process.env.NODE_ENV !== 'test') {
|
|
85
|
-
console.log("\n");
|
|
86
|
-
}
|
|
87
106
|
featureNum++;
|
|
88
107
|
const isLast = featureNum === features.length;
|
|
89
108
|
world.runtime.exhaustionError = undefined;
|
|
90
|
-
const
|
|
109
|
+
const featureName = basename(feature.path).replace(/\..*$/, '');
|
|
110
|
+
const newWorld = { ...world, tag: { ...world.tag, featureNum: featureNum, featureName } };
|
|
91
111
|
const featureExecutor = new FeatureExecutor(steppers, newWorld);
|
|
112
|
+
// Reset observations for the new feature
|
|
113
|
+
if (newWorld.runtime) {
|
|
114
|
+
newWorld.runtime.observations = new Map();
|
|
115
|
+
}
|
|
92
116
|
await setStepperWorldsAndDomains(steppers, newWorld);
|
|
93
117
|
await doStepperCycle(steppers, 'startFeature', { resolvedFeature: feature, index: featureNum });
|
|
94
|
-
world.
|
|
118
|
+
world.eventLogger.log(syntheticStep, 'info', `feature ${featureNum}/${features.length}: ${feature.path}`);
|
|
95
119
|
const featureResult = await featureExecutor.doFeature(feature);
|
|
96
120
|
if (newWorld.runtime && newWorld.runtime.exhaustionError) {
|
|
97
121
|
world.runtime.exhaustionError = newWorld.runtime.exhaustionError;
|
|
@@ -105,23 +129,11 @@ export class Executor {
|
|
|
105
129
|
featureResults.push(featureResult);
|
|
106
130
|
const shouldCloseFactors = { thisFeatureOK: featureResult.ok, okSoFar, isLast, continueAfterError, stayOnFailure };
|
|
107
131
|
const shouldClose = calculateShouldClose(shouldCloseFactors);
|
|
108
|
-
if (shouldClose) {
|
|
109
|
-
world.logger.debug(`shouldClose ${JSON.stringify(shouldCloseFactors)}`);
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
world.logger.debug(`no shouldClose because ${JSON.stringify(shouldCloseFactors)}`);
|
|
113
|
-
}
|
|
114
132
|
await doStepperCycle(steppers, 'endFeature', { world: newWorld, shouldClose, isLast, okSoFar, continueAfterError, stayOnFailure, thisFeatureOK: featureResult.ok });
|
|
115
133
|
if (!okSoFar) {
|
|
116
134
|
if (!continueAfterError && !isLast) {
|
|
117
|
-
world.logger.debug(`stopping without ${CONTINUE_AFTER_ERROR}`);
|
|
118
135
|
break;
|
|
119
136
|
}
|
|
120
|
-
else {
|
|
121
|
-
if (continueAfterError && !isLast) {
|
|
122
|
-
world.logger.debug(`continuing because ${CONTINUE_AFTER_ERROR}`);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
137
|
}
|
|
126
138
|
}
|
|
127
139
|
const results = { ok: okSoFar, featureResults: featureResults, tag: world.tag, shared: world.shared, steppers, failure: undefined };
|
|
@@ -138,119 +150,75 @@ export class Executor {
|
|
|
138
150
|
export class FeatureExecutor {
|
|
139
151
|
steppers;
|
|
140
152
|
world;
|
|
141
|
-
logit;
|
|
142
153
|
startOffset;
|
|
143
|
-
constructor(steppers, world,
|
|
154
|
+
constructor(steppers, world, startOffset = Timer.since()) {
|
|
144
155
|
this.steppers = steppers;
|
|
145
156
|
this.world = world;
|
|
146
|
-
this.logit = logit;
|
|
147
157
|
this.startOffset = startOffset;
|
|
148
158
|
}
|
|
149
|
-
static formatStepLogMessage(featureStep, actionResult, isSubStep) {
|
|
150
|
-
const seqPathStr = formatCurrentSeqPath(featureStep.seqPath);
|
|
151
|
-
if (isSubStep) {
|
|
152
|
-
// Substeps use yield icon with maybe status
|
|
153
|
-
const maybeStatus = actionResult.ok ? MAYBE_CHECK_YES : MAYBE_CHECK_NO;
|
|
154
|
-
return `${CHECK_YIELD} ${seqPathStr} ${maybeStatus} ${featureStep.in}`;
|
|
155
|
-
}
|
|
156
|
-
// Top-level steps use YES/NO icons
|
|
157
|
-
if (actionResult.ok) {
|
|
158
|
-
return `${CHECK_YES} ${seqPathStr} ${featureStep.in}`;
|
|
159
|
-
}
|
|
160
|
-
const errorMsg = actionResult.message;
|
|
161
|
-
return `${CHECK_NO} ${seqPathStr} ${featureStep.in}\n Error: ${errorMsg}`;
|
|
162
|
-
}
|
|
163
159
|
async doFeature(feature) {
|
|
164
160
|
const world = this.world;
|
|
165
161
|
let ok = true;
|
|
166
162
|
world.runtime.stepResults = [];
|
|
167
163
|
let currentScenario = 0;
|
|
168
|
-
this.logit(`start feature ${currentScenario}`, { incident: EExecutionMessageType.FEATURE_START, incidentDetails: { startTime: Timer.START_TIME, feature } }, 'debug');
|
|
169
164
|
let scopedVars = new FeatureVariables(world, {});
|
|
170
165
|
let baseVars = new FeatureVariables(world, {});
|
|
171
|
-
// Emit resolved features artifact for mermaid diagram
|
|
172
|
-
// We do this at feature start so it's available immediately
|
|
173
|
-
try {
|
|
174
|
-
const { ResolvedFeaturesArtifact } = await import('../lib/EventLogger.js');
|
|
175
|
-
// Use a synthetic ID or sequence for this artifact
|
|
176
|
-
const resolvedFeaturesEvent = ResolvedFeaturesArtifact.parse({
|
|
177
|
-
id: `${world.tag.sequence}.artifact.resolvedFeatures`,
|
|
178
|
-
timestamp: Date.now(),
|
|
179
|
-
kind: 'artifact',
|
|
180
|
-
artifactType: 'resolvedFeatures',
|
|
181
|
-
resolvedFeatures: [feature],
|
|
182
|
-
mimetype: 'application/json',
|
|
183
|
-
});
|
|
184
|
-
// Pass the first step if available, or just emit directly?
|
|
185
|
-
// eventLogger.artifact requires TFeatureStep OR we can use emit directly.
|
|
186
|
-
// Since we supply ID, step is optional for ID generation, but required for type signature of .artifact().
|
|
187
|
-
// But we can use .emit() directly since we constructed the event completely.
|
|
188
|
-
world.eventLogger.emit(resolvedFeaturesEvent);
|
|
189
|
-
}
|
|
190
|
-
catch (e) {
|
|
191
|
-
console.error('Failed to emit resolved features artifact', e);
|
|
192
|
-
}
|
|
193
166
|
for (const step of feature.featureSteps) {
|
|
194
167
|
if (step.action.actionName === FEATURE_START) {
|
|
195
168
|
if (currentScenario) {
|
|
196
|
-
this.logit(`end scenario ${currentScenario}`, { incident: EExecutionMessageType.SCENARIO_END, incidentDetails: { currentScenario } }, 'debug');
|
|
197
169
|
await doStepperCycle(this.steppers, 'endScenario', undefined);
|
|
198
|
-
// Reset to base state (discarding scenario changes)
|
|
199
170
|
world.shared = new FeatureVariables(world, baseVars.all());
|
|
200
171
|
scopedVars = new FeatureVariables(world, world.shared.all());
|
|
201
172
|
currentScenario = 0;
|
|
202
173
|
}
|
|
174
|
+
// Set current feature path for dynamic statement execution (debugger, quantifiers, etc.)
|
|
175
|
+
world.runtime.currentFeaturePath = feature.path;
|
|
203
176
|
world.eventLogger.emit(LifecycleEvent.parse({
|
|
204
|
-
id: world.tag.
|
|
177
|
+
id: `feat-${world.tag.featureNum}`,
|
|
205
178
|
timestamp: Date.now(),
|
|
206
179
|
kind: 'lifecycle',
|
|
180
|
+
completeness: 'full',
|
|
207
181
|
type: 'feature',
|
|
208
182
|
stage: 'start',
|
|
209
|
-
|
|
183
|
+
featurePath: feature.path,
|
|
210
184
|
status: 'running',
|
|
211
185
|
}));
|
|
212
186
|
}
|
|
213
187
|
if (step.action.actionName === SCENARIO_START) {
|
|
214
188
|
if (currentScenario) {
|
|
215
|
-
this.logit(`end scenario ${currentScenario}`, { incident: EExecutionMessageType.SCENARIO_END, incidentDetails: { currentScenario } }, 'debug');
|
|
216
189
|
await doStepperCycle(this.steppers, 'endScenario', undefined);
|
|
217
|
-
// Save variables after scenario ends so they persist to next scenario
|
|
218
190
|
scopedVars = new FeatureVariables(world, world.shared.all());
|
|
219
191
|
}
|
|
220
192
|
currentScenario = currentScenario + 1;
|
|
221
|
-
this.logit(`start scenario ${currentScenario}`, { incident: EExecutionMessageType.SCENARIO_START, incidentDetails: { currentScenario, scenarioTitle: step.in } }, 'debug');
|
|
222
193
|
world.eventLogger.emit(LifecycleEvent.parse({
|
|
223
|
-
id: world.tag.
|
|
194
|
+
id: `feat-${world.tag.featureNum}.scen-${currentScenario + 1}`,
|
|
224
195
|
timestamp: Date.now(),
|
|
225
196
|
kind: 'lifecycle',
|
|
197
|
+
completeness: 'full',
|
|
226
198
|
type: 'scenario',
|
|
227
199
|
stage: 'start',
|
|
228
|
-
|
|
200
|
+
scenarioName: step.in,
|
|
229
201
|
status: 'running',
|
|
230
202
|
}));
|
|
231
203
|
await doStepperCycle(this.steppers, 'startScenario', { scopedVars });
|
|
232
204
|
}
|
|
233
|
-
// Prepend feature number and scenario number to seqPath
|
|
234
205
|
const augmentedStep = { ...step, seqPath: [world.tag.featureNum, currentScenario + 1, ...step.seqPath] };
|
|
235
206
|
const result = await FeatureExecutor.doFeatureStep(this.steppers, augmentedStep, world);
|
|
236
207
|
ok = ok && result.ok;
|
|
237
|
-
if (!ok
|
|
208
|
+
if (!ok) {
|
|
238
209
|
break;
|
|
239
210
|
}
|
|
240
211
|
if (world.options[STEP_DELAY]) {
|
|
241
212
|
await sleep(world.options[STEP_DELAY]);
|
|
242
213
|
}
|
|
243
|
-
// Stash feature variables (for feature-level steps before any scenario)
|
|
244
214
|
if (!currentScenario) {
|
|
245
215
|
scopedVars = new FeatureVariables(world, world.shared.all());
|
|
246
216
|
baseVars = new FeatureVariables(world, world.shared.all());
|
|
247
217
|
}
|
|
248
218
|
}
|
|
249
219
|
if (currentScenario) {
|
|
250
|
-
this.logit(`end scenario ${currentScenario}`, { incident: EExecutionMessageType.SCENARIO_END, incidentDetails: { currentScenario } }, 'debug');
|
|
251
220
|
await doStepperCycle(this.steppers, 'endScenario', undefined);
|
|
252
221
|
}
|
|
253
|
-
this.logit(`end feature ${currentScenario}`, { incident: EExecutionMessageType.FEATURE_END, incidentDetails: { totalTime: Timer.since() - this.startOffset, } }, 'debug');
|
|
254
222
|
const featureResult = { path: feature.path, ok, stepResults: world.runtime.stepResults };
|
|
255
223
|
return featureResult;
|
|
256
224
|
}
|
|
@@ -272,57 +240,19 @@ export class FeatureExecutor {
|
|
|
272
240
|
const start = Timer.since();
|
|
273
241
|
const args = await populateActionArgs(featureStep, world, steppers);
|
|
274
242
|
const isFullCycles = execMode === ExecMode.WITH_CYCLES;
|
|
275
|
-
const isPrompt = execMode === ExecMode.PROMPT;
|
|
276
|
-
const isSubStep = featureStep.isSubStep || false;
|
|
277
|
-
// Check if the action function is async
|
|
278
|
-
const stepper = findStepper(steppers, action.stepperName);
|
|
279
|
-
const actionFn = stepper.steps[action.actionName].action;
|
|
280
|
-
const isAsync = actionFn.constructor.name === 'AsyncFunction';
|
|
281
243
|
let actionResult;
|
|
282
244
|
if (isFullCycles) {
|
|
283
|
-
if (isAsync) {
|
|
284
|
-
// Use same log level for start as we'll use for completion
|
|
285
|
-
const startMessage = `⏳ ${formatCurrentSeqPath(featureStep.seqPath)} ${featureStep.in}`;
|
|
286
|
-
const startContext = { incident: EExecutionMessageType.STEP_START, tag: world.tag, incidentDetails: { featureStep, args } };
|
|
287
|
-
if (isSubStep) {
|
|
288
|
-
world.logger.trace(startMessage, startContext);
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
world.logger.log(startMessage, startContext);
|
|
292
|
-
}
|
|
293
|
-
if (isSubStep) {
|
|
294
|
-
world.logger.trace(startMessage, startContext);
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
world.logger.log(startMessage, startContext);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
245
|
if (action.actionName !== FEATURE_START && action.actionName !== SCENARIO_START) {
|
|
301
|
-
world.eventLogger.stepStart(featureStep, action.stepperName, action.actionName);
|
|
246
|
+
world.eventLogger.stepStart(featureStep, action.stepperName, action.actionName, args, featureStep.action.stepValuesMap);
|
|
302
247
|
}
|
|
303
248
|
let doAction = true;
|
|
304
249
|
while (doAction) {
|
|
305
250
|
await doStepperCycle(steppers, 'beforeStep', ({ featureStep }));
|
|
306
251
|
actionResult = await Executor.action(steppers, featureStep, action, args, world);
|
|
307
|
-
const baseContext = {
|
|
308
|
-
artifacts: actionResult.artifact ? [actionResult.artifact] : undefined,
|
|
309
|
-
tag: world.tag,
|
|
310
|
-
incidentDetails: { actionResult, featureStep }
|
|
311
|
-
};
|
|
312
|
-
const messageContext = { ...baseContext, incident: EExecutionMessageType.STEP_END };
|
|
313
252
|
if (action.actionName !== FEATURE_START && action.actionName !== SCENARIO_START) {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
// Format the log message
|
|
317
|
-
const logMessage = FeatureExecutor.formatStepLogMessage(featureStep, actionResult, isSubStep);
|
|
318
|
-
// Use trace level for sub-steps, log level for top-level steps
|
|
319
|
-
if (isSubStep) {
|
|
320
|
-
world.logger.trace(logMessage, messageContext);
|
|
321
|
-
}
|
|
322
|
-
else {
|
|
323
|
-
world.logger.log(logMessage, messageContext);
|
|
253
|
+
const errorMessage = !actionResult.ok ? actionResult.message : undefined;
|
|
254
|
+
world.eventLogger.stepEnd(featureStep, action.stepperName, action.actionName, actionResult.ok, errorMessage, args, featureStep.action.stepValuesMap, actionResult.topics);
|
|
324
255
|
}
|
|
325
|
-
// Push result BEFORE afterStep so parent appears before afterEvery child steps
|
|
326
256
|
world.runtime.stepResults.push(stepResultFromActionResult(actionResult, action, start, Timer.since(), featureStep, ok && actionResult.ok));
|
|
327
257
|
const instructions = await doStepperCycle(steppers, 'afterStep', ({ featureStep, actionResult }), action.actionName);
|
|
328
258
|
doAction = instructions.some(i => i?.rerunStep);
|
|
@@ -333,37 +263,13 @@ export class FeatureExecutor {
|
|
|
333
263
|
else {
|
|
334
264
|
const doNext = instructions.some(i => i?.nextStep);
|
|
335
265
|
if (doNext) {
|
|
336
|
-
|
|
337
|
-
actionResult = { ...actionResult, ok: true, messageContext: { ...messageContext, incident: EExecutionMessageType.DEBUG, incidentDetails: { nextStep: true } } };
|
|
266
|
+
actionResult = { ...actionResult, ok: true };
|
|
338
267
|
}
|
|
339
268
|
}
|
|
340
269
|
}
|
|
341
270
|
}
|
|
342
271
|
else {
|
|
343
272
|
actionResult = await Executor.action(steppers, featureStep, action, args, world);
|
|
344
|
-
const baseContext = {
|
|
345
|
-
artifacts: actionResult.artifact ? [actionResult.artifact] : undefined,
|
|
346
|
-
tag: world.tag,
|
|
347
|
-
incidentDetails: { actionResult, featureStep }
|
|
348
|
-
};
|
|
349
|
-
const messageContext = { ...baseContext, incident: EExecutionMessageType.ACTION, incidentDetails: { ...baseContext.incidentDetails, execMode } };
|
|
350
|
-
// Format the log message using the same formatter
|
|
351
|
-
const logMessage = FeatureExecutor.formatStepLogMessage(featureStep, actionResult, isSubStep);
|
|
352
|
-
// Only log if we have a message (null means skip logging)
|
|
353
|
-
if (logMessage) {
|
|
354
|
-
if (isPrompt) {
|
|
355
|
-
world.logger.log(logMessage, messageContext);
|
|
356
|
-
}
|
|
357
|
-
else {
|
|
358
|
-
// Use trace for substeps, log for others
|
|
359
|
-
if (isSubStep) {
|
|
360
|
-
world.logger.trace(logMessage, messageContext);
|
|
361
|
-
}
|
|
362
|
-
else {
|
|
363
|
-
world.logger.log(logMessage, messageContext);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
273
|
}
|
|
368
274
|
ok = ok && actionResult.ok;
|
|
369
275
|
const stepResult = stepResultFromActionResult(actionResult, action, start, Timer.since(), featureStep, ok);
|
|
@@ -380,39 +286,40 @@ const doStepperCycle = async (steppers, method, args, guidance = '') => {
|
|
|
380
286
|
return (aVal ?? 0) - (bVal ?? 0);
|
|
381
287
|
});
|
|
382
288
|
for (const cycling of hasCycles) {
|
|
383
|
-
cycling.getWorld().logger.debug(`♻️ ${method} ${constructorName(cycling)} ${guidance}`);
|
|
384
289
|
const cycle = cycling.cycles[method];
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
290
|
+
if (cycle) {
|
|
291
|
+
const paramsForApply = args === undefined ? [] : [args];
|
|
292
|
+
const result = await cycle.apply(cycling, paramsForApply);
|
|
293
|
+
results.push(result);
|
|
294
|
+
}
|
|
389
295
|
}
|
|
390
296
|
return results;
|
|
391
297
|
};
|
|
392
|
-
// Synchronous version for event dispatch (onEvent doesn't need await)
|
|
393
298
|
const doStepperCycleSync = (steppers, method, args) => {
|
|
394
299
|
const hasCycles = steppers.filter(c => c.cycles && c.cycles[method]);
|
|
395
300
|
for (const cycling of hasCycles) {
|
|
396
301
|
const cycle = cycling.cycles[method];
|
|
397
|
-
|
|
398
|
-
|
|
302
|
+
if (cycle) {
|
|
303
|
+
const paramsForApply = args === undefined ? [] : [args];
|
|
304
|
+
cycle.apply(cycling, paramsForApply);
|
|
305
|
+
}
|
|
399
306
|
}
|
|
400
307
|
};
|
|
401
|
-
|
|
402
|
-
const
|
|
403
|
-
|
|
404
|
-
|
|
308
|
+
const addStepperConcerns = async (world, steppers) => {
|
|
309
|
+
const results = await doStepperCycle(steppers, 'getConcerns', undefined);
|
|
310
|
+
// Extract and register domains from concerns
|
|
311
|
+
const domains = results.filter(r => r?.domains).flatMap(r => r.domains);
|
|
312
|
+
registerDomains(world, [domains]);
|
|
313
|
+
// Sources are registered separately (looked up by name when needed)
|
|
405
314
|
};
|
|
406
315
|
function stepResultFromActionResult(actionResult, action, start, end, featureStep, ok) {
|
|
407
316
|
const stepActionResult = { ...actionResult, name: action.actionName, start, end };
|
|
408
317
|
const seqPath = featureStep.seqPath;
|
|
409
|
-
const stepResult = { in: featureStep.in, path: featureStep.path, ok, stepActionResult, seqPath, intent: featureStep.intent };
|
|
318
|
+
const stepResult = { in: featureStep.in, path: featureStep.source.path, lineNumber: featureStep.source.lineNumber, ok, stepActionResult, seqPath, intent: featureStep.intent };
|
|
410
319
|
return stepResult;
|
|
411
320
|
}
|
|
412
321
|
export function incSeqPath(withSeqPath, seqPath, dir = 1) {
|
|
413
|
-
// add a path to seqpath, then check world.runtime.stepResults to find the next available index accodring to dir
|
|
414
322
|
const prefix = seqPath.slice(0, -1);
|
|
415
|
-
// negative seqPath "starts" at -1 and counts down
|
|
416
323
|
let last = dir === -1 ? -1 : seqPath[seqPath.length - 1];
|
|
417
324
|
let candidate = [...prefix, last];
|
|
418
325
|
let found = true;
|
|
@@ -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":"AAAA,OAAO,EAAgI,QAAQ,EAAoB,MAAM,gBAAgB,CAAC;AAC1L,OAAO,EAAkF,IAAI,EAAE,YAAY,EAAoC,UAAU,EAAsB,oBAAoB,EAAwD,aAAa,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC/S,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,0BAA0B,GAAG,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,SAAS,oBAAoB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAoG;IAC3L,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AACD,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,MAAM,OAAO,QAAQ;IACZ,MAAM,CAAC,sBAAsB,CAAC,cAAgC;QACrE,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAC3D,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,aAAa,CAC3C,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,IAAI,SAAS,IAAI,UAAU,CAAC,gBAAgB;YAC3F,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO;YACrC,CAAC,CAAC,uBAAuB,CAAC;QAE3B,OAAO;YACN,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACN,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE;oBACR,IAAI,EAAE,UAAU,CAAC,EAAE;oBACnB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,OAAO,EAAE,UAAU,CAAC,OAAO;iBAC3B;aACD;SACD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAoB,EAAE,WAAyB,EAAE,KAAkB,EAAE,IAAe,EAAE,KAAa;QACtH,MAAM,OAAO,GAAG,WAAW,CAAW,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QAEtD,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC5D,+EAA+E;QAC/E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,SAAS,GAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAyB,IAAI,IAAI,GAAG,EAAkB,CAAC;QACpH,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAIvD,IAAI,CAAC;YACJ,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YACjB,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChD,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,WAAW,CAAC,MAAM,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,QAAoB,EAAE,KAAa,EAAE,QAA4B;QAE7F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE1C,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,IAAI,CAAC;YACJ,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAC3E,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC;gBAC5D,EAAE,EAAE,2BAA2B;gBAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,kBAAkB;gBAChC,gBAAgB,EAAE,QAAQ;gBAC1B,QAAQ,EAAE,kBAAkB;aAC5B,CAAC,CAAC;YACH,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACR,+CAA+C;QAChD,CAAC;QAED,MAAM,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC;QAC3D,MAAM,cAAc,GAAqB,EAAE,CAAC;QAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,kBAAkB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEnE,qEAAqE;QACrE,MAAM,aAAa,GAAiB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QAE5L,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,UAAU,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,UAAU,KAAK,QAAQ,CAAC,MAAM,CAAC;YAE9C,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;YAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;YAE1F,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEhE,yCAAyC;YACzC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,QAAQ,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;YAE3C,CAAC;YAED,MAAM,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAChG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAE1G,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC1D,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;YAClE,CAAC;YACD,MAAM,aAAa,GAAG,aAAa,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChE,MAAM,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,GAAG,OAAO,IAAI,aAAa,CAAC;YACnC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,MAAM,kBAAkB,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAA;YAClH,MAAM,WAAW,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAC7D,MAAM,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;YACjL,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACrJ,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,MAAM,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AAED,MAAM,OAAO,eAAe;IACP;IAA8B;IAAuB;IAAzE,YAAoB,QAAoB,EAAU,KAAa,EAAU,cAAc,KAAK,CAAC,KAAK,EAAE;QAAhF,aAAQ,GAAR,QAAQ,CAAY;QAAU,UAAK,GAAL,KAAK,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAgB;IACpG,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAyB;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;QAE/B,IAAI,eAAe,GAAW,CAAC,CAAC;QAEhC,IAAI,UAAU,GAAqB,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,QAAQ,GAAqB,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEjE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,aAAa,EAAE,CAAC;gBAC9C,IAAI,eAAe,EAAE,CAAC;oBACrB,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;oBAC9D,KAAK,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC3D,UAAU,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7D,eAAe,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,yFAAyF;gBACzF,KAAK,CAAC,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;oBAC3C,EAAE,EAAE,QAAQ,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE;oBAClC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,IAAI,EAAE,WAAW;oBACjB,YAAY,EAAE,MAAM;oBACpB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,MAAM,EAAE,SAAS;iBACjB,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;gBAC/C,IAAI,eAAe,EAAE,CAAC;oBACrB,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;oBAC9D,UAAU,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;gBACtC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;oBAC3C,EAAE,EAAE,QAAQ,KAAK,CAAC,GAAG,CAAC,UAAU,SAAS,eAAe,GAAG,CAAC,EAAE;oBAC9D,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,IAAI,EAAE,WAAW;oBACjB,YAAY,EAAE,MAAM;oBACpB,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,OAAO;oBACd,YAAY,EAAE,IAAI,CAAC,EAAE;oBACrB,MAAM,EAAE,SAAS;iBACjB,CAAC,CAAC,CAAC;gBACJ,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAEzG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YACxF,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,MAAM;YACP,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,UAAU,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7D,QAAQ,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,aAAa,GAAmB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAEzG,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,QAAoB,EAAE,WAAyB,EAAE,KAAa,EAAE,WAAqB,QAAQ,CAAC,WAAW;QACnI,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAe,EAAE;YAC/D,OAAO,0BAA0B,CAChC,WAAW,CAAC,OAAO,CAAC,EACpB,MAAM,EACN,WAAW,EACX,KAAK,CAAC,KAAK,EAAE,EACb,WAAW,EACX,KAAK,CACL,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACnC,OAAO,sBAAsB,CAAC,qBAAqB,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YACtD,MAAM,YAAY,GAAG,mCAAmC,WAAW,CAAC,OAAO,CAAC,MAAM,MAAM,mBAAmB,2CAA2C,WAAW,CAAC,EAAE,EAAE,CAAC;YACvK,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC;YAC7C,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,EAAE,GAAG,IAAI,CAAC;QAEd,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEpE,MAAM,YAAY,GAAG,QAAQ,KAAK,QAAQ,CAAC,WAAW,CAAC;QAEvD,IAAI,YAA2B,CAAC;QAChC,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,UAAU,KAAK,aAAa,IAAI,MAAM,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;gBACjF,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACzH,CAAC;YACD,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,OAAO,QAAQ,EAAE,CAAC;gBACjB,MAAM,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAe,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC7E,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEjF,IAAI,MAAM,CAAC,UAAU,KAAK,aAAa,IAAI,MAAM,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;oBACjF,MAAM,YAAY,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,YAAmC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC3K,CAAC;gBAED,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3I,MAAM,YAAY,GAAuB,MAAM,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAc,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBACrJ,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACjD,IAAI,MAAM,EAAE,CAAC;oBACZ,EAAE,GAAG,KAAK,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACP,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACnD,IAAI,MAAM,EAAE,CAAC;wBACZ,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;oBAC9C,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;QAED,EAAE,GAAG,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAE3G,OAAO,UAAU,CAAC;IACnB,CAAC;CACD;AAED,MAAM,cAAc,GAAG,KAAK,EAAkC,QAAoB,EAAE,MAAS,EAAE,IAA0B,EAAE,QAAQ,GAAG,EAAE,EAAkE,EAAE;IAC3M,MAAM,OAAO,GAA0D,EAAE,CAAC;IAC1E,MAAM,SAAS,GAAI,QAAmD,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC9G,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACd,MAAM,GAAG,GAAG,MAAmC,CAAC;QAChD,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACJ,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,cAAc,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAO,KAA+C,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACrG,OAAO,CAAC,IAAI,CAAC,MAA6D,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAiC,QAAoB,EAAE,MAAS,EAAE,IAA0B,EAAQ,EAAE;IAChI,MAAM,SAAS,GAAI,QAAmD,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACjH,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,cAAc,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,KAAmC,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrE,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAa,EAAE,QAAoB,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IACzE,6CAA6C;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACxE,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,oEAAoE;AACrE,CAAC,CAAA;AAED,SAAS,0BAA0B,CAAC,YAA2B,EAAE,MAAmB,EAAE,KAAa,EAAE,GAAW,EAAE,WAAyB,EAAE,EAAW;IACvJ,MAAM,gBAAgB,GAAsB,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAuB,CAAC;IAC1H,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,MAAM,UAAU,GAAgB,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5L,OAAO,UAAU,CAAC;AACnB,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,WAAoC,EAAE,OAAiB,EAAE,GAAG,GAAG,CAAC;IAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,IAAI,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,KAAK,EAAE,CAAC;QACd,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACvF,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,IAAI,GAAG,CAAC;YACZ,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -3,16 +3,40 @@ import { AStepper } from '../lib/astepper.js';
|
|
|
3
3
|
export declare class Resolver {
|
|
4
4
|
private steppers;
|
|
5
5
|
private backgrounds;
|
|
6
|
+
backgroundWarnings: {
|
|
7
|
+
path: string;
|
|
8
|
+
line: string;
|
|
9
|
+
error: string;
|
|
10
|
+
}[];
|
|
6
11
|
constructor(steppers: AStepper[], backgrounds?: TFeatures);
|
|
7
12
|
private callResolveFeatureLine;
|
|
8
13
|
resolveStepsFromFeatures(features: TExpandedFeature[]): Promise<TResolvedFeature[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Notify steppers that we're starting to resolve a new feature.
|
|
16
|
+
* This allows steppers to clear feature-scoped steps that shouldn't leak between features.
|
|
17
|
+
*/
|
|
18
|
+
private startFeatureResolution;
|
|
9
19
|
findFeatureSteps(feature: TExpandedFeature): Promise<TFeatureStep[]>;
|
|
20
|
+
findFeatureStepsTolerant(feature: TExpandedFeature): Promise<{
|
|
21
|
+
steps: TFeatureStep[];
|
|
22
|
+
errors: {
|
|
23
|
+
featureLine: TExpandedLine;
|
|
24
|
+
error: Error;
|
|
25
|
+
}[];
|
|
26
|
+
}>;
|
|
27
|
+
findFeatureStepsTolerantSync(feature: TExpandedFeature): {
|
|
28
|
+
steps: TFeatureStep[];
|
|
29
|
+
errors: {
|
|
30
|
+
featureLine: TExpandedLine;
|
|
31
|
+
error: Error;
|
|
32
|
+
}[];
|
|
33
|
+
};
|
|
10
34
|
findSingleStepAction(line: string): TStepAction;
|
|
11
35
|
getFeatureStep(featureLine: TExpandedLine, seq: number, action: TStepAction): TFeatureStep;
|
|
12
36
|
findActionableSteps(actionable: string): TStepAction[];
|
|
13
37
|
private stepApplies;
|
|
14
38
|
}
|
|
15
|
-
export declare function getActionableStatement(steppers: AStepper[], statement: string, path: string, seqPath: number[]): {
|
|
39
|
+
export declare function getActionableStatement(steppers: AStepper[], statement: string, path: string, seqPath: number[], lineNumber?: number): {
|
|
16
40
|
featureStep: TFeatureStep;
|
|
17
41
|
steppers: AStepper[];
|
|
18
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../../src/phases/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../../src/phases/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAgB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAY,MAAM,gBAAgB,CAAC;AAEzJ,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C,qBAAa,QAAQ;IAGR,OAAO,CAAC,QAAQ;IAAc,OAAO,CAAC,WAAW;IAFtD,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;gBAE5D,QAAQ,EAAE,QAAQ,EAAE,EAAU,WAAW,GAAE,SAAc;IA0B7E,OAAO,CAAC,sBAAsB;IAcjB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;IAclE;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAQjB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAS1E,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAAC,MAAM,EAAE;YAAE,WAAW,EAAE,aAAa,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IAI/I,4BAA4B,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAAC,MAAM,EAAE;YAAE,WAAW,EAAE,aAAa,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,EAAE,CAAA;KAAE;IAqEjJ,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IA2B/C,cAAc,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY;IAgBnF,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE;IAkB7D,OAAO,CAAC,WAAW;CAoBnB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM;;;EAgBnI;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,SAAI,GAAG,YAAY,EAAE,CAwC/J"}
|