@hotmeshio/hotmesh 0.3.19 → 0.3.21
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 +72 -36
- package/build/index.d.ts +7 -1
- package/build/index.js +13 -1
- package/build/modules/key.js +1 -1
- package/build/modules/utils.d.ts +1 -3
- package/build/modules/utils.js +1 -1
- package/build/package.json +5 -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/connector/factory.d.ts +1 -0
- package/build/services/connector/factory.js +35 -32
- package/build/services/connector/index.d.ts +4 -2
- package/build/services/connector/index.js +10 -5
- package/build/services/connector/providers/postgres.d.ts +13 -2
- package/build/services/connector/providers/postgres.js +54 -9
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/hotmesh/index.js +1 -6
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshcall/index.js +3 -5
- package/build/services/meshdata/index.d.ts +3 -4
- package/build/services/meshdata/index.js +4 -9
- package/build/services/meshflow/client.js +1 -2
- package/build/services/meshflow/connection.js +1 -0
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/worker.js +5 -8
- package/build/services/meshos/index.d.ts +2 -2
- package/build/services/meshos/index.js +6 -9
- 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/providers/postgres/postgres.js +1 -1
- 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.js +1 -1
- package/build/services/store/providers/postgres/kvtables.d.ts +2 -2
- package/build/services/store/providers/postgres/kvtables.js +1 -1
- package/build/services/store/providers/postgres/kvtransaction.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/hash.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/list.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/string.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/zset.js +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/factory.d.ts +2 -2
- package/build/services/sub/factory.js +13 -8
- package/build/services/sub/providers/nats/nats.d.ts +19 -0
- package/build/services/sub/providers/nats/nats.js +1 -0
- package/build/services/sub/providers/postgres/postgres.d.ts +1 -0
- package/build/services/sub/providers/postgres/postgres.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/hotmesh.d.ts +3 -17
- package/build/types/manifest.d.ts +2 -10
- package/build/types/nats.d.ts +8 -0
- package/build/types/postgres.d.ts +10 -1
- package/build/types/provider.d.ts +1 -0
- package/index.ts +24 -5
- package/package.json +5 -4
- package/types/hotmesh.ts +17 -17
- package/types/manifest.ts +2 -10
- package/types/nats.ts +34 -0
- package/types/postgres.ts +13 -2
- package/types/provider.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x3cffd6,_0x339d6b){const _0x5177e0=_0xe003,_0xd54a16=_0x3cffd6();while(!![]){try{const _0x485ab1=parseInt(_0x5177e0(0x1bf))/0x1+parseInt(_0x5177e0(0x1bc))/0x2*(parseInt(_0x5177e0(0x1c2))/0x3)+parseInt(_0x5177e0(0x1c0))/0x4*(-parseInt(_0x5177e0(0x1c3))/0x5)+parseInt(_0x5177e0(0x1c6))/0x6*(parseInt(_0x5177e0(0x1c4))/0x7)+parseInt(_0x5177e0(0x1be))/0x8+parseInt(_0x5177e0(0x1c1))/0x9*(-parseInt(_0x5177e0(0x1c5))/0xa)+-parseInt(_0x5177e0(0x1bd))/0xb;if(_0x485ab1===_0x339d6b)break;else _0xd54a16['push'](_0xd54a16['shift']());}catch(_0x202f69){_0xd54a16['push'](_0xd54a16['shift']());}}}(_0x68c1,0x5d678));function _0xe003(_0x61b8d9,_0x3e229e){const _0x68c13d=_0x68c1();return _0xe003=function(_0xe0030b,_0x398ebc){_0xe0030b=_0xe0030b-0x1bc;let _0x1a5ded=_0x68c13d[_0xe0030b];return _0x1a5ded;},_0xe003(_0x61b8d9,_0x3e229e);}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(_0x130eb9,_0x5f3bfd,_0x4b0dc0={}){super(_0x130eb9,_0x5f3bfd,_0x4b0dc0);}async['init'](_0x210265,_0x4fb577,_0x5585ba){this['namespace']=_0x210265,this['logger']=_0x5585ba,this['appId']=_0x4fb577;}['mintKey'](_0x547cf2,_0x593f0d){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x547cf2,{..._0x593f0d,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x4effff){try{const _0x2a3fde=await this['streamClient']['XADD'](_0x4effff,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0x4effff,_0x2a3fde),!![];}catch(_0x32cc89){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x4effff,{'error':_0x32cc89});throw _0x32cc89;}}async['deleteStream'](_0x525424){try{const _0x3c8c35=await this['streamClient']['DEL'](_0x525424);return _0x3c8c35>0x0;}catch(_0x5be761){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x525424,{'error':_0x5be761});throw _0x5be761;}}async['createConsumerGroup'](_0x43f1a6,_0xa15e5b){try{const _0x10fda0=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x43f1a6,_0xa15e5b,'$','MKSTREAM']);return _0x10fda0==='OK';}catch(_0x3be257){const _0x51d6e3='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0x51d6e3+'\x20for\x20key:\x20'+_0x43f1a6+'\x20and\x20group:\x20'+_0xa15e5b,{..._0x3be257});throw _0x3be257;}}async['deleteConsumerGroup'](_0x1e6a13,_0xd2d874){try{const _0x707ce4=await this['streamClient']['xGroupDestroy'](_0x1e6a13,_0xd2d874);return _0x707ce4;}catch(_0x23d8d2){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0xd2d874+'\x20for\x20stream\x20'+_0x1e6a13,{'error':_0x23d8d2});throw _0x23d8d2;}}async['publishMessages'](_0x20ee89,_0x56ef98,_0x41e841){try{const _0x2c486d=_0x41e841?.['transaction']||_0x56ef98['length']>0x1&&this['storeClient']['multi']();let _0x5c9788;for(const _0x2f9faa of _0x56ef98){_0x5c9788=await(_0x2c486d||this['storeClient'])['XADD'](_0x20ee89,'*',{'message':_0x2f9faa});}return _0x2c486d&&!_0x41e841?.['transaction']?(await _0x2c486d['exec']())['map'](_0x2a620c=>_0x2a620c[0x1]):[_0x5c9788];}catch(_0x934924){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x20ee89,{..._0x934924});throw _0x934924;}}async['consumeMessages'](_0x431619,_0x2c43ea,_0x5916b6,_0xf2d96d){const _0x42848a='GROUP',_0x2bf3d9='BLOCK',_0x2bfc75='STREAMS',_0x36bc5b='>';try{const _0x495027=await this['streamClient']['sendCommand'](['XREADGROUP',_0x42848a,_0x2c43ea,_0x5916b6,_0x2bf3d9,_0xf2d96d?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x2bfc75,_0x431619,_0x36bc5b]),_0x5d6a17=[];if((0x0,utils_1['isStreamMessage'])(_0x495027)){const [[,_0x16cdbc]]=_0x495027;for(const [_0x21a33f,_0xcde93e]of _0x16cdbc){_0x5d6a17['push']({'id':_0x21a33f,'data':(0x0,utils_1['parseStreamMessage'])(_0xcde93e[0x1])});}}else return[];return _0x5d6a17;}catch(_0xd63415){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x431619,{'error':_0xd63415});throw _0xd63415;}}async['ackAndDelete'](_0x521ebf,_0x1dc1f6,_0x11a6a1){const _0x5eb551=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x521ebf,_0x1dc1f6,_0x11a6a1,{'multi':_0x5eb551}),await this['deleteMessages'](_0x521ebf,_0x1dc1f6,_0x11a6a1,{'multi':_0x5eb551}),await _0x5eb551['exec'](),_0x11a6a1['length'];}async['acknowledgeMessages'](_0x4754f3,_0xc06d56,_0x36f954,_0x386f09){try{return _0x386f09?.['multi']?(_0x386f09['multi']['XACK'](_0x4754f3,_0xc06d56,_0x36f954),_0x386f09['multi']):await this['streamClient']['XACK'](_0x4754f3,_0xc06d56,..._0x36f954);}catch(_0x35ee87){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0xc06d56+'\x20for\x20key:\x20'+_0x4754f3,{'error':_0x35ee87});throw _0x35ee87;}}async['deleteMessages'](_0x4086a1,_0x30aa5c,_0x1f3eb7,_0x13cfcd){try{return _0x13cfcd?.['multi']?(_0x13cfcd['multi']['xDel'](_0x4086a1,_0x1f3eb7),_0x13cfcd['multi']):await this['streamClient']['XDEL'](_0x4086a1,..._0x1f3eb7);}catch(_0x349be2){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0x1f3eb7['join'](',')+'\x20for\x20key:\x20'+_0x4086a1,{'error':_0x349be2});throw _0x349be2;}}async['getPendingMessages'](_0x1dd67c,_0x2ec393,_0x366112,_0xd56717){try{const _0x4dc2e5='-',_0x18d3d4='+',_0xaa8a1c=[_0x1dd67c,_0x2ec393];if(_0x4dc2e5)_0xaa8a1c['push'](_0x4dc2e5);if(_0x18d3d4)_0xaa8a1c['push'](_0x18d3d4);if(_0x366112!==undefined)_0xaa8a1c['push'](_0x366112['toString']());if(_0xd56717)_0xaa8a1c['push'](_0xd56717);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0xaa8a1c]);}catch(_0x360446){this['logger']['error']('error,\x20args',{..._0x360446},_0xaa8a1c);}}catch(_0x3816cd){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x2ec393+'\x20in\x20key:\x20'+_0x1dd67c,{..._0x3816cd});throw _0x3816cd;}}async['retryMessages'](_0xb99f6c,_0x2609d1,_0x185c3a){let _0x188e1e=[];const _0x3b3b74=await this['getPendingMessages'](_0xb99f6c,_0x2609d1,_0x185c3a?.['limit']);for(const _0x5e1a51 of _0x3b3b74){if(Array['isArray'](_0x5e1a51)){const [_0x52ffc0,,_0x49bac0,_0x1445ac]=_0x5e1a51;if(_0x49bac0>_0x185c3a?.['minIdleTime']){const _0x31be60=await this['claimMessage'](_0xb99f6c,_0x2609d1,_0x185c3a?.['consumerName'],_0x185c3a?.['minIdleTime'],_0x52ffc0);_0x188e1e=_0x188e1e['concat'](_0x31be60);}}}return _0x188e1e;}async['claimMessage'](_0x4325c2,_0x570efa,_0x5ddac7,_0x1590c2,_0x25c643,..._0x5d79ca){try{const _0x5b889e=await this['streamClient']['sendCommand'](['XCLAIM',_0x4325c2,_0x570efa,_0x5ddac7,_0x1590c2['toString'](),_0x25c643,..._0x5d79ca]);return{'id':_0x5b889e[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x5b889e[0x0][0x1][0x1])};}catch(_0x378c91){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x25c643+'\x20in\x20group:\x20'+_0x570efa+'\x20for\x20key:\x20'+_0x4325c2,{..._0x378c91});throw _0x378c91;}}async['getStreamStats'](_0x1c8afe){return{'messageCount':await this['getStreamDepth'](_0x1c8afe)};}async['getStreamDepth'](_0x545c5f,_0x4e143d){try{if(_0x4e143d?.['multi'])return _0x4e143d['multi']['XLEN'](_0x545c5f),0x0;const _0x2cf4d3=await this['streamClient']['XLEN'](_0x545c5f);return _0x2cf4d3;}catch(_0x48c3a3){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x545c5f,{'error':_0x48c3a3});throw _0x48c3a3;}}async['getStreamDepths'](_0x432a45){const _0x5cd203=this['storeClient']['multi'](),_0x59589a=new Map();_0x432a45['forEach'](_0x1f1ba1=>{!_0x59589a['has'](_0x1f1ba1['stream'])&&(_0x59589a['set'](_0x1f1ba1['stream'],-0x1),this['getStreamDepth'](_0x1f1ba1['stream'],{'multi':_0x5cd203}));});const _0x55c0ee=await _0x5cd203['exec']();return Array['from'](_0x59589a['keys']())['forEach']((_0x26af04,_0x176d01)=>{_0x59589a['set'](_0x26af04,_0x55c0ee[_0x176d01]);}),_0x432a45['map'](_0x3e069f=>{return{'stream':_0x3e069f['stream'],'depth':_0x59589a['get'](_0x3e069f['stream'])||0x0};});}async['trimStream'](_0x56080a,_0xb11e9e){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}function _0x68c1(){const _0x763aa4=['349780NSTPWK','126OvRZIK','278PjBOmH','4160585NUuheK','2537288BvblxR','313217BtjkAO','56xtVuOU','9RZvnmQ','14799lPOpVx','253865KVVJMc','63518llRDnA'];_0x68c1=function(){return _0x763aa4;};return _0x68c1();}exports['RedisStreamService']=RedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';function _0x4201(_0x2b36a8,_0x1c558e){var _0x15d2a1=_0x15d2();return _0x4201=function(_0x420136,_0x3fbad5){_0x420136=_0x420136-0x1c7;var _0x2e93c1=_0x15d2a1[_0x420136];return _0x2e93c1;},_0x4201(_0x2b36a8,_0x1c558e);}(function(_0x590f4a,_0xe00c4b){var _0xc6fceb=_0x4201,_0x202da7=_0x590f4a();while(!![]){try{var _0x2007f1=-parseInt(_0xc6fceb(0x1cd))/0x1+parseInt(_0xc6fceb(0x1c7))/0x2+parseInt(_0xc6fceb(0x1cb))/0x3+parseInt(_0xc6fceb(0x1cf))/0x4*(-parseInt(_0xc6fceb(0x1c8))/0x5)+parseInt(_0xc6fceb(0x1d0))/0x6*(parseInt(_0xc6fceb(0x1ce))/0x7)+-parseInt(_0xc6fceb(0x1cc))/0x8*(-parseInt(_0xc6fceb(0x1ca))/0x9)+parseInt(_0xc6fceb(0x1d1))/0xa*(-parseInt(_0xc6fceb(0x1c9))/0xb);if(_0x2007f1===_0xe00c4b)break;else _0x202da7['push'](_0x202da7['shift']());}catch(_0x30ffe6){_0x202da7['push'](_0x202da7['shift']());}}}(_0x15d2,0x6fece));Object['defineProperty'](exports,'__esModule',{'value':!![]});function _0x15d2(){var _0x5f443d=['10zrKfSr','948686ZBGuus','10880OWMEio','17633726YQAKui','7216983cLgfTj','1127997RIyWuV','8RjSuRV','278497cStNsj','442988HrJxdv','248rDiufn','78PapHcw'];_0x15d2=function(){return _0x5f443d;};return _0x15d2();}
|
|
@@ -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(
|
|
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
|
|
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(
|
|
10
|
+
static async init(providerSubClient, providerPubClient, namespace, appId, engineId, logger) {
|
|
10
11
|
let service;
|
|
11
|
-
|
|
12
|
-
|
|
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 (
|
|
15
|
-
service = new postgres_1.PostgresSubService(
|
|
19
|
+
else if (providerType === 'postgres') {
|
|
20
|
+
service = new postgres_1.PostgresSubService(providerSubClient, providerPubClient);
|
|
16
21
|
}
|
|
17
22
|
else {
|
|
18
|
-
service = new ioredis_1.IORedisSubService(
|
|
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(_0x3be30d,_0x4131d2){const _0x3ccdb9=_0x22c8,_0x374c3b=_0x3be30d();while(!![]){try{const _0x34e236=parseInt(_0x3ccdb9(0x109))/0x1*(parseInt(_0x3ccdb9(0x10c))/0x2)+parseInt(_0x3ccdb9(0x10e))/0x3*(-parseInt(_0x3ccdb9(0x108))/0x4)+-parseInt(_0x3ccdb9(0x107))/0x5+-parseInt(_0x3ccdb9(0x110))/0x6*(-parseInt(_0x3ccdb9(0x10b))/0x7)+-parseInt(_0x3ccdb9(0x106))/0x8+parseInt(_0x3ccdb9(0x10f))/0x9+-parseInt(_0x3ccdb9(0x10d))/0xa*(parseInt(_0x3ccdb9(0x10a))/0xb);if(_0x34e236===_0x4131d2)break;else _0x374c3b['push'](_0x374c3b['shift']());}catch(_0x1edaf5){_0x374c3b['push'](_0x374c3b['shift']());}}}(_0xd69f,0x5fc42));function _0xd69f(){const _0x5137ad=['1grsgms','341WNcRsY','7jynulf','1017158yrAgih','35540JTcJSO','1361733lJlwIb','6205860PaxcXB','3688998GDJnUp','4962728FbsVXm','1181340YSLGlc','4XEMPQt'];_0xd69f=function(){return _0x5137ad;};return _0xd69f();}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(_0x39e640,_0x56b902){super(_0x39e640,_0x56b902),this['subscriptions']=new Map();}async['init'](_0x20e966=key_1['HMNS'],_0x5a11b8,_0x403b7c,_0x1e0f30){this['namespace']=_0x20e966,this['logger']=_0x1e0f30,this['appId']=_0x5a11b8,this['engineId']=_0x403b7c;}['transact'](){return{};}['mintKey'](_0x149aea,_0x18f92b){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x149aea,_0x18f92b)['replace'](/:/g,'.')['replace'](/\.$/g,'.X');}async['subscribe'](_0x1a59bf,_0x179912,_0x41253e,_0x598512){const _0x812eb0=this['mintKey'](_0x1a59bf,{'appId':_0x41253e,'engineId':_0x598512}),_0x4bb72f=this['eventClient']['subscribe'](_0x812eb0);this['subscriptions']['set'](_0x812eb0,_0x4bb72f),this['logger']['debug']('nats-subscribe\x20'+_0x812eb0),(async()=>{for await(const _0x89096d of _0x4bb72f){try{const _0x4296f2=JSON['parse'](_0x89096d['data']['toString']());_0x179912(_0x812eb0,_0x4296f2);}catch(_0x17cacf){this['logger']['error']('nats-subscribe-message-parse-error:\x20'+_0x89096d['data']['toString'](),_0x17cacf);}}})()['catch'](_0x129635=>{this['logger']['error']('nats-subscribe-error\x20'+_0x812eb0,_0x129635);});}async['unsubscribe'](_0x2ded44,_0x1fe17f,_0x1c938f){const _0x2b1ac3=this['mintKey'](_0x2ded44,{'appId':_0x1fe17f,'engineId':_0x1c938f}),_0x586bfa=this['subscriptions']['get'](_0x2b1ac3);_0x586bfa?(_0x586bfa['unsubscribe'](),this['subscriptions']['delete'](_0x2b1ac3),this['logger']['debug']('nats-unsubscribe\x20'+_0x2b1ac3)):this['logger']['warn']('nats-unsubscribe-error\x20'+_0x2b1ac3);}async['psubscribe'](_0x2ed2f6,_0x5134d2,_0x563ad7,_0x41736){const _0x42dd85=this['mintKey'](_0x2ed2f6,{'appId':_0x563ad7,'engineId':_0x41736}),_0x4c16c6=this['eventClient']['subscribe'](_0x42dd85);this['subscriptions']['set'](_0x42dd85,_0x4c16c6),this['logger']['debug']('nats-psubscribe\x20'+_0x42dd85),(async()=>{for await(const _0x759688 of _0x4c16c6){try{const _0x626100=JSON['parse'](_0x759688['data']['toString']());_0x5134d2(_0x759688['subject'],_0x626100);}catch(_0x1b5c8f){this['logger']['error']('nats-parse-psubscription-message-error\x20'+_0x759688['data']['toString'](),_0x1b5c8f);}}})()['catch'](_0xe317b=>{this['logger']['error']('nats-pattern-psubscription-error\x20'+_0x42dd85,_0xe317b);});}async['punsubscribe'](_0x147faf,_0x3975e1,_0xc031dc){const _0x1e248e=this['mintKey'](_0x147faf,{'appId':_0x3975e1,'engineId':_0xc031dc}),_0x49e837=this['subscriptions']['get'](_0x1e248e);_0x49e837?(_0x49e837['unsubscribe'](),this['subscriptions']['delete'](_0x1e248e),this['logger']['debug']('nats-punsubscribe\x20'+_0x1e248e)):this['logger']['warn']('nats-punsubscribe-error\x20'+_0x1e248e);}async['publish'](_0x107dfe,_0x310efb,_0x4f068c,_0x305ed1){const _0x498962=this['mintKey'](_0x107dfe,{'appId':_0x4f068c,'engineId':_0x305ed1});try{return this['storeClient']['publish'](_0x498962,JSON['stringify'](_0x310efb)),this['logger']['debug']('nats-publish\x20'+_0x498962),!![];}catch(_0x343990){return this['logger']['error']('nats-publish-error\x20'+_0x498962,_0x343990),![];}}}function _0x22c8(_0x2f546f,_0x320b3d){const _0xd69fa0=_0xd69f();return _0x22c8=function(_0x22c84c,_0x14837b){_0x22c84c=_0x22c84c-0x106;let _0x431904=_0xd69fa0[_0x22c84c];return _0x431904;},_0x22c8(_0x2f546f,_0x320b3d);}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(
|
|
1
|
+
'use strict';(function(_0x2fa425,_0x1f5247){const _0x4b4def=_0x518a,_0x46cae5=_0x2fa425();while(!![]){try{const _0x5472c6=parseInt(_0x4b4def(0x1d7))/0x1*(-parseInt(_0x4b4def(0x1db))/0x2)+parseInt(_0x4b4def(0x1d9))/0x3*(parseInt(_0x4b4def(0x1d5))/0x4)+-parseInt(_0x4b4def(0x1dd))/0x5*(-parseInt(_0x4b4def(0x1da))/0x6)+-parseInt(_0x4b4def(0x1de))/0x7*(-parseInt(_0x4b4def(0x1d8))/0x8)+parseInt(_0x4b4def(0x1d4))/0x9*(-parseInt(_0x4b4def(0x1dc))/0xa)+-parseInt(_0x4b4def(0x1d6))/0xb+-parseInt(_0x4b4def(0x1df))/0xc;if(_0x5472c6===_0x1f5247)break;else _0x46cae5['push'](_0x46cae5['shift']());}catch(_0x4ff785){_0x46cae5['push'](_0x46cae5['shift']());}}}(_0x5005,0x89416));var __importDefault=this&&this['__importDefault']||function(_0x4aee3d){return _0x4aee3d&&_0x4aee3d['__esModule']?_0x4aee3d:{'default':_0x4aee3d};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresSubService']=void 0x0;function _0x5005(){const _0x420c24=['50740RZelRh','5199467trXhNI','4061136endUdR','9AWrLVD','2107484NAQOUL','3689554DvYiHw','663074UJrTWX','8oJLtim','6sJolQt','264zuJisP','2OjOzZI','3439210DWcBZS'];_0x5005=function(){return _0x420c24;};return _0x5005();}const crypto_1=__importDefault(require('crypto')),key_1=require('../../../../modules/key'),index_1=require('../../index');function _0x518a(_0x3a5e8d,_0x29cc51){const _0x5005cd=_0x5005();return _0x518a=function(_0x518ad6,_0x27370c){_0x518ad6=_0x518ad6-0x1d4;let _0xdc7a7b=_0x5005cd[_0x518ad6];return _0xdc7a7b;},_0x518a(_0x3a5e8d,_0x29cc51);}class PostgresSubService extends index_1['SubService']{constructor(_0x2b3e22,_0x2a1fef){super(_0x2b3e22,_0x2a1fef);}async['init'](_0x568c5b=key_1['HMNS'],_0x3d57a8,_0x2e7165,_0x206578){this['namespace']=_0x568c5b,this['logger']=_0x206578,this['appId']=_0x3d57a8,this['engineId']=_0x2e7165;}['transact'](){throw new Error('Transactions\x20are\x20not\x20supported\x20in\x20lightweight\x20pub/sub');}['mintKey'](_0xe4142a,_0x2702e9){if(!this['namespace'])throw new Error('Namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0xe4142a,_0x2702e9);}['mintSafeKey'](_0x90de91,_0xb4786f){const _0x1133b3=this['mintKey'](_0x90de91,_0xb4786f);if(_0x1133b3['length']<=0x3f)return[_0x1133b3,_0x1133b3];const {appId:appId='',engineId:engineId=''}=_0xb4786f,_0x419e5d=this['namespace']+':'+appId+':'+_0x90de91,_0x3e8b35=0x3f-_0x419e5d['length']-0x1,_0x41c80b=crypto_1['default']['createHash']('sha256')['update'](engineId)['digest']('hex')['substring'](0x0,_0x3e8b35),_0x5c720a=_0x419e5d+':'+_0x41c80b;return[_0x1133b3,_0x5c720a];}async['subscribe'](_0x41f708,_0x30f8cf,_0x2101c7,_0x5b8d19){const [_0x143a55,_0x2981a8]=this['mintSafeKey'](_0x41f708,{'appId':_0x2101c7,'engineId':_0x5b8d19});await this['eventClient']['query']('LISTEN\x20\x22'+_0x2981a8+'\x22'),this['logger']['debug']('postgres-subscribe',{'originalKey':_0x143a55,'safeKey':_0x2981a8}),this['eventClient']['on']('notification',_0xf2c4c6=>{if(_0xf2c4c6['channel']===_0x2981a8)try{const _0x4e3ff5=JSON['parse'](_0xf2c4c6['payload']||'{}');_0x30f8cf(_0x2981a8,_0x4e3ff5);}catch(_0x47d12d){this['logger']['error']('Error\x20parsing\x20message\x20for\x20topic\x20'+_0x2981a8+':',_0x47d12d);}});}async['unsubscribe'](_0x175f82,_0x2b8acb,_0x557591){const [_0x2ec0c1,_0xc53c15]=this['mintSafeKey'](_0x175f82,{'appId':_0x2b8acb,'engineId':_0x557591});await this['eventClient']['query']('UNLISTEN\x20\x22'+_0xc53c15+'\x22'),this['logger']['debug']('postgres-subscribe',{'originalKey':_0x2ec0c1,'safeKey':_0xc53c15});}async['publish'](_0x5f9d4c,_0x1f6bea,_0x5482b8,_0x203f1c){const [_0x3954fa,_0x45e68f]=this['mintSafeKey'](_0x5f9d4c,{'appId':_0x5482b8,'engineId':_0x203f1c}),_0x394b1c=JSON['stringify'](_0x1f6bea)['replace'](/'/g,'\x27\x27');return await this['storeClient']['query']('NOTIFY\x20\x22'+_0x45e68f+'\x22,\x20\x27'+_0x394b1c+'\x27'),this['logger']['debug']('postgres-publish',{'originalKey':_0x3954fa,'safeKey':_0x45e68f}),!![];}async['psubscribe'](){throw new Error('Pattern\x20subscriptions\x20are\x20not\x20supported\x20in\x20PostgreSQL');}async['punsubscribe'](){throw new Error('Pattern\x20subscriptions\x20are\x20not\x20supported\x20in\x20PostgreSQL');}}exports['PostgresSubService']=PostgresSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0xad6e96,_0x22b5ec){const _0x44d47b=_0x37f0,_0x2df614=_0xad6e96();while(!![]){try{const _0x425cdf=parseInt(_0x44d47b(0x1e4))/0x1+parseInt(_0x44d47b(0x1e2))/0x2+parseInt(_0x44d47b(0x1e1))/0x3*(-parseInt(_0x44d47b(0x1e5))/0x4)+parseInt(_0x44d47b(0x1e3))/0x5+parseInt(_0x44d47b(0x1e7))/0x6+-parseInt(_0x44d47b(0x1e6))/0x7+-parseInt(_0x44d47b(0x1e8))/0x8*(parseInt(_0x44d47b(0x1e9))/0x9);if(_0x425cdf===_0x22b5ec)break;else _0x2df614['push'](_0x2df614['shift']());}catch(_0x3d73aa){_0x2df614['push'](_0x2df614['shift']());}}}(_0x3366,0xbe8c9));function _0x37f0(_0x2ebbee,_0x5ed9b4){const _0x336655=_0x3366();return _0x37f0=function(_0x37f066,_0x5d73a7){_0x37f066=_0x37f066-0x1e1;let _0xc8f358=_0x336655[_0x37f066];return _0xc8f358;},_0x37f0(_0x2ebbee,_0x5ed9b4);}function _0x3366(){const _0x22a12f=['1194228pGsezS','6256650ylPnKO','483582IztPrw','603068SnZkZM','1708973aQSBUp','2132118nIkaKw','989976hexOhO','99kecLqf','6otghkI'];_0x3366=function(){return _0x22a12f;};return _0x3366();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');class IORedisSubService extends index_1['SubService']{constructor(_0x5ddae9,_0x4b462d){super(_0x5ddae9,_0x4b462d);}async['init'](_0x41cebb=key_1['HMNS'],_0x32d9aa,_0x3f7db3,_0x4eb42e){this['namespace']=_0x41cebb,this['logger']=_0x4eb42e,this['appId']=_0x32d9aa,this['engineId']=_0x3f7db3;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x2fec0e,_0x2fe469){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x2fec0e,_0x2fe469);}async['subscribe'](_0x512ac2,_0x10eca0,_0x1fee22,_0x168c36){const _0x133880=this,_0x413a32=this['mintKey'](_0x512ac2,{'appId':_0x1fee22,'engineId':_0x168c36});await this['eventClient']['subscribe'](_0x413a32,_0x475bea=>{_0x475bea&&_0x133880['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x413a32,_0x475bea);}),this['eventClient']['on']('message',(_0x1ff4ec,_0xf4ed30)=>{if(_0x1ff4ec===_0x413a32)try{const _0x1eb408=JSON['parse'](_0xf4ed30);_0x10eca0(_0x413a32,_0x1eb408);}catch(_0x1743fe){_0x133880['logger']['error']('Error\x20parsing\x20message:\x20'+_0xf4ed30,_0x1743fe);}});}async['unsubscribe'](_0x229da1,_0x32f533,_0x5908ec){const _0x164910=this['mintKey'](_0x229da1,{'appId':_0x32f533,'engineId':_0x5908ec});await this['eventClient']['unsubscribe'](_0x164910);}async['psubscribe'](_0x725276,_0x5ad7e8,_0x31857b,_0x2595f8){const _0x2023e0=this,_0x3483b8=this['mintKey'](_0x725276,{'appId':_0x31857b,'engineId':_0x2595f8});await this['eventClient']['psubscribe'](_0x3483b8,_0x3e5130=>{_0x3e5130&&_0x2023e0['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x3483b8,_0x3e5130);}),this['eventClient']['on']('pmessage',(_0x56e344,_0x522af9,_0x347510)=>{if(_0x56e344===_0x3483b8)try{const _0x4e243b=JSON['parse'](_0x347510);_0x5ad7e8(_0x522af9,_0x4e243b);}catch(_0x4c63db){_0x2023e0['logger']['error']('Error\x20parsing\x20message:\x20'+_0x347510,_0x4c63db);}});}async['punsubscribe'](_0x6b9df5,_0x292d38,_0x5cdc19){const _0x1ee9cf=this['mintKey'](_0x6b9df5,{'appId':_0x292d38,'engineId':_0x5cdc19});await this['eventClient']['punsubscribe'](_0x1ee9cf);}async['publish'](_0x26ea6e,_0xfe0869,_0x206b7b,_0x43bee2){const _0x10223f=this['mintKey'](_0x26ea6e,{'appId':_0x206b7b,'engineId':_0x43bee2}),_0x3dac95=await this['storeClient']['publish'](_0x10223f,JSON['stringify'](_0xfe0869));return _0x3dac95===0x1;}}exports['IORedisSubService']=IORedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x542ff7,_0x20d953){const _0x430bb5=_0x51a9,_0x308127=_0x542ff7();while(!![]){try{const _0x59d28f=-parseInt(_0x430bb5(0xd3))/0x1*(parseInt(_0x430bb5(0xd2))/0x2)+parseInt(_0x430bb5(0xcf))/0x3*(parseInt(_0x430bb5(0xd0))/0x4)+-parseInt(_0x430bb5(0xd1))/0x5+parseInt(_0x430bb5(0xd5))/0x6+parseInt(_0x430bb5(0xd4))/0x7+-parseInt(_0x430bb5(0xd6))/0x8+parseInt(_0x430bb5(0xd8))/0x9*(parseInt(_0x430bb5(0xd7))/0xa);if(_0x59d28f===_0x20d953)break;else _0x308127['push'](_0x308127['shift']());}catch(_0x229a4d){_0x308127['push'](_0x308127['shift']());}}}(_0x35f9,0x86eb8));function _0x35f9(){const _0x320224=['2624520kiOkRV','5879424rbNUNE','6522430ZZtvPw','9porFHx','3NAMGJT','1883188vOHTdL','1134315FntyHR','794nWGSaI','1709wPQYoK','4427052MNmopi'];_0x35f9=function(){return _0x320224;};return _0x35f9();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');function _0x51a9(_0x4029de,_0x3491c4){const _0x35f998=_0x35f9();return _0x51a9=function(_0x51a9c5,_0x138e8e){_0x51a9c5=_0x51a9c5-0xcf;let _0x454cc2=_0x35f998[_0x51a9c5];return _0x454cc2;},_0x51a9(_0x4029de,_0x3491c4);}class RedisSubService extends index_1['SubService']{constructor(_0x2bd542,_0x30c933){super(_0x2bd542,_0x30c933);}async['init'](_0x41ad8b=key_1['HMNS'],_0x19cd75,_0x3c8e3a,_0x356d38){this['namespace']=_0x41ad8b,this['logger']=_0x356d38,this['appId']=_0x19cd75,this['engineId']=_0x3c8e3a;}['transact'](){const _0x291f44=this['eventClient']['multi']();return _0x291f44;}['mintKey'](_0x3b82bd,_0x30cf3f){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x3b82bd,_0x30cf3f);}async['subscribe'](_0x342742,_0xec1845,_0x45d1cd,_0x873b63){if(this['eventClient']){const _0x11d069=this,_0xe26417=this['mintKey'](_0x342742,{'appId':_0x45d1cd,'engineId':_0x873b63});await this['eventClient']['subscribe'](_0xe26417,_0x539eb9=>{try{const _0x4fd5f0=JSON['parse'](_0x539eb9);_0xec1845(_0xe26417,_0x4fd5f0);}catch(_0x4e6b8e){_0x11d069['logger']['error']('Error\x20parsing\x20message:\x20'+_0x539eb9,_0x4e6b8e);}});}}async['unsubscribe'](_0x3f47a1,_0x5c83ec,_0x343420){const _0x3e80f8=this['mintKey'](_0x3f47a1,{'appId':_0x5c83ec,'engineId':_0x343420});await this['eventClient']['unsubscribe'](_0x3e80f8);}async['psubscribe'](_0x2851fe,_0x173f32,_0x2112a4,_0x266928){if(this['eventClient']){const _0x3a7559=this,_0x2a9d35=this['mintKey'](_0x2851fe,{'appId':_0x2112a4,'engineId':_0x266928});await this['eventClient']['pSubscribe'](_0x2a9d35,(_0x9dd6ea,_0x57c281)=>{try{const _0x4a60bd=JSON['parse'](_0x9dd6ea);_0x173f32(_0x57c281,_0x4a60bd);}catch(_0x12be94){_0x3a7559['logger']['error']('Error\x20parsing\x20message:\x20'+_0x9dd6ea,_0x12be94);}});}}async['punsubscribe'](_0x39de67,_0x42f223,_0x58ebdc){const _0x172283=this['mintKey'](_0x39de67,{'appId':_0x42f223,'engineId':_0x58ebdc});await this['eventClient']['pUnsubscribe'](_0x172283);}async['publish'](_0x19cd9f,_0x24a428,_0x1b6ed1,_0x1151c6){const _0x3a309c=this['mintKey'](_0x19cd9f,{'appId':_0x1b6ed1,'engineId':_0x1151c6}),_0x43475a=await this['storeClient']['publish'](_0x3a309c,JSON['stringify'](_0x24a428));return _0x43475a>0x0;}}exports['RedisSubService']=RedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x3c7663,_0x182217){const _0x46290e=_0x3522,_0x49e3a1=_0x3c7663();while(!![]){try{const _0x431b7c=-parseInt(_0x46290e(0x19d))/0x1+parseInt(_0x46290e(0x19c))/0x2+-parseInt(_0x46290e(0x1a3))/0x3*(-parseInt(_0x46290e(0x1a1))/0x4)+-parseInt(_0x46290e(0x1a2))/0x5*(parseInt(_0x46290e(0x19e))/0x6)+parseInt(_0x46290e(0x19b))/0x7+-parseInt(_0x46290e(0x1a0))/0x8+parseInt(_0x46290e(0x19f))/0x9;if(_0x431b7c===_0x182217)break;else _0x49e3a1['push'](_0x49e3a1['shift']());}catch(_0x31cb62){_0x49e3a1['push'](_0x49e3a1['shift']());}}}(_0x3834,0xee221));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TaskService']=void 0x0;function _0x3834(){const _0x427f2f=['6445120GiqZzD','421572SxoQNE','4199210ClqNcD','6xiwWel','3788701xcAyxT','1947148hamGYM','256301TTfmBj','6BgdBeJ','10364157JztIwe'];_0x3834=function(){return _0x427f2f;};return _0x3834();}function _0x3522(_0x15b4aa,_0x4d5a35){const _0x383400=_0x3834();return _0x3522=function(_0x35224a,_0x3559c8){_0x35224a=_0x35224a-0x19b;let _0x320e29=_0x383400[_0x35224a];return _0x320e29;},_0x3522(_0x15b4aa,_0x4d5a35);}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(_0x1481fa,_0x592970){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x592970,this['store']=_0x1481fa;}async['processWebHooks'](_0xb33f59){const _0x35794e=await this['store']['getActiveTaskQueue']();if(_0x35794e){const [_0x137b2c,_0x4b5f93,_0x18a1f9,..._0x4d889b]=_0x35794e['split'](key_1['WEBSEP']),_0x1d52ea=JSON['parse'](_0x4d889b['join'](key_1['WEBSEP'])),_0x3dd9b0=_0x4b5f93+':processed',_0x21a9c8=await this['store']['processTaskQueue'](_0x4b5f93,_0x3dd9b0);_0x21a9c8?await _0xb33f59(_0x137b2c,{..._0x1d52ea,'id':_0x21a9c8}):await this['store']['deleteProcessedTaskQueue'](_0x35794e,_0x4b5f93,_0x3dd9b0,_0x18a1f9==='true'),setImmediate(()=>this['processWebHooks'](_0xb33f59));}}async['enqueueWorkItems'](_0x3f8c98){await this['store']['addTaskQueues'](_0x3f8c98);}async['registerJobForCleanup'](_0x592d65,_0x32fd98=enums_1['HMSH_EXPIRE_DURATION'],_0x26e471){_0x32fd98>0x0&&await this['store']['expireJob'](_0x592d65,_0x32fd98);}async['registerTimeHook'](_0x3570f4,_0x4c7587,_0x17103e,_0x214af6,_0x80c086=enums_1['HMSH_FIDELITY_SECONDS'],_0x237593,_0x20ecae){const _0x2e5c48=Date['now']()+_0x80c086*0x3e8,_0x230c4f=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x3a6934=Math['floor'](_0x2e5c48/_0x230c4f)*_0x230c4f;await this['store']['registerTimeHook'](_0x3570f4,_0x4c7587,_0x17103e,_0x214af6,_0x3a6934,_0x237593,_0x20ecae);}async['shouldScout'](){const _0x661a60=this['isScout'],_0x1ca77b=_0x661a60||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x1ca77b)return!_0x661a60&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0x3bcc36,_0x15cd42){if(await this['shouldScout']())try{const _0x308510=await this['store']['getNextTask'](_0x15cd42);if(Array['isArray'](_0x308510)){const [_0x2a1708,_0x3f00b4,_0x12689c,_0xd28596,_0x5cedf3]=_0x308510;if(_0x5cedf3==='child'){}else{if(_0x5cedf3==='delist'){const _0x30bab3=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x30bab3,_0x3f00b4);}else await _0x3bcc36(_0x3f00b4,_0x12689c,_0xd28596,_0x5cedf3);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x3bcc36,_0x2a1708);}else{if(_0x308510)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x3bcc36);else{const _0x5a0c79=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x5a0c79['timerId'],await _0x5a0c79['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0x3bcc36);}}}catch(_0x2d06e7){this['logger']['warn']('task-process-timehooks-error',_0x2d06e7),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0x3bcc36);}else{const _0x4edc23=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x4edc23['timerId'],await _0x4edc23['promise'],this['processTimeHooks'](_0x3bcc36);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x4f9d8a){const _0x5d280f=await this['store']['getHookRules']();return _0x5d280f?.[_0x4f9d8a]?.[0x0];}async['registerWebHook'](_0x48e5f5,_0x26d26f,_0x167542,_0x5e32c1,_0x321430){const _0x472acc=await this['getHookRule'](_0x48e5f5);if(_0x472acc){const _0x162b60=_0x472acc['conditions']['match'][0x0]['expected'],_0x230771=pipe_1['Pipe']['resolve'](_0x162b60,_0x26d26f),_0x3c2988=_0x26d26f['metadata']['jid'],_0x368dbf=_0x26d26f['metadata']['gid'],_0x3d8e84=_0x472acc['to'],_0x43c148=[_0x3d8e84,_0x167542,_0x368dbf,_0x3c2988]['join'](key_1['WEBSEP']),_0x4a3179={'topic':_0x48e5f5,'resolved':_0x230771,'jobId':_0x43c148,'expire':_0x5e32c1};return await this['store']['setHookSignal'](_0x4a3179,_0x321430),_0x3c2988;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x399746,_0x4df58){const _0x10ff67=await this['getHookRule'](_0x399746);if(_0x10ff67){const _0x1c7e68={'$self':{'hook':{'data':_0x4df58}},'$hook':{'data':_0x4df58}},_0x2a3f55=_0x10ff67['conditions']['match'][0x0]['actual'],_0x16c474=pipe_1['Pipe']['resolve'](_0x2a3f55,_0x1c7e68),_0x3c3f48=await this['store']['getHookSignal'](_0x399746,_0x16c474);if(!_0x3c3f48)return undefined;const [_0x1654e6,_0x2ccd72,_0x39dac2,..._0x4dc0ce]=_0x3c3f48['split'](key_1['WEBSEP']);return[_0x4dc0ce['join'](key_1['WEBSEP']),_0x10ff67['to'],_0x2ccd72,_0x39dac2];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0xd631e6,_0x4e5570){const _0x23879a=await this['getHookRule'](_0xd631e6);if(_0x23879a){const _0xe9d6a6={'$self':{'hook':{'data':_0x4e5570}},'$hook':{'data':_0x4e5570}},_0x9b9d49=_0x23879a['conditions']['match'][0x0]['actual'],_0x1e543f=pipe_1['Pipe']['resolve'](_0x9b9d49,_0xe9d6a6);return await this['store']['deleteHookSignal'](_0xd631e6,_0x1e543f);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}exports['TaskService']=TaskService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x1fcfc6,_0x490116){const _0x3dd3e6=_0x1221,_0x39933c=_0x1fcfc6();while(!![]){try{const _0x59c3b0=parseInt(_0x3dd3e6(0x7a))/0x1*(parseInt(_0x3dd3e6(0x79))/0x2)+-parseInt(_0x3dd3e6(0x72))/0x3+-parseInt(_0x3dd3e6(0x74))/0x4*(-parseInt(_0x3dd3e6(0x73))/0x5)+parseInt(_0x3dd3e6(0x76))/0x6*(parseInt(_0x3dd3e6(0x78))/0x7)+-parseInt(_0x3dd3e6(0x7c))/0x8+-parseInt(_0x3dd3e6(0x75))/0x9+parseInt(_0x3dd3e6(0x77))/0xa*(-parseInt(_0x3dd3e6(0x7b))/0xb);if(_0x59c3b0===_0x490116)break;else _0x39933c['push'](_0x39933c['shift']());}catch(_0x36a39a){_0x39933c['push'](_0x39933c['shift']());}}}(_0x34bd,0xb31a4));function _0x1221(_0x4e52bb,_0x298fd6){const _0x34bdc6=_0x34bd();return _0x1221=function(_0x122131,_0x3c56b4){_0x122131=_0x122131-0x72;let _0x27c2b0=_0x34bdc6[_0x122131];return _0x27c2b0;},_0x1221(_0x4e52bb,_0x298fd6);}function _0x34bd(){const _0xd68f7e=['21EODGDQ','2azZdnB','260213yLEABm','135421IiLbky','1596480SFqTSu','1562826NpeXXm','125xGIoXi','156924cQXJnV','2901141gokysV','1440264aLnNBp','150FoOBkq'];_0x34bd=function(){return _0xd68f7e;};return _0x34bd();}var __importDefault=this&&this['__importDefault']||function(_0x33f008){return _0x33f008&&_0x33f008['__esModule']?_0x33f008:{'default':_0x33f008};};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(_0x168e21,_0x19dbab,_0x310361,_0x9b418e){this['leg']=0x1,this['appId']=_0x168e21,this['config']=_0x19dbab,this['metadata']=_0x310361,this['context']=_0x9b418e;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x10f635){return _0x10f635===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x2fbb22='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x4df786=this['getTraceId'](),_0x4b9c13=this['getJobParentSpanId'](),_0x502601=this['getSpanAttrs'](0x1),_0x3978d5=this['startSpan'](_0x4df786,_0x4b9c13,_0x2fbb22,_0x502601);return this['jobSpan']=_0x3978d5,this['setTelemetryContext'](_0x3978d5,0x1),this;}['startActivitySpan'](_0x5dd44d=this['leg']){const _0x5c510a=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x5dd44d,_0x2c0fe9=this['getTraceId'](),_0x2c5451=this['getActivityParentSpanId'](_0x5dd44d),_0x132efb=this['getSpanAttrs'](_0x5dd44d),_0x262682=this['startSpan'](_0x2c0fe9,_0x2c5451,_0x5c510a,_0x132efb);return this['setTelemetryContext'](_0x262682,_0x5dd44d),this['span']=_0x262682,this;}['startStreamSpan'](_0x27d4bb,_0x1c256f){let _0xe1c51e;if(_0x1c256f===stream_1['StreamRole']['SYSTEM'])_0xe1c51e='SYSTEM';else{if(_0x1c256f===stream_1['StreamRole']['WORKER'])_0xe1c51e='EXECUTE';else _0x27d4bb['type']===stream_1['StreamDataType']['RESULT']||_0x27d4bb['type']===stream_1['StreamDataType']['RESPONSE']?_0xe1c51e='FANIN':_0xe1c51e='FANOUT';}const _0x4c4fd0=_0x27d4bb['metadata']['topic']?'/'+_0x27d4bb['metadata']['topic']:'',_0x1207eb=_0xe1c51e+'/'+this['appId']+'/'+_0x27d4bb['metadata']['aid']+_0x4c4fd0,_0x7f6e36=this['getStreamSpanAttrs'](_0x27d4bb),_0x31996d=this['startSpan'](_0x27d4bb['metadata']['trc'],_0x27d4bb['metadata']['spn'],_0x1207eb,_0x7f6e36);return this['span']=_0x31996d,this;}['startSpan'](_0x1c9e7b,_0x305e4e,_0x3b5c70,_0x1bfcf4){this['traceId']=_0x1c9e7b,this['spanId']=_0x305e4e;const _0x39258f=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x4426c7=this['getParentSpanContext'](),_0x397af4=_0x39258f['startSpan'](_0x3b5c70,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x1bfcf4,'root':!_0x4426c7},_0x4426c7);return _0x397af4;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x2dc49b=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x55ce36={...Object['keys'](_0x2dc49b)['reduce']((_0x33b7dc,_0x57482f)=>{return['string','boolean','number']['includes'](typeof _0x2dc49b[_0x57482f])&&(_0x33b7dc['app.activity.data.'+_0x57482f]=_0x2dc49b[_0x57482f]),_0x33b7dc;},{})};this['span']?.['setAttributes'](_0x55ce36);}}['setActivityAttributes'](_0x10ef09){this['span']?.['setAttributes'](_0x10ef09);}['setStreamAttributes'](_0x2e982f){this['span']?.['setAttributes'](_0x2e982f);}['setJobAttributes'](_0x595dac){this['jobSpan']?.['setAttributes'](_0x595dac);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0x3a458c){_0x3a458c&&_0x3a458c['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x1dfafe={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x54dd7b=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x1dfafe);return _0x54dd7b;}}['getSpanAttrs'](_0x27cb69){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x2bd9cf,_0x3f52f0)=>{return _0x3f52f0!=='trc'&&(_0x2bd9cf['app.job.'+_0x3f52f0]=this['context']['metadata'][_0x3f52f0]),_0x2bd9cf;},{}),...Object['keys'](this['metadata'])['reduce']((_0x40cb85,_0xe55ae9)=>{return _0x40cb85['app.activity.'+_0xe55ae9]=this['metadata'][_0xe55ae9],_0x40cb85;},{}),'app.activity.leg':_0x27cb69};}['getStreamSpanAttrs'](_0xf3ec57){return{...Object['keys'](_0xf3ec57['metadata'])['reduce']((_0x25f803,_0x1574ef)=>{return _0x1574ef!=='trc'&&_0x1574ef!=='spn'&&(_0x25f803['app.stream.'+_0x1574ef]=_0xf3ec57['metadata'][_0x1574ef]),_0x25f803;},{})};}['setTelemetryContext'](_0x44e56c,_0x5838a6){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0x44e56c['spanContext']()['traceId']),_0x5838a6===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0x44e56c['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0x44e56c['spanContext']()['spanId']);}['setActivityError'](_0xca79ed){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0xca79ed});}['setStreamError'](_0x1659ff){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x1659ff});}static['addTargetTelemetryPaths'](_0xc497bc,_0x51fb42,_0x33ffd6,_0x4eaa2b){_0x4eaa2b===0x1?(!(_0x51fb42['parent']in _0xc497bc)&&(_0xc497bc[_0x51fb42['parent']]=[]),_0xc497bc[_0x51fb42['parent']]['push'](_0x51fb42['parent']+'/output/metadata/l2s')):(!(_0x33ffd6['aid']in _0xc497bc)&&(_0xc497bc[_0x33ffd6['aid']]=[]),_0xc497bc[_0x33ffd6['aid']]['push'](_0x33ffd6['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0xf04904,_0x72cfd5,_0x386a84){_0x72cfd5['type']==='trigger'&&(_0xf04904['metadata/trc']=_0x386a84['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x3e5c6c,_0x310511,_0x97cada,_0x290f87,_0x3c44c6){if(_0x310511['type']==='trigger')_0x3e5c6c[_0x97cada['aid']+'/output/metadata/l1s']=_0x290f87['$self']['output']['metadata']['l1s'],_0x3e5c6c[_0x97cada['aid']+'/output/metadata/l2s']=_0x290f87['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x310511['type'])==='hook'&&_0x3c44c6===0x1)_0x3e5c6c[_0x97cada['aid']+'/output/metadata/l1s']=_0x290f87['$self']['output']['metadata']['l1s'],_0x3e5c6c[_0x97cada['aid']+'/output/metadata/l2s']=_0x290f87['$self']['output']['metadata']['l1s'];else{if(_0x310511['type']==='signal'&&_0x3c44c6===0x1)_0x3e5c6c[_0x97cada['aid']+'/output/metadata/l1s']=_0x290f87['$self']['output']['metadata']['l1s'],_0x3e5c6c[_0x97cada['aid']+'/output/metadata/l2s']=_0x290f87['$self']['output']['metadata']['l1s'];else{const _0x447ad4='l'+_0x3c44c6+'s';_0x3e5c6c[_0x97cada['aid']+'/output/metadata/'+_0x447ad4]=_0x290f87['$self']['output']['metadata'][_0x447ad4];}}}}}exports['TelemetryService']=TelemetryService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x35759a,_0x35b906){const _0x4d678a=_0x42cc,_0x18c1db=_0x35759a();while(!![]){try{const _0x4f8036=parseInt(_0x4d678a(0x18d))/0x1+-parseInt(_0x4d678a(0x192))/0x2*(parseInt(_0x4d678a(0x193))/0x3)+-parseInt(_0x4d678a(0x18c))/0x4+-parseInt(_0x4d678a(0x195))/0x5+-parseInt(_0x4d678a(0x191))/0x6*(-parseInt(_0x4d678a(0x190))/0x7)+parseInt(_0x4d678a(0x194))/0x8*(parseInt(_0x4d678a(0x18e))/0x9)+parseInt(_0x4d678a(0x18f))/0xa;if(_0x4f8036===_0x35b906)break;else _0x18c1db['push'](_0x18c1db['shift']());}catch(_0x50080a){_0x18c1db['push'](_0x18c1db['shift']());}}}(_0x1672,0xda838));function _0x42cc(_0x329fa5,_0x5cb34b){const _0x167285=_0x1672();return _0x42cc=function(_0x42cc99,_0x56063b){_0x42cc99=_0x42cc99-0x18c;let _0x4d9bc2=_0x167285[_0x42cc99];return _0x4d9bc2;},_0x42cc(_0x329fa5,_0x5cb34b);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['WorkerService']=void 0x0;function _0x1672(){const _0x5e74bc=['11327589lFvhsy','10844130Izmbby','7lbxQRi','6516546YAOtgv','124476QwqafJ','30XUxjRp','8Xxspep','7615090BJvhfX','2608048xRiifc','263317OBljJC'];_0x1672=function(){return _0x5e74bc;};return _0x1672();}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');class WorkerService{constructor(){this['reporting']=![];}static async['init'](_0x207e12,_0x11f358,_0x1abdb6,_0x47ae9a,_0x1ad3e7){const _0x20c773=[];if(Array['isArray'](_0x47ae9a['workers']))for(const _0x4bf65e of _0x47ae9a['workers']){await factory_1['ConnectorService']['initClients'](_0x4bf65e);const _0x18b6c8=new WorkerService();_0x18b6c8['verifyWorkerFields'](_0x4bf65e),_0x18b6c8['namespace']=_0x207e12,_0x18b6c8['appId']=_0x11f358,_0x18b6c8['guid']=_0x1abdb6,_0x18b6c8['callback']=_0x4bf65e['callback'],_0x18b6c8['topic']=_0x4bf65e['topic'],_0x18b6c8['config']=_0x47ae9a,_0x18b6c8['logger']=_0x1ad3e7,await _0x18b6c8['initStoreChannel'](_0x18b6c8,_0x4bf65e['store']),await _0x18b6c8['initSubChannel'](_0x18b6c8,_0x4bf65e['sub'],_0x4bf65e['pub']??_0x4bf65e['store']),await _0x18b6c8['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x18b6c8['subscriptionHandler'](),_0x11f358),await _0x18b6c8['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x18b6c8['subscriptionHandler'](),_0x11f358,_0x18b6c8['topic']),await _0x18b6c8['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x18b6c8['subscriptionHandler'](),_0x11f358,_0x18b6c8['guid']),await _0x18b6c8['initStreamChannel'](_0x18b6c8,_0x4bf65e['stream'],_0x4bf65e['store']),_0x18b6c8['router']=await _0x18b6c8['initRouter'](_0x4bf65e,_0x1ad3e7);const _0x2782ee=_0x18b6c8['store']['mintKey'](key_1['KeyType']['STREAMS'],{'appId':_0x18b6c8['appId'],'topic':_0x4bf65e['topic']});await _0x18b6c8['router']['consumeMessages'](_0x2782ee,'WORKER',_0x18b6c8['guid'],_0x4bf65e['callback']),_0x18b6c8['inited']=(0x0,utils_1['formatISODate'])(new Date()),_0x20c773['push'](_0x18b6c8);}return _0x20c773;}['verifyWorkerFields'](_0x2667dc){if(!(0x0,utils_1['identifyProvider'])(_0x2667dc['store'])||!(0x0,utils_1['identifyProvider'])(_0x2667dc['stream'])||!(0x0,utils_1['identifyProvider'])(_0x2667dc['sub'])||!(_0x2667dc['topic']&&_0x2667dc['callback']))throw new Error('worker\x20must\x20include\x20`store`,\x20`stream`,\x20and\x20`sub`\x20fields\x20along\x20with\x20a\x20callback\x20function\x20and\x20topic.');}async['initStoreChannel'](_0x1cb472,_0x379565){_0x1cb472['store']=await factory_4['StoreServiceFactory']['init'](_0x379565,_0x1cb472['namespace'],_0x1cb472['appId'],_0x1cb472['logger']);}async['initSubChannel'](_0x308a0c,_0x3133a3,_0x44474e){_0x308a0c['subscribe']=await factory_3['SubServiceFactory']['init'](_0x3133a3,_0x44474e,_0x308a0c['namespace'],_0x308a0c['appId'],_0x308a0c['guid'],_0x308a0c['logger']);}async['initStreamChannel'](_0x3cda58,_0x445cd6,_0x4ede8f){_0x3cda58['stream']=await factory_2['StreamServiceFactory']['init'](_0x445cd6,_0x4ede8f,_0x3cda58['namespace'],_0x3cda58['appId'],_0x3cda58['logger']);}async['initRouter'](_0x1b6c7a,_0x320555){const _0x3c0cba=await this['store']['getThrottleRate'](_0x1b6c7a['topic']);return new router_1['Router']({'namespace':this['namespace'],'appId':this['appId'],'guid':this['guid'],'role':stream_1['StreamRole']['WORKER'],'topic':_0x1b6c7a['topic'],'reclaimDelay':_0x1b6c7a['reclaimDelay'],'reclaimCount':_0x1b6c7a['reclaimCount'],'throttle':_0x3c0cba},this['stream'],_0x320555);}['subscriptionHandler'](){const _0x8cc430=this;return async(_0x104302,_0x25167c)=>{_0x8cc430['logger']['debug']('worker-event-received',{'topic':_0x104302,'type':_0x25167c['type']});if(_0x25167c['type']==='throttle')_0x25167c['topic']!==null&&_0x8cc430['throttle'](_0x25167c['throttle']);else{if(_0x25167c['type']==='ping')_0x8cc430['sayPong'](_0x8cc430['appId'],_0x8cc430['guid'],_0x25167c['originator'],_0x25167c['details']);else _0x25167c['type']==='rollcall'&&(_0x25167c['topic']!==null&&_0x8cc430['doRollCall'](_0x25167c));}};}async['doRollCall'](_0x64e8b){let _0x450803=0x0;const _0x6ca4a7=!isNaN(_0x64e8b['max'])?_0x64e8b['max']:enums_1['HMSH_QUORUM_ROLLCALL_CYCLES'];if(this['rollCallInterval'])clearTimeout(this['rollCallInterval']);const _0x8d43d9=_0x64e8b['interval']/0x2,_0x475f50=_0x8d43d9+Math['ceil'](Math['random']()*_0x8d43d9);do{await(0x0,utils_1['sleepFor'])(Math['ceil'](Math['random']()*0x3e8)),await this['sayPong'](this['appId'],this['guid'],null,!![],_0x64e8b['signature']);if(!_0x64e8b['interval'])return;const {promise:_0x478f43,timerId:_0x5f5d6c}=(0x0,utils_1['XSleepFor'])(_0x475f50*0x3e8);this['rollCallInterval']=_0x5f5d6c,await _0x478f43;}while(this['rollCallInterval']&&_0x450803++<_0x6ca4a7-0x1);}['cancelRollCall'](){this['rollCallInterval']&&(clearTimeout(this['rollCallInterval']),delete this['rollCallInterval']);}['stop'](){this['cancelRollCall']();}async['sayPong'](_0x67f339,_0x4b2b7a,_0xfde1a1,_0x4a2d54=![],_0x369c75=![]){let _0x23d184;if(_0x4a2d54){const _0x925f4={'appId':this['appId'],'topic':this['topic']};_0x23d184={'engine_id':this['guid'],'namespace':this['namespace'],'app_id':this['appId'],'worker_topic':this['topic'],'stream':this['store']['mintKey'](key_1['KeyType']['STREAMS'],_0x925f4),'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':_0x369c75?this['callback']['toString']():undefined};}this['subscribe']['publish'](key_1['KeyType']['QUORUM'],{'type':'pong','guid':_0x4b2b7a,'originator':_0xfde1a1,'profile':_0x23d184},_0x67f339);}async['throttle'](_0x2d7411){this['router']?.['setThrottle'](_0x2d7411);}}exports['WorkerService']=WorkerService;
|
package/build/types/hotmesh.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { HotMesh as HotMeshService } from '../services/hotmesh';
|
|
|
3
3
|
import { HookRules } from './hook';
|
|
4
4
|
import { StreamData, StreamDataResponse } from './stream';
|
|
5
5
|
import { LogLevel } from './logger';
|
|
6
|
-
import { ProviderClient, ProviderConfig } from './provider';
|
|
6
|
+
import { ProviderClient, ProviderConfig, ProvidersConfig } from './provider';
|
|
7
7
|
declare enum KeyType {
|
|
8
8
|
APP = "APP",
|
|
9
9
|
THROTTLE_RATE = "THROTTLE_RATE",
|
|
@@ -46,14 +46,7 @@ type HotMeshEngine = {
|
|
|
46
46
|
pub?: ProviderClient;
|
|
47
47
|
search?: ProviderClient;
|
|
48
48
|
redis?: ProviderConfig;
|
|
49
|
-
connection?: ProviderConfig;
|
|
50
|
-
connections?: {
|
|
51
|
-
store: ProviderConfig;
|
|
52
|
-
stream: ProviderConfig;
|
|
53
|
-
sub: ProviderConfig;
|
|
54
|
-
pub?: ProviderConfig;
|
|
55
|
-
search?: ProviderConfig;
|
|
56
|
-
};
|
|
49
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
57
50
|
reclaimDelay?: number;
|
|
58
51
|
reclaimCount?: number;
|
|
59
52
|
readonly?: boolean;
|
|
@@ -66,14 +59,7 @@ type HotMeshWorker = {
|
|
|
66
59
|
sub?: ProviderClient;
|
|
67
60
|
search?: ProviderClient;
|
|
68
61
|
redis?: ProviderConfig;
|
|
69
|
-
connection?: ProviderConfig;
|
|
70
|
-
connections?: {
|
|
71
|
-
store: ProviderConfig;
|
|
72
|
-
stream: ProviderConfig;
|
|
73
|
-
sub: ProviderConfig;
|
|
74
|
-
pub?: ProviderConfig;
|
|
75
|
-
search?: ProviderConfig;
|
|
76
|
-
};
|
|
62
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
77
63
|
reclaimDelay?: number;
|
|
78
64
|
reclaimCount?: number;
|
|
79
65
|
callback: (payload: StreamData) => Promise<StreamDataResponse>;
|
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
import { MeshOS } from '../services/meshos';
|
|
2
2
|
import { WorkflowSearchSchema } from './meshflow';
|
|
3
|
-
import
|
|
4
|
-
import { ProviderConfig } from './provider';
|
|
3
|
+
import { ProviderConfig, ProvidersConfig } from './provider';
|
|
5
4
|
export type DB = {
|
|
6
5
|
name: string;
|
|
7
6
|
label: string;
|
|
8
7
|
search: boolean;
|
|
9
|
-
connection
|
|
10
|
-
connections?: {
|
|
11
|
-
store: ProviderConfig;
|
|
12
|
-
stream: ProviderConfig;
|
|
13
|
-
sub: ProviderConfig;
|
|
14
|
-
pub?: ProviderConfig;
|
|
15
|
-
search?: ProviderConfig;
|
|
16
|
-
};
|
|
8
|
+
connection: ProviderConfig | ProvidersConfig;
|
|
17
9
|
};
|
|
18
10
|
export type SubClassInstance<T extends typeof MeshOS> = T extends abstract new (...args: any) => infer R ? R : never;
|
|
19
11
|
export type AllSubclassInstances = SubClassInstance<(typeof MeshOS)['classes'][keyof (typeof MeshOS)['classes']]>;
|
package/build/types/nats.d.ts
CHANGED
|
@@ -21,6 +21,14 @@ export interface NatsConnection extends ProviderClient {
|
|
|
21
21
|
jetstreamManager(options?: NatsJetStreamOptions): Promise<NatsJetStreamManager>;
|
|
22
22
|
close(): Promise<void>;
|
|
23
23
|
}
|
|
24
|
+
export interface NatsSubscriptionType {
|
|
25
|
+
unsubscribe(): void;
|
|
26
|
+
drain(): Promise<void>;
|
|
27
|
+
subject: string;
|
|
28
|
+
queue?: string;
|
|
29
|
+
isClosed: boolean;
|
|
30
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<NatsMessageType>;
|
|
31
|
+
}
|
|
24
32
|
export type NatsClientType = NatsConnection;
|
|
25
33
|
export type NatsClassType = (options: NatsClientOptions) => Promise<NatsConnection>;
|
|
26
34
|
export interface NatsJetStreamClient {
|
|
@@ -10,15 +10,24 @@ export interface PostgresClientOptions {
|
|
|
10
10
|
export type PostgresJobEnumType = 'status' | 'jdata' | 'adata' | 'udata' | 'jmark' | 'hmark' | 'other';
|
|
11
11
|
export type PostgresClassType = {
|
|
12
12
|
new (options: PostgresClientOptions): PostgresClientType;
|
|
13
|
+
};
|
|
14
|
+
export type PostgresPoolType = {
|
|
15
|
+
new (options: PostgresClientOptions): PostgresPoolClientType;
|
|
13
16
|
connect: (options: PostgresClientOptions) => Promise<PostgresClientType>;
|
|
17
|
+
query: (text: string, values?: any[]) => Promise<PostgresQueryResultType>;
|
|
14
18
|
};
|
|
15
19
|
export interface PostgresClientType {
|
|
20
|
+
connect: () => Promise<PostgresClientType>;
|
|
16
21
|
query: (text: string, values?: any[]) => Promise<PostgresQueryResultType>;
|
|
17
22
|
end: () => Promise<void>;
|
|
18
23
|
}
|
|
19
24
|
export interface PostgresPoolClientType {
|
|
20
|
-
|
|
25
|
+
connect: () => Promise<PostgresClientType>;
|
|
21
26
|
release: () => void;
|
|
27
|
+
end: () => Promise<void>;
|
|
28
|
+
query: (text: string, values?: any[]) => Promise<PostgresQueryResultType>;
|
|
29
|
+
idleCount: number;
|
|
30
|
+
totalCount: number;
|
|
22
31
|
}
|
|
23
32
|
export interface PostgresQueryResultType {
|
|
24
33
|
rows: any[];
|