@hotmeshio/hotmesh 0.3.15 → 0.3.17
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 +69 -52
- package/build/modules/key.js +1 -1
- package/build/modules/utils.js +1 -1
- package/build/package.json +24 -22
- 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.js +2 -2
- package/build/services/connector/providers/nats.js +3 -1
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/hotmesh/index.js +2 -0
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshcall/index.d.ts +5 -4
- package/build/services/meshcall/index.js +23 -9
- package/build/services/meshdata/index.js +3 -2
- package/build/services/meshflow/client.js +1 -1
- package/build/services/meshflow/connection.js +6 -4
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/worker.js +1 -1
- 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 +1 -1
- package/build/services/search/providers/postgres/postgres.d.ts +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.d.ts +68 -63
- package/build/services/store/providers/postgres/kvsql.js +1 -1
- package/build/services/store/providers/postgres/kvtables.d.ts +15 -0
- package/build/services/store/providers/postgres/kvtables.js +1 -0
- package/build/services/store/providers/postgres/kvtransaction.d.ts +36 -0
- package/build/services/store/providers/postgres/kvtransaction.js +1 -0
- package/build/services/store/providers/postgres/kvtypes/hash.d.ts +55 -0
- package/build/services/store/providers/postgres/kvtypes/hash.js +1 -0
- package/build/services/store/providers/postgres/kvtypes/list.d.ts +33 -0
- package/build/services/store/providers/postgres/kvtypes/list.js +1 -0
- package/build/services/store/providers/postgres/kvtypes/string.d.ts +20 -0
- package/build/services/store/providers/postgres/kvtypes/string.js +1 -0
- package/build/services/store/providers/postgres/kvtypes/zset.d.ts +41 -0
- package/build/services/store/providers/postgres/kvtypes/zset.js +1 -0
- package/build/services/store/providers/postgres/postgres.d.ts +3 -12
- 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/meshcall.d.ts +6 -6
- package/package.json +24 -22
- package/types/index.ts +3 -3
- package/types/manifest.ts +1 -1
- package/types/meshcall.ts +6 -6
- package/types/postgres.ts +8 -1
- package/types/provider.ts +7 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0xe5eb(_0x408585,_0x3cefa6){const _0xd1cae0=_0xd1ca();return _0xe5eb=function(_0xe5eb9e,_0x541c94){_0xe5eb9e=_0xe5eb9e-0x98;let _0x40385a=_0xd1cae0[_0xe5eb9e];return _0x40385a;},_0xe5eb(_0x408585,_0x3cefa6);}(function(_0x324e70,_0x231b91){const _0x4af785=_0xe5eb,_0x21077c=_0x324e70();while(!![]){try{const _0x59a31b=-parseInt(_0x4af785(0x9b))/0x1*(parseInt(_0x4af785(0xa0))/0x2)+parseInt(_0x4af785(0xa1))/0x3+parseInt(_0x4af785(0x9c))/0x4+-parseInt(_0x4af785(0x9f))/0x5+-parseInt(_0x4af785(0xa2))/0x6*(parseInt(_0x4af785(0x99))/0x7)+-parseInt(_0x4af785(0x9a))/0x8*(parseInt(_0x4af785(0x98))/0x9)+parseInt(_0x4af785(0x9d))/0xa*(parseInt(_0x4af785(0x9e))/0xb);if(_0x59a31b===_0x231b91)break;else _0x21077c['push'](_0x21077c['shift']());}catch(_0x5e1240){_0x21077c['push'](_0x21077c['shift']());}}}(_0xd1ca,0xd96da));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NatsStreamService']=void 0x0;const index_1=require('../../index'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),utils_1=require('../../../../modules/utils');function _0xd1ca(){const _0x2c6c59=['13277ctpOqO','1225800gKCcFP','3094466xPQzwX','3828435asHuvv','66FjjYlA','27KOvXKn','304570nMcuPZ','1503496SqTDAd','1BkjZTw','3515792hqVySF','13010FnuFJV'];_0xd1ca=function(){return _0x2c6c59;};return _0xd1ca();}class NatsStreamService extends index_1['StreamService']{constructor(_0x43f41b,_0x288a56,_0x5be3e0={}){super(_0x43f41b,_0x288a56,_0x5be3e0),this['jetstream']=_0x43f41b['jetstream']();}async['init'](_0x5403ee,_0x44d692,_0x10fb7a){this['namespace']=_0x5403ee,this['logger']=_0x10fb7a,this['appId']=_0x44d692,this['jsm']=await this['jetstream']['jetstreamManager']();}['mintKey'](_0x435219,_0x3db79e){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x435219,{..._0x3db79e,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x99b9da){try{const _0x17fdec={'name':_0x99b9da,'subjects':[_0x99b9da+'.*'],'retention':'workqueue','storage':'memory','num_replicas':0x1};return await this['jsm']['streams']['add'](_0x17fdec),!![];}catch(_0x3548ae){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x99b9da,{'error':_0x3548ae});throw _0x3548ae;}}async['deleteStream'](_0x574141){try{return await this['jsm']['streams']['delete'](_0x574141),!![];}catch(_0x11adb5){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x574141,{'error':_0x11adb5});throw _0x11adb5;}}async['createConsumerGroup'](_0x3f9f72,_0x42fc34){try{const _0x48f01a={'durable_name':_0x42fc34,'deliver_group':_0x42fc34,'ack_policy':'explicit','ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this['jsm']['consumers']['add'](_0x3f9f72,_0x48f01a),!![];}catch(_0x5d2e58){this['logger']['error']('Error\x20creating\x20consumer\x20group\x20'+_0x42fc34+'\x20for\x20stream\x20'+_0x3f9f72,{'error':_0x5d2e58});throw _0x5d2e58;}}async['deleteConsumerGroup'](_0x3fbeb2,_0x354326){try{return await this['jsm']['consumers']['delete'](_0x3fbeb2,_0x354326),!![];}catch(_0x186f7f){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x354326+'\x20for\x20stream\x20'+_0x3fbeb2,{'error':_0x186f7f});throw _0x186f7f;}}async['publishMessages'](_0x4916ed,_0x4c7e28,_0xe7f020){try{const _0x2db2f6=_0x4c7e28['map'](async _0x629da3=>{const _0x4885b8=_0x4916ed+'.message',_0x148ae0=await this['jetstream']['publish'](_0x4885b8,Buffer['from'](_0x629da3));return _0x148ae0;}),_0x505e62=await Promise['all'](_0x2db2f6);return _0x505e62['map'](_0x5ecb42=>_0x5ecb42['seq']['toString']());}catch(_0x57ed82){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x4916ed,{'error':_0x57ed82});throw _0x57ed82;}}async['consumeMessages'](_0x3e008b,_0x2fdfb8,_0x48a8b2,_0x16f532){try{const _0x1c8321=await this['jetstream']['consumers']['get'](_0x3e008b,_0x2fdfb8),_0x1e3bc0=[],_0x440b69={'max_messages':_0x16f532?.['batchSize']||0x1,'expires':_0x16f532?.['blockTimeout']||enums_1['HMSH_BLOCK_TIME_MS']},_0x847f9c=await _0x1c8321['fetch'](_0x440b69);for await(const _0x2f66f2 of _0x847f9c){_0x1e3bc0['push']({'id':_0x2f66f2['seq']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x2f66f2['string']())});}return _0x1e3bc0;}catch(_0x2077af){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x3e008b,{'error':_0x2077af});throw _0x2077af;}}async['ackAndDelete'](_0xc7ab83,_0x5df280,_0x593110){try{return await this['acknowledgeMessages'](_0xc7ab83,_0x5df280,_0x593110),_0x593110['length'];}catch(_0x5e5e11){this['logger']['error']('Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20'+_0xc7ab83,{'error':_0x5e5e11});throw _0x5e5e11;}}async['acknowledgeMessages'](_0x4da558,_0xb9a876,_0x51b87c,_0x56f624){return _0x51b87c['length'];}async['deleteMessages'](_0x3d997b,_0x564649,_0x446e4f,_0x3f73b2){try{return await Promise['all'](_0x446e4f['map'](_0x3ea51a=>this['jsm']['streams']['deleteMessage'](_0x3d997b,parseInt(_0x3ea51a)))),_0x446e4f['length'];}catch(_0x44756f){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x3d997b,{'error':_0x44756f});throw _0x44756f;}}async['retryMessages'](_0x361225,_0x18ccc0,_0x3648c1){return[];}async['getStreamStats'](_0x1eadfa){try{const _0x2db99d=await this['jsm']['streams']['info'](_0x1eadfa);return{'messageCount':_0x2db99d['state']['messages']};}catch(_0x6eafa5){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x1eadfa,{'error':_0x6eafa5});throw _0x6eafa5;}}async['getStreamDepth'](_0xe42c35){try{const _0xda62f9=await this['jsm']['streams']['info'](_0xe42c35);return _0xda62f9['state']['messages'];}catch(_0x3bda04){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0xe42c35,{'error':_0x3bda04});throw _0x3bda04;}}async['getStreamDepths'](_0x1abd51){try{const _0x237de3=await Promise['all'](_0x1abd51['map'](async({stream:_0x5ecdc8})=>({'stream':_0x5ecdc8,'depth':await this['getStreamDepth'](_0x5ecdc8)})));return _0x237de3;}catch(_0x51cf7e){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x51cf7e});throw _0x51cf7e;}}async['trimStream'](_0x128a2a,_0x4c3f18){try{const _0x299a6f=await this['jsm']['streams']['info'](_0x128a2a),_0x1ff7b2={..._0x299a6f['config']};return _0x4c3f18['maxLen']!==undefined&&(_0x1ff7b2['max_msgs']=_0x4c3f18['maxLen']),_0x4c3f18['maxAge']!==undefined&&(_0x1ff7b2['max_age']=_0x4c3f18['maxAge']*0x3b9aca00),await this['jsm']['streams']['update'](_0x128a2a,_0x1ff7b2),0x0;}catch(_0x45ad1f){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x128a2a,{'error':_0x45ad1f});throw _0x45ad1f;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['NatsStreamService']=NatsStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x3f6389,_0x2c700e){const _0x833da9=_0x48d1,_0x3a15dc=_0x3f6389();while(!![]){try{const _0x41acfa=-parseInt(_0x833da9(0xed))/0x1*(-parseInt(_0x833da9(0xee))/0x2)+parseInt(_0x833da9(0xf0))/0x3+-parseInt(_0x833da9(0xec))/0x4*(-parseInt(_0x833da9(0xef))/0x5)+parseInt(_0x833da9(0xe8))/0x6+parseInt(_0x833da9(0xea))/0x7+-parseInt(_0x833da9(0xeb))/0x8+-parseInt(_0x833da9(0xe9))/0x9*(parseInt(_0x833da9(0xe7))/0xa);if(_0x41acfa===_0x2c700e)break;else _0x3a15dc['push'](_0x3a15dc['shift']());}catch(_0x171037){_0x3a15dc['push'](_0x3a15dc['shift']());}}}(_0x163c,0xdd072));function _0x48d1(_0x46bd84,_0x56c9e5){const _0x163cf1=_0x163c();return _0x48d1=function(_0x48d124,_0x2a2146){_0x48d124=_0x48d124-0xe7;let _0x23e5ab=_0x163cf1[_0x48d124];return _0x23e5ab;},_0x48d1(_0x46bd84,_0x56c9e5);}function _0x163c(){const _0x54552c=['112266ORLsRW','1179696tqOSCq','3987544UacuEz','4mnQnhm','2yUnNPK','80558lwqdMt','3147070zEaxpP','3693714lzwRXo','1200HxzeRu','4745490LBvaOQ'];_0x163c=function(){return _0x54552c;};return _0x163c();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');class PostgresStreamService extends index_1['StreamService']{constructor(_0x465651,_0x5cc196,_0x6c3411={}){super(_0x465651,_0x5cc196,_0x6c3411);}async['init'](_0x4fc32e,_0x432c6c,_0x31515d){this['namespace']=_0x4fc32e,this['appId']=_0x432c6c,this['logger']=_0x31515d,await this['deploy']();}async['deploy'](){const _0x2edbec=this['streamClient'];try{const _0x3afeec=this['getAdvisoryLockId'](),_0x3b7938=await _0x2edbec['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x3afeec]);if(_0x3b7938['rows'][0x0]['locked']){await _0x2edbec['query']('BEGIN');const _0x338735=await this['checkIfTablesExist'](_0x2edbec);!_0x338735&&await this['createTables'](_0x2edbec),await _0x2edbec['query']('COMMIT'),await _0x2edbec['query']('SELECT\x20pg_advisory_unlock($1)',[_0x3afeec]);}else{let _0x50c057=0x0;const _0x42669f=0x14;while(_0x50c057<_0x42669f){await this['delay'](0x64);const _0x4f2d2d=await _0x2edbec['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x3afeec]);if(_0x4f2d2d['rows'][0x0]['unlocked']){const _0x39a1fd=await this['checkIfTablesExist'](_0x2edbec);if(_0x39a1fd)break;}_0x50c057++;}if(_0x50c057===_0x42669f)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x3b1338){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x3b1338});throw _0x3b1338;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x475c24){let _0x2e5540=0x0;for(let _0x4118a0=0x0;_0x4118a0<_0x475c24['length'];_0x4118a0++){_0x2e5540=(_0x2e5540<<0x5)-_0x2e5540+_0x475c24['charCodeAt'](_0x4118a0),_0x2e5540|=0x0;}return Math['abs'](_0x2e5540);}async['checkIfTablesExist'](_0x5c9000){const _0x3b6339=await _0x5c9000['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x3b6339['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0x3ce3fe){const _0x33e1a1=this['getTableName']();await _0x3ce3fe['query']('BEGIN'),await _0x3ce3fe['query']('CREATE\x20TABLE\x20'+_0x33e1a1+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20id\x20BIGSERIAL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20stream_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20group_name\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27ENGINE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20TIMESTAMPTZ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream_name,\x20id)\x0a\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(stream_name)');for(let _0x491386=0x0;_0x491386<0x8;_0x491386++){await _0x3ce3fe['query']('CREATE\x20TABLE\x20'+_0x33e1a1+'_part_'+_0x491386+'\x20PARTITION\x20OF\x20'+_0x33e1a1+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x491386+')');}await _0x3ce3fe['query']('CREATE\x20INDEX\x20idx_'+_0x33e1a1+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x33e1a1+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x3ce3fe['query']('COMMIT');}['delay'](_0x1566df){return new Promise(_0x8e66f6=>setTimeout(_0x8e66f6,_0x1566df));}['mintKey'](_0x2569dc,_0xb6798a){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x2569dc,{..._0xb6798a,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x3f73bd){return!![];}async['deleteStream'](_0xe805cb){const _0x4bf8f8=this['streamClient'],_0x271359=this['getTableName']();try{return _0xe805cb==='*'?await _0x4bf8f8['query']('DELETE\x20FROM\x20'+_0x271359):await _0x4bf8f8['query']('DELETE\x20FROM\x20'+_0x271359+'\x20WHERE\x20stream_name\x20=\x20$1',[_0xe805cb]),!![];}catch(_0x1a1fe1){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0xe805cb,{'error':_0x1a1fe1});throw _0x1a1fe1;}}async['createConsumerGroup'](_0x433cc0,_0x33d468){return!![];}async['deleteConsumerGroup'](_0x118cec,_0x17e7fb){const _0x394cc0=this['streamClient'],_0x54522f=this['getTableName']();try{return await _0x394cc0['query']('DELETE\x20FROM\x20'+_0x54522f+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x118cec,_0x17e7fb]),!![];}catch(_0x882789){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x17e7fb+'\x20for\x20stream\x20'+_0x118cec,{'error':_0x882789});throw _0x882789;}}async['publishMessages'](_0x1a02dd,_0x599c70,_0x198760){const {sql:_0x18097c,params:_0x48d6c3}=this['_publishMessages'](_0x1a02dd,_0x599c70);if(_0x198760?.['transaction']&&typeof _0x198760['transaction']['addCommand']==='function')return _0x198760['transaction']['addCommand'](_0x18097c,_0x48d6c3,'array',_0x332da1=>_0x332da1['map'](_0x5478f4=>_0x5478f4['id']['toString']())),_0x198760['transaction'];else try{const _0x23a573=[],_0x8ad0a8=await this['streamClient']['query'](_0x18097c,_0x48d6c3);for(const _0x49af5b of _0x8ad0a8['rows']){_0x23a573['push'](_0x49af5b['id']['toString']());}return _0x23a573;}catch(_0x2e544a){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x1a02dd,{'error':_0x2e544a});throw _0x2e544a;}}['_publishMessages'](_0x1f05d5,_0x3fe156){const _0x5b43df=this['getTableName'](),_0x3da794=_0x1f05d5['endsWith'](':')?'ENGINE':'WORKER',_0x3efe4b=_0x3fe156['map']((_0x5be652,_0xc0fb33)=>'($1,\x20$2,\x20$'+(_0xc0fb33+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x5b43df+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x3efe4b+'\x20RETURNING\x20id','params':[_0x1f05d5,_0x3da794,..._0x3fe156]};}async['consumeMessages'](_0x41baf7,_0x48fede,_0x3ce0f1,_0x76bfaf){const _0x428131=this['streamClient'],_0x26115d=this['getTableName']();try{const _0x2bb119=_0x76bfaf?.['batchSize']||0x1,_0x5efa8a=_0x76bfaf?.['reservationTimeout']||0x1e,_0x562460=await _0x428131['query']('WITH\x20selected_messages\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id,\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x26115d+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20group_name\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20COALESCE(reserved_at,\x20\x271970-01-01\x27)\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x5efa8a+'\x20seconds\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20UPDATE\x20SKIP\x20LOCKED\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update_reservation\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x26115d+'\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20=\x20$4\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20selected_messages\x20s\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.stream_name\x20=\x20$1\x20AND\x20t.id\x20=\x20s.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20t.id,\x20t.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20update_reservation',[_0x41baf7,_0x48fede,_0x2bb119,_0x3ce0f1]),_0x15a60e=_0x562460['rows']['map'](_0x51c8ac=>({'id':_0x51c8ac['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x51c8ac['message'])}));return _0x15a60e;}catch(_0x456416){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x41baf7,{'error':_0x456416});throw _0x456416;}}async['ackAndDelete'](_0x3d188f,_0x56d485,_0x26872e){return await this['deleteMessages'](_0x3d188f,_0x56d485,_0x26872e);}async['acknowledgeMessages'](_0x135068,_0x413264,_0x4c2f32,_0x3b5649){return _0x4c2f32['length'];}async['deleteMessages'](_0x1b4aa4,_0x4522b2,_0xda40b1,_0x3ba8db){const _0x4dad07=this['streamClient'],_0x35dfbb=this['getTableName']();try{const _0xfd5793=_0xda40b1['map'](_0x664208=>parseInt(_0x664208));return await _0x4dad07['query']('DELETE\x20FROM\x20'+_0x35dfbb+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20=\x20ANY($2::bigint[])\x20AND\x20group_name\x20=\x20$3',[_0x1b4aa4,_0xfd5793,_0x4522b2]),_0xda40b1['length'];}catch(_0x12a06a){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x1b4aa4,{'error':_0x12a06a});throw _0x12a06a;}}async['retryMessages'](_0x2a3495,_0x4b98b4,_0x343d53){return[];}async['getStreamStats'](_0x4af92a){const _0x54e344=this['streamClient'],_0x464439=this['getTableName']();try{const _0x3afdf4=await _0x54e344['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x464439+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x4af92a]);return{'messageCount':parseInt(_0x3afdf4['rows'][0x0]['count'],0xa)};}catch(_0x3801de){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x4af92a,{'error':_0x3801de});throw _0x3801de;}}async['getStreamDepth'](_0x46e4b7){const _0x51d946=await this['getStreamStats'](_0x46e4b7);return _0x51d946['messageCount'];}async['getStreamDepths'](_0x1cdf80){const _0x2d95fe=this['streamClient'],_0x4a2cbe=this['getTableName']();try{const _0x1f554c=_0x1cdf80['map'](_0x295323=>_0x295323['stream']),_0x1e102d=await _0x2d95fe['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x4a2cbe+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20ANY($1::text[])\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20stream_name',[_0x1f554c]),_0x47a888=_0x1e102d['rows']['map'](_0x3723c5=>({'stream':_0x3723c5['stream_name'],'depth':parseInt(_0x3723c5['count'],0xa)}));return _0x47a888;}catch(_0x555f87){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x555f87});throw _0x555f87;}}async['trimStream'](_0x44d1f8,_0x58c481){const _0x8c7a06=this['streamClient'],_0x192fb5=this['getTableName']();try{let _0xe0bdaa=0x0;if(_0x58c481['maxLen']!==undefined){const _0x1e4049=await _0x8c7a06['query']('DELETE\x20FROM\x20'+_0x192fb5+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id\x20FROM\x20'+_0x192fb5+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OFFSET\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)',[_0x44d1f8,_0x58c481['maxLen']]);_0xe0bdaa+=_0x1e4049['rowCount'];}if(_0x58c481['maxAge']!==undefined){const _0xa785cb=await _0x8c7a06['query']('DELETE\x20FROM\x20'+_0x192fb5+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20created_at\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x58c481['maxAge']+'\x20milliseconds\x27',[_0x44d1f8]);_0xe0bdaa+=_0xa785cb['rowCount'];}return _0xe0bdaa;}catch(_0x3ed9ec){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x44d1f8,{'error':_0x3ed9ec});throw _0x3ed9ec;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
|
|
1
|
+
'use strict';function _0x4b6d(){const _0x2774e5=['582VQRhAC','790866JjyCVn','280726prBryQ','28VeIylB','11176ufKYWi','16189448BLxJPk','796050AhezyG','1077640rKcHqS','3Sfewoy','1555504SlKxSt','10MXVHTx'];_0x4b6d=function(){return _0x2774e5;};return _0x4b6d();}(function(_0x42991d,_0x346968){const _0x572093=_0x6a8b,_0x1e797c=_0x42991d();while(!![]){try{const _0x3e2769=-parseInt(_0x572093(0x1c0))/0x1*(-parseInt(_0x572093(0x1ba))/0x2)+parseInt(_0x572093(0x1b8))/0x3*(parseInt(_0x572093(0x1bc))/0x4)+parseInt(_0x572093(0x1bf))/0x5+-parseInt(_0x572093(0x1be))/0x6*(-parseInt(_0x572093(0x1bb))/0x7)+parseInt(_0x572093(0x1c1))/0x8+parseInt(_0x572093(0x1b9))/0x9*(-parseInt(_0x572093(0x1b7))/0xa)+-parseInt(_0x572093(0x1bd))/0xb;if(_0x3e2769===_0x346968)break;else _0x1e797c['push'](_0x1e797c['shift']());}catch(_0x426426){_0x1e797c['push'](_0x1e797c['shift']());}}}(_0x4b6d,0x54055));function _0x6a8b(_0x27880c,_0x44b6b5){const _0x4b6d28=_0x4b6d();return _0x6a8b=function(_0x6a8b80,_0x34fa46){_0x6a8b80=_0x6a8b80-0x1b7;let _0x4b154d=_0x4b6d28[_0x6a8b80];return _0x4b154d;},_0x6a8b(_0x27880c,_0x44b6b5);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');class PostgresStreamService extends index_1['StreamService']{constructor(_0x3bc38e,_0x51706b,_0x2a3b4b={}){super(_0x3bc38e,_0x51706b,_0x2a3b4b);}async['init'](_0x165ab2,_0x3283a1,_0x2596be){this['namespace']=_0x165ab2,this['appId']=_0x3283a1,this['logger']=_0x2596be,await this['deploy']();}async['deploy'](){const _0x59a5c9=this['streamClient'];try{const _0x16723f=this['getAdvisoryLockId'](),_0x1226da=await _0x59a5c9['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x16723f]);if(_0x1226da['rows'][0x0]['locked']){await _0x59a5c9['query']('BEGIN');const _0x1c0f7c=await this['checkIfTablesExist'](_0x59a5c9);!_0x1c0f7c&&await this['createTables'](_0x59a5c9),await _0x59a5c9['query']('COMMIT'),await _0x59a5c9['query']('SELECT\x20pg_advisory_unlock($1)',[_0x16723f]);}else{let _0x3d7002=0x0;const _0x433802=0x14;while(_0x3d7002<_0x433802){await this['delay'](0x64);const _0x2f3a93=await _0x59a5c9['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x16723f]);if(_0x2f3a93['rows'][0x0]['unlocked']){const _0x3a3765=await this['checkIfTablesExist'](_0x59a5c9);if(_0x3a3765)break;}_0x3d7002++;}if(_0x3d7002===_0x433802)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x4b4b15){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x4b4b15});throw _0x4b4b15;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x7c1219){let _0x3c4468=0x0;for(let _0x2811b1=0x0;_0x2811b1<_0x7c1219['length'];_0x2811b1++){_0x3c4468=(_0x3c4468<<0x5)-_0x3c4468+_0x7c1219['charCodeAt'](_0x2811b1),_0x3c4468|=0x0;}return Math['abs'](_0x3c4468);}async['checkIfTablesExist'](_0xd5d9dc){const _0x393c4b=await _0xd5d9dc['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x393c4b['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0x4a19ef){const _0x55819f=this['getTableName']();await _0x4a19ef['query']('BEGIN'),await _0x4a19ef['query']('CREATE\x20TABLE\x20'+_0x55819f+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20id\x20BIGSERIAL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20stream_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20group_name\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27ENGINE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20TIMESTAMPTZ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream_name,\x20id)\x0a\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(stream_name)');for(let _0x110ca2=0x0;_0x110ca2<0x8;_0x110ca2++){await _0x4a19ef['query']('CREATE\x20TABLE\x20'+_0x55819f+'_part_'+_0x110ca2+'\x20PARTITION\x20OF\x20'+_0x55819f+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x110ca2+')');}await _0x4a19ef['query']('CREATE\x20INDEX\x20idx_'+_0x55819f+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x55819f+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x4a19ef['query']('COMMIT');}['delay'](_0x45f01c){return new Promise(_0x213d49=>setTimeout(_0x213d49,_0x45f01c));}['mintKey'](_0x29d535,_0x3765b3){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x29d535,{..._0x3765b3,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x41ac39){return!![];}async['deleteStream'](_0x32bf4a){const _0x325c19=this['streamClient'],_0x5b048c=this['getTableName']();try{return _0x32bf4a==='*'?await _0x325c19['query']('DELETE\x20FROM\x20'+_0x5b048c):await _0x325c19['query']('DELETE\x20FROM\x20'+_0x5b048c+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x32bf4a]),!![];}catch(_0x1d5b24){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x32bf4a,{'error':_0x1d5b24});throw _0x1d5b24;}}async['createConsumerGroup'](_0x19582a,_0x4d3248){return!![];}async['deleteConsumerGroup'](_0x314dd4,_0x444199){const _0x113a72=this['streamClient'],_0xd41bf2=this['getTableName']();try{return await _0x113a72['query']('DELETE\x20FROM\x20'+_0xd41bf2+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x314dd4,_0x444199]),!![];}catch(_0x24c743){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x444199+'\x20for\x20stream\x20'+_0x314dd4,{'error':_0x24c743});throw _0x24c743;}}async['publishMessages'](_0x48df4a,_0x2d0cd1,_0x3855b6){const {sql:_0x10c591,params:_0x10bdec}=this['_publishMessages'](_0x48df4a,_0x2d0cd1);if(_0x3855b6?.['transaction']&&typeof _0x3855b6['transaction']['addCommand']==='function')return _0x3855b6['transaction']['addCommand'](_0x10c591,_0x10bdec,'array',_0x1fc58b=>_0x1fc58b['map'](_0x5f4730=>_0x5f4730['id']['toString']())),_0x3855b6['transaction'];else try{const _0x28f4da=[],_0xb03050=await this['streamClient']['query'](_0x10c591,_0x10bdec);for(const _0x463f2c of _0xb03050['rows']){_0x28f4da['push'](_0x463f2c['id']['toString']());}return _0x28f4da;}catch(_0x37dd47){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x48df4a,{'error':_0x37dd47});throw _0x37dd47;}}['_publishMessages'](_0x13fab5,_0x503c0a){const _0x3a4ed9=this['getTableName'](),_0x501b64=_0x13fab5['endsWith'](':')?'ENGINE':'WORKER',_0x1d1ff1=_0x503c0a['map']((_0x2850f8,_0x400b9c)=>'($1,\x20$2,\x20$'+(_0x400b9c+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x3a4ed9+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x1d1ff1+'\x20RETURNING\x20id','params':[_0x13fab5,_0x501b64,..._0x503c0a]};}async['consumeMessages'](_0x2938b8,_0x31f8a1,_0x200c07,_0x482635){const _0x3af7b3=this['streamClient'],_0x352a22=this['getTableName']();try{const _0x283660=_0x482635?.['batchSize']||0x1,_0xa60e17=_0x482635?.['reservationTimeout']||0x1e,_0x3ab735=await _0x3af7b3['query']('WITH\x20selected_messages\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id,\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x352a22+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20group_name\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20COALESCE(reserved_at,\x20\x271970-01-01\x27)\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0xa60e17+'\x20seconds\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20UPDATE\x20SKIP\x20LOCKED\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update_reservation\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x352a22+'\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20=\x20$4\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20selected_messages\x20s\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.stream_name\x20=\x20$1\x20AND\x20t.id\x20=\x20s.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20t.id,\x20t.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20update_reservation',[_0x2938b8,_0x31f8a1,_0x283660,_0x200c07]),_0x6cf92e=_0x3ab735['rows']['map'](_0x27bef3=>({'id':_0x27bef3['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x27bef3['message'])}));return _0x6cf92e;}catch(_0x435e4a){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x2938b8,{'error':_0x435e4a});throw _0x435e4a;}}async['ackAndDelete'](_0x10aee4,_0x175dd2,_0x47c2f3){return await this['deleteMessages'](_0x10aee4,_0x175dd2,_0x47c2f3);}async['acknowledgeMessages'](_0x2153a4,_0x5bfa90,_0x334423,_0x13dcf1){return _0x334423['length'];}async['deleteMessages'](_0x1f5d74,_0x339967,_0x150066,_0x109164){const _0x44d1c2=this['streamClient'],_0x31f11d=this['getTableName']();try{const _0x162b9f=_0x150066['map'](_0xb54dad=>parseInt(_0xb54dad));return await _0x44d1c2['query']('DELETE\x20FROM\x20'+_0x31f11d+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20=\x20ANY($2::bigint[])\x20AND\x20group_name\x20=\x20$3',[_0x1f5d74,_0x162b9f,_0x339967]),_0x150066['length'];}catch(_0x3467c3){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x1f5d74,{'error':_0x3467c3});throw _0x3467c3;}}async['retryMessages'](_0x1c308d,_0x251612,_0x545ef9){return[];}async['getStreamStats'](_0x210e16){const _0x70913f=this['streamClient'],_0x4037a9=this['getTableName']();try{const _0x33f530=await _0x70913f['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x4037a9+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x210e16]);return{'messageCount':parseInt(_0x33f530['rows'][0x0]['count'],0xa)};}catch(_0x5d1857){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x210e16,{'error':_0x5d1857});throw _0x5d1857;}}async['getStreamDepth'](_0x510c29){const _0x352590=await this['getStreamStats'](_0x510c29);return _0x352590['messageCount'];}async['getStreamDepths'](_0x265cdc){const _0x5aacad=this['streamClient'],_0x1e363e=this['getTableName']();try{const _0x33d7da=_0x265cdc['map'](_0x3e66c4=>_0x3e66c4['stream']),_0x5bf326=await _0x5aacad['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1e363e+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20ANY($1::text[])\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20stream_name',[_0x33d7da]),_0x2dc531=_0x5bf326['rows']['map'](_0x3eec74=>({'stream':_0x3eec74['stream_name'],'depth':parseInt(_0x3eec74['count'],0xa)}));return _0x2dc531;}catch(_0x1f8453){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x1f8453});throw _0x1f8453;}}async['trimStream'](_0x3f591f,_0x4bfeb6){const _0x24d410=this['streamClient'],_0xa05b0f=this['getTableName']();try{let _0x53116b=0x0;if(_0x4bfeb6['maxLen']!==undefined){const _0xbc9882=await _0x24d410['query']('DELETE\x20FROM\x20'+_0xa05b0f+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id\x20FROM\x20'+_0xa05b0f+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OFFSET\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)',[_0x3f591f,_0x4bfeb6['maxLen']]);_0x53116b+=_0xbc9882['rowCount'];}if(_0x4bfeb6['maxAge']!==undefined){const _0x48d21a=await _0x24d410['query']('DELETE\x20FROM\x20'+_0xa05b0f+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20created_at\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x4bfeb6['maxAge']+'\x20milliseconds\x27',[_0x3f591f]);_0x53116b+=_0x48d21a['rowCount'];}return _0x53116b;}catch(_0x198f04){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x3f591f,{'error':_0x198f04});throw _0x198f04;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0xd331cc,_0x51d43e){const _0x3fad23=_0x1993,_0x20c27b=_0xd331cc();while(!![]){try{const _0x4bac30=-parseInt(_0x3fad23(0xb4))/0x1+parseInt(_0x3fad23(0xb5))/0x2+-parseInt(_0x3fad23(0xb6))/0x3*(-parseInt(_0x3fad23(0xb8))/0x4)+parseInt(_0x3fad23(0xb2))/0x5*(parseInt(_0x3fad23(0xb7))/0x6)+parseInt(_0x3fad23(0xba))/0x7*(-parseInt(_0x3fad23(0xb3))/0x8)+parseInt(_0x3fad23(0xb9))/0x9+parseInt(_0x3fad23(0xbb))/0xa;if(_0x4bac30===_0x51d43e)break;else _0x20c27b['push'](_0x20c27b['shift']());}catch(_0x3930f6){_0x20c27b['push'](_0x20c27b['shift']());}}}(_0x29f7,0xf126f));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStreamService']=void 0x0;const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');class IORedisStreamService extends index_1['StreamService']{constructor(_0x46c46a,_0x7aa417,_0x50bbc9={}){super(_0x46c46a,_0x7aa417,_0x50bbc9);}async['init'](_0x12eec5,_0x22a6fb,_0x15777c){this['namespace']=_0x12eec5,this['logger']=_0x15777c,this['appId']=_0x22a6fb;}['mintKey'](_0x16a14f,_0x384154){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x16a14f,{..._0x384154,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x2e60bd){try{const _0x23a3d6=await this['streamClient']['xadd'](_0x2e60bd,'*','field','value');return await this['streamClient']['xdel'](_0x2e60bd,_0x23a3d6),!![];}catch(_0x427ff5){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x2e60bd,{'error':_0x427ff5});throw _0x427ff5;}}async['deleteStream'](_0x38bd38){try{const _0x588b25=await this['streamClient']['del'](_0x38bd38);return _0x588b25>0x0;}catch(_0x12c3fb){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x38bd38,{'error':_0x12c3fb});throw _0x12c3fb;}}async['createConsumerGroup'](_0x2bcfe9,_0x23cf9e){try{return await this['storeClient']['xgroup']('CREATE',_0x2bcfe9,_0x23cf9e,'$','MKSTREAM')==='OK';}catch(_0x3a0e33){this['logger']['debug']('stream-mkstream-caught',{'key':_0x2bcfe9,'group':_0x23cf9e});throw _0x3a0e33;}}async['deleteConsumerGroup'](_0x1321c6,_0x360ea8){try{const _0x2c76e7=await this['streamClient']['xgroup']('DESTROY',_0x1321c6,_0x360ea8);return _0x2c76e7===0x1;}catch(_0x42c7e0){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x360ea8+'\x20for\x20stream\x20'+_0x1321c6,{'error':_0x42c7e0});throw _0x42c7e0;}}async['publishMessages'](_0x1d838a,_0x2d8cb8,_0x125b3e){try{const _0x1f38a6=_0x125b3e?.['transaction']||_0x2d8cb8['length']>0x1&&this['storeClient']['multi']();let _0x2f3136;for(const _0x30c831 of _0x2d8cb8){_0x2f3136=await(_0x1f38a6||this['storeClient'])['xadd'](_0x1d838a,'*','message',_0x30c831);}return _0x1f38a6&&!_0x125b3e?.['transaction']?(await _0x1f38a6['exec']())['map'](_0x11c935=>_0x11c935[0x1]):[_0x2f3136];}catch(_0x37e3b1){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x1d838a,{..._0x37e3b1});throw _0x37e3b1;}}async['consumeMessages'](_0x4165fe,_0x41659b,_0x407c34,_0x218969){try{const _0x491125=await this['streamClient']['xreadgroup']('GROUP',_0x41659b,_0x407c34,'BLOCK',_0x218969?.['blockTimeout']??enums_1['HMSH_BLOCK_TIME_MS'],'STREAMS',_0x4165fe,'>'),_0x5bf647=[];if((0x0,utils_1['isStreamMessage'])(_0x491125)){const [[,_0x69d8f3]]=_0x491125;for(const [_0x5e17cd,_0x27655a]of _0x69d8f3){_0x5bf647['push']({'id':_0x5e17cd,'data':(0x0,utils_1['parseStreamMessage'])(_0x27655a[0x1])});}}else return[];return _0x5bf647;}catch(_0x52cd32){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x4165fe,{'error':_0x52cd32});throw _0x52cd32;}}async['ackAndDelete'](_0x582253,_0x84fc5d,_0x20d407){const _0x28e4b5=this['storeClient']['multi']();return this['acknowledgeMessages'](_0x582253,_0x84fc5d,_0x20d407,{'multi':_0x28e4b5}),this['deleteMessages'](_0x582253,_0x84fc5d,_0x20d407,{'multi':_0x28e4b5}),await _0x28e4b5['exec'](),_0x20d407['length'];}async['acknowledgeMessages'](_0x57d170,_0x1c9d2,_0x100d3a,_0xc11d5c){try{return _0xc11d5c?.['multi']?(_0xc11d5c['multi']['xack'](_0x57d170,_0x1c9d2,..._0x100d3a),_0xc11d5c['multi']):await this['streamClient']['xack'](_0x57d170,_0x1c9d2,..._0x100d3a);}catch(_0x5728f0){this['logger']['error']('Error\x20in\x20acknowledging\x20messages:\x20['+_0x100d3a+']\x20in\x20group:\x20'+_0x1c9d2+'\x20for\x20key:\x20'+_0x57d170,{..._0x5728f0});throw _0x5728f0;}}async['deleteMessages'](_0x10144b,_0xceed55,_0x33729b,_0x57309d){try{return _0x57309d?.['multi']?(_0x57309d['multi']['xdel'](_0x10144b,..._0x33729b),_0x57309d['multi']):await this['streamClient']['xdel'](_0x10144b,..._0x33729b);}catch(_0x3567c0){this['logger']['error']('Error\x20in\x20deleting\x20messages:\x20'+_0x33729b+'\x20for\x20key:\x20'+_0x10144b,{..._0x3567c0});throw _0x3567c0;}}async['getPendingMessages'](_0xf09fff,_0x447ba3,_0x3f2f69,_0x4e4334){const _0x1eb941='-',_0x3afc6d='+';try{const _0x2bce5b=[_0xf09fff,_0x447ba3];if(_0x1eb941)_0x2bce5b['push'](_0x1eb941);if(_0x3afc6d)_0x2bce5b['push'](_0x3afc6d);if(_0x3f2f69!==undefined)_0x2bce5b['push'](_0x3f2f69['toString']());if(_0x4e4334)_0x2bce5b['push'](_0x4e4334);try{return await this['streamClient']['call']('XPENDING',..._0x2bce5b);}catch(_0xfb1d8c){this['logger']['error']('err,\x20args',{..._0xfb1d8c},_0x2bce5b);}}catch(_0x3ead55){this['logger']['error']('Error\x20in\x20retrieving\x20pending\x20messages\x20for\x20[stream\x20'+_0xf09fff+'],\x20[group\x20'+_0x447ba3+']',{..._0x3ead55});throw _0x3ead55;}}async['retryMessages'](_0x431a47,_0x5afc2e,_0x531181){let _0x2484da=[];const _0x4c2208=await this['getPendingMessages'](_0x431a47,_0x5afc2e,_0x531181?.['limit']);for(const _0x1fd30a of _0x4c2208){if(Array['isArray'](_0x1fd30a)){const [_0x102b65,,_0x80ff04,_0xadee20]=_0x1fd30a;if(_0x80ff04>_0x531181?.['minIdleTime']){const _0x2c5f20=await this['claimMessage'](_0x431a47,_0x5afc2e,_0x531181?.['consumerName'],_0x531181?.['minIdleTime'],_0x102b65);_0x2484da=_0x2484da['concat'](_0x2c5f20);}}}return _0x2484da;}async['claimMessage'](_0x2abe4c,_0x215e8b,_0x498a76,_0x42c306,_0x188a94,..._0x11447c){try{const _0x531b14=await this['streamClient']['xclaim'](_0x2abe4c,_0x215e8b,_0x498a76,_0x42c306,_0x188a94,..._0x11447c);return{'id':_0x531b14[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x531b14[0x0][0x1][0x1])};}catch(_0x30320d){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x188a94+'\x20in\x20group:\x20'+_0x215e8b+'\x20for\x20key:\x20'+_0x2abe4c,{..._0x30320d});throw _0x30320d;}}async['getStreamStats'](_0x47f6e3){return{'messageCount':await this['getStreamDepth'](_0x47f6e3)};}async['getStreamDepth'](_0xfc6d8,_0x226e26){try{if(_0x226e26?.['multi'])return _0x226e26['multi']['xlen'](_0xfc6d8),0x0;const _0x3ce7e4=await this['streamClient']['xlen'](_0xfc6d8);return _0x3ce7e4;}catch(_0x1c0f04){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0xfc6d8,{'error':_0x1c0f04});throw _0x1c0f04;}}async['getStreamDepths'](_0x5bc26f){const _0x4e9846=this['storeClient']['multi'](),_0x13944f=new Map();_0x5bc26f['forEach'](_0x23cbbb=>{!_0x13944f['has'](_0x23cbbb['stream'])&&(_0x13944f['set'](_0x23cbbb['stream'],-0x1),this['getStreamDepth'](_0x23cbbb['stream'],{'multi':_0x4e9846}));});const _0x19da0d=await _0x4e9846['exec']();Array['from'](_0x13944f['keys']())['forEach']((_0x5be9f4,_0x48dbfd)=>{_0x13944f['set'](_0x5be9f4,_0x19da0d[_0x48dbfd][0x1]);});const _0x3d766d=_0x5bc26f['map'](_0x101878=>{return{'stream':_0x101878['stream'],'depth':_0x13944f['get'](_0x101878['stream'])||0x0};});return _0x3d766d;}async['trimStream'](_0xc4a467,_0xaee67c){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}function _0x1993(_0x767d1e,_0x144e3e){const _0x29f75a=_0x29f7();return _0x1993=function(_0x19932a,_0x575eff){_0x19932a=_0x19932a-0xb2;let _0x40a940=_0x29f75a[_0x19932a];return _0x40a940;},_0x1993(_0x767d1e,_0x144e3e);}exports['IORedisStreamService']=IORedisStreamService;function _0x29f7(){const _0x1eb807=['67711FCAxBM','10101830Jkyfzk','267210oLadBl','624zrjOWm','1586437QeBVlD','1084402lgTePW','2214456HWnXJO','24IKGfso','4aChWgS','7419474lXVxVX'];_0x29f7=function(){return _0x1eb807;};return _0x29f7();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x503b0a,_0x94f8cf){const _0x24f3ac=_0x1d7b,_0x4a030d=_0x503b0a();while(!![]){try{const _0x13a233=parseInt(_0x24f3ac(0xbf))/0x1+-parseInt(_0x24f3ac(0xc3))/0x2*(parseInt(_0x24f3ac(0xc4))/0x3)+-parseInt(_0x24f3ac(0xc0))/0x4+-parseInt(_0x24f3ac(0xc1))/0x5*(parseInt(_0x24f3ac(0xbe))/0x6)+-parseInt(_0x24f3ac(0xc2))/0x7*(-parseInt(_0x24f3ac(0xc6))/0x8)+-parseInt(_0x24f3ac(0xbd))/0x9+parseInt(_0x24f3ac(0xc5))/0xa;if(_0x13a233===_0x94f8cf)break;else _0x4a030d['push'](_0x4a030d['shift']());}catch(_0xb8707a){_0x4a030d['push'](_0x4a030d['shift']());}}}(_0x11af,0xbae11));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStreamService']=void 0x0;function _0x11af(){const _0x504757=['11787bAlaRV','21866600VnQRqE','72152wNcMAJ','7686297WZpwYS','18gajyzx','1023270nrgNOT','2485876oYCVMQ','2386345wtHIzz','777ZlYodV','274gVJfVw'];_0x11af=function(){return _0x504757;};return _0x11af();}function _0x1d7b(_0x21b743,_0x412dfd){const _0x11afa3=_0x11af();return _0x1d7b=function(_0x1d7be0,_0x3415fd){_0x1d7be0=_0x1d7be0-0xbd;let _0x57e7fd=_0x11afa3[_0x1d7be0];return _0x57e7fd;},_0x1d7b(_0x21b743,_0x412dfd);}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(_0x6f10db,_0x3019eb,_0x543bf7={}){super(_0x6f10db,_0x3019eb,_0x543bf7);}async['init'](_0x5c3789,_0x9061f9,_0x295a4f){this['namespace']=_0x5c3789,this['logger']=_0x295a4f,this['appId']=_0x9061f9;}['mintKey'](_0x11b081,_0x249ad0){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x11b081,{..._0x249ad0,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x52a4d7){try{const _0x13e63c=await this['streamClient']['XADD'](_0x52a4d7,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0x52a4d7,_0x13e63c),!![];}catch(_0x1f5c08){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x52a4d7,{'error':_0x1f5c08});throw _0x1f5c08;}}async['deleteStream'](_0x3ba2fd){try{const _0x1bac52=await this['streamClient']['DEL'](_0x3ba2fd);return _0x1bac52>0x0;}catch(_0x16b8b8){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x3ba2fd,{'error':_0x16b8b8});throw _0x16b8b8;}}async['createConsumerGroup'](_0x3cd259,_0x381e17){try{const _0x1b6c9b=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x3cd259,_0x381e17,'$','MKSTREAM']);return _0x1b6c9b==='OK';}catch(_0x66e62e){const _0x557909='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0x557909+'\x20for\x20key:\x20'+_0x3cd259+'\x20and\x20group:\x20'+_0x381e17,{..._0x66e62e});throw _0x66e62e;}}async['deleteConsumerGroup'](_0x14160e,_0x42fa62){try{const _0x44938f=await this['streamClient']['xGroupDestroy'](_0x14160e,_0x42fa62);return _0x44938f;}catch(_0x24ee8a){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x42fa62+'\x20for\x20stream\x20'+_0x14160e,{'error':_0x24ee8a});throw _0x24ee8a;}}async['publishMessages'](_0x18b77a,_0x1e6441,_0x2c5579){try{const _0x452ceb=_0x2c5579?.['transaction']||_0x1e6441['length']>0x1&&this['storeClient']['multi']();let _0x3e0dcc;for(const _0x349bea of _0x1e6441){_0x3e0dcc=await(_0x452ceb||this['storeClient'])['XADD'](_0x18b77a,'*',{'message':_0x349bea});}return _0x452ceb&&!_0x2c5579?.['transaction']?(await _0x452ceb['exec']())['map'](_0xaa41d8=>_0xaa41d8[0x1]):[_0x3e0dcc];}catch(_0x128ce8){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x18b77a,{..._0x128ce8});throw _0x128ce8;}}async['consumeMessages'](_0x568821,_0x187cfc,_0x1baf49,_0x3f288f){const _0x5d7be6='GROUP',_0x43c0f8='BLOCK',_0x4f24cd='STREAMS',_0x765fdc='>';try{const _0x561d82=await this['streamClient']['sendCommand'](['XREADGROUP',_0x5d7be6,_0x187cfc,_0x1baf49,_0x43c0f8,_0x3f288f?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x4f24cd,_0x568821,_0x765fdc]),_0x5864b6=[];if((0x0,utils_1['isStreamMessage'])(_0x561d82)){const [[,_0x334c18]]=_0x561d82;for(const [_0xc9032,_0x2873c7]of _0x334c18){_0x5864b6['push']({'id':_0xc9032,'data':(0x0,utils_1['parseStreamMessage'])(_0x2873c7[0x1])});}}else return[];return _0x5864b6;}catch(_0x3d243e){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x568821,{'error':_0x3d243e});throw _0x3d243e;}}async['ackAndDelete'](_0x1ea1e0,_0x1cdb12,_0x4e9293){const _0x92e75f=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x1ea1e0,_0x1cdb12,_0x4e9293,{'multi':_0x92e75f}),await this['deleteMessages'](_0x1ea1e0,_0x1cdb12,_0x4e9293,{'multi':_0x92e75f}),await _0x92e75f['exec'](),_0x4e9293['length'];}async['acknowledgeMessages'](_0x573414,_0x2175bd,_0x4cb5b3,_0x315d23){try{return _0x315d23?.['multi']?(_0x315d23['multi']['XACK'](_0x573414,_0x2175bd,_0x4cb5b3),_0x315d23['multi']):await this['streamClient']['XACK'](_0x573414,_0x2175bd,..._0x4cb5b3);}catch(_0x48b130){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0x2175bd+'\x20for\x20key:\x20'+_0x573414,{'error':_0x48b130});throw _0x48b130;}}async['deleteMessages'](_0x3a6832,_0x347837,_0x753c50,_0xfba81){try{return _0xfba81?.['multi']?(_0xfba81['multi']['xDel'](_0x3a6832,_0x753c50),_0xfba81['multi']):await this['streamClient']['XDEL'](_0x3a6832,..._0x753c50);}catch(_0x560d07){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0x753c50['join'](',')+'\x20for\x20key:\x20'+_0x3a6832,{'error':_0x560d07});throw _0x560d07;}}async['getPendingMessages'](_0x2f33e0,_0x139595,_0x53c89e,_0x2802eb){try{const _0xd25548='-',_0x39353e='+',_0x2e293e=[_0x2f33e0,_0x139595];if(_0xd25548)_0x2e293e['push'](_0xd25548);if(_0x39353e)_0x2e293e['push'](_0x39353e);if(_0x53c89e!==undefined)_0x2e293e['push'](_0x53c89e['toString']());if(_0x2802eb)_0x2e293e['push'](_0x2802eb);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0x2e293e]);}catch(_0x30c613){this['logger']['error']('error,\x20args',{..._0x30c613},_0x2e293e);}}catch(_0x4094b7){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x139595+'\x20in\x20key:\x20'+_0x2f33e0,{..._0x4094b7});throw _0x4094b7;}}async['retryMessages'](_0x3c0428,_0x29cde6,_0xcb166d){let _0x4c4d4f=[];const _0x28c539=await this['getPendingMessages'](_0x3c0428,_0x29cde6,_0xcb166d?.['limit']);for(const _0x35c7ff of _0x28c539){if(Array['isArray'](_0x35c7ff)){const [_0x501b12,,_0x1b5225,_0x2c1ed1]=_0x35c7ff;if(_0x1b5225>_0xcb166d?.['minIdleTime']){const _0x485697=await this['claimMessage'](_0x3c0428,_0x29cde6,_0xcb166d?.['consumerName'],_0xcb166d?.['minIdleTime'],_0x501b12);_0x4c4d4f=_0x4c4d4f['concat'](_0x485697);}}}return _0x4c4d4f;}async['claimMessage'](_0x52842b,_0x4bc721,_0x2bdb76,_0x56c7e4,_0xe909cd,..._0x4a15eb){try{const _0x6f0bad=await this['streamClient']['sendCommand'](['XCLAIM',_0x52842b,_0x4bc721,_0x2bdb76,_0x56c7e4['toString'](),_0xe909cd,..._0x4a15eb]);return{'id':_0x6f0bad[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x6f0bad[0x0][0x1][0x1])};}catch(_0x16b288){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0xe909cd+'\x20in\x20group:\x20'+_0x4bc721+'\x20for\x20key:\x20'+_0x52842b,{..._0x16b288});throw _0x16b288;}}async['getStreamStats'](_0x55d26c){return{'messageCount':await this['getStreamDepth'](_0x55d26c)};}async['getStreamDepth'](_0x200a2d,_0x57b435){try{if(_0x57b435?.['multi'])return _0x57b435['multi']['XLEN'](_0x200a2d),0x0;const _0x4a7d65=await this['streamClient']['XLEN'](_0x200a2d);return _0x4a7d65;}catch(_0x3386a2){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x200a2d,{'error':_0x3386a2});throw _0x3386a2;}}async['getStreamDepths'](_0x3732b7){const _0x483059=this['storeClient']['multi'](),_0x2c9cc1=new Map();_0x3732b7['forEach'](_0xd59472=>{!_0x2c9cc1['has'](_0xd59472['stream'])&&(_0x2c9cc1['set'](_0xd59472['stream'],-0x1),this['getStreamDepth'](_0xd59472['stream'],{'multi':_0x483059}));});const _0x2be7d6=await _0x483059['exec']();return Array['from'](_0x2c9cc1['keys']())['forEach']((_0x4b342a,_0x34a03a)=>{_0x2c9cc1['set'](_0x4b342a,_0x2be7d6[_0x34a03a]);}),_0x3732b7['map'](_0x2a6cce=>{return{'stream':_0x2a6cce['stream'],'depth':_0x2c9cc1['get'](_0x2a6cce['stream'])||0x0};});}async['trimStream'](_0x5b2efc,_0x94b2ec){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['RedisStreamService']=RedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x251c30,_0x34a1f3){var _0x247a1e=_0x3f43,_0x19edb6=_0x251c30();while(!![]){try{var _0x53eb44=-parseInt(_0x247a1e(0x93))/0x1+-parseInt(_0x247a1e(0x91))/0x2+parseInt(_0x247a1e(0x8f))/0x3*(parseInt(_0x247a1e(0x95))/0x4)+parseInt(_0x247a1e(0x96))/0x5+-parseInt(_0x247a1e(0x92))/0x6*(parseInt(_0x247a1e(0x94))/0x7)+parseInt(_0x247a1e(0x90))/0x8*(-parseInt(_0x247a1e(0x97))/0x9)+parseInt(_0x247a1e(0x98))/0xa;if(_0x53eb44===_0x34a1f3)break;else _0x19edb6['push'](_0x19edb6['shift']());}catch(_0xbe05ba){_0x19edb6['push'](_0x19edb6['shift']());}}}(_0x1d29,0x9812c));function _0x3f43(_0x5e85b4,_0x581bfb){var _0x1d293f=_0x1d29();return _0x3f43=function(_0x3f4345,_0x4fe84e){_0x3f4345=_0x3f4345-0x8f;var _0x4fc336=_0x1d293f[_0x3f4345];return _0x4fc336;},_0x3f43(_0x5e85b4,_0x581bfb);}function _0x1d29(){var _0x2fbcde=['876322oUXeGq','1875408lrMHLq','1003577FriNtK','14fTIapd','4196cmvvsU','1215225XJFBzn','27LbiADU','24157500NReECd','1893sVppmW','1682528cBkUct'];_0x1d29=function(){return _0x2fbcde;};return _0x1d29();}Object['defineProperty'](exports,'__esModule',{'value':!![]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x33d07f,_0x29451f){const _0x2ea9f5=_0x2a38,_0xd19ac7=_0x33d07f();while(!![]){try{const _0x39aa18=parseInt(_0x2ea9f5(0x9a))/0x1*(-parseInt(_0x2ea9f5(0x9b))/0x2)+-parseInt(_0x2ea9f5(0x99))/0x3*(-parseInt(_0x2ea9f5(0x9f))/0x4)+-parseInt(_0x2ea9f5(0x97))/0x5*(-parseInt(_0x2ea9f5(0x9d))/0x6)+parseInt(_0x2ea9f5(0x9c))/0x7+-parseInt(_0x2ea9f5(0x98))/0x8+parseInt(_0x2ea9f5(0x95))/0x9*(parseInt(_0x2ea9f5(0xa0))/0xa)+-parseInt(_0x2ea9f5(0x96))/0xb*(parseInt(_0x2ea9f5(0x9e))/0xc);if(_0x39aa18===_0x29451f)break;else _0xd19ac7['push'](_0xd19ac7['shift']());}catch(_0x117d74){_0xd19ac7['push'](_0xd19ac7['shift']());}}}(_0x43f6,0x2cbd9));function _0x43f6(){const _0x52af35=['25512VZMgxR','10roSjvW','3270987QoESbf','12353lrSMgu','5685gjvKcI','1326288IPdBYj','24tGxIZI','16mynphx','23882TbbYWF','829829LFroUK','630PZyuLV','1200SRhshe'];_0x43f6=function(){return _0x52af35;};return _0x43f6();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;function _0x2a38(_0x272417,_0x51bed6){const _0x43f688=_0x43f6();return _0x2a38=function(_0x2a381d,_0x505ae7){_0x2a381d=_0x2a381d-0x95;let _0x1acce6=_0x43f688[_0x2a381d];return _0x1acce6;},_0x2a38(_0x272417,_0x51bed6);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class IORedisSubService extends index_1['SubService']{constructor(_0x2bc94f,_0x3af78f){super(_0x2bc94f,_0x3af78f);}async['init'](_0x47b51a=key_1['HMNS'],_0x478655,_0xd0695c,_0x2ebb62){this['namespace']=_0x47b51a,this['logger']=_0x2ebb62,this['appId']=_0x478655;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x39bd5e,_0x56de8c){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x39bd5e,_0x56de8c);}async['subscribe'](_0x287afa,_0x2dd32c,_0x5ac0df,_0x536122){const _0x1e8887=this,_0xd5659b=this['mintKey'](_0x287afa,{'appId':_0x5ac0df,'engineId':_0x536122});await this['eventClient']['subscribe'](_0xd5659b,_0x42593a=>{_0x42593a&&_0x1e8887['logger']['error']('Error\x20subscribing\x20to:\x20'+_0xd5659b,_0x42593a);}),this['eventClient']['on']('message',(_0x4e68dd,_0x5913d8)=>{if(_0x4e68dd===_0xd5659b)try{const _0x58d231=JSON['parse'](_0x5913d8);_0x2dd32c(_0xd5659b,_0x58d231);}catch(_0x160730){_0x1e8887['logger']['error']('Error\x20parsing\x20message:\x20'+_0x5913d8,_0x160730);}});}async['unsubscribe'](_0x7361ba,_0x200ee3,_0x19a59e){const _0x2b3a65=this['mintKey'](_0x7361ba,{'appId':_0x200ee3,'engineId':_0x19a59e});await this['eventClient']['unsubscribe'](_0x2b3a65);}async['psubscribe'](_0x5de7a2,_0x18f4e3,_0x5d8263,_0x3100cd){const _0x1ebe76=this,_0x26392e=this['mintKey'](_0x5de7a2,{'appId':_0x5d8263,'engineId':_0x3100cd});await this['eventClient']['psubscribe'](_0x26392e,_0x10e6b4=>{_0x10e6b4&&_0x1ebe76['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x26392e,_0x10e6b4);}),this['eventClient']['on']('pmessage',(_0x83630b,_0x4cda3e,_0x5b09f5)=>{if(_0x83630b===_0x26392e)try{const _0xae5a36=JSON['parse'](_0x5b09f5);_0x18f4e3(_0x4cda3e,_0xae5a36);}catch(_0x5d046c){_0x1ebe76['logger']['error']('Error\x20parsing\x20message:\x20'+_0x5b09f5,_0x5d046c);}});}async['punsubscribe'](_0x222d2f,_0x45ff4b,_0x5b5a5a){const _0x2d7bda=this['mintKey'](_0x222d2f,{'appId':_0x45ff4b,'engineId':_0x5b5a5a});await this['eventClient']['punsubscribe'](_0x2d7bda);}async['publish'](_0x4b8db2,_0x1eba18,_0x255f61,_0x1f793b){const _0x46f178=this['mintKey'](_0x4b8db2,{'appId':_0x255f61,'engineId':_0x1f793b}),_0x13d87b=await this['storeClient']['publish'](_0x46f178,JSON['stringify'](_0x1eba18));return _0x13d87b===0x1;}}exports['IORedisSubService']=IORedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0xc017,_0x3236b8){const _0x3beb00=_0x1189,_0x38af0d=_0xc017();while(!![]){try{const _0x5cb433=parseInt(_0x3beb00(0x185))/0x1+parseInt(_0x3beb00(0x186))/0x2+parseInt(_0x3beb00(0x17e))/0x3*(-parseInt(_0x3beb00(0x180))/0x4)+-parseInt(_0x3beb00(0x182))/0x5*(-parseInt(_0x3beb00(0x181))/0x6)+-parseInt(_0x3beb00(0x183))/0x7+parseInt(_0x3beb00(0x17d))/0x8*(parseInt(_0x3beb00(0x184))/0x9)+-parseInt(_0x3beb00(0x17f))/0xa;if(_0x5cb433===_0x3236b8)break;else _0x38af0d['push'](_0x38af0d['shift']());}catch(_0x4456cc){_0x38af0d['push'](_0x38af0d['shift']());}}}(_0x2d25,0xe4503));function _0x2d25(){const _0x570df6=['4484094VLhuWJ','5Zikoxi','7891450rLDauI','6174027wbygMw','1730242blKpKG','1505764VPLZID','16zsZshN','48AZgyOP','14254140cPKamB','278636sHfwgt'];_0x2d25=function(){return _0x570df6;};return _0x2d25();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;function _0x1189(_0x5c7ded,_0x6badcb){const _0x2d257f=_0x2d25();return _0x1189=function(_0x118955,_0x514fc5){_0x118955=_0x118955-0x17d;let _0xa0ebe6=_0x2d257f[_0x118955];return _0xa0ebe6;},_0x1189(_0x5c7ded,_0x6badcb);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class RedisSubService extends index_1['SubService']{constructor(_0x3b04cc,_0x2ae09f){super(_0x3b04cc,_0x2ae09f);}async['init'](_0x49fdaa=key_1['HMNS'],_0x38192a,_0x3ac403,_0x2fd57f){this['namespace']=_0x49fdaa,this['logger']=_0x2fd57f,this['appId']=_0x38192a;}['transact'](){const _0x444c5c=this['eventClient']['multi']();return _0x444c5c;}['mintKey'](_0x10c0e6,_0x25df5){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x10c0e6,_0x25df5);}async['subscribe'](_0x27a50b,_0x4cfdea,_0x5732c5,_0x4b5c9d){if(this['eventClient']){const _0x16e4c1=this,_0x590600=this['mintKey'](_0x27a50b,{'appId':_0x5732c5,'engineId':_0x4b5c9d});await this['eventClient']['subscribe'](_0x590600,_0x5624cc=>{try{const _0x4d3c25=JSON['parse'](_0x5624cc);_0x4cfdea(_0x590600,_0x4d3c25);}catch(_0x51b02e){_0x16e4c1['logger']['error']('Error\x20parsing\x20message:\x20'+_0x5624cc,_0x51b02e);}});}}async['unsubscribe'](_0x562945,_0x20e320,_0x43e5d3){const _0x14b732=this['mintKey'](_0x562945,{'appId':_0x20e320,'engineId':_0x43e5d3});await this['eventClient']['unsubscribe'](_0x14b732);}async['psubscribe'](_0xa0023f,_0x43f007,_0x46e6b7,_0x20352b){if(this['eventClient']){const _0x205d87=this,_0x4376cf=this['mintKey'](_0xa0023f,{'appId':_0x46e6b7,'engineId':_0x20352b});await this['eventClient']['pSubscribe'](_0x4376cf,(_0x40cc36,_0x53302b)=>{try{const _0x1516f8=JSON['parse'](_0x40cc36);_0x43f007(_0x53302b,_0x1516f8);}catch(_0xafad60){_0x205d87['logger']['error']('Error\x20parsing\x20message:\x20'+_0x40cc36,_0xafad60);}});}}async['punsubscribe'](_0x34b164,_0x5f53c9,_0x392a7d){const _0x1d5e93=this['mintKey'](_0x34b164,{'appId':_0x5f53c9,'engineId':_0x392a7d});await this['eventClient']['pUnsubscribe'](_0x1d5e93);}async['publish'](_0x41c365,_0x55cfbb,_0x4d9217,_0x32ab58){const _0x163f87=this['mintKey'](_0x41c365,{'appId':_0x4d9217,'engineId':_0x32ab58}),_0x223805=await this['storeClient']['publish'](_0x163f87,JSON['stringify'](_0x55cfbb));return _0x223805>0x0;}}exports['RedisSubService']=RedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x11b4e7,_0x266b29){const _0x194e10=_0x5bd6,_0x483a5a=_0x11b4e7();while(!![]){try{const _0xc05032=-parseInt(_0x194e10(0x127))/0x1*(parseInt(_0x194e10(0x124))/0x2)+parseInt(_0x194e10(0x126))/0x3*(-parseInt(_0x194e10(0x129))/0x4)+parseInt(_0x194e10(0x125))/0x5+-parseInt(_0x194e10(0x128))/0x6+-parseInt(_0x194e10(0x120))/0x7+-parseInt(_0x194e10(0x121))/0x8+-parseInt(_0x194e10(0x122))/0x9*(-parseInt(_0x194e10(0x123))/0xa);if(_0xc05032===_0x266b29)break;else _0x483a5a['push'](_0x483a5a['shift']());}catch(_0x25ae96){_0x483a5a['push'](_0x483a5a['shift']());}}}(_0xd014,0x94ed1));function _0xd014(){const _0xc413a9=['81VffoGg','2675150AeExck','2QFqIxe','2438420TPWFxP','9DZmBfV','123143bHFBzJ','936318WcBlri','788348GEdNLb','8510019guaTZg','1593152cQSFtJ'];_0xd014=function(){return _0xc413a9;};return _0xd014();}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(_0x4a0da4,_0x35361a){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x35361a,this['store']=_0x4a0da4;}async['processWebHooks'](_0x2e8dc0){const _0x7c77a=await this['store']['getActiveTaskQueue']();if(_0x7c77a){const [_0x36d449,_0x1f435e,_0x3f008b,..._0x3eca2e]=_0x7c77a['split'](key_1['WEBSEP']),_0x29609d=JSON['parse'](_0x3eca2e['join'](key_1['WEBSEP'])),_0x29c83e=_0x1f435e+':processed',_0x45464a=await this['store']['processTaskQueue'](_0x1f435e,_0x29c83e);_0x45464a?await _0x2e8dc0(_0x36d449,{..._0x29609d,'id':_0x45464a}):await this['store']['deleteProcessedTaskQueue'](_0x7c77a,_0x1f435e,_0x29c83e,_0x3f008b==='true'),setImmediate(()=>this['processWebHooks'](_0x2e8dc0));}}async['enqueueWorkItems'](_0xaca56e){await this['store']['addTaskQueues'](_0xaca56e);}async['registerJobForCleanup'](_0x53114a,_0x5af884=enums_1['HMSH_EXPIRE_DURATION'],_0x3cd302){_0x5af884>0x0&&await this['store']['expireJob'](_0x53114a,_0x5af884);}async['registerTimeHook'](_0x3fef3a,_0xcc89b8,_0x5286d1,_0x46a38b,_0x558f81=enums_1['HMSH_FIDELITY_SECONDS'],_0xb1b10d,_0xd19efb){const _0x1711d4=Date['now']()+_0x558f81*0x3e8,_0x4eaf2b=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x55b324=Math['floor'](_0x1711d4/_0x4eaf2b)*_0x4eaf2b;await this['store']['registerTimeHook'](_0x3fef3a,_0xcc89b8,_0x5286d1,_0x46a38b,_0x55b324,_0xb1b10d,_0xd19efb);}async['shouldScout'](){const _0x4eb697=this['isScout'],_0x3eb034=_0x4eb697||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x3eb034)return!_0x4eb697&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0x57ff86,_0x54d9f9){if(await this['shouldScout']())try{const _0x1a437e=await this['store']['getNextTask'](_0x54d9f9);if(Array['isArray'](_0x1a437e)){const [_0x3bf84e,_0x2fda4f,_0x5787f3,_0x2659cd,_0x40622b]=_0x1a437e;if(_0x40622b==='child'){}else{if(_0x40622b==='delist'){const _0x56c01e=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x56c01e,_0x2fda4f);}else await _0x57ff86(_0x2fda4f,_0x5787f3,_0x2659cd,_0x40622b);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x57ff86,_0x3bf84e);}else{if(_0x1a437e)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x57ff86);else{const _0x403ebb=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x403ebb['timerId'],await _0x403ebb['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0x57ff86);}}}catch(_0x4cbd01){this['logger']['warn']('task-process-timehooks-error',_0x4cbd01),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0x57ff86);}else{const _0x104495=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x104495['timerId'],await _0x104495['promise'],this['processTimeHooks'](_0x57ff86);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x5ed184){const _0x15ba0b=await this['store']['getHookRules']();return _0x15ba0b?.[_0x5ed184]?.[0x0];}async['registerWebHook'](_0x1795f4,_0x18c71b,_0x244d8b,_0x276fa8,_0x5d7e4e){const _0x1abb30=await this['getHookRule'](_0x1795f4);if(_0x1abb30){const _0x231564=_0x1abb30['conditions']['match'][0x0]['expected'],_0xf68a75=pipe_1['Pipe']['resolve'](_0x231564,_0x18c71b),_0x9af9b2=_0x18c71b['metadata']['jid'],_0x42f1e8=_0x18c71b['metadata']['gid'],_0x5da8f5=_0x1abb30['to'],_0x375d3f=[_0x5da8f5,_0x244d8b,_0x42f1e8,_0x9af9b2]['join'](key_1['WEBSEP']),_0x4cd94d={'topic':_0x1795f4,'resolved':_0xf68a75,'jobId':_0x375d3f,'expire':_0x276fa8};return await this['store']['setHookSignal'](_0x4cd94d,_0x5d7e4e),_0x9af9b2;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x2edd67,_0x4628c0){const _0x4b4bb8=await this['getHookRule'](_0x2edd67);if(_0x4b4bb8){const _0x7381f9={'$self':{'hook':{'data':_0x4628c0}},'$hook':{'data':_0x4628c0}},_0x2b1091=_0x4b4bb8['conditions']['match'][0x0]['actual'],_0x5e9c45=pipe_1['Pipe']['resolve'](_0x2b1091,_0x7381f9),_0x1e1b1b=await this['store']['getHookSignal'](_0x2edd67,_0x5e9c45);if(!_0x1e1b1b)return undefined;const [_0x299ae0,_0x32b1d8,_0x848dd0,..._0x592ab5]=_0x1e1b1b['split'](key_1['WEBSEP']);return[_0x592ab5['join'](key_1['WEBSEP']),_0x4b4bb8['to'],_0x32b1d8,_0x848dd0];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0x59af47,_0x295196){const _0x5ac1d7=await this['getHookRule'](_0x59af47);if(_0x5ac1d7){const _0x2f3a05={'$self':{'hook':{'data':_0x295196}},'$hook':{'data':_0x295196}},_0x361b82=_0x5ac1d7['conditions']['match'][0x0]['actual'],_0x4536e3=pipe_1['Pipe']['resolve'](_0x361b82,_0x2f3a05);return await this['store']['deleteHookSignal'](_0x59af47,_0x4536e3);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}function _0x5bd6(_0x3822f9,_0x2ac9be){const _0xd01416=_0xd014();return _0x5bd6=function(_0x5bd695,_0x2a5930){_0x5bd695=_0x5bd695-0x120;let _0x254c95=_0xd01416[_0x5bd695];return _0x254c95;},_0x5bd6(_0x3822f9,_0x2ac9be);}exports['TaskService']=TaskService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x3ea4e9,_0xa21a55){const _0x36896c=_0x4958,_0x5756e0=_0x3ea4e9();while(!![]){try{const _0x432b55=parseInt(_0x36896c(0x141))/0x1*(-parseInt(_0x36896c(0x13c))/0x2)+parseInt(_0x36896c(0x13e))/0x3+parseInt(_0x36896c(0x140))/0x4*(parseInt(_0x36896c(0x13b))/0x5)+-parseInt(_0x36896c(0x13a))/0x6+-parseInt(_0x36896c(0x137))/0x7*(-parseInt(_0x36896c(0x139))/0x8)+parseInt(_0x36896c(0x136))/0x9*(-parseInt(_0x36896c(0x13f))/0xa)+parseInt(_0x36896c(0x138))/0xb*(parseInt(_0x36896c(0x13d))/0xc);if(_0x432b55===_0xa21a55)break;else _0x5756e0['push'](_0x5756e0['shift']());}catch(_0x538f0f){_0x5756e0['push'](_0x5756e0['shift']());}}}(_0x2968,0x3624e));function _0x2968(){const _0x685d0d=['1544IEIEbZ','945174NKzuAw','10uzAtFT','12LMVkht','174576bGQreO','139308QnKFpQ','99130PqxTsE','544048vIXqWt','20921WKOiSW','324mhTRSx','7567PclBnP','253yQwPpD'];_0x2968=function(){return _0x685d0d;};return _0x2968();}function _0x4958(_0x24d889,_0x5e3fc8){const _0x296839=_0x2968();return _0x4958=function(_0x495812,_0x2260e3){_0x495812=_0x495812-0x136;let _0x2e5798=_0x296839[_0x495812];return _0x2e5798;},_0x4958(_0x24d889,_0x5e3fc8);}var __importDefault=this&&this['__importDefault']||function(_0x509ac4){return _0x509ac4&&_0x509ac4['__esModule']?_0x509ac4:{'default':_0x509ac4};};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(_0x141c99,_0x13992c,_0x709c88,_0x74e27c){this['leg']=0x1,this['appId']=_0x141c99,this['config']=_0x13992c,this['metadata']=_0x709c88,this['context']=_0x74e27c;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x3a33a8){return _0x3a33a8===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x5e73ac='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x4526c8=this['getTraceId'](),_0x3a379a=this['getJobParentSpanId'](),_0x59eecb=this['getSpanAttrs'](0x1),_0x33a76b=this['startSpan'](_0x4526c8,_0x3a379a,_0x5e73ac,_0x59eecb);return this['jobSpan']=_0x33a76b,this['setTelemetryContext'](_0x33a76b,0x1),this;}['startActivitySpan'](_0x43fef6=this['leg']){const _0xc7bbed=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x43fef6,_0x7b2096=this['getTraceId'](),_0x504c65=this['getActivityParentSpanId'](_0x43fef6),_0x1a9827=this['getSpanAttrs'](_0x43fef6),_0x2dc54b=this['startSpan'](_0x7b2096,_0x504c65,_0xc7bbed,_0x1a9827);return this['setTelemetryContext'](_0x2dc54b,_0x43fef6),this['span']=_0x2dc54b,this;}['startStreamSpan'](_0x2fa60a,_0x39836d){let _0xc1a47a;if(_0x39836d===stream_1['StreamRole']['SYSTEM'])_0xc1a47a='SYSTEM';else{if(_0x39836d===stream_1['StreamRole']['WORKER'])_0xc1a47a='EXECUTE';else _0x2fa60a['type']===stream_1['StreamDataType']['RESULT']||_0x2fa60a['type']===stream_1['StreamDataType']['RESPONSE']?_0xc1a47a='FANIN':_0xc1a47a='FANOUT';}const _0x413180=_0x2fa60a['metadata']['topic']?'/'+_0x2fa60a['metadata']['topic']:'',_0x18551d=_0xc1a47a+'/'+this['appId']+'/'+_0x2fa60a['metadata']['aid']+_0x413180,_0x45d3e1=this['getStreamSpanAttrs'](_0x2fa60a),_0x5305cc=this['startSpan'](_0x2fa60a['metadata']['trc'],_0x2fa60a['metadata']['spn'],_0x18551d,_0x45d3e1);return this['span']=_0x5305cc,this;}['startSpan'](_0x5cec89,_0xe4d3b6,_0x428ab6,_0x540113){this['traceId']=_0x5cec89,this['spanId']=_0xe4d3b6;const _0x33b5cf=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x20df76=this['getParentSpanContext'](),_0x5c160c=_0x33b5cf['startSpan'](_0x428ab6,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x540113,'root':!_0x20df76},_0x20df76);return _0x5c160c;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x5c8b19=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x3e05a2={...Object['keys'](_0x5c8b19)['reduce']((_0x35d5d0,_0xff7b52)=>{return['string','boolean','number']['includes'](typeof _0x5c8b19[_0xff7b52])&&(_0x35d5d0['app.activity.data.'+_0xff7b52]=_0x5c8b19[_0xff7b52]),_0x35d5d0;},{})};this['span']?.['setAttributes'](_0x3e05a2);}}['setActivityAttributes'](_0x2e03dd){this['span']?.['setAttributes'](_0x2e03dd);}['setStreamAttributes'](_0x224bad){this['span']?.['setAttributes'](_0x224bad);}['setJobAttributes'](_0x5aa23a){this['jobSpan']?.['setAttributes'](_0x5aa23a);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0x4581fa){_0x4581fa&&_0x4581fa['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x26a2b2={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x5e7174=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x26a2b2);return _0x5e7174;}}['getSpanAttrs'](_0x57fc6c){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x55a01f,_0x48ef26)=>{return _0x48ef26!=='trc'&&(_0x55a01f['app.job.'+_0x48ef26]=this['context']['metadata'][_0x48ef26]),_0x55a01f;},{}),...Object['keys'](this['metadata'])['reduce']((_0x2028d4,_0x4bdff9)=>{return _0x2028d4['app.activity.'+_0x4bdff9]=this['metadata'][_0x4bdff9],_0x2028d4;},{}),'app.activity.leg':_0x57fc6c};}['getStreamSpanAttrs'](_0x528c81){return{...Object['keys'](_0x528c81['metadata'])['reduce']((_0x304536,_0xb157d6)=>{return _0xb157d6!=='trc'&&_0xb157d6!=='spn'&&(_0x304536['app.stream.'+_0xb157d6]=_0x528c81['metadata'][_0xb157d6]),_0x304536;},{})};}['setTelemetryContext'](_0x31b9a6,_0x3b1b03){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0x31b9a6['spanContext']()['traceId']),_0x3b1b03===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0x31b9a6['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0x31b9a6['spanContext']()['spanId']);}['setActivityError'](_0x2f20a4){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x2f20a4});}['setStreamError'](_0x216688){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x216688});}static['addTargetTelemetryPaths'](_0x22ffae,_0x4d1ee9,_0x564c97,_0x26846f){_0x26846f===0x1?(!(_0x4d1ee9['parent']in _0x22ffae)&&(_0x22ffae[_0x4d1ee9['parent']]=[]),_0x22ffae[_0x4d1ee9['parent']]['push'](_0x4d1ee9['parent']+'/output/metadata/l2s')):(!(_0x564c97['aid']in _0x22ffae)&&(_0x22ffae[_0x564c97['aid']]=[]),_0x22ffae[_0x564c97['aid']]['push'](_0x564c97['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0x15689c,_0x968b47,_0x484042){_0x968b47['type']==='trigger'&&(_0x15689c['metadata/trc']=_0x484042['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x3c1409,_0x42338e,_0x15b242,_0x3656e4,_0x356d56){if(_0x42338e['type']==='trigger')_0x3c1409[_0x15b242['aid']+'/output/metadata/l1s']=_0x3656e4['$self']['output']['metadata']['l1s'],_0x3c1409[_0x15b242['aid']+'/output/metadata/l2s']=_0x3656e4['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x42338e['type'])==='hook'&&_0x356d56===0x1)_0x3c1409[_0x15b242['aid']+'/output/metadata/l1s']=_0x3656e4['$self']['output']['metadata']['l1s'],_0x3c1409[_0x15b242['aid']+'/output/metadata/l2s']=_0x3656e4['$self']['output']['metadata']['l1s'];else{if(_0x42338e['type']==='signal'&&_0x356d56===0x1)_0x3c1409[_0x15b242['aid']+'/output/metadata/l1s']=_0x3656e4['$self']['output']['metadata']['l1s'],_0x3c1409[_0x15b242['aid']+'/output/metadata/l2s']=_0x3656e4['$self']['output']['metadata']['l1s'];else{const _0x1c36a9='l'+_0x356d56+'s';_0x3c1409[_0x15b242['aid']+'/output/metadata/'+_0x1c36a9]=_0x3656e4['$self']['output']['metadata'][_0x1c36a9];}}}}}exports['TelemetryService']=TelemetryService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x3e5a(){const _0x3f2bb4=['3105840fQLgXH','54564QFgPnN','1273293TBpDbU','53721gOPfLX','15906520hbhSbk','9UHcKuA','98NPknet','66115beAoVS','270wKACqz','2825348IMPuhw'];_0x3e5a=function(){return _0x3f2bb4;};return _0x3e5a();}(function(_0x1d3b5a,_0x301abf){const _0x16398b=_0x6513,_0x5d66d7=_0x1d3b5a();while(!![]){try{const _0x23ddfa=-parseInt(_0x16398b(0x14a))/0x1+parseInt(_0x16398b(0x145))/0x2*(parseInt(_0x16398b(0x142))/0x3)+-parseInt(_0x16398b(0x148))/0x4+-parseInt(_0x16398b(0x146))/0x5*(parseInt(_0x16398b(0x147))/0x6)+-parseInt(_0x16398b(0x141))/0x7+-parseInt(_0x16398b(0x149))/0x8+parseInt(_0x16398b(0x144))/0x9*(parseInt(_0x16398b(0x143))/0xa);if(_0x23ddfa===_0x301abf)break;else _0x5d66d7['push'](_0x5d66d7['shift']());}catch(_0x57b442){_0x5d66d7['push'](_0x5d66d7['shift']());}}}(_0x3e5a,0x8454e));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');function _0x6513(_0x39bec2,_0x2535a8){const _0x3e5a5e=_0x3e5a();return _0x6513=function(_0x65133a,_0x4ae5ad){_0x65133a=_0x65133a-0x141;let _0x2d81ae=_0x3e5a5e[_0x65133a];return _0x2d81ae;},_0x6513(_0x39bec2,_0x2535a8);}class WorkerService{constructor(){this['reporting']=![];}static async['init'](_0x4b15c1,_0x4e268b,_0x4f2aa6,_0x449879,_0x6f8858){const _0x5b5a66=[];if(Array['isArray'](_0x449879['workers']))for(const _0x325582 of _0x449879['workers']){await factory_1['ConnectorService']['initClients'](_0x325582);const _0x12c208=new WorkerService();_0x12c208['verifyWorkerFields'](_0x325582),_0x12c208['namespace']=_0x4b15c1,_0x12c208['appId']=_0x4e268b,_0x12c208['guid']=_0x4f2aa6,_0x12c208['callback']=_0x325582['callback'],_0x12c208['topic']=_0x325582['topic'],_0x12c208['config']=_0x449879,_0x12c208['logger']=_0x6f8858,await _0x12c208['initStoreChannel'](_0x12c208,_0x325582['store']),await _0x12c208['initSubChannel'](_0x12c208,_0x325582['sub'],_0x325582['pub']),await _0x12c208['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x12c208['subscriptionHandler'](),_0x4e268b),await _0x12c208['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x12c208['subscriptionHandler'](),_0x4e268b,_0x12c208['topic']),await _0x12c208['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x12c208['subscriptionHandler'](),_0x4e268b,_0x12c208['guid']),await _0x12c208['initStreamChannel'](_0x12c208,_0x325582['stream'],_0x325582['store']),_0x12c208['router']=await _0x12c208['initRouter'](_0x325582,_0x6f8858);const _0x117645=_0x12c208['store']['mintKey'](key_1['KeyType']['STREAMS'],{'appId':_0x12c208['appId'],'topic':_0x325582['topic']});await _0x12c208['router']['consumeMessages'](_0x117645,'WORKER',_0x12c208['guid'],_0x325582['callback']),_0x12c208['inited']=(0x0,utils_1['formatISODate'])(new Date()),_0x5b5a66['push'](_0x12c208);}return _0x5b5a66;}['verifyWorkerFields'](_0x1c5d45){if(!(0x0,utils_1['identifyProvider'])(_0x1c5d45['store'])||!(0x0,utils_1['identifyProvider'])(_0x1c5d45['stream'])||!(0x0,utils_1['identifyProvider'])(_0x1c5d45['sub'])||!(_0x1c5d45['topic']&&_0x1c5d45['callback']))throw new Error('worker\x20must\x20include\x20`store`,\x20`stream`,\x20and\x20`sub`\x20fields\x20along\x20with\x20a\x20callback\x20function\x20and\x20topic.');}async['initStoreChannel'](_0x1de461,_0x47205f){_0x1de461['store']=await factory_4['StoreServiceFactory']['init'](_0x47205f,_0x1de461['namespace'],_0x1de461['appId'],_0x1de461['logger']);}async['initSubChannel'](_0x1cf2fe,_0x44b1a1,_0x111474){_0x1cf2fe['subscribe']=await factory_3['SubServiceFactory']['init'](_0x44b1a1,_0x111474,_0x1cf2fe['namespace'],_0x1cf2fe['appId'],_0x1cf2fe['guid'],_0x1cf2fe['logger']);}async['initStreamChannel'](_0x500c8e,_0x32c5a3,_0x1bd7cc){_0x500c8e['stream']=await factory_2['StreamServiceFactory']['init'](_0x32c5a3,_0x1bd7cc,_0x500c8e['namespace'],_0x500c8e['appId'],_0x500c8e['logger']);}async['initRouter'](_0x38192a,_0x56b274){const _0x15bdb6=await this['store']['getThrottleRate'](_0x38192a['topic']);return new router_1['Router']({'namespace':this['namespace'],'appId':this['appId'],'guid':this['guid'],'role':stream_1['StreamRole']['WORKER'],'topic':_0x38192a['topic'],'reclaimDelay':_0x38192a['reclaimDelay'],'reclaimCount':_0x38192a['reclaimCount'],'throttle':_0x15bdb6},this['stream'],_0x56b274);}['subscriptionHandler'](){const _0x5e19af=this;return async(_0x449f3a,_0x1f29fc)=>{_0x5e19af['logger']['debug']('worker-event-received',{'topic':_0x449f3a,'type':_0x1f29fc['type']});if(_0x1f29fc['type']==='throttle')_0x1f29fc['topic']!==null&&_0x5e19af['throttle'](_0x1f29fc['throttle']);else{if(_0x1f29fc['type']==='ping')_0x5e19af['sayPong'](_0x5e19af['appId'],_0x5e19af['guid'],_0x1f29fc['originator'],_0x1f29fc['details']);else _0x1f29fc['type']==='rollcall'&&(_0x1f29fc['topic']!==null&&_0x5e19af['doRollCall'](_0x1f29fc));}};}async['doRollCall'](_0x1dc188){let _0x181b7c=0x0;const _0x2e7e24=!isNaN(_0x1dc188['max'])?_0x1dc188['max']:enums_1['HMSH_QUORUM_ROLLCALL_CYCLES'];if(this['rollCallInterval'])clearTimeout(this['rollCallInterval']);const _0x1fa31c=_0x1dc188['interval']/0x2,_0x42f090=_0x1fa31c+Math['ceil'](Math['random']()*_0x1fa31c);do{await(0x0,utils_1['sleepFor'])(Math['ceil'](Math['random']()*0x3e8)),await this['sayPong'](this['appId'],this['guid'],null,!![],_0x1dc188['signature']);if(!_0x1dc188['interval'])return;const {promise:_0x28e811,timerId:_0x333ffc}=(0x0,utils_1['XSleepFor'])(_0x42f090*0x3e8);this['rollCallInterval']=_0x333ffc,await _0x28e811;}while(this['rollCallInterval']&&_0x181b7c++<_0x2e7e24-0x1);}['cancelRollCall'](){this['rollCallInterval']&&(clearTimeout(this['rollCallInterval']),delete this['rollCallInterval']);}['stop'](){this['cancelRollCall']();}async['sayPong'](_0x335e93,_0x2c0d41,_0x2ac8ce,_0x3558c1=![],_0x1a3bd1=![]){let _0x4502c3;if(_0x3558c1){const _0x18598a={'appId':this['appId'],'topic':this['topic']};_0x4502c3={'engine_id':this['guid'],'namespace':this['namespace'],'app_id':this['appId'],'worker_topic':this['topic'],'stream':this['store']['mintKey'](key_1['KeyType']['STREAMS'],_0x18598a),'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':_0x1a3bd1?this['callback']['toString']():undefined};}this['subscribe']['publish'](key_1['KeyType']['QUORUM'],{'type':'pong','guid':_0x2c0d41,'originator':_0x2ac8ce,'profile':_0x4502c3},_0x335e93);}async['throttle'](_0x5ecc4b){this['router']?.['setThrottle'](_0x5ecc4b);}}exports['WorkerService']=WorkerService;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProviderConfig } from './provider';
|
|
1
|
+
import { ProviderConfig, ProvidersConfig } from './provider';
|
|
2
2
|
import { LogLevel } from './logger';
|
|
3
3
|
interface MeshCallExecOptions {
|
|
4
4
|
id: string;
|
|
@@ -11,7 +11,7 @@ interface MeshCallConnectParams {
|
|
|
11
11
|
namespace?: string;
|
|
12
12
|
topic: string;
|
|
13
13
|
redis?: ProviderConfig;
|
|
14
|
-
connection?: ProviderConfig;
|
|
14
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
15
15
|
callback?: (...args: any[]) => any;
|
|
16
16
|
}
|
|
17
17
|
interface MeshCallExecParams {
|
|
@@ -19,7 +19,7 @@ interface MeshCallExecParams {
|
|
|
19
19
|
topic: string;
|
|
20
20
|
args: any[];
|
|
21
21
|
redis?: ProviderConfig;
|
|
22
|
-
connection?: ProviderConfig;
|
|
22
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
23
23
|
options?: MeshCallExecOptions;
|
|
24
24
|
}
|
|
25
25
|
interface MeshCallFlushOptions {
|
|
@@ -30,7 +30,7 @@ interface MeshCallFlushParams {
|
|
|
30
30
|
id?: string;
|
|
31
31
|
topic: string;
|
|
32
32
|
redis?: ProviderConfig;
|
|
33
|
-
connection?: ProviderConfig;
|
|
33
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
34
34
|
options?: MeshCallFlushOptions;
|
|
35
35
|
}
|
|
36
36
|
interface MeshCallCronOptions {
|
|
@@ -48,7 +48,7 @@ interface MeshCallCronParams {
|
|
|
48
48
|
namespace?: string;
|
|
49
49
|
topic: string;
|
|
50
50
|
redis?: ProviderConfig;
|
|
51
|
-
connection?: ProviderConfig;
|
|
51
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
52
52
|
args: any[];
|
|
53
53
|
callback?: (...args: any[]) => any;
|
|
54
54
|
options: MeshCallCronOptions;
|
|
@@ -61,7 +61,7 @@ interface MeshCallInterruptParams {
|
|
|
61
61
|
namespace?: string;
|
|
62
62
|
topic: string;
|
|
63
63
|
redis?: ProviderConfig;
|
|
64
|
-
connection?: ProviderConfig;
|
|
64
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
65
65
|
options: MeshCallInterruptOptions;
|
|
66
66
|
}
|
|
67
67
|
export { MeshCallConnectParams, MeshCallExecParams, MeshCallCronParams, MeshCallExecOptions, MeshCallCronOptions, MeshCallInterruptOptions, MeshCallInterruptParams, MeshCallFlushOptions, MeshCallFlushParams, MeshCallInstanceOptions, };
|