@hotmeshio/hotmesh 0.3.11 → 0.3.12
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.
- package/README.md +6 -8
- package/build/modules/key.js +1 -1
- package/build/modules/utils.js +1 -1
- package/build/package.json +4 -4
- package/build/services/activities/activity.js +1 -1
- package/build/services/activities/await.js +1 -1
- package/build/services/activities/cycle.js +1 -1
- package/build/services/activities/hook.js +1 -1
- package/build/services/activities/index.js +1 -1
- package/build/services/activities/interrupt.js +1 -1
- package/build/services/activities/signal.js +1 -1
- package/build/services/activities/trigger.js +1 -1
- package/build/services/activities/worker.js +1 -1
- package/build/services/collator/index.js +1 -1
- package/build/services/compiler/deployer.js +1 -1
- package/build/services/compiler/index.js +1 -1
- package/build/services/compiler/validator.js +1 -1
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshdata/index.d.ts +4 -3
- package/build/services/meshdata/index.js +3 -2
- package/build/services/meshflow/client.d.ts +1 -0
- package/build/services/meshflow/client.js +18 -6
- package/build/services/meshflow/connection.d.ts +2 -2
- package/build/services/meshflow/connection.js +1 -1
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/worker.d.ts +2 -1
- package/build/services/meshflow/worker.js +27 -16
- package/build/services/meshos/index.d.ts +2 -1
- package/build/services/meshos/index.js +7 -4
- package/build/services/pipe/functions/array.js +1 -1
- package/build/services/pipe/functions/bitwise.js +1 -1
- package/build/services/pipe/functions/conditional.js +1 -1
- package/build/services/pipe/functions/cron.js +1 -1
- package/build/services/pipe/functions/date.js +1 -1
- package/build/services/pipe/functions/index.js +1 -1
- package/build/services/pipe/functions/json.js +1 -1
- package/build/services/pipe/functions/logical.js +1 -1
- package/build/services/pipe/functions/math.js +1 -1
- package/build/services/pipe/functions/number.js +1 -1
- package/build/services/pipe/functions/object.js +1 -1
- package/build/services/pipe/functions/string.js +1 -1
- package/build/services/pipe/functions/symbol.js +1 -1
- package/build/services/pipe/functions/unary.js +1 -1
- package/build/services/pipe/index.js +1 -1
- package/build/services/quorum/index.js +1 -1
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.js +1 -1
- package/build/services/search/factory.d.ts +2 -2
- package/build/services/search/factory.js +8 -4
- package/build/services/search/providers/postgres/postgres.d.ts +21 -0
- package/build/services/search/providers/postgres/postgres.js +1 -0
- package/build/services/search/providers/redis/ioredis.js +1 -1
- package/build/services/search/providers/redis/redis.js +1 -1
- package/build/services/serializer/index.js +1 -1
- package/build/services/store/providers/postgres/kvsql.d.ts +2 -1
- package/build/services/store/providers/postgres/kvsql.js +1 -1
- package/build/services/store/providers/postgres/postgres.d.ts +1 -1
- package/build/services/store/providers/postgres/postgres.js +1 -1
- package/build/services/store/providers/redis/_base.js +1 -1
- package/build/services/store/providers/redis/ioredis.js +1 -1
- package/build/services/store/providers/redis/redis.js +1 -1
- package/build/services/store/providers/store-initializable.js +1 -1
- package/build/services/stream/providers/nats/nats.js +1 -1
- package/build/services/stream/providers/postgres/postgres.js +1 -1
- package/build/services/stream/providers/redis/ioredis.js +1 -1
- package/build/services/stream/providers/redis/redis.js +1 -1
- package/build/services/stream/providers/stream-initializable.js +1 -1
- package/build/services/sub/providers/redis/ioredis.js +1 -1
- package/build/services/sub/providers/redis/redis.js +1 -1
- package/build/services/task/index.js +1 -1
- package/build/services/telemetry/index.js +1 -1
- package/build/services/worker/index.js +1 -1
- package/build/types/manifest.d.ts +12 -3
- package/build/types/meshflow.d.ts +2 -2
- package/build/types/postgres.d.ts +1 -0
- package/build/types/provider.d.ts +7 -0
- package/package.json +4 -4
- package/types/manifest.ts +12 -3
- package/types/meshflow.ts +2 -2
- package/types/postgres.ts +2 -0
- package/types/provider.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';function _0x54bb(){const _0x1df42a=['1214984QklQNE','12SAJhmX','12510355svblOl','120jclIru','3001126dxrUeX','1853045xxaHJK','9vWKcRG','9493188EejegY','84cxCDcl','41012RfnHNs','1563450MeKPfn','11aySwhc','28jkrTyg','1EczQtp'];_0x54bb=function(){return _0x1df42a;};return _0x54bb();}function _0x4991(_0x2048aa,_0x480e4a){const _0x54bb91=_0x54bb();return _0x4991=function(_0x49915d,_0x32abb3){_0x49915d=_0x49915d-0xdd;let _0x169250=_0x54bb91[_0x49915d];return _0x169250;},_0x4991(_0x2048aa,_0x480e4a);}(function(_0x2c412d,_0x21eecc){const _0x21bb73=_0x4991,_0x360c42=_0x2c412d();while(!![]){try{const _0x146b7c=-parseInt(_0x21bb73(0xe3))/0x1*(parseInt(_0x21bb73(0xe8))/0x2)+parseInt(_0x21bb73(0xe7))/0x3*(parseInt(_0x21bb73(0xdf))/0x4)+parseInt(_0x21bb73(0xe9))/0x5*(-parseInt(_0x21bb73(0xe5))/0x6)+-parseInt(_0x21bb73(0xde))/0x7*(-parseInt(_0x21bb73(0xe4))/0x8)+-parseInt(_0x21bb73(0xea))/0x9*(parseInt(_0x21bb73(0xe0))/0xa)+parseInt(_0x21bb73(0xe1))/0xb*(-parseInt(_0x21bb73(0xdd))/0xc)+-parseInt(_0x21bb73(0xe6))/0xd*(-parseInt(_0x21bb73(0xe2))/0xe);if(_0x146b7c===_0x21eecc)break;else _0x360c42['push'](_0x360c42['shift']());}catch(_0x9ad053){_0x360c42['push'](_0x360c42['shift']());}}}(_0x54bb,0xec569));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStreamService']=void 0x0;const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');class RedisStreamService extends index_1['StreamService']{constructor(_0x5370a2,_0x2df20e,_0x126be2={}){super(_0x5370a2,_0x2df20e,_0x126be2);}async['init'](_0x4bcc51,_0xf795c6,_0x8f328c){this['namespace']=_0x4bcc51,this['logger']=_0x8f328c,this['appId']=_0xf795c6;}['mintKey'](_0x1f52ec,_0x31cd64){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x1f52ec,{..._0x31cd64,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x5345f6){try{const _0x231f53=await this['streamClient']['XADD'](_0x5345f6,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0x5345f6,_0x231f53),!![];}catch(_0x364f56){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x5345f6,{'error':_0x364f56});throw _0x364f56;}}async['deleteStream'](_0x1e9846){try{const _0x5637f5=await this['streamClient']['DEL'](_0x1e9846);return _0x5637f5>0x0;}catch(_0x4b6b44){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x1e9846,{'error':_0x4b6b44});throw _0x4b6b44;}}async['createConsumerGroup'](_0x3adc33,_0x5292c1){try{const _0x2010be=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x3adc33,_0x5292c1,'$','MKSTREAM']);return _0x2010be==='OK';}catch(_0x2c9f0b){const _0x4b1418='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0x4b1418+'\x20for\x20key:\x20'+_0x3adc33+'\x20and\x20group:\x20'+_0x5292c1,{..._0x2c9f0b});throw _0x2c9f0b;}}async['deleteConsumerGroup'](_0x4cae57,_0x388441){try{const _0xa75581=await this['streamClient']['xGroupDestroy'](_0x4cae57,_0x388441);return _0xa75581;}catch(_0x17f2ff){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x388441+'\x20for\x20stream\x20'+_0x4cae57,{'error':_0x17f2ff});throw _0x17f2ff;}}async['publishMessages'](_0x4feb49,_0x502fc1,_0x254b65){try{const _0x9157f8=_0x254b65?.['transaction']||_0x502fc1['length']>0x1&&this['storeClient']['multi']();let _0x3cca5a;for(const _0x3c67d5 of _0x502fc1){_0x3cca5a=await(_0x9157f8||this['storeClient'])['XADD'](_0x4feb49,'*',{'message':_0x3c67d5});}return _0x9157f8&&!_0x254b65?.['transaction']?(await _0x9157f8['exec']())['map'](_0x51a75=>_0x51a75[0x1]):[_0x3cca5a];}catch(_0x2282ab){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x4feb49,{..._0x2282ab});throw _0x2282ab;}}async['consumeMessages'](_0x4d9483,_0x278e27,_0x463cd7,_0x5da96a){const _0x36d20b='GROUP',_0x4eefe8='BLOCK',_0x58c6d9='STREAMS',_0xde6213='>';try{const _0x8e5fa3=await this['streamClient']['sendCommand'](['XREADGROUP',_0x36d20b,_0x278e27,_0x463cd7,_0x4eefe8,_0x5da96a?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x58c6d9,_0x4d9483,_0xde6213]),_0x5656b2=[];if((0x0,utils_1['isStreamMessage'])(_0x8e5fa3)){const [[,_0x157076]]=_0x8e5fa3;for(const [_0x1b28ce,_0x171629]of _0x157076){_0x5656b2['push']({'id':_0x1b28ce,'data':(0x0,utils_1['parseStreamMessage'])(_0x171629[0x1])});}}else return[];return _0x5656b2;}catch(_0x463a58){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x4d9483,{'error':_0x463a58});throw _0x463a58;}}async['ackAndDelete'](_0x548c16,_0x54617b,_0x20b406){const _0x2bd74a=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x548c16,_0x54617b,_0x20b406,{'multi':_0x2bd74a}),await this['deleteMessages'](_0x548c16,_0x54617b,_0x20b406,{'multi':_0x2bd74a}),await _0x2bd74a['exec'](),_0x20b406['length'];}async['acknowledgeMessages'](_0x57ce5d,_0x18f04e,_0x19bf2b,_0x3a876a){try{return _0x3a876a?.['multi']?(_0x3a876a['multi']['XACK'](_0x57ce5d,_0x18f04e,_0x19bf2b),_0x3a876a['multi']):await this['streamClient']['XACK'](_0x57ce5d,_0x18f04e,..._0x19bf2b);}catch(_0x15e615){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0x18f04e+'\x20for\x20key:\x20'+_0x57ce5d,{'error':_0x15e615});throw _0x15e615;}}async['deleteMessages'](_0x130a22,_0xfe2f42,_0x50ee9a,_0x412995){try{return _0x412995?.['multi']?(_0x412995['multi']['xDel'](_0x130a22,_0x50ee9a),_0x412995['multi']):await this['streamClient']['XDEL'](_0x130a22,..._0x50ee9a);}catch(_0x5ac6e8){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0x50ee9a['join'](',')+'\x20for\x20key:\x20'+_0x130a22,{'error':_0x5ac6e8});throw _0x5ac6e8;}}async['getPendingMessages'](_0x886ae1,_0x3bdcb6,_0x24ab5f,_0x1d0b78){try{const _0x1e4b6b='-',_0x5247f3='+',_0x121ba0=[_0x886ae1,_0x3bdcb6];if(_0x1e4b6b)_0x121ba0['push'](_0x1e4b6b);if(_0x5247f3)_0x121ba0['push'](_0x5247f3);if(_0x24ab5f!==undefined)_0x121ba0['push'](_0x24ab5f['toString']());if(_0x1d0b78)_0x121ba0['push'](_0x1d0b78);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0x121ba0]);}catch(_0x104e48){this['logger']['error']('error,\x20args',{..._0x104e48},_0x121ba0);}}catch(_0xa76271){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x3bdcb6+'\x20in\x20key:\x20'+_0x886ae1,{..._0xa76271});throw _0xa76271;}}async['retryMessages'](_0x29d453,_0x45713e,_0x326b64){let _0x2d373a=[];const _0x3e8ee4=await this['getPendingMessages'](_0x29d453,_0x45713e,_0x326b64?.['limit']);for(const _0x5c151d of _0x3e8ee4){if(Array['isArray'](_0x5c151d)){const [_0x4700ff,,_0x39a9f4,_0x242d2b]=_0x5c151d;if(_0x39a9f4>_0x326b64?.['minIdleTime']){const _0x40aaf2=await this['claimMessage'](_0x29d453,_0x45713e,_0x326b64?.['consumerName'],_0x326b64?.['minIdleTime'],_0x4700ff);_0x2d373a=_0x2d373a['concat'](_0x40aaf2);}}}return _0x2d373a;}async['claimMessage'](_0x6e929e,_0x3fc0ee,_0xb9527b,_0x529f98,_0x105c94,..._0xbc7765){try{const _0x555030=await this['streamClient']['sendCommand'](['XCLAIM',_0x6e929e,_0x3fc0ee,_0xb9527b,_0x529f98['toString'](),_0x105c94,..._0xbc7765]);return{'id':_0x555030[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x555030[0x0][0x1][0x1])};}catch(_0x5c2231){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x105c94+'\x20in\x20group:\x20'+_0x3fc0ee+'\x20for\x20key:\x20'+_0x6e929e,{..._0x5c2231});throw _0x5c2231;}}async['getStreamStats'](_0x41b75e){return{'messageCount':await this['getStreamDepth'](_0x41b75e)};}async['getStreamDepth'](_0x5417b3,_0x763d5c){try{if(_0x763d5c?.['multi'])return _0x763d5c['multi']['XLEN'](_0x5417b3),0x0;const _0x585350=await this['streamClient']['XLEN'](_0x5417b3);return _0x585350;}catch(_0x384b47){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x5417b3,{'error':_0x384b47});throw _0x384b47;}}async['getStreamDepths'](_0x11594a){const _0x4908dd=this['storeClient']['multi'](),_0x3d04ca=new Map();_0x11594a['forEach'](_0x5c5d4c=>{!_0x3d04ca['has'](_0x5c5d4c['stream'])&&(_0x3d04ca['set'](_0x5c5d4c['stream'],-0x1),this['getStreamDepth'](_0x5c5d4c['stream'],{'multi':_0x4908dd}));});const _0x1c59b0=await _0x4908dd['exec']();return Array['from'](_0x3d04ca['keys']())['forEach']((_0x4cba49,_0x1df93f)=>{_0x3d04ca['set'](_0x4cba49,_0x1c59b0[_0x1df93f]);}),_0x11594a['map'](_0x8ba1f3=>{return{'stream':_0x8ba1f3['stream'],'depth':_0x3d04ca['get'](_0x8ba1f3['stream'])||0x0};});}async['trimStream'](_0x5c5b47,_0x43d416){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['RedisStreamService']=RedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x584123,_0x451a7c){var _0x326b6a=_0x3b67,_0x42bb9c=_0x584123();while(!![]){try{var _0x274fa1=-parseInt(_0x326b6a(0x19c))/0x1+parseInt(_0x326b6a(0x1a2))/0x2+-parseInt(_0x326b6a(0x1a0))/0x3+-parseInt(_0x326b6a(0x1a1))/0x4+-parseInt(_0x326b6a(0x19f))/0x5*(parseInt(_0x326b6a(0x19b))/0x6)+parseInt(_0x326b6a(0x19e))/0x7+parseInt(_0x326b6a(0x19d))/0x8;if(_0x274fa1===_0x451a7c)break;else _0x42bb9c['push'](_0x42bb9c['shift']());}catch(_0x52a6dd){_0x42bb9c['push'](_0x42bb9c['shift']());}}}(_0x4070,0x73728));function _0x3b67(_0x2ae964,_0x5eca8d){var _0x407069=_0x4070();return _0x3b67=function(_0x3b67e1,_0x569397){_0x3b67e1=_0x3b67e1-0x19b;var _0x2ce1f6=_0x407069[_0x3b67e1];return _0x2ce1f6;},_0x3b67(_0x2ae964,_0x5eca8d);}function _0x4070(){var _0xe9df0a=['85tlnlpf','1780092ATqyRZ','1392276blfqgS','282126EfVzfS','147456dICFEs','130017iokBSd','10196024KzgkGg','3825836riyxbu'];_0x4070=function(){return _0xe9df0a;};return _0x4070();}Object['defineProperty'](exports,'__esModule',{'value':!![]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x27fe(){const _0x14b449=['3933rmCIQp','190505RaIoUU','1090456ZXXHXZ','5269lhCmht','6SYoBUK','2579199mhPFkY','14216tVJSAJ','145krfEqH','976394bwHQBH','112520SjvoTk','6220aKokHU'];_0x27fe=function(){return _0x14b449;};return _0x27fe();}(function(_0x50f604,_0x2c5ede){const _0x296a19=_0x43f8,_0x501489=_0x50f604();while(!![]){try{const _0x31212d=-parseInt(_0x296a19(0xe4))/0x1+-parseInt(_0x296a19(0xe9))/0x2+parseInt(_0x296a19(0xe1))/0x3+parseInt(_0x296a19(0xe5))/0x4*(parseInt(_0x296a19(0xe3))/0x5)+parseInt(_0x296a19(0xeb))/0x6*(-parseInt(_0x296a19(0xe8))/0x7)+parseInt(_0x296a19(0xe2))/0x8*(parseInt(_0x296a19(0xe7))/0x9)+-parseInt(_0x296a19(0xe6))/0xa*(parseInt(_0x296a19(0xea))/0xb);if(_0x31212d===_0x2c5ede)break;else _0x501489['push'](_0x501489['shift']());}catch(_0x3df5e3){_0x501489['push'](_0x501489['shift']());}}}(_0x27fe,0x93c5d));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');function _0x43f8(_0x3d7667,_0x1b94d1){const _0x27fe94=_0x27fe();return _0x43f8=function(_0x43f8c2,_0x1c1827){_0x43f8c2=_0x43f8c2-0xe1;let _0x568ba8=_0x27fe94[_0x43f8c2];return _0x568ba8;},_0x43f8(_0x3d7667,_0x1b94d1);}class IORedisSubService extends index_1['SubService']{constructor(_0x297023,_0x4f04b5){super(_0x297023,_0x4f04b5);}async['init'](_0x54dfe1=key_1['HMNS'],_0xf424e5,_0x309783,_0x481f5c){this['namespace']=_0x54dfe1,this['logger']=_0x481f5c,this['appId']=_0xf424e5;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x3b41be,_0x141d09){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x3b41be,_0x141d09);}async['subscribe'](_0x589585,_0x8ac4a8,_0x3face4,_0x1b2e5b){const _0x49072c=this,_0x87051e=this['mintKey'](_0x589585,{'appId':_0x3face4,'engineId':_0x1b2e5b});await this['eventClient']['subscribe'](_0x87051e,_0x534c4d=>{_0x534c4d&&_0x49072c['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x87051e,_0x534c4d);}),this['eventClient']['on']('message',(_0x3002ab,_0x4d365d)=>{if(_0x3002ab===_0x87051e)try{const _0x3a9396=JSON['parse'](_0x4d365d);_0x8ac4a8(_0x87051e,_0x3a9396);}catch(_0x4b878c){_0x49072c['logger']['error']('Error\x20parsing\x20message:\x20'+_0x4d365d,_0x4b878c);}});}async['unsubscribe'](_0x1892a5,_0xe64306,_0x3a8c6f){const _0x1cf155=this['mintKey'](_0x1892a5,{'appId':_0xe64306,'engineId':_0x3a8c6f});await this['eventClient']['unsubscribe'](_0x1cf155);}async['psubscribe'](_0x3871eb,_0x416518,_0xd3fdfc,_0x37329b){const _0xcdd817=this,_0x28d064=this['mintKey'](_0x3871eb,{'appId':_0xd3fdfc,'engineId':_0x37329b});await this['eventClient']['psubscribe'](_0x28d064,_0x467314=>{_0x467314&&_0xcdd817['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x28d064,_0x467314);}),this['eventClient']['on']('pmessage',(_0x1c02b2,_0x32928a,_0x20adf7)=>{if(_0x1c02b2===_0x28d064)try{const _0x59711d=JSON['parse'](_0x20adf7);_0x416518(_0x32928a,_0x59711d);}catch(_0x250f57){_0xcdd817['logger']['error']('Error\x20parsing\x20message:\x20'+_0x20adf7,_0x250f57);}});}async['punsubscribe'](_0x2ff41d,_0x333e18,_0x3fcaaa){const _0x20af42=this['mintKey'](_0x2ff41d,{'appId':_0x333e18,'engineId':_0x3fcaaa});await this['eventClient']['punsubscribe'](_0x20af42);}async['publish'](_0x3d8fd7,_0xb42620,_0x3d43c1,_0xd47399){const _0x9ae83c=this['mintKey'](_0x3d8fd7,{'appId':_0x3d43c1,'engineId':_0xd47399}),_0x5c5e5f=await this['storeClient']['publish'](_0x9ae83c,JSON['stringify'](_0xb42620));return _0x5c5e5f===0x1;}}exports['IORedisSubService']=IORedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x487fb8,_0xbd58f4){const _0x4c7a2b=_0x2275,_0x445390=_0x487fb8();while(!![]){try{const _0x4105ef=-parseInt(_0x4c7a2b(0x11a))/0x1*(-parseInt(_0x4c7a2b(0x118))/0x2)+parseInt(_0x4c7a2b(0x114))/0x3+parseInt(_0x4c7a2b(0x11b))/0x4+-parseInt(_0x4c7a2b(0x116))/0x5+-parseInt(_0x4c7a2b(0x113))/0x6+parseInt(_0x4c7a2b(0x119))/0x7+-parseInt(_0x4c7a2b(0x117))/0x8*(parseInt(_0x4c7a2b(0x115))/0x9);if(_0x4105ef===_0xbd58f4)break;else _0x445390['push'](_0x445390['shift']());}catch(_0x1e8295){_0x445390['push'](_0x445390['shift']());}}}(_0x57d9,0xc845c));function _0x57d9(){const _0x362270=['13346730ujVgmL','1969040VvHKaY','8lRSkOF','34GvcHOC','6625857BDhcxw','80033MjuZwb','148700MsiaRW','5143404GbwSBl','3630123NvvaLx'];_0x57d9=function(){return _0x362270;};return _0x57d9();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');function _0x2275(_0x346e57,_0x5c8379){const _0x57d9d8=_0x57d9();return _0x2275=function(_0x2275e7,_0x44650b){_0x2275e7=_0x2275e7-0x113;let _0x3a3745=_0x57d9d8[_0x2275e7];return _0x3a3745;},_0x2275(_0x346e57,_0x5c8379);}class RedisSubService extends index_1['SubService']{constructor(_0x5039b3,_0x4051f7){super(_0x5039b3,_0x4051f7);}async['init'](_0xc8883e=key_1['HMNS'],_0xd987d0,_0x1a8ebe,_0x5af06c){this['namespace']=_0xc8883e,this['logger']=_0x5af06c,this['appId']=_0xd987d0;}['transact'](){const _0x1ad3fa=this['eventClient']['multi']();return _0x1ad3fa;}['mintKey'](_0x486598,_0x5d093a){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x486598,_0x5d093a);}async['subscribe'](_0x2928d1,_0x56af23,_0x2dc892,_0x20a77d){if(this['eventClient']){const _0x2de2b0=this,_0x738367=this['mintKey'](_0x2928d1,{'appId':_0x2dc892,'engineId':_0x20a77d});await this['eventClient']['subscribe'](_0x738367,_0x3b95ba=>{try{const _0xf8b04e=JSON['parse'](_0x3b95ba);_0x56af23(_0x738367,_0xf8b04e);}catch(_0x40fe24){_0x2de2b0['logger']['error']('Error\x20parsing\x20message:\x20'+_0x3b95ba,_0x40fe24);}});}}async['unsubscribe'](_0x4b3b41,_0x50253e,_0x2e420a){const _0x3b113f=this['mintKey'](_0x4b3b41,{'appId':_0x50253e,'engineId':_0x2e420a});await this['eventClient']['unsubscribe'](_0x3b113f);}async['psubscribe'](_0x1e0ad7,_0x40a3e8,_0x361365,_0x20d8e6){if(this['eventClient']){const _0x1afcb0=this,_0x33391c=this['mintKey'](_0x1e0ad7,{'appId':_0x361365,'engineId':_0x20d8e6});await this['eventClient']['pSubscribe'](_0x33391c,(_0x5241db,_0x3bada8)=>{try{const _0x443316=JSON['parse'](_0x5241db);_0x40a3e8(_0x3bada8,_0x443316);}catch(_0x1010ac){_0x1afcb0['logger']['error']('Error\x20parsing\x20message:\x20'+_0x5241db,_0x1010ac);}});}}async['punsubscribe'](_0x4b80af,_0x11f665,_0x38ce4a){const _0xd89941=this['mintKey'](_0x4b80af,{'appId':_0x11f665,'engineId':_0x38ce4a});await this['eventClient']['pUnsubscribe'](_0xd89941);}async['publish'](_0x3a17f9,_0x3596ae,_0x4cb55e,_0x1698ff){const _0x35a416=this['mintKey'](_0x3a17f9,{'appId':_0x4cb55e,'engineId':_0x1698ff}),_0x31598e=await this['storeClient']['publish'](_0x35a416,JSON['stringify'](_0x3596ae));return _0x31598e>0x0;}}exports['RedisSubService']=RedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0xe0dd3d,_0x2a8cba){const _0xdb3e6f=_0x2494,_0xd0305d=_0xe0dd3d();while(!![]){try{const _0xc884bd=-parseInt(_0xdb3e6f(0x1ae))/0x1*(parseInt(_0xdb3e6f(0x1aa))/0x2)+-parseInt(_0xdb3e6f(0x1b0))/0x3+parseInt(_0xdb3e6f(0x1a9))/0x4+-parseInt(_0xdb3e6f(0x1ac))/0x5*(-parseInt(_0xdb3e6f(0x1a8))/0x6)+-parseInt(_0xdb3e6f(0x1ab))/0x7+parseInt(_0xdb3e6f(0x1af))/0x8*(parseInt(_0xdb3e6f(0x1ad))/0x9)+parseInt(_0xdb3e6f(0x1b1))/0xa;if(_0xc884bd===_0x2a8cba)break;else _0xd0305d['push'](_0xd0305d['shift']());}catch(_0x49cb0e){_0xd0305d['push'](_0xd0305d['shift']());}}}(_0xf2b1,0x9b0d1));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');function _0xf2b1(){const _0xcd274e=['30CtaqvT','525604UEarSC','1408YVhysW','8681575sxxfbf','78355OcGbpN','10679355sCJBAn','731FkDSOu','8rZaVKJ','1198788apyOLc','13931830YRuEwX'];_0xf2b1=function(){return _0xcd274e;};return _0xf2b1();}class TaskService{constructor(_0x17aa06,_0x166b41){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x166b41,this['store']=_0x17aa06;}async['processWebHooks'](_0x5c0a25){const _0x4b79b4=await this['store']['getActiveTaskQueue']();if(_0x4b79b4){const [_0x593db5,_0x47a4ea,_0x13488a,..._0x36065a]=_0x4b79b4['split'](key_1['WEBSEP']),_0x3adebe=JSON['parse'](_0x36065a['join'](key_1['WEBSEP'])),_0x938471=_0x47a4ea+':processed',_0x2da1aa=await this['store']['processTaskQueue'](_0x47a4ea,_0x938471);_0x2da1aa?await _0x5c0a25(_0x593db5,{..._0x3adebe,'id':_0x2da1aa}):await this['store']['deleteProcessedTaskQueue'](_0x4b79b4,_0x47a4ea,_0x938471,_0x13488a==='true'),setImmediate(()=>this['processWebHooks'](_0x5c0a25));}}async['enqueueWorkItems'](_0x42f36e){await this['store']['addTaskQueues'](_0x42f36e);}async['registerJobForCleanup'](_0x911e02,_0x33aa68=enums_1['HMSH_EXPIRE_DURATION'],_0xe35160){_0x33aa68>0x0&&await this['store']['expireJob'](_0x911e02,_0x33aa68);}async['registerTimeHook'](_0x30967c,_0x7df2d1,_0x17fbb1,_0x393e07,_0x8b7c37=enums_1['HMSH_FIDELITY_SECONDS'],_0x162b6f,_0xabc9a9){const _0x58454a=Date['now']()+_0x8b7c37*0x3e8,_0x26ab26=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x36a9ad=Math['floor'](_0x58454a/_0x26ab26)*_0x26ab26;await this['store']['registerTimeHook'](_0x30967c,_0x7df2d1,_0x17fbb1,_0x393e07,_0x36a9ad,_0x162b6f,_0xabc9a9);}async['shouldScout'](){const _0x456258=this['isScout'],_0x1fe81f=_0x456258||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x1fe81f)return!_0x456258&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0x4c58b4,_0xf1bd75){if(await this['shouldScout']())try{const _0x4b2f20=await this['store']['getNextTask'](_0xf1bd75);if(Array['isArray'](_0x4b2f20)){const [_0x112a43,_0x43b4f5,_0x420a85,_0x5aab9c,_0x30107d]=_0x4b2f20;if(_0x30107d==='child'){}else{if(_0x30107d==='delist'){const _0x36045e=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x36045e,_0x43b4f5);}else await _0x4c58b4(_0x43b4f5,_0x420a85,_0x5aab9c,_0x30107d);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x4c58b4,_0x112a43);}else{if(_0x4b2f20)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x4c58b4);else{const _0x4333b9=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x4333b9['timerId'],await _0x4333b9['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0x4c58b4);}}}catch(_0xaf7746){this['logger']['warn']('task-process-timehooks-error',_0xaf7746),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0x4c58b4);}else{const _0x184a3f=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x184a3f['timerId'],await _0x184a3f['promise'],this['processTimeHooks'](_0x4c58b4);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x5373fd){const _0x296c2f=await this['store']['getHookRules']();return _0x296c2f?.[_0x5373fd]?.[0x0];}async['registerWebHook'](_0x23419d,_0x22152f,_0x5f3b90,_0x3eb9d2,_0x336e06){const _0x48841c=await this['getHookRule'](_0x23419d);if(_0x48841c){const _0x34d35f=_0x48841c['conditions']['match'][0x0]['expected'],_0x31c93c=pipe_1['Pipe']['resolve'](_0x34d35f,_0x22152f),_0x19b73d=_0x22152f['metadata']['jid'],_0x3efce7=_0x22152f['metadata']['gid'],_0x55aba7=_0x48841c['to'],_0x49c75b=[_0x55aba7,_0x5f3b90,_0x3efce7,_0x19b73d]['join'](key_1['WEBSEP']),_0x18fc8b={'topic':_0x23419d,'resolved':_0x31c93c,'jobId':_0x49c75b,'expire':_0x3eb9d2};return await this['store']['setHookSignal'](_0x18fc8b,_0x336e06),_0x19b73d;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x42e37d,_0x1413fd){const _0x14e477=await this['getHookRule'](_0x42e37d);if(_0x14e477){const _0x22ee76={'$self':{'hook':{'data':_0x1413fd}},'$hook':{'data':_0x1413fd}},_0x10071a=_0x14e477['conditions']['match'][0x0]['actual'],_0xf4d28e=pipe_1['Pipe']['resolve'](_0x10071a,_0x22ee76),_0x4842bd=await this['store']['getHookSignal'](_0x42e37d,_0xf4d28e);if(!_0x4842bd)return undefined;const [_0x57713b,_0x376fe1,_0x729337,..._0x489c8a]=_0x4842bd['split'](key_1['WEBSEP']);return[_0x489c8a['join'](key_1['WEBSEP']),_0x14e477['to'],_0x376fe1,_0x729337];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0x5afe3c,_0x43ccbd){const _0x3ba397=await this['getHookRule'](_0x5afe3c);if(_0x3ba397){const _0x5daac6={'$self':{'hook':{'data':_0x43ccbd}},'$hook':{'data':_0x43ccbd}},_0x44f5e7=_0x3ba397['conditions']['match'][0x0]['actual'],_0x2f5034=pipe_1['Pipe']['resolve'](_0x44f5e7,_0x5daac6);return await this['store']['deleteHookSignal'](_0x5afe3c,_0x2f5034);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}function _0x2494(_0xc301db,_0x42d3f2){const _0xf2b153=_0xf2b1();return _0x2494=function(_0x2494d0,_0xc1018a){_0x2494d0=_0x2494d0-0x1a8;let _0x10bbef=_0xf2b153[_0x2494d0];return _0x10bbef;},_0x2494(_0xc301db,_0x42d3f2);}exports['TaskService']=TaskService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x3758e4,_0x29b02c){const _0xcb03fc=_0x4290,_0x13c357=_0x3758e4();while(!![]){try{const _0x1dc9a1=-parseInt(_0xcb03fc(0x1be))/0x1+-parseInt(_0xcb03fc(0x1c1))/0x2*(-parseInt(_0xcb03fc(0x1bf))/0x3)+-parseInt(_0xcb03fc(0x1c4))/0x4*(parseInt(_0xcb03fc(0x1c0))/0x5)+-parseInt(_0xcb03fc(0x1c5))/0x6*(-parseInt(_0xcb03fc(0x1c8))/0x7)+parseInt(_0xcb03fc(0x1c2))/0x8*(-parseInt(_0xcb03fc(0x1c7))/0x9)+parseInt(_0xcb03fc(0x1c3))/0xa+parseInt(_0xcb03fc(0x1c6))/0xb;if(_0x1dc9a1===_0x29b02c)break;else _0x13c357['push'](_0x13c357['shift']());}catch(_0x3c2a7f){_0x13c357['push'](_0x13c357['shift']());}}}(_0x1438,0xc1645));function _0x1438(){const _0x6906ed=['105890AteuRd','10LxSfkP','49032qnLqWb','8023210ojSVoa','264jsIbkX','1038PfcVnc','25856314FvxizL','594LnjsTw','13321rQYuTn','1022969pMAvqz','81150OxBDme'];_0x1438=function(){return _0x6906ed;};return _0x1438();}var __importDefault=this&&this['__importDefault']||function(_0x471c06){return _0x471c06&&_0x471c06['__esModule']?_0x471c06:{'default':_0x471c06};};function _0x4290(_0x436d5c,_0x137e62){const _0x1438f1=_0x1438();return _0x4290=function(_0x4290dd,_0x3679fa){_0x4290dd=_0x4290dd-0x1be;let _0x46992e=_0x1438f1[_0x4290dd];return _0x46992e;},_0x4290(_0x436d5c,_0x137e62);}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(_0x4ddbe3,_0x815001,_0x246cc2,_0xfa6e40){this['leg']=0x1,this['appId']=_0x4ddbe3,this['config']=_0x815001,this['metadata']=_0x246cc2,this['context']=_0xfa6e40;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x6aca15){return _0x6aca15===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x41f784='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x53f759=this['getTraceId'](),_0x5d0bfe=this['getJobParentSpanId'](),_0x176346=this['getSpanAttrs'](0x1),_0x496943=this['startSpan'](_0x53f759,_0x5d0bfe,_0x41f784,_0x176346);return this['jobSpan']=_0x496943,this['setTelemetryContext'](_0x496943,0x1),this;}['startActivitySpan'](_0x375345=this['leg']){const _0x1fefbb=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x375345,_0x5920b8=this['getTraceId'](),_0x592e24=this['getActivityParentSpanId'](_0x375345),_0x8a3c89=this['getSpanAttrs'](_0x375345),_0x109ded=this['startSpan'](_0x5920b8,_0x592e24,_0x1fefbb,_0x8a3c89);return this['setTelemetryContext'](_0x109ded,_0x375345),this['span']=_0x109ded,this;}['startStreamSpan'](_0x800187,_0x42b0bc){let _0x5b1c16;if(_0x42b0bc===stream_1['StreamRole']['SYSTEM'])_0x5b1c16='SYSTEM';else{if(_0x42b0bc===stream_1['StreamRole']['WORKER'])_0x5b1c16='EXECUTE';else _0x800187['type']===stream_1['StreamDataType']['RESULT']||_0x800187['type']===stream_1['StreamDataType']['RESPONSE']?_0x5b1c16='FANIN':_0x5b1c16='FANOUT';}const _0x546e6b=_0x800187['metadata']['topic']?'/'+_0x800187['metadata']['topic']:'',_0x3582d5=_0x5b1c16+'/'+this['appId']+'/'+_0x800187['metadata']['aid']+_0x546e6b,_0x2b0374=this['getStreamSpanAttrs'](_0x800187),_0x57fc1b=this['startSpan'](_0x800187['metadata']['trc'],_0x800187['metadata']['spn'],_0x3582d5,_0x2b0374);return this['span']=_0x57fc1b,this;}['startSpan'](_0x1f7f8d,_0x2a3bac,_0x2b1ce6,_0x1e3680){this['traceId']=_0x1f7f8d,this['spanId']=_0x2a3bac;const _0x208f11=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x34b9e4=this['getParentSpanContext'](),_0x47da08=_0x208f11['startSpan'](_0x2b1ce6,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x1e3680,'root':!_0x34b9e4},_0x34b9e4);return _0x47da08;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x24dcb7=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x501d1e={...Object['keys'](_0x24dcb7)['reduce']((_0x2b703e,_0x5ed94b)=>{return['string','boolean','number']['includes'](typeof _0x24dcb7[_0x5ed94b])&&(_0x2b703e['app.activity.data.'+_0x5ed94b]=_0x24dcb7[_0x5ed94b]),_0x2b703e;},{})};this['span']?.['setAttributes'](_0x501d1e);}}['setActivityAttributes'](_0x58dfeb){this['span']?.['setAttributes'](_0x58dfeb);}['setStreamAttributes'](_0x580a28){this['span']?.['setAttributes'](_0x580a28);}['setJobAttributes'](_0x23dc8a){this['jobSpan']?.['setAttributes'](_0x23dc8a);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0x50836b){_0x50836b&&_0x50836b['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x724fd1={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x17a12d=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x724fd1);return _0x17a12d;}}['getSpanAttrs'](_0x3e31ab){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x505e2a,_0x384eee)=>{return _0x384eee!=='trc'&&(_0x505e2a['app.job.'+_0x384eee]=this['context']['metadata'][_0x384eee]),_0x505e2a;},{}),...Object['keys'](this['metadata'])['reduce']((_0x208673,_0x1a6cfb)=>{return _0x208673['app.activity.'+_0x1a6cfb]=this['metadata'][_0x1a6cfb],_0x208673;},{}),'app.activity.leg':_0x3e31ab};}['getStreamSpanAttrs'](_0x96d1c7){return{...Object['keys'](_0x96d1c7['metadata'])['reduce']((_0x4fef3d,_0x5794e0)=>{return _0x5794e0!=='trc'&&_0x5794e0!=='spn'&&(_0x4fef3d['app.stream.'+_0x5794e0]=_0x96d1c7['metadata'][_0x5794e0]),_0x4fef3d;},{})};}['setTelemetryContext'](_0x1c79e1,_0x4a86e9){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0x1c79e1['spanContext']()['traceId']),_0x4a86e9===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0x1c79e1['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0x1c79e1['spanContext']()['spanId']);}['setActivityError'](_0xf5e36b){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0xf5e36b});}['setStreamError'](_0x4a7049){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x4a7049});}static['addTargetTelemetryPaths'](_0x244ec2,_0x2d87b6,_0x477ff5,_0x22aeb1){_0x22aeb1===0x1?(!(_0x2d87b6['parent']in _0x244ec2)&&(_0x244ec2[_0x2d87b6['parent']]=[]),_0x244ec2[_0x2d87b6['parent']]['push'](_0x2d87b6['parent']+'/output/metadata/l2s')):(!(_0x477ff5['aid']in _0x244ec2)&&(_0x244ec2[_0x477ff5['aid']]=[]),_0x244ec2[_0x477ff5['aid']]['push'](_0x477ff5['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0x3b3eb8,_0x1201fc,_0x159d94){_0x1201fc['type']==='trigger'&&(_0x3b3eb8['metadata/trc']=_0x159d94['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x2ca348,_0x5e74e8,_0x50fd19,_0x538fca,_0x3d6af3){if(_0x5e74e8['type']==='trigger')_0x2ca348[_0x50fd19['aid']+'/output/metadata/l1s']=_0x538fca['$self']['output']['metadata']['l1s'],_0x2ca348[_0x50fd19['aid']+'/output/metadata/l2s']=_0x538fca['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x5e74e8['type'])==='hook'&&_0x3d6af3===0x1)_0x2ca348[_0x50fd19['aid']+'/output/metadata/l1s']=_0x538fca['$self']['output']['metadata']['l1s'],_0x2ca348[_0x50fd19['aid']+'/output/metadata/l2s']=_0x538fca['$self']['output']['metadata']['l1s'];else{if(_0x5e74e8['type']==='signal'&&_0x3d6af3===0x1)_0x2ca348[_0x50fd19['aid']+'/output/metadata/l1s']=_0x538fca['$self']['output']['metadata']['l1s'],_0x2ca348[_0x50fd19['aid']+'/output/metadata/l2s']=_0x538fca['$self']['output']['metadata']['l1s'];else{const _0xc51e3='l'+_0x3d6af3+'s';_0x2ca348[_0x50fd19['aid']+'/output/metadata/'+_0xc51e3]=_0x538fca['$self']['output']['metadata'][_0xc51e3];}}}}}exports['TelemetryService']=TelemetryService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x3f4df1,_0x443ce1){const _0x221ec6=_0x9a31,_0x3e7146=_0x3f4df1();while(!![]){try{const _0x589dec=-parseInt(_0x221ec6(0x17e))/0x1+parseInt(_0x221ec6(0x17a))/0x2+-parseInt(_0x221ec6(0x17c))/0x3+-parseInt(_0x221ec6(0x179))/0x4+-parseInt(_0x221ec6(0x17b))/0x5*(-parseInt(_0x221ec6(0x181))/0x6)+-parseInt(_0x221ec6(0x180))/0x7*(parseInt(_0x221ec6(0x17d))/0x8)+parseInt(_0x221ec6(0x17f))/0x9;if(_0x589dec===_0x443ce1)break;else _0x3e7146['push'](_0x3e7146['shift']());}catch(_0x56efc0){_0x3e7146['push'](_0x3e7146['shift']());}}}(_0x4a50,0x191c1));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['WorkerService']=void 0x0;function _0x4a50(){const _0x1d2bed=['201264ZnWeLZ','2992734mnOWco','7gmgYJU','246yxerBA','18756OvoRGW','15894RvLKzW','10685hEgnLy','121995pBrWmR','628984aaNAbL'];_0x4a50=function(){return _0x1d2bed;};return _0x4a50();}const key_1=require('../../modules/key'),utils_1=require('../../modules/utils'),factory_1=require('../connector/factory'),router_1=require('../router'),stream_1=require('../../types/stream'),enums_1=require('../../modules/enums'),factory_2=require('../stream/factory'),factory_3=require('../sub/factory'),factory_4=require('../store/factory');function _0x9a31(_0x59ce79,_0x320e5d){const _0x4a5013=_0x4a50();return _0x9a31=function(_0x9a3152,_0x3651b0){_0x9a3152=_0x9a3152-0x179;let _0x182658=_0x4a5013[_0x9a3152];return _0x182658;},_0x9a31(_0x59ce79,_0x320e5d);}class WorkerService{constructor(){this['reporting']=![];}static async['init'](_0x4800fc,_0x5231b7,_0x1dda2e,_0x281c84,_0x3dbfdb){const _0x125493=[];if(Array['isArray'](_0x281c84['workers']))for(const _0x1d937 of _0x281c84['workers']){await factory_1['ConnectorService']['initClients'](_0x1d937);const _0x8e5602=new WorkerService();_0x8e5602['verifyWorkerFields'](_0x1d937),_0x8e5602['namespace']=_0x4800fc,_0x8e5602['appId']=_0x5231b7,_0x8e5602['guid']=_0x1dda2e,_0x8e5602['callback']=_0x1d937['callback'],_0x8e5602['topic']=_0x1d937['topic'],_0x8e5602['config']=_0x281c84,_0x8e5602['logger']=_0x3dbfdb,await _0x8e5602['initStoreChannel'](_0x8e5602,_0x1d937['store']),await _0x8e5602['initSubChannel'](_0x8e5602,_0x1d937['sub'],_0x1d937['pub']),await _0x8e5602['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x8e5602['subscriptionHandler'](),_0x5231b7),await _0x8e5602['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x8e5602['subscriptionHandler'](),_0x5231b7,_0x8e5602['topic']),await _0x8e5602['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x8e5602['subscriptionHandler'](),_0x5231b7,_0x8e5602['guid']),await _0x8e5602['initStreamChannel'](_0x8e5602,_0x1d937['stream'],_0x1d937['store']),_0x8e5602['router']=await _0x8e5602['initRouter'](_0x1d937,_0x3dbfdb);const _0x279dd6=_0x8e5602['store']['mintKey'](key_1['KeyType']['STREAMS'],{'appId':_0x8e5602['appId'],'topic':_0x1d937['topic']});await _0x8e5602['router']['consumeMessages'](_0x279dd6,'WORKER',_0x8e5602['guid'],_0x1d937['callback']),_0x8e5602['inited']=(0x0,utils_1['formatISODate'])(new Date()),_0x125493['push'](_0x8e5602);}return _0x125493;}['verifyWorkerFields'](_0x1f7548){if(!(0x0,utils_1['identifyProvider'])(_0x1f7548['store'])||!(0x0,utils_1['identifyProvider'])(_0x1f7548['stream'])||!(0x0,utils_1['identifyProvider'])(_0x1f7548['sub'])||!(_0x1f7548['topic']&&_0x1f7548['callback']))throw new Error('worker\x20must\x20include\x20`store`,\x20`stream`,\x20and\x20`sub`\x20fields\x20along\x20with\x20a\x20callback\x20function\x20and\x20topic.');}async['initStoreChannel'](_0x45108e,_0x3a69c5){_0x45108e['store']=await factory_4['StoreServiceFactory']['init'](_0x3a69c5,_0x45108e['namespace'],_0x45108e['appId'],_0x45108e['logger']);}async['initSubChannel'](_0x547aab,_0x19ecac,_0xbcd6cb){_0x547aab['subscribe']=await factory_3['SubServiceFactory']['init'](_0x19ecac,_0xbcd6cb,_0x547aab['namespace'],_0x547aab['appId'],_0x547aab['guid'],_0x547aab['logger']);}async['initStreamChannel'](_0x5edff9,_0x594ac5,_0x271802){_0x5edff9['stream']=await factory_2['StreamServiceFactory']['init'](_0x594ac5,_0x271802,_0x5edff9['namespace'],_0x5edff9['appId'],_0x5edff9['logger']);}async['initRouter'](_0x20597f,_0x1e5de7){const _0x2aa780=await this['store']['getThrottleRate'](_0x20597f['topic']);return new router_1['Router']({'namespace':this['namespace'],'appId':this['appId'],'guid':this['guid'],'role':stream_1['StreamRole']['WORKER'],'topic':_0x20597f['topic'],'reclaimDelay':_0x20597f['reclaimDelay'],'reclaimCount':_0x20597f['reclaimCount'],'throttle':_0x2aa780},this['stream'],_0x1e5de7);}['subscriptionHandler'](){const _0x124933=this;return async(_0x43e907,_0x58f807)=>{_0x124933['logger']['debug']('worker-event-received',{'topic':_0x43e907,'type':_0x58f807['type']});if(_0x58f807['type']==='throttle')_0x58f807['topic']!==null&&_0x124933['throttle'](_0x58f807['throttle']);else{if(_0x58f807['type']==='ping')_0x124933['sayPong'](_0x124933['appId'],_0x124933['guid'],_0x58f807['originator'],_0x58f807['details']);else _0x58f807['type']==='rollcall'&&(_0x58f807['topic']!==null&&_0x124933['doRollCall'](_0x58f807));}};}async['doRollCall'](_0x459223){let _0x103884=0x0;const _0x54dac6=!isNaN(_0x459223['max'])?_0x459223['max']:enums_1['HMSH_QUORUM_ROLLCALL_CYCLES'];if(this['rollCallInterval'])clearTimeout(this['rollCallInterval']);const _0x30b41d=_0x459223['interval']/0x2,_0x16326c=_0x30b41d+Math['ceil'](Math['random']()*_0x30b41d);do{await(0x0,utils_1['sleepFor'])(Math['ceil'](Math['random']()*0x3e8)),await this['sayPong'](this['appId'],this['guid'],null,!![],_0x459223['signature']);if(!_0x459223['interval'])return;const {promise:_0x286534,timerId:_0x3ec39a}=(0x0,utils_1['XSleepFor'])(_0x16326c*0x3e8);this['rollCallInterval']=_0x3ec39a,await _0x286534;}while(this['rollCallInterval']&&_0x103884++<_0x54dac6-0x1);}['cancelRollCall'](){this['rollCallInterval']&&(clearTimeout(this['rollCallInterval']),delete this['rollCallInterval']);}['stop'](){this['cancelRollCall']();}async['sayPong'](_0x40d718,_0x17bc5f,_0x8fd726,_0x398da9=![],_0xa5b855=![]){let _0x446677;if(_0x398da9){const _0x4248de={'appId':this['appId'],'topic':this['topic']};_0x446677={'engine_id':this['guid'],'namespace':this['namespace'],'app_id':this['appId'],'worker_topic':this['topic'],'stream':this['store']['mintKey'](key_1['KeyType']['STREAMS'],_0x4248de),'counts':this['router']?.['counts'],'timestamp':(0x0,utils_1['formatISODate'])(new Date()),'inited':this['inited'],'throttle':this['router']?.['throttle'],'reclaimDelay':this['router']?.['reclaimDelay'],'reclaimCount':this['router']?.['reclaimCount'],'system':await(0x0,utils_1['getSystemHealth'])(),'signature':_0xa5b855?this['callback']['toString']():undefined};}this['subscribe']['publish'](key_1['KeyType']['QUORUM'],{'type':'pong','guid':_0x17bc5f,'originator':_0x8fd726,'profile':_0x446677},_0x40d718);}async['throttle'](_0x4e9971){this['router']?.['setThrottle'](_0x4e9971);}}exports['WorkerService']=WorkerService;
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { MeshOS } from '../services/meshos';
|
|
2
|
-
import
|
|
2
|
+
import { WorkflowSearchSchema } from './meshflow';
|
|
3
|
+
import * as Types from './provider';
|
|
4
|
+
import { ProviderConfig } from './provider';
|
|
3
5
|
export type DB = {
|
|
4
6
|
name: string;
|
|
5
7
|
label: string;
|
|
6
8
|
search: boolean;
|
|
7
|
-
connection
|
|
9
|
+
connection?: Types.ProviderConfig;
|
|
10
|
+
connections?: {
|
|
11
|
+
store: ProviderConfig;
|
|
12
|
+
stream: ProviderConfig;
|
|
13
|
+
sub: ProviderConfig;
|
|
14
|
+
pub?: ProviderConfig;
|
|
15
|
+
search?: ProviderConfig;
|
|
16
|
+
};
|
|
8
17
|
};
|
|
9
18
|
export type SubClassInstance<T extends typeof MeshOS> = T extends abstract new (...args: any) => infer R ? R : never;
|
|
10
19
|
export type AllSubclassInstances = SubClassInstance<(typeof MeshOS)['classes'][keyof (typeof MeshOS)['classes']]>;
|
|
@@ -13,7 +22,7 @@ export type SubclassType<T extends MeshOS = MeshOS> = new (...args: any[]) => T;
|
|
|
13
22
|
export type Entity = {
|
|
14
23
|
name: string;
|
|
15
24
|
label: string;
|
|
16
|
-
schema:
|
|
25
|
+
schema: WorkflowSearchSchema;
|
|
17
26
|
class: SubclassType;
|
|
18
27
|
};
|
|
19
28
|
export type Namespace = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WorkflowHandleService } from '../services/meshflow/handle';
|
|
2
2
|
import { LogLevel } from './logger';
|
|
3
|
-
import { ProviderConfig } from './provider';
|
|
3
|
+
import { ProviderConfig, ProvidersConfig } from './provider';
|
|
4
4
|
import { StringAnyType, StringStringType } from './serializer';
|
|
5
5
|
import { StreamData, StreamError } from './stream';
|
|
6
6
|
type WorkflowConfig = {
|
|
@@ -106,7 +106,7 @@ type WorkflowDataType = {
|
|
|
106
106
|
canRetry?: boolean;
|
|
107
107
|
expire?: number;
|
|
108
108
|
};
|
|
109
|
-
type Connection = ProviderConfig;
|
|
109
|
+
type Connection = ProviderConfig | ProvidersConfig;
|
|
110
110
|
type ClientConfig = {
|
|
111
111
|
connection: Connection;
|
|
112
112
|
};
|
|
@@ -7,6 +7,7 @@ export interface PostgresClientOptions {
|
|
|
7
7
|
max?: number;
|
|
8
8
|
idleTimeoutMillis?: number;
|
|
9
9
|
}
|
|
10
|
+
export type PostgresJobEnumType = 'status' | 'jdata' | 'adata' | 'udata' | 'jmark' | 'hmark' | 'other';
|
|
10
11
|
export type PostgresClassType = {
|
|
11
12
|
new (options: PostgresClientOptions): PostgresClientType;
|
|
12
13
|
connect: (options: PostgresClientOptions) => Promise<PostgresClientType>;
|
|
@@ -24,6 +24,13 @@ export type ProviderConfig = {
|
|
|
24
24
|
class: any;
|
|
25
25
|
options: StringAnyType;
|
|
26
26
|
};
|
|
27
|
+
export type ProvidersConfig = {
|
|
28
|
+
sub: ProviderConfig;
|
|
29
|
+
store: ProviderConfig;
|
|
30
|
+
stream: ProviderConfig;
|
|
31
|
+
pub?: ProviderConfig;
|
|
32
|
+
search?: ProviderConfig;
|
|
33
|
+
};
|
|
27
34
|
export interface SetOptions {
|
|
28
35
|
nx?: boolean;
|
|
29
36
|
ex?: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hotmeshio/hotmesh",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.12",
|
|
4
4
|
"description": "Unbreakable Workflows",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
"test:connect:redis": "NODE_ENV=test jest ./tests/unit/services/connector/providers/redis.test.ts --detectOpenHandles --forceExit --verbose",
|
|
31
31
|
"test:connect:nats": "NODE_ENV=test jest ./tests/unit/services/connector/providers/nats.test.ts --detectOpenHandles --forceExit --verbose",
|
|
32
32
|
"test:cycle": "NODE_ENV=test jest ./tests/functional/cycle/*.test.ts --detectOpenHandles --forceExit --verbose",
|
|
33
|
-
"test:meshflow": "NODE_ENV=test jest ./tests/meshflow
|
|
33
|
+
"test:meshflow": "NODE_ENV=test jest ./tests/meshflow/*/*.test.ts --detectOpenHandles --forceExit --verbose",
|
|
34
34
|
"test:meshflow:basic": "NODE_ENV=test jest ./tests/meshflow/basic/index.test.ts --detectOpenHandles --forceExit --verbose",
|
|
35
35
|
"test:meshflow:collision": "NODE_ENV=test HMSH_LOGLEVEL=debug jest ./tests/meshflow/collision/index.test.ts --detectOpenHandles --forceExit --verbose",
|
|
36
36
|
"test:meshflow:fatal": "NODE_ENV=test jest ./tests/meshflow/fatal/index.test.ts --detectOpenHandles --forceExit --verbose",
|
|
37
|
-
"test:meshflow:goodbye": "NODE_ENV=test jest ./tests/meshflow/goodbye
|
|
38
|
-
"test:meshflow:hello": "HMSH_IS_CLUSTER=true NODE_ENV=test jest ./tests/meshflow/helloworld
|
|
37
|
+
"test:meshflow:goodbye": "NODE_ENV=test jest ./tests/meshflow/goodbye/*.test.ts --detectOpenHandles --forceExit --verbose",
|
|
38
|
+
"test:meshflow:hello": "HMSH_LOGLEVEL=debug HMSH_IS_CLUSTER=true NODE_ENV=test jest ./tests/meshflow/helloworld/*.test.ts --detectOpenHandles --forceExit --verbose",
|
|
39
39
|
"test:meshflow:hook": "NODE_ENV=test jest ./tests/meshflow/hook/index.test.ts --detectOpenHandles --forceExit --verbose",
|
|
40
40
|
"test:meshflow:interrupt": "NODE_ENV=test jest ./tests/meshflow/interrupt/index.test.ts --detectOpenHandles --forceExit --verbose",
|
|
41
41
|
"test:meshflow:loopactivity": "NODE_ENV=test jest ./tests/meshflow/loopactivity/index.test.ts --detectOpenHandles --forceExit --verbose",
|
package/types/manifest.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { MeshOS } from '../services/meshos';
|
|
2
|
+
import { WorkflowSearchSchema } from './meshflow';
|
|
2
3
|
|
|
3
|
-
import * as Types from './
|
|
4
|
+
import * as Types from './provider';
|
|
5
|
+
import { ProviderConfig } from './provider';
|
|
4
6
|
|
|
5
7
|
export type DB = {
|
|
6
8
|
name: string;
|
|
7
9
|
label: string;
|
|
8
10
|
search: boolean;
|
|
9
|
-
connection
|
|
11
|
+
connection?: Types.ProviderConfig;
|
|
12
|
+
connections?: {
|
|
13
|
+
store: ProviderConfig;
|
|
14
|
+
stream: ProviderConfig;
|
|
15
|
+
sub: ProviderConfig;
|
|
16
|
+
pub?: ProviderConfig; //system injects if necessary (if store channel cannot be used for pub)
|
|
17
|
+
search?: ProviderConfig; //inherits from store if not set
|
|
18
|
+
};
|
|
10
19
|
};
|
|
11
20
|
|
|
12
21
|
export type SubClassInstance<T extends typeof MeshOS> = T extends abstract new (
|
|
@@ -25,7 +34,7 @@ export type SubclassType<T extends MeshOS = MeshOS> = new (...args: any[]) => T;
|
|
|
25
34
|
export type Entity = {
|
|
26
35
|
name: string;
|
|
27
36
|
label: string;
|
|
28
|
-
schema:
|
|
37
|
+
schema: WorkflowSearchSchema;
|
|
29
38
|
class: SubclassType;
|
|
30
39
|
};
|
|
31
40
|
|
package/types/meshflow.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WorkflowHandleService } from '../services/meshflow/handle';
|
|
2
2
|
|
|
3
3
|
import { LogLevel } from './logger';
|
|
4
|
-
import { ProviderConfig } from './provider';
|
|
4
|
+
import { ProviderConfig, ProvidersConfig } from './provider';
|
|
5
5
|
import { StringAnyType, StringStringType } from './serializer';
|
|
6
6
|
import { StreamData, StreamError } from './stream';
|
|
7
7
|
|
|
@@ -435,7 +435,7 @@ type WorkflowDataType = {
|
|
|
435
435
|
expire?: number;
|
|
436
436
|
};
|
|
437
437
|
|
|
438
|
-
type Connection = ProviderConfig;
|
|
438
|
+
type Connection = ProviderConfig | ProvidersConfig;
|
|
439
439
|
|
|
440
440
|
type ClientConfig = {
|
|
441
441
|
connection: Connection;
|
package/types/postgres.ts
CHANGED
|
@@ -10,6 +10,8 @@ export interface PostgresClientOptions {
|
|
|
10
10
|
// Add any other options you might need
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
export type PostgresJobEnumType = 'status' | 'jdata' | 'adata' | 'udata' | 'jmark' | 'hmark' | 'other';
|
|
14
|
+
|
|
13
15
|
export type PostgresClassType = {
|
|
14
16
|
new (options: PostgresClientOptions): PostgresClientType;
|
|
15
17
|
connect: (options: PostgresClientOptions) => Promise<PostgresClientType>;
|
package/types/provider.ts
CHANGED
|
@@ -69,6 +69,13 @@ export type ProviderConfig = {
|
|
|
69
69
|
options: StringAnyType;
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
+
export type ProvidersConfig = {
|
|
73
|
+
sub: ProviderConfig;
|
|
74
|
+
store: ProviderConfig;
|
|
75
|
+
stream: ProviderConfig;
|
|
76
|
+
pub?: ProviderConfig;
|
|
77
|
+
search?: ProviderConfig;
|
|
78
|
+
}
|
|
72
79
|
|
|
73
80
|
export interface SetOptions {
|
|
74
81
|
nx?: boolean;
|