Built motion from commit 3c2ce842.|2.6.31
[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 _0x6d3c=['Close\x20Tilde\x20ASR\x20socket','Error\x20Tilde\x20ASR\x20socket','isObject','open','message','close','lodash','moment','crypto','../../../../../../config/logger','exports','info','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','hex','Open\x20Tilde\x20ASR\x20socket','send','stringify','data','EOS','error','Tilde\x20ASR\x20send\x20error','terminate','parse','status','result','final','Tilde\x20ASR\x20hypoteses','hypotheses','transcript','likelihood','Success.','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'];(function(_0xc3e66a,_0x25acc9){var _0x55986a=function(_0x33466c){while(--_0x33466c){_0xc3e66a['push'](_0xc3e66a['shift']());}};_0x55986a(++_0x25acc9);}(_0x6d3c,0xa6));var _0xc6d3=function(_0x52c74c,_0xb501ba){_0x52c74c=_0x52c74c-0x0;var _0x2390f1=_0x6d3c[_0x52c74c];return _0x2390f1;};'use strict';var BPromise=require('bluebird');var _=require(_0xc6d3('0x0'));var fs=require('fs');var WebSocket=require('ws');var moment=require(_0xc6d3('0x1'));var crypto=require(_0xc6d3('0x2'));var logger=require(_0xc6d3('0x3'))('agi');module[_0xc6d3('0x4')]=function(_0x36d8ec,_0x4b030c,_0x4ea725,_0x5b73bb){return new BPromise(function(_0x3e2993,_0x292999){logger[_0xc6d3('0x5')]('Tilde\x20URI',_0x5b73bb||_0xc6d3('0x6'));var _0x435e03=new WebSocket(_0x5b73bb||_0xc6d3('0x6'),{'perMessageDeflate':![]});var _0x45c983='';var _0x4c7b6e='0';var _0x3aa7d9='1';var _0x429445=_0xc6d3('0x7');function _0x136c10(_0x27a32c){var _0x1e939e=crypto[_0xc6d3('0x8')](_0xc6d3('0x9'));_0x1e939e[_0xc6d3('0xa')](_0x27a32c);return _0x1e939e['digest'](_0xc6d3('0xb'));}function _0x1dc8f0(){try{logger[_0xc6d3('0x5')](_0xc6d3('0xc'));var _0x3a45c8=moment()['unix']();var _0x9a3b4=_0x136c10(_0x3a45c8+_0x4b030c+_0x4ea725);_0x435e03[_0xc6d3('0xd')](JSON[_0xc6d3('0xe')]({'appID':_0x4b030c,'timestamp':_0x3a45c8,'appKey':_0x9a3b4}));var _0x473ea3=fs['createReadStream'](_0x36d8ec);_0x473ea3['on'](_0xc6d3('0xf'),function(_0xb368ce){_0x435e03['send'](_0xb368ce);});_0x473ea3['on']('close',function(){_0x435e03[_0xc6d3('0xd')](_0xc6d3('0x10'));});}catch(_0x1dbcde){logger[_0xc6d3('0x11')](_0xc6d3('0x12'),JSON[_0xc6d3('0xe')](_0x1dbcde));_0x435e03[_0xc6d3('0x13')]();}}function _0x592fc2(_0x1c6aa2){try{if(_0x1c6aa2){var _0x2fd1b8=JSON[_0xc6d3('0x14')](_0x1c6aa2);switch(_0x2fd1b8[_0xc6d3('0x15')]){case 0x0:if(_0x2fd1b8['result']){if(_0x2fd1b8[_0xc6d3('0x16')][_0xc6d3('0x17')]){logger[_0xc6d3('0x5')](_0xc6d3('0x18'),JSON['stringify'](_0x2fd1b8['result'][_0xc6d3('0x19')]));_0x45c983=_0x2fd1b8[_0xc6d3('0x16')][_0xc6d3('0x19')][0x0][_0xc6d3('0x1a')];_0x4c7b6e=_0x2fd1b8[_0xc6d3('0x16')][_0xc6d3('0x19')][0x0][_0xc6d3('0x1b')];_0x3aa7d9='0';_0x429445=_0xc6d3('0x1c');_0x435e03[_0xc6d3('0x13')]();}}break;case 0x1:logger[_0xc6d3('0x5')]('No\x20speech.\x20Sent\x20when\x20the\x20incoming\x20audio\x20contains\x20a\x20large\x20portion\x20of\x20silence\x20or\x20non-speech');_0x3aa7d9='1';_0x429445='No\x20speech.\x20Sent\x20when\x20the\x20incoming\x20audio\x20contains\x20a\x20large\x20portion\x20of\x20silence\x20or\x20non-speech';break;case 0x2:logger[_0xc6d3('0x5')](_0xc6d3('0x1d'));_0x3aa7d9='2';_0x429445='Aborted.\x20Recognition\x20was\x20aborted\x20for\x20some\x20reason.';break;case 0x9:logger[_0xc6d3('0x5')]('Not\x20available.\x20Max\x20load\x20limit\x20reached.');_0x3aa7d9='9';_0x429445=_0xc6d3('0x1e');break;case 0xa:logger['info'](_0xc6d3('0x1f'));_0x3aa7d9='10';_0x429445=_0xc6d3('0x1f');break;case 0xb:logger[_0xc6d3('0x5')](_0xc6d3('0x20'));_0x3aa7d9='11';_0x429445=_0xc6d3('0x20');}}}catch(_0x2d5044){logger[_0xc6d3('0x11')](_0xc6d3('0x21'),JSON[_0xc6d3('0xe')](_0x2d5044));_0x435e03[_0xc6d3('0x13')]();}}function _0x43560d(){logger[_0xc6d3('0x5')](_0xc6d3('0x22'));_0x3e2993({'transcript':_0x45c983,'confidence':_0x4c7b6e,'status':_0x3aa7d9,'status_message':_0x429445});}function _0x5a2de5(_0x1fbdc3){logger[_0xc6d3('0x11')](_0xc6d3('0x23'));if(!_['isNil'](_0x1fbdc3)){logger[_0xc6d3('0x11')](_[_0xc6d3('0x24')](_0x1fbdc3)?JSON[_0xc6d3('0xe')](_0x1fbdc3):_0x1fbdc3);}}_0x435e03['on'](_0xc6d3('0x25'),_0x1dc8f0);_0x435e03['on'](_0xc6d3('0x26'),_0x592fc2);_0x435e03['on'](_0xc6d3('0x27'),_0x43560d);_0x435e03['on'](_0xc6d3('0x11'),_0x5a2de5);});};