@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/lib/namedVars.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { Origin } from
|
|
2
|
-
import { DOMAIN_STATEMENT } from
|
|
3
|
-
export const TYPE_QUOTED =
|
|
4
|
-
export const TYPE_ENV =
|
|
5
|
-
export const TYPE_VAR =
|
|
6
|
-
export const TYPE_ENV_OR_VAR_OR_LITERAL =
|
|
1
|
+
import { Origin } from "../schema/protocol.js";
|
|
2
|
+
import { DOMAIN_STATEMENT } from "./domains.js";
|
|
3
|
+
export const TYPE_QUOTED = "q_";
|
|
4
|
+
export const TYPE_ENV = "e_";
|
|
5
|
+
export const TYPE_VAR = "b_";
|
|
6
|
+
export const TYPE_ENV_OR_VAR_OR_LITERAL = "t_";
|
|
7
7
|
export const namedInterpolation = (inp) => {
|
|
8
|
-
if (!inp.includes(
|
|
8
|
+
if (!inp.includes("{")) {
|
|
9
9
|
return { regexPattern: inp };
|
|
10
10
|
}
|
|
11
11
|
const stepValuesMap = {};
|
|
12
12
|
let last = 0;
|
|
13
|
-
let regexPattern =
|
|
14
|
-
let bs = inp.indexOf(
|
|
13
|
+
let regexPattern = "";
|
|
14
|
+
let bs = inp.indexOf("{");
|
|
15
15
|
let be = -1;
|
|
16
16
|
let bail = 0;
|
|
17
17
|
let matchIndex = 0;
|
|
18
18
|
while (bs > -1 && bail++ < 400) {
|
|
19
19
|
regexPattern += inp.substring(last, bs);
|
|
20
|
-
be = inp.indexOf(
|
|
20
|
+
be = inp.indexOf("}", bs);
|
|
21
21
|
if (be < 0) {
|
|
22
22
|
throw Error(`missing end bracket in ${inp}`);
|
|
23
23
|
}
|
|
@@ -28,22 +28,17 @@ export const namedInterpolation = (inp) => {
|
|
|
28
28
|
// Strip any already-appended preceding delimiter from the
|
|
29
29
|
// regexPattern so the group pattern can insert the correct single
|
|
30
30
|
// delimiter.
|
|
31
|
-
if (precedingChar && [
|
|
31
|
+
if (precedingChar && ["$", "`", "<", '"'].includes(precedingChar)) {
|
|
32
32
|
// remove the last character we just added (the delimiter)
|
|
33
33
|
regexPattern = regexPattern.slice(0, -1);
|
|
34
34
|
}
|
|
35
35
|
stepValuesMap[name] = { term: name, domain, origin };
|
|
36
|
-
// Look ahead to see what comes after this placeholder
|
|
37
36
|
const nextCharAfterBrace = inp.substring(be + 1, be + 2);
|
|
38
|
-
|
|
39
|
-
//
|
|
40
|
-
let placeholderRegex =
|
|
41
|
-
if (
|
|
42
|
-
placeholderRegex =
|
|
43
|
-
}
|
|
44
|
-
else if (nextCharAfterBrace === ',' || nextCharAfterBrace === ':') {
|
|
45
|
-
// Use negative lookahead to prevent matching these separators
|
|
46
|
-
placeholderRegex = `.+?(?=${nextCharAfterBrace.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})`;
|
|
37
|
+
// Bare literals may contain whitespace but a quoted span inside is atomic —
|
|
38
|
+
// `"foo with bar"` does not contribute its internal ` ` or `"` as a split point.
|
|
39
|
+
let placeholderRegex = `(?:[^"]|"[^"]*")+?`;
|
|
40
|
+
if (nextCharAfterBrace === "," || nextCharAfterBrace === ":") {
|
|
41
|
+
placeholderRegex = `(?:[^"]|"[^"]*")+?(?=${nextCharAfterBrace.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")})`;
|
|
47
42
|
}
|
|
48
43
|
let matchGroupPattern;
|
|
49
44
|
if (origin === Origin.env) {
|
|
@@ -63,13 +58,13 @@ export const namedInterpolation = (inp) => {
|
|
|
63
58
|
}
|
|
64
59
|
regexPattern += matchGroupPattern;
|
|
65
60
|
matchIndex++;
|
|
66
|
-
bs = inp.indexOf(
|
|
61
|
+
bs = inp.indexOf("{", be);
|
|
67
62
|
// If the placeholder was wrapped with a delimiter on the left, the
|
|
68
63
|
// corresponding closing delimiter appears immediately after the '}' and
|
|
69
64
|
// must be skipped from the trailing substring to avoid duplicating it
|
|
70
65
|
// in the final regex. Otherwise include the character after '}' as
|
|
71
66
|
// normal.
|
|
72
|
-
if (precedingChar && [
|
|
67
|
+
if (precedingChar && ["$", "`", "<", '"'].includes(precedingChar)) {
|
|
73
68
|
last = be + 2;
|
|
74
69
|
}
|
|
75
70
|
else {
|
|
@@ -83,13 +78,13 @@ export const matchGwtaToAction = (gwta, actionable, actionName, stepperName, ste
|
|
|
83
78
|
const { regexPattern, stepValuesMap } = namedInterpolation(gwta);
|
|
84
79
|
// anchor the pattern so the whole actionable matches
|
|
85
80
|
// use case-insensitive matching to be consistent with dePolite handling
|
|
86
|
-
const r = new RegExp(`^${regexPattern}$`,
|
|
81
|
+
const r = new RegExp(`^${regexPattern}$`, "i");
|
|
87
82
|
const match = getMatch(actionable, r, actionName, stepperName, step, stepValuesMap);
|
|
88
83
|
return match;
|
|
89
84
|
};
|
|
90
85
|
// no-op
|
|
91
86
|
function pairToVar(pair) {
|
|
92
|
-
const [name, domainRaw] = pair.split(
|
|
87
|
+
const [name, domainRaw] = pair.split(":").map((i) => i.trim());
|
|
93
88
|
const domain = domainRaw;
|
|
94
89
|
return { name, domain };
|
|
95
90
|
}
|
|
@@ -136,7 +131,7 @@ export const getMatch = (actionable, r, actionName, stepperName, step, stepValue
|
|
|
136
131
|
}
|
|
137
132
|
else {
|
|
138
133
|
const tTrim = String(t).trim();
|
|
139
|
-
if (tTrim.startsWith(
|
|
134
|
+
if (tTrim.startsWith("{") || tTrim.startsWith("[") || /^-?\d+(\.\d+)?$/.test(tTrim)) {
|
|
140
135
|
ph.term = tTrim;
|
|
141
136
|
ph.origin = Origin.quoted;
|
|
142
137
|
}
|
|
@@ -156,9 +151,9 @@ export const getMatch = (actionable, r, actionName, stepperName, step, stepValue
|
|
|
156
151
|
};
|
|
157
152
|
const inferOrigin = (char) => {
|
|
158
153
|
switch (char) {
|
|
159
|
-
case
|
|
154
|
+
case "$":
|
|
160
155
|
return Origin.env;
|
|
161
|
-
case
|
|
156
|
+
case "`":
|
|
162
157
|
return Origin.var;
|
|
163
158
|
case '"':
|
|
164
159
|
return Origin.quoted;
|
|
@@ -167,11 +162,11 @@ const inferOrigin = (char) => {
|
|
|
167
162
|
}
|
|
168
163
|
};
|
|
169
164
|
export function mapInputToStepValues(input, gwta) {
|
|
170
|
-
const { stepValuesMap } = namedInterpolation(gwta ||
|
|
165
|
+
const { stepValuesMap } = namedInterpolation(gwta || "");
|
|
171
166
|
const updatedMap = { ...stepValuesMap };
|
|
172
167
|
for (const [key, val] of Object.entries(input)) {
|
|
173
168
|
if (key in updatedMap) {
|
|
174
|
-
const term = typeof val ===
|
|
169
|
+
const term = typeof val === "object" && val !== null ? JSON.stringify(val) : String(val);
|
|
175
170
|
updatedMap[key] = { ...updatedMap[key], term, origin: Origin.quoted };
|
|
176
171
|
}
|
|
177
172
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namedVars.js","sourceRoot":"","sources":["../../src/lib/namedVars.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"namedVars.js","sourceRoot":"","sources":["../../src/lib/namedVars.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from
|
|
2
|
-
import type { TWorld } from
|
|
3
|
-
import type { TTag } from
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import type { TWorld } from "./execution.js";
|
|
3
|
+
import type { TTag } from "./ttag.js";
|
|
4
4
|
export interface TStepTrace {
|
|
5
5
|
world: TWorld;
|
|
6
6
|
tag: TTag;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-http-events.d.ts","sourceRoot":"","sources":["../../src/lib/node-http-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"node-http-events.d.ts","sourceRoot":"","sources":["../../src/lib/node-http-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,IAAI,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,+BAAsC,CAAC;AAoCpE,qBAAa,cAAc;IAC1B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAS;WAEvB,IAAI,IAAI,IAAI;IAoD1B,OAAO,CAAC,MAAM,CAAC,SAAS;IAoCxB,OAAO,CAAC,MAAM,CAAC,SAAS;CAsBxB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import diagnostics_channel from
|
|
2
|
-
import { AsyncLocalStorage } from
|
|
3
|
-
import { HttpTraceArtifact } from
|
|
4
|
-
import { trackHttpHost } from
|
|
1
|
+
import diagnostics_channel from "node:diagnostics_channel";
|
|
2
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
+
import { HttpTraceArtifact } from "../schema/protocol.js";
|
|
4
|
+
import { trackHttpHost } from "./http-observations.js";
|
|
5
5
|
export const stepTraceStorage = new AsyncLocalStorage();
|
|
6
6
|
/**
|
|
7
7
|
* Convert undici headers (array of [key, value, key, value, ...]) to Record
|
|
@@ -27,7 +27,7 @@ export class NodeHttpEvents {
|
|
|
27
27
|
if (this.isInitialized)
|
|
28
28
|
return;
|
|
29
29
|
// 1. Request Lifecycle
|
|
30
|
-
diagnostics_channel.channel(
|
|
30
|
+
diagnostics_channel.channel("undici:request:create").subscribe((message) => {
|
|
31
31
|
const { request } = message;
|
|
32
32
|
const stepTrace = stepTraceStorage.getStore();
|
|
33
33
|
if (!stepTrace)
|
|
@@ -35,10 +35,10 @@ export class NodeHttpEvents {
|
|
|
35
35
|
request._haibun_step_trace = stepTrace;
|
|
36
36
|
request._haibun_start = Date.now();
|
|
37
37
|
request._haibun_chunks = [];
|
|
38
|
-
this.emitTrace(
|
|
38
|
+
this.emitTrace("request", request);
|
|
39
39
|
});
|
|
40
40
|
// Intercept request body chunks
|
|
41
|
-
diagnostics_channel.channel(
|
|
41
|
+
diagnostics_channel.channel("undici:request:bodySent").subscribe((message) => {
|
|
42
42
|
const { request, chunk } = message;
|
|
43
43
|
if (request._haibun_step_trace && chunk) {
|
|
44
44
|
if (!request._haibun_chunks)
|
|
@@ -47,24 +47,24 @@ export class NodeHttpEvents {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
// 2. Response Lifecycle
|
|
50
|
-
diagnostics_channel.channel(
|
|
50
|
+
diagnostics_channel.channel("undici:request:headers").subscribe((message) => {
|
|
51
51
|
const { request, response } = message;
|
|
52
52
|
if (!request._haibun_step_trace)
|
|
53
53
|
return;
|
|
54
54
|
response._haibun_chunks = [];
|
|
55
55
|
});
|
|
56
56
|
// Buffer response body chunks
|
|
57
|
-
diagnostics_channel.channel(
|
|
57
|
+
diagnostics_channel.channel("undici:response:bodyReceived").subscribe((message) => {
|
|
58
58
|
const { response, chunk } = message;
|
|
59
59
|
if (response._haibun_chunks && chunk) {
|
|
60
60
|
response._haibun_chunks.push(chunk);
|
|
61
61
|
}
|
|
62
62
|
});
|
|
63
63
|
// Emit on completion
|
|
64
|
-
diagnostics_channel.channel(
|
|
64
|
+
diagnostics_channel.channel("undici:request:trailers").subscribe((message) => {
|
|
65
65
|
const { request, response } = message;
|
|
66
66
|
if (request._haibun_step_trace) {
|
|
67
|
-
this.emitTrace(
|
|
67
|
+
this.emitTrace("response", request, response);
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
this.isInitialized = true;
|
|
@@ -74,26 +74,26 @@ export class NodeHttpEvents {
|
|
|
74
74
|
if (!stepTrace)
|
|
75
75
|
return;
|
|
76
76
|
const { world, stepperName } = stepTrace;
|
|
77
|
-
const rawBody = event ===
|
|
78
|
-
? Buffer.concat(request._haibun_chunks || []).toString(
|
|
79
|
-
: Buffer.concat(response?._haibun_chunks || []).toString(
|
|
80
|
-
const url = `${request.origin ||
|
|
77
|
+
const rawBody = event === "request"
|
|
78
|
+
? Buffer.concat(request._haibun_chunks || []).toString("utf8")
|
|
79
|
+
: Buffer.concat(response?._haibun_chunks || []).toString("utf8");
|
|
80
|
+
const url = `${request.origin || ""}${request.path || ""}`;
|
|
81
81
|
// Track HTTP hosts using shared helper
|
|
82
82
|
trackHttpHost(world, url);
|
|
83
83
|
const artifact = HttpTraceArtifact.parse({
|
|
84
84
|
id: `http-trace-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
|
|
85
85
|
timestamp: Date.now(),
|
|
86
|
-
kind:
|
|
87
|
-
artifactType:
|
|
88
|
-
level:
|
|
86
|
+
kind: "artifact",
|
|
87
|
+
artifactType: "http-trace",
|
|
88
|
+
level: "debug",
|
|
89
89
|
httpEvent: event,
|
|
90
90
|
trace: {
|
|
91
91
|
requestingPage: `stepper://${stepperName}`,
|
|
92
92
|
requestingURL: url, // The actual target URL for sequence diagram
|
|
93
93
|
method: request.method,
|
|
94
94
|
status: response?.statusCode,
|
|
95
|
-
headers: event ===
|
|
96
|
-
postData: event ===
|
|
95
|
+
headers: event === "request" ? headersToRecord(request.headers) : headersToRecord(response?.headers),
|
|
96
|
+
postData: event === "request" ? this.tryDecode(rawBody) : undefined,
|
|
97
97
|
},
|
|
98
98
|
});
|
|
99
99
|
world.eventLogger.emit(artifact);
|
|
@@ -103,21 +103,21 @@ export class NodeHttpEvents {
|
|
|
103
103
|
return undefined;
|
|
104
104
|
try {
|
|
105
105
|
// Handle JSON (DID Docs, JWKS)
|
|
106
|
-
if (body.startsWith(
|
|
106
|
+
if (body.startsWith("{") || body.startsWith("[")) {
|
|
107
107
|
return JSON.parse(body);
|
|
108
108
|
}
|
|
109
109
|
// Handle JWT / SD-JWT (Compact Serialization)
|
|
110
|
-
const parts = body.split(
|
|
110
|
+
const parts = body.split(".");
|
|
111
111
|
if (parts.length >= 2) {
|
|
112
112
|
return {
|
|
113
|
-
header: JSON.parse(Buffer.from(parts[0],
|
|
114
|
-
payload: JSON.parse(Buffer.from(parts[1],
|
|
115
|
-
isSDJWT: body.includes(
|
|
113
|
+
header: JSON.parse(Buffer.from(parts[0], "base64url").toString()),
|
|
114
|
+
payload: JSON.parse(Buffer.from(parts[1], "base64url").toString()),
|
|
115
|
+
isSDJWT: body.includes("~"),
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
catch {
|
|
120
|
-
return { raw: body.slice(0, 200), note:
|
|
120
|
+
return { raw: body.slice(0, 200), note: "could not decode" };
|
|
121
121
|
}
|
|
122
122
|
return body;
|
|
123
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-http-events.js","sourceRoot":"","sources":["../../src/lib/node-http-events.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,iBAAiB,EAAc,CAAC;AAkBpE;;GAEG;AACH,SAAS,eAAe,CAAC,OAAsD;
|
|
1
|
+
{"version":3,"file":"node-http-events.js","sourceRoot":"","sources":["../../src/lib/node-http-events.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,iBAAiB,EAAc,CAAC;AAkBpE;;GAEG;AACH,SAAS,eAAe,CAAC,OAAsD;IAC9E,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAE5C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,OAAO,cAAc;IAClB,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;IAE9B,MAAM,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAE/B,uBAAuB;QACvB,mBAAmB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE;YACnF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAqC,CAAC;YAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS;gBAAE,OAAO;YAEvB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACvC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;YAE5B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,mBAAmB,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE;YACrF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAoD,CAAC;YAChF,IAAI,OAAO,CAAC,kBAAkB,IAAI,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,cAAc;oBAAE,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;gBACzD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,mBAAmB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE;YACpF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAA+D,CAAC;YAC9F,IAAI,CAAC,OAAO,CAAC,kBAAkB;gBAAE,OAAO;YAExC,QAAQ,CAAC,cAAc,GAAG,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,mBAAmB,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE;YAC1F,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAsD,CAAC;YACnF,IAAI,QAAQ,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;gBACtC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,mBAAmB,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE;YACrF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAA+D,CAAC;YAC9F,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,KAA6B,EAAE,OAAsB,EAAE,QAAyB;QACxG,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAgC,CAAC;QAC3D,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QAEzC,MAAM,OAAO,GACZ,KAAK,KAAK,SAAS;YAClB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEnE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAE3D,uCAAuC;QACvC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC;YACxC,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACxE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,YAAY;YAC1B,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACN,cAAc,EAAE,aAAa,WAAW,EAAE;gBAC1C,aAAa,EAAE,GAAG,EAAE,6CAA6C;gBACjE,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,QAAQ,EAAE,UAAU;gBAC5B,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC;gBACpG,QAAQ,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aACnE;SACD,CAAC,CAAC;QAEH,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,IAAY;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,IAAI,CAAC;YACJ,+BAA+B;YAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,8CAA8C;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACN,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACjE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAClE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;iBAC3B,CAAC;YACH,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AStepper } from
|
|
2
|
-
import { TFeatureStep, TWorld } from
|
|
3
|
-
import { TStepArgs } from
|
|
4
|
-
export declare function populateActionArgs(featureStep: TFeatureStep, world: TWorld, steppers: AStepper[]): TStepArgs
|
|
1
|
+
import { AStepper } from "./astepper.js";
|
|
2
|
+
import { TFeatureStep, TWorld } from "./execution.js";
|
|
3
|
+
import { TStepArgs } from "../schema/protocol.js";
|
|
4
|
+
export declare function populateActionArgs(featureStep: TFeatureStep, world: TWorld, steppers: AStepper[]): Promise<TStepArgs>;
|
|
5
5
|
//# sourceMappingURL=populateActionArgs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populateActionArgs.d.ts","sourceRoot":"","sources":["../../src/lib/populateActionArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"populateActionArgs.d.ts","sourceRoot":"","sources":["../../src/lib/populateActionArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAsB3H"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
export function populateActionArgs(featureStep, world, steppers) {
|
|
1
|
+
export async function populateActionArgs(featureStep, world, steppers) {
|
|
2
2
|
const stepArgs = {};
|
|
3
3
|
if (!featureStep?.action?.stepValuesMap)
|
|
4
4
|
return stepArgs;
|
|
5
5
|
for (const [name, actionVal] of Object.entries(featureStep.action.stepValuesMap)) {
|
|
6
|
-
const resolved = world.shared.resolveVariable(actionVal, featureStep, steppers, { secure: true });
|
|
7
|
-
// FIXME all steps except set steps should fail if a variable is undefined and it's authoritative
|
|
6
|
+
const resolved = await world.shared.resolveVariable(actionVal, featureStep, steppers, { secure: true });
|
|
8
7
|
if (resolved.value === undefined) {
|
|
9
|
-
const handlesUndefined =
|
|
10
|
-
if (handlesUndefined === true || handlesUndefined?.includes(name))
|
|
8
|
+
const handlesUndefined = featureStep.action.step.handlesUndefined;
|
|
9
|
+
if (handlesUndefined === true || handlesUndefined?.includes(name))
|
|
11
10
|
continue;
|
|
12
|
-
}
|
|
13
11
|
console.error(`undefined ${name} in "${featureStep.in}" for ${featureStep.action.stepperName}.${featureStep.action.actionName}`, name, resolved, featureStep.action.step);
|
|
14
12
|
throw Error(`undefined ${name} in "${featureStep.in}" for ${featureStep.action.stepperName}.${featureStep.action.actionName}`);
|
|
15
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populateActionArgs.js","sourceRoot":"","sources":["../../src/lib/populateActionArgs.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,kBAAkB,CAAC,WAAyB,EAAE,KAAa,EAAE,QAAoB;
|
|
1
|
+
{"version":3,"file":"populateActionArgs.js","sourceRoot":"","sources":["../../src/lib/populateActionArgs.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAyB,EAAE,KAAa,EAAE,QAAoB;IACtG,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa;QAAE,OAAO,QAAQ,CAAC;IAEzD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxG,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAClE,IAAI,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC5E,OAAO,CAAC,KAAK,CACZ,aAAa,IAAI,QAAQ,WAAW,CAAC,EAAE,SAAS,WAAW,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,EACjH,IAAI,EACJ,QAAQ,EACR,WAAW,CAAC,MAAM,CAAC,IAAI,CACvB,CAAC;YACF,MAAM,KAAK,CACV,aAAa,IAAI,QAAQ,WAAW,CAAC,EAAE,SAAS,WAAW,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,CACjH,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../../src/lib/prompter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,MAAM,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAC/F,MAAM,WAAW,SAAS;IACzB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1D,qBAAa,QAAQ;IACpB;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAwG;IAClI,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAY;gBAEhC,WAAW,GAAE,SAAS,EAA6B;IAK/D,SAAS,CAAC,CAAC,EAAE,SAAS;IAGtB,WAAW,CAAC,CAAC,EAAE,SAAS;IAKlB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../../src/lib/prompter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,MAAM,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAC/F,MAAM,WAAW,SAAS;IACzB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1D,qBAAa,QAAQ;IACpB;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAwG;IAClI,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAY;gBAEhC,WAAW,GAAE,SAAS,EAA6B;IAK/D,SAAS,CAAC,CAAC,EAAE,SAAS;IAGtB,WAAW,CAAC,CAAC,EAAE,SAAS;IAKlB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IA+BvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKlC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAK1C,kBAAkB;CAGlB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5F"}
|
package/build/lib/prompter.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReadlinePrompter } from
|
|
1
|
+
import { ReadlinePrompter } from "./readline-prompter.js";
|
|
2
2
|
export class Prompter {
|
|
3
3
|
/**
|
|
4
4
|
* Map of outstanding prompts by ID. Each prompt is managed independently and can be resolved or cancelled by ID.
|
|
@@ -15,7 +15,7 @@ export class Prompter {
|
|
|
15
15
|
}
|
|
16
16
|
unsubscribe(p) {
|
|
17
17
|
const typeName = p.constructor.name;
|
|
18
|
-
this.subscribers = this.subscribers.filter(s => s.constructor.name !== typeName);
|
|
18
|
+
this.subscribers = this.subscribers.filter((s) => s.constructor.name !== typeName);
|
|
19
19
|
}
|
|
20
20
|
async prompt(prompt) {
|
|
21
21
|
if (this.outstandingPrompts?.has?.(prompt.id)) {
|
|
@@ -27,9 +27,11 @@ export class Prompter {
|
|
|
27
27
|
let responded = 1;
|
|
28
28
|
return await new Promise((resolve) => {
|
|
29
29
|
for (const subscriber of this.subscribers) {
|
|
30
|
-
void subscriber
|
|
30
|
+
void subscriber
|
|
31
|
+
.prompt(prompt)
|
|
32
|
+
.then((result) => {
|
|
31
33
|
if (result !== undefined) {
|
|
32
|
-
this.subscribers.forEach(s => s.cancel && s.cancel(prompt.id));
|
|
34
|
+
this.subscribers.forEach((s) => s.cancel && s.cancel(prompt.id));
|
|
33
35
|
resolve(result);
|
|
34
36
|
}
|
|
35
37
|
else {
|
|
@@ -37,8 +39,9 @@ export class Prompter {
|
|
|
37
39
|
resolve(undefined);
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
+
})
|
|
43
|
+
.catch(() => {
|
|
44
|
+
console.log("ABC another prompter cancelled");
|
|
42
45
|
// Ignore rejections from cancelled prompts - this is expected when another
|
|
43
46
|
// subscriber responds first and we cancel all other subscribers
|
|
44
47
|
});
|
|
@@ -58,6 +61,6 @@ export class Prompter {
|
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
export function makePrompt(message, context, options) {
|
|
61
|
-
return { id:
|
|
64
|
+
return { id: "prompt-" + Math.random().toString(36).slice(2), message, context, options };
|
|
62
65
|
}
|
|
63
66
|
//# sourceMappingURL=prompter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompter.js","sourceRoot":"","sources":["../../src/lib/prompter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW1D,MAAM,OAAO,QAAQ;IACpB;;OAEG;IACK,kBAAkB,GAAG,IAAI,GAAG,EAA6F,CAAC;IAC1H,WAAW,CAAc;IAChB,eAAe,CAAY;IAE5C,YAAY,cAA2B,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,CAAY;QACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,WAAW,CAAC,CAAY;QACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"prompter.js","sourceRoot":"","sources":["../../src/lib/prompter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* QuadStore - In-memory quad store
|
|
2
|
+
* QuadStore - In-memory quad store with optional backing store routing
|
|
3
3
|
*
|
|
4
|
-
* Stores
|
|
5
|
-
*
|
|
4
|
+
* Stores quads as Subject-Predicate-Object-namedGraph with timestamps and optional properties.
|
|
5
|
+
* Backing stores can be registered for specific named graphs — writes route to the owning store,
|
|
6
|
+
* reads merge across all stores.
|
|
7
|
+
* Methods return Promises (via Promise.resolve) to satisfy the async IQuadStore interface.
|
|
6
8
|
*/
|
|
7
|
-
import { IQuadStore, TQuad, TQuadPattern } from
|
|
9
|
+
import type { IQuadStore, TQuad, TQuadPattern } from "./quad-types.js";
|
|
8
10
|
export declare class QuadStore implements IQuadStore {
|
|
9
11
|
private quads;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
private backingStores;
|
|
13
|
+
private registeredGraphs;
|
|
14
|
+
/** Register a backing store for specific named graphs. Writes route to it, reads merge. */
|
|
15
|
+
registerStore(store: IQuadStore, namedGraphs: string[]): void;
|
|
16
|
+
/** Copy backing store registrations to another QuadStore (for scenario boundary inheritance). */
|
|
17
|
+
inheritBackingStores(target: QuadStore): void;
|
|
18
|
+
private storeFor;
|
|
19
|
+
private get allStores();
|
|
20
|
+
set(subject: string, predicate: string, object: unknown, namedGraph: string, properties?: Record<string, unknown>): Promise<void>;
|
|
21
|
+
get(subject: string, predicate: string, namedGraph?: string): Promise<unknown | undefined>;
|
|
22
|
+
private getFromBackingStores;
|
|
23
|
+
add(quad: Omit<TQuad, "timestamp">): Promise<void>;
|
|
24
|
+
query(pattern: TQuadPattern): Promise<TQuad[]>;
|
|
25
|
+
private localQuery;
|
|
26
|
+
clear(namedGraph?: string): Promise<void>;
|
|
27
|
+
remove(pattern: TQuadPattern): Promise<void>;
|
|
28
|
+
all(): Promise<TQuad[]>;
|
|
29
|
+
private idFields;
|
|
30
|
+
private schemas;
|
|
31
|
+
registerVertexType(label: string, schema: import("zod").ZodType, idField: string): void;
|
|
32
|
+
upsertVertex(label: string, data: unknown): Promise<string>;
|
|
33
|
+
getVertex<T = Record<string, unknown>>(label: string, id: string): Promise<T | undefined>;
|
|
34
|
+
deleteVertex(label: string, id: string): Promise<void>;
|
|
35
|
+
queryVertices<T = Record<string, unknown>>(label: string, filters?: Record<string, unknown>, options?: {
|
|
36
|
+
limit?: number;
|
|
37
|
+
offset?: number;
|
|
38
|
+
}): Promise<T[]>;
|
|
39
|
+
distinctPropertyValues(label: string, property: string): Promise<string[]>;
|
|
16
40
|
}
|
|
17
41
|
//# sourceMappingURL=quad-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quad-store.d.ts","sourceRoot":"","sources":["../../src/lib/quad-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"quad-store.d.ts","sourceRoot":"","sources":["../../src/lib/quad-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEvE,qBAAa,SAAU,YAAW,UAAU;IAC3C,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,2FAA2F;IAC3F,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAO7D,iGAAiG;IACjG,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAO7C,OAAO,CAAC,QAAQ;IAIhB,OAAO,KAAK,SAAS,GAEpB;IAED,GAAG,CACF,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;IAQhB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;YAkB5E,oBAAoB;IAQlC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAYpD,OAAO,CAAC,UAAU;IAUlB,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzC,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAetC,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAQ7B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,OAAO,CAA6C;IAE5D,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB3D,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUzF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtD,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,CAAC,EAAE,CAAC;IAoBT,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAMhF"}
|