@haibun/core 4.0.0-alpha.2 → 4.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/currentVersion.d.ts +1 -1
- package/build/currentVersion.js +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/kireji/converter.d.ts +2 -2
- package/build/kireji/converter.d.ts.map +1 -1
- package/build/kireji/converter.js +12 -9
- package/build/kireji/converter.js.map +1 -1
- package/build/kireji/withAction.d.ts +16 -4
- package/build/kireji/withAction.d.ts.map +1 -1
- package/build/kireji/withAction.js +40 -11
- package/build/kireji/withAction.js.map +1 -1
- package/build/lib/EventLogger.d.ts +5 -5
- package/build/lib/EventLogger.d.ts.map +1 -1
- package/build/lib/EventLogger.js +39 -37
- package/build/lib/EventLogger.js.map +1 -1
- package/build/lib/PhaseRunner.d.ts +3 -3
- package/build/lib/PhaseRunner.d.ts.map +1 -1
- package/build/lib/PhaseRunner.js +7 -5
- package/build/lib/PhaseRunner.js.map +1 -1
- package/build/lib/astepper.d.ts +90 -13
- package/build/lib/astepper.d.ts.map +1 -1
- package/build/lib/astepper.js +35 -6
- package/build/lib/astepper.js.map +1 -1
- package/build/lib/base-prompt-manager.d.ts +1 -1
- package/build/lib/base-prompt-manager.d.ts.map +1 -1
- 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 +5 -5
- package/build/lib/capture-locator.js.map +1 -1
- package/build/lib/core/flow-runner.d.ts +8 -7
- package/build/lib/core/flow-runner.d.ts.map +1 -1
- package/build/lib/core/flow-runner.js +42 -71
- package/build/lib/core/flow-runner.js.map +1 -1
- package/build/lib/core-domains.d.ts +2 -2
- package/build/lib/core-domains.d.ts.map +1 -1
- package/build/lib/core-domains.js +17 -18
- package/build/lib/core-domains.js.map +1 -1
- package/build/lib/defs.d.ts +2 -13
- package/build/lib/defs.d.ts.map +1 -1
- package/build/lib/defs.js.map +1 -1
- package/build/lib/document-content.d.ts +18 -0
- package/build/lib/document-content.d.ts.map +1 -0
- package/build/lib/document-content.js +158 -0
- package/build/lib/document-content.js.map +1 -0
- package/build/lib/domains.d.ts +31 -0
- package/build/lib/domains.d.ts.map +1 -0
- package/build/lib/domains.js +105 -0
- package/build/lib/domains.js.map +1 -0
- package/build/lib/execution.d.ts +304 -0
- package/build/lib/execution.d.ts.map +1 -0
- package/build/lib/execution.js +23 -0
- package/build/lib/execution.js.map +1 -0
- package/build/lib/feature-variables.d.ts +21 -50
- package/build/lib/feature-variables.d.ts.map +1 -1
- package/build/lib/feature-variables.js +122 -232
- package/build/lib/feature-variables.js.map +1 -1
- package/build/lib/features.d.ts +2 -2
- package/build/lib/features.d.ts.map +1 -1
- package/build/lib/features.js +13 -17
- package/build/lib/features.js.map +1 -1
- package/build/lib/fixme.d.ts.map +1 -1
- package/build/lib/host-id.d.ts +44 -0
- package/build/lib/host-id.d.ts.map +1 -0
- package/build/lib/host-id.js +51 -0
- package/build/lib/host-id.js.map +1 -0
- package/build/lib/http-observations.d.ts +15 -2
- package/build/lib/http-observations.d.ts.map +1 -1
- package/build/lib/http-observations.js +40 -23
- package/build/lib/http-observations.js.map +1 -1
- package/build/lib/hypermedia.d.ts +62 -0
- package/build/lib/hypermedia.d.ts.map +1 -0
- package/build/lib/hypermedia.js +228 -0
- package/build/lib/hypermedia.js.map +1 -0
- package/build/lib/namedVars.d.ts +2 -2
- package/build/lib/namedVars.d.ts.map +1 -1
- package/build/lib/namedVars.js +25 -30
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/node-http-events.d.ts +3 -3
- package/build/lib/node-http-events.d.ts.map +1 -1
- package/build/lib/node-http-events.js +26 -26
- package/build/lib/node-http-events.js.map +1 -1
- package/build/lib/populateActionArgs.d.ts +4 -4
- package/build/lib/populateActionArgs.d.ts.map +1 -1
- package/build/lib/populateActionArgs.js +4 -6
- package/build/lib/populateActionArgs.js.map +1 -1
- package/build/lib/prompter.d.ts.map +1 -1
- package/build/lib/prompter.js +10 -7
- package/build/lib/prompter.js.map +1 -1
- package/build/lib/quad-store.d.ts +34 -10
- package/build/lib/quad-store.d.ts.map +1 -1
- package/build/lib/quad-store.js +169 -21
- package/build/lib/quad-store.js.map +1 -1
- package/build/lib/quad-types.d.ts +80 -9
- package/build/lib/quad-types.d.ts.map +1 -1
- package/build/lib/quad-types.js +46 -2
- package/build/lib/quad-types.js.map +1 -1
- package/build/lib/readline-prompter.d.ts +1 -1
- package/build/lib/readline-prompter.js +4 -4
- package/build/lib/remote-stepper-proxy.d.ts +56 -0
- package/build/lib/remote-stepper-proxy.d.ts.map +1 -0
- package/build/lib/remote-stepper-proxy.js +123 -0
- package/build/lib/remote-stepper-proxy.js.map +1 -0
- package/build/lib/resolver-features.d.ts +1 -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/resources.d.ts +461 -0
- package/build/lib/resources.d.ts.map +1 -0
- package/build/lib/resources.js +249 -0
- package/build/lib/resources.js.map +1 -0
- package/build/lib/rpc-client.d.ts +68 -0
- package/build/lib/rpc-client.d.ts.map +1 -0
- package/build/lib/rpc-client.js +186 -0
- package/build/lib/rpc-client.js.map +1 -0
- package/build/lib/sse-subscriber.d.ts +57 -0
- package/build/lib/sse-subscriber.d.ts.map +1 -0
- package/build/lib/sse-subscriber.js +110 -0
- package/build/lib/sse-subscriber.js.map +1 -0
- package/build/lib/step-dispatch.d.ts +92 -28
- package/build/lib/step-dispatch.d.ts.map +1 -1
- package/build/lib/step-dispatch.js +331 -75
- package/build/lib/step-dispatch.js.map +1 -1
- package/build/lib/step-validation.d.ts +3 -3
- package/build/lib/step-validation.d.ts.map +1 -1
- package/build/lib/step-validation.js +2 -2
- package/build/lib/step-validation.js.map +1 -1
- package/build/lib/stepper-cycles.d.ts +5 -0
- package/build/lib/stepper-cycles.d.ts.map +1 -0
- package/build/lib/stepper-cycles.js +31 -0
- package/build/lib/stepper-cycles.js.map +1 -0
- package/build/lib/stepper-registry.d.ts +6 -3
- package/build/lib/stepper-registry.d.ts.map +1 -1
- package/build/lib/stepper-registry.js +9 -8
- package/build/lib/stepper-registry.js.map +1 -1
- package/build/lib/subprocess-runner.d.ts +35 -0
- package/build/lib/subprocess-runner.d.ts.map +1 -0
- package/build/lib/subprocess-runner.js +60 -0
- package/build/lib/subprocess-runner.js.map +1 -0
- package/build/lib/subprocess-transport.d.ts +37 -0
- package/build/lib/subprocess-transport.d.ts.map +1 -0
- package/build/lib/subprocess-transport.js +113 -0
- package/build/lib/subprocess-transport.js.map +1 -0
- package/build/lib/test/EventCollectorStepper.d.ts +3 -3
- package/build/lib/test/EventCollectorStepper.d.ts.map +1 -1
- package/build/lib/test/EventCollectorStepper.js +3 -3
- package/build/lib/test/EventCollectorStepper.js.map +1 -1
- package/build/lib/test/SetTimeStepper.d.ts +3 -3
- package/build/lib/test/SetTimeStepper.d.ts.map +1 -1
- package/build/lib/test/SetTimeStepper.js +7 -7
- package/build/lib/test/SetTimeStepper.js.map +1 -1
- package/build/lib/test/TestSteps.d.ts +7 -7
- package/build/lib/test/TestSteps.d.ts.map +1 -1
- package/build/lib/test/TestSteps.js +7 -7
- package/build/lib/test/TestSteps.js.map +1 -1
- package/build/lib/test/TestStepsWithOptions.d.ts +6 -6
- package/build/lib/test/TestStepsWithOptions.js +7 -7
- package/build/lib/test/lib.d.ts +3 -3
- package/build/lib/test/lib.d.ts.map +1 -1
- package/build/lib/test/lib.js +27 -21
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/test/resolvedTestFeatures.d.ts +6 -6
- package/build/lib/test/resolvedTestFeatures.d.ts.map +1 -1
- package/build/lib/test/resolvedTestFeatures.js +5 -5
- package/build/lib/test/subprocess-fixture.d.ts +8 -0
- package/build/lib/test/subprocess-fixture.d.ts.map +1 -0
- package/build/lib/test/subprocess-fixture.js +27 -0
- package/build/lib/test/subprocess-fixture.js.map +1 -0
- package/build/lib/ttag.d.ts +7 -1
- package/build/lib/ttag.d.ts.map +1 -1
- package/build/lib/ttag.js +5 -4
- package/build/lib/ttag.js.map +1 -1
- package/build/lib/util/dot-path.d.ts +2 -2
- package/build/lib/util/dot-path.d.ts.map +1 -1
- package/build/lib/util/dot-path.js +8 -7
- package/build/lib/util/dot-path.js.map +1 -1
- package/build/lib/util/index.d.ts +10 -24
- package/build/lib/util/index.d.ts.map +1 -1
- package/build/lib/util/index.js +43 -93
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/util/node/actualURI.d.ts +4 -0
- package/build/lib/util/node/actualURI.d.ts.map +1 -0
- package/build/lib/util/node/actualURI.js +10 -0
- package/build/lib/util/node/actualURI.js.map +1 -0
- package/build/lib/util/node/module-loader.d.ts +14 -0
- package/build/lib/util/node/module-loader.d.ts.map +1 -0
- package/build/lib/util/node/module-loader.js +51 -0
- package/build/lib/util/node/module-loader.js.map +1 -0
- package/build/lib/util/node/workspace-lib.d.ts +15 -0
- package/build/lib/util/node/workspace-lib.d.ts.map +1 -0
- package/build/lib/util/node/workspace-lib.js +119 -0
- package/build/lib/util/node/workspace-lib.js.map +1 -0
- package/build/lib/util/secret-utils.d.ts.map +1 -1
- package/build/lib/util/secret-utils.js +2 -2
- package/build/lib/util/secret-utils.js.map +1 -1
- package/build/lib/vertex-crud.d.ts +22 -0
- package/build/lib/vertex-crud.d.ts.map +1 -0
- package/build/lib/vertex-crud.js +73 -0
- package/build/lib/vertex-crud.js.map +1 -0
- package/build/lib/workspace-discovery.d.ts +1 -1
- package/build/lib/workspace-discovery.d.ts.map +1 -1
- package/build/lib/workspace-discovery.js +10 -10
- package/build/lib/workspace-discovery.js.map +1 -1
- package/build/lib/zcap-like-authority.d.ts +38 -0
- package/build/lib/zcap-like-authority.d.ts.map +1 -0
- package/build/lib/zcap-like-authority.js +56 -0
- package/build/lib/zcap-like-authority.js.map +1 -0
- package/build/monitor/index.d.ts +1 -1
- package/build/monitor/index.d.ts.map +1 -1
- package/build/monitor/index.js +1 -1
- package/build/monitor/index.js.map +1 -1
- package/build/phases/Executor.d.ts +31 -7
- package/build/phases/Executor.d.ts.map +1 -1
- package/build/phases/Executor.js +201 -219
- package/build/phases/Executor.js.map +1 -1
- package/build/phases/Resolver.d.ts +2 -2
- package/build/phases/Resolver.d.ts.map +1 -1
- package/build/phases/Resolver.js +35 -30
- package/build/phases/Resolver.js.map +1 -1
- package/build/phases/collector.d.ts +3 -3
- package/build/phases/collector.d.ts.map +1 -1
- package/build/phases/collector.js +19 -17
- package/build/phases/collector.js.map +1 -1
- package/build/run-policy/run-policy-schema.d.ts +3 -5
- package/build/run-policy/run-policy-schema.d.ts.map +1 -1
- package/build/run-policy/run-policy-schema.js +41 -37
- package/build/run-policy/run-policy-schema.js.map +1 -1
- package/build/run-policy/run-policy-types.d.ts +1 -1
- package/build/run-policy/run-policy-types.d.ts.map +1 -1
- package/build/run-policy/run-policy-types.js +19 -16
- package/build/run-policy/run-policy-types.js.map +1 -1
- package/build/runner.d.ts +4 -4
- package/build/runner.d.ts.map +1 -1
- package/build/runner.js +15 -13
- package/build/runner.js.map +1 -1
- package/build/schema/protocol.d.ts +153 -61
- package/build/schema/protocol.d.ts.map +1 -1
- package/build/schema/protocol.js +177 -148
- package/build/schema/protocol.js.map +1 -1
- package/build/steps/activities-stepper.d.ts +13 -13
- package/build/steps/activities-stepper.d.ts.map +1 -1
- package/build/steps/activities-stepper.js +105 -79
- package/build/steps/activities-stepper.js.map +1 -1
- package/build/steps/conformance.d.ts +5 -5
- package/build/steps/conformance.js +4 -4
- package/build/steps/console-monitor-stepper.d.ts +2 -2
- package/build/steps/console-monitor-stepper.d.ts.map +1 -1
- package/build/steps/console-monitor-stepper.js +22 -22
- package/build/steps/console-monitor-stepper.js.map +1 -1
- package/build/steps/debugger-stepper.d.ts +11 -11
- package/build/steps/debugger-stepper.d.ts.map +1 -1
- package/build/steps/debugger-stepper.js +65 -64
- package/build/steps/debugger-stepper.js.map +1 -1
- package/build/steps/finalizer-stepper.d.ts +3 -4
- package/build/steps/finalizer-stepper.d.ts.map +1 -1
- package/build/steps/finalizer-stepper.js +16 -19
- package/build/steps/finalizer-stepper.js.map +1 -1
- package/build/steps/haibun.d.ts +27 -20
- package/build/steps/haibun.d.ts.map +1 -1
- package/build/steps/haibun.js +76 -67
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/lib/tts.d.ts +1 -1
- package/build/steps/lib/tts.d.ts.map +1 -1
- package/build/steps/lib/tts.js +28 -28
- package/build/steps/lib/tts.js.map +1 -1
- package/build/steps/logic-stepper.d.ts +5 -5
- package/build/steps/logic-stepper.d.ts.map +1 -1
- package/build/steps/logic-stepper.js +76 -76
- package/build/steps/logic-stepper.js.map +1 -1
- package/build/steps/narrator.d.ts +9 -9
- package/build/steps/narrator.d.ts.map +1 -1
- package/build/steps/narrator.js +32 -28
- package/build/steps/narrator.js.map +1 -1
- package/build/steps/resources-stepper.d.ts +47 -0
- package/build/steps/resources-stepper.d.ts.map +1 -0
- package/build/steps/resources-stepper.js +100 -0
- package/build/steps/resources-stepper.js.map +1 -0
- package/build/steps/variables-stepper.d.ts +57 -57
- package/build/steps/variables-stepper.d.ts.map +1 -1
- package/build/steps/variables-stepper.js +252 -224
- package/build/steps/variables-stepper.js.map +1 -1
- package/build/steps/zcap-like-stepper.d.ts +50 -0
- package/build/steps/zcap-like-stepper.d.ts.map +1 -0
- package/build/steps/zcap-like-stepper.js +113 -0
- package/build/steps/zcap-like-stepper.js.map +1 -0
- package/package.json +1 -1
- package/build/lib/consts.d.ts +0 -5
- package/build/lib/consts.d.ts.map +0 -1
- package/build/lib/consts.js +0 -5
- package/build/lib/consts.js.map +0 -1
- package/build/lib/step-helpers.d.ts +0 -10
- package/build/lib/step-helpers.d.ts.map +0 -1
- package/build/lib/step-helpers.js +0 -16
- package/build/lib/step-helpers.js.map +0 -1
package/build/phases/Executor.js
CHANGED
|
@@ -1,172 +1,204 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { DOMAIN_VERTEX_LABEL } from "../lib/resources.js";
|
|
3
|
+
import { STAY, STAY_FAILURE, STEP_DELAY, CONTINUE_AFTER_ERROR, FEATURE_START, Timer, STAY_ALWAYS, } from "../schema/protocol.js";
|
|
4
|
+
import { LifecycleEvent } from "../schema/protocol.js";
|
|
5
|
+
import { sleep, setStepperWorldsAndDomains, constructorName } from "../lib/util/index.js";
|
|
6
|
+
import { StepRegistry, dispatchStep } from "../lib/step-dispatch.js";
|
|
7
|
+
import { SCENARIO_START } from "../schema/protocol.js";
|
|
8
|
+
import { FeatureVariables } from "../lib/feature-variables.js";
|
|
9
|
+
import { registerDomains } from "../lib/domains.js";
|
|
10
|
+
import { doStepperCycle, doStepperCycleSync } from "../lib/stepper-cycles.js";
|
|
11
|
+
import { basename } from "path";
|
|
12
|
+
export function calculateShouldClose({ thisFeatureOK, isLast, stayOnFailure, continueAfterError, stayAlways, }) {
|
|
13
13
|
const effectivelyLast = isLast || (!thisFeatureOK && !continueAfterError);
|
|
14
|
-
|
|
15
|
-
if (!effectivelyLast) {
|
|
14
|
+
if (!effectivelyLast)
|
|
16
15
|
return true;
|
|
17
|
-
|
|
18
|
-
// From here, we're on the last feature - apply stay logic
|
|
19
|
-
if (stayAlways) {
|
|
16
|
+
if (stayAlways)
|
|
20
17
|
return false;
|
|
21
|
-
|
|
22
|
-
if (!thisFeatureOK && stayOnFailure) {
|
|
18
|
+
if (!thisFeatureOK && stayOnFailure)
|
|
23
19
|
return false;
|
|
24
|
-
}
|
|
25
20
|
return true;
|
|
26
21
|
}
|
|
27
|
-
|
|
22
|
+
function initExecutionRuntime(world) {
|
|
23
|
+
if (!world.runtime.observations) {
|
|
24
|
+
world.runtime.observations = new Map();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function initFeatureRuntime(world) {
|
|
28
|
+
if (world.runtime) {
|
|
29
|
+
world.runtime.observations = new Map();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Duck-typed attach() on every stepper that implements a transport
|
|
34
|
+
* (has `attach` and `detach` methods). Called from two places:
|
|
35
|
+
*
|
|
36
|
+
* - Executor, right after it creates world.runtime.stepRegistry,
|
|
37
|
+
* so any stepper transport is live before the first feature runs.
|
|
38
|
+
* This covers pure-client configs (e.g. agent with `{remote}`
|
|
39
|
+
* entry, no webserver).
|
|
40
|
+
*
|
|
41
|
+
* - WebServerStepper's `enable rpc` / `refresh steppers` steps,
|
|
42
|
+
* which create their own registry and must re-attach transports
|
|
43
|
+
* into it. Delegating here keeps both call sites consistent.
|
|
44
|
+
*
|
|
45
|
+
* The webserver argument is whatever the caller has. Core's Executor
|
|
46
|
+
* invocation passes undefined; transports that truly need a webserver
|
|
47
|
+
* (e.g. SSE adding routes) check and no-op when absent. Remote-proxy
|
|
48
|
+
* transports don't use it.
|
|
49
|
+
*/
|
|
50
|
+
// biome-ignore lint/suspicious/noExplicitAny: duck-typed webserver shape varies by caller.
|
|
51
|
+
export function attachTransportsToRegistry(steppers, registry, webserver) {
|
|
52
|
+
for (const s of steppers) {
|
|
53
|
+
// biome-ignore lint/suspicious/noExplicitAny: duck-typed IStepTransport check
|
|
54
|
+
const candidate = s;
|
|
55
|
+
if (typeof candidate.attach !== "function" || typeof candidate.detach !== "function")
|
|
56
|
+
continue;
|
|
57
|
+
candidate.attach(registry, webserver);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
28
60
|
export class Executor {
|
|
29
61
|
static createExecutionFailure(featureResults) {
|
|
30
|
-
const firstFailedFeature = featureResults.find(fr => !fr.ok);
|
|
31
|
-
if (!firstFailedFeature)
|
|
62
|
+
const firstFailedFeature = featureResults.find((fr) => !fr.ok);
|
|
63
|
+
if (!firstFailedFeature)
|
|
32
64
|
return undefined;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (!failedStep) {
|
|
65
|
+
const failedStep = firstFailedFeature.stepResults.find((sr) => !sr.ok && sr.intent?.mode !== "speculative");
|
|
66
|
+
if (!failedStep)
|
|
36
67
|
return undefined;
|
|
37
|
-
|
|
38
|
-
const errorMessage = failedStep.stepActionResult && 'message' in failedStep.stepActionResult
|
|
39
|
-
? failedStep.stepActionResult.message
|
|
40
|
-
: 'Step execution failed';
|
|
68
|
+
const errorMessage = failedStep.errorMessage || "Step execution failed";
|
|
41
69
|
return {
|
|
42
|
-
stage:
|
|
70
|
+
stage: "Execute",
|
|
43
71
|
error: {
|
|
44
72
|
message: errorMessage,
|
|
45
73
|
details: {
|
|
46
74
|
step: failedStep.in,
|
|
47
75
|
path: failedStep.path,
|
|
48
|
-
seqPath: failedStep.seqPath
|
|
49
|
-
}
|
|
50
|
-
}
|
|
76
|
+
seqPath: failedStep.seqPath,
|
|
77
|
+
},
|
|
78
|
+
},
|
|
51
79
|
};
|
|
52
80
|
}
|
|
53
|
-
static async action(steppers, featureStep, found, args, world) {
|
|
54
|
-
const stepper = findStepper(steppers, found.stepperName);
|
|
55
|
-
const action = stepper.steps[found.actionName].action;
|
|
56
|
-
// Track step usage for observation pattern
|
|
57
|
-
const usageKey = `${found.stepperName}.${found.actionName}`;
|
|
58
|
-
// Ensure observations map exists (it should be initialized in executeFeatures)
|
|
59
|
-
if (!world.runtime.observations) {
|
|
60
|
-
world.runtime.observations = new Map();
|
|
61
|
-
}
|
|
62
|
-
const stepUsage = world.runtime.observations.get('stepUsage') || new Map();
|
|
63
|
-
stepUsage.set(usageKey, (stepUsage.get(usageKey) || 0) + 1);
|
|
64
|
-
world.runtime.observations.set('stepUsage', stepUsage);
|
|
65
|
-
try {
|
|
66
|
-
return await action(args, featureStep);
|
|
67
|
-
}
|
|
68
|
-
catch (caught) {
|
|
69
|
-
if (featureStep.intent?.mode !== 'speculative') {
|
|
70
|
-
world.eventLogger.log(featureStep, 'error', caught.stack || caught.message);
|
|
71
|
-
}
|
|
72
|
-
return actionNotOK(`in ${featureStep.in}: ${caught.message}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
81
|
static async executeFeatures(steppers, world, features) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
//
|
|
82
|
+
initExecutionRuntime(world);
|
|
83
|
+
world.runtime.steppers = steppers;
|
|
84
|
+
const stepRegistry = new StepRegistry(steppers, world);
|
|
85
|
+
world.runtime.stepRegistry = stepRegistry;
|
|
86
|
+
// Any stepper that implements IStepTransport (duck-typed: has `attach`
|
|
87
|
+
// and `detach` methods) injects its tools into the registry now. This
|
|
88
|
+
// covers RemoteStepperProxy entries from `{remote}` config lines,
|
|
89
|
+
// subprocess transports, and any future transport. WebServerStepper's
|
|
90
|
+
// enable-rpc step re-attaches into a fresh registry when it builds
|
|
91
|
+
// one; the registry.set is keyed by method name so duplicate
|
|
92
|
+
// injections are idempotent.
|
|
93
|
+
attachTransportsToRegistry(steppers, stepRegistry);
|
|
94
|
+
const onEventHandler = (event) => {
|
|
95
|
+
doStepperCycleSync(steppers, "onEvent", event);
|
|
96
|
+
};
|
|
97
|
+
world.eventLogger.subscribe(onEventHandler);
|
|
84
98
|
try {
|
|
85
|
-
const { ResolvedFeaturesArtifact } = await import(
|
|
86
|
-
const
|
|
87
|
-
const registeredOutcomes =
|
|
99
|
+
const { ResolvedFeaturesArtifact } = await import("../schema/protocol.js");
|
|
100
|
+
const outcomeResults = await doStepperCycle(steppers, "getRegisteredOutcomes", undefined);
|
|
101
|
+
const registeredOutcomes = outcomeResults.find(Boolean);
|
|
88
102
|
const resolvedFeaturesEvent = ResolvedFeaturesArtifact.parse({
|
|
89
103
|
id: `artifact.resolvedFeatures`,
|
|
90
104
|
timestamp: Date.now(),
|
|
91
|
-
kind:
|
|
92
|
-
artifactType:
|
|
105
|
+
kind: "artifact",
|
|
106
|
+
artifactType: "resolvedFeatures",
|
|
93
107
|
resolvedFeatures: features,
|
|
94
108
|
...(registeredOutcomes ? { registeredOutcomes } : {}),
|
|
95
|
-
mimetype:
|
|
109
|
+
mimetype: "application/json",
|
|
96
110
|
});
|
|
97
111
|
world.eventLogger.emit(resolvedFeaturesEvent);
|
|
98
112
|
}
|
|
99
113
|
catch {
|
|
100
114
|
// Silently continue if artifact emission fails
|
|
101
115
|
}
|
|
102
|
-
await doStepperCycle(steppers,
|
|
116
|
+
await doStepperCycle(steppers, "startExecution", features);
|
|
103
117
|
let okSoFar = true;
|
|
104
118
|
const stayOnFailure = world.options[STAY] === STAY_FAILURE;
|
|
105
119
|
const stayAlways = world.options[STAY] === STAY_ALWAYS;
|
|
106
120
|
const featureResults = [];
|
|
107
121
|
let featureNum = 0;
|
|
108
|
-
const continueAfterError = !!
|
|
109
|
-
// Create a synthetic featureStep for logging outside of step context
|
|
110
|
-
const syntheticStep = { source: { path: '' }, in: '', seqPath: [0], action: { actionName: 'runner', stepperName: 'Executor', step: { action: async () => ({ ok: true }) } } };
|
|
122
|
+
const continueAfterError = !!world.options[CONTINUE_AFTER_ERROR];
|
|
111
123
|
for (const feature of features) {
|
|
112
124
|
featureNum++;
|
|
113
125
|
const isLast = featureNum === features.length;
|
|
114
126
|
world.runtime.exhaustionError = undefined;
|
|
115
|
-
const featureName = basename(feature.path).replace(/\..*$/,
|
|
116
|
-
const newWorld = {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
127
|
+
const featureName = basename(feature.path).replace(/\..*$/, "");
|
|
128
|
+
const newWorld = {
|
|
129
|
+
...world,
|
|
130
|
+
tag: { ...world.tag, featureNum, featureName },
|
|
131
|
+
};
|
|
132
|
+
initFeatureRuntime(newWorld);
|
|
133
|
+
const featureExecutor = new FeatureExecutor(steppers, stepRegistry, newWorld);
|
|
122
134
|
await setStepperWorldsAndDomains(steppers, newWorld);
|
|
123
|
-
await doStepperCycle(steppers,
|
|
124
|
-
|
|
135
|
+
await doStepperCycle(steppers, "startFeature", { resolvedFeature: feature, index: featureNum });
|
|
136
|
+
stepRegistry.refresh(steppers, newWorld);
|
|
137
|
+
world.eventLogger.info(`feature ${featureNum}/${features.length}: ${feature.path}`);
|
|
125
138
|
const featureResult = await featureExecutor.doFeature(feature);
|
|
126
|
-
if (newWorld.runtime
|
|
139
|
+
if (newWorld.runtime?.exhaustionError) {
|
|
127
140
|
world.runtime.exhaustionError = newWorld.runtime.exhaustionError;
|
|
128
141
|
}
|
|
129
142
|
const thisFeatureOK = featureResult.ok;
|
|
130
143
|
if (!thisFeatureOK) {
|
|
131
144
|
const failedStep = featureResult.stepResults.find((s) => !s.ok);
|
|
132
|
-
await doStepperCycle(steppers,
|
|
145
|
+
await doStepperCycle(steppers, "onFailure", { featureResult, failedStep });
|
|
133
146
|
}
|
|
134
147
|
okSoFar = okSoFar && thisFeatureOK;
|
|
135
148
|
featureResults.push(featureResult);
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
149
|
+
const shouldClose = calculateShouldClose({
|
|
150
|
+
thisFeatureOK: featureResult.ok,
|
|
151
|
+
isLast,
|
|
152
|
+
continueAfterError,
|
|
153
|
+
stayOnFailure,
|
|
154
|
+
stayAlways,
|
|
155
|
+
});
|
|
156
|
+
await doStepperCycle(steppers, "endFeature", {
|
|
157
|
+
featurePath: feature.path,
|
|
158
|
+
shouldClose,
|
|
159
|
+
isLast,
|
|
160
|
+
okSoFar,
|
|
161
|
+
continueAfterError,
|
|
162
|
+
stayOnFailure,
|
|
163
|
+
thisFeatureOK: featureResult.ok,
|
|
164
|
+
});
|
|
165
|
+
if (!okSoFar && !continueAfterError && !isLast)
|
|
166
|
+
break;
|
|
144
167
|
}
|
|
145
|
-
const results = {
|
|
168
|
+
const results = {
|
|
169
|
+
ok: okSoFar,
|
|
170
|
+
featureResults,
|
|
171
|
+
tag: world.tag,
|
|
172
|
+
shared: world.shared,
|
|
173
|
+
steppers,
|
|
174
|
+
failure: undefined,
|
|
175
|
+
};
|
|
146
176
|
if (!okSoFar) {
|
|
147
177
|
const failure = this.createExecutionFailure(featureResults);
|
|
148
|
-
if (failure)
|
|
178
|
+
if (failure)
|
|
149
179
|
results.failure = failure;
|
|
150
|
-
}
|
|
151
180
|
}
|
|
152
181
|
world.eventLogger.emit(LifecycleEvent.parse({
|
|
153
182
|
id: `execution-end`,
|
|
154
183
|
timestamp: Date.now(),
|
|
155
|
-
kind:
|
|
156
|
-
type:
|
|
157
|
-
stage:
|
|
158
|
-
status: okSoFar ?
|
|
184
|
+
kind: "lifecycle",
|
|
185
|
+
type: "execution",
|
|
186
|
+
stage: "end",
|
|
187
|
+
status: okSoFar ? "completed" : "failed",
|
|
159
188
|
}));
|
|
160
|
-
await doStepperCycle(steppers,
|
|
189
|
+
await doStepperCycle(steppers, "endExecution", results);
|
|
190
|
+
world.eventLogger.unsubscribe(onEventHandler);
|
|
161
191
|
return results;
|
|
162
192
|
}
|
|
163
193
|
}
|
|
164
194
|
export class FeatureExecutor {
|
|
165
195
|
steppers;
|
|
196
|
+
registry;
|
|
166
197
|
world;
|
|
167
198
|
startOffset;
|
|
168
|
-
constructor(steppers, world, startOffset = Timer.since()) {
|
|
199
|
+
constructor(steppers, registry, world, startOffset = Timer.since()) {
|
|
169
200
|
this.steppers = steppers;
|
|
201
|
+
this.registry = registry;
|
|
170
202
|
this.world = world;
|
|
171
203
|
this.startOffset = startOffset;
|
|
172
204
|
}
|
|
@@ -180,156 +212,106 @@ export class FeatureExecutor {
|
|
|
180
212
|
for (const step of feature.featureSteps) {
|
|
181
213
|
if (step.action.actionName === FEATURE_START) {
|
|
182
214
|
if (currentScenario) {
|
|
183
|
-
await doStepperCycle(this.steppers,
|
|
184
|
-
world.shared = new FeatureVariables(world, baseVars.all());
|
|
185
|
-
scopedVars = new FeatureVariables(world, world.shared.all());
|
|
215
|
+
await doStepperCycle(this.steppers, "endScenario", undefined);
|
|
216
|
+
world.shared = new FeatureVariables(world, await baseVars.all());
|
|
217
|
+
scopedVars = new FeatureVariables(world, await world.shared.all());
|
|
186
218
|
currentScenario = 0;
|
|
187
219
|
}
|
|
188
|
-
// Set current feature path for dynamic statement execution (debugger, quantifiers, etc.)
|
|
189
220
|
world.runtime.currentFeaturePath = feature.path;
|
|
190
221
|
world.eventLogger.emit(LifecycleEvent.parse({
|
|
191
222
|
id: `feat-${world.tag.featureNum}`,
|
|
192
223
|
timestamp: Date.now(),
|
|
193
|
-
kind:
|
|
194
|
-
type:
|
|
195
|
-
stage:
|
|
224
|
+
kind: "lifecycle",
|
|
225
|
+
type: "feature",
|
|
226
|
+
stage: "start",
|
|
196
227
|
featurePath: feature.path,
|
|
197
|
-
|
|
228
|
+
featureName: feature.name,
|
|
229
|
+
status: "running",
|
|
198
230
|
}));
|
|
199
231
|
}
|
|
200
232
|
if (step.action.actionName === SCENARIO_START) {
|
|
201
233
|
if (currentScenario) {
|
|
202
|
-
await doStepperCycle(this.steppers,
|
|
203
|
-
scopedVars = new FeatureVariables(world, world.shared.all());
|
|
234
|
+
await doStepperCycle(this.steppers, "endScenario", undefined);
|
|
235
|
+
scopedVars = new FeatureVariables(world, await world.shared.all());
|
|
204
236
|
}
|
|
205
237
|
currentScenario = currentScenario + 1;
|
|
206
238
|
world.eventLogger.emit(LifecycleEvent.parse({
|
|
207
239
|
id: `feat-${world.tag.featureNum}.scen-${currentScenario + 1}`,
|
|
208
240
|
timestamp: Date.now(),
|
|
209
|
-
kind:
|
|
210
|
-
type:
|
|
211
|
-
stage:
|
|
212
|
-
scenarioName: step.in,
|
|
213
|
-
status:
|
|
241
|
+
kind: "lifecycle",
|
|
242
|
+
type: "scenario",
|
|
243
|
+
stage: "start",
|
|
244
|
+
scenarioName: step.in.replace(/^Scenario:\s*/i, ""),
|
|
245
|
+
status: "running",
|
|
214
246
|
}));
|
|
215
|
-
await doStepperCycle(this.steppers,
|
|
247
|
+
await doStepperCycle(this.steppers, "startScenario", { scopedVars });
|
|
216
248
|
}
|
|
217
|
-
const augmentedStep = {
|
|
218
|
-
|
|
249
|
+
const augmentedStep = {
|
|
250
|
+
...step,
|
|
251
|
+
// Root on [hostId, featureNum, scenarioNum, ...resolverStepSeq] so
|
|
252
|
+
// observations from different haibun instances can never collide
|
|
253
|
+
// and a multi-host cross-host join can union by seqPath safely.
|
|
254
|
+
seqPath: [world.tag.hostId, world.tag.featureNum, currentScenario + 1, ...step.seqPath],
|
|
255
|
+
};
|
|
256
|
+
const result = await dispatchStep({ registry: this.registry, world, steppers: this.steppers }, augmentedStep);
|
|
219
257
|
ok = ok && result.ok;
|
|
220
|
-
if (!ok)
|
|
258
|
+
if (!ok)
|
|
221
259
|
break;
|
|
222
|
-
}
|
|
223
260
|
if (world.options[STEP_DELAY]) {
|
|
224
261
|
await sleep(world.options[STEP_DELAY]);
|
|
225
262
|
}
|
|
226
263
|
if (!currentScenario) {
|
|
227
|
-
scopedVars = new FeatureVariables(world, world.shared.all());
|
|
228
|
-
baseVars = new FeatureVariables(world, world.shared.all());
|
|
264
|
+
scopedVars = new FeatureVariables(world, await world.shared.all());
|
|
265
|
+
baseVars = new FeatureVariables(world, await world.shared.all());
|
|
229
266
|
}
|
|
230
267
|
}
|
|
231
268
|
if (currentScenario) {
|
|
232
|
-
await doStepperCycle(this.steppers,
|
|
233
|
-
}
|
|
234
|
-
const featureResult = { path: feature.path, ok, stepResults: world.runtime.stepResults };
|
|
235
|
-
return featureResult;
|
|
236
|
-
}
|
|
237
|
-
static async doFeatureStep(steppers, featureStep, world, execMode = ExecMode.WITH_CYCLES) {
|
|
238
|
-
const { action } = featureStep;
|
|
239
|
-
const currentTime = Timer.since();
|
|
240
|
-
const createFailedStepResult = (message) => {
|
|
241
|
-
return stepResultFromActionResult(actionNotOK(message), action, currentTime, Timer.since(), featureStep, false);
|
|
242
|
-
};
|
|
243
|
-
if (world.runtime.exhaustionError) {
|
|
244
|
-
return createFailedStepResult(`Execution halted: ${world.runtime.exhaustionError}`);
|
|
245
|
-
}
|
|
246
|
-
if (featureStep.seqPath.length > MAX_EXECUTE_SEQPATH) {
|
|
247
|
-
const errorMessage = `Execution depth limit exceeded (${featureStep.seqPath.length} > ${MAX_EXECUTE_SEQPATH}). Possible infinite recursion in step: ${featureStep.in}`;
|
|
248
|
-
world.runtime.exhaustionError = errorMessage;
|
|
249
|
-
return createFailedStepResult(errorMessage);
|
|
250
|
-
}
|
|
251
|
-
let ok = true;
|
|
252
|
-
const start = Timer.since();
|
|
253
|
-
const args = await populateActionArgs(featureStep, world, steppers);
|
|
254
|
-
const isFullCycles = execMode === ExecMode.WITH_CYCLES;
|
|
255
|
-
let actionResult;
|
|
256
|
-
if (isFullCycles) {
|
|
257
|
-
if (action.actionName !== FEATURE_START && action.actionName !== SCENARIO_START) {
|
|
258
|
-
world.eventLogger.stepStart(featureStep, action.stepperName, action.actionName, args, featureStep.action.stepValuesMap);
|
|
259
|
-
}
|
|
260
|
-
let doAction = true;
|
|
261
|
-
while (doAction) {
|
|
262
|
-
await doStepperCycle(steppers, 'beforeStep', ({ featureStep }));
|
|
263
|
-
actionResult = await Executor.action(steppers, featureStep, action, args, world);
|
|
264
|
-
if (action.actionName !== FEATURE_START && action.actionName !== SCENARIO_START) {
|
|
265
|
-
const errorMessage = !actionResult.ok ? actionResult.message : undefined;
|
|
266
|
-
const products = 'products' in actionResult ? actionResult.products : undefined;
|
|
267
|
-
world.eventLogger.stepEnd(featureStep, action.stepperName, action.actionName, actionResult.ok, errorMessage, args, featureStep.action.stepValuesMap, products);
|
|
268
|
-
}
|
|
269
|
-
world.runtime.stepResults.push(stepResultFromActionResult(actionResult, action, start, Timer.since(), featureStep, ok && actionResult.ok));
|
|
270
|
-
const instructions = await doStepperCycle(steppers, 'afterStep', ({ featureStep, actionResult }), action.actionName);
|
|
271
|
-
doAction = instructions.some(i => i?.rerunStep);
|
|
272
|
-
const failed = instructions.some(i => i?.failed);
|
|
273
|
-
if (failed) {
|
|
274
|
-
ok = false;
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
const doNext = instructions.some(i => i?.nextStep);
|
|
278
|
-
if (doNext) {
|
|
279
|
-
actionResult = { ...actionResult, ok: true };
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
else {
|
|
285
|
-
actionResult = await Executor.action(steppers, featureStep, action, args, world);
|
|
269
|
+
await doStepperCycle(this.steppers, "endScenario", undefined);
|
|
286
270
|
}
|
|
287
|
-
|
|
288
|
-
const stepResult = stepResultFromActionResult(actionResult, action, start, Timer.since(), featureStep, ok);
|
|
289
|
-
return stepResult;
|
|
271
|
+
return { path: feature.path, ok, stepResults: world.runtime.stepResults };
|
|
290
272
|
}
|
|
291
273
|
}
|
|
292
|
-
const
|
|
293
|
-
const
|
|
294
|
-
const
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
const
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
const paramsForApply = args === undefined ? [] : [args];
|
|
305
|
-
const result = await cycle.apply(cycling, paramsForApply);
|
|
306
|
-
results.push(result);
|
|
274
|
+
export const addStepperConcerns = (world, steppers) => {
|
|
275
|
+
const allDomains = [];
|
|
276
|
+
for (const stepper of steppers) {
|
|
277
|
+
const hasCycles = stepper;
|
|
278
|
+
if (!hasCycles.cycles?.getConcerns)
|
|
279
|
+
continue;
|
|
280
|
+
const concerns = hasCycles.cycles.getConcerns();
|
|
281
|
+
if (concerns?.domains) {
|
|
282
|
+
const name = constructorName(stepper);
|
|
283
|
+
for (const domain of concerns.domains) {
|
|
284
|
+
allDomains.push({ ...domain, stepperName: domain.stepperName ?? name });
|
|
285
|
+
}
|
|
307
286
|
}
|
|
308
287
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
const
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
}
|
|
288
|
+
registerDomains(world, [allDomains]);
|
|
289
|
+
// Register vertex-label domain from all registered vertex types
|
|
290
|
+
const vertexLabels = Object.values(world.domains)
|
|
291
|
+
.filter((d) => d.topology?.vertexLabel)
|
|
292
|
+
.map((d) => d.topology?.vertexLabel);
|
|
293
|
+
if (vertexLabels.length > 0) {
|
|
294
|
+
registerDomains(world, [
|
|
295
|
+
[{ selectors: [DOMAIN_VERTEX_LABEL], schema: z.enum(vertexLabels), description: "Vertex type" }],
|
|
296
|
+
]);
|
|
319
297
|
}
|
|
320
298
|
};
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
299
|
+
// SeqPath conventions:
|
|
300
|
+
// - Normal feature execution uses [feature, scenario, step, ...].
|
|
301
|
+
// - Feature-scoped synthetic work uses [feature, 0, ordinal].
|
|
302
|
+
// - Speculative/debug branches extend a real step path with negative suffixes.
|
|
303
|
+
// - Top-level ad hoc transport calls use [0, ordinal].
|
|
304
|
+
export function syntheticSeqPathDirection(speculative = false) {
|
|
305
|
+
return speculative ? -1 : 1;
|
|
306
|
+
}
|
|
307
|
+
export function featureSyntheticSeqPath(featureNum, ordinal, branch = 0, hostId = 0) {
|
|
308
|
+
return [hostId, featureNum, branch, ordinal];
|
|
309
|
+
}
|
|
310
|
+
export function syntheticBranchSeqPath(parentSeqPath, dir = 1) {
|
|
311
|
+
return [...parentSeqPath, dir === -1 ? -1 : 1];
|
|
312
|
+
}
|
|
313
|
+
export function advanceSyntheticSeqPath(seqPath, dir = 1) {
|
|
314
|
+
return [...seqPath.slice(0, -1), seqPath[seqPath.length - 1] + dir];
|
|
333
315
|
}
|
|
334
316
|
export function incSeqPath(withSeqPath, seqPath, dir = 1) {
|
|
335
317
|
const prefix = seqPath.slice(0, -1);
|
|
@@ -337,7 +319,7 @@ export function incSeqPath(withSeqPath, seqPath, dir = 1) {
|
|
|
337
319
|
let candidate = [...prefix, last];
|
|
338
320
|
let found = true;
|
|
339
321
|
while (found) {
|
|
340
|
-
found = withSeqPath.some(r => JSON.stringify(r.seqPath) === JSON.stringify(candidate));
|
|
322
|
+
found = withSeqPath.some((r) => JSON.stringify(r.seqPath) === JSON.stringify(candidate));
|
|
341
323
|
if (found) {
|
|
342
324
|
last += dir;
|
|
343
325
|
candidate = [...prefix, last];
|
|
@@ -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,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAiD,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAY,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,uBAAuB,CAAC;AAAC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAElP,OAAO,EAAE,KAAK,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,MAAM,UAAU,oBAAoB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,GAA2H;IACrO,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1E,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,UAAU;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC,aAAa,IAAI,aAAa;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IACxC,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACxC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IACxC,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,2FAA2F;AAC3F,MAAM,UAAU,0BAA0B,CAAC,QAAoB,EAAE,QAAsB,EAAE,SAAe;IACvG,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,8EAA8E;QAC9E,MAAM,SAAS,GAAG,CAAkG,CAAC;QACrH,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU;YAAE,SAAS;QAC/F,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;AACF,CAAC;AAED,MAAM,OAAO,QAAQ;IACZ,MAAM,CAAC,sBAAsB,CAAC,cAAgC;QACrE,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAE1C,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC;QAC5G,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAElC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,IAAI,uBAAuB,CAAC;QAExE,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,eAAe,CAAC,QAAoB,EAAE,KAAa,EAAE,QAA4B;QAC7F,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvD,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QAC1C,uEAAuE;QACvE,sEAAsE;QACtE,kEAAkE;QAClE,sEAAsE;QACtE,mEAAmE;QACnE,6DAA6D;QAC7D,6BAA6B;QAC7B,0BAA0B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEnD,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC9C,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAE5C,IAAI,CAAC;YACJ,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAC3E,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;YAC1F,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,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,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,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,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC;QACvD,MAAM,cAAc,GAAqB,EAAE,CAAC;QAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEjE,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;gBAChB,GAAG,KAAK;gBACR,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE;aAC9C,CAAC;YAEF,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAE7B,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YAE9E,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,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACzC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpF,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;gBACvC,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;YAEnC,MAAM,WAAW,GAAG,oBAAoB,CAAC;gBACxC,aAAa,EAAE,aAAa,CAAC,EAAE;gBAC/B,MAAM;gBACN,kBAAkB;gBAClB,aAAa;gBACb,UAAU;aACV,CAAC,CAAC;YACH,MAAM,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAe;gBACzD,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,WAAW;gBACX,MAAM;gBACN,OAAO;gBACP,kBAAkB;gBAClB,aAAa;gBACb,aAAa,EAAE,aAAa,CAAC,EAAE;aAC/B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM;gBAAE,MAAM;QACvD,CAAC;QAED,MAAM,OAAO,GAAoB;YAChC,EAAE,EAAE,OAAO;YACX,cAAc;YACd,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ;YACR,OAAO,EAAE,SAAS;SAClB,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CACrB,cAAc,CAAC,KAAK,CAAC;YACpB,EAAE,EAAE,eAAe;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;SACxC,CAAC,CACF,CAAC;QAEF,MAAM,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AAED,MAAM,OAAO,eAAe;IAElB;IACA;IACA;IACA;IAJT,YACS,QAAoB,EACpB,QAAsB,EACtB,KAAa,EACb,cAAc,KAAK,CAAC,KAAK,EAAE;QAH3B,aAAQ,GAAR,QAAQ,CAAY;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,UAAK,GAAL,KAAK,CAAQ;QACb,gBAAW,GAAX,WAAW,CAAgB;IAChC,CAAC;IAEL,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,GAAG,CAAC,CAAC;QACxB,IAAI,UAAU,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE/C,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,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;oBACjE,UAAU,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBACnE,eAAe,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,KAAK,CAAC,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChD,KAAK,CAAC,WAAW,CAAC,IAAI,CACrB,cAAc,CAAC,KAAK,CAAC;oBACpB,EAAE,EAAE,QAAQ,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE;oBAClC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,MAAM,EAAE,SAAS;iBACjB,CAAC,CACF,CAAC;YACH,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,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;gBACtC,KAAK,CAAC,WAAW,CAAC,IAAI,CACrB,cAAc,CAAC,KAAK,CAAC;oBACpB,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,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,OAAO;oBACd,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBACnD,MAAM,EAAE,SAAS;iBACjB,CAAC,CACF,CAAC;gBACF,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,aAAa,GAAG;gBACrB,GAAG,IAAI;gBACP,mEAAmE;gBACnE,iEAAiE;gBACjE,gEAAgE;gBAChE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;aACvF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC;YAC9G,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE;gBAAE,MAAM;YAEf,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,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnE,QAAQ,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3E,CAAC;CACD;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,QAAoB,EAAE,EAAE;IACzE,MAAM,UAAU,GAAsD,EAAE,CAAC;IACzE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,OAAyG,CAAC;QAC5H,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW;YAAE,SAAS;QAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;QACF,CAAC;IACF,CAAC;IACD,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACrC,gEAAgE;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;SAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAqB,CAAC,CAAC;IAChD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,eAAe,CAAC,KAAK,EAAE;YACtB,CAAC,EAAE,SAAS,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,YAAqC,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;SACzH,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC;AAEF,uBAAuB;AACvB,kEAAkE;AAClE,8DAA8D;AAC9D,+EAA+E;AAC/E,uDAAuD;AACvD,MAAM,UAAU,yBAAyB,CAAC,WAAW,GAAG,KAAK;IAC5D,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAkB,EAAE,OAAe,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC;IAClG,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,aAAuB,EAAE,MAAc,CAAC;IAC9E,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAiB,EAAE,MAAc,CAAC;IACzE,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACrE,CAAC;AAED,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,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACzF,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TStepAction, TResolvedFeature, TExpandedFeature, TFeatureStep, TExpandedLine, TFeatures, TWorld } from
|
|
2
|
-
import { AStepper } from
|
|
1
|
+
import { TStepAction, TResolvedFeature, TExpandedFeature, TFeatureStep, TExpandedLine, TFeatures, TWorld } from "../lib/execution.js";
|
|
2
|
+
import { AStepper } from "../lib/astepper.js";
|
|
3
3
|
export declare class Resolver {
|
|
4
4
|
private steppers;
|
|
5
5
|
private backgrounds;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,qBAAqB,CAAC;AAE9J,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C,qBAAa,QAAQ;IAInB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IAJb,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;gBAGvE,QAAQ,EAAE,QAAQ,EAAE,EACpB,WAAW,GAAE,SAAc;IA2BpC,OAAO,CAAC,sBAAsB;IAoBjB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;IAalE;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAQjB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAW1E,wBAAwB,CAC9B,OAAO,EAAE,gBAAgB,GACvB,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;IAItF,4BAA4B,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAC/D,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,MAAM,EAAE;YAAE,WAAW,EAAE,aAAa,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,EAAE,CAAC;KACvD;IA0ED,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IA8B/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,CACrC,QAAQ,EAAE,QAAQ,EAAE,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,CAAC,EAAE,MAAM;;;EAiBnB;AAED,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAAE,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,SAAI,GACL,YAAY,EAAE,CAwChB"}
|