@haibun/core 1.51.1 → 1.51.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.
@@ -1,2 +1,2 @@
1
- export declare const currentVersion = "1.51.1";
1
+ export declare const currentVersion = "1.51.3";
2
2
  //# sourceMappingURL=currentVersion.d.ts.map
@@ -1,2 +1,2 @@
1
- export const currentVersion = '1.51.1';
1
+ export const currentVersion = '1.51.3';
2
2
  //# sourceMappingURL=currentVersion.js.map
@@ -27,24 +27,48 @@ declare class Haibun extends AStepper implements IHasOptions {
27
27
  };
28
28
  required: boolean;
29
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
+ };
30
52
  };
31
53
  cycles: IStepperCycles;
32
54
  steppers: AStepper[];
33
55
  ttsCmd: string;
34
56
  ttsPlay: string;
57
+ captureStart: string;
58
+ captureStop: string;
35
59
  setWorld(world: TWorld, steppers: AStepper[]): Promise<void>;
36
60
  steps: {
37
61
  prose: {
38
62
  gwta: string;
39
- action: (t: TNamed, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
63
+ action: (t: TNamed, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TOKActionResult | import("../lib/defs.js").TNotOKActionResult>;
40
64
  };
41
65
  feature: {
42
66
  match: RegExp;
43
- action: ({ feature }: TNamed, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
67
+ action: ({ feature }: TNamed, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TOKActionResult | import("../lib/defs.js").TNotOKActionResult>;
44
68
  };
45
69
  scenarioStart: {
46
70
  match: RegExp;
47
- action: ({ scenario }: TNamed, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
71
+ action: ({ scenario }: TNamed, featureStep: TFeatureStep) => Promise<import("../lib/defs.js").TOKActionResult | import("../lib/defs.js").TNotOKActionResult>;
48
72
  };
49
73
  sequenceToken: {
50
74
  gwta: string;
@@ -88,7 +112,7 @@ declare class Haibun extends AStepper implements IHasOptions {
88
112
  applyEffect: ({ stepperName, line }: TNamed, currentFeatureStep: TFeatureStep, steppers: AStepper[]) => Promise<any[]>;
89
113
  };
90
114
  };
91
- maybeSay(transcript: string): Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
115
+ maybeSay(transcript: string): Promise<import("../lib/defs.js").TOKActionResult | import("../lib/defs.js").TNotOKActionResult>;
92
116
  newFeatureFromEffect(content: string, seq: number, steppers: AStepper[]): Promise<TFeatureStep>;
93
117
  }
94
118
  export default Haibun;
@@ -1 +1 @@
1
- {"version":3,"file":"haibun.d.ts","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,MAAM,EAAE,YAAY,EAAc,cAAc,EAAoC,MAAM,gBAAgB,CAAC;AAEhI,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C,OAAO,EAA+C,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAc9F,cAAM,MAAO,SAAQ,QAAS,YAAW,WAAW;IACnD,aAAa,EAAE,iBAAiB,CAAM;IACtC,OAAO;;;2BAGU,MAAM;;;;;;;;;;;2BAKN,MAAM;;;;;;;;;MAGtB;IAED,MAAM,iBAAgB;IACtB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAOlD,KAAK;;;wBAGe,MAAM,eAAe,YAAY;;;;kCAMvB,MAAM,eAAe,YAAY;;;;mCAOhC,MAAM,eAAe,YAAY;;;;gCAOpC,MAAM;;;;6BAOT,MAAM;;;;kCAOD,MAAM;;;;;;;;;;;;gCAmBR,MAAM;;;;sCAQA,MAAM;;;;6BASf,MAAM;;;;;;;;;iDAiBc,MAAM,sBAAsB,YAAY,YAAY,QAAQ,EAAE;;MAWzG;IACI,QAAQ,CAAC,UAAU,EAAE,MAAM;IA0B3B,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;CAMrG;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"haibun.d.ts","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAEA,OAAO,EAAM,MAAM,EAAE,MAAM,EAAE,YAAY,EAAc,cAAc,EAAoC,MAAM,gBAAgB,CAAC;AAEhI,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C,OAAO,EAAsE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAsBrH,cAAM,MAAO,SAAQ,QAAS,YAAW,WAAW;IACnD,aAAa,EAAE,iBAAiB,CAAM;IACtC,OAAO;;;2BAGU,MAAM;;;;;;;;;;;2BAKN,MAAM;;;;;;;;;;;2BAKN,MAAM;;;;;;;;;;;2BAKN,MAAM;;;;;;;;;MAGtB;IAED,MAAM,iBAAgB;IACtB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAYlD,KAAK;;;wBAGe,MAAM,eAAe,YAAY;;;;kCAMvB,MAAM,eAAe,YAAY;;;;mCAOhC,MAAM,eAAe,YAAY;;;;gCAOpC,MAAM;;;;6BAOT,MAAM;;;;kCAOD,MAAM;;;;;;;;;;;;gCAmBR,MAAM;;;;sCAQA,MAAM;;;;6BASf,MAAM;;;;;;;;;iDAiBc,MAAM,sBAAsB,YAAY,YAAY,QAAQ,EAAE;;MAWzG;IACI,QAAQ,CAAC,UAAU,EAAE,MAAM;IA0B3B,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;CAMrG;AAED,eAAe,MAAM,CAAC"}
@@ -1,19 +1,28 @@
1
+ import { resolve } from 'path';
1
2
  import { OK, STEP_DELAY, SCENARIO_START } from '../lib/defs.js';
2
3
  import { AStepper } from '../lib/astepper.js';
3
4
  import { Resolver } from '../phases/Resolver.js';
4
5
  import { actionNotOK, actionOK, getStepperOption, sleep, stringOrError } from '../lib/util/index.js';
5
6
  import { expand } from '../lib/features.js';
6
7
  import { asFeatures } from '../lib/resolver-features.js';
7
- import { copyPreRenderedAudio, preRenderFeatureProse } from './lib/tts.js';
8
+ import { copyPreRenderedAudio, doExec, playAudioFile, preRenderFeatureProse } from './lib/tts.js';
8
9
  import { captureLocator } from '../lib/capture-locator.js';
9
- import { resolve } from 'path';
10
- import { execSync } from 'child_process';
11
10
  const cycles = (hb) => ({
12
11
  async startFeature(feature) {
13
12
  if (!hb.ttsCmd) {
14
13
  return Promise.resolve();
15
14
  }
16
15
  hb.renderedAudio = await preRenderFeatureProse(feature, hb.ttsCmd, hb.world.logger);
16
+ if (hb.captureStart) {
17
+ hb.getWorld().logger.info(`Starting screen capture using ${hb.captureStart}`);
18
+ await doExec(hb.captureStart);
19
+ }
20
+ },
21
+ async endFeature() {
22
+ if (hb.captureStop) {
23
+ hb.getWorld().logger.info(`Stopping screen capture using ${hb.captureStop}`);
24
+ await doExec(hb.captureStop);
25
+ }
17
26
  }
18
27
  });
19
28
  class Haibun extends AStepper {
@@ -29,16 +38,33 @@ class Haibun extends AStepper {
29
38
  parse: (input) => stringOrError(input),
30
39
  required: false
31
40
  },
41
+ CAPTURE_START: {
42
+ desc: `Shell command to start screen capture'`,
43
+ parse: (input) => stringOrError(input),
44
+ required: false
45
+ },
46
+ CAPTURE_STOP: {
47
+ desc: `Shell command to stop screen capture'`,
48
+ parse: (input) => stringOrError(input),
49
+ required: false
50
+ },
32
51
  };
33
52
  cycles = cycles(this);
34
53
  steppers;
35
54
  ttsCmd;
36
55
  ttsPlay;
56
+ captureStart;
57
+ captureStop;
37
58
  async setWorld(world, steppers) {
38
59
  this.steppers = steppers;
39
60
  this.world = world;
40
61
  this.ttsCmd = getStepperOption(this, 'TTS_CMD', world.moduleOptions);
41
62
  this.ttsPlay = getStepperOption(this, 'TTS_PLAY', world.moduleOptions);
63
+ this.captureStart = getStepperOption(this, 'CAPTURE_START', world.moduleOptions);
64
+ this.captureStop = getStepperOption(this, 'CAPTURE_STOP', world.moduleOptions);
65
+ if (this.captureStart && !this.captureStop || this.captureStop && !this.captureStart) {
66
+ throw Error(`Capture requires both CAPTURE_START and CAPTURE_STOP`);
67
+ }
42
68
  return Promise.resolve();
43
69
  }
44
70
  steps = {
@@ -151,10 +177,10 @@ class Haibun extends AStepper {
151
177
  const runtimePath = resolve(dir);
152
178
  const artifact = { artifactType: 'speech', path, durationS, runtimePath, transcript };
153
179
  if (this.ttsPlay) {
154
- const playCmd = this.ttsPlay.replace(/@WHAT@/g, `${runtimePath}/${path}`);
155
- this.world.logger.debug(`playing audio: ${playCmd}`);
180
+ const playCmd = this.ttsPlay.replace(/@WHAT@/g, `"${runtimePath}/${path}"`);
156
181
  try {
157
- execSync(playCmd, { stdio: 'pipe' }).toString();
182
+ this.world.logger.debug(`playing audio: ${playCmd}`);
183
+ await playAudioFile(playCmd);
158
184
  }
159
185
  catch (error) {
160
186
  const stderr = error.stderr ? error.stderr.toString() : '';
@@ -1 +1 @@
1
- {"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"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"}
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,EAAoC,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhI,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAqB,MAAM,cAAc,CAAC;AAErH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,MAAM,GAAG,CAAC,EAAU,EAAkB,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,YAAY,CAAC,OAAyB;QAC3C,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QACD,EAAE,CAAC,aAAa,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpF,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;YACrB,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;YAC9E,MAAM,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IACD,KAAK,CAAC,UAAU;QACf,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpB,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7E,MAAM,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9B,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,aAAa,EAAE;YACd,IAAI,EAAE,0BAA0B;YAChC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAU,EAAE,EAAE;gBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;QACD,cAAc,EAAE;YACf,IAAI,EAAE,+BAA+B;YACrC,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,KAAK,EAAE;YACN,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAU,EAAE,EAAE;gBACrC,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;SACD;QACD,aAAa,EAAE;YACd,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;QACD,UAAU,EAAE;YACX,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACnF,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;SACD;QACD,OAAO,EAAE;YACR,IAAI,EAAE,0BAA0B;YAChC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAU,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;gBACrF,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,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,WAAW,EAAE,UAAU,EAAE,CAAC;QACvG,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,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;gBACrD,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAgB,EAAE,CAAC;gBAC3B,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;IAED,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,EAAE,QAAQ,CAAC,CAAC;QACpD,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"}
@@ -15,4 +15,6 @@ export declare function copyPreRenderedAudio(dir: string, renderedAudio: TRender
15
15
  path: string;
16
16
  durationS: number;
17
17
  }>;
18
+ export declare function playAudioFile(playCmd: string): Promise<void>;
19
+ export declare function doExec(command: string): Promise<string>;
18
20
  //# sourceMappingURL=tts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/steps/lib/tts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAGzD,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,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkClI;AAeD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe5E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAa3H;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM;;;GAQ3G"}
1
+ {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/steps/lib/tts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAGzD,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,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkClI;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAc5E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAa3H;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM;;;GAQ3G;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,iBAElD;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7D"}
@@ -30,31 +30,18 @@ export async function preRenderFeatureProse(feature, ttsCmd, logger) {
30
30
  renderedAudio[hash] = { transcript, durationS, cachedPath };
31
31
  }
32
32
  else {
33
- logger.debug(`Rendering audio for transcript "${transcript}"`);
33
+ logger.info(`Rendering audio for transcript "${transcript}"`);
34
34
  const audioInfo = await renderAudio(hash, ttsCmd, transcript, CACHE_DIR);
35
35
  renderedAudio[hash] = audioInfo;
36
36
  }
37
37
  }
38
38
  return renderedAudio;
39
39
  }
40
- function renderSpeech(cmd, what) {
41
- // Escape single quotes and wrap entire text in single quotes
42
- what = what.replace(/'/g, "'\\''");
43
- const command = cmd.replace('@WHAT@', `'${what}'`);
44
- try {
45
- const fn = execSync(command, { encoding: 'utf8' });
46
- return fn.trim();
47
- }
48
- catch (error) {
49
- const stderr = error.stderr ? error.stderr.toString() : '';
50
- throw new Error(`Error rendering audio using ${command}: ${error.message}\nOutput: ${stderr}`);
51
- }
52
- }
53
40
  export async function getMediafileDuration(filePath) {
54
41
  try {
55
42
  const command = `ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "${filePath}"`;
56
- const durationStr = execSync(command, { encoding: 'utf8' }).trim();
57
- const duration = parseFloat(durationStr);
43
+ const durationStr = await doExec(command);
44
+ const duration = parseFloat(command);
58
45
  if (isNaN(duration)) {
59
46
  throw new Error(`ffprobe returned non-numeric duration: "${durationStr}" for ${filePath}`);
60
47
  }
@@ -66,7 +53,7 @@ export async function getMediafileDuration(filePath) {
66
53
  }
67
54
  }
68
55
  export async function renderAudio(hash, ttsCmd, transcript, cacheDir) {
69
- const generatedWavPath = renderSpeech(ttsCmd, transcript);
56
+ const generatedWavPath = await renderSpeech(ttsCmd, transcript);
70
57
  if (!existsSync(generatedWavPath)) {
71
58
  throw new Error(`TTS command did not produce expected file: ${generatedWavPath}`);
72
59
  }
@@ -84,4 +71,23 @@ export async function copyPreRenderedAudio(dir, renderedAudio, transcript) {
84
71
  cpSync(cachedPath, path, { force: true });
85
72
  return Promise.resolve({ path: cacheFilename, durationS });
86
73
  }
74
+ export async function playAudioFile(playCmd) {
75
+ await doExec(playCmd);
76
+ }
77
+ export async function doExec(command) {
78
+ try {
79
+ const stdout = execSync(command, { encoding: 'utf8', stdio: 'pipe' }).toString();
80
+ return Promise.resolve(stdout.trim());
81
+ }
82
+ catch (error) {
83
+ const stderr = error.stderr ? error.stderr.toString() : '';
84
+ console.error(stderr);
85
+ throw (error);
86
+ }
87
+ }
88
+ async function renderSpeech(cmd, what) {
89
+ what = what.replace(/"/g, '\\"');
90
+ const command = cmd.replace('@WHAT@', `"${what}"`);
91
+ return await doExec(command);
92
+ }
87
93
  //# sourceMappingURL=tts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../src/steps/lib/tts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../src/steps/lib/tts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAChE,OAAO,KAAK,QAAQ,MAAM,MAAM,CAAC;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,SAAS,GAAG,eAAe,CAAC;AAElC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAyB,EAAE,MAAc,EAAE,MAAe;IACrG,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACrB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,sDAAsD,CAAC,CAAC;IAEvF,MAAM,aAAa,GAAsB,EAAE,CAAC;IAC5C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,oBAAoB,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACpD,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QAC5E,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACtD,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QAC7D,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,mCAAmC,UAAU,GAAG,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACzE,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QACjC,CAAC;IACF,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAC1D,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,0FAA0F,QAAQ,GAAG,CAAC;QACtH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2CAA2C,WAAW,SAAS,QAAQ,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,8BAA8B,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,MAAc,EAAE,UAAkB,EAAE,QAAgB;IACnG,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,8CAA8C,gBAAgB,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,GAAG,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEhE,MAAM,CAAC,gBAAgB,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,aAAgC,EAAE,UAAkB;IAC3G,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAEtD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IAClD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe;IAC3C,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;AACF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,IAAY;IACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;IACnD,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@haibun/core",
3
3
  "type": "module",
4
- "version": "1.51.1",
4
+ "version": "1.51.3",
5
5
  "description": "",
6
6
  "author": "",
7
7
  "xexports": {