@haibun/core 3.0.3 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/currentVersion.d.ts +1 -1
- package/build/currentVersion.js +1 -2
- package/build/lib/EventLogger.d.ts +22 -0
- package/build/lib/EventLogger.d.ts.map +1 -0
- package/build/lib/EventLogger.js +95 -0
- package/build/lib/EventLogger.js.map +1 -0
- package/build/lib/Logger.d.ts.map +1 -1
- package/build/lib/Logger.js +2 -1
- package/build/lib/Logger.js.map +1 -1
- package/build/lib/astepper.d.ts +11 -1
- package/build/lib/astepper.d.ts.map +1 -1
- package/build/lib/astepper.js +8 -0
- package/build/lib/astepper.js.map +1 -1
- package/build/lib/core/flow-runner.d.ts +25 -0
- package/build/lib/core/flow-runner.d.ts.map +1 -0
- package/build/lib/core/flow-runner.js +128 -0
- package/build/lib/core/flow-runner.js.map +1 -0
- package/build/lib/core/protocol.d.ts +58 -0
- package/build/lib/core/protocol.d.ts.map +1 -0
- package/build/lib/core/protocol.js +18 -0
- package/build/lib/core/protocol.js.map +1 -0
- package/build/lib/core-domains.d.ts +2 -16
- package/build/lib/core-domains.d.ts.map +1 -1
- package/build/lib/core-domains.js +46 -27
- package/build/lib/core-domains.js.map +1 -1
- package/build/lib/defs.d.ts +42 -11
- package/build/lib/defs.d.ts.map +1 -1
- package/build/lib/defs.js +6 -1
- package/build/lib/defs.js.map +1 -1
- package/build/lib/domain-types.d.ts +12 -1
- package/build/lib/domain-types.d.ts.map +1 -1
- package/build/lib/domain-types.js +63 -3
- package/build/lib/domain-types.js.map +1 -1
- package/build/lib/event-bridge.d.ts +28 -0
- package/build/lib/event-bridge.d.ts.map +1 -0
- package/build/lib/event-bridge.js +114 -0
- package/build/lib/event-bridge.js.map +1 -0
- package/build/lib/feature-variables.d.ts +14 -0
- package/build/lib/feature-variables.d.ts.map +1 -1
- package/build/lib/feature-variables.js +128 -6
- package/build/lib/feature-variables.js.map +1 -1
- package/build/lib/interfaces/logger.d.ts +19 -3
- package/build/lib/interfaces/logger.d.ts.map +1 -1
- package/build/lib/interfaces/logger.js +11 -1
- package/build/lib/interfaces/logger.js.map +1 -1
- package/build/lib/namedVars.d.ts.map +1 -1
- package/build/lib/namedVars.js +18 -10
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/populateActionArgs.d.ts +1 -1
- package/build/lib/populateActionArgs.d.ts.map +1 -1
- package/build/lib/populateActionArgs.js +11 -49
- package/build/lib/populateActionArgs.js.map +1 -1
- package/build/lib/test/TestSteps.d.ts +1 -0
- package/build/lib/test/TestSteps.d.ts.map +1 -1
- package/build/lib/test/TestStepsWithOptions.d.ts +1 -0
- package/build/lib/test/TestStepsWithOptions.d.ts.map +1 -1
- package/build/lib/test/lib.d.ts.map +1 -1
- package/build/lib/test/lib.js +2 -0
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/util/actualURI.js +1 -1
- package/build/lib/util/actualURI.js.map +1 -1
- package/build/lib/util/index.d.ts +11 -2
- package/build/lib/util/index.d.ts.map +1 -1
- package/build/lib/util/index.js +46 -2
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/util/variables.d.ts +9 -0
- package/build/lib/util/variables.d.ts.map +1 -0
- package/build/lib/util/variables.js +40 -0
- package/build/lib/util/variables.js.map +1 -0
- package/build/lib/util/workspace-lib.d.ts.map +1 -1
- package/build/lib/util/workspace-lib.js +30 -3
- package/build/lib/util/workspace-lib.js.map +1 -1
- package/build/monitor/browser-stubs.d.ts +12 -0
- package/build/monitor/browser-stubs.d.ts.map +1 -0
- package/build/monitor/browser-stubs.js +20 -0
- package/build/monitor/browser-stubs.js.map +1 -0
- package/build/monitor/constants.d.ts +9 -0
- package/build/monitor/constants.d.ts.map +1 -0
- package/build/monitor/constants.js +9 -0
- package/build/monitor/constants.js.map +1 -0
- package/build/monitor/event-view.d.ts +40 -0
- package/build/monitor/event-view.d.ts.map +1 -0
- package/build/monitor/event-view.js +104 -0
- package/build/monitor/event-view.js.map +1 -0
- package/build/monitor/filters.d.ts +17 -0
- package/build/monitor/filters.d.ts.map +1 -0
- package/build/monitor/filters.js +32 -0
- package/build/monitor/filters.js.map +1 -0
- package/build/monitor/formatters.d.ts +27 -0
- package/build/monitor/formatters.d.ts.map +1 -0
- package/build/monitor/formatters.js +89 -0
- package/build/monitor/formatters.js.map +1 -0
- package/build/monitor/index.d.ts +11 -0
- package/build/monitor/index.d.ts.map +1 -0
- package/build/monitor/index.js +15 -0
- package/build/monitor/index.js.map +1 -0
- package/build/monitor/jit-serialization.d.ts +9 -0
- package/build/monitor/jit-serialization.d.ts.map +1 -0
- package/build/monitor/jit-serialization.js +73 -0
- package/build/monitor/jit-serialization.js.map +1 -0
- package/build/monitor/monitor-types.d.ts +119 -0
- package/build/monitor/monitor-types.d.ts.map +1 -0
- package/build/monitor/monitor-types.js +43 -0
- package/build/monitor/monitor-types.js.map +1 -0
- package/build/monitor/speculative-tracker.d.ts +20 -0
- package/build/monitor/speculative-tracker.d.ts.map +1 -0
- package/build/monitor/speculative-tracker.js +38 -0
- package/build/monitor/speculative-tracker.js.map +1 -0
- package/build/monitor/state.d.ts +31 -0
- package/build/monitor/state.d.ts.map +1 -0
- package/build/monitor/state.js +110 -0
- package/build/monitor/state.js.map +1 -0
- package/build/monitor/timer.d.ts +11 -0
- package/build/monitor/timer.d.ts.map +1 -0
- package/build/monitor/timer.js +13 -0
- package/build/monitor/timer.js.map +1 -0
- package/build/monitor/tree-builder.d.ts +25 -0
- package/build/monitor/tree-builder.d.ts.map +1 -0
- package/build/monitor/tree-builder.js +36 -0
- package/build/monitor/tree-builder.js.map +1 -0
- package/build/phases/Executor.d.ts.map +1 -1
- package/build/phases/Executor.js +102 -43
- package/build/phases/Executor.js.map +1 -1
- package/build/phases/Resolver.d.ts +2 -1
- package/build/phases/Resolver.d.ts.map +1 -1
- package/build/phases/Resolver.js +64 -1
- package/build/phases/Resolver.js.map +1 -1
- package/build/runner.d.ts.map +1 -1
- package/build/runner.js +5 -0
- package/build/runner.js.map +1 -1
- package/build/schema/events.d.ts +174 -0
- package/build/schema/events.d.ts.map +1 -0
- package/build/schema/events.js +55 -0
- package/build/schema/events.js.map +1 -0
- package/build/steps/activities-stepper.d.ts +55 -20
- package/build/steps/activities-stepper.d.ts.map +1 -1
- package/build/steps/activities-stepper.js +342 -207
- package/build/steps/activities-stepper.js.map +1 -1
- package/build/steps/conformance.d.ts +1 -0
- package/build/steps/conformance.d.ts.map +1 -1
- package/build/steps/console-monitor-stepper.d.ts +44 -0
- package/build/steps/console-monitor-stepper.d.ts.map +1 -0
- package/build/steps/console-monitor-stepper.js +106 -0
- package/build/steps/console-monitor-stepper.js.map +1 -0
- package/build/steps/debugger-stepper.d.ts +5 -3
- package/build/steps/debugger-stepper.d.ts.map +1 -1
- package/build/steps/debugger-stepper.js +35 -11
- package/build/steps/debugger-stepper.js.map +1 -1
- package/build/steps/haibun.d.ts +11 -18
- package/build/steps/haibun.d.ts.map +1 -1
- package/build/steps/haibun.js +51 -55
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/lib/tts.d.ts.map +1 -1
- package/build/steps/lib/tts.js +2 -1
- package/build/steps/lib/tts.js.map +1 -1
- package/build/steps/logic-stepper.d.ts +42 -0
- package/build/steps/logic-stepper.d.ts.map +1 -0
- package/build/steps/logic-stepper.js +143 -0
- package/build/steps/logic-stepper.js.map +1 -0
- package/build/steps/narrator.d.ts.map +1 -1
- package/build/steps/narrator.js +1 -1
- package/build/steps/narrator.js.map +1 -1
- package/build/steps/parse.d.ts +1 -0
- package/build/steps/parse.d.ts.map +1 -1
- package/build/steps/variables-stepper.d.ts +11 -71
- package/build/steps/variables-stepper.d.ts.map +1 -1
- package/build/steps/variables-stepper.js +534 -84
- package/build/steps/variables-stepper.js.map +1 -1
- package/package.json +16 -3
- package/build/applyEffectFeatures.d.ts +0 -4
- package/build/applyEffectFeatures.d.ts.map +0 -1
- package/build/applyEffectFeatures.js +0 -31
- package/build/applyEffectFeatures.js.map +0 -1
- package/build/jsprolog/converter.d.ts +0 -9
- package/build/jsprolog/converter.d.ts.map +0 -1
- package/build/jsprolog/converter.js +0 -42
- package/build/jsprolog/converter.js.map +0 -1
- package/build/jsprolog/stepper-utils.d.ts +0 -8
- package/build/jsprolog/stepper-utils.d.ts.map +0 -1
- package/build/jsprolog/stepper-utils.js +0 -8
- package/build/jsprolog/stepper-utils.js.map +0 -1
- package/build/jsprolog/test.jsprolog.d.ts +0 -4
- package/build/jsprolog/test.jsprolog.d.ts.map +0 -1
- package/build/jsprolog/test.jsprolog.js +0 -19
- package/build/jsprolog/test.jsprolog.js.map +0 -1
- package/build/jsprolog/test.kireji.d.ts +0 -4
- package/build/jsprolog/test.kireji.d.ts.map +0 -1
- package/build/jsprolog/test.kireji.js +0 -19
- package/build/jsprolog/test.kireji.js.map +0 -1
- package/build/jsprolog/withAction.d.ts +0 -32
- package/build/jsprolog/withAction.d.ts.map +0 -1
- package/build/jsprolog/withAction.js +0 -65
- package/build/jsprolog/withAction.js.map +0 -1
- package/build/kireji/test.kireji.d.ts +0 -4
- package/build/kireji/test.kireji.d.ts.map +0 -1
- package/build/kireji/test.kireji.js +0 -19
- package/build/kireji/test.kireji.js.map +0 -1
- package/build/lib/errors.d.ts +0 -13
- package/build/lib/errors.d.ts.map +0 -1
- package/build/lib/errors.js +0 -18
- package/build/lib/errors.js.map +0 -1
- package/build/lib/util/featureStep-executor.d.ts +0 -7
- package/build/lib/util/featureStep-executor.d.ts.map +0 -1
- package/build/lib/util/featureStep-executor.js +0 -63
- package/build/lib/util/featureStep-executor.js.map +0 -1
- package/build/steps/conditions-stepper.d.ts +0 -27
- package/build/steps/conditions-stepper.d.ts.map +0 -1
- package/build/steps/conditions-stepper.js +0 -99
- package/build/steps/conditions-stepper.js.map +0 -1
package/build/steps/haibun.js
CHANGED
|
@@ -1,84 +1,72 @@
|
|
|
1
|
-
import { OK, STEP_DELAY,
|
|
1
|
+
import { OK, STEP_DELAY, CycleWhen } from '../lib/defs.js';
|
|
2
2
|
import { AStepper } from '../lib/astepper.js';
|
|
3
3
|
import { actionNotOK, actionOK, formattedSteppers, sleep } from '../lib/util/index.js';
|
|
4
|
-
import {
|
|
4
|
+
import { findFeatureStepsFromStatement } from '../phases/Resolver.js';
|
|
5
5
|
import { EExecutionMessageType } from '../lib/interfaces/logger.js';
|
|
6
6
|
import { endExecutonContext } from '../phases/Executor.js';
|
|
7
7
|
import { DOMAIN_STATEMENT } from '../lib/domain-types.js';
|
|
8
8
|
import { findFeatures } from '../lib/features.js';
|
|
9
|
+
import { FlowRunner } from '../lib/core/flow-runner.js';
|
|
9
10
|
class Haibun extends AStepper {
|
|
10
11
|
afterEverySteps = {};
|
|
11
12
|
steppers = [];
|
|
12
13
|
resolvedFeature;
|
|
14
|
+
runner;
|
|
13
15
|
// biome-disable-next-line @typescript-eslint/require-await
|
|
14
16
|
async setWorld(world, steppers) {
|
|
15
17
|
await super.setWorld(world, steppers);
|
|
16
18
|
this.steppers = steppers;
|
|
19
|
+
this.runner = new FlowRunner(world, steppers);
|
|
17
20
|
}
|
|
18
21
|
cycles = {
|
|
22
|
+
startExecution(resolvedFeatures) {
|
|
23
|
+
this.createResolvedFeaturesArtifact('features', resolvedFeatures);
|
|
24
|
+
},
|
|
19
25
|
// processes any afterEvery effects after each step
|
|
20
|
-
startFeature
|
|
26
|
+
startFeature({ resolvedFeature, index }) {
|
|
21
27
|
this.resolvedFeature = resolvedFeature;
|
|
28
|
+
this.createResolvedFeaturesArtifact(`feature-${index}`, [resolvedFeature]);
|
|
22
29
|
},
|
|
23
30
|
afterStep: async ({ featureStep }) => {
|
|
31
|
+
if (featureStep.isSubStep) {
|
|
32
|
+
return Promise.resolve({ failed: false });
|
|
33
|
+
}
|
|
24
34
|
const afterEvery = this.afterEverySteps[featureStep.action.stepperName];
|
|
25
35
|
let failed = false;
|
|
26
36
|
if (afterEvery) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
// Map the seqPath to extend from the current featureStep
|
|
33
|
-
const mappedStep = {
|
|
34
|
-
...aeStep,
|
|
35
|
-
seqPath: [...featureStep.seqPath, ...(aeStep.seqPath.slice(1))],
|
|
36
|
-
};
|
|
37
|
-
// After every steps are substeps (triggered by parent step)
|
|
38
|
-
const res = await executeSubFeatureSteps(featureStep, [mappedStep], this.steppers, this.getWorld(), ExecMode.NO_CYCLES, 1, true);
|
|
39
|
-
if (!res.ok) {
|
|
37
|
+
const stepsToRun = afterEvery.filter(aeStep => aeStep.action.actionName !== featureStep.action.actionName);
|
|
38
|
+
if (stepsToRun.length > 0) {
|
|
39
|
+
const mode = featureStep.intent?.mode === 'speculative' ? 'speculative' : 'authoritative';
|
|
40
|
+
const res = await this.runner.runSteps(stepsToRun, { intent: { mode }, parentStep: featureStep });
|
|
41
|
+
if (res.kind !== 'ok') {
|
|
40
42
|
failed = true;
|
|
41
|
-
break;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
return Promise.resolve({ failed });
|
|
46
47
|
}
|
|
47
48
|
};
|
|
49
|
+
cyclesWhen = {
|
|
50
|
+
startExecution: CycleWhen.LAST,
|
|
51
|
+
startFeature: CycleWhen.LAST,
|
|
52
|
+
};
|
|
48
53
|
steps = {
|
|
49
|
-
// --- LOGIC OPERATORS --- // Represents Logical Negation (~P).
|
|
50
|
-
not: {
|
|
51
|
-
gwta: `not {statements:${DOMAIN_STATEMENT}}`,
|
|
52
|
-
action: async ({ statements }, featureStep) => {
|
|
53
|
-
const lastResult = await executeSubFeatureSteps(featureStep, statements, this.steppers, this.getWorld(), ExecMode.NO_CYCLES, -1);
|
|
54
|
-
// Negation: action is OK if the inner statement failed (was NOT true)
|
|
55
|
-
return lastResult.ok ? actionNotOK('not statement was true (failed negation)') : OK;
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
// Represents Logical Implication (P => Q).
|
|
59
|
-
if: {
|
|
60
|
-
gwta: `if {ifStatements:${DOMAIN_STATEMENT}}, {thenStatements:${DOMAIN_STATEMENT}}`,
|
|
61
|
-
action: async ({ ifStatements, thenStatements }, featureStep) => {
|
|
62
|
-
const ifResult = await executeSubFeatureSteps(featureStep, ifStatements, this.steppers, this.getWorld(), ExecMode.NO_CYCLES, -1);
|
|
63
|
-
// If antecedent fails, the implication is true (vacuously true: F => T/F), so we return OK.
|
|
64
|
-
if (!ifResult.ok) {
|
|
65
|
-
return OK;
|
|
66
|
-
}
|
|
67
|
-
// 2. Evaluate Consequent (THEN) - use dir=1 for body execution
|
|
68
|
-
const ifThenResult = await executeSubFeatureSteps(featureStep, thenStatements, this.steppers, this.getWorld(), ExecMode.WITH_CYCLES, 1);
|
|
69
|
-
// Consequent must succeed to prove the implication is true (T => T)
|
|
70
|
-
return ifThenResult.ok ? OK : actionNotOK('if antecedent was TRUE, but consequent failed');
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
54
|
// --- META & UTILITIES ---
|
|
74
55
|
until: {
|
|
75
56
|
gwta: `until {statements:${DOMAIN_STATEMENT}}`,
|
|
76
57
|
action: async ({ statements }, featureStep) => {
|
|
77
|
-
let
|
|
58
|
+
let signal;
|
|
59
|
+
const mode = featureStep.intent?.mode === 'speculative' ? 'speculative' : 'authoritative';
|
|
78
60
|
do {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
61
|
+
signal = await this.runner.runSteps(statements, { intent: { mode, usage: 'polling' }, parentStep: featureStep });
|
|
62
|
+
if (signal.fatal) {
|
|
63
|
+
this.getWorld().logger.warn(`until: received terminal error, aborting loop`);
|
|
64
|
+
return actionNotOK('until: aborted due to terminal error');
|
|
65
|
+
}
|
|
66
|
+
if (signal.kind !== 'ok') {
|
|
67
|
+
await sleep(200);
|
|
68
|
+
}
|
|
69
|
+
} while (signal.kind !== 'ok');
|
|
82
70
|
return OK;
|
|
83
71
|
},
|
|
84
72
|
},
|
|
@@ -102,8 +90,9 @@ class Haibun extends AStepper {
|
|
|
102
90
|
// Expand backgrounds at runtime using world.runtime.backgrounds
|
|
103
91
|
const world = this.getWorld();
|
|
104
92
|
const expanded = findFeatureStepsFromStatement(names, this.steppers, world, featureStep.path, featureStep.seqPath, 1);
|
|
105
|
-
const
|
|
106
|
-
|
|
93
|
+
const mode = featureStep.intent?.mode === 'speculative' ? 'speculative' : 'authoritative';
|
|
94
|
+
const result = await this.runner.runSteps(expanded, { intent: { mode }, parentStep: featureStep });
|
|
95
|
+
return result.kind === 'ok' ? OK : actionNotOK(`backgrounds failed: ${result.message}`);
|
|
107
96
|
},
|
|
108
97
|
},
|
|
109
98
|
nothing: {
|
|
@@ -111,12 +100,14 @@ class Haibun extends AStepper {
|
|
|
111
100
|
action: () => OK,
|
|
112
101
|
},
|
|
113
102
|
prose: {
|
|
114
|
-
|
|
103
|
+
// prose starts with a capital letter and ends with punctuation, or starts with punctuation
|
|
104
|
+
match: /^([A-Z].*[.!?:;]|[^a-zA-Z].*)$/,
|
|
115
105
|
fallback: true,
|
|
116
106
|
action: () => OK,
|
|
117
107
|
},
|
|
118
108
|
feature: {
|
|
119
109
|
gwta: 'Feature: {feature}',
|
|
110
|
+
handlesUndefined: ['feature'],
|
|
120
111
|
action: ({ feature }) => {
|
|
121
112
|
this.getWorld().runtime.feature = feature;
|
|
122
113
|
return OK;
|
|
@@ -124,6 +115,7 @@ class Haibun extends AStepper {
|
|
|
124
115
|
},
|
|
125
116
|
scenario: {
|
|
126
117
|
gwta: 'Scenario: {scenario}',
|
|
118
|
+
handlesUndefined: ['scenario'],
|
|
127
119
|
action: ({ scenario }) => {
|
|
128
120
|
this.getWorld().runtime.scenario = scenario;
|
|
129
121
|
return OK;
|
|
@@ -174,26 +166,30 @@ class Haibun extends AStepper {
|
|
|
174
166
|
gwta: 'pause for {ms:number}s',
|
|
175
167
|
action: (async ({ ms }) => { await sleep(ms * 1000); return OK; }),
|
|
176
168
|
},
|
|
177
|
-
showDomains: {
|
|
178
|
-
gwta: 'show domains',
|
|
179
|
-
action: () => {
|
|
180
|
-
this.getWorld().logger.info(`Domains: ${JSON.stringify(this.getWorld().domains, null, 2)}`);
|
|
181
|
-
return OK;
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
169
|
comment: {
|
|
185
170
|
gwta: ';;{comment}',
|
|
171
|
+
handlesUndefined: ['comment'],
|
|
186
172
|
action: () => OK,
|
|
187
173
|
},
|
|
188
174
|
afterEveryStepper: {
|
|
189
175
|
precludes: [`Haibun.prose`],
|
|
190
176
|
gwta: `after every {stepperName: string}, {statement: ${DOMAIN_STATEMENT}}`,
|
|
177
|
+
handlesUndefined: ['stepperName'],
|
|
191
178
|
action: ({ stepperName, statement }) => {
|
|
192
179
|
this.afterEverySteps[stepperName] = statement;
|
|
193
180
|
return OK;
|
|
194
181
|
},
|
|
195
182
|
},
|
|
196
183
|
};
|
|
184
|
+
createResolvedFeaturesArtifact(type, resolvedFeatures, index = undefined) {
|
|
185
|
+
const artifact = { artifactType: 'resolvedFeatures', resolvedFeatures, index, };
|
|
186
|
+
const context = {
|
|
187
|
+
incident: EExecutionMessageType.ACTION,
|
|
188
|
+
artifacts: [artifact],
|
|
189
|
+
tag: this.getWorld().tag,
|
|
190
|
+
};
|
|
191
|
+
this.getWorld().logger.info(`resolvedFeatures for ${type}`, context);
|
|
192
|
+
}
|
|
197
193
|
}
|
|
198
194
|
export default Haibun;
|
|
199
195
|
//# sourceMappingURL=haibun.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAgB,UAAU,
|
|
1
|
+
{"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/steps/lib/tts.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/steps/lib/tts.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAIzD,MAAM,MAAM,YAAY,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AACzF,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,CAAC;AAMjE,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkClH;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CActE;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CtE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoB3G;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM;;;EAcrG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9D;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,MAAM,CAanE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,QAGtC"}
|
package/build/steps/lib/tts.js
CHANGED
|
@@ -3,9 +3,10 @@ import { createHash } from 'crypto';
|
|
|
3
3
|
import { existsSync, mkdirSync, readdirSync, cpSync, unlinkSync } from 'fs';
|
|
4
4
|
import * as nodePath from 'path';
|
|
5
5
|
import { createRequire } from 'module';
|
|
6
|
+
import { FEATURE_START } from "../../lib/defs.js";
|
|
6
7
|
import { SCENARIO_START } from '../../lib/defs.js';
|
|
7
8
|
const CACHE_DIR = nodePath.resolve('capture/.said');
|
|
8
|
-
const SPOKEN_STEPS = ['prose', SCENARIO_START,
|
|
9
|
+
const SPOKEN_STEPS = ['prose', SCENARIO_START, FEATURE_START];
|
|
9
10
|
export async function preRenderFeatureProse(feature, logger) {
|
|
10
11
|
const proseTexts = new Set();
|
|
11
12
|
for (const step of feature.featureSteps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../src/steps/lib/tts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC5E,OAAO,KAAK,QAAQ,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../src/steps/lib/tts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AStepper } from '../lib/astepper.js';
|
|
2
|
+
import { TFeatureStep, TWorld, TActionResult } from '../lib/defs.js';
|
|
3
|
+
export default class LogicStepper extends AStepper {
|
|
4
|
+
steppers: AStepper[];
|
|
5
|
+
private runner;
|
|
6
|
+
setWorld(world: TWorld, steppers: AStepper[]): Promise<void>;
|
|
7
|
+
steps: {
|
|
8
|
+
whenever: {
|
|
9
|
+
gwta: string;
|
|
10
|
+
action: ({ condition, action }: {
|
|
11
|
+
condition: TFeatureStep[];
|
|
12
|
+
action: TFeatureStep[];
|
|
13
|
+
}, featureStep: TFeatureStep) => Promise<TActionResult>;
|
|
14
|
+
};
|
|
15
|
+
where: {
|
|
16
|
+
gwta: string;
|
|
17
|
+
action: ({ condition, action }: {
|
|
18
|
+
condition: TFeatureStep[];
|
|
19
|
+
action: TFeatureStep[];
|
|
20
|
+
}, featureStep: TFeatureStep) => Promise<TActionResult>;
|
|
21
|
+
};
|
|
22
|
+
anyOf: {
|
|
23
|
+
match: RegExp;
|
|
24
|
+
action: (_: unknown, featureStep: TFeatureStep) => Promise<TActionResult>;
|
|
25
|
+
};
|
|
26
|
+
not: {
|
|
27
|
+
gwta: string;
|
|
28
|
+
action: ({ statements }: {
|
|
29
|
+
statements: TFeatureStep[];
|
|
30
|
+
}, featureStep: TFeatureStep) => Promise<TActionResult>;
|
|
31
|
+
};
|
|
32
|
+
some: {
|
|
33
|
+
match: RegExp;
|
|
34
|
+
action: (_: unknown, featureStep: TFeatureStep) => Promise<TActionResult>;
|
|
35
|
+
};
|
|
36
|
+
every: {
|
|
37
|
+
match: RegExp;
|
|
38
|
+
action: (_: unknown, featureStep: TFeatureStep) => Promise<TActionResult>;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=logic-stepper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic-stepper.d.ts","sourceRoot":"","sources":["../../src/steps/logic-stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAM,YAAY,EAAE,MAAM,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAKjF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,QAAQ;IAChD,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,OAAO,CAAC,MAAM,CAAa;IAErB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAMlD,KAAK;;;4CAQqC;gBAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gBAAC,MAAM,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;;;;4CA4BzG;gBAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gBAAC,MAAM,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;;;;wBAiB7H,OAAO,eAAe,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;;;;qCAkB9C;gBAAE,UAAU,EAAE,YAAY,EAAE,CAAA;aAAE,eAAe,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;;;;wBAmB/F,OAAO,eAAe,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;;;;wBAgC3D,OAAO,eAAe,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;;MA0BvD;CAE3B"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { AStepper } from '../lib/astepper.js';
|
|
2
|
+
import { OK, Origin } from '../lib/defs.js';
|
|
3
|
+
import { actionNotOK, sleep } from '../lib/util/index.js';
|
|
4
|
+
import { FlowRunner } from '../lib/core/flow-runner.js';
|
|
5
|
+
import { DOMAIN_STATEMENT } from '../lib/domain-types.js';
|
|
6
|
+
export default class LogicStepper extends AStepper {
|
|
7
|
+
steppers = [];
|
|
8
|
+
runner;
|
|
9
|
+
async setWorld(world, steppers) {
|
|
10
|
+
this.world = world;
|
|
11
|
+
this.steppers = steppers;
|
|
12
|
+
this.runner = new FlowRunner(world, steppers);
|
|
13
|
+
}
|
|
14
|
+
steps = {
|
|
15
|
+
// -------------------------------------------------------------------------
|
|
16
|
+
// CONTROL FLOW (The Gates)
|
|
17
|
+
// -------------------------------------------------------------------------
|
|
18
|
+
// RECURRENCE: While(Condition) { Action }
|
|
19
|
+
whenever: {
|
|
20
|
+
gwta: 'whenever {condition:statement}, {action:statement}',
|
|
21
|
+
action: async ({ condition, action }, featureStep) => {
|
|
22
|
+
let loopCount = 0;
|
|
23
|
+
const MAX_LOOPS = 1000;
|
|
24
|
+
const mode = featureStep.intent?.mode === 'speculative' ? 'speculative' : 'authoritative';
|
|
25
|
+
const usage = featureStep.intent?.usage;
|
|
26
|
+
// eslint-disable-next-line no-constant-condition
|
|
27
|
+
while (true) {
|
|
28
|
+
if (loopCount++ > MAX_LOOPS)
|
|
29
|
+
return actionNotOK('whenever: infinite loop detected');
|
|
30
|
+
const check = await this.runner.runSteps(condition, { intent: { mode: 'speculative', usage }, parentStep: featureStep });
|
|
31
|
+
if (check.kind !== 'ok')
|
|
32
|
+
break;
|
|
33
|
+
const result = await this.runner.runSteps(action, { intent: { mode, usage }, parentStep: featureStep });
|
|
34
|
+
if (result.kind !== 'ok') {
|
|
35
|
+
return actionNotOK(`whenever: action failed: ${result.message}`);
|
|
36
|
+
}
|
|
37
|
+
await sleep(0);
|
|
38
|
+
}
|
|
39
|
+
return OK;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
// IMPLICATION: If P then Q
|
|
43
|
+
where: {
|
|
44
|
+
gwta: 'where {condition:statement}, {action:statement}',
|
|
45
|
+
action: async ({ condition, action }, featureStep) => {
|
|
46
|
+
const usage = featureStep.intent?.usage;
|
|
47
|
+
const check = await this.runner.runSteps(condition, { intent: { mode: 'speculative', usage }, parentStep: featureStep });
|
|
48
|
+
// Vacuously true if condition is false
|
|
49
|
+
if (check.kind !== 'ok')
|
|
50
|
+
return OK;
|
|
51
|
+
const mode = featureStep.intent?.mode === 'speculative' ? 'speculative' : 'authoritative';
|
|
52
|
+
const result = await this.runner.runSteps(action, { intent: { mode, usage }, parentStep: featureStep });
|
|
53
|
+
return result.kind === 'ok' ? OK : actionNotOK(`Constraint failed: Condition was true, but Action failed: ${result.message}`);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
// DISJUNCTION: A or B or C
|
|
57
|
+
anyOf: {
|
|
58
|
+
match: /^any of (.*)/,
|
|
59
|
+
action: async (_, featureStep) => {
|
|
60
|
+
let statements = featureStep.in.replace(/^any of /i, '').trim();
|
|
61
|
+
if ((statements.startsWith('"') && statements.endsWith('"')) || (statements.startsWith('`') && statements.endsWith('`'))) {
|
|
62
|
+
statements = statements.slice(1, -1);
|
|
63
|
+
}
|
|
64
|
+
const statementList = statements.split(',').map(s => s.trim());
|
|
65
|
+
for (const statement of statementList) {
|
|
66
|
+
const res = await this.runner.runStatements([statement], { intent: { mode: 'speculative' }, parentStep: featureStep });
|
|
67
|
+
if (res.kind === 'ok')
|
|
68
|
+
return OK;
|
|
69
|
+
this.getWorld().logger.debug(`any of: statement "${statement}" failed: ${res.message}`);
|
|
70
|
+
}
|
|
71
|
+
return actionNotOK('No conditions in the list were satisfied');
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
// NEGATION: Not P
|
|
75
|
+
not: {
|
|
76
|
+
gwta: `not {statements:${DOMAIN_STATEMENT}}`,
|
|
77
|
+
action: async ({ statements }, featureStep) => {
|
|
78
|
+
// Speculative mode catches recursion depth errors
|
|
79
|
+
const res = await this.runner.runSteps(statements, { intent: { mode: 'speculative' }, parentStep: featureStep });
|
|
80
|
+
if (res.kind === 'fail') {
|
|
81
|
+
return OK;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return actionNotOK('not statement was true (failed negation)');
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
// -------------------------------------------------------------------------
|
|
89
|
+
// QUANTIFIERS (The Iterators)
|
|
90
|
+
// -------------------------------------------------------------------------
|
|
91
|
+
// EXISTENTIAL: Exists x in D such that P(x)
|
|
92
|
+
some: {
|
|
93
|
+
match: /^some (.*?) in (.*?) is (.*)/,
|
|
94
|
+
action: async (_, featureStep) => {
|
|
95
|
+
const match = featureStep.in.match(/^some (.*?) in (.*?) is (.*)/);
|
|
96
|
+
if (!match)
|
|
97
|
+
return actionNotOK('some: invalid syntax');
|
|
98
|
+
const [, what, domain, statementStr] = match;
|
|
99
|
+
const { values, error } = this.getWorld().shared.getDomainValues(domain);
|
|
100
|
+
if (error)
|
|
101
|
+
return actionNotOK(error);
|
|
102
|
+
if (values.length === 0)
|
|
103
|
+
return actionNotOK(`No members in domain "${domain}" to check`);
|
|
104
|
+
const mode = 'speculative';
|
|
105
|
+
let found = false;
|
|
106
|
+
for (const val of values) {
|
|
107
|
+
this.getWorld().shared.set({ term: what, value: String(val), domain: 'string', origin: Origin.var }, { in: featureStep.in, seq: featureStep.seqPath, when: 'quantifier' });
|
|
108
|
+
const res = await this.runner.runStatements([statementStr], { intent: { mode }, parentStep: featureStep });
|
|
109
|
+
if (res.kind === 'ok') {
|
|
110
|
+
found = true;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return found ? OK : actionNotOK(`No ${what} in ${domain} satisfied the condition`);
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
// UNIVERSAL: For All x in D, P(x)
|
|
118
|
+
every: {
|
|
119
|
+
match: /^every (.*?) in (.*?) is (.*)/,
|
|
120
|
+
action: async (_, featureStep) => {
|
|
121
|
+
const match = featureStep.in.match(/^every (.*?) in (.*?) is (.*)/);
|
|
122
|
+
if (!match)
|
|
123
|
+
return actionNotOK('every: invalid syntax');
|
|
124
|
+
const [, what, domain, statementStr] = match;
|
|
125
|
+
const { values, error } = this.getWorld().shared.getDomainValues(domain);
|
|
126
|
+
if (error)
|
|
127
|
+
return actionNotOK(error);
|
|
128
|
+
if (values.length === 0)
|
|
129
|
+
return OK;
|
|
130
|
+
const mode = featureStep.intent?.mode === 'speculative' ? 'speculative' : 'authoritative';
|
|
131
|
+
for (const val of values) {
|
|
132
|
+
this.getWorld().shared.set({ term: what, value: String(val), domain: 'string', origin: Origin.var }, { in: featureStep.in, seq: featureStep.seqPath, when: 'quantifier' });
|
|
133
|
+
const res = await this.runner.runStatements([statementStr], { intent: { mode }, parentStep: featureStep });
|
|
134
|
+
if (res.kind !== 'ok') {
|
|
135
|
+
return actionNotOK(`Universal check failed for value "${val}": ${res.message}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return OK;
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=logic-stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic-stepper.js","sourceRoot":"","sources":["../../src/steps/logic-stepper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrator.d.ts","sourceRoot":"","sources":["../../src/steps/narrator.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"narrator.d.ts","sourceRoot":"","sources":["../../src/steps/narrator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAiB,SAAS,EAAU,MAAM,gBAAgB,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,OAAO,EAA+E,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA4B9H,cAAM,QAAS,SAAQ,QAAS,YAAW,WAAW,EAAE,UAAU;IACjE,aAAa,EAAE,iBAAiB,CAAM;IACtC,OAAO;;;2BACyE,MAAM;;;;;;;;;;;2BACR,MAAM;;;;;;;;;MAClF;IAEF,MAAM,iBAAgB;IACtB,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAMlD,OAAO,CAAC,cAAc;IAMtB,KAAK;;;;4BAImB,SAAS,eAAe,YAAY;;;;;kCAK9B,SAAS,eAAe,YAAY;;;;;mCAKnC,SAAS,eAAe,YAAY;;MAEjE;IAEI,QAAQ,CAAC,UAAU,EAAE,MAAM;CAoBjC;AAED,eAAe,QAAQ,CAAC"}
|
package/build/steps/narrator.js
CHANGED
|
@@ -44,7 +44,7 @@ class Narrator extends AStepper {
|
|
|
44
44
|
this.captureStop = getStepperOption(this, 'CAPTURE_STOP', world.moduleOptions);
|
|
45
45
|
}
|
|
46
46
|
rememberAndSay(key, value, featureStep) {
|
|
47
|
-
this.getWorld().shared.set({ term: key, value, domain: 'string', origin: Origin.
|
|
47
|
+
this.getWorld().shared.set({ term: key, value, domain: 'string', origin: Origin.defined }, { in: featureStep.in, seq: featureStep.seqPath, when: `${featureStep.action.stepperName}.${featureStep.action.actionName}` });
|
|
48
48
|
// Use featureStep.in for audio playback since that's what was pre-rendered
|
|
49
49
|
return this.maybeSay(featureStep.in);
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrator.js","sourceRoot":"","sources":["../../src/steps/narrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,
|
|
1
|
+
{"version":3,"file":"narrator.js","sourceRoot":"","sources":["../../src/steps/narrator.ts"],"names":[],"mappings":"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"}
|
package/build/steps/parse.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ declare const Parse: {
|
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
world?: import("../lib/defs.js").TWorld;
|
|
19
|
+
kind?: import("../lib/astepper.js").TStepperKind;
|
|
19
20
|
setWorld(world: import("../lib/defs.js").TWorld, _steppers: AStepper[]): Promise<void>;
|
|
20
21
|
getWorld(): import("../lib/defs.js").TWorld;
|
|
21
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/steps/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,QAAA,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/steps/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;CAwBV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|