@haibun/core 1.73.0 → 1.74.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.
Files changed (89) hide show
  1. package/build/applyEffectFeatures.d.ts.map +1 -1
  2. package/build/applyEffectFeatures.js +4 -2
  3. package/build/applyEffectFeatures.js.map +1 -1
  4. package/build/currentVersion.d.ts +1 -1
  5. package/build/currentVersion.js +1 -1
  6. package/build/lib/astepper.d.ts +2 -3
  7. package/build/lib/astepper.d.ts.map +1 -1
  8. package/build/lib/astepper.js.map +1 -1
  9. package/build/lib/defs.d.ts +48 -18
  10. package/build/lib/defs.d.ts.map +1 -1
  11. package/build/lib/defs.js +17 -2
  12. package/build/lib/defs.js.map +1 -1
  13. package/build/lib/domain-types.d.ts +22 -2
  14. package/build/lib/domain-types.d.ts.map +1 -1
  15. package/build/lib/domain-types.js +54 -3
  16. package/build/lib/domain-types.js.map +1 -1
  17. package/build/lib/feature-variables.d.ts +8 -9
  18. package/build/lib/feature-variables.d.ts.map +1 -1
  19. package/build/lib/feature-variables.js +30 -12
  20. package/build/lib/feature-variables.js.map +1 -1
  21. package/build/lib/namedVars.d.ts +10 -15
  22. package/build/lib/namedVars.d.ts.map +1 -1
  23. package/build/lib/namedVars.js +130 -114
  24. package/build/lib/namedVars.js.map +1 -1
  25. package/build/lib/populateActionArgs.d.ts +4 -0
  26. package/build/lib/populateActionArgs.d.ts.map +1 -0
  27. package/build/lib/populateActionArgs.js +58 -0
  28. package/build/lib/populateActionArgs.js.map +1 -0
  29. package/build/lib/test/SetTimeStepper.d.ts +2 -2
  30. package/build/lib/test/SetTimeStepper.d.ts.map +1 -1
  31. package/build/lib/test/SetTimeStepper.js +6 -1
  32. package/build/lib/test/SetTimeStepper.js.map +1 -1
  33. package/build/lib/test/TestSteps.d.ts +3 -3
  34. package/build/lib/test/TestSteps.d.ts.map +1 -1
  35. package/build/lib/test/TestSteps.js +3 -1
  36. package/build/lib/test/TestSteps.js.map +1 -1
  37. package/build/lib/test/lib.d.ts.map +1 -1
  38. package/build/lib/test/lib.js +5 -2
  39. package/build/lib/test/lib.js.map +1 -1
  40. package/build/lib/util/featureStep-executor.d.ts +6 -0
  41. package/build/lib/util/featureStep-executor.d.ts.map +1 -0
  42. package/build/lib/util/featureStep-executor.js +39 -0
  43. package/build/lib/util/featureStep-executor.js.map +1 -0
  44. package/build/lib/util/index.d.ts +1 -2
  45. package/build/lib/util/index.d.ts.map +1 -1
  46. package/build/lib/util/index.js +2 -3
  47. package/build/lib/util/index.js.map +1 -1
  48. package/build/lib/util/resolveAndExecuteStatement.js +1 -1
  49. package/build/lib/util/resolveAndExecuteStatement.js.map +1 -1
  50. package/build/phases/Executor.d.ts +3 -3
  51. package/build/phases/Executor.d.ts.map +1 -1
  52. package/build/phases/Executor.js +53 -27
  53. package/build/phases/Executor.js.map +1 -1
  54. package/build/phases/Resolver.d.ts +2 -5
  55. package/build/phases/Resolver.d.ts.map +1 -1
  56. package/build/phases/Resolver.js +28 -20
  57. package/build/phases/Resolver.js.map +1 -1
  58. package/build/runner.js +2 -2
  59. package/build/runner.js.map +1 -1
  60. package/build/steps/debugger-stepper.d.ts +6 -54
  61. package/build/steps/debugger-stepper.d.ts.map +1 -1
  62. package/build/steps/debugger-stepper.js +53 -20
  63. package/build/steps/debugger-stepper.js.map +1 -1
  64. package/build/steps/haibun.d.ts +27 -87
  65. package/build/steps/haibun.d.ts.map +1 -1
  66. package/build/steps/haibun.js +78 -189
  67. package/build/steps/haibun.js.map +1 -1
  68. package/build/steps/narrator.d.ts +81 -0
  69. package/build/steps/narrator.d.ts.map +1 -0
  70. package/build/steps/narrator.js +102 -0
  71. package/build/steps/narrator.js.map +1 -0
  72. package/build/steps/parse.d.ts +1 -1
  73. package/build/steps/variables-stepper.d.ts +7 -40
  74. package/build/steps/variables-stepper.d.ts.map +1 -1
  75. package/build/steps/variables-stepper.js +102 -42
  76. package/build/steps/variables-stepper.js.map +1 -1
  77. package/package.json +1 -1
  78. package/build/lib/ReadlinePrompter.d.ts +0 -9
  79. package/build/lib/ReadlinePrompter.d.ts.map +0 -1
  80. package/build/lib/ReadlinePrompter.js +0 -27
  81. package/build/lib/ReadlinePrompter.js.map +0 -1
  82. package/build/lib/create-world.d.ts +0 -3
  83. package/build/lib/create-world.d.ts.map +0 -1
  84. package/build/lib/create-world.js +0 -31
  85. package/build/lib/create-world.js.map +0 -1
  86. package/build/lib/util/executeStep.d.ts +0 -5
  87. package/build/lib/util/executeStep.d.ts.map +0 -1
  88. package/build/lib/util/executeStep.js +0 -16
  89. package/build/lib/util/executeStep.js.map +0 -1
@@ -1,245 +1,134 @@
1
- import { resolve } from 'path';
2
- import { OK, STEP_DELAY, SCENARIO_START } from '../lib/defs.js';
1
+ import { OK, STEP_DELAY, ExecMode } from '../lib/defs.js';
3
2
  import { AStepper } from '../lib/astepper.js';
4
3
  import { Resolver } from '../phases/Resolver.js';
5
- import { actionNotOK, actionOK, formattedSteppers, getStepperOption, sleep, stringOrError } from '../lib/util/index.js';
6
- import { actualURI } from '../lib/util/actualURI.js';
4
+ import { actionNotOK, actionOK, formattedSteppers, sleep } from '../lib/util/index.js';
5
+ import { doExecuteFeatureSteps } from '../lib/util/featureStep-executor.js';
7
6
  import { expand } from '../lib/features.js';
8
7
  import { asFeatures } from '../lib/resolver-features.js';
9
- import { copyPreRenderedAudio, doExec, doSpawn, playAudioFile, preRenderFeatureProse } from './lib/tts.js';
10
8
  import { EExecutionMessageType } from '../lib/interfaces/logger.js';
11
- import { captureLocator } from '../lib/capture-locator.js';
12
9
  import { endExecutonContext } from '../phases/Executor.js';
13
- import { doExecuteFeatureSteps, findFeatureStepsFromStatement } from '../lib/util/resolveAndExecuteStatement.js';
14
- const CAPTURE_FILENAME = 'vcapture.webm';
15
- const cycles = (hb) => ({
16
- async startFeature({ resolvedFeature }) {
17
- if (hb.ttsCmd) {
18
- hb.renderedAudio = await preRenderFeatureProse(resolvedFeature, hb.ttsCmd, hb.world.logger);
19
- }
20
- if (hb.captureStart) {
21
- hb.getWorld().logger.debug(`Spawning screen capture using ${hb.captureStart}`);
22
- doSpawn(hb.captureStart);
23
- }
24
- },
25
- async endFeature() {
26
- if (hb.captureStop) {
27
- const uri = actualURI(CAPTURE_FILENAME);
28
- hb.getWorld().logger.info(`Stopping vcapture ${uri} using ${hb.captureStop}`);
29
- await sleep(2000);
30
- await doExec(hb.captureStop, false);
31
- const path = captureLocator(hb.world.options, hb.world.tag);
32
- const artifact = { artifactType: 'video', path };
33
- const context = {
34
- incident: EExecutionMessageType.FEATURE_END,
35
- artifacts: [artifact],
36
- tag: hb.getWorld().tag
37
- };
38
- hb.getWorld().logger.log('feature video', context);
39
- }
40
- }
41
- });
42
10
  class Haibun extends AStepper {
43
- renderedAudio = {};
44
- options = {
45
- TTS_CMD: {
46
- desc: `TTS command that accepts text as @WHAT@ and returns a full path to stdout`,
47
- parse: (input) => stringOrError(input),
48
- required: false
49
- },
50
- TTS_PLAY: {
51
- desc: `Shell command that plays an audio file using @WHAT@`,
52
- parse: (input) => stringOrError(input),
53
- required: false
54
- },
55
- CAPTURE_START: {
56
- desc: `Shell command to start screen capture'`,
57
- parse: (input) => stringOrError(input),
58
- required: false
59
- },
60
- CAPTURE_STOP: {
61
- desc: `Shell command to stop screen capture'`,
62
- parse: (input) => stringOrError(input),
63
- required: false
64
- },
65
- };
66
- cycles = cycles(this);
67
- steppers;
68
- ttsCmd;
69
- ttsPlay;
70
- captureStart;
71
- captureStop;
11
+ steppers = [];
12
+ // eslint-disable-next-line @typescript-eslint/require-await
72
13
  async setWorld(world, steppers) {
73
- this.steppers = steppers;
74
14
  this.world = world;
75
- this.ttsCmd = getStepperOption(this, 'TTS_CMD', world.moduleOptions);
76
- this.ttsPlay = getStepperOption(this, 'TTS_PLAY', world.moduleOptions);
77
- this.captureStart = getStepperOption(this, 'CAPTURE_START', world.moduleOptions);
78
- this.captureStop = getStepperOption(this, 'CAPTURE_STOP', world.moduleOptions);
79
- if (this.captureStart && !this.captureStop || this.captureStop && !this.captureStart) {
80
- throw Error(`Capture requires both CAPTURE_START and CAPTURE_STOP`);
81
- }
82
- return Promise.resolve();
15
+ this.steppers = steppers;
83
16
  }
84
17
  steps = {
85
18
  prose: {
86
- gwta: '(?<what>.*[.?!])$',
87
- action: async (t, featureStep) => {
88
- return await this.maybeSay(featureStep.in);
89
- }
19
+ match: /.+[.!?]$/,
20
+ action: async () => Promise.resolve(OK),
90
21
  },
91
22
  feature: {
92
- match: /^Feature: ?(?<feature>.+)?$/,
93
- action: async ({ feature }, featureStep) => {
94
- this.getWorld().shared.set('feature', feature);
95
- return await this.maybeSay(featureStep.in);
96
- },
23
+ gwta: 'Feature: {feature}',
24
+ action: async () => Promise.resolve(OK),
97
25
  },
98
- [SCENARIO_START]: {
99
- match: /^Scenario: (?<scenario>.+)$/,
100
- action: async ({ scenario }, featureStep) => {
101
- this.getWorld().shared.set('scenario', scenario);
102
- return await this.maybeSay(featureStep.in);
103
- },
104
- },
105
- startStepDelay: {
106
- gwta: 'step delay of (?<ms>.+)ms',
107
- action: async ({ ms }) => {
108
- this.getWorld().options[STEP_DELAY] = parseInt(ms, 10);
109
- return Promise.resolve(OK);
110
- },
26
+ scenario: {
27
+ gwta: 'Scenario: {scenario}',
28
+ action: async () => Promise.resolve(OK),
111
29
  },
112
30
  not: {
113
- gwta: `not {what}`,
114
- action: async ({ what }) => {
115
- const whatStep = await this.getNotWhat(what);
116
- const whatExec = await doExecuteFeatureSteps(whatStep, this.steppers, this.getWorld(), true);
117
- if (whatExec.ok) {
118
- return Promise.resolve(actionNotOK(`not ${what} was true`));
31
+ gwta: 'not {what:statement}',
32
+ action: async ({ what }, featureStep) => {
33
+ const list = what;
34
+ let last;
35
+ for (let i = 0; i < list.length; i++) {
36
+ const nested = { ...list[i], seqPath: [...featureStep.seqPath, i + 1] };
37
+ last = await doExecuteFeatureSteps([nested], this.steppers, this.getWorld(), ExecMode.NO_CYCLES);
38
+ this.getWorld().runtime.stepResults.push(last);
39
+ if (!last.ok)
40
+ break;
119
41
  }
120
- return Promise.resolve(OK);
42
+ if (!last)
43
+ return actionNotOK('not statement empty');
44
+ return last.ok ? actionNotOK('not statement was true') : OK;
121
45
  },
122
- checkAction: async ({ what }) => {
123
- const whatStep = await this.getNotWhat(what);
124
- return !!whatStep;
125
- }
126
46
  },
127
47
  if: {
128
- gwta: `if {when}, {what}`,
48
+ gwta: 'if {when:statement}, {what:statement}',
129
49
  action: async ({ when, what }, featureStep) => {
130
- const { whenSteps, whatSteps } = await this.getWhenWhat(when, what, featureStep.seq);
131
- const whenExec = await doExecuteFeatureSteps(whenSteps, this.steppers, this.getWorld(), true);
132
- if (whenExec.ok) {
133
- const whatExec = await doExecuteFeatureSteps(whatSteps, this.steppers, this.getWorld(), false);
134
- return Promise.resolve(whatExec.stepActionResult);
50
+ const whenList = Array.isArray(when) ? when : [];
51
+ const whenNested = whenList.map((s, i) => ({ ...s, seqPath: [...featureStep.seqPath, i + 1] }));
52
+ const whenResult = await doExecuteFeatureSteps(whenNested, this.steppers, this.getWorld(), ExecMode.NO_CYCLES);
53
+ if (!whenResult.ok)
54
+ return OK;
55
+ const whatList = Array.isArray(what) ? what : [];
56
+ const offset = whenNested.length + 1;
57
+ let accumulatedOK = true;
58
+ for (let i = 0; i < whatList.length; i++) {
59
+ const nested = { ...whatList[i], seqPath: [...featureStep.seqPath, offset + i] };
60
+ const res = await doExecuteFeatureSteps([nested], this.steppers, this.getWorld(), ExecMode.CYCLES);
61
+ if (!res.ok) {
62
+ accumulatedOK = false;
63
+ break;
64
+ }
135
65
  }
136
- return Promise.resolve(OK);
66
+ return accumulatedOK ? OK : actionNotOK('if body failed');
137
67
  },
138
- checkAction: async ({ when, what }, featureStep) => {
139
- const { whenSteps, whatSteps } = await this.getWhenWhat(when, what, featureStep.seq);
140
- return !!(whenSteps && whatSteps);
141
- }
142
68
  },
143
- endsWith: {
144
- gwta: `ends with {result}`,
145
- action: async ({ result }) => {
146
- if (result.toUpperCase() === 'OK') {
147
- return Promise.resolve(actionOK({ messageContext: endExecutonContext }));
148
- }
149
- return Promise.resolve(actionNotOK('ends with not ok'));
69
+ startStepDelay: {
70
+ gwta: 'step delay of {ms:number}ms',
71
+ action: ({ ms }) => {
72
+ this.getWorld().options[STEP_DELAY] = ms;
73
+ return OK;
150
74
  },
151
- check: ({ result }) => {
152
- if (result.toUpperCase() === 'OK' || result.toUpperCase() === 'NOT OK') {
75
+ },
76
+ endsWith: {
77
+ gwta: 'ends with {result}',
78
+ action: ({ result }) => (String(result).toUpperCase() === 'OK' ? actionOK({ messageContext: endExecutonContext }) : actionNotOK('ends with not ok')),
79
+ checkAction: ({ result }) => {
80
+ if (['OK', 'NOT OK'].includes((result.toUpperCase())))
153
81
  return true;
154
- }
155
82
  throw Error('must be "OK" or "not OK"');
156
- },
83
+ }
157
84
  },
158
85
  showSteps: {
159
86
  exact: 'show steppers',
160
- action: async () => {
87
+ action: () => {
161
88
  const allSteppers = formattedSteppers(this.steppers);
162
89
  this.world?.logger.info(`Steppers: ${JSON.stringify(allSteppers, null, 2)}`);
163
- return Promise.resolve(actionOK({ messageContext: { incident: EExecutionMessageType.ACTION, incidentDetails: { steppers: allSteppers } } }));
164
- }
90
+ return actionOK({ messageContext: { incident: EExecutionMessageType.ACTION, incidentDetails: { steppers: allSteppers } } });
91
+ },
165
92
  },
166
93
  until: {
167
94
  gwta: 'until {what} is {value}',
168
- action: async ({ what, value }) => {
169
- while (this.getWorld().shared.get(what) !== value) {
170
- await sleep(100);
171
- }
172
- return Promise.resolve(OK);
173
- },
95
+ action: async ({ what, value }) => { const key = String(what); while (this.getWorld().shared.get(key) !== value) {
96
+ await sleep(100);
97
+ } return OK; },
174
98
  },
175
99
  pauseSeconds: {
176
- gwta: 'pause for {ms}s',
177
- action: async ({ ms }) => {
178
- const seconds = parseInt(ms, 10) * 1000;
179
- await sleep(seconds);
180
- return Promise.resolve(OK);
181
- },
100
+ gwta: 'pause for {ms:number}s',
101
+ action: async ({ ms }) => { await sleep(ms * 1000); return OK; },
102
+ },
103
+ showDomains: {
104
+ gwta: 'show domains',
105
+ action: () => {
106
+ this.getWorld().logger.info(`Domains: ${JSON.stringify(this.getWorld().domains, null, 2)}`);
107
+ return OK;
108
+ }
182
109
  },
183
110
  comment: {
184
111
  gwta: ';;{comment}',
185
- action: async () => {
186
- return Promise.resolve(OK);
187
- },
112
+ action: () => OK,
188
113
  },
189
114
  afterEveryStepper: {
190
115
  gwta: 'after every {stepperName}, {line}',
191
- action: async () => {
192
- return Promise.resolve(OK);
193
- },
116
+ action: () => OK,
194
117
  applyEffect: async ({ stepperName, line }, currentFeatureStep, steppers) => {
195
- const newSteps = [];
196
- newSteps.push(currentFeatureStep);
197
- if (currentFeatureStep.action.stepperName === stepperName) {
198
- const newFeatureStep = await this.newFeatureFromEffect(line, currentFeatureStep.seq + 0.1, steppers);
118
+ const newSteps = [currentFeatureStep];
119
+ if (typeof stepperName === 'string' && currentFeatureStep.action.stepperName === stepperName) {
120
+ const newFeatureStep = await this.newFeatureFromEffect(String(line), currentFeatureStep.seqPath, steppers);
199
121
  newSteps.push(newFeatureStep);
200
122
  }
201
123
  return newSteps;
202
- }
124
+ },
203
125
  },
204
126
  };
205
- async maybeSay(transcript) {
206
- if (!this.ttsCmd) {
207
- return OK;
208
- }
209
- const dir = captureLocator(this.world.options, this.world.tag);
210
- const { path, durationS } = await copyPreRenderedAudio(dir, this.renderedAudio, transcript);
211
- const runtimePath = resolve(dir);
212
- const artifact = { artifactType: 'speech', path, durationS, transcript };
213
- if (this.ttsPlay) {
214
- const playCmd = this.ttsPlay.replace(/@WHAT@/g, `"${runtimePath}/${path}"`);
215
- try {
216
- this.world.logger.log(`playing audio: ${playCmd}`);
217
- await playAudioFile(playCmd);
218
- }
219
- catch (error) {
220
- const stderr = error.stderr ? error.stderr.toString() : '';
221
- this.world.logger.error(`Error playing audio using ${playCmd}: ${error.message}\nOutput: ${stderr}`);
222
- return actionNotOK(`Error playing audio: ${error.message}\nOutput: ${stderr}`);
223
- }
224
- }
225
- else {
226
- await sleep(durationS * 1000);
227
- }
228
- return actionOK({ artifact });
229
- }
230
- async getWhenWhat(when, what, seq) {
231
- const whenSteps = await findFeatureStepsFromStatement(when, this.steppers, this.getWorld(), '<Haibun.if-when>');
232
- const whatSteps = await findFeatureStepsFromStatement(what, this.steppers, this.getWorld(), '<Haibun.if-what>', seq + 1, .1);
233
- return { whenSteps, whatSteps };
234
- }
235
- async getNotWhat(what) {
236
- return await findFeatureStepsFromStatement(what, this.steppers, this.getWorld(), '<Haibun.not>');
237
- }
238
- async newFeatureFromEffect(content, seq, steppers) {
127
+ async newFeatureFromEffect(content, parentSeqPath, steppers) {
239
128
  const features = asFeatures([{ path: `resolved from ${content}`, content }]);
240
129
  const expandedFeatures = await expand({ backgrounds: [], features });
241
130
  const featureSteps = await new Resolver(steppers).findFeatureSteps(expandedFeatures[0]);
242
- return { ...featureSteps[0], seq };
131
+ return { ...featureSteps[0], seqPath: [...parentSeqPath, 1] };
243
132
  }
244
133
  }
245
134
  export default Haibun;
@@ -1 +1 @@
1
- {"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAgC,UAAU,EAAkB,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AAE7H,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAqB,MAAM,cAAc,CAAC;AAC9H,OAAO,EAAE,qBAAqB,EAAoD,MAAM,6BAA6B,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAEjH,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAkB,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,YAAY,CAAC,EAAE,eAAe,EAAiB;QACpD,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACf,EAAE,CAAC,aAAa,GAAG,MAAM,qBAAqB,CAAC,eAAe,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;YACrB,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;YAC/E,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IACD,KAAK,CAAC,UAAU;QACf,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACxC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAEpC,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAmB,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACjE,MAAM,OAAO,GAAoB;gBAChC,QAAQ,EAAE,qBAAqB,CAAC,WAAW;gBAC3C,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG;aACtB,CAAC;YACF,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;CACD,CAAC,CAAC;AACH,MAAM,MAAO,SAAQ,QAAQ;IAC5B,aAAa,GAAsB,EAAE,CAAC;IACtC,OAAO,GAAG;QACT,OAAO,EAAE;YACR,IAAI,EAAE,2EAA2E;YACjF,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9C,QAAQ,EAAE,KAAK;SACf;QACD,QAAQ,EAAE;YACT,IAAI,EAAE,qDAAqD;YAC3D,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9C,QAAQ,EAAE,KAAK;SACf;QACD,aAAa,EAAE;YACd,IAAI,EAAE,wCAAwC;YAC9C,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9C,QAAQ,EAAE,KAAK;SACf;QACD,YAAY,EAAE;YACb,IAAI,EAAE,uCAAuC;YAC7C,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9C,QAAQ,EAAE,KAAK;SACf;KACD,CAAA;IAED,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAa;IACrB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,YAAY,CAAS;IACrB,WAAW,CAAS;IACpB,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,QAAoB;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACtF,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IACD,KAAK,GAAG;QACP,KAAK,EAAE;YACN,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,KAAK,EAAE,CAAS,EAAE,WAAyB,EAAE,EAAE;gBACtD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;SACD;QACD,OAAO,EAAE;YACR,KAAK,EAAE,6BAA6B;YACpC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAU,EAAE,WAAyB,EAAE,EAAE;gBAChE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC/C,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;SACD;QACD,CAAC,cAAc,CAAC,EAAE;YACjB,KAAK,EAAE,6BAA6B;YACpC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAU,EAAE,WAAyB,EAAE,EAAE;gBACjE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACjD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;SACD;QACD,cAAc,EAAE;YACf,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;QACD,GAAG,EAAE;YACJ,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAU,EAAE,EAAE;gBAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC7F,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,EAAU,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7C,OAAO,CAAC,CAAC,QAAQ,CAAC;YACnB,CAAC;SACD;QACD,EAAE,EAAE;YACH,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAU,EAAE,WAAyB,EAAE,EAAE;gBACnE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;gBACrF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC9F,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;oBAC/F,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAU,EAAE,WAAyB,EAAE,EAAE;gBACxE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;gBACrF,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;YACnC,CAAC;SACD;QACD,QAAQ,EAAE;YACT,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAU,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;oBACnC,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBAC1E,CAAC;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,KAAK,EAAE,CAAC,EAAE,MAAM,EAAU,EAAE,EAAE;gBAC7B,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACxE,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,CAAC;SACD;QACD,SAAS,EAAE;YACV,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7E,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9I,CAAC;SACD;QACD,KAAK,EAAE;YACN,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAU,EAAE,EAAE;gBACzC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;oBACnD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;QACD,YAAY,EAAE;YACb,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAU,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;gBACxC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;QACD,OAAO,EAAE;YACR,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;QACD,iBAAiB,EAAE;YAClB,IAAI,EAAE,mCAAmC;YACzC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAU,EAAE,kBAAgC,EAAE,QAAoB,EAAE,EAAE;gBAC5G,MAAM,QAAQ,GAAG,EAAE,CAAC;gBAEpB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAClC,IAAI,kBAAkB,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;oBAC3D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,CAAC,GAAG,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC;oBACrG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/B,CAAC;gBACD,OAAO,QAAQ,CAAC;YACjB,CAAC;SACD;KACD,CAAC;IACF,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAoB,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QAC1F,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;gBACnD,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,KAAK,KAAK,CAAC,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC;gBACrG,OAAO,WAAW,CAAC,wBAAwB,KAAK,CAAC,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC;YAChF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW;QACxD,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAE,CAAC;QACjH,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,kBAAkB,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7H,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC5B,OAAO,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;IAClG,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,GAAW,EAAE,QAAoB;QAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC;CACD;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { TWorld, TFeatureStep, IStepperCycles, TStepArgs } from '../lib/defs.js';
2
+ import { IHasCycles, IHasOptions } from '../lib/astepper.js';
3
+ import { AStepper } from '../lib/astepper.js';
4
+ import { TRenderedAudioMap } from './lib/tts.js';
5
+ declare class Narrator extends AStepper implements IHasOptions, IHasCycles {
6
+ renderedAudio: TRenderedAudioMap;
7
+ options: {
8
+ TTS_CMD: {
9
+ desc: string;
10
+ parse: (input: string) => {
11
+ parseError: string;
12
+ result?: undefined;
13
+ } | {
14
+ result: string;
15
+ parseError?: undefined;
16
+ };
17
+ required: boolean;
18
+ };
19
+ TTS_PLAY: {
20
+ desc: string;
21
+ parse: (input: string) => {
22
+ parseError: string;
23
+ result?: undefined;
24
+ } | {
25
+ result: string;
26
+ parseError?: undefined;
27
+ };
28
+ required: boolean;
29
+ };
30
+ CAPTURE_START: {
31
+ desc: string;
32
+ parse: (input: string) => {
33
+ parseError: string;
34
+ result?: undefined;
35
+ } | {
36
+ result: string;
37
+ parseError?: undefined;
38
+ };
39
+ required: boolean;
40
+ };
41
+ CAPTURE_STOP: {
42
+ desc: string;
43
+ parse: (input: string) => {
44
+ parseError: string;
45
+ result?: undefined;
46
+ } | {
47
+ result: string;
48
+ parseError?: undefined;
49
+ };
50
+ required: boolean;
51
+ };
52
+ };
53
+ cycles: IStepperCycles;
54
+ steppers: AStepper[];
55
+ ttsCmd: string | undefined;
56
+ ttsPlay: string | undefined;
57
+ captureStart: string | undefined;
58
+ captureStop: string | undefined;
59
+ setWorld(world: TWorld, steppers: AStepper[]): Promise<void>;
60
+ private rememberAndSay;
61
+ steps: {
62
+ prose: {
63
+ precludes: string[];
64
+ match: RegExp;
65
+ action: (_args: TStepArgs, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
66
+ };
67
+ feature: {
68
+ precludes: string[];
69
+ gwta: string;
70
+ action: ({ feature }: TStepArgs, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
71
+ };
72
+ scenario: {
73
+ precludes: string[];
74
+ gwta: string;
75
+ action: ({ scenario }: TStepArgs, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
76
+ };
77
+ };
78
+ maybeSay(transcript: string): Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
79
+ }
80
+ export default Narrator;
81
+ //# sourceMappingURL=narrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"narrator.d.ts","sourceRoot":"","sources":["../../src/steps/narrator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAM,MAAM,EAAE,YAAY,EAAE,cAAc,EAAiB,SAAS,EAAU,MAAM,gBAAgB,CAAC;AAC5G,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;AA8B9H,cAAM,QAAS,SAAQ,QAAS,YAAW,WAAW,EAAE,UAAU;IACjE,aAAa,EAAE,iBAAiB,CAAM;IACtC,OAAO;;;2BACuG,MAAM;;;;;;;;;;;2BAC3B,MAAM;;;;;;;;;;;2BACf,MAAM;;;;;;;;;;;2BACR,MAAM;;;;;;;;;MAClF;IAEF,MAAM,iBAAgB;IACtB,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAQlD,OAAO,CAAC,cAAc;IAKtB,KAAK;;;;4BAImB,SAAS,eAAe,YAAY;;;;;kCAK9B,SAAS,eAAe,YAAY;;;;;mCAKnC,SAAS,eAAe,YAAY;;MAEjE;IAEI,QAAQ,CAAC,UAAU,EAAE,MAAM;CAuBjC;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { resolve } from 'path';
2
+ import { OK, Origin } from '../lib/defs.js';
3
+ import { AStepper } from '../lib/astepper.js';
4
+ import { actionNotOK, actionOK, getStepperOption, sleep, stringOrError } from '../lib/util/index.js';
5
+ import { actualURI } from '../lib/util/actualURI.js';
6
+ import { copyPreRenderedAudio, doExec, doSpawn, playAudioFile, preRenderFeatureProse } from './lib/tts.js';
7
+ import { EExecutionMessageType } from '../lib/interfaces/logger.js';
8
+ import { captureLocator } from '../lib/capture-locator.js';
9
+ const CAPTURE_FILENAME = 'vcapture.webm';
10
+ const cycles = (narrator) => ({
11
+ async startFeature({ resolvedFeature }) {
12
+ if (narrator.ttsCmd) {
13
+ narrator.renderedAudio = await preRenderFeatureProse(resolvedFeature, narrator.ttsCmd, narrator.world.logger);
14
+ }
15
+ if (narrator.captureStart) {
16
+ narrator.getWorld().logger.debug(`Spawning screen capture using ${narrator.captureStart}`);
17
+ doSpawn(narrator.captureStart);
18
+ }
19
+ },
20
+ async endFeature() {
21
+ if (narrator.captureStop) {
22
+ const uri = actualURI(CAPTURE_FILENAME);
23
+ narrator.getWorld().logger.info(`Stopping vcapture ${uri} using ${narrator.captureStop}`);
24
+ await sleep(2000);
25
+ await doExec(narrator.captureStop, false);
26
+ const path = captureLocator(narrator.world.options, narrator.world.tag);
27
+ const artifact = { artifactType: 'video', path };
28
+ const context = { incident: EExecutionMessageType.FEATURE_END, artifacts: [artifact], tag: narrator.getWorld().tag };
29
+ narrator.getWorld().logger.log('feature video', context);
30
+ }
31
+ }
32
+ });
33
+ class Narrator extends AStepper {
34
+ renderedAudio = {};
35
+ options = {
36
+ TTS_CMD: { desc: 'TTS command that accepts text as @WHAT@ and returns a full path to stdout', parse: (input) => stringOrError(input), required: false },
37
+ TTS_PLAY: { desc: 'Shell command that plays an audio file using @WHAT@', parse: (input) => stringOrError(input), required: false },
38
+ CAPTURE_START: { desc: 'Shell command to start screen capture', parse: (input) => stringOrError(input), required: false },
39
+ CAPTURE_STOP: { desc: 'Shell command to stop screen capture', parse: (input) => stringOrError(input), required: false },
40
+ };
41
+ cycles = cycles(this);
42
+ steppers = [];
43
+ ttsCmd;
44
+ ttsPlay;
45
+ captureStart;
46
+ captureStop;
47
+ async setWorld(world, steppers) {
48
+ await super.setWorld(world, steppers);
49
+ this.ttsCmd = getStepperOption(this, 'TTS_CMD', world.moduleOptions);
50
+ this.ttsPlay = getStepperOption(this, 'TTS_PLAY', world.moduleOptions);
51
+ this.captureStart = getStepperOption(this, 'CAPTURE_START', world.moduleOptions);
52
+ this.captureStop = getStepperOption(this, 'CAPTURE_STOP', world.moduleOptions);
53
+ }
54
+ rememberAndSay(key, value, featureStep) {
55
+ this.getWorld().shared.set({ term: key, value, domain: 'string', origin: Origin.fallthrough }, { in: featureStep.in, seq: featureStep.seqPath, when: `${featureStep.action.stepperName}.${featureStep.action.actionName}` });
56
+ return this.maybeSay(value);
57
+ }
58
+ steps = {
59
+ prose: {
60
+ precludes: [`Haibun.prose`],
61
+ match: /.+[.!?]$/,
62
+ action: async (_args, featureStep) => this.maybeSay(featureStep.in),
63
+ },
64
+ feature: {
65
+ precludes: [`Haibun.feature`],
66
+ gwta: 'Feature: {feature}',
67
+ action: async ({ feature }, featureStep) => this.rememberAndSay('feature', feature, featureStep),
68
+ },
69
+ scenario: {
70
+ precludes: [`Haibun.scenario`],
71
+ gwta: 'Scenario: {scenario}',
72
+ action: async ({ scenario }, featureStep) => this.rememberAndSay('scenario', scenario, featureStep),
73
+ },
74
+ };
75
+ async maybeSay(transcript) {
76
+ if (!this.ttsCmd)
77
+ return OK;
78
+ const dir = captureLocator(this.world.options, this.world.tag);
79
+ const { path, durationS } = await copyPreRenderedAudio(dir, this.renderedAudio, transcript);
80
+ const runtimePath = resolve(dir);
81
+ const artifact = { artifactType: 'speech', path, durationS, transcript };
82
+ if (this.ttsPlay) {
83
+ const playCmd = this.ttsPlay.replace(/@WHAT@/g, `"${runtimePath}/${path}"`);
84
+ try {
85
+ this.world.logger.log(`playing audio: ${playCmd}`);
86
+ await playAudioFile(playCmd);
87
+ }
88
+ catch (error) {
89
+ const e = error;
90
+ const stderr = e.stderr ? String(e.stderr) : '';
91
+ this.world.logger.error(`Error playing audio using ${playCmd}: ${e.message}\nOutput: ${stderr}`);
92
+ return actionNotOK(`Error playing audio: ${e.message}\nOutput: ${stderr}`);
93
+ }
94
+ }
95
+ else {
96
+ await sleep(durationS * 1000);
97
+ }
98
+ return actionOK({ artifact });
99
+ }
100
+ }
101
+ export default Narrator;
102
+ //# sourceMappingURL=narrator.js.map
@@ -0,0 +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,EAAE,EAAE,EAAkE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE5G,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAqB,MAAM,cAAc,CAAC;AAC9H,OAAO,EAAE,qBAAqB,EAAoD,MAAM,6BAA6B,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC,MAAM,MAAM,GAAG,CAAC,QAAkB,EAAkB,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,YAAY,CAAC,EAAE,eAAe,EAAiB;QACpD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,QAAQ,CAAC,aAAa,GAAG,MAAM,qBAAqB,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IACD,KAAK,CAAC,UAAU;QACf,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACxC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,UAAU,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1F,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAmB,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACjE,MAAM,OAAO,GAAoB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;YACtI,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,QAAS,SAAQ,QAAQ;IAC9B,aAAa,GAAsB,EAAE,CAAC;IACtC,OAAO,GAAG;QACT,OAAO,EAAE,EAAE,IAAI,EAAE,2EAA2E,EAAE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/J,QAAQ,EAAE,EAAE,IAAI,EAAE,qDAAqD,EAAE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1I,aAAa,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QACjI,YAAY,EAAE,EAAE,IAAI,EAAE,sCAAsC,EAAE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/H,CAAC;IAEF,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,GAAe,EAAE,CAAC;IAC1B,MAAM,CAAqB;IAC3B,OAAO,CAAqB;IAC5B,YAAY,CAAqB;IACjC,WAAW,CAAqB;IAEhC,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,QAAoB;QACjD,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAChF,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,KAAa,EAAE,WAAyB;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7N,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,GAAG;QACP,KAAK,EAAE;YACN,SAAS,EAAE,CAAC,cAAc,CAAC;YAC3B,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,KAAK,EAAE,KAAgB,EAAE,WAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;SAC5F;QACD,OAAO,EAAE;YACR,SAAS,EAAE,CAAC,gBAAgB,CAAC;YAC7B,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAa,EAAE,WAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAiB,EAAE,WAAW,CAAC;SACnI;QACD,QAAQ,EAAE;YACT,SAAS,EAAE,CAAC,iBAAiB,CAAC;YAC9B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAa,EAAE,WAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAkB,EAAE,WAAW,CAAC;SACtI;KACD,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAoB,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QAC1F,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;gBACnD,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,KAA8C,CAAC;gBACzD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,KAAK,CAAC,CAAC,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC;gBACjG,OAAO,WAAW,CAAC,wBAAwB,CAAC,CAAC,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/B,CAAC;CAED;AAED,eAAe,QAAQ,CAAC"}
@@ -12,7 +12,7 @@ declare const Parse: {
12
12
  };
13
13
  conformance: {
14
14
  gwta: string;
15
- action: () => Promise<import("../lib/defs.js").TOKActionResult | import("../lib/defs.js").TNotOKActionResult>;
15
+ action: () => Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
16
16
  };
17
17
  };
18
18
  world?: import("../lib/defs.js").TWorld;