@hotmeshio/hotmesh 0.3.11 → 0.3.13
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.d.ts +3 -2
- package/build/modules/utils.js +1 -1
- package/build/package.json +5 -5
- 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 +5 -3
- 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 +8 -5
- 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 +5 -5
- 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 _0x313e(){var _0x272557=['40zjDNbP','19901794ufvpfW','126570OOxjdA','191857gxpZFw','3963544RTTnyM','62442BgVuqh','87SAZsSd','558dzKqBM','615867KgkSCT','315uvVSHM','65662uyJlPW'];_0x313e=function(){return _0x272557;};return _0x313e();}function _0x3d9e(_0x466362,_0x44f31b){var _0x313e01=_0x313e();return _0x3d9e=function(_0x3d9e42,_0x5cbc10){_0x3d9e42=_0x3d9e42-0x1d8;var _0x279981=_0x313e01[_0x3d9e42];return _0x279981;},_0x3d9e(_0x466362,_0x44f31b);}(function(_0x91de,_0x5997c1){var _0x1d009f=_0x3d9e,_0x3f7840=_0x91de();while(!![]){try{var _0x1309f8=-parseInt(_0x1d009f(0x1dd))/0x1+parseInt(_0x1d009f(0x1d9))/0x2*(parseInt(_0x1d009f(0x1e0))/0x3)+parseInt(_0x1d009f(0x1de))/0x4+-parseInt(_0x1d009f(0x1d8))/0x5*(parseInt(_0x1d009f(0x1df))/0x6)+parseInt(_0x1d009f(0x1e2))/0x7*(parseInt(_0x1d009f(0x1da))/0x8)+parseInt(_0x1d009f(0x1e1))/0x9*(parseInt(_0x1d009f(0x1dc))/0xa)+-parseInt(_0x1d009f(0x1db))/0xb;if(_0x1309f8===_0x5997c1)break;else _0x3f7840['push'](_0x3f7840['shift']());}catch(_0x40a56a){_0x3f7840['push'](_0x3f7840['shift']());}}}(_0x313e,0x7cb98));Object['defineProperty'](exports,'__esModule',{'value':!![]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x1f3487,_0x425997){const _0x603ab0=_0x5799,_0x567385=_0x1f3487();while(!![]){try{const _0x206a6c=parseInt(_0x603ab0(0xf9))/0x1+-parseInt(_0x603ab0(0xfe))/0x2+-parseInt(_0x603ab0(0xfa))/0x3+-parseInt(_0x603ab0(0xfb))/0x4+parseInt(_0x603ab0(0xfc))/0x5*(parseInt(_0x603ab0(0xfd))/0x6)+parseInt(_0x603ab0(0xff))/0x7+parseInt(_0x603ab0(0xf7))/0x8*(parseInt(_0x603ab0(0xf8))/0x9);if(_0x206a6c===_0x425997)break;else _0x567385['push'](_0x567385['shift']());}catch(_0x4e9c30){_0x567385['push'](_0x567385['shift']());}}}(_0x1ca3,0x309d1));function _0x1ca3(){const _0x59d63e=['18AqpoON','32605VlSqlG','677286pItpeU','522232QEuceY','244295DAvsmy','42BeNRFz','138778fZwTMh','890596EZxoTK','491936YpOncy'];_0x1ca3=function(){return _0x59d63e;};return _0x1ca3();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;function _0x5799(_0x3db5ac,_0x360be3){const _0x1ca30f=_0x1ca3();return _0x5799=function(_0x5799a5,_0x4fae67){_0x5799a5=_0x5799a5-0xf7;let _0x5d4620=_0x1ca30f[_0x5799a5];return _0x5d4620;},_0x5799(_0x3db5ac,_0x360be3);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class IORedisSubService extends index_1['SubService']{constructor(_0x42b5f8,_0x558a77){super(_0x42b5f8,_0x558a77);}async['init'](_0x411ec7=key_1['HMNS'],_0x33f6ca,_0x4649a6,_0xfef6e3){this['namespace']=_0x411ec7,this['logger']=_0xfef6e3,this['appId']=_0x33f6ca;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x1cb02b,_0x3cf4fe){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x1cb02b,_0x3cf4fe);}async['subscribe'](_0xae482b,_0x363ab7,_0xba2ee5,_0x29a327){const _0x596a11=this,_0x3e8558=this['mintKey'](_0xae482b,{'appId':_0xba2ee5,'engineId':_0x29a327});await this['eventClient']['subscribe'](_0x3e8558,_0x3a3568=>{_0x3a3568&&_0x596a11['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x3e8558,_0x3a3568);}),this['eventClient']['on']('message',(_0x8138b,_0x4e238e)=>{if(_0x8138b===_0x3e8558)try{const _0x55ed63=JSON['parse'](_0x4e238e);_0x363ab7(_0x3e8558,_0x55ed63);}catch(_0x53f55a){_0x596a11['logger']['error']('Error\x20parsing\x20message:\x20'+_0x4e238e,_0x53f55a);}});}async['unsubscribe'](_0x4cca88,_0x36ecc0,_0x47a8de){const _0x4ab635=this['mintKey'](_0x4cca88,{'appId':_0x36ecc0,'engineId':_0x47a8de});await this['eventClient']['unsubscribe'](_0x4ab635);}async['psubscribe'](_0x12ec71,_0x31c4d0,_0x6ee72e,_0x211838){const _0x5efc62=this,_0x26fcc8=this['mintKey'](_0x12ec71,{'appId':_0x6ee72e,'engineId':_0x211838});await this['eventClient']['psubscribe'](_0x26fcc8,_0x5419d2=>{_0x5419d2&&_0x5efc62['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x26fcc8,_0x5419d2);}),this['eventClient']['on']('pmessage',(_0x26089c,_0x195687,_0x12d354)=>{if(_0x26089c===_0x26fcc8)try{const _0xda7d0e=JSON['parse'](_0x12d354);_0x31c4d0(_0x195687,_0xda7d0e);}catch(_0x407f05){_0x5efc62['logger']['error']('Error\x20parsing\x20message:\x20'+_0x12d354,_0x407f05);}});}async['punsubscribe'](_0x49f3e1,_0xedd356,_0x2042b4){const _0x5021a4=this['mintKey'](_0x49f3e1,{'appId':_0xedd356,'engineId':_0x2042b4});await this['eventClient']['punsubscribe'](_0x5021a4);}async['publish'](_0x43c9ba,_0x3b870f,_0xfd5b6d,_0x465502){const _0x218932=this['mintKey'](_0x43c9ba,{'appId':_0xfd5b6d,'engineId':_0x465502}),_0x4d117b=await this['storeClient']['publish'](_0x218932,JSON['stringify'](_0x3b870f));return _0x4d117b===0x1;}}exports['IORedisSubService']=IORedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x62d23e,_0x3eb214){const _0x33216a=_0x1153,_0x10aa37=_0x62d23e();while(!![]){try{const _0x48b47a=-parseInt(_0x33216a(0x144))/0x1+parseInt(_0x33216a(0x145))/0x2+-parseInt(_0x33216a(0x146))/0x3+-parseInt(_0x33216a(0x147))/0x4+-parseInt(_0x33216a(0x143))/0x5*(-parseInt(_0x33216a(0x141))/0x6)+parseInt(_0x33216a(0x140))/0x7+-parseInt(_0x33216a(0x142))/0x8;if(_0x48b47a===_0x3eb214)break;else _0x10aa37['push'](_0x10aa37['shift']());}catch(_0x282641){_0x10aa37['push'](_0x10aa37['shift']());}}}(_0x3b63,0xef37d));function _0x3b63(){const _0x2e72df=['3726520vXVHsW','618mTzyyQ','2586432nTNWox','70450vXwmFh','1173062aAaYNR','3184596PaCdBs','3114774oZtfli','245868egiubO'];_0x3b63=function(){return _0x2e72df;};return _0x3b63();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;function _0x1153(_0x32a24c,_0x1b87fd){const _0x3b63ac=_0x3b63();return _0x1153=function(_0x11532a,_0x19f5e9){_0x11532a=_0x11532a-0x140;let _0x5de7ee=_0x3b63ac[_0x11532a];return _0x5de7ee;},_0x1153(_0x32a24c,_0x1b87fd);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class RedisSubService extends index_1['SubService']{constructor(_0xdff18d,_0xda8b98){super(_0xdff18d,_0xda8b98);}async['init'](_0x32377b=key_1['HMNS'],_0x37696f,_0x53a697,_0x312231){this['namespace']=_0x32377b,this['logger']=_0x312231,this['appId']=_0x37696f;}['transact'](){const _0x915c7c=this['eventClient']['multi']();return _0x915c7c;}['mintKey'](_0x5ab0c7,_0x3a1786){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5ab0c7,_0x3a1786);}async['subscribe'](_0x7c29fa,_0x296e58,_0x501317,_0x249fbd){if(this['eventClient']){const _0x2d36ac=this,_0x24c898=this['mintKey'](_0x7c29fa,{'appId':_0x501317,'engineId':_0x249fbd});await this['eventClient']['subscribe'](_0x24c898,_0x402636=>{try{const _0x3cd101=JSON['parse'](_0x402636);_0x296e58(_0x24c898,_0x3cd101);}catch(_0x4792c1){_0x2d36ac['logger']['error']('Error\x20parsing\x20message:\x20'+_0x402636,_0x4792c1);}});}}async['unsubscribe'](_0x6166b0,_0x538371,_0x98da32){const _0x3c8c23=this['mintKey'](_0x6166b0,{'appId':_0x538371,'engineId':_0x98da32});await this['eventClient']['unsubscribe'](_0x3c8c23);}async['psubscribe'](_0x34a981,_0x5003d3,_0x56481,_0x50a61e){if(this['eventClient']){const _0x5bf3e9=this,_0x493c53=this['mintKey'](_0x34a981,{'appId':_0x56481,'engineId':_0x50a61e});await this['eventClient']['pSubscribe'](_0x493c53,(_0xde31c4,_0xea0569)=>{try{const _0x464257=JSON['parse'](_0xde31c4);_0x5003d3(_0xea0569,_0x464257);}catch(_0x4eeb12){_0x5bf3e9['logger']['error']('Error\x20parsing\x20message:\x20'+_0xde31c4,_0x4eeb12);}});}}async['punsubscribe'](_0x32ee64,_0x380c24,_0x26f69){const _0x58f10d=this['mintKey'](_0x32ee64,{'appId':_0x380c24,'engineId':_0x26f69});await this['eventClient']['pUnsubscribe'](_0x58f10d);}async['publish'](_0x48de9f,_0x4ba244,_0x1c7c0f,_0x1e9604){const _0x242af5=this['mintKey'](_0x48de9f,{'appId':_0x1c7c0f,'engineId':_0x1e9604}),_0x571b09=await this['storeClient']['publish'](_0x242af5,JSON['stringify'](_0x4ba244));return _0x571b09>0x0;}}exports['RedisSubService']=RedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x27af(){const _0x7f1365=['337567BROaim','20ytlpWx','63tEBndP','2779004qTwmDV','3273576XskYpQ','2fnUuZG','1231197PTModd','9FCSVDl','5569920dFvXoS','9969377FVGUTT','160014WsKCTz'];_0x27af=function(){return _0x7f1365;};return _0x27af();}(function(_0xaafdc8,_0x362b86){const _0x786dde=_0x575c,_0x5d3009=_0xaafdc8();while(!![]){try{const _0x54c589=parseInt(_0x786dde(0xfa))/0x1+-parseInt(_0x786dde(0xf4))/0x2*(-parseInt(_0x786dde(0xf5))/0x3)+-parseInt(_0x786dde(0xf2))/0x4+-parseInt(_0x786dde(0xf7))/0x5+-parseInt(_0x786dde(0xf9))/0x6*(-parseInt(_0x786dde(0xf1))/0x7)+parseInt(_0x786dde(0xf3))/0x8*(-parseInt(_0x786dde(0xf6))/0x9)+parseInt(_0x786dde(0xf0))/0xa*(parseInt(_0x786dde(0xf8))/0xb);if(_0x54c589===_0x362b86)break;else _0x5d3009['push'](_0x5d3009['shift']());}catch(_0xc30a94){_0x5d3009['push'](_0x5d3009['shift']());}}}(_0x27af,0x8e40d));function _0x575c(_0x2ae8bc,_0x1f3777){const _0x27aff6=_0x27af();return _0x575c=function(_0x575c08,_0xfd55b7){_0x575c08=_0x575c08-0xf0;let _0x3cf652=_0x27aff6[_0x575c08];return _0x3cf652;},_0x575c(_0x2ae8bc,_0x1f3777);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TaskService']=void 0x0;const enums_1=require('../../modules/enums'),utils_1=require('../../modules/utils'),pipe_1=require('../pipe'),hotmesh_1=require('../../types/hotmesh'),key_1=require('../../modules/key');class TaskService{constructor(_0xed86c8,_0x5c5025){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x5c5025,this['store']=_0xed86c8;}async['processWebHooks'](_0xc69834){const _0x3656ce=await this['store']['getActiveTaskQueue']();if(_0x3656ce){const [_0x5e7008,_0x109c8a,_0x55b283,..._0x318bfb]=_0x3656ce['split'](key_1['WEBSEP']),_0x373745=JSON['parse'](_0x318bfb['join'](key_1['WEBSEP'])),_0x3faa56=_0x109c8a+':processed',_0x12edc8=await this['store']['processTaskQueue'](_0x109c8a,_0x3faa56);_0x12edc8?await _0xc69834(_0x5e7008,{..._0x373745,'id':_0x12edc8}):await this['store']['deleteProcessedTaskQueue'](_0x3656ce,_0x109c8a,_0x3faa56,_0x55b283==='true'),setImmediate(()=>this['processWebHooks'](_0xc69834));}}async['enqueueWorkItems'](_0x314d49){await this['store']['addTaskQueues'](_0x314d49);}async['registerJobForCleanup'](_0x5d714c,_0x1d7ce6=enums_1['HMSH_EXPIRE_DURATION'],_0x188437){_0x1d7ce6>0x0&&await this['store']['expireJob'](_0x5d714c,_0x1d7ce6);}async['registerTimeHook'](_0x46668f,_0x248b31,_0x5f0aaf,_0x39bab1,_0x3938f7=enums_1['HMSH_FIDELITY_SECONDS'],_0x1f9c5d,_0x2de62d){const _0x91c388=Date['now']()+_0x3938f7*0x3e8,_0x2750b7=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x249d22=Math['floor'](_0x91c388/_0x2750b7)*_0x2750b7;await this['store']['registerTimeHook'](_0x46668f,_0x248b31,_0x5f0aaf,_0x39bab1,_0x249d22,_0x1f9c5d,_0x2de62d);}async['shouldScout'](){const _0xacbfeb=this['isScout'],_0x25b750=_0xacbfeb||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x25b750)return!_0xacbfeb&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0x64189b,_0x3e0753){if(await this['shouldScout']())try{const _0x547872=await this['store']['getNextTask'](_0x3e0753);if(Array['isArray'](_0x547872)){const [_0x1e2b72,_0x3b5d6b,_0x498031,_0x4e68b6,_0x7db7c]=_0x547872;if(_0x7db7c==='child'){}else{if(_0x7db7c==='delist'){const _0x31c6ee=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x31c6ee,_0x3b5d6b);}else await _0x64189b(_0x3b5d6b,_0x498031,_0x4e68b6,_0x7db7c);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x64189b,_0x1e2b72);}else{if(_0x547872)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x64189b);else{const _0x428306=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x428306['timerId'],await _0x428306['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0x64189b);}}}catch(_0x3b56cb){this['logger']['warn']('task-process-timehooks-error',_0x3b56cb),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0x64189b);}else{const _0x439f7e=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x439f7e['timerId'],await _0x439f7e['promise'],this['processTimeHooks'](_0x64189b);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x42443a){const _0x2c4a5d=await this['store']['getHookRules']();return _0x2c4a5d?.[_0x42443a]?.[0x0];}async['registerWebHook'](_0x35869d,_0x2a7658,_0x308b7d,_0x30a5b1,_0x4094c8){const _0x65d149=await this['getHookRule'](_0x35869d);if(_0x65d149){const _0x256329=_0x65d149['conditions']['match'][0x0]['expected'],_0x2fa6f9=pipe_1['Pipe']['resolve'](_0x256329,_0x2a7658),_0x4d7957=_0x2a7658['metadata']['jid'],_0x47b08f=_0x2a7658['metadata']['gid'],_0x17c236=_0x65d149['to'],_0x59a838=[_0x17c236,_0x308b7d,_0x47b08f,_0x4d7957]['join'](key_1['WEBSEP']),_0x2743e4={'topic':_0x35869d,'resolved':_0x2fa6f9,'jobId':_0x59a838,'expire':_0x30a5b1};return await this['store']['setHookSignal'](_0x2743e4,_0x4094c8),_0x4d7957;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x53af1f,_0x686fa){const _0x164e1a=await this['getHookRule'](_0x53af1f);if(_0x164e1a){const _0x2330fa={'$self':{'hook':{'data':_0x686fa}},'$hook':{'data':_0x686fa}},_0x26e1a2=_0x164e1a['conditions']['match'][0x0]['actual'],_0x8c84dc=pipe_1['Pipe']['resolve'](_0x26e1a2,_0x2330fa),_0x21af35=await this['store']['getHookSignal'](_0x53af1f,_0x8c84dc);if(!_0x21af35)return undefined;const [_0x4a1e93,_0x1b147f,_0x223491,..._0x36105b]=_0x21af35['split'](key_1['WEBSEP']);return[_0x36105b['join'](key_1['WEBSEP']),_0x164e1a['to'],_0x1b147f,_0x223491];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0xeabfec,_0x28d000){const _0x15c235=await this['getHookRule'](_0xeabfec);if(_0x15c235){const _0x2b7b81={'$self':{'hook':{'data':_0x28d000}},'$hook':{'data':_0x28d000}},_0x135354=_0x15c235['conditions']['match'][0x0]['actual'],_0x5a28bf=pipe_1['Pipe']['resolve'](_0x135354,_0x2b7b81);return await this['store']['deleteHookSignal'](_0xeabfec,_0x5a28bf);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}exports['TaskService']=TaskService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x24be1f,_0xbe3c4c){const _0x2f66fb=_0x7233,_0x1bfd10=_0x24be1f();while(!![]){try{const _0x489873=-parseInt(_0x2f66fb(0x148))/0x1+-parseInt(_0x2f66fb(0x14b))/0x2*(-parseInt(_0x2f66fb(0x14f))/0x3)+parseInt(_0x2f66fb(0x14c))/0x4+parseInt(_0x2f66fb(0x147))/0x5*(parseInt(_0x2f66fb(0x151))/0x6)+-parseInt(_0x2f66fb(0x149))/0x7*(parseInt(_0x2f66fb(0x150))/0x8)+-parseInt(_0x2f66fb(0x14d))/0x9+-parseInt(_0x2f66fb(0x14e))/0xa*(-parseInt(_0x2f66fb(0x14a))/0xb);if(_0x489873===_0xbe3c4c)break;else _0x1bfd10['push'](_0x1bfd10['shift']());}catch(_0x132c33){_0x1bfd10['push'](_0x1bfd10['shift']());}}}(_0x377d,0x2fd7c));function _0x377d(){const _0x3035cd=['337575hvrLtv','176XbpBVF','6woBjYc','406885aPqOkR','335334bnTBye','121051adwmJV','5126HTxbPU','2YEnrEE','932100AGtnTD','2099601rIvlZc','15410rGMUZW'];_0x377d=function(){return _0x3035cd;};return _0x377d();}var __importDefault=this&&this['__importDefault']||function(_0x3d510b){return _0x3d510b&&_0x3d510b['__esModule']?_0x3d510b:{'default':_0x3d510b};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TelemetryService']=void 0x0;const package_json_1=__importDefault(require('../../package.json')),mapper_1=require('../mapper'),stream_1=require('../../types/stream'),telemetry_1=require('../../types/telemetry'),utils_1=require('../../modules/utils');function _0x7233(_0x217c35,_0x1b1749){const _0x377df0=_0x377d();return _0x7233=function(_0x7233fa,_0x4db831){_0x7233fa=_0x7233fa-0x147;let _0x559124=_0x377df0[_0x7233fa];return _0x559124;},_0x7233(_0x217c35,_0x1b1749);}class TelemetryService{constructor(_0x34b5bc,_0x9a556a,_0x23c5bc,_0x348b47){this['leg']=0x1,this['appId']=_0x34b5bc,this['config']=_0x9a556a,this['metadata']=_0x23c5bc,this['context']=_0x348b47;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x3bf87b){return _0x3bf87b===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x27f46a='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x215d8b=this['getTraceId'](),_0x2adaec=this['getJobParentSpanId'](),_0x43fd5b=this['getSpanAttrs'](0x1),_0x5c3048=this['startSpan'](_0x215d8b,_0x2adaec,_0x27f46a,_0x43fd5b);return this['jobSpan']=_0x5c3048,this['setTelemetryContext'](_0x5c3048,0x1),this;}['startActivitySpan'](_0x24ca7e=this['leg']){const _0x473efe=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x24ca7e,_0x22090b=this['getTraceId'](),_0x2cc69a=this['getActivityParentSpanId'](_0x24ca7e),_0xe3b279=this['getSpanAttrs'](_0x24ca7e),_0x27a46b=this['startSpan'](_0x22090b,_0x2cc69a,_0x473efe,_0xe3b279);return this['setTelemetryContext'](_0x27a46b,_0x24ca7e),this['span']=_0x27a46b,this;}['startStreamSpan'](_0x1cd234,_0x2c86c9){let _0x2dd60a;if(_0x2c86c9===stream_1['StreamRole']['SYSTEM'])_0x2dd60a='SYSTEM';else{if(_0x2c86c9===stream_1['StreamRole']['WORKER'])_0x2dd60a='EXECUTE';else _0x1cd234['type']===stream_1['StreamDataType']['RESULT']||_0x1cd234['type']===stream_1['StreamDataType']['RESPONSE']?_0x2dd60a='FANIN':_0x2dd60a='FANOUT';}const _0x49f2e7=_0x1cd234['metadata']['topic']?'/'+_0x1cd234['metadata']['topic']:'',_0x546102=_0x2dd60a+'/'+this['appId']+'/'+_0x1cd234['metadata']['aid']+_0x49f2e7,_0x3a025f=this['getStreamSpanAttrs'](_0x1cd234),_0x3b2fec=this['startSpan'](_0x1cd234['metadata']['trc'],_0x1cd234['metadata']['spn'],_0x546102,_0x3a025f);return this['span']=_0x3b2fec,this;}['startSpan'](_0x4c199c,_0x40045d,_0x4d826a,_0x34b59f){this['traceId']=_0x4c199c,this['spanId']=_0x40045d;const _0x43aec3=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x251f73=this['getParentSpanContext'](),_0xb6dceb=_0x43aec3['startSpan'](_0x4d826a,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x34b59f,'root':!_0x251f73},_0x251f73);return _0xb6dceb;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x5003e4=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x7ae91d={...Object['keys'](_0x5003e4)['reduce']((_0x20bbeb,_0x138a46)=>{return['string','boolean','number']['includes'](typeof _0x5003e4[_0x138a46])&&(_0x20bbeb['app.activity.data.'+_0x138a46]=_0x5003e4[_0x138a46]),_0x20bbeb;},{})};this['span']?.['setAttributes'](_0x7ae91d);}}['setActivityAttributes'](_0x15412e){this['span']?.['setAttributes'](_0x15412e);}['setStreamAttributes'](_0x16ed3b){this['span']?.['setAttributes'](_0x16ed3b);}['setJobAttributes'](_0x452d7c){this['jobSpan']?.['setAttributes'](_0x452d7c);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0xb1dbdb){_0xb1dbdb&&_0xb1dbdb['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x365fb9={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x41845a=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x365fb9);return _0x41845a;}}['getSpanAttrs'](_0x3f3e17){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x3a4cbe,_0x2c2264)=>{return _0x2c2264!=='trc'&&(_0x3a4cbe['app.job.'+_0x2c2264]=this['context']['metadata'][_0x2c2264]),_0x3a4cbe;},{}),...Object['keys'](this['metadata'])['reduce']((_0x380b63,_0x1a68db)=>{return _0x380b63['app.activity.'+_0x1a68db]=this['metadata'][_0x1a68db],_0x380b63;},{}),'app.activity.leg':_0x3f3e17};}['getStreamSpanAttrs'](_0x5d75b3){return{...Object['keys'](_0x5d75b3['metadata'])['reduce']((_0x138866,_0x239039)=>{return _0x239039!=='trc'&&_0x239039!=='spn'&&(_0x138866['app.stream.'+_0x239039]=_0x5d75b3['metadata'][_0x239039]),_0x138866;},{})};}['setTelemetryContext'](_0x973630,_0x3bf144){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0x973630['spanContext']()['traceId']),_0x3bf144===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0x973630['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0x973630['spanContext']()['spanId']);}['setActivityError'](_0x5501c6){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x5501c6});}['setStreamError'](_0xc5f506){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0xc5f506});}static['addTargetTelemetryPaths'](_0x43bb23,_0x2657aa,_0x419b68,_0x22e626){_0x22e626===0x1?(!(_0x2657aa['parent']in _0x43bb23)&&(_0x43bb23[_0x2657aa['parent']]=[]),_0x43bb23[_0x2657aa['parent']]['push'](_0x2657aa['parent']+'/output/metadata/l2s')):(!(_0x419b68['aid']in _0x43bb23)&&(_0x43bb23[_0x419b68['aid']]=[]),_0x43bb23[_0x419b68['aid']]['push'](_0x419b68['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0x2df433,_0xd28aae,_0x4a1304){_0xd28aae['type']==='trigger'&&(_0x2df433['metadata/trc']=_0x4a1304['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x538538,_0x5abdfb,_0x44eac4,_0xc9439c,_0x3356b1){if(_0x5abdfb['type']==='trigger')_0x538538[_0x44eac4['aid']+'/output/metadata/l1s']=_0xc9439c['$self']['output']['metadata']['l1s'],_0x538538[_0x44eac4['aid']+'/output/metadata/l2s']=_0xc9439c['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x5abdfb['type'])==='hook'&&_0x3356b1===0x1)_0x538538[_0x44eac4['aid']+'/output/metadata/l1s']=_0xc9439c['$self']['output']['metadata']['l1s'],_0x538538[_0x44eac4['aid']+'/output/metadata/l2s']=_0xc9439c['$self']['output']['metadata']['l1s'];else{if(_0x5abdfb['type']==='signal'&&_0x3356b1===0x1)_0x538538[_0x44eac4['aid']+'/output/metadata/l1s']=_0xc9439c['$self']['output']['metadata']['l1s'],_0x538538[_0x44eac4['aid']+'/output/metadata/l2s']=_0xc9439c['$self']['output']['metadata']['l1s'];else{const _0x25de56='l'+_0x3356b1+'s';_0x538538[_0x44eac4['aid']+'/output/metadata/'+_0x25de56]=_0xc9439c['$self']['output']['metadata'][_0x25de56];}}}}}exports['TelemetryService']=TelemetryService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x455b(_0x22f7b2,_0x4eb8c4){const _0x519cb9=_0x519c();return _0x455b=function(_0x455b16,_0x138c57){_0x455b16=_0x455b16-0xfd;let _0x263c30=_0x519cb9[_0x455b16];return _0x263c30;},_0x455b(_0x22f7b2,_0x4eb8c4);}(function(_0x2cce18,_0x4084dd){const _0x978f3e=_0x455b,_0x280a5c=_0x2cce18();while(!![]){try{const _0x3341c2=-parseInt(_0x978f3e(0xff))/0x1+-parseInt(_0x978f3e(0x101))/0x2*(parseInt(_0x978f3e(0x106))/0x3)+parseInt(_0x978f3e(0xfe))/0x4*(-parseInt(_0x978f3e(0x100))/0x5)+parseInt(_0x978f3e(0x103))/0x6+-parseInt(_0x978f3e(0x105))/0x7*(parseInt(_0x978f3e(0xfd))/0x8)+parseInt(_0x978f3e(0x104))/0x9+parseInt(_0x978f3e(0x102))/0xa*(parseInt(_0x978f3e(0x107))/0xb);if(_0x3341c2===_0x4084dd)break;else _0x280a5c['push'](_0x280a5c['shift']());}catch(_0x3c5cc0){_0x280a5c['push'](_0x280a5c['shift']());}}}(_0x519c,0x52903));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['WorkerService']=void 0x0;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'](_0x36e5db,_0x223c9b,_0x341342,_0x1f82e0,_0x35637a){const _0x5f0425=[];if(Array['isArray'](_0x1f82e0['workers']))for(const _0x23f532 of _0x1f82e0['workers']){await factory_1['ConnectorService']['initClients'](_0x23f532);const _0x449f2a=new WorkerService();_0x449f2a['verifyWorkerFields'](_0x23f532),_0x449f2a['namespace']=_0x36e5db,_0x449f2a['appId']=_0x223c9b,_0x449f2a['guid']=_0x341342,_0x449f2a['callback']=_0x23f532['callback'],_0x449f2a['topic']=_0x23f532['topic'],_0x449f2a['config']=_0x1f82e0,_0x449f2a['logger']=_0x35637a,await _0x449f2a['initStoreChannel'](_0x449f2a,_0x23f532['store']),await _0x449f2a['initSubChannel'](_0x449f2a,_0x23f532['sub'],_0x23f532['pub']),await _0x449f2a['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x449f2a['subscriptionHandler'](),_0x223c9b),await _0x449f2a['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x449f2a['subscriptionHandler'](),_0x223c9b,_0x449f2a['topic']),await _0x449f2a['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x449f2a['subscriptionHandler'](),_0x223c9b,_0x449f2a['guid']),await _0x449f2a['initStreamChannel'](_0x449f2a,_0x23f532['stream'],_0x23f532['store']),_0x449f2a['router']=await _0x449f2a['initRouter'](_0x23f532,_0x35637a);const _0x2fe917=_0x449f2a['store']['mintKey'](key_1['KeyType']['STREAMS'],{'appId':_0x449f2a['appId'],'topic':_0x23f532['topic']});await _0x449f2a['router']['consumeMessages'](_0x2fe917,'WORKER',_0x449f2a['guid'],_0x23f532['callback']),_0x449f2a['inited']=(0x0,utils_1['formatISODate'])(new Date()),_0x5f0425['push'](_0x449f2a);}return _0x5f0425;}['verifyWorkerFields'](_0x2c3046){if(!(0x0,utils_1['identifyProvider'])(_0x2c3046['store'])||!(0x0,utils_1['identifyProvider'])(_0x2c3046['stream'])||!(0x0,utils_1['identifyProvider'])(_0x2c3046['sub'])||!(_0x2c3046['topic']&&_0x2c3046['callback']))throw new Error('worker\x20must\x20include\x20`store`,\x20`stream`,\x20and\x20`sub`\x20fields\x20along\x20with\x20a\x20callback\x20function\x20and\x20topic.');}async['initStoreChannel'](_0x13506d,_0x54054a){_0x13506d['store']=await factory_4['StoreServiceFactory']['init'](_0x54054a,_0x13506d['namespace'],_0x13506d['appId'],_0x13506d['logger']);}async['initSubChannel'](_0x215277,_0x38d718,_0xbdfa51){_0x215277['subscribe']=await factory_3['SubServiceFactory']['init'](_0x38d718,_0xbdfa51,_0x215277['namespace'],_0x215277['appId'],_0x215277['guid'],_0x215277['logger']);}async['initStreamChannel'](_0x138377,_0xbe3eae,_0xff3667){_0x138377['stream']=await factory_2['StreamServiceFactory']['init'](_0xbe3eae,_0xff3667,_0x138377['namespace'],_0x138377['appId'],_0x138377['logger']);}async['initRouter'](_0xaa3aa0,_0x552855){const _0x28ca65=await this['store']['getThrottleRate'](_0xaa3aa0['topic']);return new router_1['Router']({'namespace':this['namespace'],'appId':this['appId'],'guid':this['guid'],'role':stream_1['StreamRole']['WORKER'],'topic':_0xaa3aa0['topic'],'reclaimDelay':_0xaa3aa0['reclaimDelay'],'reclaimCount':_0xaa3aa0['reclaimCount'],'throttle':_0x28ca65},this['stream'],_0x552855);}['subscriptionHandler'](){const _0x257cfe=this;return async(_0x49e304,_0x596387)=>{_0x257cfe['logger']['debug']('worker-event-received',{'topic':_0x49e304,'type':_0x596387['type']});if(_0x596387['type']==='throttle')_0x596387['topic']!==null&&_0x257cfe['throttle'](_0x596387['throttle']);else{if(_0x596387['type']==='ping')_0x257cfe['sayPong'](_0x257cfe['appId'],_0x257cfe['guid'],_0x596387['originator'],_0x596387['details']);else _0x596387['type']==='rollcall'&&(_0x596387['topic']!==null&&_0x257cfe['doRollCall'](_0x596387));}};}async['doRollCall'](_0x5f1125){let _0xf54325=0x0;const _0x55042f=!isNaN(_0x5f1125['max'])?_0x5f1125['max']:enums_1['HMSH_QUORUM_ROLLCALL_CYCLES'];if(this['rollCallInterval'])clearTimeout(this['rollCallInterval']);const _0x452053=_0x5f1125['interval']/0x2,_0x111554=_0x452053+Math['ceil'](Math['random']()*_0x452053);do{await(0x0,utils_1['sleepFor'])(Math['ceil'](Math['random']()*0x3e8)),await this['sayPong'](this['appId'],this['guid'],null,!![],_0x5f1125['signature']);if(!_0x5f1125['interval'])return;const {promise:_0x4b4c85,timerId:_0x4e2e08}=(0x0,utils_1['XSleepFor'])(_0x111554*0x3e8);this['rollCallInterval']=_0x4e2e08,await _0x4b4c85;}while(this['rollCallInterval']&&_0xf54325++<_0x55042f-0x1);}['cancelRollCall'](){this['rollCallInterval']&&(clearTimeout(this['rollCallInterval']),delete this['rollCallInterval']);}['stop'](){this['cancelRollCall']();}async['sayPong'](_0x595723,_0x307124,_0x4150f5,_0x4f6ca6=![],_0x47d2b0=![]){let _0x3e3b09;if(_0x4f6ca6){const _0x38f75e={'appId':this['appId'],'topic':this['topic']};_0x3e3b09={'engine_id':this['guid'],'namespace':this['namespace'],'app_id':this['appId'],'worker_topic':this['topic'],'stream':this['store']['mintKey'](key_1['KeyType']['STREAMS'],_0x38f75e),'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':_0x47d2b0?this['callback']['toString']():undefined};}this['subscribe']['publish'](key_1['KeyType']['QUORUM'],{'type':'pong','guid':_0x307124,'originator':_0x4150f5,'profile':_0x3e3b09},_0x595723);}async['throttle'](_0x43f801){this['router']?.['setThrottle'](_0x43f801);}}exports['WorkerService']=WorkerService;function _0x519c(){const _0x10c6ed=['319giAccn','2224PJoWXJ','81324XbsUys','287003euzyEy','75WdREcA','66182pkTHRh','491510dwMPrV','1259508pVdlEi','1453437PPyyEr','10990HrDOHm','39iatqlK'];_0x519c=function(){return _0x10c6ed;};return _0x519c();}
|
|
@@ -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.13",
|
|
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",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"test:sub:redis": "NODE_ENV=test jest ./tests/functional/sub/providers/redis/redis.test.ts --detectOpenHandles --forceExit --verbose",
|
|
73
73
|
"test:trigger": "NODE_ENV=test jest ./tests/unit/services/activities/trigger.test.ts --detectOpenHandles --forceExit --verbose",
|
|
74
74
|
"test:meshdata": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshdata/index.test.ts --forceExit --verbose",
|
|
75
|
-
"test:meshos": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshos
|
|
75
|
+
"test:meshos": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshos/*.test.ts --forceExit --verbose --detectOpenHandles",
|
|
76
76
|
"test:meshcall": "NODE_ENV=test jest ./tests/meshcall/index.test.ts --forceExit --verbose --detectOpenHandles",
|
|
77
77
|
"test:unit": "NODE_ENV=test jest ./tests/unit/*/*/index.test.ts --detectOpenHandles --forceExit --verbose"
|
|
78
78
|
},
|
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;
|