Built motion from commit (unavailable).|2.4.19
[motion2.git] / server / services / agi / scripts / tilde / asr / lib / api.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x2f5e=['result','final','Tilde\x20ASR\x20hypoteses','hypotheses','transcript','likelihood','Success.','terminate','Aborted.\x20Recognition\x20was\x20aborted\x20for\x20some\x20reason.','Not\x20available.\x20Max\x20load\x20limit\x20reached.','Authentication\x20failed.','All\x20recognition\x20workers\x20are\x20currently\x20in\x20use\x20and\x20real-time\x20recognition\x20is\x20not\x20possible.','Tilde\x20ASR\x20parse\x20error','Close\x20Tilde\x20ASR\x20socket','Error\x20Tilde\x20ASR\x20socket','isNil','isObject','open','close','bluebird','lodash','moment','crypto','../../../../../../config/logger','agi','exports','wss://runa.tilde.lv/client/ws/speech/LVASR-ONLINE','No\x20speech.\x20Sent\x20when\x20the\x20incoming\x20audio\x20contains\x20a\x20large\x20portion\x20of\x20silence\x20or\x20non-speech','createHash','sha1','update','digest','hex','info','Open\x20Tilde\x20ASR\x20socket','unix','send','data','EOS','error','Tilde\x20ASR\x20send\x20error','stringify','status'];(function(_0x22f8ab,_0x15d8ff){var _0x2a70e5=function(_0x5e6895){while(--_0x5e6895){_0x22f8ab['push'](_0x22f8ab['shift']());}};_0x2a70e5(++_0x15d8ff);}(_0x2f5e,0x196));var _0xe2f5=function(_0x49cd1b,_0x195dea){_0x49cd1b=_0x49cd1b-0x0;var _0x5d7ee4=_0x2f5e[_0x49cd1b];return _0x5d7ee4;};'use strict';var BPromise=require(_0xe2f5('0x0'));var _=require(_0xe2f5('0x1'));var fs=require('fs');var WebSocket=require('ws');var moment=require(_0xe2f5('0x2'));var crypto=require(_0xe2f5('0x3'));var logger=require(_0xe2f5('0x4'))(_0xe2f5('0x5'));module[_0xe2f5('0x6')]=function(_0x4274e5,_0x21c55d,_0x1727c1,_0x9f54d1){return new BPromise(function(_0xdc5756,_0x228a50){logger['info']('Tilde\x20URI',_0x9f54d1||_0xe2f5('0x7'));var _0xd94a05=new WebSocket(_0x9f54d1||'wss://runa.tilde.lv/client/ws/speech/LVASR-ONLINE',{'perMessageDeflate':![]});var _0xf6bcae='';var _0x600f84='0';var _0x2d12a8='1';var _0x1daeaf=_0xe2f5('0x8');function _0x5edaa2(_0x2f4de2){var _0x4107c8=crypto[_0xe2f5('0x9')](_0xe2f5('0xa'));_0x4107c8[_0xe2f5('0xb')](_0x2f4de2);return _0x4107c8[_0xe2f5('0xc')](_0xe2f5('0xd'));}function _0x2bd074(){try{logger[_0xe2f5('0xe')](_0xe2f5('0xf'));var _0x452202=moment()[_0xe2f5('0x10')]();var _0x1d0ee8=_0x5edaa2(_0x452202+_0x21c55d+_0x1727c1);_0xd94a05[_0xe2f5('0x11')](JSON['stringify']({'appID':_0x21c55d,'timestamp':_0x452202,'appKey':_0x1d0ee8}));var _0xda8228=fs['createReadStream'](_0x4274e5);_0xda8228['on'](_0xe2f5('0x12'),function(_0x160908){_0xd94a05['send'](_0x160908);});_0xda8228['on']('close',function(){_0xd94a05[_0xe2f5('0x11')](_0xe2f5('0x13'));});}catch(_0x4067c4){logger[_0xe2f5('0x14')](_0xe2f5('0x15'),JSON[_0xe2f5('0x16')](_0x4067c4));_0xd94a05['terminate']();}}function _0x2bce36(_0x1928ce){try{if(_0x1928ce){var _0xb5bfa=JSON['parse'](_0x1928ce);switch(_0xb5bfa[_0xe2f5('0x17')]){case 0x0:if(_0xb5bfa[_0xe2f5('0x18')]){if(_0xb5bfa[_0xe2f5('0x18')][_0xe2f5('0x19')]){logger[_0xe2f5('0xe')](_0xe2f5('0x1a'),JSON[_0xe2f5('0x16')](_0xb5bfa[_0xe2f5('0x18')]['hypotheses']));_0xf6bcae=_0xb5bfa[_0xe2f5('0x18')][_0xe2f5('0x1b')][0x0][_0xe2f5('0x1c')];_0x600f84=_0xb5bfa['result'][_0xe2f5('0x1b')][0x0][_0xe2f5('0x1d')];_0x2d12a8='0';_0x1daeaf=_0xe2f5('0x1e');_0xd94a05[_0xe2f5('0x1f')]();}}break;case 0x1:logger[_0xe2f5('0xe')]('No\x20speech.\x20Sent\x20when\x20the\x20incoming\x20audio\x20contains\x20a\x20large\x20portion\x20of\x20silence\x20or\x20non-speech');_0x2d12a8='1';_0x1daeaf=_0xe2f5('0x8');break;case 0x2:logger[_0xe2f5('0xe')]('Aborted.\x20Recognition\x20was\x20aborted\x20for\x20some\x20reason.');_0x2d12a8='2';_0x1daeaf=_0xe2f5('0x20');break;case 0x9:logger[_0xe2f5('0xe')](_0xe2f5('0x21'));_0x2d12a8='9';_0x1daeaf=_0xe2f5('0x21');break;case 0xa:logger[_0xe2f5('0xe')](_0xe2f5('0x22'));_0x2d12a8='10';_0x1daeaf=_0xe2f5('0x22');break;case 0xb:logger[_0xe2f5('0xe')](_0xe2f5('0x23'));_0x2d12a8='11';_0x1daeaf=_0xe2f5('0x23');}}}catch(_0x5cff0d){logger['error'](_0xe2f5('0x24'),JSON[_0xe2f5('0x16')](_0x5cff0d));_0xd94a05[_0xe2f5('0x1f')]();}}function _0x4bcbc0(){logger[_0xe2f5('0xe')](_0xe2f5('0x25'));_0xdc5756({'transcript':_0xf6bcae,'confidence':_0x600f84,'status':_0x2d12a8,'status_message':_0x1daeaf});}function _0x2290a4(_0x5487b7){logger[_0xe2f5('0x14')](_0xe2f5('0x26'));if(!_[_0xe2f5('0x27')](_0x5487b7)){logger['error'](_[_0xe2f5('0x28')](_0x5487b7)?JSON['stringify'](_0x5487b7):_0x5487b7);}}_0xd94a05['on'](_0xe2f5('0x29'),_0x2bd074);_0xd94a05['on']('message',_0x2bce36);_0xd94a05['on'](_0xe2f5('0x2a'),_0x4bcbc0);_0xd94a05['on'](_0xe2f5('0x14'),_0x2290a4);});};