From 53e5360ab3c93ab84d43d585980bf1cbe003471f Mon Sep 17 00:00:00 2001 From: akirilyuk Date: Thu, 3 Feb 2022 17:58:26 +0100 Subject: [PATCH] improve var naming --- lib/tasks/cognigy/index.js | 16 ++++++++-------- lib/tasks/cognigy/speech-config.js | 10 +++++----- lib/tasks/gather.js | 22 +++++++++++++++++----- lib/tasks/say.js | 5 ++--- 4 files changed, 32 insertions(+), 21 deletions(-) diff --git a/lib/tasks/cognigy/index.js b/lib/tasks/cognigy/index.js index 4bf697a2..146855e3 100644 --- a/lib/tasks/cognigy/index.js +++ b/lib/tasks/cognigy/index.js @@ -87,7 +87,7 @@ class Cognigy extends Task { } this.logger.debug('say task executed from queue'); }); - if(this.taskQueue.lastPromise){ + if (this.taskQueue.lastPromise) { // resolve the previous promise for cleanup this.taskQueue.lastPromise.resolve({}); } @@ -189,10 +189,10 @@ class Cognigy extends Task { * Creates a promt which will be sent to the consumer. We will create a say task if bargein is disabled * for session and nextTurn, else create a gather task. */ - _createPromtTask({text, url, turnConfig, dontListenAfterSpeech} = {}){ - const bargeInOnNextTurn = turnConfig?.bargein?.enable?.length>0; + _createPromtTask({text, url, turnConfig, dontListenAfterSpeech} = {}) { + const bargeInOnNextTurn = turnConfig?.bargein?.enable?.length > 0; const bargeInSession = this.config.bargeInEnabled; - if(bargeInOnNextTurn || bargeInSession){ + if (bargeInOnNextTurn || bargeInSession) { return this._makeGatherTask({textPrompt: text, url, turnConfig, dontListenAfterSpeech}); } return this._makeSayTask({text, turnConfig}); @@ -210,7 +210,7 @@ class Cognigy extends Task { _makeSayTask({ text, turnConfig } = {}) { this.logger.debug({text, turnConfig}, '_makeSayTask'); const config = this.config.makeSayTaskConfig({text, turnConfig }); - this.logger.debug({config}, "created say task config"); + this.logger.debug({config}, 'created say task config'); const say = makeTask(this.logger, { say: config }, this); return say; } @@ -261,7 +261,7 @@ class Cognigy extends Task { async _onBotFinalPing(cs, ep) { this.logger.info({prompts: this.prompts}, 'Cognigy:_onBotFinalPing'); try { - // lets wait until we have finished processing the speech before + // lets wait until we have finished processing the speech before // starting a gather... await this.taskQueue.lastPromise; const gatherTask = this._makeGatherTask(); @@ -357,10 +357,10 @@ class Cognigy extends Task { const utterance = evt.alternatives[0].transcript; //if we have barge in enabled AND we enabled skipping until next question - //then stop execution of currently queues bot output before sending the + //then stop execution of currently queues bot output before sending the //response to waiting bot since otherwise we could stop upcoming bot output - if(this.config.skipUntilBotInput){ + if (this.config.skipUntilBotInput) { // clear task queue, resolve the last promise and cleanup; this.taskQueue.end(); this.taskQueue.lastPromise.resolve(); diff --git a/lib/tasks/cognigy/speech-config.js b/lib/tasks/cognigy/speech-config.js index 68911c53..7041080a 100644 --- a/lib/tasks/cognigy/speech-config.js +++ b/lib/tasks/cognigy/speech-config.js @@ -31,13 +31,13 @@ class SpeechConfig extends Emitter { /** * check if we should skip all nodes until next bot input */ - get skipUntilBotInput(){ - return this.sessionConfig.bargein?.skipUntilBotInput === false; + get skipUntilBotInput() { + return this.sessionConfig.bargein?.skipUntilBotInput === false; } /** * Check if barge is enabled on session level */ - get bargeInEnabled(){ + get bargeInEnabled() { return this.sessionConfig.bargein?.enable?.length > 0; } @@ -79,7 +79,7 @@ class SpeechConfig extends Emitter { if (opts.recognizer) input.push('speech'); if (hasKeys(opts.dtmf)) input.push('digits'); - if(opts.synthesizer){ + if (opts.synthesizer) { // todo remove this once we add support for disabling tts cache delete opts.synthesizer.disableTtsCache; } @@ -126,7 +126,7 @@ class SpeechConfig extends Emitter { noInputSpeech, noInputUrl }, - dontListenAfterSpeech + listenAfterSpeech: !dontListenAfterSpeech }; const final = stripNulls(config); diff --git a/lib/tasks/gather.js b/lib/tasks/gather.js index 4d243913..ac62afdc 100644 --- a/lib/tasks/gather.js +++ b/lib/tasks/gather.js @@ -23,9 +23,9 @@ class TaskGather extends Task { ].forEach((k) => this[k] = this.data[k]); this.listenDuringPrompt = this.data.listenDuringPrompt === false ? false : true; this.minBargeinWordCount = this.data.minBargeinWordCount || 1; - // this is specially for barge in where we want to make a bargebale promt + // this is specially for barge in where we want to make a bargebale promt // to a user without listening after the say task has finished - this.dontListenAfterSpeech = this.data.dontListenAfterSpeech === true; + this.listenAfterSpeech = this.data.listenAfterSpeech === false; this.timeout = (this.timeout || 15) * 1000; this.interim = this.partialResultCallback || this.bargein; if (this.data.recognizer) { @@ -104,15 +104,27 @@ class TaskGather extends Task { this.sayTask.on('playDone', async(err) => { if (err) return this.logger.error({err}, 'Gather:exec Error playing tts'); this.logger.debug('Gather: say task completed'); - if (!this.killed || !this.dontListenAfterSpeech) startListening(cs, ep); + if (!this.killed) { + if (this.listenAfterSpeech) { + startListening(cs, ep); + } else { + this.kill(cs); + } + } }); } else if (this.playTask) { this.playTask.exec(cs, ep); // kicked off, _not_ waiting for it to complete this.playTask.on('playDone', async(err) => { if (err) return this.logger.error({err}, 'Gather:exec Error playing url'); - if (!this.killed || !this.dontListenAfterSpeech) startListening(cs, ep); - }); + if (!this.killed) { + if (this.listenAfterSpeech) { + startListening(cs, ep); + } else { + this.kill(cs); + } + }} + ); } else startListening(cs, ep); diff --git a/lib/tasks/say.js b/lib/tasks/say.js index b2999c0f..7ee258c4 100644 --- a/lib/tasks/say.js +++ b/lib/tasks/say.js @@ -21,9 +21,8 @@ class TaskSay extends Task { const {updateSpeechCredentialLastUsed} = require('../utils/db-utils')(this.logger, srf); const {writeAlerts, AlertType, stats} = srf.locals; const {synthAudio} = srf.locals.dbHelpers; - - const vendor = this.synthesizer.vendor || cs.speechSynthesisVendor; - const language = this.synthesizer.language || cs.speechSynthesisLanguage ; + const vendor = this.synthesizer.vendor || cs.speechSynthesisVendor; + const language = this.synthesizer.language || cs.speechSynthesisLanguage ; const voice = this.synthesizer.voice || cs.speechSynthesisVoice ; const engine = this.synthesizer.engine || 'standard'; const salt = cs.callSid;