@hotmeshio/hotmesh 0.3.19 → 0.3.20

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 (91) hide show
  1. package/README.md +43 -14
  2. package/build/index.d.ts +5 -1
  3. package/build/index.js +9 -1
  4. package/build/modules/key.js +1 -1
  5. package/build/modules/utils.d.ts +0 -1
  6. package/build/modules/utils.js +1 -1
  7. package/build/package.json +5 -4
  8. package/build/services/activities/activity.js +1 -1
  9. package/build/services/activities/await.js +1 -1
  10. package/build/services/activities/cycle.js +1 -1
  11. package/build/services/activities/hook.js +1 -1
  12. package/build/services/activities/index.js +1 -1
  13. package/build/services/activities/interrupt.js +1 -1
  14. package/build/services/activities/signal.js +1 -1
  15. package/build/services/activities/trigger.js +1 -1
  16. package/build/services/activities/worker.js +1 -1
  17. package/build/services/collator/index.js +1 -1
  18. package/build/services/compiler/deployer.js +1 -1
  19. package/build/services/compiler/index.js +1 -1
  20. package/build/services/compiler/validator.js +1 -1
  21. package/build/services/connector/factory.d.ts +1 -0
  22. package/build/services/connector/factory.js +22 -21
  23. package/build/services/connector/index.d.ts +4 -2
  24. package/build/services/connector/index.js +10 -5
  25. package/build/services/connector/providers/postgres.d.ts +13 -2
  26. package/build/services/connector/providers/postgres.js +54 -9
  27. package/build/services/engine/index.js +1 -1
  28. package/build/services/exporter/index.js +1 -1
  29. package/build/services/hotmesh/index.js +1 -6
  30. package/build/services/mapper/index.js +1 -1
  31. package/build/services/meshflow/connection.js +1 -0
  32. package/build/services/meshflow/exporter.js +1 -1
  33. package/build/services/pipe/functions/array.js +1 -1
  34. package/build/services/pipe/functions/bitwise.js +1 -1
  35. package/build/services/pipe/functions/conditional.js +1 -1
  36. package/build/services/pipe/functions/cron.js +1 -1
  37. package/build/services/pipe/functions/date.js +1 -1
  38. package/build/services/pipe/functions/index.js +1 -1
  39. package/build/services/pipe/functions/json.js +1 -1
  40. package/build/services/pipe/functions/logical.js +1 -1
  41. package/build/services/pipe/functions/math.js +1 -1
  42. package/build/services/pipe/functions/number.js +1 -1
  43. package/build/services/pipe/functions/object.js +1 -1
  44. package/build/services/pipe/functions/string.js +1 -1
  45. package/build/services/pipe/functions/symbol.js +1 -1
  46. package/build/services/pipe/functions/unary.js +1 -1
  47. package/build/services/pipe/index.js +1 -1
  48. package/build/services/quorum/index.js +1 -1
  49. package/build/services/reporter/index.js +1 -1
  50. package/build/services/router/index.js +1 -1
  51. package/build/services/search/providers/postgres/postgres.js +1 -1
  52. package/build/services/search/providers/redis/ioredis.js +1 -1
  53. package/build/services/search/providers/redis/redis.js +1 -1
  54. package/build/services/serializer/index.js +1 -1
  55. package/build/services/store/providers/postgres/kvsql.js +1 -1
  56. package/build/services/store/providers/postgres/kvtables.d.ts +2 -2
  57. package/build/services/store/providers/postgres/kvtables.js +1 -1
  58. package/build/services/store/providers/postgres/kvtransaction.js +1 -1
  59. package/build/services/store/providers/postgres/kvtypes/hash.js +1 -1
  60. package/build/services/store/providers/postgres/kvtypes/list.js +1 -1
  61. package/build/services/store/providers/postgres/kvtypes/string.js +1 -1
  62. package/build/services/store/providers/postgres/kvtypes/zset.js +1 -1
  63. package/build/services/store/providers/postgres/postgres.js +1 -1
  64. package/build/services/store/providers/redis/_base.js +1 -1
  65. package/build/services/store/providers/redis/ioredis.js +1 -1
  66. package/build/services/store/providers/redis/redis.js +1 -1
  67. package/build/services/store/providers/store-initializable.js +1 -1
  68. package/build/services/stream/providers/nats/nats.js +1 -1
  69. package/build/services/stream/providers/postgres/postgres.js +1 -1
  70. package/build/services/stream/providers/redis/ioredis.js +1 -1
  71. package/build/services/stream/providers/redis/redis.js +1 -1
  72. package/build/services/stream/providers/stream-initializable.js +1 -1
  73. package/build/services/sub/factory.d.ts +2 -2
  74. package/build/services/sub/factory.js +13 -8
  75. package/build/services/sub/providers/nats/nats.d.ts +19 -0
  76. package/build/services/sub/providers/nats/nats.js +1 -0
  77. package/build/services/sub/providers/postgres/postgres.d.ts +1 -0
  78. package/build/services/sub/providers/postgres/postgres.js +1 -1
  79. package/build/services/sub/providers/redis/ioredis.js +1 -1
  80. package/build/services/sub/providers/redis/redis.js +1 -1
  81. package/build/services/task/index.js +1 -1
  82. package/build/services/telemetry/index.js +1 -1
  83. package/build/services/worker/index.js +1 -1
  84. package/build/types/nats.d.ts +8 -0
  85. package/build/types/postgres.d.ts +10 -1
  86. package/build/types/provider.d.ts +1 -0
  87. package/index.ts +20 -5
  88. package/package.json +5 -4
  89. package/types/nats.ts +34 -0
  90. package/types/postgres.ts +13 -2
  91. package/types/provider.ts +4 -0
@@ -1 +1 @@
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
+ 'use strict';(function(_0x339748,_0xacf5a3){const _0x612948=_0x4032,_0x59acca=_0x339748();while(!![]){try{const _0x1288f1=-parseInt(_0x612948(0xef))/0x1+-parseInt(_0x612948(0xed))/0x2+-parseInt(_0x612948(0xe8))/0x3*(-parseInt(_0x612948(0xe6))/0x4)+parseInt(_0x612948(0xea))/0x5*(-parseInt(_0x612948(0xe9))/0x6)+parseInt(_0x612948(0xee))/0x7+parseInt(_0x612948(0xec))/0x8+parseInt(_0x612948(0xeb))/0x9*(parseInt(_0x612948(0xe7))/0xa);if(_0x1288f1===_0xacf5a3)break;else _0x59acca['push'](_0x59acca['shift']());}catch(_0x1644e3){_0x59acca['push'](_0x59acca['shift']());}}}(_0x11f3,0x29924));function _0x4032(_0x57e0f7,_0x26252c){const _0x11f3d2=_0x11f3();return _0x4032=function(_0x40328a,_0xb0f27b){_0x40328a=_0x40328a-0xe6;let _0x167d39=_0x11f3d2[_0x40328a];return _0x167d39;},_0x4032(_0x57e0f7,_0x26252c);}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 _0x11f3(){const _0x51c08d=['20aYOSlz','9oDdHmO','137886yJRxlS','30YJuPca','1840977SnhwLj','1309576VdeumH','589812HZHwKf','685615wfcmgI','228579FdcKFl','214532XMhZPK'];_0x11f3=function(){return _0x51c08d;};return _0x11f3();}class PostgresStreamService extends index_1['StreamService']{constructor(_0xb320f7,_0x3ddf74,_0x38e770={}){super(_0xb320f7,_0x3ddf74,_0x38e770);}async['init'](_0x344fbf,_0x26dd7e,_0x4dd331){this['namespace']=_0x344fbf,this['appId']=_0x26dd7e,this['logger']=_0x4dd331,await this['deploy']();}async['deploy'](){const _0x30c4f0=this['streamClient'];let _0x21854e,_0x29fd0e=![];'connect'in _0x30c4f0&&'release'in _0x30c4f0?(_0x21854e=await _0x30c4f0['connect'](),_0x29fd0e=!![]):_0x21854e=_0x30c4f0;try{const _0x574ec0=this['getAdvisoryLockId'](),_0x1fb1bb=await _0x21854e['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x574ec0]);if(_0x1fb1bb['rows'][0x0]['locked']){await _0x21854e['query']('BEGIN');const _0x229f8e=await this['checkIfTablesExist'](_0x21854e);!_0x229f8e&&await this['createTables'](_0x21854e),await _0x21854e['query']('COMMIT'),await _0x21854e['query']('SELECT\x20pg_advisory_unlock($1)',[_0x574ec0]);}else{let _0x21150e=0x0;const _0x224967=0x14;while(_0x21150e<_0x224967){await this['delay'](0x64);const _0x59c1bb=await _0x21854e['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x574ec0]);if(_0x59c1bb['rows'][0x0]['unlocked']){const _0x3383ed=await this['checkIfTablesExist'](_0x21854e);if(_0x3383ed)break;}_0x21150e++;}if(_0x21150e===_0x224967)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0xcba31){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0xcba31});throw _0xcba31;}finally{_0x29fd0e&&await _0x21854e['release']();}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x58d68c){let _0x214a2b=0x0;for(let _0x243593=0x0;_0x243593<_0x58d68c['length'];_0x243593++){_0x214a2b=(_0x214a2b<<0x5)-_0x214a2b+_0x58d68c['charCodeAt'](_0x243593),_0x214a2b|=0x0;}return Math['abs'](_0x214a2b);}async['checkIfTablesExist'](_0x8c229a){const _0x260d8e=await _0x8c229a['query']('SELECT\x20to_regclass(\x27'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x260d8e['rows'][0x0]['table']!==null;}['safeName'](_0x4a91cb){return _0x4a91cb['replace'](/[^a-zA-Z0-9_]/g,'_');}['getTableName'](){return this['safeName'](this['appId'])+'.streams';}async['createTables'](_0xd5a867){const _0x3b19d1=this['safeName'](this['appId']),_0x587287=this['getTableName']();await _0xd5a867['query']('BEGIN'),await _0xd5a867['query']('CREATE\x20SCHEMA\x20IF\x20NOT\x20EXISTS\x20'+_0x3b19d1+';'),await _0xd5a867['query']('CREATE\x20TABLE\x20'+_0x3b19d1+'.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 _0x3f3889=0x0;_0x3f3889<0x8;_0x3f3889++){const _0x106152=_0x3b19d1+'.streams_part_'+_0x3f3889;await _0xd5a867['query']('CREATE\x20TABLE\x20'+_0x106152+'\x20PARTITION\x20OF\x20'+_0x587287+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x3f3889+')');}await _0xd5a867['query']('CREATE\x20INDEX\x20idx_streams_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x587287+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0xd5a867['query']('COMMIT');}['delay'](_0x1f8afa){return new Promise(_0x2e82d9=>setTimeout(_0x2e82d9,_0x1f8afa));}['mintKey'](_0x44b32a,_0x4a72cf){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x44b32a,{..._0x4a72cf,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x532924){return!![];}async['deleteStream'](_0xf2a1){const _0x4409e9=this['streamClient'],_0x29f1d8=this['getTableName']();try{return _0xf2a1==='*'?await _0x4409e9['query']('DELETE\x20FROM\x20'+_0x29f1d8):await _0x4409e9['query']('DELETE\x20FROM\x20'+_0x29f1d8+'\x20WHERE\x20stream_name\x20=\x20$1',[_0xf2a1]),!![];}catch(_0x18b576){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0xf2a1,{'error':_0x18b576});throw _0x18b576;}}async['createConsumerGroup'](_0x2f9e54,_0x591e3f){return!![];}async['deleteConsumerGroup'](_0xbd284c,_0x3e8ebb){const _0x34f7a6=this['streamClient'],_0x56901d=this['getTableName']();try{return await _0x34f7a6['query']('DELETE\x20FROM\x20'+_0x56901d+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0xbd284c,_0x3e8ebb]),!![];}catch(_0x26ba99){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x3e8ebb+'\x20for\x20stream\x20'+_0xbd284c,{'error':_0x26ba99});throw _0x26ba99;}}async['publishMessages'](_0xed9db2,_0x2c8d67,_0x2abef9){const {sql:_0x132950,params:_0x451cf7}=this['_publishMessages'](_0xed9db2,_0x2c8d67);if(_0x2abef9?.['transaction']&&typeof _0x2abef9['transaction']['addCommand']==='function')return _0x2abef9['transaction']['addCommand'](_0x132950,_0x451cf7,'array',_0x40c23f=>_0x40c23f['map'](_0x15d037=>_0x15d037['id']['toString']())),_0x2abef9['transaction'];else try{const _0x46b43e=[],_0x575dcb=await this['streamClient']['query'](_0x132950,_0x451cf7);for(const _0x5c2bec of _0x575dcb['rows']){_0x46b43e['push'](_0x5c2bec['id']['toString']());}return _0x46b43e;}catch(_0x157a56){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0xed9db2,{'error':_0x157a56});throw _0x157a56;}}['_publishMessages'](_0x3efd80,_0x56e654){const _0x46be17=this['getTableName'](),_0x356054=_0x3efd80['endsWith'](':')?'ENGINE':'WORKER',_0x2db12a=_0x56e654['map']((_0x229f0e,_0x426e91)=>'($1,\x20$2,\x20$'+(_0x426e91+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x46be17+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x2db12a+'\x20RETURNING\x20id','params':[_0x3efd80,_0x356054,..._0x56e654]};}async['consumeMessages'](_0x26819a,_0x30d3c1,_0x4fab4c,_0x4669e4){const _0x3ec338=this['streamClient'],_0x2b6427=this['getTableName']();try{const _0x2d6652=_0x4669e4?.['batchSize']||0x1,_0x364e8e=_0x4669e4?.['reservationTimeout']||0x1e,_0x50de36=await _0x3ec338['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'+_0x2b6427+'\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'+_0x364e8e+'\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'+_0x2b6427+'\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',[_0x26819a,_0x30d3c1,_0x2d6652,_0x4fab4c]),_0x966f8d=_0x50de36['rows']['map'](_0x5efacd=>({'id':_0x5efacd['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x5efacd['message'])}));return _0x966f8d;}catch(_0x36cb5a){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x26819a,{'error':_0x36cb5a});throw _0x36cb5a;}}async['ackAndDelete'](_0x30b1a7,_0x3b9f12,_0x50770e){return await this['deleteMessages'](_0x30b1a7,_0x3b9f12,_0x50770e);}async['acknowledgeMessages'](_0x14514a,_0x4b7d15,_0x4a7837,_0x597cf9){return _0x4a7837['length'];}async['deleteMessages'](_0x896696,_0x270ca8,_0x48544f,_0x4032de){const _0x224ded=this['streamClient'],_0x375ca4=this['getTableName']();try{const _0x45264c=_0x48544f['map'](_0x216302=>parseInt(_0x216302));return await _0x224ded['query']('DELETE\x20FROM\x20'+_0x375ca4+'\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',[_0x896696,_0x45264c,_0x270ca8]),_0x48544f['length'];}catch(_0x591c16){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x896696,{'error':_0x591c16});throw _0x591c16;}}async['retryMessages'](_0xbc13e9,_0x390659,_0x1445b1){return[];}async['getStreamStats'](_0x24f667){const _0x5c3838=this['streamClient'],_0x4b2357=this['getTableName']();try{const _0x3df0cb=await _0x5c3838['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x4b2357+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x24f667]);return{'messageCount':parseInt(_0x3df0cb['rows'][0x0]['count'],0xa)};}catch(_0x3794df){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x24f667,{'error':_0x3794df});throw _0x3794df;}}async['getStreamDepth'](_0x4e868f){const _0x342c4e=await this['getStreamStats'](_0x4e868f);return _0x342c4e['messageCount'];}async['getStreamDepths'](_0x36d7d2){const _0x5055b5=this['streamClient'],_0xdc02be=this['getTableName']();try{const _0x485c81=_0x36d7d2['map'](_0x299b57=>_0x299b57['stream']),_0x520cf3=await _0x5055b5['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xdc02be+'\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',[_0x485c81]),_0xcfd132=_0x520cf3['rows']['map'](_0x10b358=>({'stream':_0x10b358['stream_name'],'depth':parseInt(_0x10b358['count'],0xa)}));return _0xcfd132;}catch(_0x38e228){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x38e228});throw _0x38e228;}}async['trimStream'](_0x3b3240,_0x349cd4){const _0x5027d2=this['streamClient'],_0x229733=this['getTableName']();try{let _0x1c4fb6=0x0;if(_0x349cd4['maxLen']!==undefined){const _0x31e754=await _0x5027d2['query']('DELETE\x20FROM\x20'+_0x229733+'\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'+_0x229733+'\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)',[_0x3b3240,_0x349cd4['maxLen']]);_0x1c4fb6+=_0x31e754['rowCount'];}if(_0x349cd4['maxAge']!==undefined){const _0x3d75bf=await _0x5027d2['query']('DELETE\x20FROM\x20'+_0x229733+'\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'+_0x349cd4['maxAge']+'\x20milliseconds\x27',[_0x3b3240]);_0x1c4fb6+=_0x3d75bf['rowCount'];}return _0x1c4fb6;}catch(_0x34bd27){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x3b3240,{'error':_0x34bd27});throw _0x34bd27;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
@@ -1 +1 @@
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
+ 'use strict';(function(_0x50483a,_0xb1519f){const _0xd2f1a2=_0x3ba0,_0x4e5263=_0x50483a();while(!![]){try{const _0xf37ed3=-parseInt(_0xd2f1a2(0x147))/0x1+-parseInt(_0xd2f1a2(0x143))/0x2*(parseInt(_0xd2f1a2(0x146))/0x3)+parseInt(_0xd2f1a2(0x142))/0x4+parseInt(_0xd2f1a2(0x145))/0x5+-parseInt(_0xd2f1a2(0x144))/0x6+-parseInt(_0xd2f1a2(0x141))/0x7*(parseInt(_0xd2f1a2(0x149))/0x8)+parseInt(_0xd2f1a2(0x148))/0x9;if(_0xf37ed3===_0xb1519f)break;else _0x4e5263['push'](_0x4e5263['shift']());}catch(_0x13aa5c){_0x4e5263['push'](_0x4e5263['shift']());}}}(_0x593b,0x343a0));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(_0x57763e,_0x46196a,_0x49b08d={}){super(_0x57763e,_0x46196a,_0x49b08d);}async['init'](_0x3d12ed,_0x29a70f,_0x4cb390){this['namespace']=_0x3d12ed,this['logger']=_0x4cb390,this['appId']=_0x29a70f;}['mintKey'](_0x3e24ec,_0x5b6e07){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x3e24ec,{..._0x5b6e07,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x32e896){try{const _0x37995a=await this['streamClient']['xadd'](_0x32e896,'*','field','value');return await this['streamClient']['xdel'](_0x32e896,_0x37995a),!![];}catch(_0x51b455){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x32e896,{'error':_0x51b455});throw _0x51b455;}}async['deleteStream'](_0x2f33fe){try{const _0x473cfd=await this['streamClient']['del'](_0x2f33fe);return _0x473cfd>0x0;}catch(_0x59e461){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x2f33fe,{'error':_0x59e461});throw _0x59e461;}}async['createConsumerGroup'](_0x5b91fa,_0x140399){try{return await this['storeClient']['xgroup']('CREATE',_0x5b91fa,_0x140399,'$','MKSTREAM')==='OK';}catch(_0x16e7e3){this['logger']['debug']('stream-mkstream-caught',{'key':_0x5b91fa,'group':_0x140399});throw _0x16e7e3;}}async['deleteConsumerGroup'](_0x444b47,_0x5a0baa){try{const _0x19f72f=await this['streamClient']['xgroup']('DESTROY',_0x444b47,_0x5a0baa);return _0x19f72f===0x1;}catch(_0x4a7cda){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x5a0baa+'\x20for\x20stream\x20'+_0x444b47,{'error':_0x4a7cda});throw _0x4a7cda;}}async['publishMessages'](_0x2c4264,_0x3751d2,_0x141e56){try{const _0x28e813=_0x141e56?.['transaction']||_0x3751d2['length']>0x1&&this['storeClient']['multi']();let _0x5c9432;for(const _0x4646ab of _0x3751d2){_0x5c9432=await(_0x28e813||this['storeClient'])['xadd'](_0x2c4264,'*','message',_0x4646ab);}return _0x28e813&&!_0x141e56?.['transaction']?(await _0x28e813['exec']())['map'](_0x1b46ec=>_0x1b46ec[0x1]):[_0x5c9432];}catch(_0x42eff4){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x2c4264,{..._0x42eff4});throw _0x42eff4;}}async['consumeMessages'](_0x6e1af4,_0x2addfc,_0x3cf955,_0x518a13){try{const _0x1baf43=await this['streamClient']['xreadgroup']('GROUP',_0x2addfc,_0x3cf955,'BLOCK',_0x518a13?.['blockTimeout']??enums_1['HMSH_BLOCK_TIME_MS'],'STREAMS',_0x6e1af4,'>'),_0xc963ff=[];if((0x0,utils_1['isStreamMessage'])(_0x1baf43)){const [[,_0x4ad356]]=_0x1baf43;for(const [_0x57fae3,_0xb13560]of _0x4ad356){_0xc963ff['push']({'id':_0x57fae3,'data':(0x0,utils_1['parseStreamMessage'])(_0xb13560[0x1])});}}else return[];return _0xc963ff;}catch(_0x26ba00){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x6e1af4,{'error':_0x26ba00});throw _0x26ba00;}}async['ackAndDelete'](_0x1d0fdd,_0x35e0ef,_0x3b6048){const _0x4aa058=this['storeClient']['multi']();return this['acknowledgeMessages'](_0x1d0fdd,_0x35e0ef,_0x3b6048,{'multi':_0x4aa058}),this['deleteMessages'](_0x1d0fdd,_0x35e0ef,_0x3b6048,{'multi':_0x4aa058}),await _0x4aa058['exec'](),_0x3b6048['length'];}async['acknowledgeMessages'](_0x1a4e81,_0xe9e171,_0x3b603c,_0x356c90){try{return _0x356c90?.['multi']?(_0x356c90['multi']['xack'](_0x1a4e81,_0xe9e171,..._0x3b603c),_0x356c90['multi']):await this['streamClient']['xack'](_0x1a4e81,_0xe9e171,..._0x3b603c);}catch(_0x4b4d99){this['logger']['error']('Error\x20in\x20acknowledging\x20messages:\x20['+_0x3b603c+']\x20in\x20group:\x20'+_0xe9e171+'\x20for\x20key:\x20'+_0x1a4e81,{..._0x4b4d99});throw _0x4b4d99;}}async['deleteMessages'](_0x32330b,_0x36c1f0,_0x4fa9d7,_0x51d3e2){try{return _0x51d3e2?.['multi']?(_0x51d3e2['multi']['xdel'](_0x32330b,..._0x4fa9d7),_0x51d3e2['multi']):await this['streamClient']['xdel'](_0x32330b,..._0x4fa9d7);}catch(_0x8b8c57){this['logger']['error']('Error\x20in\x20deleting\x20messages:\x20'+_0x4fa9d7+'\x20for\x20key:\x20'+_0x32330b,{..._0x8b8c57});throw _0x8b8c57;}}async['getPendingMessages'](_0x4f03c3,_0x53f979,_0x1826cc,_0x3ab024){const _0x5805ec='-',_0x4392f0='+';try{const _0x1cc0c0=[_0x4f03c3,_0x53f979];if(_0x5805ec)_0x1cc0c0['push'](_0x5805ec);if(_0x4392f0)_0x1cc0c0['push'](_0x4392f0);if(_0x1826cc!==undefined)_0x1cc0c0['push'](_0x1826cc['toString']());if(_0x3ab024)_0x1cc0c0['push'](_0x3ab024);try{return await this['streamClient']['call']('XPENDING',..._0x1cc0c0);}catch(_0x35e224){this['logger']['error']('err,\x20args',{..._0x35e224},_0x1cc0c0);}}catch(_0x1513bd){this['logger']['error']('Error\x20in\x20retrieving\x20pending\x20messages\x20for\x20[stream\x20'+_0x4f03c3+'],\x20[group\x20'+_0x53f979+']',{..._0x1513bd});throw _0x1513bd;}}async['retryMessages'](_0x435c4e,_0x34130e,_0x13b682){let _0x19a811=[];const _0x542587=await this['getPendingMessages'](_0x435c4e,_0x34130e,_0x13b682?.['limit']);for(const _0x54a6f0 of _0x542587){if(Array['isArray'](_0x54a6f0)){const [_0x249460,,_0x37c2b6,_0x10a39a]=_0x54a6f0;if(_0x37c2b6>_0x13b682?.['minIdleTime']){const _0x530269=await this['claimMessage'](_0x435c4e,_0x34130e,_0x13b682?.['consumerName'],_0x13b682?.['minIdleTime'],_0x249460);_0x19a811=_0x19a811['concat'](_0x530269);}}}return _0x19a811;}async['claimMessage'](_0xcab372,_0x55c08b,_0x1cefe1,_0xaa9ef4,_0x583778,..._0x3f5069){try{const _0x3af2c7=await this['streamClient']['xclaim'](_0xcab372,_0x55c08b,_0x1cefe1,_0xaa9ef4,_0x583778,..._0x3f5069);return{'id':_0x3af2c7[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x3af2c7[0x0][0x1][0x1])};}catch(_0xe837da){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x583778+'\x20in\x20group:\x20'+_0x55c08b+'\x20for\x20key:\x20'+_0xcab372,{..._0xe837da});throw _0xe837da;}}async['getStreamStats'](_0x3db50c){return{'messageCount':await this['getStreamDepth'](_0x3db50c)};}async['getStreamDepth'](_0x13c541,_0x103146){try{if(_0x103146?.['multi'])return _0x103146['multi']['xlen'](_0x13c541),0x0;const _0x131610=await this['streamClient']['xlen'](_0x13c541);return _0x131610;}catch(_0x5d967d){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x13c541,{'error':_0x5d967d});throw _0x5d967d;}}async['getStreamDepths'](_0x49e073){const _0x501099=this['storeClient']['multi'](),_0x5182e0=new Map();_0x49e073['forEach'](_0x31391a=>{!_0x5182e0['has'](_0x31391a['stream'])&&(_0x5182e0['set'](_0x31391a['stream'],-0x1),this['getStreamDepth'](_0x31391a['stream'],{'multi':_0x501099}));});const _0x5aa8ac=await _0x501099['exec']();Array['from'](_0x5182e0['keys']())['forEach']((_0x146df6,_0x1a720f)=>{_0x5182e0['set'](_0x146df6,_0x5aa8ac[_0x1a720f][0x1]);});const _0x8e943f=_0x49e073['map'](_0x10af94=>{return{'stream':_0x10af94['stream'],'depth':_0x5182e0['get'](_0x10af94['stream'])||0x0};});return _0x8e943f;}async['trimStream'](_0x5bd5eb,_0x38bf33){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}function _0x593b(){const _0x22c7ce=['24232mWLxwM','553rXCDTr','1460760GtsgzQ','2UHlHkU','443040KeiKFd','233550FEcFNV','1067565iEAwVV','290533jhwJWP','6853851xAsGlC'];_0x593b=function(){return _0x22c7ce;};return _0x593b();}function _0x3ba0(_0xe1eebe,_0x5e4f2d){const _0x593bf2=_0x593b();return _0x3ba0=function(_0x3ba04d,_0x21d343){_0x3ba04d=_0x3ba04d-0x141;let _0x3d6db4=_0x593bf2[_0x3ba04d];return _0x3d6db4;},_0x3ba0(_0xe1eebe,_0x5e4f2d);}exports['IORedisStreamService']=IORedisStreamService;
@@ -1 +1 @@
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
+ 'use strict';function _0x5495(){const _0x71e1a3=['675978wZjsjT','70yWbwFw','54603qRnmbE','936067zNwuUf','5243020XItfRA','1624392psiGQV','7413413FtZMDY','5EouFkN','456DndGbv','865419pJhikl','9WmRcUr'];_0x5495=function(){return _0x71e1a3;};return _0x5495();}(function(_0x31bd36,_0x113b3e){const _0x1f5f4e=_0x5678,_0x1e0aad=_0x31bd36();while(!![]){try{const _0x22d792=parseInt(_0x1f5f4e(0x9f))/0x1+-parseInt(_0x1f5f4e(0xa1))/0x2*(parseInt(_0x1f5f4e(0xa0))/0x3)+-parseInt(_0x1f5f4e(0x9a))/0x4*(-parseInt(_0x1f5f4e(0x9d))/0x5)+-parseInt(_0x1f5f4e(0x9b))/0x6+-parseInt(_0x1f5f4e(0x9c))/0x7+-parseInt(_0x1f5f4e(0x9e))/0x8*(-parseInt(_0x1f5f4e(0x98))/0x9)+-parseInt(_0x1f5f4e(0xa2))/0xa*(-parseInt(_0x1f5f4e(0x99))/0xb);if(_0x22d792===_0x113b3e)break;else _0x1e0aad['push'](_0x1e0aad['shift']());}catch(_0x11d763){_0x1e0aad['push'](_0x1e0aad['shift']());}}}(_0x5495,0xbcf1a));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStreamService']=void 0x0;function _0x5678(_0x301f34,_0x474d62){const _0x54956a=_0x5495();return _0x5678=function(_0x56780d,_0x178da6){_0x56780d=_0x56780d-0x98;let _0x486193=_0x54956a[_0x56780d];return _0x486193;},_0x5678(_0x301f34,_0x474d62);}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(_0x595f23,_0x32a167,_0x24fe30={}){super(_0x595f23,_0x32a167,_0x24fe30);}async['init'](_0x2de5bc,_0x3e0036,_0x42204e){this['namespace']=_0x2de5bc,this['logger']=_0x42204e,this['appId']=_0x3e0036;}['mintKey'](_0x5051f4,_0x3fe032){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5051f4,{..._0x3fe032,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0xdab66){try{const _0x53fd2d=await this['streamClient']['XADD'](_0xdab66,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0xdab66,_0x53fd2d),!![];}catch(_0xd9fef8){this['logger']['error']('Error\x20creating\x20stream\x20'+_0xdab66,{'error':_0xd9fef8});throw _0xd9fef8;}}async['deleteStream'](_0x42c2ad){try{const _0x3a95ad=await this['streamClient']['DEL'](_0x42c2ad);return _0x3a95ad>0x0;}catch(_0x5b24a5){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x42c2ad,{'error':_0x5b24a5});throw _0x5b24a5;}}async['createConsumerGroup'](_0x5596f6,_0x41ddb6){try{const _0x38ca2f=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x5596f6,_0x41ddb6,'$','MKSTREAM']);return _0x38ca2f==='OK';}catch(_0x5c452f){const _0x2ce5c8='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0x2ce5c8+'\x20for\x20key:\x20'+_0x5596f6+'\x20and\x20group:\x20'+_0x41ddb6,{..._0x5c452f});throw _0x5c452f;}}async['deleteConsumerGroup'](_0x5d94f4,_0x5e38e7){try{const _0x2f3f40=await this['streamClient']['xGroupDestroy'](_0x5d94f4,_0x5e38e7);return _0x2f3f40;}catch(_0x3de990){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x5e38e7+'\x20for\x20stream\x20'+_0x5d94f4,{'error':_0x3de990});throw _0x3de990;}}async['publishMessages'](_0x535ce1,_0x155128,_0x440c19){try{const _0x254697=_0x440c19?.['transaction']||_0x155128['length']>0x1&&this['storeClient']['multi']();let _0x3d9ac8;for(const _0x22550b of _0x155128){_0x3d9ac8=await(_0x254697||this['storeClient'])['XADD'](_0x535ce1,'*',{'message':_0x22550b});}return _0x254697&&!_0x440c19?.['transaction']?(await _0x254697['exec']())['map'](_0x2d261c=>_0x2d261c[0x1]):[_0x3d9ac8];}catch(_0x5b4fe7){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x535ce1,{..._0x5b4fe7});throw _0x5b4fe7;}}async['consumeMessages'](_0x12da82,_0x3bb51d,_0x3a810c,_0x2f8e2b){const _0x51bf5e='GROUP',_0x565de0='BLOCK',_0x2a895b='STREAMS',_0x3964d5='>';try{const _0x32a4e3=await this['streamClient']['sendCommand'](['XREADGROUP',_0x51bf5e,_0x3bb51d,_0x3a810c,_0x565de0,_0x2f8e2b?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x2a895b,_0x12da82,_0x3964d5]),_0x4306e9=[];if((0x0,utils_1['isStreamMessage'])(_0x32a4e3)){const [[,_0x45bdba]]=_0x32a4e3;for(const [_0x3bf48d,_0x48ffe0]of _0x45bdba){_0x4306e9['push']({'id':_0x3bf48d,'data':(0x0,utils_1['parseStreamMessage'])(_0x48ffe0[0x1])});}}else return[];return _0x4306e9;}catch(_0x3f68fb){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x12da82,{'error':_0x3f68fb});throw _0x3f68fb;}}async['ackAndDelete'](_0x552282,_0x3dd044,_0x3507ae){const _0x23130d=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x552282,_0x3dd044,_0x3507ae,{'multi':_0x23130d}),await this['deleteMessages'](_0x552282,_0x3dd044,_0x3507ae,{'multi':_0x23130d}),await _0x23130d['exec'](),_0x3507ae['length'];}async['acknowledgeMessages'](_0xae6b86,_0x43eb7f,_0x3ecc40,_0x218bef){try{return _0x218bef?.['multi']?(_0x218bef['multi']['XACK'](_0xae6b86,_0x43eb7f,_0x3ecc40),_0x218bef['multi']):await this['streamClient']['XACK'](_0xae6b86,_0x43eb7f,..._0x3ecc40);}catch(_0x2f32b3){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0x43eb7f+'\x20for\x20key:\x20'+_0xae6b86,{'error':_0x2f32b3});throw _0x2f32b3;}}async['deleteMessages'](_0xecf824,_0x2393bc,_0xedffe2,_0x55f26e){try{return _0x55f26e?.['multi']?(_0x55f26e['multi']['xDel'](_0xecf824,_0xedffe2),_0x55f26e['multi']):await this['streamClient']['XDEL'](_0xecf824,..._0xedffe2);}catch(_0x210486){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0xedffe2['join'](',')+'\x20for\x20key:\x20'+_0xecf824,{'error':_0x210486});throw _0x210486;}}async['getPendingMessages'](_0x1546b2,_0x2fa34c,_0x3309e5,_0x4fcf4e){try{const _0x2a7964='-',_0x5c3528='+',_0x2d2a7a=[_0x1546b2,_0x2fa34c];if(_0x2a7964)_0x2d2a7a['push'](_0x2a7964);if(_0x5c3528)_0x2d2a7a['push'](_0x5c3528);if(_0x3309e5!==undefined)_0x2d2a7a['push'](_0x3309e5['toString']());if(_0x4fcf4e)_0x2d2a7a['push'](_0x4fcf4e);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0x2d2a7a]);}catch(_0x465ebe){this['logger']['error']('error,\x20args',{..._0x465ebe},_0x2d2a7a);}}catch(_0x16ecd1){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x2fa34c+'\x20in\x20key:\x20'+_0x1546b2,{..._0x16ecd1});throw _0x16ecd1;}}async['retryMessages'](_0x2fc470,_0xcb43ea,_0x4bac44){let _0x5f0512=[];const _0x52b68d=await this['getPendingMessages'](_0x2fc470,_0xcb43ea,_0x4bac44?.['limit']);for(const _0x2ae7bf of _0x52b68d){if(Array['isArray'](_0x2ae7bf)){const [_0x42d25a,,_0x3ccdfb,_0x2518bc]=_0x2ae7bf;if(_0x3ccdfb>_0x4bac44?.['minIdleTime']){const _0x1ac9a1=await this['claimMessage'](_0x2fc470,_0xcb43ea,_0x4bac44?.['consumerName'],_0x4bac44?.['minIdleTime'],_0x42d25a);_0x5f0512=_0x5f0512['concat'](_0x1ac9a1);}}}return _0x5f0512;}async['claimMessage'](_0x2d9da7,_0xca9983,_0x18fdb0,_0x40b041,_0x4ca129,..._0x36fb3c){try{const _0xfe9d52=await this['streamClient']['sendCommand'](['XCLAIM',_0x2d9da7,_0xca9983,_0x18fdb0,_0x40b041['toString'](),_0x4ca129,..._0x36fb3c]);return{'id':_0xfe9d52[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0xfe9d52[0x0][0x1][0x1])};}catch(_0xa32054){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x4ca129+'\x20in\x20group:\x20'+_0xca9983+'\x20for\x20key:\x20'+_0x2d9da7,{..._0xa32054});throw _0xa32054;}}async['getStreamStats'](_0x21b629){return{'messageCount':await this['getStreamDepth'](_0x21b629)};}async['getStreamDepth'](_0x49cf0c,_0xb7235a){try{if(_0xb7235a?.['multi'])return _0xb7235a['multi']['XLEN'](_0x49cf0c),0x0;const _0x28f791=await this['streamClient']['XLEN'](_0x49cf0c);return _0x28f791;}catch(_0x119a0f){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x49cf0c,{'error':_0x119a0f});throw _0x119a0f;}}async['getStreamDepths'](_0x28cc62){const _0x34523b=this['storeClient']['multi'](),_0x45e886=new Map();_0x28cc62['forEach'](_0x4b339c=>{!_0x45e886['has'](_0x4b339c['stream'])&&(_0x45e886['set'](_0x4b339c['stream'],-0x1),this['getStreamDepth'](_0x4b339c['stream'],{'multi':_0x34523b}));});const _0x1679de=await _0x34523b['exec']();return Array['from'](_0x45e886['keys']())['forEach']((_0x393fe9,_0xe2f5ed)=>{_0x45e886['set'](_0x393fe9,_0x1679de[_0xe2f5ed]);}),_0x28cc62['map'](_0x2b8e00=>{return{'stream':_0x2b8e00['stream'],'depth':_0x45e886['get'](_0x2b8e00['stream'])||0x0};});}async['trimStream'](_0x7cb961,_0x5107a3){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['RedisStreamService']=RedisStreamService;
@@ -1 +1 @@
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
+ 'use strict';(function(_0x1cdf7a,_0x371d07){var _0xfc8c60=_0x3097,_0x2d1723=_0x1cdf7a();while(!![]){try{var _0x4161e5=parseInt(_0xfc8c60(0x178))/0x1*(parseInt(_0xfc8c60(0x17f))/0x2)+parseInt(_0xfc8c60(0x17c))/0x3*(parseInt(_0xfc8c60(0x17d))/0x4)+-parseInt(_0xfc8c60(0x17a))/0x5*(parseInt(_0xfc8c60(0x17e))/0x6)+-parseInt(_0xfc8c60(0x17b))/0x7*(-parseInt(_0xfc8c60(0x183))/0x8)+parseInt(_0xfc8c60(0x181))/0x9+parseInt(_0xfc8c60(0x182))/0xa*(-parseInt(_0xfc8c60(0x180))/0xb)+-parseInt(_0xfc8c60(0x179))/0xc;if(_0x4161e5===_0x371d07)break;else _0x2d1723['push'](_0x2d1723['shift']());}catch(_0x33ce42){_0x2d1723['push'](_0x2d1723['shift']());}}}(_0x4a6b,0x18d5b));function _0x4a6b(){var _0x39f330=['49BbFrgC','6yzRiAG','63100JooTOi','214518mttCFu','94652reZURo','11XTkGKM','471825plWNQF','50520IKqrbM','204808SAJkKR','1vvfARG','299616KfQqvW','25fzmdnk'];_0x4a6b=function(){return _0x39f330;};return _0x4a6b();}function _0x3097(_0x1eeed3,_0x107450){var _0x4a6bba=_0x4a6b();return _0x3097=function(_0x309717,_0x2ecfb4){_0x309717=_0x309717-0x178;var _0x2bc5f3=_0x4a6bba[_0x309717];return _0x2bc5f3;},_0x3097(_0x1eeed3,_0x107450);}Object['defineProperty'](exports,'__esModule',{'value':!![]});
@@ -1,7 +1,7 @@
1
+ import { SubService } from './index';
1
2
  import { ILogger } from '../logger';
2
3
  import { ProviderClient } from '../../types/provider';
3
- import { SubService } from './index';
4
4
  declare class SubServiceFactory {
5
- static init(providerClient: ProviderClient, providerStoreClient: ProviderClient, namespace: string, appId: string, engineId: string, logger: ILogger): Promise<SubService<ProviderClient>>;
5
+ static init(providerSubClient: ProviderClient, providerPubClient: ProviderClient, namespace: string, appId: string, engineId: string, logger: ILogger): Promise<SubService<ProviderClient>>;
6
6
  }
7
7
  export { SubServiceFactory };
@@ -1,21 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SubServiceFactory = void 0;
4
- const utils_1 = require("../../modules/utils");
5
4
  const ioredis_1 = require("./providers/redis/ioredis");
6
- const redis_1 = require("./providers/redis/redis");
5
+ const nats_1 = require("./providers/nats/nats");
7
6
  const postgres_1 = require("./providers/postgres/postgres");
7
+ const redis_1 = require("./providers/redis/redis");
8
+ const utils_1 = require("../../modules/utils");
8
9
  class SubServiceFactory {
9
- static async init(providerClient, providerStoreClient, namespace, appId, engineId, logger) {
10
+ static async init(providerSubClient, providerPubClient, namespace, appId, engineId, logger) {
10
11
  let service;
11
- if ((0, utils_1.identifyProvider)(providerClient) === 'redis') {
12
- service = new redis_1.RedisSubService(providerClient, providerStoreClient);
12
+ const providerType = (0, utils_1.identifyProvider)(providerSubClient);
13
+ if (providerType === 'nats') {
14
+ service = new nats_1.NatsSubService(providerSubClient, providerPubClient);
15
+ }
16
+ else if (providerType === 'redis') {
17
+ service = new redis_1.RedisSubService(providerSubClient, providerPubClient);
13
18
  }
14
- else if ((0, utils_1.identifyProvider)(providerClient) === 'postgres') {
15
- service = new postgres_1.PostgresSubService(providerClient, providerStoreClient);
19
+ else if (providerType === 'postgres') {
20
+ service = new postgres_1.PostgresSubService(providerSubClient, providerPubClient);
16
21
  }
17
22
  else {
18
- service = new ioredis_1.IORedisSubService(providerClient, providerStoreClient);
23
+ service = new ioredis_1.IORedisSubService(providerSubClient, providerPubClient);
19
24
  }
20
25
  await service.init(namespace, appId, engineId, logger);
21
26
  return service;
@@ -0,0 +1,19 @@
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 { NatsClientType } from '../../../../types/nats';
6
+ import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
7
+ declare class NatsSubService extends SubService<NatsClientType & ProviderClient> {
8
+ private subscriptions;
9
+ constructor(eventClient: NatsClientType, storeClient: NatsClientType);
10
+ init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
11
+ transact(): ProviderTransaction;
12
+ mintKey(type: KeyType, params: KeyStoreParams): string;
13
+ subscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, topic?: string): Promise<void>;
14
+ unsubscribe(keyType: KeyType.QUORUM, appId: string, engineId?: string): Promise<void>;
15
+ psubscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, topic?: string): Promise<void>;
16
+ punsubscribe(keyType: KeyType.QUORUM, appId: string, topic?: string): Promise<void>;
17
+ publish(keyType: KeyType.QUORUM, message: Record<string, any>, appId: string, topic?: string): Promise<boolean>;
18
+ }
19
+ export { NatsSubService };
@@ -0,0 +1 @@
1
+ 'use strict';function _0x20cd(_0x5bd5e2,_0x43934a){const _0x4476f4=_0x4476();return _0x20cd=function(_0x20cdaa,_0x15af0c){_0x20cdaa=_0x20cdaa-0xbe;let _0x4c370a=_0x4476f4[_0x20cdaa];return _0x4c370a;},_0x20cd(_0x5bd5e2,_0x43934a);}(function(_0x25360b,_0x4302c1){const _0x269ce4=_0x20cd,_0x3ad7bf=_0x25360b();while(!![]){try{const _0x477298=-parseInt(_0x269ce4(0xbe))/0x1*(-parseInt(_0x269ce4(0xc6))/0x2)+parseInt(_0x269ce4(0xc0))/0x3+-parseInt(_0x269ce4(0xbf))/0x4+parseInt(_0x269ce4(0xc3))/0x5*(parseInt(_0x269ce4(0xc5))/0x6)+-parseInt(_0x269ce4(0xc1))/0x7+parseInt(_0x269ce4(0xc4))/0x8+-parseInt(_0x269ce4(0xc2))/0x9;if(_0x477298===_0x4302c1)break;else _0x3ad7bf['push'](_0x3ad7bf['shift']());}catch(_0x142a4a){_0x3ad7bf['push'](_0x3ad7bf['shift']());}}}(_0x4476,0x325c7));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NatsSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');class NatsSubService extends index_1['SubService']{constructor(_0x525d23,_0x87f3cb){super(_0x525d23,_0x87f3cb),this['subscriptions']=new Map();}async['init'](_0x398ce5=key_1['HMNS'],_0x260205,_0x488b15,_0x298d6c){this['namespace']=_0x398ce5,this['logger']=_0x298d6c,this['appId']=_0x260205,this['engineId']=_0x488b15;}['transact'](){return{};}['mintKey'](_0x581abc,_0x3f1885){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x581abc,_0x3f1885)['replace'](/:/g,'.')['replace'](/\.$/g,'.X');}async['subscribe'](_0x1bc936,_0x45dbcc,_0x1ae1c8,_0x1a4186){const _0x1fda08=this['mintKey'](_0x1bc936,{'appId':_0x1ae1c8,'engineId':_0x1a4186}),_0x5dcba2=this['eventClient']['subscribe'](_0x1fda08);this['subscriptions']['set'](_0x1fda08,_0x5dcba2),this['logger']['debug']('nats-subscribe\x20'+_0x1fda08),(async()=>{for await(const _0x324e04 of _0x5dcba2){try{const _0x104469=JSON['parse'](_0x324e04['data']['toString']());_0x45dbcc(_0x1fda08,_0x104469);}catch(_0x945a0a){this['logger']['error']('nats-subscribe-message-parse-error:\x20'+_0x324e04['data']['toString'](),_0x945a0a);}}})()['catch'](_0x4c25d6=>{this['logger']['error']('nats-subscribe-error\x20'+_0x1fda08,_0x4c25d6);});}async['unsubscribe'](_0x1f8328,_0x137de4,_0x466a2f){const _0x33c9c0=this['mintKey'](_0x1f8328,{'appId':_0x137de4,'engineId':_0x466a2f}),_0xf44b1b=this['subscriptions']['get'](_0x33c9c0);_0xf44b1b?(_0xf44b1b['unsubscribe'](),this['subscriptions']['delete'](_0x33c9c0),this['logger']['debug']('nats-unsubscribe\x20'+_0x33c9c0)):this['logger']['warn']('nats-unsubscribe-error\x20'+_0x33c9c0);}async['psubscribe'](_0x112270,_0x527735,_0x39898d,_0x31c8d2){const _0x2d8b59=this['mintKey'](_0x112270,{'appId':_0x39898d,'engineId':_0x31c8d2}),_0x391eed=this['eventClient']['subscribe'](_0x2d8b59);this['subscriptions']['set'](_0x2d8b59,_0x391eed),this['logger']['debug']('nats-psubscribe\x20'+_0x2d8b59),(async()=>{for await(const _0x46dc8a of _0x391eed){try{const _0x497032=JSON['parse'](_0x46dc8a['data']['toString']());_0x527735(_0x46dc8a['subject'],_0x497032);}catch(_0x51b36c){this['logger']['error']('nats-parse-psubscription-message-error\x20'+_0x46dc8a['data']['toString'](),_0x51b36c);}}})()['catch'](_0xe1a175=>{this['logger']['error']('nats-pattern-psubscription-error\x20'+_0x2d8b59,_0xe1a175);});}async['punsubscribe'](_0x4aaf63,_0x321877,_0x58c59c){const _0x3db62d=this['mintKey'](_0x4aaf63,{'appId':_0x321877,'engineId':_0x58c59c}),_0x5d1961=this['subscriptions']['get'](_0x3db62d);_0x5d1961?(_0x5d1961['unsubscribe'](),this['subscriptions']['delete'](_0x3db62d),this['logger']['debug']('nats-punsubscribe\x20'+_0x3db62d)):this['logger']['warn']('nats-punsubscribe-error\x20'+_0x3db62d);}async['publish'](_0x4edfdc,_0x4ee7dc,_0x103a3b,_0x4b2747){const _0x17a0ee=this['mintKey'](_0x4edfdc,{'appId':_0x103a3b,'engineId':_0x4b2747});try{return this['storeClient']['publish'](_0x17a0ee,JSON['stringify'](_0x4ee7dc)),this['logger']['debug']('nats-publish\x20'+_0x17a0ee),!![];}catch(_0x762526){return this['logger']['error']('nats-publish-error\x20'+_0x17a0ee,_0x762526),![];}}}function _0x4476(){const _0x39b08b=['7eDUNLQ','209124pKndvE','771651ypYkfS','2146200NNDbzR','2418255KuocMo','2018995dpDeCw','717656fTXZqG','6zkYoLl','23752UyQvXe'];_0x4476=function(){return _0x39b08b;};return _0x4476();}exports['NatsSubService']=NatsSubService;
@@ -9,6 +9,7 @@ declare class PostgresSubService extends SubService<PostgresClientType & Provide
9
9
  init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
10
10
  transact(): ProviderTransaction;
11
11
  mintKey(type: KeyType, params: KeyStoreParams): string;
12
+ mintSafeKey(type: KeyType, params: KeyStoreParams): [string, string];
12
13
  subscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, engineId?: string): Promise<void>;
13
14
  unsubscribe(keyType: KeyType.QUORUM, appId: string, engineId?: string): Promise<void>;
14
15
  publish(keyType: KeyType.QUORUM, message: Record<string, any>, appId: string, engineId?: string): Promise<boolean>;
@@ -1 +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;
1
+ 'use strict';(function(_0x3cd142,_0xcde8a){const _0x4027a3=_0x4449,_0x555920=_0x3cd142();while(!![]){try{const _0x417272=-parseInt(_0x4027a3(0x176))/0x1+parseInt(_0x4027a3(0x179))/0x2*(-parseInt(_0x4027a3(0x17f))/0x3)+-parseInt(_0x4027a3(0x17a))/0x4+-parseInt(_0x4027a3(0x17c))/0x5*(-parseInt(_0x4027a3(0x178))/0x6)+-parseInt(_0x4027a3(0x17b))/0x7+-parseInt(_0x4027a3(0x17d))/0x8*(-parseInt(_0x4027a3(0x177))/0x9)+parseInt(_0x4027a3(0x17e))/0xa;if(_0x417272===_0xcde8a)break;else _0x555920['push'](_0x555920['shift']());}catch(_0x297cc3){_0x555920['push'](_0x555920['shift']());}}}(_0x2685,0x588f6));var __importDefault=this&&this['__importDefault']||function(_0x2a0b94){return _0x2a0b94&&_0x2a0b94['__esModule']?_0x2a0b94:{'default':_0x2a0b94};};function _0x2685(){const _0x587535=['594635PhFTtn','18rgQYPO','16806AUrcJz','38QJJcoy','879168CbXNYT','643076VhChOx','395iGeZlM','1934136KBxoHN','12341640AHcMUn','105780aDwMkM'];_0x2685=function(){return _0x587535;};return _0x2685();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresSubService']=void 0x0;const crypto_1=__importDefault(require('crypto')),key_1=require('../../../../modules/key'),index_1=require('../../index');class PostgresSubService extends index_1['SubService']{constructor(_0x1b6b42,_0x47653f){super(_0x1b6b42,_0x47653f);}async['init'](_0x518f3b=key_1['HMNS'],_0x5f5d6a,_0x499c1b,_0x24e2f1){this['namespace']=_0x518f3b,this['logger']=_0x24e2f1,this['appId']=_0x5f5d6a,this['engineId']=_0x499c1b;}['transact'](){throw new Error('Transactions\x20are\x20not\x20supported\x20in\x20lightweight\x20pub/sub');}['mintKey'](_0x41c5eb,_0x1e4c4e){if(!this['namespace'])throw new Error('Namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x41c5eb,_0x1e4c4e);}['mintSafeKey'](_0x372e3a,_0x248dcf){const _0x2e6618=this['mintKey'](_0x372e3a,_0x248dcf);if(_0x2e6618['length']<=0x3f)return[_0x2e6618,_0x2e6618];const {appId:appId='',engineId:engineId=''}=_0x248dcf,_0x455385=this['namespace']+':'+appId+':'+_0x372e3a,_0x175dca=0x3f-_0x455385['length']-0x1,_0xb0c877=crypto_1['default']['createHash']('sha256')['update'](engineId)['digest']('hex')['substring'](0x0,_0x175dca),_0x47db52=_0x455385+':'+_0xb0c877;return[_0x2e6618,_0x47db52];}async['subscribe'](_0x453ab9,_0x1f6da6,_0x20d2d6,_0x1d1e0c){const [_0x46e0e8,_0x862431]=this['mintSafeKey'](_0x453ab9,{'appId':_0x20d2d6,'engineId':_0x1d1e0c});await this['eventClient']['query']('LISTEN\x20\x22'+_0x862431+'\x22'),this['logger']['debug']('postgres-subscribe',{'originalKey':_0x46e0e8,'safeKey':_0x862431}),this['eventClient']['on']('notification',_0x2b1e89=>{if(_0x2b1e89['channel']===_0x862431)try{const _0x49aba1=JSON['parse'](_0x2b1e89['payload']||'{}');_0x1f6da6(_0x862431,_0x49aba1);}catch(_0x198934){this['logger']['error']('Error\x20parsing\x20message\x20for\x20topic\x20'+_0x862431+':',_0x198934);}});}async['unsubscribe'](_0x2fdff8,_0x4d4c99,_0xdbf43b){const [_0x327d04,_0x22568b]=this['mintSafeKey'](_0x2fdff8,{'appId':_0x4d4c99,'engineId':_0xdbf43b});await this['eventClient']['query']('UNLISTEN\x20\x22'+_0x22568b+'\x22'),this['logger']['debug']('postgres-subscribe',{'originalKey':_0x327d04,'safeKey':_0x22568b});}async['publish'](_0x5250bd,_0x189521,_0x21618b,_0x2addd9){const [_0x380e63,_0x1eff71]=this['mintSafeKey'](_0x5250bd,{'appId':_0x21618b,'engineId':_0x2addd9}),_0x138490=JSON['stringify'](_0x189521)['replace'](/'/g,'\x27\x27');return await this['storeClient']['query']('NOTIFY\x20\x22'+_0x1eff71+'\x22,\x20\x27'+_0x138490+'\x27'),this['logger']['debug']('postgres-publish',{'originalKey':_0x380e63,'safeKey':_0x1eff71}),!![];}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 _0x4449(_0x3aa5e1,_0x2943f5){const _0x268515=_0x2685();return _0x4449=function(_0x444914,_0x3916c0){_0x444914=_0x444914-0x176;let _0x3c7101=_0x268515[_0x444914];return _0x3c7101;},_0x4449(_0x3aa5e1,_0x2943f5);}exports['PostgresSubService']=PostgresSubService;
@@ -1 +1 @@
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;
1
+ 'use strict';(function(_0x5b41c7,_0x25d7c8){const _0x45ae1a=_0x385b,_0x2bf273=_0x5b41c7();while(!![]){try{const _0x1ef6cb=parseInt(_0x45ae1a(0x195))/0x1*(parseInt(_0x45ae1a(0x19d))/0x2)+-parseInt(_0x45ae1a(0x196))/0x3+parseInt(_0x45ae1a(0x199))/0x4+-parseInt(_0x45ae1a(0x19a))/0x5+-parseInt(_0x45ae1a(0x19e))/0x6+parseInt(_0x45ae1a(0x19c))/0x7*(parseInt(_0x45ae1a(0x19b))/0x8)+parseInt(_0x45ae1a(0x197))/0x9*(parseInt(_0x45ae1a(0x198))/0xa);if(_0x1ef6cb===_0x25d7c8)break;else _0x2bf273['push'](_0x2bf273['shift']());}catch(_0x357c44){_0x2bf273['push'](_0x2bf273['shift']());}}}(_0x476d,0xe4778));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');function _0x385b(_0x549061,_0x2be3a5){const _0x476d22=_0x476d();return _0x385b=function(_0x385b54,_0x3913fe){_0x385b54=_0x385b54-0x195;let _0x207e41=_0x476d22[_0x385b54];return _0x207e41;},_0x385b(_0x549061,_0x2be3a5);}class IORedisSubService extends index_1['SubService']{constructor(_0x5ab303,_0x101554){super(_0x5ab303,_0x101554);}async['init'](_0x23b124=key_1['HMNS'],_0x575f5e,_0xe407e4,_0x317ea6){this['namespace']=_0x23b124,this['logger']=_0x317ea6,this['appId']=_0x575f5e,this['engineId']=_0xe407e4;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x16cc96,_0x2cae73){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x16cc96,_0x2cae73);}async['subscribe'](_0x3d2ebf,_0x4b3866,_0x1b581f,_0x3dcba3){const _0x273e15=this,_0x56e76d=this['mintKey'](_0x3d2ebf,{'appId':_0x1b581f,'engineId':_0x3dcba3});await this['eventClient']['subscribe'](_0x56e76d,_0x101f77=>{_0x101f77&&_0x273e15['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x56e76d,_0x101f77);}),this['eventClient']['on']('message',(_0x4a9928,_0x61b5a8)=>{if(_0x4a9928===_0x56e76d)try{const _0xdd74eb=JSON['parse'](_0x61b5a8);_0x4b3866(_0x56e76d,_0xdd74eb);}catch(_0x2e129f){_0x273e15['logger']['error']('Error\x20parsing\x20message:\x20'+_0x61b5a8,_0x2e129f);}});}async['unsubscribe'](_0x58e279,_0x5caec9,_0x5c9a51){const _0x1c63ee=this['mintKey'](_0x58e279,{'appId':_0x5caec9,'engineId':_0x5c9a51});await this['eventClient']['unsubscribe'](_0x1c63ee);}async['psubscribe'](_0x4af9de,_0x4a302f,_0x4571b2,_0x160b2a){const _0x103d09=this,_0x31f880=this['mintKey'](_0x4af9de,{'appId':_0x4571b2,'engineId':_0x160b2a});await this['eventClient']['psubscribe'](_0x31f880,_0x5d095c=>{_0x5d095c&&_0x103d09['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x31f880,_0x5d095c);}),this['eventClient']['on']('pmessage',(_0xbfa2d9,_0x19c190,_0x4e5aa7)=>{if(_0xbfa2d9===_0x31f880)try{const _0x440c1f=JSON['parse'](_0x4e5aa7);_0x4a302f(_0x19c190,_0x440c1f);}catch(_0x4afaea){_0x103d09['logger']['error']('Error\x20parsing\x20message:\x20'+_0x4e5aa7,_0x4afaea);}});}async['punsubscribe'](_0x588730,_0x344ba9,_0x204a77){const _0x5bdfe2=this['mintKey'](_0x588730,{'appId':_0x344ba9,'engineId':_0x204a77});await this['eventClient']['punsubscribe'](_0x5bdfe2);}async['publish'](_0x4f8ba1,_0x30480b,_0x14b7a8,_0x1efcdb){const _0x17a7cd=this['mintKey'](_0x4f8ba1,{'appId':_0x14b7a8,'engineId':_0x1efcdb}),_0x446e8b=await this['storeClient']['publish'](_0x17a7cd,JSON['stringify'](_0x30480b));return _0x446e8b===0x1;}}function _0x476d(){const _0x1ea0b1=['3820872EjgEis','1kADdVi','2131677EtBGfL','9TEUumO','21264130TaNafO','4682568QxfToF','8721475MMgQgH','233344ribrET','84KMiUIx','760790OryCTw'];_0x476d=function(){return _0x1ea0b1;};return _0x476d();}exports['IORedisSubService']=IORedisSubService;
@@ -1 +1 @@
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
+ 'use strict';function _0x5250(){const _0x17f1ed=['861272ujDQta','311314PUrWOL','11nYYwhT','816972HsfAWw','9OYHvNZ','1388pqLItV','738XaSfLK','211981fgslzW','8248940Dcjofi','34515ywgHJy','44rMClcC'];_0x5250=function(){return _0x17f1ed;};return _0x5250();}(function(_0x8de4d6,_0x21d124){const _0x676582=_0x1214,_0x525c59=_0x8de4d6();while(!![]){try{const _0x157cd0=-parseInt(_0x676582(0x16c))/0x1+-parseInt(_0x676582(0x170))/0x2*(parseInt(_0x676582(0x171))/0x3)+-parseInt(_0x676582(0x16a))/0x4*(-parseInt(_0x676582(0x169))/0x5)+-parseInt(_0x676582(0x16e))/0x6+parseInt(_0x676582(0x172))/0x7+-parseInt(_0x676582(0x16b))/0x8*(parseInt(_0x676582(0x16f))/0x9)+parseInt(_0x676582(0x168))/0xa*(parseInt(_0x676582(0x16d))/0xb);if(_0x157cd0===_0x21d124)break;else _0x525c59['push'](_0x525c59['shift']());}catch(_0x1fb47f){_0x525c59['push'](_0x525c59['shift']());}}}(_0x5250,0x321c3));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;function _0x1214(_0x4031d6,_0x34de9e){const _0x525017=_0x5250();return _0x1214=function(_0x1214dc,_0x37fa72){_0x1214dc=_0x1214dc-0x168;let _0x3745a9=_0x525017[_0x1214dc];return _0x3745a9;},_0x1214(_0x4031d6,_0x34de9e);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class RedisSubService extends index_1['SubService']{constructor(_0x19acb2,_0x3ed453){super(_0x19acb2,_0x3ed453);}async['init'](_0x43b0f1=key_1['HMNS'],_0x5f2bfe,_0xcf4d15,_0x57f448){this['namespace']=_0x43b0f1,this['logger']=_0x57f448,this['appId']=_0x5f2bfe,this['engineId']=_0xcf4d15;}['transact'](){const _0x5c284b=this['eventClient']['multi']();return _0x5c284b;}['mintKey'](_0x55b519,_0x1a08fe){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x55b519,_0x1a08fe);}async['subscribe'](_0x918ca0,_0x47f97f,_0x3cfa4f,_0x4503d2){if(this['eventClient']){const _0x4bdc54=this,_0x2519f2=this['mintKey'](_0x918ca0,{'appId':_0x3cfa4f,'engineId':_0x4503d2});await this['eventClient']['subscribe'](_0x2519f2,_0x530b8c=>{try{const _0x3dcbc1=JSON['parse'](_0x530b8c);_0x47f97f(_0x2519f2,_0x3dcbc1);}catch(_0xa5777d){_0x4bdc54['logger']['error']('Error\x20parsing\x20message:\x20'+_0x530b8c,_0xa5777d);}});}}async['unsubscribe'](_0x3569bb,_0x1effac,_0x408b40){const _0x4c3b0d=this['mintKey'](_0x3569bb,{'appId':_0x1effac,'engineId':_0x408b40});await this['eventClient']['unsubscribe'](_0x4c3b0d);}async['psubscribe'](_0x89bebd,_0x12edd6,_0x51d61c,_0x9290a0){if(this['eventClient']){const _0xf0cea1=this,_0x3ed37f=this['mintKey'](_0x89bebd,{'appId':_0x51d61c,'engineId':_0x9290a0});await this['eventClient']['pSubscribe'](_0x3ed37f,(_0x4e57dd,_0x5e53e3)=>{try{const _0x3a4cc2=JSON['parse'](_0x4e57dd);_0x12edd6(_0x5e53e3,_0x3a4cc2);}catch(_0x1cc041){_0xf0cea1['logger']['error']('Error\x20parsing\x20message:\x20'+_0x4e57dd,_0x1cc041);}});}}async['punsubscribe'](_0x56eb8b,_0x4b313d,_0x4ad3f1){const _0x57331b=this['mintKey'](_0x56eb8b,{'appId':_0x4b313d,'engineId':_0x4ad3f1});await this['eventClient']['pUnsubscribe'](_0x57331b);}async['publish'](_0x44362c,_0x40d10c,_0x381103,_0x37970c){const _0x3a4349=this['mintKey'](_0x44362c,{'appId':_0x381103,'engineId':_0x37970c}),_0x1c1b00=await this['storeClient']['publish'](_0x3a4349,JSON['stringify'](_0x40d10c));return _0x1c1b00>0x0;}}exports['RedisSubService']=RedisSubService;
@@ -1 +1 @@
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
+ 'use strict';(function(_0x1e13c7,_0x54defa){const _0x5bacf1=_0x5442,_0x2331da=_0x1e13c7();while(!![]){try{const _0x223014=-parseInt(_0x5bacf1(0x7b))/0x1*(parseInt(_0x5bacf1(0x78))/0x2)+parseInt(_0x5bacf1(0x80))/0x3+-parseInt(_0x5bacf1(0x76))/0x4*(parseInt(_0x5bacf1(0x7f))/0x5)+-parseInt(_0x5bacf1(0x7c))/0x6*(-parseInt(_0x5bacf1(0x79))/0x7)+parseInt(_0x5bacf1(0x7e))/0x8*(-parseInt(_0x5bacf1(0x81))/0x9)+parseInt(_0x5bacf1(0x7d))/0xa*(-parseInt(_0x5bacf1(0x7a))/0xb)+parseInt(_0x5bacf1(0x77))/0xc;if(_0x223014===_0x54defa)break;else _0x2331da['push'](_0x2331da['shift']());}catch(_0x290eeb){_0x2331da['push'](_0x2331da['shift']());}}}(_0x3798,0x42e73));function _0x3798(){const _0xbf8f14=['2wWIWuA','35NBsUmq','33VJRvQx','126521ncTZOu','99708oicrrp','31190yQdQJi','8824sXsjlc','5eDimxG','248796zpyMeq','3123yrAZlc','684568WVVGsk','9573288lpfwyX'];_0x3798=function(){return _0xbf8f14;};return _0x3798();}function _0x5442(_0x3d5b14,_0x2485b1){const _0x3798db=_0x3798();return _0x5442=function(_0x544200,_0x2638d6){_0x544200=_0x544200-0x76;let _0x107f44=_0x3798db[_0x544200];return _0x107f44;},_0x5442(_0x3d5b14,_0x2485b1);}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(_0xc8da7d,_0x5c1b1b){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x5c1b1b,this['store']=_0xc8da7d;}async['processWebHooks'](_0x443b7a){const _0x29aa09=await this['store']['getActiveTaskQueue']();if(_0x29aa09){const [_0x5d9e16,_0x23a4d0,_0xb5a45e,..._0x24e44e]=_0x29aa09['split'](key_1['WEBSEP']),_0x23592e=JSON['parse'](_0x24e44e['join'](key_1['WEBSEP'])),_0x298233=_0x23a4d0+':processed',_0x17e7bb=await this['store']['processTaskQueue'](_0x23a4d0,_0x298233);_0x17e7bb?await _0x443b7a(_0x5d9e16,{..._0x23592e,'id':_0x17e7bb}):await this['store']['deleteProcessedTaskQueue'](_0x29aa09,_0x23a4d0,_0x298233,_0xb5a45e==='true'),setImmediate(()=>this['processWebHooks'](_0x443b7a));}}async['enqueueWorkItems'](_0x4d86a4){await this['store']['addTaskQueues'](_0x4d86a4);}async['registerJobForCleanup'](_0x34fe4e,_0x18dccf=enums_1['HMSH_EXPIRE_DURATION'],_0x3cc5b6){_0x18dccf>0x0&&await this['store']['expireJob'](_0x34fe4e,_0x18dccf);}async['registerTimeHook'](_0x5dcbfe,_0x396598,_0x44c2e3,_0x21d1c6,_0x14f855=enums_1['HMSH_FIDELITY_SECONDS'],_0x2a1ebc,_0x236f3d){const _0x4cd12e=Date['now']()+_0x14f855*0x3e8,_0x367486=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x18099b=Math['floor'](_0x4cd12e/_0x367486)*_0x367486;await this['store']['registerTimeHook'](_0x5dcbfe,_0x396598,_0x44c2e3,_0x21d1c6,_0x18099b,_0x2a1ebc,_0x236f3d);}async['shouldScout'](){const _0x4db51a=this['isScout'],_0x5f5201=_0x4db51a||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x5f5201)return!_0x4db51a&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0xd2e00d,_0x13d9aa){if(await this['shouldScout']())try{const _0x54ae57=await this['store']['getNextTask'](_0x13d9aa);if(Array['isArray'](_0x54ae57)){const [_0x4b90bb,_0x215cdc,_0x3428e6,_0x218cb7,_0x2355ce]=_0x54ae57;if(_0x2355ce==='child'){}else{if(_0x2355ce==='delist'){const _0x188004=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x188004,_0x215cdc);}else await _0xd2e00d(_0x215cdc,_0x3428e6,_0x218cb7,_0x2355ce);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0xd2e00d,_0x4b90bb);}else{if(_0x54ae57)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0xd2e00d);else{const _0x183faa=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x183faa['timerId'],await _0x183faa['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0xd2e00d);}}}catch(_0x509b55){this['logger']['warn']('task-process-timehooks-error',_0x509b55),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0xd2e00d);}else{const _0x44cf76=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x44cf76['timerId'],await _0x44cf76['promise'],this['processTimeHooks'](_0xd2e00d);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x58ff39){const _0x365a55=await this['store']['getHookRules']();return _0x365a55?.[_0x58ff39]?.[0x0];}async['registerWebHook'](_0x1258b3,_0x19d727,_0x49729d,_0x3f827a,_0x119f6e){const _0x4936c9=await this['getHookRule'](_0x1258b3);if(_0x4936c9){const _0x204a86=_0x4936c9['conditions']['match'][0x0]['expected'],_0x2ba932=pipe_1['Pipe']['resolve'](_0x204a86,_0x19d727),_0x3e3f0c=_0x19d727['metadata']['jid'],_0x52e064=_0x19d727['metadata']['gid'],_0x31269e=_0x4936c9['to'],_0x93c816=[_0x31269e,_0x49729d,_0x52e064,_0x3e3f0c]['join'](key_1['WEBSEP']),_0x5e5703={'topic':_0x1258b3,'resolved':_0x2ba932,'jobId':_0x93c816,'expire':_0x3f827a};return await this['store']['setHookSignal'](_0x5e5703,_0x119f6e),_0x3e3f0c;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x2ee092,_0x5b9a41){const _0x37592e=await this['getHookRule'](_0x2ee092);if(_0x37592e){const _0x25e954={'$self':{'hook':{'data':_0x5b9a41}},'$hook':{'data':_0x5b9a41}},_0x55990a=_0x37592e['conditions']['match'][0x0]['actual'],_0x2aa7b4=pipe_1['Pipe']['resolve'](_0x55990a,_0x25e954),_0x162409=await this['store']['getHookSignal'](_0x2ee092,_0x2aa7b4);if(!_0x162409)return undefined;const [_0x38974c,_0x380c0e,_0x24c742,..._0x1516b6]=_0x162409['split'](key_1['WEBSEP']);return[_0x1516b6['join'](key_1['WEBSEP']),_0x37592e['to'],_0x380c0e,_0x24c742];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0x142db1,_0x2e45be){const _0x8c4d28=await this['getHookRule'](_0x142db1);if(_0x8c4d28){const _0x360cb1={'$self':{'hook':{'data':_0x2e45be}},'$hook':{'data':_0x2e45be}},_0x4415d6=_0x8c4d28['conditions']['match'][0x0]['actual'],_0x5de6d5=pipe_1['Pipe']['resolve'](_0x4415d6,_0x360cb1);return await this['store']['deleteHookSignal'](_0x142db1,_0x5de6d5);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}exports['TaskService']=TaskService;
@@ -1 +1 @@
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;
1
+ 'use strict';(function(_0x583a83,_0x52f14e){const _0xc3def8=_0x2e82,_0x3c7649=_0x583a83();while(!![]){try{const _0x5921d7=parseInt(_0xc3def8(0x19c))/0x1+parseInt(_0xc3def8(0x19b))/0x2+-parseInt(_0xc3def8(0x19d))/0x3*(parseInt(_0xc3def8(0x1a1))/0x4)+-parseInt(_0xc3def8(0x19e))/0x5+parseInt(_0xc3def8(0x1a0))/0x6*(parseInt(_0xc3def8(0x19f))/0x7)+parseInt(_0xc3def8(0x19a))/0x8+-parseInt(_0xc3def8(0x1a2))/0x9;if(_0x5921d7===_0x52f14e)break;else _0x3c7649['push'](_0x3c7649['shift']());}catch(_0x37d337){_0x3c7649['push'](_0x3c7649['shift']());}}}(_0x479c,0x4a2be));function _0x2e82(_0x4be80c,_0x334788){const _0x479c06=_0x479c();return _0x2e82=function(_0x2e8232,_0x1c5f48){_0x2e8232=_0x2e8232-0x19a;let _0x46011d=_0x479c06[_0x2e8232];return _0x46011d;},_0x2e82(_0x4be80c,_0x334788);}var __importDefault=this&&this['__importDefault']||function(_0x47011b){return _0x47011b&&_0x47011b['__esModule']?_0x47011b:{'default':_0x47011b};};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');function _0x479c(){const _0x4de5a9=['11422620hMoESY','3585312RyfZZv','1122196FGZKfs','483597DxQWlP','1132389RLrDrj','226055BNuKxB','3519607UtXCvN','6xWShhi','4ZgkfCl'];_0x479c=function(){return _0x4de5a9;};return _0x479c();}class TelemetryService{constructor(_0x5d0010,_0x2fb1fd,_0x3b0f59,_0x1b77ad){this['leg']=0x1,this['appId']=_0x5d0010,this['config']=_0x2fb1fd,this['metadata']=_0x3b0f59,this['context']=_0x1b77ad;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x491ba3){return _0x491ba3===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x2fcd58='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x1fee57=this['getTraceId'](),_0x1efe50=this['getJobParentSpanId'](),_0xe21d2b=this['getSpanAttrs'](0x1),_0x4dc540=this['startSpan'](_0x1fee57,_0x1efe50,_0x2fcd58,_0xe21d2b);return this['jobSpan']=_0x4dc540,this['setTelemetryContext'](_0x4dc540,0x1),this;}['startActivitySpan'](_0x4b00e7=this['leg']){const _0x511b61=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x4b00e7,_0x1660d2=this['getTraceId'](),_0xbb7c3a=this['getActivityParentSpanId'](_0x4b00e7),_0x10cd5b=this['getSpanAttrs'](_0x4b00e7),_0x5e53b1=this['startSpan'](_0x1660d2,_0xbb7c3a,_0x511b61,_0x10cd5b);return this['setTelemetryContext'](_0x5e53b1,_0x4b00e7),this['span']=_0x5e53b1,this;}['startStreamSpan'](_0x2d45ff,_0x530ac2){let _0x1ab6db;if(_0x530ac2===stream_1['StreamRole']['SYSTEM'])_0x1ab6db='SYSTEM';else{if(_0x530ac2===stream_1['StreamRole']['WORKER'])_0x1ab6db='EXECUTE';else _0x2d45ff['type']===stream_1['StreamDataType']['RESULT']||_0x2d45ff['type']===stream_1['StreamDataType']['RESPONSE']?_0x1ab6db='FANIN':_0x1ab6db='FANOUT';}const _0x1c12e9=_0x2d45ff['metadata']['topic']?'/'+_0x2d45ff['metadata']['topic']:'',_0x6046e1=_0x1ab6db+'/'+this['appId']+'/'+_0x2d45ff['metadata']['aid']+_0x1c12e9,_0x2e83b9=this['getStreamSpanAttrs'](_0x2d45ff),_0x3a3395=this['startSpan'](_0x2d45ff['metadata']['trc'],_0x2d45ff['metadata']['spn'],_0x6046e1,_0x2e83b9);return this['span']=_0x3a3395,this;}['startSpan'](_0x5a58ff,_0x598614,_0x2bcbd4,_0x5cb531){this['traceId']=_0x5a58ff,this['spanId']=_0x598614;const _0x3dfd02=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x5aa534=this['getParentSpanContext'](),_0x16d99b=_0x3dfd02['startSpan'](_0x2bcbd4,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x5cb531,'root':!_0x5aa534},_0x5aa534);return _0x16d99b;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x403429=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x13f3a3={...Object['keys'](_0x403429)['reduce']((_0x4223cc,_0x58c39e)=>{return['string','boolean','number']['includes'](typeof _0x403429[_0x58c39e])&&(_0x4223cc['app.activity.data.'+_0x58c39e]=_0x403429[_0x58c39e]),_0x4223cc;},{})};this['span']?.['setAttributes'](_0x13f3a3);}}['setActivityAttributes'](_0x1a9538){this['span']?.['setAttributes'](_0x1a9538);}['setStreamAttributes'](_0x505f44){this['span']?.['setAttributes'](_0x505f44);}['setJobAttributes'](_0x604f92){this['jobSpan']?.['setAttributes'](_0x604f92);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0x48c789){_0x48c789&&_0x48c789['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x51947b={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x5d7223=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x51947b);return _0x5d7223;}}['getSpanAttrs'](_0x379367){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x25974a,_0x1d6cff)=>{return _0x1d6cff!=='trc'&&(_0x25974a['app.job.'+_0x1d6cff]=this['context']['metadata'][_0x1d6cff]),_0x25974a;},{}),...Object['keys'](this['metadata'])['reduce']((_0xf57d1a,_0x531a4c)=>{return _0xf57d1a['app.activity.'+_0x531a4c]=this['metadata'][_0x531a4c],_0xf57d1a;},{}),'app.activity.leg':_0x379367};}['getStreamSpanAttrs'](_0x3cecf1){return{...Object['keys'](_0x3cecf1['metadata'])['reduce']((_0x107129,_0x536b45)=>{return _0x536b45!=='trc'&&_0x536b45!=='spn'&&(_0x107129['app.stream.'+_0x536b45]=_0x3cecf1['metadata'][_0x536b45]),_0x107129;},{})};}['setTelemetryContext'](_0xa0dca,_0x10511e){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0xa0dca['spanContext']()['traceId']),_0x10511e===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0xa0dca['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0xa0dca['spanContext']()['spanId']);}['setActivityError'](_0x4a55a4){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x4a55a4});}['setStreamError'](_0x51026a){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x51026a});}static['addTargetTelemetryPaths'](_0x1f301a,_0x277fbc,_0x28a234,_0x358010){_0x358010===0x1?(!(_0x277fbc['parent']in _0x1f301a)&&(_0x1f301a[_0x277fbc['parent']]=[]),_0x1f301a[_0x277fbc['parent']]['push'](_0x277fbc['parent']+'/output/metadata/l2s')):(!(_0x28a234['aid']in _0x1f301a)&&(_0x1f301a[_0x28a234['aid']]=[]),_0x1f301a[_0x28a234['aid']]['push'](_0x28a234['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0xcfde54,_0x4acb91,_0xdece9c){_0x4acb91['type']==='trigger'&&(_0xcfde54['metadata/trc']=_0xdece9c['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x56fa0f,_0x1a821e,_0x4c552b,_0x4ad75d,_0x146412){if(_0x1a821e['type']==='trigger')_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l1s']=_0x4ad75d['$self']['output']['metadata']['l1s'],_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l2s']=_0x4ad75d['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x1a821e['type'])==='hook'&&_0x146412===0x1)_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l1s']=_0x4ad75d['$self']['output']['metadata']['l1s'],_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l2s']=_0x4ad75d['$self']['output']['metadata']['l1s'];else{if(_0x1a821e['type']==='signal'&&_0x146412===0x1)_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l1s']=_0x4ad75d['$self']['output']['metadata']['l1s'],_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l2s']=_0x4ad75d['$self']['output']['metadata']['l1s'];else{const _0x366c83='l'+_0x146412+'s';_0x56fa0f[_0x4c552b['aid']+'/output/metadata/'+_0x366c83]=_0x4ad75d['$self']['output']['metadata'][_0x366c83];}}}}}exports['TelemetryService']=TelemetryService;