@hotmeshio/hotmesh 0.3.18 → 0.3.19

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.
Files changed (81) hide show
  1. package/README.md +160 -63
  2. package/build/modules/key.js +1 -1
  3. package/build/modules/utils.js +1 -1
  4. package/build/package.json +6 -4
  5. package/build/services/activities/activity.js +1 -1
  6. package/build/services/activities/await.js +1 -1
  7. package/build/services/activities/cycle.js +1 -1
  8. package/build/services/activities/hook.js +1 -1
  9. package/build/services/activities/index.js +1 -1
  10. package/build/services/activities/interrupt.js +1 -1
  11. package/build/services/activities/signal.js +1 -1
  12. package/build/services/activities/trigger.js +1 -1
  13. package/build/services/activities/worker.js +1 -1
  14. package/build/services/collator/index.js +1 -1
  15. package/build/services/compiler/deployer.js +1 -1
  16. package/build/services/compiler/index.js +1 -1
  17. package/build/services/compiler/validator.js +1 -1
  18. package/build/services/engine/index.d.ts +1 -1
  19. package/build/services/engine/index.js +1 -1
  20. package/build/services/exporter/index.js +1 -1
  21. package/build/services/mapper/index.js +1 -1
  22. package/build/services/meshflow/exporter.js +1 -1
  23. package/build/services/pipe/functions/array.js +1 -1
  24. package/build/services/pipe/functions/bitwise.js +1 -1
  25. package/build/services/pipe/functions/conditional.js +1 -1
  26. package/build/services/pipe/functions/cron.js +1 -1
  27. package/build/services/pipe/functions/date.js +1 -1
  28. package/build/services/pipe/functions/index.js +1 -1
  29. package/build/services/pipe/functions/json.js +1 -1
  30. package/build/services/pipe/functions/logical.js +1 -1
  31. package/build/services/pipe/functions/math.js +1 -1
  32. package/build/services/pipe/functions/number.js +1 -1
  33. package/build/services/pipe/functions/object.js +1 -1
  34. package/build/services/pipe/functions/string.js +1 -1
  35. package/build/services/pipe/functions/symbol.js +1 -1
  36. package/build/services/pipe/functions/unary.js +1 -1
  37. package/build/services/pipe/index.js +1 -1
  38. package/build/services/quorum/index.d.ts +1 -1
  39. package/build/services/quorum/index.js +1 -1
  40. package/build/services/reporter/index.js +1 -1
  41. package/build/services/router/index.js +1 -1
  42. package/build/services/search/providers/postgres/postgres.js +1 -1
  43. package/build/services/search/providers/redis/ioredis.js +1 -1
  44. package/build/services/search/providers/redis/redis.js +1 -1
  45. package/build/services/serializer/index.js +1 -1
  46. package/build/services/store/providers/postgres/kvsql.js +1 -1
  47. package/build/services/store/providers/postgres/kvtables.d.ts +1 -0
  48. package/build/services/store/providers/postgres/kvtables.js +1 -1
  49. package/build/services/store/providers/postgres/kvtransaction.js +1 -1
  50. package/build/services/store/providers/postgres/kvtypes/hash.d.ts +1 -0
  51. package/build/services/store/providers/postgres/kvtypes/hash.js +1 -1
  52. package/build/services/store/providers/postgres/kvtypes/list.js +1 -1
  53. package/build/services/store/providers/postgres/kvtypes/string.js +1 -1
  54. package/build/services/store/providers/postgres/kvtypes/zset.js +1 -1
  55. package/build/services/store/providers/postgres/postgres.js +1 -1
  56. package/build/services/store/providers/redis/_base.js +1 -1
  57. package/build/services/store/providers/redis/ioredis.js +1 -1
  58. package/build/services/store/providers/redis/redis.js +1 -1
  59. package/build/services/store/providers/store-initializable.js +1 -1
  60. package/build/services/stream/providers/nats/nats.js +1 -1
  61. package/build/services/stream/providers/postgres/postgres.d.ts +1 -0
  62. package/build/services/stream/providers/postgres/postgres.js +1 -1
  63. package/build/services/stream/providers/redis/ioredis.js +1 -1
  64. package/build/services/stream/providers/redis/redis.js +1 -1
  65. package/build/services/stream/providers/stream-initializable.js +1 -1
  66. package/build/services/sub/factory.d.ts +2 -2
  67. package/build/services/sub/factory.js +8 -4
  68. package/build/services/sub/index.d.ts +3 -2
  69. package/build/services/sub/providers/postgres/postgres.d.ts +18 -0
  70. package/build/services/sub/providers/postgres/postgres.js +1 -0
  71. package/build/services/sub/providers/redis/ioredis.d.ts +1 -1
  72. package/build/services/sub/providers/redis/ioredis.js +1 -1
  73. package/build/services/sub/providers/redis/redis.d.ts +1 -1
  74. package/build/services/sub/providers/redis/redis.js +1 -1
  75. package/build/services/task/index.js +1 -1
  76. package/build/services/telemetry/index.js +1 -1
  77. package/build/services/worker/index.d.ts +1 -1
  78. package/build/services/worker/index.js +1 -1
  79. package/build/types/redis.d.ts +8 -8
  80. package/package.json +6 -4
  81. package/types/redis.ts +8 -8
@@ -1 +1 @@
1
- 'use strict';(function(_0x544e30,_0x34238a){const _0x4cec64=_0x586a,_0x5d26ae=_0x544e30();while(!![]){try{const _0x29d40f=parseInt(_0x4cec64(0x9c))/0x1*(-parseInt(_0x4cec64(0x98))/0x2)+-parseInt(_0x4cec64(0x9f))/0x3*(-parseInt(_0x4cec64(0x9b))/0x4)+-parseInt(_0x4cec64(0x96))/0x5*(parseInt(_0x4cec64(0xa0))/0x6)+-parseInt(_0x4cec64(0x9e))/0x7+parseInt(_0x4cec64(0x95))/0x8*(parseInt(_0x4cec64(0x97))/0x9)+parseInt(_0x4cec64(0x9a))/0xa*(parseInt(_0x4cec64(0x99))/0xb)+parseInt(_0x4cec64(0x9d))/0xc;if(_0x29d40f===_0x34238a)break;else _0x5d26ae['push'](_0x5d26ae['shift']());}catch(_0x528cd7){_0x5d26ae['push'](_0x5d26ae['shift']());}}}(_0x5a78,0xeb7e4));function _0x5a78(){const _0x47ef48=['2950908BFhOGf','1168vpQnUI','10OUpfII','25533kMRngy','3218ioromX','24937BJNKPA','5830aiIHTl','43724OGTXII','19JaGcdo','1498920bHTKHj','8585493NcnxxJ','369rmdRKI'];_0x5a78=function(){return _0x47ef48;};return _0x5a78();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NatsStreamService']=void 0x0;const index_1=require('../../index'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),utils_1=require('../../../../modules/utils');class NatsStreamService extends index_1['StreamService']{constructor(_0x694f26,_0x1c25fa,_0x16569d={}){super(_0x694f26,_0x1c25fa,_0x16569d),this['jetstream']=_0x694f26['jetstream']();}async['init'](_0x45802d,_0x5ec41d,_0x538a66){this['namespace']=_0x45802d,this['logger']=_0x538a66,this['appId']=_0x5ec41d,this['jsm']=await this['jetstream']['jetstreamManager']();}['mintKey'](_0x5312f5,_0x2ce8b4){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5312f5,{..._0x2ce8b4,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x3fcdf5){try{const _0x36466d={'name':_0x3fcdf5,'subjects':[_0x3fcdf5+'.*'],'retention':'workqueue','storage':'memory','num_replicas':0x1};return await this['jsm']['streams']['add'](_0x36466d),!![];}catch(_0x2ea287){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x3fcdf5,{'error':_0x2ea287});throw _0x2ea287;}}async['deleteStream'](_0x35362e){try{return await this['jsm']['streams']['delete'](_0x35362e),!![];}catch(_0x3771e9){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x35362e,{'error':_0x3771e9});throw _0x3771e9;}}async['createConsumerGroup'](_0x487e8e,_0x591dfc){try{const _0x556a20={'durable_name':_0x591dfc,'deliver_group':_0x591dfc,'ack_policy':'explicit','ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this['jsm']['consumers']['add'](_0x487e8e,_0x556a20),!![];}catch(_0x5d347a){this['logger']['error']('Error\x20creating\x20consumer\x20group\x20'+_0x591dfc+'\x20for\x20stream\x20'+_0x487e8e,{'error':_0x5d347a});throw _0x5d347a;}}async['deleteConsumerGroup'](_0x1bdc4c,_0x499e6c){try{return await this['jsm']['consumers']['delete'](_0x1bdc4c,_0x499e6c),!![];}catch(_0x50887f){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x499e6c+'\x20for\x20stream\x20'+_0x1bdc4c,{'error':_0x50887f});throw _0x50887f;}}async['publishMessages'](_0x53c6d9,_0x40c2cb,_0x116e97){try{const _0x43ecd3=_0x40c2cb['map'](async _0x41d871=>{const _0x16fbba=_0x53c6d9+'.message',_0x363742=await this['jetstream']['publish'](_0x16fbba,Buffer['from'](_0x41d871));return _0x363742;}),_0x20f27e=await Promise['all'](_0x43ecd3);return _0x20f27e['map'](_0x3d53b=>_0x3d53b['seq']['toString']());}catch(_0x5c35e7){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x53c6d9,{'error':_0x5c35e7});throw _0x5c35e7;}}async['consumeMessages'](_0x42bc31,_0x32567c,_0x4af50b,_0x499fa7){try{const _0x4452a6=await this['jetstream']['consumers']['get'](_0x42bc31,_0x32567c),_0x3b8b29=[],_0x3d1c98={'max_messages':_0x499fa7?.['batchSize']||0x1,'expires':_0x499fa7?.['blockTimeout']||enums_1['HMSH_BLOCK_TIME_MS']},_0xaafbc3=await _0x4452a6['fetch'](_0x3d1c98);for await(const _0x55ffc1 of _0xaafbc3){_0x3b8b29['push']({'id':_0x55ffc1['seq']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x55ffc1['string']())});}return _0x3b8b29;}catch(_0x3c116a){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x42bc31,{'error':_0x3c116a});throw _0x3c116a;}}async['ackAndDelete'](_0x526a88,_0x37f164,_0x1e0d5d){try{return await this['acknowledgeMessages'](_0x526a88,_0x37f164,_0x1e0d5d),_0x1e0d5d['length'];}catch(_0x285cc9){this['logger']['error']('Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20'+_0x526a88,{'error':_0x285cc9});throw _0x285cc9;}}async['acknowledgeMessages'](_0x51ffd4,_0x20f3db,_0xb3d97f,_0x27f65b){return _0xb3d97f['length'];}async['deleteMessages'](_0x446dd0,_0x61ded6,_0x5d40c0,_0x5df51b){try{return await Promise['all'](_0x5d40c0['map'](_0x4973ed=>this['jsm']['streams']['deleteMessage'](_0x446dd0,parseInt(_0x4973ed)))),_0x5d40c0['length'];}catch(_0x4656b6){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x446dd0,{'error':_0x4656b6});throw _0x4656b6;}}async['retryMessages'](_0x14a78d,_0x17ad6e,_0xc830c8){return[];}async['getStreamStats'](_0x1de5ab){try{const _0x4fe78f=await this['jsm']['streams']['info'](_0x1de5ab);return{'messageCount':_0x4fe78f['state']['messages']};}catch(_0x242806){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x1de5ab,{'error':_0x242806});throw _0x242806;}}async['getStreamDepth'](_0x57457d){try{const _0xa3d331=await this['jsm']['streams']['info'](_0x57457d);return _0xa3d331['state']['messages'];}catch(_0x1295f1){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x57457d,{'error':_0x1295f1});throw _0x1295f1;}}async['getStreamDepths'](_0x33a4c4){try{const _0x3a1953=await Promise['all'](_0x33a4c4['map'](async({stream:_0x4ce66b})=>({'stream':_0x4ce66b,'depth':await this['getStreamDepth'](_0x4ce66b)})));return _0x3a1953;}catch(_0x2e9c36){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x2e9c36});throw _0x2e9c36;}}async['trimStream'](_0x40f3ae,_0x52f5b6){try{const _0x85896b=await this['jsm']['streams']['info'](_0x40f3ae),_0x26f85a={..._0x85896b['config']};return _0x52f5b6['maxLen']!==undefined&&(_0x26f85a['max_msgs']=_0x52f5b6['maxLen']),_0x52f5b6['maxAge']!==undefined&&(_0x26f85a['max_age']=_0x52f5b6['maxAge']*0x3b9aca00),await this['jsm']['streams']['update'](_0x40f3ae,_0x26f85a),0x0;}catch(_0x44c6b0){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x40f3ae,{'error':_0x44c6b0});throw _0x44c6b0;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}function _0x586a(_0x317662,_0x4c582f){const _0x5a78d5=_0x5a78();return _0x586a=function(_0x586a65,_0x40a566){_0x586a65=_0x586a65-0x95;let _0x337798=_0x5a78d5[_0x586a65];return _0x337798;},_0x586a(_0x317662,_0x4c582f);}exports['NatsStreamService']=NatsStreamService;
1
+ 'use strict';(function(_0x3f32a8,_0x133bfe){const _0x411134=_0x3183,_0x4eaf9d=_0x3f32a8();while(!![]){try{const _0x10b54b=parseInt(_0x411134(0x1ef))/0x1*(-parseInt(_0x411134(0x1f2))/0x2)+-parseInt(_0x411134(0x1f6))/0x3*(-parseInt(_0x411134(0x1f3))/0x4)+parseInt(_0x411134(0x1f1))/0x5*(parseInt(_0x411134(0x1f0))/0x6)+parseInt(_0x411134(0x1ed))/0x7+parseInt(_0x411134(0x1ee))/0x8+-parseInt(_0x411134(0x1f5))/0x9+-parseInt(_0x411134(0x1f4))/0xa;if(_0x10b54b===_0x133bfe)break;else _0x4eaf9d['push'](_0x4eaf9d['shift']());}catch(_0x54ceef){_0x4eaf9d['push'](_0x4eaf9d['shift']());}}}(_0x49e1,0x92161));function _0x49e1(){const _0x4654bc=['12204400HGpjab','97353QXwooR','21NLdWce','1765820YUCpSR','914312JZuAtM','3ztEkUG','5178mXqRiA','5105oHOPEF','52102MxsShW','377204euuUuY'];_0x49e1=function(){return _0x4654bc;};return _0x49e1();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NatsStreamService']=void 0x0;const index_1=require('../../index'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),utils_1=require('../../../../modules/utils');class NatsStreamService extends index_1['StreamService']{constructor(_0x5e80b0,_0x3224c6,_0x3695b3={}){super(_0x5e80b0,_0x3224c6,_0x3695b3),this['jetstream']=_0x5e80b0['jetstream']();}async['init'](_0x3cad10,_0x563d42,_0x414d18){this['namespace']=_0x3cad10,this['logger']=_0x414d18,this['appId']=_0x563d42,this['jsm']=await this['jetstream']['jetstreamManager']();}['mintKey'](_0x30194a,_0x5b4c82){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x30194a,{..._0x5b4c82,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x207c1){try{const _0x7a5d48={'name':_0x207c1,'subjects':[_0x207c1+'.*'],'retention':'workqueue','storage':'memory','num_replicas':0x1};return await this['jsm']['streams']['add'](_0x7a5d48),!![];}catch(_0x48842e){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x207c1,{'error':_0x48842e});throw _0x48842e;}}async['deleteStream'](_0x5b7f11){try{return await this['jsm']['streams']['delete'](_0x5b7f11),!![];}catch(_0x34b17d){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x5b7f11,{'error':_0x34b17d});throw _0x34b17d;}}async['createConsumerGroup'](_0x49ce35,_0xdc2cdd){try{const _0x33fcbf={'durable_name':_0xdc2cdd,'deliver_group':_0xdc2cdd,'ack_policy':'explicit','ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this['jsm']['consumers']['add'](_0x49ce35,_0x33fcbf),!![];}catch(_0x58b13a){this['logger']['error']('Error\x20creating\x20consumer\x20group\x20'+_0xdc2cdd+'\x20for\x20stream\x20'+_0x49ce35,{'error':_0x58b13a});throw _0x58b13a;}}async['deleteConsumerGroup'](_0x1a8e02,_0x47beab){try{return await this['jsm']['consumers']['delete'](_0x1a8e02,_0x47beab),!![];}catch(_0x16a5c3){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x47beab+'\x20for\x20stream\x20'+_0x1a8e02,{'error':_0x16a5c3});throw _0x16a5c3;}}async['publishMessages'](_0x2afab3,_0x1aa43d,_0xf6287a){try{const _0x4dbba7=_0x1aa43d['map'](async _0x525fee=>{const _0x1c5044=_0x2afab3+'.message',_0x3fac97=await this['jetstream']['publish'](_0x1c5044,Buffer['from'](_0x525fee));return _0x3fac97;}),_0x38756d=await Promise['all'](_0x4dbba7);return _0x38756d['map'](_0x4d8538=>_0x4d8538['seq']['toString']());}catch(_0x31cf1d){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x2afab3,{'error':_0x31cf1d});throw _0x31cf1d;}}async['consumeMessages'](_0x567a09,_0x1a7ff9,_0xb10751,_0x20fc5d){try{const _0xd9c8de=await this['jetstream']['consumers']['get'](_0x567a09,_0x1a7ff9),_0xefc0cb=[],_0x302fa4={'max_messages':_0x20fc5d?.['batchSize']||0x1,'expires':_0x20fc5d?.['blockTimeout']||enums_1['HMSH_BLOCK_TIME_MS']},_0x2310a9=await _0xd9c8de['fetch'](_0x302fa4);for await(const _0x4830f3 of _0x2310a9){_0xefc0cb['push']({'id':_0x4830f3['seq']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x4830f3['string']())});}return _0xefc0cb;}catch(_0x33a221){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x567a09,{'error':_0x33a221});throw _0x33a221;}}async['ackAndDelete'](_0x27006d,_0x379845,_0x1e07df){try{return await this['acknowledgeMessages'](_0x27006d,_0x379845,_0x1e07df),_0x1e07df['length'];}catch(_0x29a108){this['logger']['error']('Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20'+_0x27006d,{'error':_0x29a108});throw _0x29a108;}}async['acknowledgeMessages'](_0x1c845d,_0x304d7a,_0x25facd,_0x2f6a1b){return _0x25facd['length'];}async['deleteMessages'](_0x17fc1b,_0x3e59a1,_0x1c9cb5,_0x1e28e0){try{return await Promise['all'](_0x1c9cb5['map'](_0x560996=>this['jsm']['streams']['deleteMessage'](_0x17fc1b,parseInt(_0x560996)))),_0x1c9cb5['length'];}catch(_0x156ba3){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x17fc1b,{'error':_0x156ba3});throw _0x156ba3;}}async['retryMessages'](_0x5c8c6b,_0x9c4715,_0x1a2afa){return[];}async['getStreamStats'](_0x435e4e){try{const _0x4617d5=await this['jsm']['streams']['info'](_0x435e4e);return{'messageCount':_0x4617d5['state']['messages']};}catch(_0x5c32ac){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x435e4e,{'error':_0x5c32ac});throw _0x5c32ac;}}async['getStreamDepth'](_0x5ceefc){try{const _0xff87e5=await this['jsm']['streams']['info'](_0x5ceefc);return _0xff87e5['state']['messages'];}catch(_0x5130b9){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x5ceefc,{'error':_0x5130b9});throw _0x5130b9;}}async['getStreamDepths'](_0x501b47){try{const _0x2de854=await Promise['all'](_0x501b47['map'](async({stream:_0x1422fe})=>({'stream':_0x1422fe,'depth':await this['getStreamDepth'](_0x1422fe)})));return _0x2de854;}catch(_0x3bc29c){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x3bc29c});throw _0x3bc29c;}}async['trimStream'](_0x59363d,_0x578117){try{const _0x16fd19=await this['jsm']['streams']['info'](_0x59363d),_0x4f2827={..._0x16fd19['config']};return _0x578117['maxLen']!==undefined&&(_0x4f2827['max_msgs']=_0x578117['maxLen']),_0x578117['maxAge']!==undefined&&(_0x4f2827['max_age']=_0x578117['maxAge']*0x3b9aca00),await this['jsm']['streams']['update'](_0x59363d,_0x4f2827),0x0;}catch(_0x41592a){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x59363d,{'error':_0x41592a});throw _0x41592a;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}function _0x3183(_0x2708ae,_0x12a213){const _0x49e1bf=_0x49e1();return _0x3183=function(_0x31834c,_0x514541){_0x31834c=_0x31834c-0x1ed;let _0x595bf9=_0x49e1bf[_0x31834c];return _0x595bf9;},_0x3183(_0x2708ae,_0x12a213);}exports['NatsStreamService']=NatsStreamService;
@@ -15,6 +15,7 @@ declare class PostgresStreamService extends StreamService<PostgresClientType & P
15
15
  getAdvisoryLockId(): number;
16
16
  hashStringToInt(str: string): number;
17
17
  checkIfTablesExist(client: PostgresClientType): Promise<boolean>;
18
+ safeName(appId: string): string;
18
19
  getTableName(): string;
19
20
  createTables(client: PostgresClientType): Promise<void>;
20
21
  delay(ms: number): Promise<void>;
@@ -1 +1 @@
1
- 'use strict';(function(_0x2cc75c,_0x5450e7){const _0x465b2b=_0x333c,_0x2dd52d=_0x2cc75c();while(!![]){try{const _0x4e156f=-parseInt(_0x465b2b(0x76))/0x1*(-parseInt(_0x465b2b(0x7e))/0x2)+-parseInt(_0x465b2b(0x77))/0x3+-parseInt(_0x465b2b(0x80))/0x4*(-parseInt(_0x465b2b(0x7c))/0x5)+-parseInt(_0x465b2b(0x7b))/0x6*(parseInt(_0x465b2b(0x7a))/0x7)+parseInt(_0x465b2b(0x7d))/0x8*(-parseInt(_0x465b2b(0x78))/0x9)+-parseInt(_0x465b2b(0x79))/0xa+parseInt(_0x465b2b(0x7f))/0xb;if(_0x4e156f===_0x5450e7)break;else _0x2dd52d['push'](_0x2dd52d['shift']());}catch(_0x147ff7){_0x2dd52d['push'](_0x2dd52d['shift']());}}}(_0x7493,0x3dc0c));function _0x7493(){const _0x24bed8=['6ArIFFc','10PkjHQs','1870992ZcTbeX','42kxTlWG','11847957aiRQUF','763352dxeMbf','8134qUnETd','715185lSKPjp','18yOrXdD','1793890FrxGFA','3437735FOhvie'];_0x7493=function(){return _0x24bed8;};return _0x7493();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;function _0x333c(_0x282f53,_0x2393c9){const _0x749359=_0x7493();return _0x333c=function(_0x333ce1,_0x3befd8){_0x333ce1=_0x333ce1-0x76;let _0xb8a9f1=_0x749359[_0x333ce1];return _0xb8a9f1;},_0x333c(_0x282f53,_0x2393c9);}const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');class PostgresStreamService extends index_1['StreamService']{constructor(_0x1f4f72,_0x3f5716,_0x446073={}){super(_0x1f4f72,_0x3f5716,_0x446073);}async['init'](_0xa4b961,_0x25209a,_0x251e81){this['namespace']=_0xa4b961,this['appId']=_0x25209a,this['logger']=_0x251e81,await this['deploy']();}async['deploy'](){const _0x252e62=this['streamClient'];try{const _0x406994=this['getAdvisoryLockId'](),_0x4101be=await _0x252e62['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x406994]);if(_0x4101be['rows'][0x0]['locked']){await _0x252e62['query']('BEGIN');const _0x3f06f2=await this['checkIfTablesExist'](_0x252e62);!_0x3f06f2&&await this['createTables'](_0x252e62),await _0x252e62['query']('COMMIT'),await _0x252e62['query']('SELECT\x20pg_advisory_unlock($1)',[_0x406994]);}else{let _0x42aac1=0x0;const _0x410746=0x14;while(_0x42aac1<_0x410746){await this['delay'](0x64);const _0x4dbe1c=await _0x252e62['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x406994]);if(_0x4dbe1c['rows'][0x0]['unlocked']){const _0x5ec90e=await this['checkIfTablesExist'](_0x252e62);if(_0x5ec90e)break;}_0x42aac1++;}if(_0x42aac1===_0x410746)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x5e88d7){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x5e88d7});throw _0x5e88d7;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x5725ce){let _0x284d6b=0x0;for(let _0x4ddab1=0x0;_0x4ddab1<_0x5725ce['length'];_0x4ddab1++){_0x284d6b=(_0x284d6b<<0x5)-_0x284d6b+_0x5725ce['charCodeAt'](_0x4ddab1),_0x284d6b|=0x0;}return Math['abs'](_0x284d6b);}async['checkIfTablesExist'](_0xa53c3a){const _0x30f9ce=await _0xa53c3a['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x30f9ce['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0x10823e){const _0x4f8436=this['getTableName']();await _0x10823e['query']('BEGIN'),await _0x10823e['query']('CREATE\x20TABLE\x20'+_0x4f8436+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20id\x20BIGSERIAL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20stream_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20group_name\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27ENGINE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20TIMESTAMPTZ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream_name,\x20id)\x0a\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(stream_name)');for(let _0x1a23f5=0x0;_0x1a23f5<0x8;_0x1a23f5++){await _0x10823e['query']('CREATE\x20TABLE\x20'+_0x4f8436+'_part_'+_0x1a23f5+'\x20PARTITION\x20OF\x20'+_0x4f8436+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x1a23f5+')');}await _0x10823e['query']('CREATE\x20INDEX\x20idx_'+_0x4f8436+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x4f8436+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x10823e['query']('COMMIT');}['delay'](_0x3be7c0){return new Promise(_0x36a119=>setTimeout(_0x36a119,_0x3be7c0));}['mintKey'](_0x255eda,_0x4b7e29){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x255eda,{..._0x4b7e29,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x4554fc){return!![];}async['deleteStream'](_0x50c189){const _0x216e37=this['streamClient'],_0x5f855e=this['getTableName']();try{return _0x50c189==='*'?await _0x216e37['query']('DELETE\x20FROM\x20'+_0x5f855e):await _0x216e37['query']('DELETE\x20FROM\x20'+_0x5f855e+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x50c189]),!![];}catch(_0x124a09){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x50c189,{'error':_0x124a09});throw _0x124a09;}}async['createConsumerGroup'](_0x2cec25,_0x29e3ce){return!![];}async['deleteConsumerGroup'](_0x149737,_0x1e23c5){const _0x3ed474=this['streamClient'],_0x28caf0=this['getTableName']();try{return await _0x3ed474['query']('DELETE\x20FROM\x20'+_0x28caf0+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x149737,_0x1e23c5]),!![];}catch(_0x1cac21){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x1e23c5+'\x20for\x20stream\x20'+_0x149737,{'error':_0x1cac21});throw _0x1cac21;}}async['publishMessages'](_0x4a6337,_0x494839,_0x2821ee){const {sql:_0x590f7e,params:_0x107c95}=this['_publishMessages'](_0x4a6337,_0x494839);if(_0x2821ee?.['transaction']&&typeof _0x2821ee['transaction']['addCommand']==='function')return _0x2821ee['transaction']['addCommand'](_0x590f7e,_0x107c95,'array',_0xdb8e8d=>_0xdb8e8d['map'](_0x316f6b=>_0x316f6b['id']['toString']())),_0x2821ee['transaction'];else try{const _0x66452a=[],_0x30986f=await this['streamClient']['query'](_0x590f7e,_0x107c95);for(const _0x556419 of _0x30986f['rows']){_0x66452a['push'](_0x556419['id']['toString']());}return _0x66452a;}catch(_0x1162b3){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x4a6337,{'error':_0x1162b3});throw _0x1162b3;}}['_publishMessages'](_0x16ce4e,_0x3e6102){const _0xddc5ef=this['getTableName'](),_0x5bc611=_0x16ce4e['endsWith'](':')?'ENGINE':'WORKER',_0x5d33ac=_0x3e6102['map']((_0x999931,_0x2183f2)=>'($1,\x20$2,\x20$'+(_0x2183f2+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0xddc5ef+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x5d33ac+'\x20RETURNING\x20id','params':[_0x16ce4e,_0x5bc611,..._0x3e6102]};}async['consumeMessages'](_0x4112a0,_0x4b9c2b,_0xa34058,_0x390302){const _0x5ab842=this['streamClient'],_0xfe8bda=this['getTableName']();try{const _0x5b861a=_0x390302?.['batchSize']||0x1,_0x22adfc=_0x390302?.['reservationTimeout']||0x1e,_0x90ad77=await _0x5ab842['query']('WITH\x20selected_messages\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id,\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xfe8bda+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20group_name\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20COALESCE(reserved_at,\x20\x271970-01-01\x27)\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x22adfc+'\x20seconds\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20UPDATE\x20SKIP\x20LOCKED\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update_reservation\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0xfe8bda+'\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20=\x20$4\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20selected_messages\x20s\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.stream_name\x20=\x20$1\x20AND\x20t.id\x20=\x20s.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20t.id,\x20t.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20update_reservation',[_0x4112a0,_0x4b9c2b,_0x5b861a,_0xa34058]),_0x1419e5=_0x90ad77['rows']['map'](_0x1f213f=>({'id':_0x1f213f['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x1f213f['message'])}));return _0x1419e5;}catch(_0x4d0945){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x4112a0,{'error':_0x4d0945});throw _0x4d0945;}}async['ackAndDelete'](_0x5b84ca,_0x40b280,_0x356582){return await this['deleteMessages'](_0x5b84ca,_0x40b280,_0x356582);}async['acknowledgeMessages'](_0x1db745,_0x2f9c1b,_0x478497,_0x158abc){return _0x478497['length'];}async['deleteMessages'](_0x2f81db,_0x345661,_0x44be24,_0x430f23){const _0x4ca38e=this['streamClient'],_0x61dfeb=this['getTableName']();try{const _0xe34dd2=_0x44be24['map'](_0x52e849=>parseInt(_0x52e849));return await _0x4ca38e['query']('DELETE\x20FROM\x20'+_0x61dfeb+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20=\x20ANY($2::bigint[])\x20AND\x20group_name\x20=\x20$3',[_0x2f81db,_0xe34dd2,_0x345661]),_0x44be24['length'];}catch(_0x511bed){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x2f81db,{'error':_0x511bed});throw _0x511bed;}}async['retryMessages'](_0x23ea85,_0xe16382,_0x4ba60a){return[];}async['getStreamStats'](_0x216034){const _0x32a73d=this['streamClient'],_0x30b005=this['getTableName']();try{const _0x341299=await _0x32a73d['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x30b005+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x216034]);return{'messageCount':parseInt(_0x341299['rows'][0x0]['count'],0xa)};}catch(_0x519acc){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x216034,{'error':_0x519acc});throw _0x519acc;}}async['getStreamDepth'](_0x5689e3){const _0x366586=await this['getStreamStats'](_0x5689e3);return _0x366586['messageCount'];}async['getStreamDepths'](_0x530082){const _0x7708bc=this['streamClient'],_0xe0eebb=this['getTableName']();try{const _0x5929d3=_0x530082['map'](_0x515c56=>_0x515c56['stream']),_0x29d95b=await _0x7708bc['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xe0eebb+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20ANY($1::text[])\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20stream_name',[_0x5929d3]),_0x20b3e9=_0x29d95b['rows']['map'](_0x347dce=>({'stream':_0x347dce['stream_name'],'depth':parseInt(_0x347dce['count'],0xa)}));return _0x20b3e9;}catch(_0xaafeb1){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0xaafeb1});throw _0xaafeb1;}}async['trimStream'](_0x3c22b4,_0x1f22f6){const _0x11dd97=this['streamClient'],_0x489fe9=this['getTableName']();try{let _0x25321c=0x0;if(_0x1f22f6['maxLen']!==undefined){const _0x6ca82d=await _0x11dd97['query']('DELETE\x20FROM\x20'+_0x489fe9+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id\x20FROM\x20'+_0x489fe9+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OFFSET\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)',[_0x3c22b4,_0x1f22f6['maxLen']]);_0x25321c+=_0x6ca82d['rowCount'];}if(_0x1f22f6['maxAge']!==undefined){const _0x5c0173=await _0x11dd97['query']('DELETE\x20FROM\x20'+_0x489fe9+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20created_at\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x1f22f6['maxAge']+'\x20milliseconds\x27',[_0x3c22b4]);_0x25321c+=_0x5c0173['rowCount'];}return _0x25321c;}catch(_0x4fd4c3){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x3c22b4,{'error':_0x4fd4c3});throw _0x4fd4c3;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
1
+ 'use strict';(function(_0x1b598c,_0x1bbd78){const _0x46ee6c=_0x3c45,_0x1bb781=_0x1b598c();while(!![]){try{const _0x5180e0=-parseInt(_0x46ee6c(0xa0))/0x1+parseInt(_0x46ee6c(0x9e))/0x2+parseInt(_0x46ee6c(0x9d))/0x3+-parseInt(_0x46ee6c(0x9a))/0x4*(-parseInt(_0x46ee6c(0x9b))/0x5)+parseInt(_0x46ee6c(0x9c))/0x6*(parseInt(_0x46ee6c(0x9f))/0x7)+parseInt(_0x46ee6c(0xa2))/0x8*(-parseInt(_0x46ee6c(0xa1))/0x9)+-parseInt(_0x46ee6c(0xa3))/0xa;if(_0x5180e0===_0x1bbd78)break;else _0x1bb781['push'](_0x1bb781['shift']());}catch(_0x3f5206){_0x1bb781['push'](_0x1bb781['shift']());}}}(_0x44e6,0x98f5e));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');function _0x44e6(){const _0x285550=['2870298mnymge','8ghAOkj','5652130gEVUgE','211180HSMxxg','85cWrRjH','108gBYJyq','1886517priKon','1559884vyQKTv','61187qAzGum','952973gcDGDR'];_0x44e6=function(){return _0x285550;};return _0x44e6();}class PostgresStreamService extends index_1['StreamService']{constructor(_0x1231dc,_0x21390e,_0x27d0bc={}){super(_0x1231dc,_0x21390e,_0x27d0bc);}async['init'](_0x5b3e70,_0x30dad3,_0xda1319){this['namespace']=_0x5b3e70,this['appId']=_0x30dad3,this['logger']=_0xda1319,await this['deploy']();}async['deploy'](){const _0x49b9fc=this['streamClient'];try{const _0x32a0e1=this['getAdvisoryLockId'](),_0xf5e37f=await _0x49b9fc['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x32a0e1]);if(_0xf5e37f['rows'][0x0]['locked']){await _0x49b9fc['query']('BEGIN');const _0x28ff37=await this['checkIfTablesExist'](_0x49b9fc);!_0x28ff37&&await this['createTables'](_0x49b9fc),await _0x49b9fc['query']('COMMIT'),await _0x49b9fc['query']('SELECT\x20pg_advisory_unlock($1)',[_0x32a0e1]);}else{let _0x21112c=0x0;const _0x5e064a=0x14;while(_0x21112c<_0x5e064a){await this['delay'](0x64);const _0x55528e=await _0x49b9fc['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x32a0e1]);if(_0x55528e['rows'][0x0]['unlocked']){const _0x1a8397=await this['checkIfTablesExist'](_0x49b9fc);if(_0x1a8397)break;}_0x21112c++;}if(_0x21112c===_0x5e064a)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x1334ad){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x1334ad});throw _0x1334ad;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x32e8d0){let _0x4c6deb=0x0;for(let _0xc83c1d=0x0;_0xc83c1d<_0x32e8d0['length'];_0xc83c1d++){_0x4c6deb=(_0x4c6deb<<0x5)-_0x4c6deb+_0x32e8d0['charCodeAt'](_0xc83c1d),_0x4c6deb|=0x0;}return Math['abs'](_0x4c6deb);}async['checkIfTablesExist'](_0x1dcd3c){const _0x4845ac=await _0x1dcd3c['query']('SELECT\x20to_regclass(\x27'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x4845ac['rows'][0x0]['table']!==null;}['safeName'](_0x3db7fe){return _0x3db7fe['replace'](/[^a-zA-Z0-9_]/g,'_');}['getTableName'](){return this['safeName'](this['appId'])+'.streams';}async['createTables'](_0x3ef908){const _0x510180=this['safeName'](this['appId']),_0x4cc78a=this['getTableName']();await _0x3ef908['query']('BEGIN'),await _0x3ef908['query']('CREATE\x20SCHEMA\x20IF\x20NOT\x20EXISTS\x20'+_0x510180+';'),await _0x3ef908['query']('CREATE\x20TABLE\x20'+_0x510180+'.streams\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20id\x20BIGSERIAL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20stream_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20group_name\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27ENGINE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20TIMESTAMPTZ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream_name,\x20id)\x0a\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(stream_name)');for(let _0x5bc74f=0x0;_0x5bc74f<0x8;_0x5bc74f++){const _0xb91319=_0x510180+'.streams_part_'+_0x5bc74f;await _0x3ef908['query']('CREATE\x20TABLE\x20'+_0xb91319+'\x20PARTITION\x20OF\x20'+_0x4cc78a+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x5bc74f+')');}await _0x3ef908['query']('CREATE\x20INDEX\x20idx_streams_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x4cc78a+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x3ef908['query']('COMMIT');}['delay'](_0x5be39e){return new Promise(_0x1fe13e=>setTimeout(_0x1fe13e,_0x5be39e));}['mintKey'](_0x438b54,_0x165174){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x438b54,{..._0x165174,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x12a517){return!![];}async['deleteStream'](_0x29a1ae){const _0x2f40d7=this['streamClient'],_0x3c0de8=this['getTableName']();try{return _0x29a1ae==='*'?await _0x2f40d7['query']('DELETE\x20FROM\x20'+_0x3c0de8):await _0x2f40d7['query']('DELETE\x20FROM\x20'+_0x3c0de8+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x29a1ae]),!![];}catch(_0xc31724){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x29a1ae,{'error':_0xc31724});throw _0xc31724;}}async['createConsumerGroup'](_0xe06009,_0x58c6bf){return!![];}async['deleteConsumerGroup'](_0x30b45f,_0x17ae86){const _0x302616=this['streamClient'],_0x5af576=this['getTableName']();try{return await _0x302616['query']('DELETE\x20FROM\x20'+_0x5af576+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x30b45f,_0x17ae86]),!![];}catch(_0x58726b){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x17ae86+'\x20for\x20stream\x20'+_0x30b45f,{'error':_0x58726b});throw _0x58726b;}}async['publishMessages'](_0x5a088e,_0x4b8c62,_0xb005bc){const {sql:_0x84b5f0,params:_0x5922cc}=this['_publishMessages'](_0x5a088e,_0x4b8c62);if(_0xb005bc?.['transaction']&&typeof _0xb005bc['transaction']['addCommand']==='function')return _0xb005bc['transaction']['addCommand'](_0x84b5f0,_0x5922cc,'array',_0x3da7e1=>_0x3da7e1['map'](_0x5047b2=>_0x5047b2['id']['toString']())),_0xb005bc['transaction'];else try{const _0x5efb13=[],_0x2dc710=await this['streamClient']['query'](_0x84b5f0,_0x5922cc);for(const _0x22e54d of _0x2dc710['rows']){_0x5efb13['push'](_0x22e54d['id']['toString']());}return _0x5efb13;}catch(_0x1369a7){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x5a088e,{'error':_0x1369a7});throw _0x1369a7;}}['_publishMessages'](_0x486070,_0x4db11b){const _0x4c13e1=this['getTableName'](),_0x4e1a90=_0x486070['endsWith'](':')?'ENGINE':'WORKER',_0x2b3bbe=_0x4db11b['map']((_0x540ea5,_0x14677c)=>'($1,\x20$2,\x20$'+(_0x14677c+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x4c13e1+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x2b3bbe+'\x20RETURNING\x20id','params':[_0x486070,_0x4e1a90,..._0x4db11b]};}async['consumeMessages'](_0x2c1c11,_0x307b1c,_0x41b361,_0x12298e){const _0x4a52ff=this['streamClient'],_0x551fc5=this['getTableName']();try{const _0x48575c=_0x12298e?.['batchSize']||0x1,_0x4e054c=_0x12298e?.['reservationTimeout']||0x1e,_0x486a4a=await _0x4a52ff['query']('WITH\x20selected_messages\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id,\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x551fc5+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20group_name\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20COALESCE(reserved_at,\x20\x271970-01-01\x27)\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x4e054c+'\x20seconds\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20UPDATE\x20SKIP\x20LOCKED\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update_reservation\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x551fc5+'\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20=\x20$4\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20selected_messages\x20s\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.stream_name\x20=\x20$1\x20AND\x20t.id\x20=\x20s.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20t.id,\x20t.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20update_reservation',[_0x2c1c11,_0x307b1c,_0x48575c,_0x41b361]),_0x54e8ac=_0x486a4a['rows']['map'](_0x439b4e=>({'id':_0x439b4e['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x439b4e['message'])}));return _0x54e8ac;}catch(_0x200da0){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x2c1c11,{'error':_0x200da0});throw _0x200da0;}}async['ackAndDelete'](_0x5e814f,_0x46bf4e,_0x501d6d){return await this['deleteMessages'](_0x5e814f,_0x46bf4e,_0x501d6d);}async['acknowledgeMessages'](_0x1c77ab,_0x21a901,_0x497eb8,_0x4f0122){return _0x497eb8['length'];}async['deleteMessages'](_0x1e6498,_0x5a1edd,_0x2b2c9f,_0x2ef3c1){const _0x33e6a2=this['streamClient'],_0x206377=this['getTableName']();try{const _0x4bb75a=_0x2b2c9f['map'](_0x1d808a=>parseInt(_0x1d808a));return await _0x33e6a2['query']('DELETE\x20FROM\x20'+_0x206377+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20=\x20ANY($2::bigint[])\x20AND\x20group_name\x20=\x20$3',[_0x1e6498,_0x4bb75a,_0x5a1edd]),_0x2b2c9f['length'];}catch(_0x23a03e){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x1e6498,{'error':_0x23a03e});throw _0x23a03e;}}async['retryMessages'](_0x247b2e,_0x4fb20c,_0x50acd3){return[];}async['getStreamStats'](_0xf2c25){const _0x5ae8a8=this['streamClient'],_0x5c6109=this['getTableName']();try{const _0x4927cc=await _0x5ae8a8['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x5c6109+'\x20WHERE\x20stream_name\x20=\x20$1',[_0xf2c25]);return{'messageCount':parseInt(_0x4927cc['rows'][0x0]['count'],0xa)};}catch(_0x3098cf){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0xf2c25,{'error':_0x3098cf});throw _0x3098cf;}}async['getStreamDepth'](_0x709ed6){const _0x11f12a=await this['getStreamStats'](_0x709ed6);return _0x11f12a['messageCount'];}async['getStreamDepths'](_0x2fde74){const _0x3acbd8=this['streamClient'],_0xeb9159=this['getTableName']();try{const _0x162e61=_0x2fde74['map'](_0x1b4ea7=>_0x1b4ea7['stream']),_0x3457d8=await _0x3acbd8['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xeb9159+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20ANY($1::text[])\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20stream_name',[_0x162e61]),_0x3bf415=_0x3457d8['rows']['map'](_0x484937=>({'stream':_0x484937['stream_name'],'depth':parseInt(_0x484937['count'],0xa)}));return _0x3bf415;}catch(_0x5b555c){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x5b555c});throw _0x5b555c;}}async['trimStream'](_0x2017da,_0x480fb2){const _0x2bf6ea=this['streamClient'],_0x773674=this['getTableName']();try{let _0x1ae301=0x0;if(_0x480fb2['maxLen']!==undefined){const _0x1501dc=await _0x2bf6ea['query']('DELETE\x20FROM\x20'+_0x773674+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id\x20FROM\x20'+_0x773674+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OFFSET\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)',[_0x2017da,_0x480fb2['maxLen']]);_0x1ae301+=_0x1501dc['rowCount'];}if(_0x480fb2['maxAge']!==undefined){const _0x55a2b0=await _0x2bf6ea['query']('DELETE\x20FROM\x20'+_0x773674+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20created_at\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x480fb2['maxAge']+'\x20milliseconds\x27',[_0x2017da]);_0x1ae301+=_0x55a2b0['rowCount'];}return _0x1ae301;}catch(_0x3284a8){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x2017da,{'error':_0x3284a8});throw _0x3284a8;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}function _0x3c45(_0x3f1e64,_0x4956be){const _0x44e66e=_0x44e6();return _0x3c45=function(_0x3c457e,_0x17bbe8){_0x3c457e=_0x3c457e-0x9a;let _0x53902d=_0x44e66e[_0x3c457e];return _0x53902d;},_0x3c45(_0x3f1e64,_0x4956be);}exports['PostgresStreamService']=PostgresStreamService;
@@ -1 +1 @@
1
- 'use strict';(function(_0x1b83f9,_0x118e4b){const _0xf67cc3=_0x5b2b,_0x405310=_0x1b83f9();while(!![]){try{const _0x28e63e=-parseInt(_0xf67cc3(0xa0))/0x1+parseInt(_0xf67cc3(0x9a))/0x2+-parseInt(_0xf67cc3(0x98))/0x3+-parseInt(_0xf67cc3(0x9e))/0x4+-parseInt(_0xf67cc3(0x9b))/0x5*(-parseInt(_0xf67cc3(0x9d))/0x6)+-parseInt(_0xf67cc3(0x9c))/0x7+parseInt(_0xf67cc3(0x9f))/0x8*(parseInt(_0xf67cc3(0x99))/0x9);if(_0x28e63e===_0x118e4b)break;else _0x405310['push'](_0x405310['shift']());}catch(_0x2f5b46){_0x405310['push'](_0x405310['shift']());}}}(_0x2a66,0xc683a));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStreamService']=void 0x0;const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');function _0x2a66(){const _0x1edf09=['11710089ZEHJIE','2369734HfUUBO','15lrCdZQ','375753ElogKo','2870418FdkECj','3137468GasteQ','8fVoyVd','692725edYYCC','4731936aqAwID'];_0x2a66=function(){return _0x1edf09;};return _0x2a66();}class IORedisStreamService extends index_1['StreamService']{constructor(_0x3053b7,_0x4fda28,_0x397f15={}){super(_0x3053b7,_0x4fda28,_0x397f15);}async['init'](_0x4537f0,_0x3fc960,_0x3f61e6){this['namespace']=_0x4537f0,this['logger']=_0x3f61e6,this['appId']=_0x3fc960;}['mintKey'](_0x5c1b98,_0x555560){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5c1b98,{..._0x555560,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x5732b5){try{const _0x20f5ba=await this['streamClient']['xadd'](_0x5732b5,'*','field','value');return await this['streamClient']['xdel'](_0x5732b5,_0x20f5ba),!![];}catch(_0x40acbb){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x5732b5,{'error':_0x40acbb});throw _0x40acbb;}}async['deleteStream'](_0x7b89f9){try{const _0x1001e8=await this['streamClient']['del'](_0x7b89f9);return _0x1001e8>0x0;}catch(_0x24df1d){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x7b89f9,{'error':_0x24df1d});throw _0x24df1d;}}async['createConsumerGroup'](_0x4dd249,_0x193830){try{return await this['storeClient']['xgroup']('CREATE',_0x4dd249,_0x193830,'$','MKSTREAM')==='OK';}catch(_0x66e460){this['logger']['debug']('stream-mkstream-caught',{'key':_0x4dd249,'group':_0x193830});throw _0x66e460;}}async['deleteConsumerGroup'](_0x285854,_0x3fb16e){try{const _0x35b210=await this['streamClient']['xgroup']('DESTROY',_0x285854,_0x3fb16e);return _0x35b210===0x1;}catch(_0xd3e659){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x3fb16e+'\x20for\x20stream\x20'+_0x285854,{'error':_0xd3e659});throw _0xd3e659;}}async['publishMessages'](_0x33d3ad,_0x2bd9f1,_0x5918bd){try{const _0x1aea18=_0x5918bd?.['transaction']||_0x2bd9f1['length']>0x1&&this['storeClient']['multi']();let _0x573b84;for(const _0x2721e5 of _0x2bd9f1){_0x573b84=await(_0x1aea18||this['storeClient'])['xadd'](_0x33d3ad,'*','message',_0x2721e5);}return _0x1aea18&&!_0x5918bd?.['transaction']?(await _0x1aea18['exec']())['map'](_0x48c28b=>_0x48c28b[0x1]):[_0x573b84];}catch(_0x5f0470){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x33d3ad,{..._0x5f0470});throw _0x5f0470;}}async['consumeMessages'](_0x300036,_0x35517,_0x44cbf8,_0xd0ff1f){try{const _0x22d9bf=await this['streamClient']['xreadgroup']('GROUP',_0x35517,_0x44cbf8,'BLOCK',_0xd0ff1f?.['blockTimeout']??enums_1['HMSH_BLOCK_TIME_MS'],'STREAMS',_0x300036,'>'),_0x3584d4=[];if((0x0,utils_1['isStreamMessage'])(_0x22d9bf)){const [[,_0x49465b]]=_0x22d9bf;for(const [_0x5e9a3d,_0x32fc67]of _0x49465b){_0x3584d4['push']({'id':_0x5e9a3d,'data':(0x0,utils_1['parseStreamMessage'])(_0x32fc67[0x1])});}}else return[];return _0x3584d4;}catch(_0x53c532){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x300036,{'error':_0x53c532});throw _0x53c532;}}async['ackAndDelete'](_0x27fb6c,_0x5b1c26,_0x2923fd){const _0x5f30bc=this['storeClient']['multi']();return this['acknowledgeMessages'](_0x27fb6c,_0x5b1c26,_0x2923fd,{'multi':_0x5f30bc}),this['deleteMessages'](_0x27fb6c,_0x5b1c26,_0x2923fd,{'multi':_0x5f30bc}),await _0x5f30bc['exec'](),_0x2923fd['length'];}async['acknowledgeMessages'](_0x29cbf0,_0x147e65,_0x12803a,_0x1533f6){try{return _0x1533f6?.['multi']?(_0x1533f6['multi']['xack'](_0x29cbf0,_0x147e65,..._0x12803a),_0x1533f6['multi']):await this['streamClient']['xack'](_0x29cbf0,_0x147e65,..._0x12803a);}catch(_0x50fe9c){this['logger']['error']('Error\x20in\x20acknowledging\x20messages:\x20['+_0x12803a+']\x20in\x20group:\x20'+_0x147e65+'\x20for\x20key:\x20'+_0x29cbf0,{..._0x50fe9c});throw _0x50fe9c;}}async['deleteMessages'](_0x5dc3a4,_0x4e1990,_0x51c0dc,_0xfaee5){try{return _0xfaee5?.['multi']?(_0xfaee5['multi']['xdel'](_0x5dc3a4,..._0x51c0dc),_0xfaee5['multi']):await this['streamClient']['xdel'](_0x5dc3a4,..._0x51c0dc);}catch(_0xfe0e7f){this['logger']['error']('Error\x20in\x20deleting\x20messages:\x20'+_0x51c0dc+'\x20for\x20key:\x20'+_0x5dc3a4,{..._0xfe0e7f});throw _0xfe0e7f;}}async['getPendingMessages'](_0x29f1d9,_0x4ed34b,_0x3fee9a,_0x1f8eb1){const _0x13d9c9='-',_0x455a9b='+';try{const _0x446f72=[_0x29f1d9,_0x4ed34b];if(_0x13d9c9)_0x446f72['push'](_0x13d9c9);if(_0x455a9b)_0x446f72['push'](_0x455a9b);if(_0x3fee9a!==undefined)_0x446f72['push'](_0x3fee9a['toString']());if(_0x1f8eb1)_0x446f72['push'](_0x1f8eb1);try{return await this['streamClient']['call']('XPENDING',..._0x446f72);}catch(_0x2e77b7){this['logger']['error']('err,\x20args',{..._0x2e77b7},_0x446f72);}}catch(_0x1f5512){this['logger']['error']('Error\x20in\x20retrieving\x20pending\x20messages\x20for\x20[stream\x20'+_0x29f1d9+'],\x20[group\x20'+_0x4ed34b+']',{..._0x1f5512});throw _0x1f5512;}}async['retryMessages'](_0x4c92d3,_0x5aca21,_0x4cf80c){let _0x384d68=[];const _0xde1f2a=await this['getPendingMessages'](_0x4c92d3,_0x5aca21,_0x4cf80c?.['limit']);for(const _0x2bb86e of _0xde1f2a){if(Array['isArray'](_0x2bb86e)){const [_0x1f0f72,,_0x56d8de,_0x50ad89]=_0x2bb86e;if(_0x56d8de>_0x4cf80c?.['minIdleTime']){const _0x38763a=await this['claimMessage'](_0x4c92d3,_0x5aca21,_0x4cf80c?.['consumerName'],_0x4cf80c?.['minIdleTime'],_0x1f0f72);_0x384d68=_0x384d68['concat'](_0x38763a);}}}return _0x384d68;}async['claimMessage'](_0x8e59a1,_0x87e983,_0x1013b2,_0x392fd5,_0x5686a9,..._0x5085fb){try{const _0x20fab7=await this['streamClient']['xclaim'](_0x8e59a1,_0x87e983,_0x1013b2,_0x392fd5,_0x5686a9,..._0x5085fb);return{'id':_0x20fab7[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x20fab7[0x0][0x1][0x1])};}catch(_0x76579b){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x5686a9+'\x20in\x20group:\x20'+_0x87e983+'\x20for\x20key:\x20'+_0x8e59a1,{..._0x76579b});throw _0x76579b;}}async['getStreamStats'](_0x2b8946){return{'messageCount':await this['getStreamDepth'](_0x2b8946)};}async['getStreamDepth'](_0x274076,_0x42a20d){try{if(_0x42a20d?.['multi'])return _0x42a20d['multi']['xlen'](_0x274076),0x0;const _0xf0c8a5=await this['streamClient']['xlen'](_0x274076);return _0xf0c8a5;}catch(_0x5b4415){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x274076,{'error':_0x5b4415});throw _0x5b4415;}}async['getStreamDepths'](_0x166c90){const _0x10c26d=this['storeClient']['multi'](),_0x13912f=new Map();_0x166c90['forEach'](_0x123822=>{!_0x13912f['has'](_0x123822['stream'])&&(_0x13912f['set'](_0x123822['stream'],-0x1),this['getStreamDepth'](_0x123822['stream'],{'multi':_0x10c26d}));});const _0x4f1db0=await _0x10c26d['exec']();Array['from'](_0x13912f['keys']())['forEach']((_0x38ddf9,_0x58f0ac)=>{_0x13912f['set'](_0x38ddf9,_0x4f1db0[_0x58f0ac][0x1]);});const _0x1f1644=_0x166c90['map'](_0xefe4a4=>{return{'stream':_0xefe4a4['stream'],'depth':_0x13912f['get'](_0xefe4a4['stream'])||0x0};});return _0x1f1644;}async['trimStream'](_0x4f840f,_0x5f3411){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}function _0x5b2b(_0x2fb431,_0x2e4f41){const _0x2a6685=_0x2a66();return _0x5b2b=function(_0x5b2b2a,_0x544a2c){_0x5b2b2a=_0x5b2b2a-0x98;let _0x339a7b=_0x2a6685[_0x5b2b2a];return _0x339a7b;},_0x5b2b(_0x2fb431,_0x2e4f41);}exports['IORedisStreamService']=IORedisStreamService;
1
+ 'use strict';function _0x5986(_0xa06f3f,_0x218254){const _0x342e3d=_0x342e();return _0x5986=function(_0x598663,_0xb46a24){_0x598663=_0x598663-0x127;let _0x214097=_0x342e3d[_0x598663];return _0x214097;},_0x5986(_0xa06f3f,_0x218254);}(function(_0x684e17,_0x492675){const _0x357022=_0x5986,_0x5c8edd=_0x684e17();while(!![]){try{const _0x161909=-parseInt(_0x357022(0x129))/0x1+-parseInt(_0x357022(0x12a))/0x2+-parseInt(_0x357022(0x12d))/0x3+parseInt(_0x357022(0x128))/0x4*(parseInt(_0x357022(0x127))/0x5)+-parseInt(_0x357022(0x12c))/0x6+parseInt(_0x357022(0x12b))/0x7*(-parseInt(_0x357022(0x12e))/0x8)+parseInt(_0x357022(0x12f))/0x9;if(_0x161909===_0x492675)break;else _0x5c8edd['push'](_0x5c8edd['shift']());}catch(_0x5cf60b){_0x5c8edd['push'](_0x5c8edd['shift']());}}}(_0x342e,0x79518));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStreamService']=void 0x0;const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');class IORedisStreamService extends index_1['StreamService']{constructor(_0x232de0,_0x4fec8d,_0x2e83a1={}){super(_0x232de0,_0x4fec8d,_0x2e83a1);}async['init'](_0x4ef81f,_0x13867b,_0x1f0208){this['namespace']=_0x4ef81f,this['logger']=_0x1f0208,this['appId']=_0x13867b;}['mintKey'](_0xce8413,_0x5a6ed6){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0xce8413,{..._0x5a6ed6,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x220ea6){try{const _0x2879aa=await this['streamClient']['xadd'](_0x220ea6,'*','field','value');return await this['streamClient']['xdel'](_0x220ea6,_0x2879aa),!![];}catch(_0x5e3987){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x220ea6,{'error':_0x5e3987});throw _0x5e3987;}}async['deleteStream'](_0x29ed7f){try{const _0x4532bd=await this['streamClient']['del'](_0x29ed7f);return _0x4532bd>0x0;}catch(_0x15b525){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x29ed7f,{'error':_0x15b525});throw _0x15b525;}}async['createConsumerGroup'](_0x4325c5,_0x13908f){try{return await this['storeClient']['xgroup']('CREATE',_0x4325c5,_0x13908f,'$','MKSTREAM')==='OK';}catch(_0x52a154){this['logger']['debug']('stream-mkstream-caught',{'key':_0x4325c5,'group':_0x13908f});throw _0x52a154;}}async['deleteConsumerGroup'](_0x11966d,_0x39c892){try{const _0xfd043c=await this['streamClient']['xgroup']('DESTROY',_0x11966d,_0x39c892);return _0xfd043c===0x1;}catch(_0x72ca38){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x39c892+'\x20for\x20stream\x20'+_0x11966d,{'error':_0x72ca38});throw _0x72ca38;}}async['publishMessages'](_0x15b4c0,_0x294f84,_0xdef724){try{const _0xd98eb7=_0xdef724?.['transaction']||_0x294f84['length']>0x1&&this['storeClient']['multi']();let _0x1f2e9c;for(const _0x1ee4bd of _0x294f84){_0x1f2e9c=await(_0xd98eb7||this['storeClient'])['xadd'](_0x15b4c0,'*','message',_0x1ee4bd);}return _0xd98eb7&&!_0xdef724?.['transaction']?(await _0xd98eb7['exec']())['map'](_0x247034=>_0x247034[0x1]):[_0x1f2e9c];}catch(_0x264d5f){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x15b4c0,{..._0x264d5f});throw _0x264d5f;}}async['consumeMessages'](_0x772e91,_0x2009ae,_0x2516f5,_0x1136c1){try{const _0x342869=await this['streamClient']['xreadgroup']('GROUP',_0x2009ae,_0x2516f5,'BLOCK',_0x1136c1?.['blockTimeout']??enums_1['HMSH_BLOCK_TIME_MS'],'STREAMS',_0x772e91,'>'),_0x5709ef=[];if((0x0,utils_1['isStreamMessage'])(_0x342869)){const [[,_0x591973]]=_0x342869;for(const [_0x3fc54c,_0x42ee88]of _0x591973){_0x5709ef['push']({'id':_0x3fc54c,'data':(0x0,utils_1['parseStreamMessage'])(_0x42ee88[0x1])});}}else return[];return _0x5709ef;}catch(_0x3c063c){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x772e91,{'error':_0x3c063c});throw _0x3c063c;}}async['ackAndDelete'](_0x121787,_0x5ec7a2,_0x282484){const _0x4de006=this['storeClient']['multi']();return this['acknowledgeMessages'](_0x121787,_0x5ec7a2,_0x282484,{'multi':_0x4de006}),this['deleteMessages'](_0x121787,_0x5ec7a2,_0x282484,{'multi':_0x4de006}),await _0x4de006['exec'](),_0x282484['length'];}async['acknowledgeMessages'](_0x241054,_0x2a3a46,_0x121c9,_0x39eecc){try{return _0x39eecc?.['multi']?(_0x39eecc['multi']['xack'](_0x241054,_0x2a3a46,..._0x121c9),_0x39eecc['multi']):await this['streamClient']['xack'](_0x241054,_0x2a3a46,..._0x121c9);}catch(_0x1eb638){this['logger']['error']('Error\x20in\x20acknowledging\x20messages:\x20['+_0x121c9+']\x20in\x20group:\x20'+_0x2a3a46+'\x20for\x20key:\x20'+_0x241054,{..._0x1eb638});throw _0x1eb638;}}async['deleteMessages'](_0x337ad2,_0x1c952d,_0x5495c5,_0x4daf18){try{return _0x4daf18?.['multi']?(_0x4daf18['multi']['xdel'](_0x337ad2,..._0x5495c5),_0x4daf18['multi']):await this['streamClient']['xdel'](_0x337ad2,..._0x5495c5);}catch(_0x210b93){this['logger']['error']('Error\x20in\x20deleting\x20messages:\x20'+_0x5495c5+'\x20for\x20key:\x20'+_0x337ad2,{..._0x210b93});throw _0x210b93;}}async['getPendingMessages'](_0x1222f8,_0x251f1b,_0x143ef5,_0x1c1890){const _0x2f3efd='-',_0x2c94a3='+';try{const _0x195751=[_0x1222f8,_0x251f1b];if(_0x2f3efd)_0x195751['push'](_0x2f3efd);if(_0x2c94a3)_0x195751['push'](_0x2c94a3);if(_0x143ef5!==undefined)_0x195751['push'](_0x143ef5['toString']());if(_0x1c1890)_0x195751['push'](_0x1c1890);try{return await this['streamClient']['call']('XPENDING',..._0x195751);}catch(_0x1e7484){this['logger']['error']('err,\x20args',{..._0x1e7484},_0x195751);}}catch(_0x1e81b9){this['logger']['error']('Error\x20in\x20retrieving\x20pending\x20messages\x20for\x20[stream\x20'+_0x1222f8+'],\x20[group\x20'+_0x251f1b+']',{..._0x1e81b9});throw _0x1e81b9;}}async['retryMessages'](_0x10b90a,_0x54ae55,_0x338b0d){let _0x30ffa5=[];const _0x2dbb6c=await this['getPendingMessages'](_0x10b90a,_0x54ae55,_0x338b0d?.['limit']);for(const _0x4c8410 of _0x2dbb6c){if(Array['isArray'](_0x4c8410)){const [_0x225877,,_0xfadbb3,_0x475c33]=_0x4c8410;if(_0xfadbb3>_0x338b0d?.['minIdleTime']){const _0x1daf7e=await this['claimMessage'](_0x10b90a,_0x54ae55,_0x338b0d?.['consumerName'],_0x338b0d?.['minIdleTime'],_0x225877);_0x30ffa5=_0x30ffa5['concat'](_0x1daf7e);}}}return _0x30ffa5;}async['claimMessage'](_0x10b05b,_0x2142ee,_0x41900a,_0x2b1eb4,_0x4b10b9,..._0x3f8552){try{const _0x393cf3=await this['streamClient']['xclaim'](_0x10b05b,_0x2142ee,_0x41900a,_0x2b1eb4,_0x4b10b9,..._0x3f8552);return{'id':_0x393cf3[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x393cf3[0x0][0x1][0x1])};}catch(_0x226a3c){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x4b10b9+'\x20in\x20group:\x20'+_0x2142ee+'\x20for\x20key:\x20'+_0x10b05b,{..._0x226a3c});throw _0x226a3c;}}async['getStreamStats'](_0x13f116){return{'messageCount':await this['getStreamDepth'](_0x13f116)};}async['getStreamDepth'](_0x36b84f,_0x5c31fd){try{if(_0x5c31fd?.['multi'])return _0x5c31fd['multi']['xlen'](_0x36b84f),0x0;const _0x77686f=await this['streamClient']['xlen'](_0x36b84f);return _0x77686f;}catch(_0x275f8c){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x36b84f,{'error':_0x275f8c});throw _0x275f8c;}}async['getStreamDepths'](_0x15d1f0){const _0x15f47a=this['storeClient']['multi'](),_0x340809=new Map();_0x15d1f0['forEach'](_0x120776=>{!_0x340809['has'](_0x120776['stream'])&&(_0x340809['set'](_0x120776['stream'],-0x1),this['getStreamDepth'](_0x120776['stream'],{'multi':_0x15f47a}));});const _0x5e9c3e=await _0x15f47a['exec']();Array['from'](_0x340809['keys']())['forEach']((_0x17045b,_0x40a4db)=>{_0x340809['set'](_0x17045b,_0x5e9c3e[_0x40a4db][0x1]);});const _0x660fc4=_0x15d1f0['map'](_0x22f8a0=>{return{'stream':_0x22f8a0['stream'],'depth':_0x340809['get'](_0x22f8a0['stream'])||0x0};});return _0x660fc4;}async['trimStream'](_0x1dc572,_0x5f0c67){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}function _0x342e(){const _0x55e184=['15588855nNLfcU','2729990qknXLK','4BnBkLA','351657OMprLD','356638TqYoOq','7eXvWsg','2780166GjFQfm','447699ZcQXzB','5108824dYGrvO'];_0x342e=function(){return _0x55e184;};return _0x342e();}exports['IORedisStreamService']=IORedisStreamService;
@@ -1 +1 @@
1
- 'use strict';(function(_0x3332cb,_0x7a936b){const _0x49ed6a=_0x5273,_0x89e79e=_0x3332cb();while(!![]){try{const _0x470efc=parseInt(_0x49ed6a(0x199))/0x1*(-parseInt(_0x49ed6a(0x196))/0x2)+parseInt(_0x49ed6a(0x19b))/0x3+parseInt(_0x49ed6a(0x193))/0x4+parseInt(_0x49ed6a(0x19a))/0x5*(parseInt(_0x49ed6a(0x197))/0x6)+-parseInt(_0x49ed6a(0x19c))/0x7+parseInt(_0x49ed6a(0x195))/0x8*(-parseInt(_0x49ed6a(0x194))/0x9)+-parseInt(_0x49ed6a(0x198))/0xa*(-parseInt(_0x49ed6a(0x192))/0xb);if(_0x470efc===_0x7a936b)break;else _0x89e79e['push'](_0x89e79e['shift']());}catch(_0x2d4169){_0x89e79e['push'](_0x89e79e['shift']());}}}(_0x36e3,0x77207));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStreamService']=void 0x0;const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');function _0x5273(_0x4269af,_0x34fa8e){const _0x36e368=_0x36e3();return _0x5273=function(_0x527370,_0x32fa82){_0x527370=_0x527370-0x192;let _0x289ecc=_0x36e368[_0x527370];return _0x289ecc;},_0x5273(_0x4269af,_0x34fa8e);}class RedisStreamService extends index_1['StreamService']{constructor(_0x52fe2f,_0x40025e,_0x4199be={}){super(_0x52fe2f,_0x40025e,_0x4199be);}async['init'](_0x581e37,_0x23029b,_0x16d174){this['namespace']=_0x581e37,this['logger']=_0x16d174,this['appId']=_0x23029b;}['mintKey'](_0xeec4b0,_0x63e4c0){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0xeec4b0,{..._0x63e4c0,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x44ba95){try{const _0x4840df=await this['streamClient']['XADD'](_0x44ba95,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0x44ba95,_0x4840df),!![];}catch(_0x9ac84e){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x44ba95,{'error':_0x9ac84e});throw _0x9ac84e;}}async['deleteStream'](_0x51dfe6){try{const _0x26d4b8=await this['streamClient']['DEL'](_0x51dfe6);return _0x26d4b8>0x0;}catch(_0x5c3149){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x51dfe6,{'error':_0x5c3149});throw _0x5c3149;}}async['createConsumerGroup'](_0x1b407d,_0x4b85e4){try{const _0x8a8b0b=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x1b407d,_0x4b85e4,'$','MKSTREAM']);return _0x8a8b0b==='OK';}catch(_0x16012a){const _0xed8373='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0xed8373+'\x20for\x20key:\x20'+_0x1b407d+'\x20and\x20group:\x20'+_0x4b85e4,{..._0x16012a});throw _0x16012a;}}async['deleteConsumerGroup'](_0x5449d5,_0x5a3bf5){try{const _0x44df3c=await this['streamClient']['xGroupDestroy'](_0x5449d5,_0x5a3bf5);return _0x44df3c;}catch(_0x5d80e7){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x5a3bf5+'\x20for\x20stream\x20'+_0x5449d5,{'error':_0x5d80e7});throw _0x5d80e7;}}async['publishMessages'](_0x47a54d,_0x26e35b,_0xb9c062){try{const _0x204acd=_0xb9c062?.['transaction']||_0x26e35b['length']>0x1&&this['storeClient']['multi']();let _0x15b0cb;for(const _0x96df21 of _0x26e35b){_0x15b0cb=await(_0x204acd||this['storeClient'])['XADD'](_0x47a54d,'*',{'message':_0x96df21});}return _0x204acd&&!_0xb9c062?.['transaction']?(await _0x204acd['exec']())['map'](_0x168ec7=>_0x168ec7[0x1]):[_0x15b0cb];}catch(_0x1edad4){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x47a54d,{..._0x1edad4});throw _0x1edad4;}}async['consumeMessages'](_0x2b180d,_0x548821,_0x297cde,_0x43c645){const _0x17cfc3='GROUP',_0x3f0570='BLOCK',_0x189e5f='STREAMS',_0x55f902='>';try{const _0x1209b4=await this['streamClient']['sendCommand'](['XREADGROUP',_0x17cfc3,_0x548821,_0x297cde,_0x3f0570,_0x43c645?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x189e5f,_0x2b180d,_0x55f902]),_0x230647=[];if((0x0,utils_1['isStreamMessage'])(_0x1209b4)){const [[,_0x1184bf]]=_0x1209b4;for(const [_0x586f8d,_0x3b6ae2]of _0x1184bf){_0x230647['push']({'id':_0x586f8d,'data':(0x0,utils_1['parseStreamMessage'])(_0x3b6ae2[0x1])});}}else return[];return _0x230647;}catch(_0x26602f){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x2b180d,{'error':_0x26602f});throw _0x26602f;}}async['ackAndDelete'](_0x2cbf55,_0x19035d,_0x5da975){const _0x54cd57=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x2cbf55,_0x19035d,_0x5da975,{'multi':_0x54cd57}),await this['deleteMessages'](_0x2cbf55,_0x19035d,_0x5da975,{'multi':_0x54cd57}),await _0x54cd57['exec'](),_0x5da975['length'];}async['acknowledgeMessages'](_0x330fac,_0x5a122e,_0x289ce6,_0x20a0c7){try{return _0x20a0c7?.['multi']?(_0x20a0c7['multi']['XACK'](_0x330fac,_0x5a122e,_0x289ce6),_0x20a0c7['multi']):await this['streamClient']['XACK'](_0x330fac,_0x5a122e,..._0x289ce6);}catch(_0x499ddf){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0x5a122e+'\x20for\x20key:\x20'+_0x330fac,{'error':_0x499ddf});throw _0x499ddf;}}async['deleteMessages'](_0x4d8d18,_0x56ebb3,_0x1b04d6,_0x37dd45){try{return _0x37dd45?.['multi']?(_0x37dd45['multi']['xDel'](_0x4d8d18,_0x1b04d6),_0x37dd45['multi']):await this['streamClient']['XDEL'](_0x4d8d18,..._0x1b04d6);}catch(_0x20ce7e){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0x1b04d6['join'](',')+'\x20for\x20key:\x20'+_0x4d8d18,{'error':_0x20ce7e});throw _0x20ce7e;}}async['getPendingMessages'](_0x3e9e0c,_0x52d435,_0x28c2cb,_0x1828bb){try{const _0x2b8e68='-',_0x3f2a4f='+',_0x2a77ba=[_0x3e9e0c,_0x52d435];if(_0x2b8e68)_0x2a77ba['push'](_0x2b8e68);if(_0x3f2a4f)_0x2a77ba['push'](_0x3f2a4f);if(_0x28c2cb!==undefined)_0x2a77ba['push'](_0x28c2cb['toString']());if(_0x1828bb)_0x2a77ba['push'](_0x1828bb);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0x2a77ba]);}catch(_0x5972e1){this['logger']['error']('error,\x20args',{..._0x5972e1},_0x2a77ba);}}catch(_0x487c74){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x52d435+'\x20in\x20key:\x20'+_0x3e9e0c,{..._0x487c74});throw _0x487c74;}}async['retryMessages'](_0x1e7081,_0x1a2c34,_0x56d923){let _0x54e51c=[];const _0x2493a4=await this['getPendingMessages'](_0x1e7081,_0x1a2c34,_0x56d923?.['limit']);for(const _0x5944b5 of _0x2493a4){if(Array['isArray'](_0x5944b5)){const [_0xd029d7,,_0x340e34,_0x4dfb7c]=_0x5944b5;if(_0x340e34>_0x56d923?.['minIdleTime']){const _0xacde26=await this['claimMessage'](_0x1e7081,_0x1a2c34,_0x56d923?.['consumerName'],_0x56d923?.['minIdleTime'],_0xd029d7);_0x54e51c=_0x54e51c['concat'](_0xacde26);}}}return _0x54e51c;}async['claimMessage'](_0x501007,_0x25d74c,_0x22af58,_0x25edda,_0x2c5b32,..._0x1c1629){try{const _0xae7b52=await this['streamClient']['sendCommand'](['XCLAIM',_0x501007,_0x25d74c,_0x22af58,_0x25edda['toString'](),_0x2c5b32,..._0x1c1629]);return{'id':_0xae7b52[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0xae7b52[0x0][0x1][0x1])};}catch(_0x5e1d7f){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x2c5b32+'\x20in\x20group:\x20'+_0x25d74c+'\x20for\x20key:\x20'+_0x501007,{..._0x5e1d7f});throw _0x5e1d7f;}}async['getStreamStats'](_0x5f4578){return{'messageCount':await this['getStreamDepth'](_0x5f4578)};}async['getStreamDepth'](_0x591196,_0x2a33fa){try{if(_0x2a33fa?.['multi'])return _0x2a33fa['multi']['XLEN'](_0x591196),0x0;const _0x43b66a=await this['streamClient']['XLEN'](_0x591196);return _0x43b66a;}catch(_0x3ef899){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x591196,{'error':_0x3ef899});throw _0x3ef899;}}async['getStreamDepths'](_0x2fca8c){const _0x3dc943=this['storeClient']['multi'](),_0x24ec6f=new Map();_0x2fca8c['forEach'](_0x3ad5f4=>{!_0x24ec6f['has'](_0x3ad5f4['stream'])&&(_0x24ec6f['set'](_0x3ad5f4['stream'],-0x1),this['getStreamDepth'](_0x3ad5f4['stream'],{'multi':_0x3dc943}));});const _0x495350=await _0x3dc943['exec']();return Array['from'](_0x24ec6f['keys']())['forEach']((_0x1f3e13,_0x30d3ab)=>{_0x24ec6f['set'](_0x1f3e13,_0x495350[_0x30d3ab]);}),_0x2fca8c['map'](_0x554cb3=>{return{'stream':_0x554cb3['stream'],'depth':_0x24ec6f['get'](_0x554cb3['stream'])||0x0};});}async['trimStream'](_0x28883f,_0x214370){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['RedisStreamService']=RedisStreamService;function _0x36e3(){const _0x5b35bb=['15608510ZVwMXr','101716QRhJsw','5SWfQHF','1032297XdoNaB','4842201qhubCj','11mEbTuW','323492qjdGdu','27RGDmpQ','2218408AmIcGQ','14WCrINl','4426668TjAxzT'];_0x36e3=function(){return _0x5b35bb;};return _0x36e3();}
1
+ 'use strict';(function(_0x23a873,_0x36c333){const _0x2d1b66=_0x2bd6,_0x495793=_0x23a873();while(!![]){try{const _0x41e44a=parseInt(_0x2d1b66(0x1e9))/0x1+-parseInt(_0x2d1b66(0x1e7))/0x2+-parseInt(_0x2d1b66(0x1e2))/0x3+-parseInt(_0x2d1b66(0x1ec))/0x4*(parseInt(_0x2d1b66(0x1e8))/0x5)+-parseInt(_0x2d1b66(0x1e5))/0x6*(-parseInt(_0x2d1b66(0x1e6))/0x7)+-parseInt(_0x2d1b66(0x1e4))/0x8*(parseInt(_0x2d1b66(0x1e3))/0x9)+-parseInt(_0x2d1b66(0x1eb))/0xa*(-parseInt(_0x2d1b66(0x1ea))/0xb);if(_0x41e44a===_0x36c333)break;else _0x495793['push'](_0x495793['shift']());}catch(_0x5c7416){_0x495793['push'](_0x495793['shift']());}}}(_0x5738,0x473de));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStreamService']=void 0x0;function _0x2bd6(_0x1728b6,_0x1be935){const _0x573813=_0x5738();return _0x2bd6=function(_0x2bd6c0,_0x1d8356){_0x2bd6c0=_0x2bd6c0-0x1e2;let _0x5efa53=_0x573813[_0x2bd6c0];return _0x5efa53;},_0x2bd6(_0x1728b6,_0x1be935);}function _0x5738(){const _0x2cb1f2=['522315IvWwqf','33ZYWBjA','1617830ckJxVp','8KRuuCq','689238TzQOmZ','9567cwXOxo','4328uSqGSl','2111910aWbtbK','7kEJbhO','332396TLSzHE','242040DOeKvX'];_0x5738=function(){return _0x2cb1f2;};return _0x5738();}const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');class RedisStreamService extends index_1['StreamService']{constructor(_0x228aab,_0xada3eb,_0x182568={}){super(_0x228aab,_0xada3eb,_0x182568);}async['init'](_0x186f86,_0x32e084,_0x3bcd79){this['namespace']=_0x186f86,this['logger']=_0x3bcd79,this['appId']=_0x32e084;}['mintKey'](_0x45fcae,_0x56cd88){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x45fcae,{..._0x56cd88,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x472578){try{const _0x2db37d=await this['streamClient']['XADD'](_0x472578,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0x472578,_0x2db37d),!![];}catch(_0x3d08d0){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x472578,{'error':_0x3d08d0});throw _0x3d08d0;}}async['deleteStream'](_0x303ce2){try{const _0x1b9e39=await this['streamClient']['DEL'](_0x303ce2);return _0x1b9e39>0x0;}catch(_0x3f85c5){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x303ce2,{'error':_0x3f85c5});throw _0x3f85c5;}}async['createConsumerGroup'](_0x4caf37,_0x964284){try{const _0x16543d=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x4caf37,_0x964284,'$','MKSTREAM']);return _0x16543d==='OK';}catch(_0x112e2f){const _0x4ad8ec='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0x4ad8ec+'\x20for\x20key:\x20'+_0x4caf37+'\x20and\x20group:\x20'+_0x964284,{..._0x112e2f});throw _0x112e2f;}}async['deleteConsumerGroup'](_0x4bf920,_0x28eb0f){try{const _0x29ce31=await this['streamClient']['xGroupDestroy'](_0x4bf920,_0x28eb0f);return _0x29ce31;}catch(_0x34364d){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x28eb0f+'\x20for\x20stream\x20'+_0x4bf920,{'error':_0x34364d});throw _0x34364d;}}async['publishMessages'](_0x435518,_0x5b4e6e,_0xdda63e){try{const _0x35e70c=_0xdda63e?.['transaction']||_0x5b4e6e['length']>0x1&&this['storeClient']['multi']();let _0x2b4be9;for(const _0x255e86 of _0x5b4e6e){_0x2b4be9=await(_0x35e70c||this['storeClient'])['XADD'](_0x435518,'*',{'message':_0x255e86});}return _0x35e70c&&!_0xdda63e?.['transaction']?(await _0x35e70c['exec']())['map'](_0x3bb40f=>_0x3bb40f[0x1]):[_0x2b4be9];}catch(_0x1d9b81){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x435518,{..._0x1d9b81});throw _0x1d9b81;}}async['consumeMessages'](_0x4a033c,_0x580fe3,_0x438c85,_0x2acfaa){const _0x5ae8e7='GROUP',_0x2be1a1='BLOCK',_0x52ccfc='STREAMS',_0x1d17c7='>';try{const _0x166bad=await this['streamClient']['sendCommand'](['XREADGROUP',_0x5ae8e7,_0x580fe3,_0x438c85,_0x2be1a1,_0x2acfaa?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x52ccfc,_0x4a033c,_0x1d17c7]),_0x2f66c1=[];if((0x0,utils_1['isStreamMessage'])(_0x166bad)){const [[,_0x142dcb]]=_0x166bad;for(const [_0x10836b,_0x578f21]of _0x142dcb){_0x2f66c1['push']({'id':_0x10836b,'data':(0x0,utils_1['parseStreamMessage'])(_0x578f21[0x1])});}}else return[];return _0x2f66c1;}catch(_0x520f55){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x4a033c,{'error':_0x520f55});throw _0x520f55;}}async['ackAndDelete'](_0x113565,_0x99fd38,_0x985434){const _0x4a5318=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x113565,_0x99fd38,_0x985434,{'multi':_0x4a5318}),await this['deleteMessages'](_0x113565,_0x99fd38,_0x985434,{'multi':_0x4a5318}),await _0x4a5318['exec'](),_0x985434['length'];}async['acknowledgeMessages'](_0x4b944d,_0x28d409,_0x53855c,_0x4251bf){try{return _0x4251bf?.['multi']?(_0x4251bf['multi']['XACK'](_0x4b944d,_0x28d409,_0x53855c),_0x4251bf['multi']):await this['streamClient']['XACK'](_0x4b944d,_0x28d409,..._0x53855c);}catch(_0x57423c){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0x28d409+'\x20for\x20key:\x20'+_0x4b944d,{'error':_0x57423c});throw _0x57423c;}}async['deleteMessages'](_0x1cd77f,_0x44ef7f,_0x539bbf,_0x43976a){try{return _0x43976a?.['multi']?(_0x43976a['multi']['xDel'](_0x1cd77f,_0x539bbf),_0x43976a['multi']):await this['streamClient']['XDEL'](_0x1cd77f,..._0x539bbf);}catch(_0x1f139e){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0x539bbf['join'](',')+'\x20for\x20key:\x20'+_0x1cd77f,{'error':_0x1f139e});throw _0x1f139e;}}async['getPendingMessages'](_0x181036,_0x39f388,_0x492cb7,_0x26bace){try{const _0x4aa811='-',_0x5bfe06='+',_0x394bec=[_0x181036,_0x39f388];if(_0x4aa811)_0x394bec['push'](_0x4aa811);if(_0x5bfe06)_0x394bec['push'](_0x5bfe06);if(_0x492cb7!==undefined)_0x394bec['push'](_0x492cb7['toString']());if(_0x26bace)_0x394bec['push'](_0x26bace);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0x394bec]);}catch(_0x5f1ba7){this['logger']['error']('error,\x20args',{..._0x5f1ba7},_0x394bec);}}catch(_0x998136){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x39f388+'\x20in\x20key:\x20'+_0x181036,{..._0x998136});throw _0x998136;}}async['retryMessages'](_0x15b13c,_0x120d7d,_0x14aabe){let _0x5d1065=[];const _0x1ab1e8=await this['getPendingMessages'](_0x15b13c,_0x120d7d,_0x14aabe?.['limit']);for(const _0x1e40d5 of _0x1ab1e8){if(Array['isArray'](_0x1e40d5)){const [_0x2201ed,,_0x12dfe8,_0xdce425]=_0x1e40d5;if(_0x12dfe8>_0x14aabe?.['minIdleTime']){const _0x3140e4=await this['claimMessage'](_0x15b13c,_0x120d7d,_0x14aabe?.['consumerName'],_0x14aabe?.['minIdleTime'],_0x2201ed);_0x5d1065=_0x5d1065['concat'](_0x3140e4);}}}return _0x5d1065;}async['claimMessage'](_0xf6427f,_0x55e44b,_0x5cfe44,_0x53d674,_0x43ecfb,..._0x4595c9){try{const _0x8bd475=await this['streamClient']['sendCommand'](['XCLAIM',_0xf6427f,_0x55e44b,_0x5cfe44,_0x53d674['toString'](),_0x43ecfb,..._0x4595c9]);return{'id':_0x8bd475[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x8bd475[0x0][0x1][0x1])};}catch(_0x58676c){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x43ecfb+'\x20in\x20group:\x20'+_0x55e44b+'\x20for\x20key:\x20'+_0xf6427f,{..._0x58676c});throw _0x58676c;}}async['getStreamStats'](_0x6f822f){return{'messageCount':await this['getStreamDepth'](_0x6f822f)};}async['getStreamDepth'](_0x1d768a,_0x372ae4){try{if(_0x372ae4?.['multi'])return _0x372ae4['multi']['XLEN'](_0x1d768a),0x0;const _0xc2a1af=await this['streamClient']['XLEN'](_0x1d768a);return _0xc2a1af;}catch(_0x6fc8e8){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x1d768a,{'error':_0x6fc8e8});throw _0x6fc8e8;}}async['getStreamDepths'](_0x111e98){const _0x44a0e9=this['storeClient']['multi'](),_0x43f9bb=new Map();_0x111e98['forEach'](_0x58ca24=>{!_0x43f9bb['has'](_0x58ca24['stream'])&&(_0x43f9bb['set'](_0x58ca24['stream'],-0x1),this['getStreamDepth'](_0x58ca24['stream'],{'multi':_0x44a0e9}));});const _0xce1982=await _0x44a0e9['exec']();return Array['from'](_0x43f9bb['keys']())['forEach']((_0x26e0e9,_0x4a3183)=>{_0x43f9bb['set'](_0x26e0e9,_0xce1982[_0x4a3183]);}),_0x111e98['map'](_0x3d9450=>{return{'stream':_0x3d9450['stream'],'depth':_0x43f9bb['get'](_0x3d9450['stream'])||0x0};});}async['trimStream'](_0x32c714,_0xccdb19){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['RedisStreamService']=RedisStreamService;
@@ -1 +1 @@
1
- 'use strict';function _0x1951(){var _0x342182=['2289408OUEIsJ','729152aCqDrZ','9ZxXvGL','2CxXdmd','136741vpZnXC','408895PURfff','895432WaZdfR','125972uiaSDN','489174XLgVKS'];_0x1951=function(){return _0x342182;};return _0x1951();}(function(_0x1500f9,_0x26fb27){var _0x27507e=_0x468c,_0x500f74=_0x1500f9();while(!![]){try{var _0x1ebc0f=parseInt(_0x27507e(0x13f))/0x1*(-parseInt(_0x27507e(0x13e))/0x2)+-parseInt(_0x27507e(0x143))/0x3+parseInt(_0x27507e(0x13c))/0x4+-parseInt(_0x27507e(0x140))/0x5+parseInt(_0x27507e(0x13b))/0x6+-parseInt(_0x27507e(0x142))/0x7+parseInt(_0x27507e(0x141))/0x8*(parseInt(_0x27507e(0x13d))/0x9);if(_0x1ebc0f===_0x26fb27)break;else _0x500f74['push'](_0x500f74['shift']());}catch(_0x13e1b3){_0x500f74['push'](_0x500f74['shift']());}}}(_0x1951,0x436f3));function _0x468c(_0x502a52,_0x5e7103){var _0x1951ae=_0x1951();return _0x468c=function(_0x468ce2,_0x437345){_0x468ce2=_0x468ce2-0x13b;var _0xf6c02d=_0x1951ae[_0x468ce2];return _0xf6c02d;},_0x468c(_0x502a52,_0x5e7103);}Object['defineProperty'](exports,'__esModule',{'value':!![]});
1
+ 'use strict';function _0xf3ff(){var _0x2f6385=['2155uOyZWk','62286sBbrCD','52861wHjkqZ','765021RHBxtc','8PkiLsd','1362501XEqIGJ','7441820bsZBYi','884943MViiTf','4398Mmuyqi','4UyxzUw'];_0xf3ff=function(){return _0x2f6385;};return _0xf3ff();}function _0x239b(_0x56eb64,_0x18b739){var _0xf3ff0a=_0xf3ff();return _0x239b=function(_0x239bfd,_0x529083){_0x239bfd=_0x239bfd-0xd8;var _0x4c27d5=_0xf3ff0a[_0x239bfd];return _0x4c27d5;},_0x239b(_0x56eb64,_0x18b739);}(function(_0x7ab2f9,_0x93fd06){var _0xc79177=_0x239b,_0x12fb1e=_0x7ab2f9();while(!![]){try{var _0xb98dd4=parseInt(_0xc79177(0xd8))/0x1+parseInt(_0xc79177(0xe1))/0x2+-parseInt(_0xc79177(0xd9))/0x3*(-parseInt(_0xc79177(0xdf))/0x4)+-parseInt(_0xc79177(0xe0))/0x5*(-parseInt(_0xc79177(0xde))/0x6)+parseInt(_0xc79177(0xdb))/0x7+parseInt(_0xc79177(0xda))/0x8*(parseInt(_0xc79177(0xdd))/0x9)+-parseInt(_0xc79177(0xdc))/0xa;if(_0xb98dd4===_0x93fd06)break;else _0x12fb1e['push'](_0x12fb1e['shift']());}catch(_0x3cc7c1){_0x12fb1e['push'](_0x12fb1e['shift']());}}}(_0xf3ff,0x31bca));Object['defineProperty'](exports,'__esModule',{'value':!![]});
@@ -1,7 +1,7 @@
1
1
  import { ILogger } from '../logger';
2
- import { ProviderClient, ProviderTransaction } from '../../types/provider';
2
+ import { ProviderClient } from '../../types/provider';
3
3
  import { SubService } from './index';
4
4
  declare class SubServiceFactory {
5
- static init(redisClient: ProviderClient, redisStoreClient: ProviderClient, namespace: string, appId: string, engineId: string, logger: ILogger): Promise<SubService<ProviderClient, ProviderTransaction>>;
5
+ static init(providerClient: ProviderClient, providerStoreClient: ProviderClient, namespace: string, appId: string, engineId: string, logger: ILogger): Promise<SubService<ProviderClient>>;
6
6
  }
7
7
  export { SubServiceFactory };
@@ -4,14 +4,18 @@ exports.SubServiceFactory = void 0;
4
4
  const utils_1 = require("../../modules/utils");
5
5
  const ioredis_1 = require("./providers/redis/ioredis");
6
6
  const redis_1 = require("./providers/redis/redis");
7
+ const postgres_1 = require("./providers/postgres/postgres");
7
8
  class SubServiceFactory {
8
- static async init(redisClient, redisStoreClient, namespace, appId, engineId, logger) {
9
+ static async init(providerClient, providerStoreClient, namespace, appId, engineId, logger) {
9
10
  let service;
10
- if ((0, utils_1.identifyProvider)(redisClient) === 'redis') {
11
- service = new redis_1.RedisSubService(redisClient, redisStoreClient);
11
+ if ((0, utils_1.identifyProvider)(providerClient) === 'redis') {
12
+ service = new redis_1.RedisSubService(providerClient, providerStoreClient);
13
+ }
14
+ else if ((0, utils_1.identifyProvider)(providerClient) === 'postgres') {
15
+ service = new postgres_1.PostgresSubService(providerClient, providerStoreClient);
12
16
  }
13
17
  else {
14
- service = new ioredis_1.IORedisSubService(redisClient, redisStoreClient);
18
+ service = new ioredis_1.IORedisSubService(providerClient, providerStoreClient);
15
19
  }
16
20
  await service.init(namespace, appId, engineId, logger);
17
21
  return service;
@@ -2,15 +2,16 @@ import { KeyStoreParams, KeyType } from '../../modules/key';
2
2
  import { ILogger } from '../logger';
3
3
  import { SubscriptionCallback } from '../../types/quorum';
4
4
  import { ProviderClient, ProviderTransaction } from '../../types/provider';
5
- declare abstract class SubService<ClientProvider extends ProviderClient, TransactionProvider extends ProviderTransaction> {
5
+ declare abstract class SubService<ClientProvider extends ProviderClient> {
6
6
  protected eventClient: ClientProvider;
7
7
  protected storeClient: ProviderClient;
8
8
  protected namespace: string;
9
+ protected engineId: string;
9
10
  protected logger: ILogger;
10
11
  protected appId: string;
11
12
  constructor(eventClient: ClientProvider, storeClient: ProviderClient);
12
13
  abstract init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
13
- abstract transact(): TransactionProvider;
14
+ abstract transact(): ProviderTransaction;
14
15
  abstract mintKey(type: KeyType, params: KeyStoreParams): string;
15
16
  abstract subscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, engineId?: string): Promise<void>;
16
17
  abstract unsubscribe(keyType: KeyType.QUORUM, appId: string, engineId?: string): Promise<void>;
@@ -0,0 +1,18 @@
1
+ import { KeyStoreParams, KeyType } from '../../../../modules/key';
2
+ import { ILogger } from '../../../logger';
3
+ import { SubService } from '../../index';
4
+ import { SubscriptionCallback } from '../../../../types/quorum';
5
+ import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
6
+ import { PostgresClientType } from '../../../../types/postgres';
7
+ declare class PostgresSubService extends SubService<PostgresClientType & ProviderClient> {
8
+ constructor(eventClient: PostgresClientType & ProviderClient, storeClient?: PostgresClientType & ProviderClient);
9
+ init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
10
+ transact(): ProviderTransaction;
11
+ mintKey(type: KeyType, params: KeyStoreParams): string;
12
+ subscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, engineId?: string): Promise<void>;
13
+ unsubscribe(keyType: KeyType.QUORUM, appId: string, engineId?: string): Promise<void>;
14
+ publish(keyType: KeyType.QUORUM, message: Record<string, any>, appId: string, engineId?: string): Promise<boolean>;
15
+ psubscribe(): Promise<void>;
16
+ punsubscribe(): Promise<void>;
17
+ }
18
+ export { PostgresSubService };
@@ -0,0 +1 @@
1
+ 'use strict';(function(_0x5a0d3b,_0x42230f){const _0x5b2297=_0x42ab,_0x220c2b=_0x5a0d3b();while(!![]){try{const _0x290617=parseInt(_0x5b2297(0x1c3))/0x1+parseInt(_0x5b2297(0x1c7))/0x2+-parseInt(_0x5b2297(0x1c6))/0x3+parseInt(_0x5b2297(0x1ca))/0x4+parseInt(_0x5b2297(0x1c9))/0x5*(-parseInt(_0x5b2297(0x1c2))/0x6)+-parseInt(_0x5b2297(0x1c5))/0x7+-parseInt(_0x5b2297(0x1c8))/0x8*(parseInt(_0x5b2297(0x1c4))/0x9);if(_0x290617===_0x42230f)break;else _0x220c2b['push'](_0x220c2b['shift']());}catch(_0x5acb2d){_0x220c2b['push'](_0x220c2b['shift']());}}}(_0x1517,0x54325));function _0x1517(){const _0x684ab0=['653316kWoQvB','352539VQRNOc','819266igwSOw','648900HNLNsN','985650isLRHy','56rQnacZ','10rAHtIh','607204EeZwuI','1036614eOfnLn'];_0x1517=function(){return _0x684ab0;};return _0x1517();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');class PostgresSubService extends index_1['SubService']{constructor(_0x22d537,_0x4063b5){super(_0x22d537,_0x4063b5);}async['init'](_0x204f64=key_1['HMNS'],_0x153f07,_0xf0e871,_0x2cb2fb){this['namespace']=_0x204f64,this['logger']=_0x2cb2fb,this['appId']=_0x153f07,this['engineId']=_0xf0e871;}['transact'](){throw new Error('Transactions\x20are\x20not\x20supported\x20in\x20lightweight\x20pub/sub');}['mintKey'](_0x1c3b93,_0x337a99){if(!this['namespace'])throw new Error('Namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x1c3b93,_0x337a99);}async['subscribe'](_0x49d712,_0x24bcac,_0x2b4d8f,_0x4a3575){const _0x56874d=this['mintKey'](_0x49d712,{'appId':_0x2b4d8f,'engineId':_0x4a3575});await this['eventClient']['query']('LISTEN\x20\x22'+_0x56874d+'\x22'),this['logger']['info']('postgres-subscribe\x20'+_0x56874d),this['eventClient']['on']('notification',_0x20fef9=>{if(_0x20fef9['channel']===_0x56874d)try{const _0xa7e3b2=JSON['parse'](_0x20fef9['payload']||'{}');_0x24bcac(_0x56874d,_0xa7e3b2);}catch(_0x1ad66c){this['logger']['error']('Error\x20parsing\x20message\x20for\x20topic\x20'+_0x56874d+':',_0x1ad66c);}});}async['unsubscribe'](_0x597bfd,_0x1f4c79,_0x191d0f){const _0x16ebef=this['mintKey'](_0x597bfd,{'appId':_0x1f4c79,'engineId':_0x191d0f});await this['eventClient']['query']('UNLISTEN\x20\x22'+_0x16ebef+'\x22'),this['logger']['info']('postgres-unsubscribe\x20'+_0x16ebef);}async['publish'](_0x1de006,_0x4ab135,_0x4a910b,_0x3073d6){const _0xb08a92=this['mintKey'](_0x1de006,{'appId':_0x4a910b,'engineId':_0x3073d6}),_0x54bef0=JSON['stringify'](_0x4ab135)['replace'](/'/g,'\x27\x27');return await this['storeClient']['query']('NOTIFY\x20\x22'+_0xb08a92+'\x22,\x20\x27'+_0x54bef0+'\x27'),this['logger']['info']('postgres-publish\x20'+_0xb08a92),!![];}async['psubscribe'](){throw new Error('Pattern\x20subscriptions\x20are\x20not\x20supported\x20in\x20PostgreSQL');}async['punsubscribe'](){throw new Error('Pattern\x20subscriptions\x20are\x20not\x20supported\x20in\x20PostgreSQL');}}function _0x42ab(_0x3d8977,_0x1f3fe7){const _0x15176f=_0x1517();return _0x42ab=function(_0x42ab26,_0x3b4ce3){_0x42ab26=_0x42ab26-0x1c2;let _0x2b4a2f=_0x15176f[_0x42ab26];return _0x2b4a2f;},_0x42ab(_0x3d8977,_0x1f3fe7);}exports['PostgresSubService']=PostgresSubService;
@@ -3,7 +3,7 @@ import { ILogger } from '../../../logger';
3
3
  import { SubService } from '../../index';
4
4
  import { IORedisClientType as RedisClientType, IORedisMultiType as RedisMultiType } from '../../../../types/redis';
5
5
  import { SubscriptionCallback } from '../../../../types/quorum';
6
- declare class IORedisSubService extends SubService<RedisClientType, RedisMultiType> {
6
+ declare class IORedisSubService extends SubService<RedisClientType> {
7
7
  constructor(eventClient: RedisClientType, storeClient: RedisClientType);
8
8
  init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
9
9
  transact(): RedisMultiType;
@@ -1 +1 @@
1
- 'use strict';(function(_0x23621b,_0x3a8bc4){const _0xb36e5e=_0xb088,_0x4c7a5b=_0x23621b();while(!![]){try{const _0x3562af=parseInt(_0xb36e5e(0x100))/0x1*(parseInt(_0xb36e5e(0x108))/0x2)+parseInt(_0xb36e5e(0x104))/0x3+-parseInt(_0xb36e5e(0x102))/0x4*(-parseInt(_0xb36e5e(0x107))/0x5)+-parseInt(_0xb36e5e(0x106))/0x6+-parseInt(_0xb36e5e(0xff))/0x7+parseInt(_0xb36e5e(0x101))/0x8+-parseInt(_0xb36e5e(0x105))/0x9*(-parseInt(_0xb36e5e(0x103))/0xa);if(_0x3562af===_0x3a8bc4)break;else _0x4c7a5b['push'](_0x4c7a5b['shift']());}catch(_0x56f1cc){_0x4c7a5b['push'](_0x4c7a5b['shift']());}}}(_0x95b4,0x1e137));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;function _0xb088(_0x22ff76,_0x1c1397){const _0x95b43e=_0x95b4();return _0xb088=function(_0xb08884,_0x4ab669){_0xb08884=_0xb08884-0xff;let _0x299467=_0x95b43e[_0xb08884];return _0x299467;},_0xb088(_0x22ff76,_0x1c1397);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class IORedisSubService extends index_1['SubService']{constructor(_0x35cb92,_0x1f9fcc){super(_0x35cb92,_0x1f9fcc);}async['init'](_0x38b8f6=key_1['HMNS'],_0x4acbcc,_0x48c12d,_0x461011){this['namespace']=_0x38b8f6,this['logger']=_0x461011,this['appId']=_0x4acbcc;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x229387,_0x350da2){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x229387,_0x350da2);}async['subscribe'](_0x271b1e,_0x45bf0b,_0x13ed4e,_0x445b35){const _0x1a9134=this,_0x5093c3=this['mintKey'](_0x271b1e,{'appId':_0x13ed4e,'engineId':_0x445b35});await this['eventClient']['subscribe'](_0x5093c3,_0x339de8=>{_0x339de8&&_0x1a9134['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x5093c3,_0x339de8);}),this['eventClient']['on']('message',(_0x517d5b,_0xcc5acb)=>{if(_0x517d5b===_0x5093c3)try{const _0x46d2d4=JSON['parse'](_0xcc5acb);_0x45bf0b(_0x5093c3,_0x46d2d4);}catch(_0x352a68){_0x1a9134['logger']['error']('Error\x20parsing\x20message:\x20'+_0xcc5acb,_0x352a68);}});}async['unsubscribe'](_0x928012,_0x35debc,_0x47c134){const _0x2ff86e=this['mintKey'](_0x928012,{'appId':_0x35debc,'engineId':_0x47c134});await this['eventClient']['unsubscribe'](_0x2ff86e);}async['psubscribe'](_0x62e407,_0xfdb066,_0x16e87c,_0x26e420){const _0x3bece2=this,_0x1c9f55=this['mintKey'](_0x62e407,{'appId':_0x16e87c,'engineId':_0x26e420});await this['eventClient']['psubscribe'](_0x1c9f55,_0xf4c24e=>{_0xf4c24e&&_0x3bece2['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x1c9f55,_0xf4c24e);}),this['eventClient']['on']('pmessage',(_0x11a0de,_0x394835,_0xd1bb24)=>{if(_0x11a0de===_0x1c9f55)try{const _0x108a15=JSON['parse'](_0xd1bb24);_0xfdb066(_0x394835,_0x108a15);}catch(_0x74e166){_0x3bece2['logger']['error']('Error\x20parsing\x20message:\x20'+_0xd1bb24,_0x74e166);}});}async['punsubscribe'](_0x1d5bec,_0x54ccb6,_0x27c4a1){const _0x3622ee=this['mintKey'](_0x1d5bec,{'appId':_0x54ccb6,'engineId':_0x27c4a1});await this['eventClient']['punsubscribe'](_0x3622ee);}async['publish'](_0x24627c,_0x3603f0,_0xd426e5,_0x1f9925){const _0x2964d4=this['mintKey'](_0x24627c,{'appId':_0xd426e5,'engineId':_0x1f9925}),_0x36ced2=await this['storeClient']['publish'](_0x2964d4,JSON['stringify'](_0x3603f0));return _0x36ced2===0x1;}}exports['IORedisSubService']=IORedisSubService;function _0x95b4(){const _0x221ce3=['1334160BlwbgQ','6200kGBQEy','2mquTQJ','1203300yjUWba','36572fDusDo','105104QOIMIb','696YEEfoF','290ErOCFi','716532fTSaJr','4077jkdwVa'];_0x95b4=function(){return _0x221ce3;};return _0x95b4();}
1
+ 'use strict';(function(_0x13e63e,_0x4ab37f){const _0xa63ef8=_0x3a56,_0x180c94=_0x13e63e();while(!![]){try{const _0x517aeb=-parseInt(_0xa63ef8(0x9e))/0x1+parseInt(_0xa63ef8(0xa1))/0x2*(parseInt(_0xa63ef8(0xa5))/0x3)+parseInt(_0xa63ef8(0x9d))/0x4+parseInt(_0xa63ef8(0xa3))/0x5*(parseInt(_0xa63ef8(0x9f))/0x6)+parseInt(_0xa63ef8(0xa0))/0x7*(parseInt(_0xa63ef8(0xa2))/0x8)+parseInt(_0xa63ef8(0xa4))/0x9+-parseInt(_0xa63ef8(0xa6))/0xa;if(_0x517aeb===_0x4ab37f)break;else _0x180c94['push'](_0x180c94['shift']());}catch(_0x31243a){_0x180c94['push'](_0x180c94['shift']());}}}(_0x1657,0xc47ae));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');function _0x3a56(_0x5175cb,_0x513976){const _0x1657c1=_0x1657();return _0x3a56=function(_0x3a56fa,_0x4b1adf){_0x3a56fa=_0x3a56fa-0x9d;let _0x428a34=_0x1657c1[_0x3a56fa];return _0x428a34;},_0x3a56(_0x5175cb,_0x513976);}function _0x1657(){const _0x2c8238=['1853028qgSELs','1133578mLmLkR','2368362neAXgP','7NMereE','208IpFrbo','5713304hjsoAu','5tRokrv','4633371IjnRUt','25122sCCgLF','10195020ywWfSo'];_0x1657=function(){return _0x2c8238;};return _0x1657();}class IORedisSubService extends index_1['SubService']{constructor(_0x560e72,_0x4406ac){super(_0x560e72,_0x4406ac);}async['init'](_0x5ced5c=key_1['HMNS'],_0x5df240,_0xb6276,_0x8d0434){this['namespace']=_0x5ced5c,this['logger']=_0x8d0434,this['appId']=_0x5df240,this['engineId']=_0xb6276;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0xbcc69a,_0x841a3a){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0xbcc69a,_0x841a3a);}async['subscribe'](_0x45d87b,_0x2c0639,_0x3c9218,_0x3bf50a){const _0x10e9fc=this,_0x59e58f=this['mintKey'](_0x45d87b,{'appId':_0x3c9218,'engineId':_0x3bf50a});await this['eventClient']['subscribe'](_0x59e58f,_0x5e9e9c=>{_0x5e9e9c&&_0x10e9fc['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x59e58f,_0x5e9e9c);}),this['eventClient']['on']('message',(_0x5808b8,_0x1f96ea)=>{if(_0x5808b8===_0x59e58f)try{const _0x4fc131=JSON['parse'](_0x1f96ea);_0x2c0639(_0x59e58f,_0x4fc131);}catch(_0x1efac6){_0x10e9fc['logger']['error']('Error\x20parsing\x20message:\x20'+_0x1f96ea,_0x1efac6);}});}async['unsubscribe'](_0x1e887f,_0x5f3b57,_0x31020b){const _0xc5e41d=this['mintKey'](_0x1e887f,{'appId':_0x5f3b57,'engineId':_0x31020b});await this['eventClient']['unsubscribe'](_0xc5e41d);}async['psubscribe'](_0x573a4b,_0x5a5f2d,_0x2b3ea5,_0x1e696c){const _0x5d45cd=this,_0x1eec75=this['mintKey'](_0x573a4b,{'appId':_0x2b3ea5,'engineId':_0x1e696c});await this['eventClient']['psubscribe'](_0x1eec75,_0x6e7e6b=>{_0x6e7e6b&&_0x5d45cd['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x1eec75,_0x6e7e6b);}),this['eventClient']['on']('pmessage',(_0x501437,_0x218cb0,_0x4738ea)=>{if(_0x501437===_0x1eec75)try{const _0xbcc12a=JSON['parse'](_0x4738ea);_0x5a5f2d(_0x218cb0,_0xbcc12a);}catch(_0xfde1e4){_0x5d45cd['logger']['error']('Error\x20parsing\x20message:\x20'+_0x4738ea,_0xfde1e4);}});}async['punsubscribe'](_0x8c4d89,_0x14d9c6,_0x2cd5e2){const _0x38b4ce=this['mintKey'](_0x8c4d89,{'appId':_0x14d9c6,'engineId':_0x2cd5e2});await this['eventClient']['punsubscribe'](_0x38b4ce);}async['publish'](_0xd2f10a,_0x21b7e2,_0x5af1f9,_0x2e923b){const _0x11ccdd=this['mintKey'](_0xd2f10a,{'appId':_0x5af1f9,'engineId':_0x2e923b}),_0x3eac8f=await this['storeClient']['publish'](_0x11ccdd,JSON['stringify'](_0x21b7e2));return _0x3eac8f===0x1;}}exports['IORedisSubService']=IORedisSubService;
@@ -3,7 +3,7 @@ import { ILogger } from '../../../logger';
3
3
  import { SubService } from '../../index';
4
4
  import { RedisRedisClientType as ClientProvider, RedisRedisMultiType as TransactionProvider } from '../../../../types/redis';
5
5
  import { SubscriptionCallback } from '../../../../types/quorum';
6
- declare class RedisSubService extends SubService<ClientProvider, TransactionProvider> {
6
+ declare class RedisSubService extends SubService<ClientProvider> {
7
7
  constructor(eventClient: ClientProvider, storeClient: ClientProvider);
8
8
  init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
9
9
  transact(): TransactionProvider;
@@ -1 +1 @@
1
- 'use strict';(function(_0x5ad3b6,_0x4d24b5){const _0x574ca6=_0x1916,_0x4956c9=_0x5ad3b6();while(!![]){try{const _0x4c32a6=parseInt(_0x574ca6(0x1a0))/0x1*(parseInt(_0x574ca6(0x19f))/0x2)+-parseInt(_0x574ca6(0x1a6))/0x3*(parseInt(_0x574ca6(0x19e))/0x4)+parseInt(_0x574ca6(0x1a1))/0x5+parseInt(_0x574ca6(0x19d))/0x6+parseInt(_0x574ca6(0x1a7))/0x7+-parseInt(_0x574ca6(0x1a2))/0x8*(parseInt(_0x574ca6(0x1a4))/0x9)+parseInt(_0x574ca6(0x1a5))/0xa*(-parseInt(_0x574ca6(0x1a3))/0xb);if(_0x4c32a6===_0x4d24b5)break;else _0x4956c9['push'](_0x4956c9['shift']());}catch(_0x3b2a11){_0x4956c9['push'](_0x4956c9['shift']());}}}(_0x5102,0x68c83));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');class RedisSubService extends index_1['SubService']{constructor(_0x4a0ef4,_0x17f780){super(_0x4a0ef4,_0x17f780);}async['init'](_0x1e7ed1=key_1['HMNS'],_0x2d7250,_0x18988b,_0x43424b){this['namespace']=_0x1e7ed1,this['logger']=_0x43424b,this['appId']=_0x2d7250;}['transact'](){const _0x1870d6=this['eventClient']['multi']();return _0x1870d6;}['mintKey'](_0x254cb1,_0x4223b4){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x254cb1,_0x4223b4);}async['subscribe'](_0x53b481,_0x3d73c1,_0x5b4fb1,_0x552353){if(this['eventClient']){const _0x50c73d=this,_0xfcdf43=this['mintKey'](_0x53b481,{'appId':_0x5b4fb1,'engineId':_0x552353});await this['eventClient']['subscribe'](_0xfcdf43,_0x303012=>{try{const _0x17bdfb=JSON['parse'](_0x303012);_0x3d73c1(_0xfcdf43,_0x17bdfb);}catch(_0xc81142){_0x50c73d['logger']['error']('Error\x20parsing\x20message:\x20'+_0x303012,_0xc81142);}});}}async['unsubscribe'](_0x3abba2,_0xe000ab,_0xedcd0c){const _0x505496=this['mintKey'](_0x3abba2,{'appId':_0xe000ab,'engineId':_0xedcd0c});await this['eventClient']['unsubscribe'](_0x505496);}async['psubscribe'](_0x37f12e,_0x616020,_0x1a203c,_0x2bb720){if(this['eventClient']){const _0x2df064=this,_0x2dbdf2=this['mintKey'](_0x37f12e,{'appId':_0x1a203c,'engineId':_0x2bb720});await this['eventClient']['pSubscribe'](_0x2dbdf2,(_0xac361f,_0x3fa4eb)=>{try{const _0x57a499=JSON['parse'](_0xac361f);_0x616020(_0x3fa4eb,_0x57a499);}catch(_0xc2ee43){_0x2df064['logger']['error']('Error\x20parsing\x20message:\x20'+_0xac361f,_0xc2ee43);}});}}async['punsubscribe'](_0x4d5361,_0x280c7f,_0x483c99){const _0x3d3626=this['mintKey'](_0x4d5361,{'appId':_0x280c7f,'engineId':_0x483c99});await this['eventClient']['pUnsubscribe'](_0x3d3626);}async['publish'](_0x1c78fc,_0x20ffe0,_0x139018,_0x4fc839){const _0x308f2d=this['mintKey'](_0x1c78fc,{'appId':_0x139018,'engineId':_0x4fc839}),_0x5b832d=await this['storeClient']['publish'](_0x308f2d,JSON['stringify'](_0x20ffe0));return _0x5b832d>0x0;}}function _0x1916(_0x4f7754,_0x10af5f){const _0x510285=_0x5102();return _0x1916=function(_0x19160e,_0x769964){_0x19160e=_0x19160e-0x19d;let _0x1fe979=_0x510285[_0x19160e];return _0x1fe979;},_0x1916(_0x4f7754,_0x10af5f);}function _0x5102(){const _0x213176=['385MVrnLN','4176ZZJzoo','221710KboyxM','6rcqUbi','584822sawezf','2162310bPqQhw','863284QRBGSi','2CRkdkD','599774zOnkwO','3343705uwhhBG','1304gLCatm'];_0x5102=function(){return _0x213176;};return _0x5102();}exports['RedisSubService']=RedisSubService;
1
+ 'use strict';(function(_0x37d9a4,_0x2a0344){const _0x172174=_0x5431,_0x2a8a69=_0x37d9a4();while(!![]){try{const _0x2688fb=parseInt(_0x172174(0x192))/0x1*(parseInt(_0x172174(0x194))/0x2)+parseInt(_0x172174(0x18f))/0x3+parseInt(_0x172174(0x196))/0x4*(parseInt(_0x172174(0x195))/0x5)+-parseInt(_0x172174(0x18e))/0x6+parseInt(_0x172174(0x190))/0x7+-parseInt(_0x172174(0x193))/0x8*(-parseInt(_0x172174(0x191))/0x9)+parseInt(_0x172174(0x18d))/0xa*(-parseInt(_0x172174(0x18c))/0xb);if(_0x2688fb===_0x2a0344)break;else _0x2a8a69['push'](_0x2a8a69['shift']());}catch(_0x3655e3){_0x2a8a69['push'](_0x2a8a69['shift']());}}}(_0x47ac,0x47eca));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');function _0x47ac(){const _0x2fe194=['4004kdcyAP','186153VPVLIn','310WWeKeQ','3519546REWxwz','1129440AeuHcF','2906393RtxZYj','4053411JjXaaq','1pzsPeX','8qONJmr','55224YRONvT','680MZKwhk'];_0x47ac=function(){return _0x2fe194;};return _0x47ac();}function _0x5431(_0x39b740,_0x4fb90b){const _0x47ace3=_0x47ac();return _0x5431=function(_0x54311a,_0x464d52){_0x54311a=_0x54311a-0x18c;let _0x40d66d=_0x47ace3[_0x54311a];return _0x40d66d;},_0x5431(_0x39b740,_0x4fb90b);}class RedisSubService extends index_1['SubService']{constructor(_0x38a9c1,_0x35c314){super(_0x38a9c1,_0x35c314);}async['init'](_0x3d82da=key_1['HMNS'],_0x2eb02f,_0x1c07f0,_0x48f632){this['namespace']=_0x3d82da,this['logger']=_0x48f632,this['appId']=_0x2eb02f,this['engineId']=_0x1c07f0;}['transact'](){const _0x45f99e=this['eventClient']['multi']();return _0x45f99e;}['mintKey'](_0x34b882,_0x1b62c8){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x34b882,_0x1b62c8);}async['subscribe'](_0x398e10,_0x282d6e,_0x105816,_0x109a1f){if(this['eventClient']){const _0xa48eb=this,_0x1b8e50=this['mintKey'](_0x398e10,{'appId':_0x105816,'engineId':_0x109a1f});await this['eventClient']['subscribe'](_0x1b8e50,_0x30c8a2=>{try{const _0x3130df=JSON['parse'](_0x30c8a2);_0x282d6e(_0x1b8e50,_0x3130df);}catch(_0x551efe){_0xa48eb['logger']['error']('Error\x20parsing\x20message:\x20'+_0x30c8a2,_0x551efe);}});}}async['unsubscribe'](_0x3ce745,_0x24e835,_0xf340e2){const _0xd31a8e=this['mintKey'](_0x3ce745,{'appId':_0x24e835,'engineId':_0xf340e2});await this['eventClient']['unsubscribe'](_0xd31a8e);}async['psubscribe'](_0x997663,_0x488706,_0x435ad7,_0x1b3951){if(this['eventClient']){const _0x44f081=this,_0x430110=this['mintKey'](_0x997663,{'appId':_0x435ad7,'engineId':_0x1b3951});await this['eventClient']['pSubscribe'](_0x430110,(_0x3f9669,_0xeb8810)=>{try{const _0x159756=JSON['parse'](_0x3f9669);_0x488706(_0xeb8810,_0x159756);}catch(_0x2ffce8){_0x44f081['logger']['error']('Error\x20parsing\x20message:\x20'+_0x3f9669,_0x2ffce8);}});}}async['punsubscribe'](_0x5305c1,_0x5510fc,_0x5f35f9){const _0x3cb965=this['mintKey'](_0x5305c1,{'appId':_0x5510fc,'engineId':_0x5f35f9});await this['eventClient']['pUnsubscribe'](_0x3cb965);}async['publish'](_0x328029,_0x48c0ce,_0x567e78,_0x4d4b75){const _0x4a6ad5=this['mintKey'](_0x328029,{'appId':_0x567e78,'engineId':_0x4d4b75}),_0x1b8f22=await this['storeClient']['publish'](_0x4a6ad5,JSON['stringify'](_0x48c0ce));return _0x1b8f22>0x0;}}exports['RedisSubService']=RedisSubService;
@@ -1 +1 @@
1
- 'use strict';(function(_0xe17e1f,_0xffeb79){const _0x441ec1=_0x4343,_0x334526=_0xe17e1f();while(!![]){try{const _0x5d6803=parseInt(_0x441ec1(0x109))/0x1+parseInt(_0x441ec1(0x10a))/0x2*(parseInt(_0x441ec1(0x10f))/0x3)+parseInt(_0x441ec1(0x10b))/0x4*(parseInt(_0x441ec1(0x10e))/0x5)+parseInt(_0x441ec1(0x10c))/0x6*(-parseInt(_0x441ec1(0x112))/0x7)+parseInt(_0x441ec1(0x111))/0x8*(-parseInt(_0x441ec1(0x110))/0x9)+parseInt(_0x441ec1(0x10d))/0xa*(-parseInt(_0x441ec1(0x113))/0xb)+parseInt(_0x441ec1(0x108))/0xc*(parseInt(_0x441ec1(0x114))/0xd);if(_0x5d6803===_0xffeb79)break;else _0x334526['push'](_0x334526['shift']());}catch(_0x573786){_0x334526['push'](_0x334526['shift']());}}}(_0x3679,0x47065));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TaskService']=void 0x0;function _0x3679(){const _0x4bb8dc=['240qtnkOi','200vMDaGo','15FAZTIG','2124ExFznQ','18808zLmppT','299887aCbRgM','101156WioEUz','2925663fUzOdU','36qYUZPK','214496pBXDIR','21270QNxWFk','42352DJSrsO','42TIHtUT'];_0x3679=function(){return _0x4bb8dc;};return _0x3679();}const enums_1=require('../../modules/enums'),utils_1=require('../../modules/utils'),pipe_1=require('../pipe'),hotmesh_1=require('../../types/hotmesh'),key_1=require('../../modules/key');function _0x4343(_0x4d3049,_0x18108b){const _0x36793e=_0x3679();return _0x4343=function(_0x43439b,_0x4fcebb){_0x43439b=_0x43439b-0x108;let _0x1c976c=_0x36793e[_0x43439b];return _0x1c976c;},_0x4343(_0x4d3049,_0x18108b);}class TaskService{constructor(_0x3d5374,_0x5f4b58){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x5f4b58,this['store']=_0x3d5374;}async['processWebHooks'](_0x18ddc8){const _0x3f35fb=await this['store']['getActiveTaskQueue']();if(_0x3f35fb){const [_0x3fc2b7,_0x203dc8,_0xf3185c,..._0x247a3a]=_0x3f35fb['split'](key_1['WEBSEP']),_0x15c411=JSON['parse'](_0x247a3a['join'](key_1['WEBSEP'])),_0xc26395=_0x203dc8+':processed',_0x34577a=await this['store']['processTaskQueue'](_0x203dc8,_0xc26395);_0x34577a?await _0x18ddc8(_0x3fc2b7,{..._0x15c411,'id':_0x34577a}):await this['store']['deleteProcessedTaskQueue'](_0x3f35fb,_0x203dc8,_0xc26395,_0xf3185c==='true'),setImmediate(()=>this['processWebHooks'](_0x18ddc8));}}async['enqueueWorkItems'](_0x31ac60){await this['store']['addTaskQueues'](_0x31ac60);}async['registerJobForCleanup'](_0x2151c6,_0x2bc5d9=enums_1['HMSH_EXPIRE_DURATION'],_0x2f24de){_0x2bc5d9>0x0&&await this['store']['expireJob'](_0x2151c6,_0x2bc5d9);}async['registerTimeHook'](_0x583c87,_0x2b2018,_0x4aaf26,_0x278f82,_0x513450=enums_1['HMSH_FIDELITY_SECONDS'],_0x544412,_0x56466f){const _0x5e224a=Date['now']()+_0x513450*0x3e8,_0x475b20=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x527e16=Math['floor'](_0x5e224a/_0x475b20)*_0x475b20;await this['store']['registerTimeHook'](_0x583c87,_0x2b2018,_0x4aaf26,_0x278f82,_0x527e16,_0x544412,_0x56466f);}async['shouldScout'](){const _0x3f58ce=this['isScout'],_0x447b7e=_0x3f58ce||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x447b7e)return!_0x3f58ce&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0x5cc3a6,_0xeb0c1b){if(await this['shouldScout']())try{const _0x2124dd=await this['store']['getNextTask'](_0xeb0c1b);if(Array['isArray'](_0x2124dd)){const [_0x5e38fb,_0x6b6c1f,_0x2d67b0,_0x416f2b,_0x162021]=_0x2124dd;if(_0x162021==='child'){}else{if(_0x162021==='delist'){const _0x1854a4=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x1854a4,_0x6b6c1f);}else await _0x5cc3a6(_0x6b6c1f,_0x2d67b0,_0x416f2b,_0x162021);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x5cc3a6,_0x5e38fb);}else{if(_0x2124dd)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x5cc3a6);else{const _0x4b9519=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x4b9519['timerId'],await _0x4b9519['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0x5cc3a6);}}}catch(_0x427232){this['logger']['warn']('task-process-timehooks-error',_0x427232),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0x5cc3a6);}else{const _0x2a4ab6=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x2a4ab6['timerId'],await _0x2a4ab6['promise'],this['processTimeHooks'](_0x5cc3a6);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x460be9){const _0x1bb0f4=await this['store']['getHookRules']();return _0x1bb0f4?.[_0x460be9]?.[0x0];}async['registerWebHook'](_0x38d5c3,_0x15c2cd,_0x5a138b,_0x296509,_0x4f4214){const _0x1d18fe=await this['getHookRule'](_0x38d5c3);if(_0x1d18fe){const _0x19caa8=_0x1d18fe['conditions']['match'][0x0]['expected'],_0x37855a=pipe_1['Pipe']['resolve'](_0x19caa8,_0x15c2cd),_0x1db4ae=_0x15c2cd['metadata']['jid'],_0x3bb546=_0x15c2cd['metadata']['gid'],_0x1e8e86=_0x1d18fe['to'],_0x43fc88=[_0x1e8e86,_0x5a138b,_0x3bb546,_0x1db4ae]['join'](key_1['WEBSEP']),_0x663388={'topic':_0x38d5c3,'resolved':_0x37855a,'jobId':_0x43fc88,'expire':_0x296509};return await this['store']['setHookSignal'](_0x663388,_0x4f4214),_0x1db4ae;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x2b0b2e,_0x335d5c){const _0x57cb50=await this['getHookRule'](_0x2b0b2e);if(_0x57cb50){const _0x50c069={'$self':{'hook':{'data':_0x335d5c}},'$hook':{'data':_0x335d5c}},_0x4bf6e9=_0x57cb50['conditions']['match'][0x0]['actual'],_0x3c0bf8=pipe_1['Pipe']['resolve'](_0x4bf6e9,_0x50c069),_0x33937a=await this['store']['getHookSignal'](_0x2b0b2e,_0x3c0bf8);if(!_0x33937a)return undefined;const [_0x11463b,_0xfe6e85,_0x2e84f3,..._0x6ceed1]=_0x33937a['split'](key_1['WEBSEP']);return[_0x6ceed1['join'](key_1['WEBSEP']),_0x57cb50['to'],_0xfe6e85,_0x2e84f3];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0x37d5da,_0x2532ec){const _0x3c7fc1=await this['getHookRule'](_0x37d5da);if(_0x3c7fc1){const _0x5d8b01={'$self':{'hook':{'data':_0x2532ec}},'$hook':{'data':_0x2532ec}},_0xdc1388=_0x3c7fc1['conditions']['match'][0x0]['actual'],_0x1a8900=pipe_1['Pipe']['resolve'](_0xdc1388,_0x5d8b01);return await this['store']['deleteHookSignal'](_0x37d5da,_0x1a8900);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}exports['TaskService']=TaskService;
1
+ 'use strict';function _0x2739(){const _0x42d0ab=['136352wCBRei','5PNoCaw','13510ErWsiJ','1758RgGleX','4vNnlcw','3301410hpeUaj','1681735GeJMLk','4395776MpNMch','62894zDzOKd','414lNgwem','1798017fKAaoI'];_0x2739=function(){return _0x42d0ab;};return _0x2739();}(function(_0xdbad8a,_0x2d3595){const _0x4c9ef3=_0x5c64,_0x464fa7=_0xdbad8a();while(!![]){try{const _0x2933de=parseInt(_0x4c9ef3(0xf5))/0x1*(parseInt(_0x4c9ef3(0xfc))/0x2)+-parseInt(_0x4c9ef3(0xfe))/0x3*(parseInt(_0x4c9ef3(0xf8))/0x4)+-parseInt(_0x4c9ef3(0xfa))/0x5+-parseInt(_0x4c9ef3(0xf7))/0x6*(-parseInt(_0x4c9ef3(0xf6))/0x7)+parseInt(_0x4c9ef3(0xf4))/0x8*(parseInt(_0x4c9ef3(0xfd))/0x9)+parseInt(_0x4c9ef3(0xf9))/0xa+-parseInt(_0x4c9ef3(0xfb))/0xb;if(_0x2933de===_0x2d3595)break;else _0x464fa7['push'](_0x464fa7['shift']());}catch(_0x1e55f6){_0x464fa7['push'](_0x464fa7['shift']());}}}(_0x2739,0x7a754));function _0x5c64(_0x399bd2,_0x389eed){const _0x2739b2=_0x2739();return _0x5c64=function(_0x5c64d6,_0x360f24){_0x5c64d6=_0x5c64d6-0xf4;let _0x509733=_0x2739b2[_0x5c64d6];return _0x509733;},_0x5c64(_0x399bd2,_0x389eed);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TaskService']=void 0x0;const enums_1=require('../../modules/enums'),utils_1=require('../../modules/utils'),pipe_1=require('../pipe'),hotmesh_1=require('../../types/hotmesh'),key_1=require('../../modules/key');class TaskService{constructor(_0x306993,_0x1854d4){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x1854d4,this['store']=_0x306993;}async['processWebHooks'](_0xf16b8d){const _0x432006=await this['store']['getActiveTaskQueue']();if(_0x432006){const [_0x458d3f,_0x394043,_0x56a2e8,..._0x33c1c8]=_0x432006['split'](key_1['WEBSEP']),_0x32159a=JSON['parse'](_0x33c1c8['join'](key_1['WEBSEP'])),_0x17c212=_0x394043+':processed',_0x574aec=await this['store']['processTaskQueue'](_0x394043,_0x17c212);_0x574aec?await _0xf16b8d(_0x458d3f,{..._0x32159a,'id':_0x574aec}):await this['store']['deleteProcessedTaskQueue'](_0x432006,_0x394043,_0x17c212,_0x56a2e8==='true'),setImmediate(()=>this['processWebHooks'](_0xf16b8d));}}async['enqueueWorkItems'](_0x8e16d0){await this['store']['addTaskQueues'](_0x8e16d0);}async['registerJobForCleanup'](_0x19e654,_0x4bfa=enums_1['HMSH_EXPIRE_DURATION'],_0xf74a6d){_0x4bfa>0x0&&await this['store']['expireJob'](_0x19e654,_0x4bfa);}async['registerTimeHook'](_0x2dffb4,_0xbdb465,_0x36b66e,_0x4102b1,_0x116aad=enums_1['HMSH_FIDELITY_SECONDS'],_0x4e894c,_0x45daa6){const _0x27d8ef=Date['now']()+_0x116aad*0x3e8,_0x5f53d8=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x49d9da=Math['floor'](_0x27d8ef/_0x5f53d8)*_0x5f53d8;await this['store']['registerTimeHook'](_0x2dffb4,_0xbdb465,_0x36b66e,_0x4102b1,_0x49d9da,_0x4e894c,_0x45daa6);}async['shouldScout'](){const _0x3a0008=this['isScout'],_0x3fe8dd=_0x3a0008||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x3fe8dd)return!_0x3a0008&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0x210e3b,_0x54ec43){if(await this['shouldScout']())try{const _0x233298=await this['store']['getNextTask'](_0x54ec43);if(Array['isArray'](_0x233298)){const [_0x4bb6ec,_0xb96e7a,_0x43bc47,_0x48bf1f,_0x50c9ac]=_0x233298;if(_0x50c9ac==='child'){}else{if(_0x50c9ac==='delist'){const _0x24e0a3=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x24e0a3,_0xb96e7a);}else await _0x210e3b(_0xb96e7a,_0x43bc47,_0x48bf1f,_0x50c9ac);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x210e3b,_0x4bb6ec);}else{if(_0x233298)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x210e3b);else{const _0x487439=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x487439['timerId'],await _0x487439['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0x210e3b);}}}catch(_0x12c136){this['logger']['warn']('task-process-timehooks-error',_0x12c136),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0x210e3b);}else{const _0x14ec06=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x14ec06['timerId'],await _0x14ec06['promise'],this['processTimeHooks'](_0x210e3b);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x32da14){const _0x2acdc4=await this['store']['getHookRules']();return _0x2acdc4?.[_0x32da14]?.[0x0];}async['registerWebHook'](_0x344ca5,_0x269a35,_0x5b75ce,_0x2e799a,_0x1de96f){const _0x2a2415=await this['getHookRule'](_0x344ca5);if(_0x2a2415){const _0x30f413=_0x2a2415['conditions']['match'][0x0]['expected'],_0x26d0a0=pipe_1['Pipe']['resolve'](_0x30f413,_0x269a35),_0x11f966=_0x269a35['metadata']['jid'],_0x33b493=_0x269a35['metadata']['gid'],_0x159082=_0x2a2415['to'],_0x4a5170=[_0x159082,_0x5b75ce,_0x33b493,_0x11f966]['join'](key_1['WEBSEP']),_0x5c70d3={'topic':_0x344ca5,'resolved':_0x26d0a0,'jobId':_0x4a5170,'expire':_0x2e799a};return await this['store']['setHookSignal'](_0x5c70d3,_0x1de96f),_0x11f966;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x599f71,_0x2ce9ad){const _0x44cccb=await this['getHookRule'](_0x599f71);if(_0x44cccb){const _0x550af9={'$self':{'hook':{'data':_0x2ce9ad}},'$hook':{'data':_0x2ce9ad}},_0x5546b9=_0x44cccb['conditions']['match'][0x0]['actual'],_0x5762eb=pipe_1['Pipe']['resolve'](_0x5546b9,_0x550af9),_0x447b47=await this['store']['getHookSignal'](_0x599f71,_0x5762eb);if(!_0x447b47)return undefined;const [_0x17d660,_0x4c0d1f,_0x3d2ef8,..._0x5ad48e]=_0x447b47['split'](key_1['WEBSEP']);return[_0x5ad48e['join'](key_1['WEBSEP']),_0x44cccb['to'],_0x4c0d1f,_0x3d2ef8];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0x25c173,_0x16899c){const _0x2cb450=await this['getHookRule'](_0x25c173);if(_0x2cb450){const _0x20964e={'$self':{'hook':{'data':_0x16899c}},'$hook':{'data':_0x16899c}},_0x530c2a=_0x2cb450['conditions']['match'][0x0]['actual'],_0xe1f79d=pipe_1['Pipe']['resolve'](_0x530c2a,_0x20964e);return await this['store']['deleteHookSignal'](_0x25c173,_0xe1f79d);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}exports['TaskService']=TaskService;
@@ -1 +1 @@
1
- 'use strict';(function(_0x1f08d2,_0x2ec348){const _0x5e2fdf=_0x19ce,_0x73c9f7=_0x1f08d2();while(!![]){try{const _0x40d4d6=parseInt(_0x5e2fdf(0x125))/0x1+-parseInt(_0x5e2fdf(0x127))/0x2*(-parseInt(_0x5e2fdf(0x11e))/0x3)+-parseInt(_0x5e2fdf(0x128))/0x4+-parseInt(_0x5e2fdf(0x124))/0x5+-parseInt(_0x5e2fdf(0x123))/0x6*(-parseInt(_0x5e2fdf(0x120))/0x7)+parseInt(_0x5e2fdf(0x121))/0x8*(-parseInt(_0x5e2fdf(0x122))/0x9)+-parseInt(_0x5e2fdf(0x11f))/0xa*(-parseInt(_0x5e2fdf(0x126))/0xb);if(_0x40d4d6===_0x2ec348)break;else _0x73c9f7['push'](_0x73c9f7['shift']());}catch(_0x2d064b){_0x73c9f7['push'](_0x73c9f7['shift']());}}}(_0x4266,0x5dab6));var __importDefault=this&&this['__importDefault']||function(_0x3341a2){return _0x3341a2&&_0x3341a2['__esModule']?_0x3341a2:{'default':_0x3341a2};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TelemetryService']=void 0x0;function _0x19ce(_0x2003ae,_0x13c2d6){const _0x4266b1=_0x4266();return _0x19ce=function(_0x19ce80,_0x1f308e){_0x19ce80=_0x19ce80-0x11e;let _0x387b36=_0x4266b1[_0x19ce80];return _0x387b36;},_0x19ce(_0x2003ae,_0x13c2d6);}const package_json_1=__importDefault(require('../../package.json')),mapper_1=require('../mapper'),stream_1=require('../../types/stream'),telemetry_1=require('../../types/telemetry'),utils_1=require('../../modules/utils');class TelemetryService{constructor(_0x3fcaf9,_0x369ffa,_0x3ff5ac,_0x29ad31){this['leg']=0x1,this['appId']=_0x3fcaf9,this['config']=_0x369ffa,this['metadata']=_0x3ff5ac,this['context']=_0x29ad31;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x30f589){return _0x30f589===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x16c091='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x3ecdeb=this['getTraceId'](),_0x25f110=this['getJobParentSpanId'](),_0x597109=this['getSpanAttrs'](0x1),_0x17177b=this['startSpan'](_0x3ecdeb,_0x25f110,_0x16c091,_0x597109);return this['jobSpan']=_0x17177b,this['setTelemetryContext'](_0x17177b,0x1),this;}['startActivitySpan'](_0x56a31f=this['leg']){const _0x251e78=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x56a31f,_0x1305c0=this['getTraceId'](),_0x3af3f6=this['getActivityParentSpanId'](_0x56a31f),_0x1b9baf=this['getSpanAttrs'](_0x56a31f),_0x1057a5=this['startSpan'](_0x1305c0,_0x3af3f6,_0x251e78,_0x1b9baf);return this['setTelemetryContext'](_0x1057a5,_0x56a31f),this['span']=_0x1057a5,this;}['startStreamSpan'](_0x4ae8d0,_0x1d8d7a){let _0x34bfa1;if(_0x1d8d7a===stream_1['StreamRole']['SYSTEM'])_0x34bfa1='SYSTEM';else{if(_0x1d8d7a===stream_1['StreamRole']['WORKER'])_0x34bfa1='EXECUTE';else _0x4ae8d0['type']===stream_1['StreamDataType']['RESULT']||_0x4ae8d0['type']===stream_1['StreamDataType']['RESPONSE']?_0x34bfa1='FANIN':_0x34bfa1='FANOUT';}const _0x533aca=_0x4ae8d0['metadata']['topic']?'/'+_0x4ae8d0['metadata']['topic']:'',_0x386306=_0x34bfa1+'/'+this['appId']+'/'+_0x4ae8d0['metadata']['aid']+_0x533aca,_0x2f3f02=this['getStreamSpanAttrs'](_0x4ae8d0),_0x3ba382=this['startSpan'](_0x4ae8d0['metadata']['trc'],_0x4ae8d0['metadata']['spn'],_0x386306,_0x2f3f02);return this['span']=_0x3ba382,this;}['startSpan'](_0x23ae74,_0x404e53,_0x1037e6,_0x56c40b){this['traceId']=_0x23ae74,this['spanId']=_0x404e53;const _0x53bc12=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x253578=this['getParentSpanContext'](),_0x826fe=_0x53bc12['startSpan'](_0x1037e6,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x56c40b,'root':!_0x253578},_0x253578);return _0x826fe;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x5f33e0=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0xba4b06={...Object['keys'](_0x5f33e0)['reduce']((_0x5079b5,_0x119d08)=>{return['string','boolean','number']['includes'](typeof _0x5f33e0[_0x119d08])&&(_0x5079b5['app.activity.data.'+_0x119d08]=_0x5f33e0[_0x119d08]),_0x5079b5;},{})};this['span']?.['setAttributes'](_0xba4b06);}}['setActivityAttributes'](_0x4f1190){this['span']?.['setAttributes'](_0x4f1190);}['setStreamAttributes'](_0x343801){this['span']?.['setAttributes'](_0x343801);}['setJobAttributes'](_0x4e278e){this['jobSpan']?.['setAttributes'](_0x4e278e);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0x5f4eab){_0x5f4eab&&_0x5f4eab['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x4232dc={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x514117=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x4232dc);return _0x514117;}}['getSpanAttrs'](_0x51cab6){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x26aa63,_0x5019a2)=>{return _0x5019a2!=='trc'&&(_0x26aa63['app.job.'+_0x5019a2]=this['context']['metadata'][_0x5019a2]),_0x26aa63;},{}),...Object['keys'](this['metadata'])['reduce']((_0x1c3b0f,_0x5e44c7)=>{return _0x1c3b0f['app.activity.'+_0x5e44c7]=this['metadata'][_0x5e44c7],_0x1c3b0f;},{}),'app.activity.leg':_0x51cab6};}['getStreamSpanAttrs'](_0xa820d3){return{...Object['keys'](_0xa820d3['metadata'])['reduce']((_0x1e951b,_0x2780e4)=>{return _0x2780e4!=='trc'&&_0x2780e4!=='spn'&&(_0x1e951b['app.stream.'+_0x2780e4]=_0xa820d3['metadata'][_0x2780e4]),_0x1e951b;},{})};}['setTelemetryContext'](_0x3f9b9f,_0x3c1d69){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0x3f9b9f['spanContext']()['traceId']),_0x3c1d69===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0x3f9b9f['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0x3f9b9f['spanContext']()['spanId']);}['setActivityError'](_0x386894){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x386894});}['setStreamError'](_0x35ec1f){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x35ec1f});}static['addTargetTelemetryPaths'](_0x19c45f,_0x529d31,_0x23e993,_0x5917b7){_0x5917b7===0x1?(!(_0x529d31['parent']in _0x19c45f)&&(_0x19c45f[_0x529d31['parent']]=[]),_0x19c45f[_0x529d31['parent']]['push'](_0x529d31['parent']+'/output/metadata/l2s')):(!(_0x23e993['aid']in _0x19c45f)&&(_0x19c45f[_0x23e993['aid']]=[]),_0x19c45f[_0x23e993['aid']]['push'](_0x23e993['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0x4cab62,_0x3c89aa,_0xc987bc){_0x3c89aa['type']==='trigger'&&(_0x4cab62['metadata/trc']=_0xc987bc['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x1442d0,_0x365533,_0x5eef81,_0x409952,_0x5ef448){if(_0x365533['type']==='trigger')_0x1442d0[_0x5eef81['aid']+'/output/metadata/l1s']=_0x409952['$self']['output']['metadata']['l1s'],_0x1442d0[_0x5eef81['aid']+'/output/metadata/l2s']=_0x409952['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x365533['type'])==='hook'&&_0x5ef448===0x1)_0x1442d0[_0x5eef81['aid']+'/output/metadata/l1s']=_0x409952['$self']['output']['metadata']['l1s'],_0x1442d0[_0x5eef81['aid']+'/output/metadata/l2s']=_0x409952['$self']['output']['metadata']['l1s'];else{if(_0x365533['type']==='signal'&&_0x5ef448===0x1)_0x1442d0[_0x5eef81['aid']+'/output/metadata/l1s']=_0x409952['$self']['output']['metadata']['l1s'],_0x1442d0[_0x5eef81['aid']+'/output/metadata/l2s']=_0x409952['$self']['output']['metadata']['l1s'];else{const _0x509a83='l'+_0x5ef448+'s';_0x1442d0[_0x5eef81['aid']+'/output/metadata/'+_0x509a83]=_0x409952['$self']['output']['metadata'][_0x509a83];}}}}}exports['TelemetryService']=TelemetryService;function _0x4266(){const _0x56050e=['8JVqhTk','930483TdXWIB','44148xsOLYh','1260140kaqpgC','125209kdmXYE','4741ItvGRk','182jCNGTn','2631696iYjFRy','13119NJrWOL','16690ynMbdU','147QNynoX'];_0x4266=function(){return _0x56050e;};return _0x4266();}
1
+ 'use strict';(function(_0x15f5f2,_0x23e015){const _0x1c4a37=_0x588a,_0x4f25ed=_0x15f5f2();while(!![]){try{const _0x3693f0=-parseInt(_0x1c4a37(0x1b1))/0x1+-parseInt(_0x1c4a37(0x1b4))/0x2*(-parseInt(_0x1c4a37(0x1b3))/0x3)+-parseInt(_0x1c4a37(0x1b6))/0x4*(parseInt(_0x1c4a37(0x1af))/0x5)+-parseInt(_0x1c4a37(0x1b0))/0x6+parseInt(_0x1c4a37(0x1b2))/0x7*(-parseInt(_0x1c4a37(0x1b5))/0x8)+-parseInt(_0x1c4a37(0x1b7))/0x9*(parseInt(_0x1c4a37(0x1b8))/0xa)+parseInt(_0x1c4a37(0x1ba))/0xb*(parseInt(_0x1c4a37(0x1b9))/0xc);if(_0x3693f0===_0x23e015)break;else _0x4f25ed['push'](_0x4f25ed['shift']());}catch(_0x3da5d9){_0x4f25ed['push'](_0x4f25ed['shift']());}}}(_0x3218,0xb93b9));function _0x588a(_0x4993f3,_0x21ee56){const _0x3218db=_0x3218();return _0x588a=function(_0x588ab7,_0x161ea6){_0x588ab7=_0x588ab7-0x1af;let _0x14591c=_0x3218db[_0x588ab7];return _0x14591c;},_0x588a(_0x4993f3,_0x21ee56);}var __importDefault=this&&this['__importDefault']||function(_0x21c505){return _0x21c505&&_0x21c505['__esModule']?_0x21c505:{'default':_0x21c505};};function _0x3218(){const _0xaf2874=['187SVlfuq','305mIvezb','8030616punlYS','720441HfFteF','194719kZnZGe','2886795TmLiCG','2YBCrep','152vwpfxV','12332UQTBhe','97839cMushB','640Ftmrwm','2306580eTGnlY'];_0x3218=function(){return _0xaf2874;};return _0x3218();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TelemetryService']=void 0x0;const package_json_1=__importDefault(require('../../package.json')),mapper_1=require('../mapper'),stream_1=require('../../types/stream'),telemetry_1=require('../../types/telemetry'),utils_1=require('../../modules/utils');class TelemetryService{constructor(_0x47082d,_0x2c1802,_0x1df85f,_0x201302){this['leg']=0x1,this['appId']=_0x47082d,this['config']=_0x2c1802,this['metadata']=_0x1df85f,this['context']=_0x201302;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x4601af){return _0x4601af===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x139092='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x48ca77=this['getTraceId'](),_0x2a8e0f=this['getJobParentSpanId'](),_0x2244a1=this['getSpanAttrs'](0x1),_0x1170e8=this['startSpan'](_0x48ca77,_0x2a8e0f,_0x139092,_0x2244a1);return this['jobSpan']=_0x1170e8,this['setTelemetryContext'](_0x1170e8,0x1),this;}['startActivitySpan'](_0x1c8c96=this['leg']){const _0x12c550=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x1c8c96,_0x25fb5a=this['getTraceId'](),_0x1c940e=this['getActivityParentSpanId'](_0x1c8c96),_0x18113b=this['getSpanAttrs'](_0x1c8c96),_0x102001=this['startSpan'](_0x25fb5a,_0x1c940e,_0x12c550,_0x18113b);return this['setTelemetryContext'](_0x102001,_0x1c8c96),this['span']=_0x102001,this;}['startStreamSpan'](_0x203eb2,_0x2716c0){let _0xc462a6;if(_0x2716c0===stream_1['StreamRole']['SYSTEM'])_0xc462a6='SYSTEM';else{if(_0x2716c0===stream_1['StreamRole']['WORKER'])_0xc462a6='EXECUTE';else _0x203eb2['type']===stream_1['StreamDataType']['RESULT']||_0x203eb2['type']===stream_1['StreamDataType']['RESPONSE']?_0xc462a6='FANIN':_0xc462a6='FANOUT';}const _0x5c9053=_0x203eb2['metadata']['topic']?'/'+_0x203eb2['metadata']['topic']:'',_0x105ce8=_0xc462a6+'/'+this['appId']+'/'+_0x203eb2['metadata']['aid']+_0x5c9053,_0x11358b=this['getStreamSpanAttrs'](_0x203eb2),_0x5fe49f=this['startSpan'](_0x203eb2['metadata']['trc'],_0x203eb2['metadata']['spn'],_0x105ce8,_0x11358b);return this['span']=_0x5fe49f,this;}['startSpan'](_0x27d34f,_0x1d9de8,_0x3e2d52,_0x54ed71){this['traceId']=_0x27d34f,this['spanId']=_0x1d9de8;const _0x8cfdd7=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x3cd7a3=this['getParentSpanContext'](),_0x242a6e=_0x8cfdd7['startSpan'](_0x3e2d52,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x54ed71,'root':!_0x3cd7a3},_0x3cd7a3);return _0x242a6e;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x18ff5c=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x3b62a2={...Object['keys'](_0x18ff5c)['reduce']((_0x2dcebc,_0x392ce3)=>{return['string','boolean','number']['includes'](typeof _0x18ff5c[_0x392ce3])&&(_0x2dcebc['app.activity.data.'+_0x392ce3]=_0x18ff5c[_0x392ce3]),_0x2dcebc;},{})};this['span']?.['setAttributes'](_0x3b62a2);}}['setActivityAttributes'](_0x10e0ec){this['span']?.['setAttributes'](_0x10e0ec);}['setStreamAttributes'](_0xe79c2b){this['span']?.['setAttributes'](_0xe79c2b);}['setJobAttributes'](_0x3131bf){this['jobSpan']?.['setAttributes'](_0x3131bf);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0x119675){_0x119675&&_0x119675['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x2c2ea5={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x5cc24a=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x2c2ea5);return _0x5cc24a;}}['getSpanAttrs'](_0x23fe25){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x5479bd,_0x14922a)=>{return _0x14922a!=='trc'&&(_0x5479bd['app.job.'+_0x14922a]=this['context']['metadata'][_0x14922a]),_0x5479bd;},{}),...Object['keys'](this['metadata'])['reduce']((_0x5718ba,_0x47abd4)=>{return _0x5718ba['app.activity.'+_0x47abd4]=this['metadata'][_0x47abd4],_0x5718ba;},{}),'app.activity.leg':_0x23fe25};}['getStreamSpanAttrs'](_0x39547b){return{...Object['keys'](_0x39547b['metadata'])['reduce']((_0x5c510c,_0x2615a5)=>{return _0x2615a5!=='trc'&&_0x2615a5!=='spn'&&(_0x5c510c['app.stream.'+_0x2615a5]=_0x39547b['metadata'][_0x2615a5]),_0x5c510c;},{})};}['setTelemetryContext'](_0x3d1fc9,_0x6c24da){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0x3d1fc9['spanContext']()['traceId']),_0x6c24da===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0x3d1fc9['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0x3d1fc9['spanContext']()['spanId']);}['setActivityError'](_0x349be3){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x349be3});}['setStreamError'](_0x559939){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x559939});}static['addTargetTelemetryPaths'](_0x49a236,_0x4c86ab,_0x5b0ee3,_0x39bbb3){_0x39bbb3===0x1?(!(_0x4c86ab['parent']in _0x49a236)&&(_0x49a236[_0x4c86ab['parent']]=[]),_0x49a236[_0x4c86ab['parent']]['push'](_0x4c86ab['parent']+'/output/metadata/l2s')):(!(_0x5b0ee3['aid']in _0x49a236)&&(_0x49a236[_0x5b0ee3['aid']]=[]),_0x49a236[_0x5b0ee3['aid']]['push'](_0x5b0ee3['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0x1b862c,_0x56294e,_0x6b0409){_0x56294e['type']==='trigger'&&(_0x1b862c['metadata/trc']=_0x6b0409['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x166c8,_0x346ffb,_0x2beaa0,_0x487862,_0x534a67){if(_0x346ffb['type']==='trigger')_0x166c8[_0x2beaa0['aid']+'/output/metadata/l1s']=_0x487862['$self']['output']['metadata']['l1s'],_0x166c8[_0x2beaa0['aid']+'/output/metadata/l2s']=_0x487862['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x346ffb['type'])==='hook'&&_0x534a67===0x1)_0x166c8[_0x2beaa0['aid']+'/output/metadata/l1s']=_0x487862['$self']['output']['metadata']['l1s'],_0x166c8[_0x2beaa0['aid']+'/output/metadata/l2s']=_0x487862['$self']['output']['metadata']['l1s'];else{if(_0x346ffb['type']==='signal'&&_0x534a67===0x1)_0x166c8[_0x2beaa0['aid']+'/output/metadata/l1s']=_0x487862['$self']['output']['metadata']['l1s'],_0x166c8[_0x2beaa0['aid']+'/output/metadata/l2s']=_0x487862['$self']['output']['metadata']['l1s'];else{const _0x2c857b='l'+_0x534a67+'s';_0x166c8[_0x2beaa0['aid']+'/output/metadata/'+_0x2c857b]=_0x487862['$self']['output']['metadata'][_0x2c857b];}}}}}exports['TelemetryService']=TelemetryService;