From d1352475004997d33497d674af5f052ec80c238f Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Thu, 31 Mar 2022 12:03:55 -0400 Subject: [PATCH] bugfix: azure stt results need to be ordered by confidence level before processing (#92) --- lib/tasks/enqueue.js | 4 +++- lib/tasks/gather.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/tasks/enqueue.js b/lib/tasks/enqueue.js index e9d975d6..65eaacb3 100644 --- a/lib/tasks/enqueue.js +++ b/lib/tasks/enqueue.js @@ -302,6 +302,8 @@ class TaskEnqueue extends Task { async _playHook(cs, dlg, hook, allowed = [TaskName.Play, TaskName.Say, TaskName.Pause, TaskName.Leave]) { const {lengthOfList, getListPosition} = cs.srf.locals.dbHelpers; + const b3 = this.getTracingPropagation(); + const httpHeaders = b3 && {b3}; assert(!this._playSession); if (this.killed) return []; @@ -317,7 +319,7 @@ class TaskEnqueue extends Task { } catch (err) { this.logger.error({err}, `TaskEnqueue:_playHook error retrieving list info for queue ${this.queueName}`); } - const json = await cs.application.requestor.request('verb:hook', hook, params); + const json = await cs.application.requestor.request('verb:hook', hook, params, httpHeaders); const tasks = normalizeJambones(this.logger, json).map((tdata) => makeTask(this.logger, tdata)); const allowedTasks = tasks.filter((t) => allowed.includes(t.name)); diff --git a/lib/tasks/gather.js b/lib/tasks/gather.js index a759baf9..5c280d65 100644 --- a/lib/tasks/gather.js +++ b/lib/tasks/gather.js @@ -356,7 +356,7 @@ class TaskGather extends Task { if ('microsoft' === this.vendor) { const final = evt.RecognitionStatus === 'Success'; if (final) { - const nbest = evt.NBest; + const nbest = evt.NBest.sort((a, b) => b.Confidence - a.Confidence); evt = { is_final: true, alternatives: [