@hotmeshio/hotmesh 0.3.29 → 0.3.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/build/index.d.ts +8 -2
  2. package/build/index.js +13 -7
  3. package/build/modules/enums.d.ts +65 -1
  4. package/build/modules/enums.js +79 -5
  5. package/build/modules/key.d.ts +52 -0
  6. package/build/modules/key.js +1 -1
  7. package/build/modules/utils.d.ts +73 -0
  8. package/build/modules/utils.js +1 -1
  9. package/build/package.json +6 -4
  10. package/build/services/activities/activity.d.ts +36 -0
  11. package/build/services/activities/activity.js +1 -1
  12. package/build/services/activities/await.js +1 -1
  13. package/build/services/activities/cycle.d.ts +7 -0
  14. package/build/services/activities/cycle.js +1 -1
  15. package/build/services/activities/hook.d.ts +6 -0
  16. package/build/services/activities/hook.js +1 -1
  17. package/build/services/activities/index.js +1 -1
  18. package/build/services/activities/interrupt.js +1 -1
  19. package/build/services/activities/signal.d.ts +6 -0
  20. package/build/services/activities/signal.js +1 -1
  21. package/build/services/activities/trigger.d.ts +7 -0
  22. package/build/services/activities/trigger.js +1 -1
  23. package/build/services/activities/worker.js +1 -1
  24. package/build/services/collator/index.d.ts +76 -0
  25. package/build/services/collator/index.js +1 -1
  26. package/build/services/compiler/deployer.js +1 -1
  27. package/build/services/compiler/index.d.ts +15 -0
  28. package/build/services/compiler/index.js +1 -1
  29. package/build/services/compiler/validator.d.ts +3 -0
  30. package/build/services/compiler/validator.js +1 -1
  31. package/build/services/connector/factory.d.ts +14 -0
  32. package/build/services/connector/factory.js +22 -2
  33. package/build/services/connector/index.d.ts +13 -1
  34. package/build/services/connector/index.js +13 -1
  35. package/build/services/connector/providers/postgres.js +7 -0
  36. package/build/services/engine/index.d.ts +162 -0
  37. package/build/services/engine/index.js +1 -1
  38. package/build/services/exporter/index.d.ts +27 -0
  39. package/build/services/exporter/index.js +1 -1
  40. package/build/services/hotmesh/index.d.ts +280 -0
  41. package/build/services/hotmesh/index.js +286 -0
  42. package/build/services/logger/index.js +1 -0
  43. package/build/services/mapper/index.d.ts +14 -0
  44. package/build/services/mapper/index.js +1 -1
  45. package/build/services/meshcall/index.d.ts +171 -0
  46. package/build/services/meshcall/index.js +190 -0
  47. package/build/services/meshcall/schemas/factory.d.ts +7 -0
  48. package/build/services/meshcall/schemas/factory.js +7 -0
  49. package/build/services/meshdata/index.d.ts +725 -3
  50. package/build/services/meshdata/index.js +689 -3
  51. package/build/services/meshflow/client.d.ts +89 -0
  52. package/build/services/meshflow/client.js +173 -4
  53. package/build/services/meshflow/connection.d.ts +17 -0
  54. package/build/services/meshflow/connection.js +17 -0
  55. package/build/services/meshflow/exporter.d.ts +22 -0
  56. package/build/services/meshflow/exporter.js +1 -1
  57. package/build/services/meshflow/handle.d.ts +68 -0
  58. package/build/services/meshflow/handle.js +75 -0
  59. package/build/services/meshflow/index.d.ts +92 -0
  60. package/build/services/meshflow/index.js +92 -0
  61. package/build/services/meshflow/schemas/factory.d.ts +25 -0
  62. package/build/services/meshflow/schemas/factory.js +26 -1
  63. package/build/services/meshflow/search.d.ts +120 -0
  64. package/build/services/meshflow/search.js +108 -0
  65. package/build/services/meshflow/worker.d.ts +97 -0
  66. package/build/services/meshflow/worker.js +116 -2
  67. package/build/services/meshflow/workflow/all.d.ts +6 -0
  68. package/build/services/meshflow/workflow/all.js +7 -0
  69. package/build/services/meshflow/workflow/context.d.ts +4 -0
  70. package/build/services/meshflow/workflow/context.js +4 -0
  71. package/build/services/meshflow/workflow/didRun.d.ts +6 -0
  72. package/build/services/meshflow/workflow/didRun.js +6 -0
  73. package/build/services/meshflow/workflow/emit.d.ts +7 -0
  74. package/build/services/meshflow/workflow/emit.js +7 -0
  75. package/build/services/meshflow/workflow/enrich.d.ts +7 -0
  76. package/build/services/meshflow/workflow/enrich.js +7 -0
  77. package/build/services/meshflow/workflow/execChild.d.ts +14 -0
  78. package/build/services/meshflow/workflow/execChild.js +18 -0
  79. package/build/services/meshflow/workflow/hook.d.ts +7 -0
  80. package/build/services/meshflow/workflow/hook.js +7 -0
  81. package/build/services/meshflow/workflow/index.d.ts +31 -0
  82. package/build/services/meshflow/workflow/index.js +31 -0
  83. package/build/services/meshflow/workflow/interrupt.d.ts +7 -0
  84. package/build/services/meshflow/workflow/interrupt.js +7 -0
  85. package/build/services/meshflow/workflow/isSideEffectAllowed.d.ts +8 -0
  86. package/build/services/meshflow/workflow/isSideEffectAllowed.js +8 -0
  87. package/build/services/meshflow/workflow/proxyActivities.d.ts +14 -0
  88. package/build/services/meshflow/workflow/proxyActivities.js +18 -3
  89. package/build/services/meshflow/workflow/random.d.ts +5 -0
  90. package/build/services/meshflow/workflow/random.js +5 -0
  91. package/build/services/meshflow/workflow/searchMethods.d.ts +4 -0
  92. package/build/services/meshflow/workflow/searchMethods.js +4 -0
  93. package/build/services/meshflow/workflow/signal.d.ts +6 -0
  94. package/build/services/meshflow/workflow/signal.js +6 -0
  95. package/build/services/meshflow/workflow/sleepFor.d.ts +7 -0
  96. package/build/services/meshflow/workflow/sleepFor.js +7 -0
  97. package/build/services/meshflow/workflow/trace.d.ts +10 -0
  98. package/build/services/meshflow/workflow/trace.js +10 -0
  99. package/build/services/meshflow/workflow/waitFor.d.ts +7 -0
  100. package/build/services/meshflow/workflow/waitFor.js +7 -0
  101. package/build/services/meshos/index.d.ts +213 -2
  102. package/build/services/meshos/index.js +221 -1
  103. package/build/services/pipe/functions/array.js +1 -1
  104. package/build/services/pipe/functions/bitwise.js +1 -1
  105. package/build/services/pipe/functions/conditional.js +1 -1
  106. package/build/services/pipe/functions/cron.d.ts +6 -0
  107. package/build/services/pipe/functions/cron.js +1 -1
  108. package/build/services/pipe/functions/date.d.ts +7 -0
  109. package/build/services/pipe/functions/date.js +1 -1
  110. package/build/services/pipe/functions/index.js +1 -1
  111. package/build/services/pipe/functions/json.js +1 -1
  112. package/build/services/pipe/functions/logical.js +1 -1
  113. package/build/services/pipe/functions/math.js +1 -1
  114. package/build/services/pipe/functions/number.js +1 -1
  115. package/build/services/pipe/functions/object.js +1 -1
  116. package/build/services/pipe/functions/string.js +1 -1
  117. package/build/services/pipe/functions/symbol.js +1 -1
  118. package/build/services/pipe/functions/unary.js +1 -1
  119. package/build/services/pipe/index.d.ts +15 -0
  120. package/build/services/pipe/index.js +1 -1
  121. package/build/services/quorum/index.d.ts +49 -0
  122. package/build/services/quorum/index.js +1 -1
  123. package/build/services/reporter/index.d.ts +5 -0
  124. package/build/services/reporter/index.js +1 -1
  125. package/build/services/router/index.d.ts +10 -0
  126. package/build/services/router/index.js +1 -1
  127. package/build/services/search/providers/postgres/postgres.d.ts +3 -0
  128. package/build/services/search/providers/postgres/postgres.js +1 -1
  129. package/build/services/search/providers/redis/ioredis.js +1 -1
  130. package/build/services/search/providers/redis/redis.js +1 -1
  131. package/build/services/serializer/index.js +1 -1
  132. package/build/services/store/cache.d.ts +19 -0
  133. package/build/services/store/cache.js +19 -0
  134. package/build/services/store/factory.js +1 -1
  135. package/build/services/store/providers/postgres/kvsql.d.ts +7 -0
  136. package/build/services/store/providers/postgres/kvsql.js +1 -1
  137. package/build/services/store/providers/postgres/kvtables.d.ts +4 -0
  138. package/build/services/store/providers/postgres/kvtables.js +1 -1
  139. package/build/services/store/providers/postgres/kvtransaction.js +1 -1
  140. package/build/services/store/providers/postgres/kvtypes/hash.d.ts +4 -0
  141. package/build/services/store/providers/postgres/kvtypes/hash.js +1 -1
  142. package/build/services/store/providers/postgres/kvtypes/list.js +1 -1
  143. package/build/services/store/providers/postgres/kvtypes/string.js +1 -1
  144. package/build/services/store/providers/postgres/kvtypes/zset.js +1 -1
  145. package/build/services/store/providers/postgres/postgres.d.ts +48 -1
  146. package/build/services/store/providers/postgres/postgres.js +1 -1
  147. package/build/services/store/providers/redis/_base.d.ts +42 -0
  148. package/build/services/store/providers/redis/_base.js +1 -1
  149. package/build/services/store/providers/redis/ioredis.d.ts +8 -0
  150. package/build/services/store/providers/redis/ioredis.js +1 -1
  151. package/build/services/store/providers/redis/redis.d.ts +6 -0
  152. package/build/services/store/providers/redis/redis.js +1 -1
  153. package/build/services/store/providers/store-initializable.js +1 -1
  154. package/build/services/stream/factory.js +2 -1
  155. package/build/services/stream/index.d.ts +4 -0
  156. package/build/services/stream/providers/nats/nats.js +1 -1
  157. package/build/services/stream/providers/postgres/kvtables.js +1 -1
  158. package/build/services/stream/providers/postgres/postgres.d.ts +21 -0
  159. package/build/services/stream/providers/postgres/postgres.js +1 -1
  160. package/build/services/stream/providers/redis/ioredis.js +1 -1
  161. package/build/services/stream/providers/redis/redis.js +1 -1
  162. package/build/services/stream/providers/stream-initializable.js +1 -1
  163. package/build/services/sub/providers/nats/nats.js +1 -1
  164. package/build/services/sub/providers/postgres/postgres.js +1 -1
  165. package/build/services/sub/providers/redis/ioredis.js +1 -1
  166. package/build/services/sub/providers/redis/redis.js +1 -1
  167. package/build/services/task/index.d.ts +9 -0
  168. package/build/services/task/index.js +1 -1
  169. package/build/services/telemetry/index.d.ts +7 -0
  170. package/build/services/telemetry/index.js +1 -1
  171. package/build/services/worker/index.d.ts +37 -0
  172. package/build/services/worker/index.js +1 -1
  173. package/build/types/activity.d.ts +81 -0
  174. package/build/types/exporter.d.ts +13 -0
  175. package/build/types/hotmesh.d.ts +144 -0
  176. package/build/types/hotmesh.js +3 -0
  177. package/build/types/job.d.ts +101 -0
  178. package/build/types/manifest.d.ts +8 -0
  179. package/build/types/meshcall.d.ts +148 -0
  180. package/build/types/meshdata.d.ts +193 -0
  181. package/build/types/meshflow.d.ts +297 -0
  182. package/build/types/nats.d.ts +55 -0
  183. package/build/types/pipe.d.ts +65 -0
  184. package/build/types/provider.d.ts +43 -0
  185. package/build/types/quorum.d.ts +12 -0
  186. package/build/types/redis.d.ts +6 -0
  187. package/build/types/stream.d.ts +65 -0
  188. package/build/types/stream.js +4 -0
  189. package/index.ts +8 -1
  190. package/package.json +6 -4
  191. package/types/manifest.ts +2 -2
  192. package/types/meshcall.ts +1 -2
  193. package/types/meshdata.ts +1 -1
@@ -1 +1 @@
1
- 'use strict';function a(){const aX=['transact','../../../../modules/errors','Job\x20','JOB_STATS_GENERAL','KVTables','reserveSymbolRange','expire','HOOKS','package','suppressed-interrupt','KeyService','\x20already\x20completed','includes','getSymKey','scrub','3030306MgBLaj','metadata/err','getHookSignal','split','lpop','25630yMFdrT','findJobFields','lrange','message','KEYS','cache','JOB_STATE','19556288dOIRvp','SCHEMAS','map','SLOTS','stringify','debug','Cache','appId','getSubscription','findJobs','SIGNALS','resetSymbols','11574766knPZCJ','resolveTaskKeyContext','seedActivitySymbols','settings\x20not\x20found','mintKey','TIME_RANGE',':cursor','median','deleteProcessedTaskQueue',']\x20interrupted','versions/','suppress','hGetAllResult','rpush','../../../../modules/key','getDependencies','reserveScoutRole','APP','_attributes\x20a\x0a\x20\x20\x20\x20\x20\x20JOIN\x20valid_job\x20j\x20ON\x20a.job_id\x20=\x20j.id\x0a\x20\x20\x20\x20\x20\x20WHERE\x20','\x20not\x20found','getThrottleRates','setStatus','seedJobSymbols','toString','getAllSymbols','pgClient','version','getSchemas','throw','MAX_DELAY','registerTimeHook','SerializerService','HMSH_SCOUT_INTERVAL_SECONDS','/output/metadata/as','getSettings','__setModuleDefault','hincrbyfloat','setHookSignal','serializer','1292286QNOmLO','value','configurable','storeClient','all','formatISODate','585525doOWfC','exec','a.field\x20LIKE\x20$','SUBSCRIPTIONS','zRangeByScore','forEach','?:?','212cqrwWa','jmark','setnxex','setSubscriptions','zAdd','kvTables','a.type\x20=\x20$','expire-child','call','getSubscriptions','Version\x20','../../../../modules/enums','getState','WORK_ITEMS','VALSEP','defineProperty','10849548zlGvLs','setSymbolValues','\x0a\x20\x20\x20\x20','JOB','zrangebyscore','PostgresStoreService','setSymbols','active','SYMVALS','TYPSEP','zadd','default','deleteHookSignal','shift','topic','prototype','unpackage','activated:','hset','setHookRules','getApp','then','index','toPrecision','collateSynthetic','GetStateError','removeWorkItem','getJobStats','THROTTLE_RATE','setThrottleRate','EXPIRE','del','\x20OFFSET\x20$','parse','getOwnPropertyDescriptor','hmget','getTransitions','getSchema','setApp','JOB_STATS_INDEX','getSymbolKeys','deploy','HMNS','getRaw','push','delist','../../../serializer','getApps','interrupt','KVSQL','JOB_STATS_MEDIAN','job\x20[','SYMKEYS','getNextTask','set','addTaskQueues','\x0a\x20\x20\x20\x20\x20\x20SELECT\x20id\x0a\x20\x20\x20\x20\x20\x20FROM\x20','keys','SUBSCRIPTION_PATTERNS','hget','addSymbols','HMSH_SIGNAL_EXPIRE','isSuccessful','\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20a.field,\x20a.value\x0a\x20\x20\x20\x20\x20\x20FROM\x20','guid','getSymbolValues','KeyType','get','field','setStats','HMSH_CODE_INTERRUPT','hgetall','length','abbreviate','hash','init','\x20does\x20not\x20exist\x20for\x20app\x20','join','setTransitions','setStateNX','slice','logger','tableForKey','getHookRules','zrange','getStatus','entries','sort','zrem','setSchemas','getJobIds','child','getActiveTaskQueue','hsetnx','__esModule','namespace','MDATA_SYMBOLS','startsWith','isArray','rows','getSymbols','code','LEFT','min','HOTMESH','releaseScoutRole','invalidate','general','deleteSymbolValues','kvsql','max','metadata/js'];a=function(){return aX;};return a();}const B=b;(function(c,d){const z=b,e=c();while(!![]){try{const f=parseInt(z(0xa9))/0x1+parseInt(z(0xa3))/0x2+-parseInt(z(0x13f))/0x3+parseInt(z(0xb0))/0x4*(-parseInt(z(0x144))/0x5)+parseInt(z(0xc0))/0x6+parseInt(z(0x7c))/0x7+-parseInt(z(0x14b))/0x8;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xec1ec));var __createBinding=this&&this['__createBinding']||(Object['create']?function(c,d,e,f){const A=b;if(f===undefined)f=e;var g=Object[A(0xe2)](d,e);(!g||(A(0x103)in g?!d[A(0x11e)]:g['writable']||g[A(0xa5)]))&&(g={'enumerable':!![],'get':function(){return d[e];}}),Object[A(0xbf)](c,f,g);}:function(c,d,e,f){if(f===undefined)f=e;c[f]=d[e];}),__setModuleDefault=this&&this[B(0x9f)]||(Object['create']?function(c,d){const C=B;Object[C(0xbf)](c,C(0xcb),{'enumerable':!![],'value':d});}:function(c,d){const D=B;c[D(0xcb)]=d;}),__importStar=this&&this['__importStar']||function(c){const E=B;if(c&&c[E(0x11e)])return c;var d={};if(c!=null){for(var e in c)if(e!==E(0xcb)&&Object[E(0xcf)]['hasOwnProperty'][E(0xb8)](c,e))__createBinding(d,c,e);}return __setModuleDefault(d,c),d;};function b(c,d){const e=a();return b=function(f,g){f=f-0x78;let h=e[f];return h;},b(c,d);}Object['defineProperty'](exports,B(0x11e),{'value':!![]}),exports[B(0xc5)]=void 0x0;const errors_1=require(B(0x131)),key_1=require(B(0x8a)),serializer_1=require(B(0xee)),utils_1=require('../../../../modules/utils'),enums_1=require(B(0xbb)),cache_1=require('../../cache'),__1=require('../..'),kvsql_1=require('./kvsql'),kvtables_1=require('./kvtables');class PostgresStoreService extends __1['StoreService']{[B(0x130)](){const F=B;return this['storeClient'][F(0x130)]();}constructor(c){const G=B;super(c),this[G(0x95)]=c,this[G(0xa6)]=new kvsql_1[(G(0xf1))](c,this[G(0x11f)],this[G(0x152)]),this[G(0xb5)]=(0x0,kvtables_1[G(0x134)])(this);}async[B(0x10b)](c=key_1['HMNS'],d,e){const H=B;this[H(0xa6)][H(0x11f)]=this['namespace']=c,this[H(0xa6)][H(0x152)]=this[H(0x152)]=d,this[H(0x111)]=e,await this[H(0xb5)][H(0xe9)](d);const f=await this[H(0x9e)](!![]);return this[H(0x149)]=new cache_1[(H(0x151))](d,f),this[H(0xa2)]=new serializer_1[(H(0x9b))](),await this[H(0xd4)](d),this[H(0x149)][H(0xef)]();}[B(0xfe)](c){return c>0x0||c==='OK'||c===!![];}async['delistSignalKey'](c,d){const I=B;await this[I(0x12d)]()[I(0xdf)](c+':'+d);}async[B(0xb4)](c,d,e,f){const J=B;return await this[J(0x12d)](f)[J(0xca)](c,Number(d),e[J(0x93)]());}async['zRangeByScore'](c,d,e){const K=B,f=await this[K(0x12d)]()[K(0xc4)](c,Number(d),Number(e));if(f?.[K(0x108)]>0x0)return f[0x0];return null;}[B(0x80)](c,d){const L=B;if(!this[L(0x11f)])throw new Error('namespace\x20not\x20set');return key_1[L(0x13a)][L(0x80)](this['namespace'],c,d);}[B(0x12d)](c){const M=B;return c||this[M(0xa6)];}['invalidateCache'](){const N=B;this[N(0x149)][N(0x12a)]();}async[B(0x8c)](c,d=enums_1[B(0x9c)]){const O=B,e=this[O(0x80)](key_1[O(0x102)][O(0xbd)],{'appId':this[O(0x152)],'scoutType':c}),f=await this[O(0x12d)]()[O(0xf6)](e,c+':'+(0x0,utils_1[O(0xa8)])(new Date()),{'nx':!![],'ex':d-0x1});return this[O(0xfe)](f);}async[B(0x129)](c){const P=B,d=this[P(0x80)](key_1[P(0x102)][P(0xbd)],{'appId':this[P(0x152)],'scoutType':c}),e=await this[P(0x12d)]()[P(0xdf)](d);return this[P(0xfe)](e);}async[B(0x9e)](c=![]){const Q=B;let d=this['cache']?.['getSettings']();if(d)return d;else{if(c){const e=await Promise['resolve']()[Q(0xd5)](()=>__importStar(require('../../../../package.json'))),f=e[Q(0x96)]||'0.0.0';return d={'namespace':key_1[Q(0xea)],'version':f},await this['setSettings'](d),d;}}throw new Error(Q(0x7f));}async['setSettings'](c){const R=B,d={},e=this['mintKey'](key_1[R(0x102)][R(0x128)],d);return await this[R(0x12d)]()[R(0xd2)](e,c);}async[B(0x135)](c,d,e,f=0x1){const S=B,g=this[S(0x80)](key_1[S(0x102)][S(0xf4)],{'appId':this[S(0x152)]}),h=this[S(0x80)](key_1['KeyType']['SYMKEYS'],{'activityId':c,'appId':this[S(0x152)]}),i=await this[S(0x12d)]()['hsetnx'](g,c,S(0xaf));if(i){const j=await this['kvsql']()[S(0xa0)](g,S(0x82),d),k=j-d,l=k+':'+(j-0x1);await this[S(0x12d)]()[S(0xd2)](g,{[c]:l});const m=this['seedSymbols'](c,e,k);return await this[S(0x12d)]()['hset'](h,m),[k+serializer_1[S(0x120)][S(0x14e)],j-0x1,{}];}else{const n=await this[S(0x12d)]()[S(0xfb)](g,c),[o]=n[S(0x142)](':');if(o==='?'){await(0x0,utils_1['sleepFor'])(f*0x3e8);if(f<0x5)return this[S(0x135)](c,d,e,f+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const p=parseInt(o,0xa),q=await this[S(0x12d)]()[S(0x107)](h),r=Object[S(0xf9)](q)[S(0x108)],s=p+serializer_1[S(0x120)][S(0x14e)]+r,t=Number(p+d-0x1);return[s,t,q];}}}async[B(0x94)](){const T=B,c=this[T(0x80)](key_1['KeyType']['SYMKEYS'],{'appId':this[T(0x152)]}),d=await this[T(0x12d)]()[T(0x107)](c),e=Object[T(0xf9)](d)[T(0x117)]();delete e[T(0x82)];const f=this['kvsql'](this['transact']());for(const i of e){const j=this[T(0x80)](key_1[T(0x102)][T(0xf4)],{'activityId':i,'appId':this[T(0x152)]});f[T(0x107)](j);}const g=await f[T(0xaa)](),h={};return g['forEach']((k,l)=>{const U=T;if(k){let m;Array[U(0x122)](k)&&k[U(0x108)]===0x2?m=k[0x1]:m=k;for(const [n,o]of Object[U(0x116)](m)){h[o]=n['startsWith'](e[l])?n:e[l]+'/'+n;}}}),h;}async[B(0x124)](c){const V=B;let d=this['cache'][V(0x124)](this[V(0x152)],c);if(d)return d;else{const e={'activityId':c,'appId':this[V(0x152)]},f=this[V(0x80)](key_1[V(0x102)][V(0xf4)],e);return d=await this[V(0x12d)]()[V(0x107)](f),this['cache'][V(0xc6)](this[V(0x152)],c,d),d;}}async[B(0xfc)](c,d){const W=B;if(!d||!Object['keys'](d)['length'])return![];const e={'activityId':c,'appId':this[W(0x152)]},f=this['mintKey'](key_1['KeyType'][W(0xf4)],e),g=await this[W(0x12d)]()[W(0xd2)](f,d);return this['cache']['deleteSymbols'](this['appId'],c),g>0x0;}['seedSymbols'](c,d,e){const X=B;if(d===X(0xc3))return this[X(0x92)](e);return this[X(0x7e)](e,c);}[B(0x92)](c){const Y=B,d={};return serializer_1[Y(0x120)][Y(0xc3)][Y(0x148)][Y(0xae)](e=>{const Z=Y;d['metadata/'+e]=(0x0,utils_1[Z(0x13d)])(c),c++;}),d;}[B(0x7e)](c,d){const a0=B,e={};return serializer_1[a0(0x120)]['ACTIVITY'][a0(0x148)][a0(0xae)](f=>{const a1=a0;e[d+'/output/metadata/'+f]=(0x0,utils_1[a1(0x13d)])(c),c++;}),e;}async[B(0x101)](){const a2=B;let c=this[a2(0x149)]['getSymbolValues'](this['appId']);if(c)return c;else{const d=this['mintKey'](key_1['KeyType'][a2(0xc8)],{'appId':this[a2(0x152)]});return c=await this[a2(0x12d)]()[a2(0x107)](d),this[a2(0x149)][a2(0xc1)](this[a2(0x152)],c),c;}}async['addSymbolValues'](c){const a3=B;if(!c||!Object['keys'](c)[a3(0x108)])return![];const d=this[a3(0x80)](key_1[a3(0x102)]['SYMVALS'],{'appId':this['appId']}),e=await this[a3(0x12d)]()['hset'](d,c);return this[a3(0x149)][a3(0x12c)](this[a3(0x152)]),this['isSuccessful'](e);}async[B(0xe8)](c){const a4=B,d=[];for(const g of c){d['push'](this['getSymbols'](g));}const e=await Promise[a4(0xa7)](d),f={};for(const h of c){f[h]=e[a4(0xcd)]();}return f;}async[B(0xd4)](c,d=![]){const a5=B;let f=this[a5(0x149)][a5(0xd4)](c);if(d||!(f&&Object[a5(0xf9)](f)['length']>0x0)){const g={'appId':c},h=this[a5(0x80)](key_1[a5(0x102)]['APP'],g),i=await this[a5(0x12d)]()[a5(0x107)](h);if(!i)return null;f={};for(const j in i){try{j===a5(0xc7)?f[j]=i[j]==='true':f[j]=i[j];}catch(k){f[j]=i[j];}}this[a5(0x149)]['setApp'](c,f);}return f;}async[B(0xe6)](c,d){const a6=B,e={'appId':c},f=this[a6(0x80)](key_1[a6(0x102)][a6(0x8d)],e),g='versions/'+d,h={'id':c,'version':d,[g]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this[a6(0x12d)]()[a6(0xd2)](f,h),this[a6(0x149)][a6(0xe6)](c,h),h;}async['activateAppVersion'](c,d){const a7=B,e={'appId':c},f=this[a7(0x80)](key_1[a7(0x102)][a7(0x8d)],e),g='versions/'+d,h=await this[a7(0xd4)](c,!![]);if(h&&h[g]){const i={'id':c,'version':d['toString'](),[g]:a7(0xd1)+(0x0,utils_1[a7(0xa8)])(new Date()),'active':!![]};return Object['entries'](i)[a7(0xae)](([j,k])=>{const a8=a7;i[j]=k[a8(0x93)]();}),await this[a7(0x12d)]()[a7(0xd2)](f,i),!![];}throw new Error(a7(0xba)+d+a7(0x10c)+c);}async['registerAppVersion'](c,d){const a9=B,e={'appId':c},f=this[a9(0x80)](key_1[a9(0x102)][a9(0x8d)],e),g={'id':c,'version':d[a9(0x93)](),[a9(0x86)+d]:(0x0,utils_1[a9(0xa8)])(new Date())};return await this[a9(0x12d)]()[a9(0xd2)](f,g);}async[B(0x105)](c,d,e,f,g,h){const aa=B,i={'appId':g['id'],'jobId':d,'jobKey':c,'dateTime':e},j=h||this[aa(0x130)]();if(f['general'][aa(0x108)]){const k=this[aa(0x80)](key_1['KeyType'][aa(0x133)],i);for(const {target:l,value:m}of f[aa(0x12b)]){this['kvsql'](j)[aa(0xa0)](k,l,m);}}for(const {target:n,value:o}of f[aa(0xd6)]){const p={...i,'facet':n},q=this['mintKey'](key_1['KeyType'][aa(0xe7)],p);this[aa(0x12d)](j)[aa(0x89)](q,o[aa(0x93)]());}for(const {target:r,value:s}of f[aa(0x83)]){const t={...i,'facet':r},u=this[aa(0x80)](key_1[aa(0x102)][aa(0xf2)],t);await this['kvsql'](j)['zadd'](u,Number(s),r);}if(!h)return await j[aa(0xaa)]();}[B(0x88)](c){return c;}async[B(0xdb)](c){const ab=B,d=this[ab(0x12d)](this['transact']());for(const g of c){d[ab(0x107)](g);}const e=await d[ab(0xaa)](),f={};for(const [h,i]of e[ab(0x116)]()){const j=c[h],k=i;if(k&&Object[ab(0xf9)](k)[ab(0x108)]>0x0){const l={...k};for(const [m,n]of Object[ab(0x116)](l)){l[m]=Number(n);}f[j]=l;}else f[j]={};}return f;}async[B(0x11a)](c,d){const ac=B,e=this[ac(0x12d)](this[ac(0x130)]());for(const h of c){e[ac(0x146)](h,d[0x0],d[0x1]);}const f=await e[ac(0xaa)](),g={};for(const [i,j]of f['entries']()){const k=c[i],l=j[0x1]||j;l&&l['length']>0x0?g[k]=l:g[k]=[];}return g;}async[B(0x91)](c,d,e,f){const ad=B,g=this[ad(0x80)](key_1[ad(0x102)][ad(0x14a)],{'appId':e,'jobId':d});return await this[ad(0x12d)](f)[ad(0xa0)](g,':',c);}async[B(0x115)](c,d){const ae=B,e=this[ae(0x80)](key_1[ae(0x102)][ae(0x14a)],{'appId':d,'jobId':c}),f=await this[ae(0x12d)]()[ae(0xfb)](e,':');if(f===null)throw new Error('Job\x20'+c+ae(0x8f));return Number(f);}async['setState']({...c},d,e,f,g,h){const af=B;delete c['metadata/js'];const i=this[af(0x80)](key_1[af(0x102)][af(0x14a)],{'appId':this[af(0x152)],'jobId':e}),j=await this[af(0xe8)](f),k=await this[af(0x101)]();this['serializer'][af(0x7b)](j,k,g);const l=this[af(0xa2)][af(0x138)](c,f);return d!==null?l[':']=d['toString']():delete l[':'],await this['kvsql'](h)[af(0xd2)](i,l),e;}async['getQueryState'](c,d){const ag=B,e=this[ag(0x80)](key_1[ag(0x102)][ag(0x14a)],{'appId':this[ag(0x152)],'jobId':c}),f=d[ag(0x14d)](i=>{const ah=ag;if(i[ah(0x121)]('\x22'))return i[ah(0x110)](0x1,-0x1);return'_'+i;}),g=await this['kvsql']()[ag(0xe3)](e,f),h={};return d[ag(0xae)]((i,j)=>{const ai=ag;i[ai(0x121)]('\x22')&&(i=i['slice'](0x1,-0x1)),h[i]=g[j];}),h;}async[B(0xbc)](c,d,e){const aj=B,f=this[aj(0x80)](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':c}),g=Object[aj(0xf9)](d),h=await this[aj(0xe8)](g);this[aj(0xa2)][aj(0x7b)](h,{},e);const i=this[aj(0xa2)][aj(0x109)](d,g,[':']),j=await this[aj(0x12d)]()[aj(0xe3)](f,i),k={};let l=![];i[aj(0xae)]((m,n)=>{j[n]&&(l=!![]),k[m]=j[n];});if(l){const m=await this[aj(0x101)]();this[aj(0xa2)][aj(0x7b)](h,m,e);const n=this['serializer'][aj(0xd0)](k,g);let o=0x0;return n[':']&&(o=Number(n[':']),n[aj(0x12f)]=o,delete n[':']),[n,o];}else throw new errors_1['GetStateError'](c);}async[B(0xeb)](c){const ak=B,d=this['mintKey'](key_1['KeyType'][ak(0x14a)],{'appId':this[ak(0x152)],'jobId':c}),e=await this[ak(0x12d)]()[ak(0x107)](d);if(!e)throw new errors_1[(ak(0xd9))](c);return e;}async['collate'](c,d,e,f,g){const al=B,h=this[al(0x80)](key_1['KeyType'][al(0x14a)],{'appId':this[al(0x152)],'jobId':c}),i=d+al(0x9d),j=[d],k=await this[al(0xe8)](j),l=await this[al(0x101)]();this['serializer'][al(0x7b)](k,l,f);const m={[i]:e[al(0x93)]()},n=this[al(0xa2)]['package'](m,j),o=Object[al(0xf9)](n)[0x0];return await this[al(0x12d)](g)['hincrbyfloat'](h,o,e);}async[B(0xd8)](c,d,e,f){const am=B,g=this[am(0x80)](key_1['KeyType'][am(0x14a)],{'appId':this['appId'],'jobId':c});return await this[am(0x12d)](f)[am(0xa0)](g,d,e);}async[B(0x10f)](c,d,e){const an=B,f=this[an(0x80)](key_1[an(0x102)][an(0x14a)],{'appId':d,'jobId':c}),g=await this[an(0x12d)]()[an(0x11d)](f,':',e?.['toString']()??'1');return this[an(0xfe)](g);}async[B(0xe5)](c,d){const ao=B,e=this[ao(0x149)]['getSchema'](d['id'],d[ao(0x96)],c);if(e)return e;else{const f=await this[ao(0x97)](d);return f[c];}}async[B(0x97)](c){const ap=B;let d=this[ap(0x149)][ap(0x97)](c['id'],c['version']);if(d&&Object['keys'](d)[ap(0x108)]>0x0)return d;else{const e={'appId':c['id'],'appVersion':c[ap(0x96)]},f=this['mintKey'](key_1['KeyType'][ap(0x14c)],e);d={};const g=await this[ap(0x12d)]()[ap(0x107)](f);return Object[ap(0x116)](g)[ap(0xae)](([h,i])=>{const aq=ap;d[h]=JSON[aq(0xe1)](i);}),this[ap(0x149)][ap(0x119)](c['id'],c[ap(0x96)],d),d;}}async[B(0x119)](c,d){const ar=B,e={'appId':d['id'],'appVersion':d[ar(0x96)]},f=this[ar(0x80)](key_1[ar(0x102)][ar(0x14c)],e),g={...c};Object['entries'](g)[ar(0xae)](([i,j])=>{g[i]=JSON['stringify'](j);});const h=await this[ar(0x12d)]()['hset'](f,g);return this[ar(0x149)][ar(0x119)](d['id'],d['version'],c),h;}async[B(0xb3)](c,d){const as=B,e={'appId':d['id'],'appVersion':d['version']},f=this[as(0x80)](key_1[as(0x102)][as(0xac)],e),g={...c};Object['entries'](g)[as(0xae)](([i,j])=>{const at=as;g[i]=JSON[at(0x14f)](j);});const h=await this['kvsql']()[as(0xd2)](f,g);return this[as(0x149)][as(0xb3)](d['id'],d[as(0x96)],c),this[as(0xfe)](h);}async[B(0xb9)](c){const au=B;let d=this[au(0x149)][au(0xb9)](c['id'],c[au(0x96)]);if(d&&Object['keys'](d)[au(0x108)]>0x0)return d;else{const e={'appId':c['id'],'appVersion':c[au(0x96)]},f=this[au(0x80)](key_1[au(0x102)][au(0xac)],e);return d=await this[au(0x12d)]()[au(0x107)](f)||{},Object[au(0x116)](d)['forEach'](([g,h])=>{const av=au;d[g]=JSON[av(0xe1)](h);}),this[au(0x149)][au(0xb3)](c['id'],c[au(0x96)],d),d;}}async[B(0x78)](c,d){const aw=B,e=await this[aw(0xb9)](d);return e[c];}async[B(0x10e)](c,d){const ax=B,e={'appId':d['id'],'appVersion':d[ax(0x96)]},f=this['mintKey'](key_1['KeyType'][ax(0xfa)],e),g={...c};Object[ax(0x116)](g)[ax(0xae)](([h,i])=>{const ay=ax;g[h]=JSON[ay(0x14f)](i);});if(Object[ax(0xf9)](g)['length']!==0x0){const h=await this[ax(0x12d)]()[ax(0xd2)](f,g);return this[ax(0x149)]['setTransitions'](d['id'],d['version'],c),h;}}async[B(0xe4)](c){const az=B;let d=this[az(0x149)][az(0xe4)](c['id'],c[az(0x96)]);if(d&&Object[az(0xf9)](d)[az(0x108)]>0x0)return d;else{const e={'appId':c['id'],'appVersion':c[az(0x96)]},f=this['mintKey'](key_1[az(0x102)]['SUBSCRIPTION_PATTERNS'],e);d={};const g=await this[az(0x12d)]()[az(0x107)](f);return Object[az(0x116)](g)[az(0xae)](([h,i])=>{d[h]=JSON['parse'](i);}),this[az(0x149)][az(0x10e)](c['id'],c[az(0x96)],d),d;}}async['setHookRules'](c){const aA=B,d=this['mintKey'](key_1[aA(0x102)][aA(0x137)],{'appId':this[aA(0x152)]}),e={};Object[aA(0x116)](c)[aA(0xae)](([f,g])=>{const aB=aA;e[f[aB(0x93)]()]=JSON[aB(0x14f)](g);});if(Object[aA(0xf9)](e)[aA(0x108)]!==0x0){const f=await this[aA(0x12d)]()['hset'](d,e);return this[aA(0x149)][aA(0xd3)](this[aA(0x152)],c),f;}}async['getHookRules'](){const aC=B;let c=this[aC(0x149)][aC(0x113)](this[aC(0x152)]);if(c&&Object[aC(0xf9)](c)[aC(0x108)]>0x0)return c;else{const d=this[aC(0x80)](key_1[aC(0x102)][aC(0x137)],{'appId':this['appId']}),e=await this[aC(0x12d)]()[aC(0x107)](d);return c={},Object['entries'](e)['forEach'](([f,g])=>{const aD=aC;c[f]=JSON[aD(0xe1)](g);}),this[aC(0x149)][aC(0xd3)](this[aC(0x152)],c),c;}}async[B(0xa1)](c,d){const aE=B,e=this[aE(0x80)](key_1[aE(0x102)][aE(0x7a)],{'appId':this[aE(0x152)]}),{topic:f,resolved:g,jobId:h}=c,i=f+':'+g;await this[aE(0x12d)](d)[aE(0xb2)](e+':'+i,h,Math[aE(0x12e)](c[aE(0x136)],enums_1[aE(0xfd)]));}async[B(0x141)](c,d){const aF=B,e=this[aF(0x80)](key_1[aF(0x102)]['SIGNALS'],{'appId':this[aF(0x152)]}),f=await this['kvsql']()[aF(0x103)](e+':'+c+':'+d);return f?f[aF(0x93)]():undefined;}async[B(0xcc)](c,d){const aG=B,e=this[aG(0x80)](key_1['KeyType'][aG(0x7a)],{'appId':this[aG(0x152)]}),f=await this[aG(0x12d)]()[aG(0xdf)](e+':'+c+':'+d);return f?Number(f):undefined;}async[B(0xf7)](c){const aH=B,d=this['kvsql'](this[aH(0x130)]()),e=this['mintKey'](key_1[aH(0x102)][aH(0xbd)],{'appId':this[aH(0x152)]});for(const f of c){d[aH(0xca)](e,Date['now'](),f,{'nx':!![]});}await d['exec']();}async[B(0x11c)](){const aI=B;let c=this[aI(0x149)][aI(0x11c)](this[aI(0x152)])||null;if(!c){const d=this[aI(0x80)](key_1['KeyType'][aI(0xbd)],{'appId':this[aI(0x152)]}),e=await this[aI(0x12d)]()[aI(0x114)](d,0x0,0x0);c=e[aI(0x108)]>0x0?e[0x0]:null,c&&this[aI(0x149)]['setWorkItem'](this['appId'],c);}return c;}async[B(0x84)](c,d,e,f=![]){const aJ=B,g=this['mintKey'](key_1[aJ(0x102)][aJ(0xbd)],{'appId':this[aJ(0x152)]}),h=await this[aJ(0x12d)]()['zrem'](g,c);h&&(f?(this[aJ(0x12d)]()[aJ(0xdf)](e),this[aJ(0x12d)]()[aJ(0xdf)](d[aJ(0x142)](':')[aJ(0x110)](0x0,0x5)[aJ(0x10d)](':'))):await this['kvsql']()['rename'](e,d)),this[aJ(0x149)][aJ(0xda)](this[aJ(0x152)]);}async['processTaskQueue'](c,d){const aK=B;return await this[aK(0x12d)]()['lmove'](c,d,aK(0x126),'RIGHT');}async['expireJob'](c,d,e){const aL=B;if(!isNaN(d)&&d>0x0){const f=this['mintKey'](key_1[aL(0x102)][aL(0x14a)],{'appId':this[aL(0x152)],'jobId':c});await this[aL(0x12d)](e)[aL(0x136)](f,d);}}async[B(0x8b)](c){const aM=B,d={'appId':this['appId'],'jobId':c},e=this[aM(0x80)](key_1[aM(0x102)]['JOB_DEPENDENTS'],d);return this[aM(0x12d)]()[aM(0x146)](e,0x0,-0x1);}async[B(0x9a)](c,d,e,f,g,h,i){const aN=B,j=this[aN(0x80)](key_1[aN(0x102)][aN(0x81)],{'appId':this[aN(0x152)],'timeValue':g}),k=[f,e,d,h,c][aN(0x10d)](key_1[aN(0xbe)]),l=await this['kvsql'](i)['rpush'](j,k);if(i||l===0x1){const m=this['mintKey'](key_1[aN(0x102)]['TIME_RANGE'],{'appId':this['appId']});await this[aN(0xb4)](m,g[aN(0x93)](),j,i);}}async[B(0xf5)](c){const aO=B,d=this[aO(0x80)](key_1[aO(0x102)][aO(0x81)],{'appId':this[aO(0x152)]});c=c||await this[aO(0xad)](d,0x0,Date['now']());if(c){let [e,f]=this[aO(0x7d)](c);const g=await this[aO(0x12d)]()[aO(0x143)](f);if(g){let [h,i,j,k,...l]=g[aO(0x142)](key_1[aO(0xbe)]);const m=l[aO(0x10d)](key_1[aO(0xbe)]);if(h===aO(0xed))e=aO(0xed);else{if(h===aO(0x11b))e=aO(0x11b);else h===aO(0xb7)&&(h='expire');}return[c,m,j,i,e];}return await this['kvsql']()[aO(0x118)](d,c),!![];}return![];}[B(0x7d)](c){const aP=B;if(c[aP(0x121)](key_1[aP(0xc9)]+'INTERRUPT'))return[aP(0xf0),c[aP(0x142)](key_1[aP(0xc9)])[0x2]];else return c[aP(0x121)](key_1[aP(0xc9)]+aP(0xde))?['expire',c[aP(0x142)](key_1[aP(0xc9)])[0x2]]:['sleep',c];}async[B(0xf0)](c,d,f={}){const aQ=B;try{const g=await this[aQ(0x115)](d,this['appId']);if(g<=0x0)throw new Error('Job\x20'+d+aQ(0x13b));const h=-0x3b9aca00,i=this['mintKey'](key_1[aQ(0x102)][aQ(0x14a)],{'appId':this['appId'],'jobId':d}),j=await this[aQ(0x12d)]()[aQ(0xa0)](i,':',h);if(j<=h)throw new Error(aQ(0x132)+d+aQ(0x13b));if(f[aQ(0x98)]!==![]){const k=aQ(0x140),l=['$'+c],m=await this[aQ(0xe8)](l),n=await this['getSymbolValues']();this['serializer'][aQ(0x7b)](m,n,{});const o=JSON[aQ(0x14f)]({'code':f[aQ(0x125)]??enums_1[aQ(0x106)],'message':f['reason']??aQ(0xf3)+d+aQ(0x85),'stack':f['stack']??'','job_id':d}),p={[k]:h[aQ(0x93)]()},q=this['serializer'][aQ(0x138)](p,l),r=Object[aQ(0xf9)](q)[0x0];await this['kvsql']()[aQ(0xd2)](i,{[r]:o});}}catch(s){if(!f[aQ(0x87)])throw s;else this[aQ(0x111)][aQ(0x150)](aQ(0x139),{'message':s[aQ(0x147)]});}}async[B(0x13e)](c){const aR=B,d=this[aR(0x80)](key_1['KeyType'][aR(0x14a)],{'appId':this['appId'],'jobId':c});await this[aR(0x12d)]()['del'](d);}async[B(0x79)](c='*',d=0x3e8,e=0x3e8,f='0'){const aS=B,g=this[aS(0x80)](key_1[aS(0x102)][aS(0x14a)],{'appId':this[aS(0x152)],'jobId':c}),{cursor:h,keys:i}=await this[aS(0x12d)]()['scan'](Number(f),d,g);return[h[aS(0xd7)](),i];}async[B(0x145)](c,d='*',e=0x3e8,f=0x3e8,g='0'){const aT=B,h={},i=this[aT(0x80)](key_1['KeyType'][aT(0x14a)],{'appId':this[aT(0x152)],'jobId':c});let j,k=null;if(d[aT(0x13c)](',')){const w=/\d[^-]+-/gi,x=d['match'](w);k=','+(x?.[0x0]??''),j='hmark';}else j=aT(0xb1);const l=parseInt(g,0xa)||0x0,m=this[aT(0x12d)]()[aT(0x112)](i,aT(0x10a)),n=[i];let o=n[aT(0x108)]+0x1;const p=aT(0xf8)+m+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20AND\x20(expired_at\x20IS\x20NULL\x20OR\x20expired_at\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',q=[];q[aT(0xec)](aT(0xb6)+o),n[aT(0xec)](j),o++;k&&(q[aT(0xec)](aT(0xab)+o),n[aT(0xec)]('%'+k+'%'),o++);const r=o,s=o+0x1;n[aT(0xec)](e,l),o+=0x2;const t='\x0a\x20\x20\x20\x20\x20\x20WITH\x20valid_job\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+p+aT(0xff)+m+aT(0x8e)+q['join']('\x20AND\x20')+'\x0a\x20\x20\x20\x20\x20\x20LIMIT\x20$'+r+aT(0xe0)+s+aT(0xc2),u=await this[aT(0x95)]['query'](t,n);for(const y of u[aT(0x123)]){h[y[aT(0x104)]]=y[aT(0xa4)];}const v=u[aT(0x123)][aT(0x108)]<e?'0':String(l+u[aT(0x123)]['length']);return[v,h];}async[B(0xdd)](c){const aU=B,d=this[aU(0x80)](key_1[aU(0x102)][aU(0xdc)],{'appId':this[aU(0x152)]});if(c[aU(0x100)])return;const e=c['throttle'][aU(0x93)]();if(c['topic'])await this[aU(0x12d)]()[aU(0xd2)](d,{[c[aU(0xce)]]:e});else{const f=this[aU(0x130)]();f['del'](d),f[aU(0xd2)](d,{':':e}),await f[aU(0xaa)]();}}async[B(0x90)](){const aV=B,c=this[aV(0x80)](key_1[aV(0x102)][aV(0xdc)],{'appId':this[aV(0x152)]}),d=await this[aV(0x12d)]()[aV(0x107)](c);return d??{};}async['getThrottleRate'](c){const d=(g,h)=>{const aW=b,i=h in g?Number(g[h]):0x0;if(isNaN(i))return 0x0;if(i==-0x1)return enums_1[aW(0x99)];return Math['max'](Math[aW(0x127)](i,enums_1[aW(0x99)]),0x0);},e=await this['getThrottleRates'](),f=d(e,':');if(c===':'||!(c in e))return f;return d(e,c);}}exports[B(0xc5)]=PostgresStoreService;
1
+ 'use strict';const P=b;function a(){const ba=['HOOKS','SIGNALS','cache','topic','median','__setModuleDefault','configurable','setSymbolValues','362846ctSJpW','__createBinding','reserveScoutRole','setSymbols','KVTables','appId','Version\x20','sleepFor','keys','KVSQL','reserveSymbolRange','Job\x20','length','reason','expireJob','SCHEMAS','APP','create','\x0a\x20\x20\x20\x20\x20\x20SELECT\x20id\x0a\x20\x20\x20\x20\x20\x20FROM\x20','./kvsql','setSubscriptions','setHookRules','rpush','set','getSymKey','getHookRules','setState','KeyType','setHookSignal','value','lrange','setnxex','66790oBGLPu','153gVSxEu','../../../../modules/key','SUBSCRIPTION_PATTERNS','get','setSettings','default','zrem','5470392pDARGk','1004325IWKUyW',':cursor','isSuccessful','getDependencies','lmove','getRaw','exec','__importStar','../../../../modules/enums','setTransitions','getApp','job\x20[','formatISODate','forEach','general','getSchemas','resolveTaskKeyContext','abbreviate','toPrecision','addTaskQueues','del','\x20does\x20not\x20exist\x20for\x20app\x20','throttle','Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention','startsWith','LEFT','setThrottleRate','SerializerService','RIGHT','index','parse','THROTTLE_RATE','hincrbyfloat','findJobs','zrange','MDATA_SYMBOLS','field','push','now','rename','slice','getJobIds','getSymbolKeys','max','hset','?:?','metadata/','debug','getStatus','mintKey','delist','getActiveTaskQueue','sleep','JOB_STATS_MEDIAN','hsetnx','\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20a.field,\x20a.value\x0a\x20\x20\x20\x20\x20\x20FROM\x20','getSchema','init','./kvtables','prototype','isArray','split','throw','registerAppVersion','package','SYMKEYS','invalidateCache','\x20already\x20completed','ACTIVITY','unpackage','releaseScoutRole','getThrottleRates','\x0a\x20\x20\x20\x20\x20\x20WITH\x20valid_job\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20','getSubscription','match','deleteHookSignal','toString',']\x20interrupted','hmark','removeWorkItem','getThrottleRate','scan','all','hasOwnProperty','SYMVALS','getSettings','HMSH_SCOUT_INTERVAL_SECONDS','versions/','message','72972BvlSpC','TIME_RANGE','version','collateSynthetic','stringify','deleteProcessedTaskQueue','deployed:','1012RLREUG','defineProperty','TYPSEP','shift','HOTMESH','182xhtdby','processTaskQueue','81payivo','a.field\x20LIKE\x20$','setStateNX','seedSymbols','collate','namespace','\x20AND\x20','55248GbzgIg','../..','hash','WORK_ITEMS','hGetAllResult','serializer','metadata/err','INTERRUPT','766ULkULd','lpop','../../cache','\x0a\x20\x20\x20\x20\x20\x20LIMIT\x20$','a.type\x20=\x20$','kvTables','getTransitions','\x0a\x20\x20\x20\x20','jmark','metadata/js','hgetall','addSymbols','suppress','entries','setSchemas','HMSH_SIGNAL_EXPIRE','guid','zAdd','registerTimeHook','getApps','getSymbols','zadd','resetSymbols','resolve','expire','includes','namespace\x20not\x20set','JOB_STATE','stack','hget','PostgresStoreService','join','deploy','tableForKey','then','../../../../modules/utils','writable','MAX_DELAY','sort','hmget','__esModule','\x20OFFSET\x20$','getJobStats','setWorkItem','transact','24fOxUdC','VALSEP','HMNS','JOB','/output/metadata/','GetStateError','setApp','seedJobSymbols','/output/metadata/as','storeClient','kvsql','zrangebyscore','\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20AND\x20(expired_at\x20IS\x20NULL\x20OR\x20expired_at\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20','setStatus','rows','../../../serializer','SLOTS','_attributes\x20a\x0a\x20\x20\x20\x20\x20\x20JOIN\x20valid_job\x20j\x20ON\x20a.job_id\x20=\x20j.id\x0a\x20\x20\x20\x20\x20\x20WHERE\x20','0.0.0','getSymbolValues','HMSH_CODE_INTERRUPT','zRangeByScore','child','pgClient','scrub','getState','SUBSCRIPTIONS','getSubscriptions','JOB_STATS_INDEX'];a=function(){return ba;};return a();}(function(c,d){const O=b,e=c();while(!![]){try{const f=-parseInt(O(0x147))/0x1*(parseInt(O(0x15d))/0x2)+-parseInt(O(0x14e))/0x3*(-parseInt(O(0x140))/0x4)+-parseInt(O(0x1d8))/0x5+parseInt(O(0x155))/0x6*(-parseInt(O(0x14c))/0x7)+parseInt(O(0x1d7))/0x8+parseInt(O(0x1d0))/0x9*(parseInt(O(0x1cf))/0xa)+parseInt(O(0x1af))/0xb*(parseInt(O(0x18a))/0xc);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x80e86));var __createBinding=this&&this[P(0x1b0)]||(Object[P(0x1c0)]?function(c,d,f,g){const Q=P;void 0x0===g&&(g=f);var h=Object['getOwnPropertyDescriptor'](d,f);h&&!(Q(0x1d3)in h?!d[Q(0x185)]:h[Q(0x181)]||h[Q(0x1ad)])||(h={'enumerable':!0x0,'get':function(){return d[f];}}),Object[Q(0x148)](c,g,h);}:function(c,d,f,g){void 0x0===g&&(g=f),c[g]=d[f];}),__setModuleDefault=this&&this[P(0x1ac)]||(Object['create']?function(c,d){const R=P;Object[R(0x148)](c,R(0x1d5),{'enumerable':!0x0,'value':d});}:function(c,d){c['default']=d;}),__importStar=this&&this[P(0x1df)]||function(c){const S=P;if(c&&c['__esModule'])return c;var d={};if(null!=c){for(var f in c)S(0x1d5)!==f&&Object[S(0x213)][S(0x13a)]['call'](c,f)&&__createBinding(d,c,f);}return __setModuleDefault(d,c),d;};Object[P(0x148)](exports,P(0x185),{'value':!0x0}),exports[P(0x17b)]=void 0x0;function b(c,d){const e=a();return b=function(f,g){f=f-0x129;let h=e[f];return h;},b(c,d);}const errors_1=require('../../../../modules/errors'),key_1=require(P(0x1d1)),serializer_1=require(P(0x199)),utils_1=require(P(0x180)),enums_1=require(P(0x1e0)),cache_1=require(P(0x15f)),__1=require(P(0x156)),kvsql_1=require(P(0x1c2)),kvtables_1=require(P(0x212));class PostgresStoreService extends __1['StoreService']{[P(0x189)](){const T=P;return this['storeClient'][T(0x189)]();}constructor(c){const U=P;super(c),this[U(0x1a1)]=c,this[U(0x193)]=new kvsql_1[(U(0x1b8))](c,this[U(0x153)],this[U(0x1b4)]),this['kvTables']=(0x0,kvtables_1[U(0x1b3)])(this);}async[P(0x211)](c=key_1['HMNS'],d,f){const V=P;this['storeClient'][V(0x153)]=this[V(0x153)]=c,this[V(0x193)][V(0x1b4)]=this[V(0x1b4)]=d,this['logger']=f,await this[V(0x162)][V(0x17d)](d);const g=await this[V(0x13c)](!0x0);return this[V(0x1a9)]=new cache_1['Cache'](d,g),this[V(0x15a)]=new serializer_1[(V(0x1f3))](),await this[V(0x1e2)](d),this['cache'][V(0x170)]();}[P(0x1da)](c){return c>0x0||'OK'===c||!0x0===c;}async['delistSignalKey'](c,d){const W=P;await this['kvsql']()[W(0x1ec)](c+':'+d);}async[P(0x16e)](c,d,f,g){return await this['kvsql'](g)['zadd'](c,Number(d),f['toString']());}async[P(0x19f)](c,d,f){const X=P,g=await this['kvsql']()[X(0x195)](c,Number(d),Number(f));return g?.['length']>0x0?g[0x0]:null;}[P(0x209)](c,d){const Y=P;if(!this[Y(0x153)])throw new Error(Y(0x177));return key_1['KeyService'][Y(0x209)](this[Y(0x153)],c,d);}[P(0x194)](c){const Z=P;return c||this[Z(0x193)];}[P(0x129)](){const a0=P;this[a0(0x1a9)]['invalidate']();}async[P(0x1b1)](c,d=enums_1[P(0x13d)]){const a1=P,f=this[a1(0x209)](key_1[a1(0x1ca)][a1(0x158)],{'appId':this[a1(0x1b4)],'scoutType':c}),g=await this[a1(0x194)]()[a1(0x1c6)](f,c+':'+(0x0,utils_1['formatISODate'])(new Date()),{'nx':!0x0,'ex':d-0x1});return this[a1(0x1da)](g);}async[P(0x12d)](c){const a2=P,d=this[a2(0x209)](key_1[a2(0x1ca)][a2(0x158)],{'appId':this['appId'],'scoutType':c}),f=await this[a2(0x194)]()['del'](d);return this['isSuccessful'](f);}async[P(0x13c)](c=!0x1){const a3=P;let d=this[a3(0x1a9)]?.['getSettings']();if(d)return d;if(c){const f=(await Promise[a3(0x174)]()[a3(0x17f)](()=>__importStar(require('../../../../package.json'))))[a3(0x142)]||a3(0x19c);return d={'namespace':key_1[a3(0x18c)],'version':f},await this[a3(0x1d4)](d),d;}throw new Error('settings\x20not\x20found');}async[P(0x1d4)](c){const a4=P,d=this[a4(0x209)](key_1[a4(0x1ca)][a4(0x14b)],{});return await this[a4(0x194)]()['hset'](d,c);}async[P(0x1b9)](c,d,f,g=0x1){const a5=P,j=this[a5(0x209)](key_1['KeyType'][a5(0x219)],{'appId':this['appId']}),k=this[a5(0x209)](key_1[a5(0x1ca)][a5(0x219)],{'activityId':c,'appId':this[a5(0x1b4)]});if(await this[a5(0x194)]()[a5(0x20e)](j,c,a5(0x205))){const l=await this[a5(0x194)]()['hincrbyfloat'](j,a5(0x1d9),d),m=l-d,p=m+':'+(l-0x1);await this[a5(0x194)]()[a5(0x204)](j,{[c]:p});const q=this[a5(0x151)](c,f,m);return await this[a5(0x194)]()[a5(0x204)](k,q),[m+serializer_1[a5(0x1fb)][a5(0x19a)],l-0x1,{}];}{const u=await this[a5(0x194)]()[a5(0x17a)](j,c),[v]=u[a5(0x215)](':');if('?'===v){if(await(0x0,utils_1[a5(0x1b6)])(0x3e8*g),g<0x5)return this['reserveSymbolRange'](c,d,f,g+0x1);throw new Error(a5(0x1ef));}{const w=parseInt(v,0xa),x=await this['kvsql']()[a5(0x167)](k),y=Object[a5(0x1b7)](x)[a5(0x1bb)];return[w+serializer_1[a5(0x1fb)][a5(0x19a)]+y,Number(w+d-0x1),x];}}}async['getAllSymbols'](){const a6=P,c=this[a6(0x209)](key_1[a6(0x1ca)][a6(0x219)],{'appId':this[a6(0x1b4)]}),d=await this['kvsql']()[a6(0x167)](c),f=Object[a6(0x1b7)](d)[a6(0x183)]();delete f[a6(0x1d9)];const g=this[a6(0x194)](this[a6(0x189)]());for(const k of f){const l=this[a6(0x209)](key_1['KeyType'][a6(0x219)],{'activityId':k,'appId':this[a6(0x1b4)]});g[a6(0x167)](l);}const h=await g[a6(0x1de)](),j={};return h[a6(0x1e5)]((m,o)=>{const a7=a6;if(m){let p;p=Array[a7(0x214)](m)&&0x2===m[a7(0x1bb)]?m[0x1]:m;for(const [q,r]of Object[a7(0x16a)](p))j[r]=q[a7(0x1f0)](f[o])?q:f[o]+'/'+q;}}),j;}async['getSymbols'](c){const a8=P;let d=this[a8(0x1a9)][a8(0x171)](this[a8(0x1b4)],c);if(d)return d;{const f={'activityId':c,'appId':this['appId']},g=this[a8(0x209)](key_1[a8(0x1ca)][a8(0x219)],f);return d=await this['kvsql']()['hgetall'](g),this[a8(0x1a9)][a8(0x1b2)](this[a8(0x1b4)],c,d),d;}}async[P(0x168)](c,d){const a9=P;if(!d||!Object[a9(0x1b7)](d)['length'])return!0x1;const f={'activityId':c,'appId':this[a9(0x1b4)]},g=this['mintKey'](key_1['KeyType']['SYMKEYS'],f),h=await this[a9(0x194)]()[a9(0x204)](g,d);return this[a9(0x1a9)]['deleteSymbols'](this[a9(0x1b4)],c),h>0x0;}['seedSymbols'](c,d,f){const aa=P;return aa(0x18d)===d?this[aa(0x191)](f):this['seedActivitySymbols'](f,c);}['seedJobSymbols'](c){const ab=P,d={};return serializer_1[ab(0x1fb)][ab(0x18d)]['KEYS']['forEach'](f=>{const ac=ab;d[ac(0x206)+f]=(0x0,utils_1[ac(0x1c7)])(c),c++;}),d;}['seedActivitySymbols'](c,d){const ad=P,f={};return serializer_1[ad(0x1fb)][ad(0x12b)]['KEYS'][ad(0x1e5)](g=>{const ae=ad;f[d+ae(0x18e)+g]=(0x0,utils_1[ae(0x1c7)])(c),c++;}),f;}async[P(0x19d)](){const af=P;let c=this['cache']['getSymbolValues'](this['appId']);if(c)return c;{const d=this['mintKey'](key_1['KeyType'][af(0x13b)],{'appId':this[af(0x1b4)]});return c=await this[af(0x194)]()['hgetall'](d),this['cache'][af(0x1ae)](this[af(0x1b4)],c),c;}}async['addSymbolValues'](c){const ag=P;if(!c||!Object[ag(0x1b7)](c)[ag(0x1bb)])return!0x1;const d=this[ag(0x209)](key_1[ag(0x1ca)][ag(0x13b)],{'appId':this[ag(0x1b4)]}),f=await this[ag(0x194)]()[ag(0x204)](d,c);return this[ag(0x1a9)]['deleteSymbolValues'](this[ag(0x1b4)]),this['isSuccessful'](f);}async['getSymbolKeys'](c){const ah=P,d=[];for(const h of c)d[ah(0x1fd)](this[ah(0x171)](h));const f=await Promise[ah(0x139)](d),g={};for(const j of c)g[j]=f[ah(0x14a)]();return g;}async[P(0x1e2)](c,d=!0x1){const ai=P;let f=this['cache'][ai(0x1e2)](c);if(d||!(f&&Object['keys'](f)[ai(0x1bb)]>0x0)){const g={'appId':c},h=this[ai(0x209)](key_1[ai(0x1ca)][ai(0x1bf)],g),j=await this['kvsql']()[ai(0x167)](h);if(!j)return null;f={};for(const k in j)try{f[k]='active'===k?'true'===j[k]:j[k];}catch(l){f[k]=j[k];}this[ai(0x1a9)][ai(0x190)](c,f);}return f;}async[P(0x190)](c,d){const aj=P,f={'appId':c},g=this[aj(0x209)](key_1[aj(0x1ca)][aj(0x1bf)],f),h=aj(0x13e)+d,j={'id':c,'version':d,[h]:aj(0x146)+(0x0,utils_1[aj(0x1e4)])(new Date())};return await this[aj(0x194)]()[aj(0x204)](g,j),this[aj(0x1a9)]['setApp'](c,j),j;}async['activateAppVersion'](c,d){const ak=P,f={'appId':c},g=this[ak(0x209)](key_1['KeyType']['APP'],f),h=ak(0x13e)+d,j=await this['getApp'](c,!0x0);if(j&&j[h]){const k={'id':c,'version':d[ak(0x133)](),[h]:'activated:'+(0x0,utils_1[ak(0x1e4)])(new Date()),'active':!0x0};return Object[ak(0x16a)](k)['forEach'](([l,m])=>{const al=ak;k[l]=m[al(0x133)]();}),await this['kvsql']()[ak(0x204)](g,k),!0x0;}throw new Error(ak(0x1b5)+d+ak(0x1ed)+c);}async[P(0x217)](c,d){const am=P,f={'appId':c},g=this[am(0x209)](key_1[am(0x1ca)][am(0x1bf)],f),h={'id':c,'version':d['toString'](),[am(0x13e)+d]:(0x0,utils_1[am(0x1e4)])(new Date())};return await this[am(0x194)]()[am(0x204)](g,h);}async['setStats'](c,d,f,g,h,j){const an=P,k={'appId':h['id'],'jobId':d,'jobKey':c,'dateTime':f},l=j||this[an(0x189)]();if(g[an(0x1e6)][an(0x1bb)]){const m=this[an(0x209)](key_1[an(0x1ca)]['JOB_STATS_GENERAL'],k);for(const {target:p,value:q}of g[an(0x1e6)])this[an(0x194)](l)[an(0x1f8)](m,p,q);}for(const {target:u,value:v}of g[an(0x1f5)]){const w={...k,'facet':u},x=this['mintKey'](key_1[an(0x1ca)][an(0x1a6)],w);this[an(0x194)](l)[an(0x1c5)](x,v[an(0x133)]());}for(const {target:y,value:z}of g[an(0x1ab)]){const A={...k,'facet':y},B=this[an(0x209)](key_1[an(0x1ca)][an(0x20d)],A);await this[an(0x194)](l)[an(0x172)](B,Number(z),y);}if(!j)return await l[an(0x1de)]();}[P(0x159)](c){return c;}async[P(0x187)](c){const ao=P,d=this[ao(0x194)](this[ao(0x189)]());for(const h of c)d[ao(0x167)](h);const f=await d[ao(0x1de)](),g={};for(const [j,k]of f['entries']()){const l=c[j],m=k;if(m&&Object[ao(0x1b7)](m)[ao(0x1bb)]>0x0){const o={...m};for(const [p,q]of Object[ao(0x16a)](o))o[p]=Number(q);g[l]=o;}else g[l]={};}return g;}async[P(0x201)](c,d){const ap=P,f=this['kvsql'](this['transact']());for(const j of c)f[ap(0x1cd)](j,d[0x0],d[0x1]);const g=await f[ap(0x1de)](),h={};for(const [k,l]of g[ap(0x16a)]()){const m=c[k],o=l[0x1]||l;o&&o[ap(0x1bb)]>0x0?h[m]=o:h[m]=[];}return h;}async[P(0x197)](c,d,f,g){const aq=P,h=this[aq(0x209)](key_1[aq(0x1ca)]['JOB_STATE'],{'appId':f,'jobId':d});return await this[aq(0x194)](g)['hincrbyfloat'](h,':',c);}async[P(0x208)](c,d){const ar=P,f=this[ar(0x209)](key_1[ar(0x1ca)][ar(0x178)],{'appId':d,'jobId':c}),g=await this['kvsql']()[ar(0x17a)](f,':');if(null===g)throw new Error('Job\x20'+c+'\x20not\x20found');return Number(g);}async[P(0x1c9)]({...d},f,g,j,k,l){const as=P;delete d['metadata/js'];const m=this[as(0x209)](key_1[as(0x1ca)]['JOB_STATE'],{'appId':this['appId'],'jobId':g}),p=await this[as(0x202)](j),q=await this['getSymbolValues']();this[as(0x15a)][as(0x173)](p,q,k);const u=this['serializer'][as(0x218)](d,j);return null!==f?u[':']=f['toString']():delete u[':'],await this[as(0x194)](l)['hset'](m,u),g;}async['getQueryState'](c,d){const at=P,f=this[at(0x209)](key_1[at(0x1ca)]['JOB_STATE'],{'appId':this['appId'],'jobId':c}),g=d['map'](k=>k[at(0x1f0)]('\x22')?k[at(0x200)](0x1,-0x1):'_'+k),h=await this[at(0x194)]()[at(0x184)](f,g),j={};return d[at(0x1e5)]((k,l)=>{const au=at;k[au(0x1f0)]('\x22')&&(k=k[au(0x200)](0x1,-0x1)),j[k]=h[l];}),j;}async[P(0x1a3)](d,f,g){const av=P,j=this[av(0x209)](key_1[av(0x1ca)]['JOB_STATE'],{'appId':this[av(0x1b4)],'jobId':d}),k=Object[av(0x1b7)](f),l=await this[av(0x202)](k);this[av(0x15a)][av(0x173)](l,{},g);const m=this[av(0x15a)][av(0x1e9)](f,k,[':']),p=await this[av(0x194)]()['hmget'](j,m),q={};let u=!0x1;if(m[av(0x1e5)]((v,w)=>{p[w]&&(u=!0x0),q[v]=p[w];}),u){const v=await this[av(0x19d)]();this[av(0x15a)][av(0x173)](l,v,g);const w=this['serializer'][av(0x12c)](q,k);let x=0x0;return w[':']&&(x=Number(w[':']),w[av(0x166)]=x,delete w[':']),[w,x];}throw new errors_1[(av(0x18f))](d);}async[P(0x1dd)](c){const aw=P,d=this[aw(0x209)](key_1[aw(0x1ca)][aw(0x178)],{'appId':this['appId'],'jobId':c}),f=await this[aw(0x194)]()[aw(0x167)](d);if(!f)throw new errors_1[(aw(0x18f))](c);return f;}async[P(0x152)](d,f,g,j,k){const ax=P,m=this[ax(0x209)](key_1['KeyType'][ax(0x178)],{'appId':this[ax(0x1b4)],'jobId':d}),q=f+ax(0x192),u=[f],v=await this[ax(0x202)](u),w=await this[ax(0x19d)]();this[ax(0x15a)]['resetSymbols'](v,w,j);const x={[q]:g[ax(0x133)]()},z=this[ax(0x15a)]['package'](x,u),A=Object[ax(0x1b7)](z)[0x0];return await this['kvsql'](k)[ax(0x1f8)](m,A,g);}async[P(0x143)](c,d,f,g){const ay=P,h=this[ay(0x209)](key_1['KeyType'][ay(0x178)],{'appId':this['appId'],'jobId':c});return await this[ay(0x194)](g)[ay(0x1f8)](h,d,f);}async[P(0x150)](c,d,f){const az=P,g=this[az(0x209)](key_1[az(0x1ca)][az(0x178)],{'appId':d,'jobId':c}),h=await this[az(0x194)]()[az(0x20e)](g,':',f?.[az(0x133)]()??'1');return this[az(0x1da)](h);}async[P(0x210)](c,d){const aA=P,f=this[aA(0x1a9)][aA(0x210)](d['id'],d[aA(0x142)],c);if(f)return f;return(await this[aA(0x1e7)](d))[c];}async['getSchemas'](c){const aB=P;let d=this['cache'][aB(0x1e7)](c['id'],c['version']);if(d&&Object['keys'](d)['length']>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aB(0x142)]},g=this[aB(0x209)](key_1['KeyType']['SCHEMAS'],f);d={};const h=await this[aB(0x194)]()[aB(0x167)](g);return Object[aB(0x16a)](h)[aB(0x1e5)](([j,k])=>{const aC=aB;d[j]=JSON[aC(0x1f6)](k);}),this[aB(0x1a9)]['setSchemas'](c['id'],c[aB(0x142)],d),d;}}async[P(0x16b)](c,d){const aD=P,f={'appId':d['id'],'appVersion':d['version']},g=this['mintKey'](key_1[aD(0x1ca)][aD(0x1be)],f),h={...c};Object[aD(0x16a)](h)[aD(0x1e5)](([k,l])=>{const aE=aD;h[k]=JSON[aE(0x144)](l);});const j=await this[aD(0x194)]()[aD(0x204)](g,h);return this[aD(0x1a9)][aD(0x16b)](d['id'],d['version'],c),j;}async[P(0x1c3)](c,d){const aF=P,f={'appId':d['id'],'appVersion':d[aF(0x142)]},g=this[aF(0x209)](key_1[aF(0x1ca)]['SUBSCRIPTIONS'],f),h={...c};Object[aF(0x16a)](h)[aF(0x1e5)](([k,l])=>{const aG=aF;h[k]=JSON[aG(0x144)](l);});const j=await this[aF(0x194)]()[aF(0x204)](g,h);return this[aF(0x1a9)]['setSubscriptions'](d['id'],d[aF(0x142)],c),this[aF(0x1da)](j);}async[P(0x1a5)](c){const aH=P;let d=this[aH(0x1a9)]['getSubscriptions'](c['id'],c[aH(0x142)]);if(d&&Object[aH(0x1b7)](d)[aH(0x1bb)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aH(0x142)]},g=this[aH(0x209)](key_1[aH(0x1ca)][aH(0x1a4)],f);return d=await this[aH(0x194)]()[aH(0x167)](g)||{},Object[aH(0x16a)](d)['forEach'](([h,j])=>{const aI=aH;d[h]=JSON[aI(0x1f6)](j);}),this['cache']['setSubscriptions'](c['id'],c[aH(0x142)],d),d;}}async[P(0x130)](c,d){const aJ=P;return(await this[aJ(0x1a5)](d))[c];}async[P(0x1e1)](c,d){const aK=P,f={'appId':d['id'],'appVersion':d[aK(0x142)]},g=this[aK(0x209)](key_1[aK(0x1ca)][aK(0x1d2)],f),h={...c};if(Object['entries'](h)[aK(0x1e5)](([j,k])=>{const aL=aK;h[j]=JSON[aL(0x144)](k);}),0x0!==Object[aK(0x1b7)](h)[aK(0x1bb)]){const j=await this[aK(0x194)]()['hset'](g,h);return this['cache'][aK(0x1e1)](d['id'],d[aK(0x142)],c),j;}}async[P(0x163)](c){const aM=P;let d=this[aM(0x1a9)][aM(0x163)](c['id'],c[aM(0x142)]);if(d&&Object[aM(0x1b7)](d)['length']>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aM(0x142)]},g=this[aM(0x209)](key_1['KeyType'][aM(0x1d2)],f);d={};const h=await this[aM(0x194)]()[aM(0x167)](g);return Object['entries'](h)[aM(0x1e5)](([j,k])=>{d[j]=JSON['parse'](k);}),this[aM(0x1a9)][aM(0x1e1)](c['id'],c[aM(0x142)],d),d;}}async[P(0x1c4)](c){const aN=P,d=this[aN(0x209)](key_1[aN(0x1ca)][aN(0x1a7)],{'appId':this[aN(0x1b4)]}),f={};if(Object['entries'](c)[aN(0x1e5)](([g,h])=>{const aO=aN;f[g[aO(0x133)]()]=JSON['stringify'](h);}),0x0!==Object[aN(0x1b7)](f)[aN(0x1bb)]){const g=await this[aN(0x194)]()[aN(0x204)](d,f);return this[aN(0x1a9)][aN(0x1c4)](this[aN(0x1b4)],c),g;}}async['getHookRules'](){const aP=P;let c=this[aP(0x1a9)][aP(0x1c8)](this[aP(0x1b4)]);if(c&&Object[aP(0x1b7)](c)['length']>0x0)return c;{const d=this['mintKey'](key_1[aP(0x1ca)][aP(0x1a7)],{'appId':this[aP(0x1b4)]}),f=await this[aP(0x194)]()[aP(0x167)](d);return c={},Object[aP(0x16a)](f)[aP(0x1e5)](([g,h])=>{c[g]=JSON['parse'](h);}),this[aP(0x1a9)]['setHookRules'](this['appId'],c),c;}}async[P(0x1cb)](c,d){const aQ=P,f=this[aQ(0x209)](key_1[aQ(0x1ca)]['SIGNALS'],{'appId':this[aQ(0x1b4)]}),{topic:g,resolved:h,jobId:j}=c,k=g+':'+h;await this[aQ(0x194)](d)[aQ(0x1ce)](f+':'+k,j,Math[aQ(0x203)](c[aQ(0x175)],enums_1[aQ(0x16c)]));}async['getHookSignal'](c,d){const aR=P,f=this[aR(0x209)](key_1[aR(0x1ca)][aR(0x1a8)],{'appId':this['appId']}),g=await this[aR(0x194)]()['get'](f+':'+c+':'+d);return g?g[aR(0x133)]():void 0x0;}async[P(0x132)](c,d){const aS=P,f=this[aS(0x209)](key_1[aS(0x1ca)][aS(0x1a8)],{'appId':this['appId']}),g=await this[aS(0x194)]()['del'](f+':'+c+':'+d);return g?Number(g):void 0x0;}async[P(0x1eb)](c){const aT=P,d=this[aT(0x194)](this[aT(0x189)]()),f=this[aT(0x209)](key_1[aT(0x1ca)][aT(0x158)],{'appId':this['appId']});for(const g of c)d[aT(0x172)](f,Date[aT(0x1fe)](),g,{'nx':!0x0});await d['exec']();}async[P(0x20b)](){const aU=P;let c=this['cache'][aU(0x20b)](this[aU(0x1b4)])||null;if(!c){const d=this[aU(0x209)](key_1[aU(0x1ca)][aU(0x158)],{'appId':this[aU(0x1b4)]}),f=await this['kvsql']()[aU(0x1fa)](d,0x0,0x0);c=f[aU(0x1bb)]>0x0?f[0x0]:null,c&&this[aU(0x1a9)][aU(0x188)](this[aU(0x1b4)],c);}return c;}async[P(0x145)](c,d,f,g=!0x1){const aV=P,h=this[aV(0x209)](key_1[aV(0x1ca)][aV(0x158)],{'appId':this[aV(0x1b4)]});await this[aV(0x194)]()[aV(0x1d6)](h,c)&&(g?(this[aV(0x194)]()[aV(0x1ec)](f),this[aV(0x194)]()['del'](d['split'](':')[aV(0x200)](0x0,0x5)[aV(0x17c)](':'))):await this['kvsql']()[aV(0x1ff)](f,d)),this['cache'][aV(0x136)](this[aV(0x1b4)]);}async[P(0x14d)](c,d){const aW=P;return await this[aW(0x194)]()[aW(0x1dc)](c,d,aW(0x1f1),aW(0x1f4));}async[P(0x1bd)](c,d,f){const aX=P;if(!isNaN(d)&&d>0x0){const g=this[aX(0x209)](key_1[aX(0x1ca)]['JOB_STATE'],{'appId':this[aX(0x1b4)],'jobId':c});await this[aX(0x194)](f)[aX(0x175)](g,d);}}async[P(0x1db)](c){const aY=P,d={'appId':this[aY(0x1b4)],'jobId':c},f=this[aY(0x209)](key_1[aY(0x1ca)]['JOB_DEPENDENTS'],d);return this[aY(0x194)]()[aY(0x1cd)](f,0x0,-0x1);}async[P(0x16f)](d,f,g,j,k,l,m){const aZ=P,p=this[aZ(0x209)](key_1['KeyType'][aZ(0x141)],{'appId':this[aZ(0x1b4)],'timeValue':k}),q=[j,g,f,l,d][aZ(0x17c)](key_1[aZ(0x18b)]),u=await this[aZ(0x194)](m)[aZ(0x1c5)](p,q);if(m||0x1===u){const v=this[aZ(0x209)](key_1[aZ(0x1ca)][aZ(0x141)],{'appId':this[aZ(0x1b4)]});await this[aZ(0x16e)](v,k['toString'](),p,m);}}async['getNextTask'](c){const b0=P,d=this[b0(0x209)](key_1[b0(0x1ca)][b0(0x141)],{'appId':this[b0(0x1b4)]});if(c=c||await this[b0(0x19f)](d,0x0,Date[b0(0x1fe)]())){let [f,g]=this[b0(0x1e8)](c);const h=await this[b0(0x194)]()[b0(0x15e)](g);if(h){let [j,k,l,m,...p]=h[b0(0x215)](key_1[b0(0x18b)]);return b0(0x20a)===j?f=b0(0x20a):'child'===j?f=b0(0x1a0):'expire-child'===j&&(j=b0(0x175)),[c,p[b0(0x17c)](key_1[b0(0x18b)]),l,k,f];}return await this[b0(0x194)]()['zrem'](d,c),!0x0;}return!0x1;}[P(0x1e8)](c){const b1=P;return c[b1(0x1f0)](key_1['TYPSEP']+b1(0x15c))?['interrupt',c[b1(0x215)](key_1[b1(0x149)])[0x2]]:c['startsWith'](key_1[b1(0x149)]+'EXPIRE')?['expire',c['split'](key_1[b1(0x149)])[0x2]]:[b1(0x20c),c];}async['interrupt'](d,f,g={}){const b2=P;try{if(await this[b2(0x208)](f,this['appId'])<=0x0)throw new Error('Job\x20'+f+b2(0x12a));const j=-0x3b9aca00,k=this['mintKey'](key_1[b2(0x1ca)][b2(0x178)],{'appId':this[b2(0x1b4)],'jobId':f});if(await this[b2(0x194)]()['hincrbyfloat'](k,':',j)<=j)throw new Error(b2(0x1ba)+f+'\x20already\x20completed');if(!0x1!==g[b2(0x216)]){const m=b2(0x15b),q=['$'+d],u=await this[b2(0x202)](q),v=await this[b2(0x19d)]();this[b2(0x15a)][b2(0x173)](u,v,{});const w=JSON[b2(0x144)]({'code':g['code']??enums_1[b2(0x19e)],'message':g[b2(0x1bc)]??b2(0x1e3)+f+b2(0x134),'stack':g[b2(0x179)]??'','job_id':f}),x={[m]:j[b2(0x133)]()},z=this['serializer'][b2(0x218)](x,q),A=Object[b2(0x1b7)](z)[0x0];await this['kvsql']()[b2(0x204)](k,{[A]:w});}}catch(B){if(!g[b2(0x169)])throw B;this['logger'][b2(0x207)]('suppressed-interrupt',{'message':B[b2(0x13f)]});}}async[P(0x1a2)](c){const b3=P,d=this[b3(0x209)](key_1[b3(0x1ca)][b3(0x178)],{'appId':this['appId'],'jobId':c});await this[b3(0x194)]()[b3(0x1ec)](d);}async[P(0x1f9)](c='*',d=0x3e8,f=0x3e8,g='0'){const b4=P,h=this[b4(0x209)](key_1['KeyType'][b4(0x178)],{'appId':this['appId'],'jobId':c}),{cursor:j,keys:k}=await this['kvsql']()[b4(0x138)](Number(g),d,h);return[j[b4(0x1ea)](),k];}async['findJobFields'](f,g='*',j=0x3e8,q=0x3e8,v='0'){const b5=P,w={},x=this['mintKey'](key_1[b5(0x1ca)][b5(0x178)],{'appId':this[b5(0x1b4)],'jobId':f});let z,A=null;if(g[b5(0x176)](',')){const L=/\d[^-]+-/gi,M=g[b5(0x131)](L);A=','+(M?.[0x0]??''),z=b5(0x135);}else z=b5(0x165);const B=parseInt(v,0xa)||0x0,C=this['kvsql']()[b5(0x17e)](x,b5(0x157)),D=[x];let E=D['length']+0x1;const F=b5(0x1c1)+C+b5(0x196),G=[];G[b5(0x1fd)](b5(0x161)+E),D[b5(0x1fd)](z),E++,A&&(G[b5(0x1fd)](b5(0x14f)+E),D[b5(0x1fd)]('%'+A+'%'),E++);const H=E,I=E+0x1;D[b5(0x1fd)](j,B),E+=0x2;const J=b5(0x12f)+F+b5(0x20f)+C+b5(0x19b)+G['join'](b5(0x154))+b5(0x160)+H+b5(0x186)+I+b5(0x164),K=await this[b5(0x1a1)]['query'](J,D);for(const N of K[b5(0x198)])w[N[b5(0x1fc)]]=N[b5(0x1cc)];return[K[b5(0x198)]['length']<j?'0':String(B+K['rows'][b5(0x1bb)]),w];}async[P(0x1f2)](c){const b6=P,d=this[b6(0x209)](key_1[b6(0x1ca)][b6(0x1f7)],{'appId':this['appId']});if(c[b6(0x16d)])return;const f=c[b6(0x1ee)][b6(0x133)]();if(c[b6(0x1aa)])await this[b6(0x194)]()['hset'](d,{[c[b6(0x1aa)]]:f});else{const g=this[b6(0x189)]();g[b6(0x1ec)](d),g[b6(0x204)](d,{':':f}),await g['exec']();}}async[P(0x12e)](){const b7=P,c=this[b7(0x209)](key_1['KeyType'][b7(0x1f7)],{'appId':this['appId']});return await this[b7(0x194)]()[b7(0x167)](c)??{};}async[P(0x137)](c){const b9=P,d=(h,j)=>{const b8=b,k=j in h?Number(h[j]):0x0;return isNaN(k)?0x0:-0x1==k?enums_1['MAX_DELAY']:Math[b8(0x203)](Math['min'](k,enums_1[b8(0x182)]),0x0);},f=await this[b9(0x12e)](),g=d(f,':');return':'!==c&&c in f?d(f,c):g;}}exports['PostgresStoreService']=PostgresStoreService;
@@ -25,6 +25,11 @@ declare abstract class RedisStoreBase<ClientProvider extends ProviderClient, Tra
25
25
  zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
26
26
  mintKey(type: KeyType, params: KeyStoreParams): string;
27
27
  invalidateCache(): void;
28
+ /**
29
+ * At any given time only a single engine will
30
+ * check for and process work items in the
31
+ * time and signal task queues.
32
+ */
28
33
  reserveScoutRole(scoutType: 'time' | 'signal' | 'activate', delay?: number): Promise<boolean>;
29
34
  releaseScoutRole(scoutType: 'time' | 'signal' | 'activate'): Promise<boolean>;
30
35
  getSettings(bCreate?: boolean): Promise<HotMeshSettings>;
@@ -50,10 +55,25 @@ declare abstract class RedisStoreBase<ClientProvider extends ProviderClient, Tra
50
55
  setStatus(collationKeyStatus: number, jobId: string, appId: string, transaction?: TransactionProvider): Promise<any>;
51
56
  getStatus(jobId: string, appId: string): Promise<number>;
52
57
  setState({ ...state }: StringAnyType, status: number | null, jobId: string, symbolNames: string[], dIds: StringStringType, transaction?: TransactionProvider): Promise<string>;
58
+ /**
59
+ * Returns custom search fields and values.
60
+ * NOTE: The `fields` param should NOT prefix items with an underscore.
61
+ * NOTE: Literals are allowed if quoted.
62
+ */
53
63
  getQueryState(jobId: string, fields: string[]): Promise<StringAnyType>;
54
64
  getState(jobId: string, consumes: Consumes, dIds: StringStringType): Promise<[StringAnyType, number] | undefined>;
55
65
  getRaw(jobId: string): Promise<StringStringType>;
66
+ /**
67
+ * collate is a generic method for incrementing a value in a hash
68
+ * in order to track their progress during processing.
69
+ */
56
70
  collate(jobId: string, activityId: string, amount: number, dIds: StringStringType, transaction?: TransactionProvider): Promise<number>;
71
+ /**
72
+ * Synthentic collation affects those activities in the graph
73
+ * that represent the synthetic DAG that was materialized during compilation;
74
+ * Synthetic collation distinguishes `re-entry due to failure` from
75
+ * `purposeful re-entry`.
76
+ */
57
77
  collateSynthetic(jobId: string, guid: string, amount: number, transaction?: TransactionProvider): Promise<number>;
58
78
  setStateNX(jobId: string, appId: string, status?: number): Promise<boolean>;
59
79
  getSchema(activityId: string, appVersion: AppVID): Promise<ActivityType>;
@@ -75,6 +95,12 @@ declare abstract class RedisStoreBase<ClientProvider extends ProviderClient, Tra
75
95
  processTaskQueue(sourceKey: string, destinationKey: string): Promise<any>;
76
96
  expireJob(jobId: string, inSeconds: number, redisMulti?: TransactionProvider): Promise<void>;
77
97
  getDependencies(jobId: string): Promise<string[]>;
98
+ /**
99
+ * registers a hook activity to be awakened (uses ZSET to
100
+ * store the 'sleep group' and LIST to store the events
101
+ * for the given sleep group. Sleep groups are
102
+ * organized into 'n'-second blocks (LISTS))
103
+ */
78
104
  registerTimeHook(jobId: string, gId: string, activityId: string, type: WorkListTaskType, deletionTime: number, dad: string, transaction?: TransactionProvider): Promise<void>;
79
105
  getNextTask(listKey?: string): Promise<[
80
106
  listKey: string,
@@ -83,7 +109,23 @@ declare abstract class RedisStoreBase<ClientProvider extends ProviderClient, Tra
83
109
  activityId: string,
84
110
  type: WorkListTaskType
85
111
  ] | boolean>;
112
+ /**
113
+ * when processing time jobs, the target LIST ID returned
114
+ * from the ZSET query can be prefixed to denote what to
115
+ * do with the work list. (not everything is known in advance,
116
+ * so the ZSET key defines HOW to approach the work in the
117
+ * generic LIST (lists typically contain target job ids)
118
+ * @param {string} listKey - composite key
119
+ */
86
120
  resolveTaskKeyContext(listKey: string): [WorkListTaskType, string];
121
+ /**
122
+ * Interrupts a job and sets sets a job error (410), if 'throw'!=false.
123
+ * This method is called by the engine and not by an activity and is
124
+ * followed by a call to execute job completion/cleanup tasks
125
+ * associated with a job completion event.
126
+ *
127
+ * Todo: move most of this logic to the engine (too much logic for the store)
128
+ */
87
129
  interrupt(topic: string, jobId: string, options?: JobInterruptOptions): Promise<void>;
88
130
  scrub(jobId: string): Promise<void>;
89
131
  findJobs(queryString?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, string[]]>;
@@ -1 +1 @@
1
- 'use strict';const w=b;(function(c,d){const v=b,e=c();while(!![]){try{const f=-parseInt(v(0x10e))/0x1+-parseInt(v(0xb6))/0x2*(parseInt(v(0x167))/0x3)+-parseInt(v(0x185))/0x4+parseInt(v(0xe7))/0x5+parseInt(v(0xec))/0x6+-parseInt(v(0x16d))/0x7+-parseInt(v(0x176))/0x8*(-parseInt(v(0xf8))/0x9);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xc0a47));var __createBinding=this&&this[w(0x187)]||(Object[w(0x110)]?function(c,d,e,f){const x=w;if(f===undefined)f=e;var g=Object[x(0x17b)](d,e);(!g||('get'in g?!d[x(0x12d)]:g[x(0x141)]||g[x(0x14a)]))&&(g={'enumerable':!![],'get':function(){return d[e];}}),Object['defineProperty'](c,f,g);}:function(c,d,e,f){if(f===undefined)f=e;c[f]=d[e];}),__setModuleDefault=this&&this[w(0xb1)]||(Object[w(0x110)]?function(c,d){const y=w;Object[y(0x156)](c,y(0x14c),{'enumerable':!![],'value':d});}:function(c,d){const z=w;c[z(0x14c)]=d;}),__importStar=this&&this[w(0x123)]||function(c){const A=w;if(c&&c[A(0x12d)])return c;var d={};if(c!=null){for(var e in c)if(e!==A(0x14c)&&Object[A(0xf5)][A(0x120)][A(0x184)](c,e))__createBinding(d,c,e);}return __setModuleDefault(d,c),d;};function b(c,d){const e=a();return b=function(f,g){f=f-0xae;let h=e[f];return h;},b(c,d);}Object[w(0x156)](exports,'__esModule',{'value':!![]}),exports[w(0x150)]=void 0x0;const errors_1=require(w(0x11f)),key_1=require(w(0x147)),serializer_1=require(w(0x155)),utils_1=require(w(0x134)),enums_1=require('../../../../modules/enums'),cache_1=require(w(0x180)),__1=require(w(0x170));function a(){const aR=['removeWorkItem','interrupt','getNextTask','slice','../../cache','setHookRules','package','forEach','call','835492abAOhj','\x20not\x20found','__createBinding','getSymbolValues','SCHEMAS','setApp','MATCH','MDATA_SYMBOLS','WORK_ITEMS','__setModuleDefault','join','seedSymbols','zrange','logger','3324ccLkjB','split','HOTMESH','getStatus','exec','addSymbols','Version\x20','setState','JOB_STATS_INDEX','SYMKEYS','rename','sort','Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention','setSubscriptions','deleteHookSignal','setSymbols','true','getDependencies','SYMVALS','SLOTS','0.0.0','getSchemas','suppress','SUBSCRIPTIONS','releaseScoutRole','push','GetStateError','SUBSCRIPTION_PATTERNS','collateSynthetic','lrange','active','expire','zAdd','addSymbolValues','getSubscriptions','JOB_DEPENDENTS','zadd','reserveScoutRole','/output/metadata/','activated:','setHookSignal','get','deleteSymbolValues','invalidateCache','commands','JOB','HMSH_SIGNAL_EXPIRE','shift','getJobIds','1643470EzGHca','addTaskQueues','isSuccessful','findJobs','delist','5564676uSkEgF','throttle','reason','keys','SET','findJobFields','max','LEFT','all','prototype','getSubscription','stack','39834TXiTJo','mintKey','hincrbyfloat','getTransitions','zRangeByScore','getAllSymbols','stringify','TIME_RANGE','SCAN','hset','length','isArray','collate',':cursor','parse','getApp','now','throw','getSchema','setStats','getThrottleRates','transact','1430136dNaULa','VALSEP','create','setTransitions','init','resolve','toString','startsWith','JOB_STATE','hGetAllResult','delistSignalKey','resetSymbols','versions/','StoreService','seedActivitySymbols','serializer','registerTimeHook','../../../../modules/errors','hasOwnProperty','metadata/err','DEL','__importStar','\x20already\x20completed','?:?','storeClient','setnxex','KeyService','lpop','cache','getQueryState','APP','__esModule','median','../../../../package.json','suppressed-interrupt','/output/metadata/as','code','reserveSymbolRange','../../../../modules/utils','getActiveTaskQueue','getHookRules','SIGNALS','guid','HMSH_SCOUT_INTERVAL_SECONDS','KeyType','setSchemas','Cache','getSymbolKeys','getThrottleRate','metadata/',']\x20interrupted','writable','abbreviate','getJobStats','sleep','entries','general','../../../../modules/key','namespace','deleteSymbols','configurable','hget','default','\x20does\x20not\x20exist\x20for\x20app\x20','invalidate','metadata/js','RedisStoreBase','getSymbols','setThrottleRate','THROTTLE_RATE','EXPIRE','../../../serializer','defineProperty','resolveTaskKeyContext','sleepFor','appId','HOOKS','then','setSymbolValues','setSettings','message','deployed:','JOB_STATS_MEDIAN','setStateNX','HSCAN','formatISODate','getSymKey','TYPSEP','lmove','2733lNfwvu','setWorkItem','setStatus','INTERRUPT','zrem','seedJobSymbols','3102176TBuDMk','version','hgetall','../..','hsetnx','del','topic','SerializerService','child','5656rhqFug','Job\x20','COUNT','debug','ACTIVITY','getOwnPropertyDescriptor'];a=function(){return aR;};return a();}class RedisStoreBase extends __1[w(0x11b)]{constructor(c){const B=w;super(c),this[B(0xe2)]={},this['storeClient']=c;}async[w(0x112)](c=key_1['HMNS'],d,e){const C=w;this[C(0x148)]=c,this[C(0x159)]=d,this['logger']=e;const f=await this['getSettings'](!![]);return this[C(0x12a)]=new cache_1[(C(0x13c))](d,f),this['serializer']=new serializer_1[(C(0x174))](),await this[C(0x107)](d),this[C(0x12a)]['getApps']();}[w(0xe9)](c){return c>0x0||c==='OK'||c===!![];}async[w(0x118)](c,d){const D=w;await this[D(0x126)][this[D(0xe2)][D(0x172)]](c+':'+d);}async[w(0xd6)](c,d,e,f){const E=w;return await(f||this['storeClient'])[this[E(0xe2)][E(0xda)]](c,d,e);}async[w(0xfc)](c,d,e){const F=w,f=await this['storeClient'][this['commands']['zrangebyscore']](c,d,e);if(f?.[F(0x102)]>0x0)return f[0x0];return null;}['mintKey'](c,d){const G=w;if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1[G(0x128)][G(0xf9)](this['namespace'],c,d);}[w(0xe1)](){const H=w;this['cache'][H(0x14e)]();}async[w(0xdb)](c,d=enums_1[w(0x139)]){const I=w,e=this['mintKey'](key_1[I(0x13a)][I(0xb0)],{'appId':this[I(0x159)],'scoutType':c}),f=await this[I(0xba)](I(0xf0),e,c+':'+(0x0,utils_1[I(0x163)])(new Date()),'NX','EX',''+(d-0x1));return this[I(0xe9)](f);}async[w(0xce)](c){const J=w,d=this['mintKey'](key_1[J(0x13a)][J(0xb0)],{'appId':this[J(0x159)],'scoutType':c}),e=await this['exec'](J(0x122),d);return this[J(0xe9)](e);}async['getSettings'](c=![]){const K=w;let d=this[K(0x12a)]?.['getSettings']();if(d)return d;else{if(c){const e=await Promise[K(0x113)]()[K(0x15b)](()=>__importStar(require(K(0x12f)))),f=e['version']||K(0xca);return d={'namespace':key_1['HMNS'],'version':f},await this[K(0x15d)](d),d;}}throw new Error('settings\x20not\x20found');}async[w(0x15d)](c){const L=w,d={},e=this['mintKey'](key_1[L(0x13a)][L(0xb8)],d);return await this[L(0x126)][this[L(0xe2)][L(0x101)]](e,c);}async[w(0x133)](c,d,e,f=0x1){const M=w,g=this[M(0xf9)](key_1['KeyType'][M(0xbf)],{'appId':this[M(0x159)]}),h=this['mintKey'](key_1[M(0x13a)][M(0xbf)],{'activityId':c,'appId':this[M(0x159)]}),i=await this[M(0x126)][this['commands'][M(0x171)]](g,c,M(0x125));if(i){const j=await this[M(0x126)][this[M(0xe2)]['hincrby']](g,M(0x105),d),k=j-d,l=k+':'+(j-0x1);await this[M(0x126)][this[M(0xe2)][M(0x101)]](g,c,l);const m=this[M(0xb3)](c,e,k);return await this[M(0x126)][this['commands'][M(0x101)]](h,m),[k+serializer_1[M(0xaf)][M(0xc9)],j-0x1,{}];}else{const n=await this[M(0x126)][this[M(0xe2)]['hget']](g,c),[o]=n['split'](':');if(o==='?'){await(0x0,utils_1[M(0x158)])(f*0x3e8);if(f<0x5)return this[M(0x133)](c,d,e,f+0x1);else throw new Error(M(0xc2));}else{const p=parseInt(o,0xa),q=await this[M(0x126)][this['commands'][M(0x16f)]](h),r=Object['keys'](q)[M(0x102)],s=p+serializer_1[M(0xaf)][M(0xc9)]+r,t=Number(p+d-0x1);return[s,t,q];}}}async[w(0xfd)](){const N=w,c=this[N(0xf9)](key_1[N(0x13a)][N(0xbf)],{'appId':this[N(0x159)]}),d=await this[N(0x126)][this['commands'][N(0x16f)]](c),e=Object[N(0xef)](d)[N(0xc1)]();delete e[':cursor'];const f=this[N(0x10d)]();for(const i of e){const j=this[N(0xf9)](key_1[N(0x13a)]['SYMKEYS'],{'activityId':i,'appId':this[N(0x159)]});f[this['commands'][N(0x16f)]](j);}const g=await f['exec'](),h={};return g[N(0x183)]((k,l)=>{const O=N;if(k){let m;Array[O(0x103)](k)&&k[O(0x102)]===0x2?m=k[0x1]:m=k;for(const [n,o]of Object[O(0x145)](m)){h[o]=n[O(0x115)](e[l])?n:e[l]+'/'+n;}}}),h;}async['getSymbols'](c){const P=w;let d=this['cache'][P(0x151)](this['appId'],c);if(d)return d;else{const e={'activityId':c,'appId':this[P(0x159)]},f=this[P(0xf9)](key_1['KeyType'][P(0xbf)],e);return d=await this[P(0x126)][this[P(0xe2)][P(0x16f)]](f),this[P(0x12a)][P(0xc5)](this[P(0x159)],c,d),d;}}async[w(0xbb)](c,d){const Q=w;if(!d||!Object[Q(0xef)](d)[Q(0x102)])return![];const e={'activityId':c,'appId':this[Q(0x159)]},f=this[Q(0xf9)](key_1['KeyType'][Q(0xbf)],e),g=await this[Q(0x126)][this[Q(0xe2)]['hset']](f,d);return this[Q(0x12a)][Q(0x149)](this['appId'],c),g>0x0;}['seedSymbols'](c,d,e){const R=w;if(d==='JOB')return this[R(0x16c)](e);return this[R(0x11c)](e,c);}[w(0x16c)](c){const S=w,d={};return serializer_1[S(0xaf)][S(0xe3)]['KEYS'][S(0x183)](e=>{const T=S;d[T(0x13f)+e]=(0x0,utils_1[T(0x164)])(c),c++;}),d;}[w(0x11c)](c,d){const U=w,e={};return serializer_1[U(0xaf)][U(0x17a)]['KEYS'][U(0x183)](f=>{const V=U;e[d+V(0xdc)+f]=(0x0,utils_1['getSymKey'])(c),c++;}),e;}async[w(0x188)](){const W=w;let c=this[W(0x12a)][W(0x188)](this[W(0x159)]);if(c)return c;else{const d=this[W(0xf9)](key_1[W(0x13a)][W(0xc8)],{'appId':this[W(0x159)]});return c=await this[W(0x126)][this[W(0xe2)][W(0x16f)]](d),this[W(0x12a)][W(0x15c)](this[W(0x159)],c),c;}}async[w(0xd7)](c){const X=w;if(!c||!Object[X(0xef)](c)[X(0x102)])return![];const d=this[X(0xf9)](key_1[X(0x13a)]['SYMVALS'],{'appId':this[X(0x159)]}),e=await this[X(0x126)][this[X(0xe2)]['hset']](d,c);return this[X(0x12a)][X(0xe0)](this[X(0x159)]),this[X(0xe9)](e);}async['getSymbolKeys'](c){const Y=w,d=[];for(const g of c){d[Y(0xcf)](this[Y(0x151)](g));}const e=await Promise[Y(0xf4)](d),f={};for(const h of c){f[h]=e[Y(0xe5)]();}return f;}async['getApp'](c,d=![]){const Z=w;let f=this[Z(0x12a)][Z(0x107)](c);if(d||!(f&&Object[Z(0xef)](f)['length']>0x0)){const g={'appId':c},h=this[Z(0xf9)](key_1['KeyType'][Z(0x12c)],g),i=await this['storeClient'][this[Z(0xe2)][Z(0x16f)]](h);if(!i)return null;f={};for(const j in i){try{j===Z(0xd4)?f[j]=i[j]===Z(0xc6):f[j]=i[j];}catch(k){f[j]=i[j];}}this[Z(0x12a)]['setApp'](c,f);}return f;}async[w(0x18a)](c,d){const a0=w,e={'appId':c},f=this['mintKey'](key_1[a0(0x13a)][a0(0x12c)],e),g=a0(0x11a)+d,h={'id':c,'version':d,[g]:a0(0x15f)+(0x0,utils_1[a0(0x163)])(new Date())};return await this[a0(0x126)][this[a0(0xe2)][a0(0x101)]](f,h),this[a0(0x12a)][a0(0x18a)](c,h),h;}async['activateAppVersion'](c,d){const a1=w,e={'appId':c},f=this['mintKey'](key_1[a1(0x13a)][a1(0x12c)],e),g=a1(0x11a)+d,h=await this[a1(0x107)](c,!![]);if(h&&h[g]){const i={'id':c,'version':d[a1(0x114)](),[g]:a1(0xdd)+(0x0,utils_1[a1(0x163)])(new Date()),'active':!![]};return Object['entries'](i)[a1(0x183)](([j,k])=>{i[j]=k['toString']();}),await this[a1(0x126)][this[a1(0xe2)][a1(0x101)]](f,i),!![];}throw new Error(a1(0xbc)+d+a1(0x14d)+c);}async['registerAppVersion'](c,d){const a2=w,e={'appId':c},f=this['mintKey'](key_1[a2(0x13a)][a2(0x12c)],e),g={'id':c,'version':d[a2(0x114)](),[a2(0x11a)+d]:(0x0,utils_1['formatISODate'])(new Date())};return await this[a2(0x126)][this[a2(0xe2)]['hset']](f,g);}async[w(0x10b)](c,d,e,f,g,h){const a3=w,i={'appId':g['id'],'jobId':d,'jobKey':c,'dateTime':e},j=h||this[a3(0x10d)]();if(f[a3(0x146)][a3(0x102)]){const k=this[a3(0xf9)](key_1[a3(0x13a)]['JOB_STATS_GENERAL'],i);for(const {target:l,value:m}of f[a3(0x146)]){j[this[a3(0xe2)][a3(0xfa)]](k,l,m);}}for(const {target:n,value:o}of f['index']){const p={...i,'facet':n},q=this['mintKey'](key_1['KeyType'][a3(0xbe)],p);j[this[a3(0xe2)]['rpush']](q,o[a3(0x114)]());}for(const {target:r,value:s}of f[a3(0x12e)]){const t={...i,'facet':r},u=this['mintKey'](key_1[a3(0x13a)][a3(0x160)],t);this[a3(0xd6)](u,s,r,j);}if(!h)return await j[a3(0xba)]();}[w(0x117)](c){return c;}async[w(0x143)](c){const a4=w,d=this[a4(0x10d)]();for(const g of c){d[this[a4(0xe2)][a4(0x16f)]](g);}const e=await d[a4(0xba)](),f={};for(const [h,i]of e[a4(0x145)]()){const j=c[h],k=this['hGetAllResult'](i);if(k&&Object[a4(0xef)](k)[a4(0x102)]>0x0){const l={...k};for(const [m,n]of Object[a4(0x145)](l)){l[m]=Number(n);}f[j]=l;}else f[j]={};}return f;}async[w(0xe6)](c,d){const a5=w,e=this['transact']();for(const h of c){e[this[a5(0xe2)][a5(0xd3)]](h,d[0x0],d[0x1]);}const f=await e[a5(0xba)](),g={};for(const [i,j]of f[a5(0x145)]()){const k=c[i],l=j[0x1]||j;l&&l['length']>0x0?g[k]=l:g[k]=[];}return g;}async[w(0x169)](c,d,e,f){const a6=w,g=this[a6(0xf9)](key_1[a6(0x13a)][a6(0x116)],{'appId':e,'jobId':d});return await(f||this[a6(0x126)])[this[a6(0xe2)][a6(0xfa)]](g,':',c);}async[w(0xb9)](c,d){const a7=w,e=this[a7(0xf9)](key_1[a7(0x13a)][a7(0x116)],{'appId':d,'jobId':c}),f=await this[a7(0x126)][this[a7(0xe2)][a7(0x14b)]](e,':');if(f===null)throw new Error(a7(0x177)+c+a7(0x186));return Number(f);}async[w(0xbd)]({...c},d,e,f,g,h){const a8=w;delete c[a8(0x14f)];const i=this[a8(0xf9)](key_1[a8(0x13a)]['JOB_STATE'],{'appId':this[a8(0x159)],'jobId':e}),j=await this['getSymbolKeys'](f),k=await this[a8(0x188)]();this[a8(0x11d)][a8(0x119)](j,k,g);const l=this[a8(0x11d)][a8(0x182)](c,f);return d!==null?l[':']=d['toString']():delete l[':'],await(h||this[a8(0x126)])[this[a8(0xe2)]['hset']](i,l),e;}async[w(0x12b)](c,d){const a9=w,e=this['mintKey'](key_1[a9(0x13a)][a9(0x116)],{'appId':this[a9(0x159)],'jobId':c}),f=d['map'](i=>{const aa=a9;if(i[aa(0x115)]('\x22'))return i[aa(0x17f)](0x1,-0x1);return'_'+i;}),g=await this[a9(0x126)][this['commands']['hmget']](e,f),h={};return d[a9(0x183)]((i,j)=>{const ab=a9;i[ab(0x115)]('\x22')&&(i=i[ab(0x17f)](0x1,-0x1)),h[i]=g[j];}),h;}async['getState'](c,d,e){const ac=w,f=this['mintKey'](key_1['KeyType'][ac(0x116)],{'appId':this[ac(0x159)],'jobId':c}),g=Object[ac(0xef)](d),h=await this['getSymbolKeys'](g);this[ac(0x11d)]['resetSymbols'](h,{},e);const i=this[ac(0x11d)][ac(0x142)](d,g,[':']),j=await this[ac(0x126)][this[ac(0xe2)]['hmget']](f,i),k={};let l=![];i[ac(0x183)]((m,n)=>{j[n]&&(l=!![]),k[m]=j[n];});if(l){const m=await this[ac(0x188)]();this[ac(0x11d)][ac(0x119)](h,m,e);const n=this['serializer']['unpackage'](k,g);let o=0x0;return n[':']&&(o=Number(n[':']),n[ac(0x14f)]=o,delete n[':']),[n,o];}else throw new errors_1[(ac(0xd0))](c);}async['getRaw'](c){const ad=w,d=this[ad(0xf9)](key_1[ad(0x13a)][ad(0x116)],{'appId':this[ad(0x159)],'jobId':c}),e=await this[ad(0x126)][this[ad(0xe2)][ad(0x16f)]](d);if(!e)throw new errors_1[(ad(0xd0))](c);return e;}async[w(0x104)](c,d,e,f,g){const ae=w,h=this[ae(0xf9)](key_1[ae(0x13a)][ae(0x116)],{'appId':this[ae(0x159)],'jobId':c}),i=d+ae(0x131),j=[d],k=await this[ae(0x13d)](j),l=await this['getSymbolValues']();this[ae(0x11d)][ae(0x119)](k,l,f);const m={[i]:e[ae(0x114)]()},n=this[ae(0x11d)]['package'](m,j),o=Object['keys'](n)[0x0];return await(g||this['storeClient'])[this[ae(0xe2)][ae(0xfa)]](h,o,e);}async[w(0xd2)](c,d,e,f){const af=w,g=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':c});return await(f||this[af(0x126)])[this['commands'][af(0xfa)]](g,d,e[af(0x114)]());}async[w(0x161)](c,d,e){const ag=w,f=this[ag(0xf9)](key_1['KeyType']['JOB_STATE'],{'appId':d,'jobId':c}),g=await this[ag(0x126)][this['commands'][ag(0x171)]](f,':',e?.[ag(0x114)]()??'1');return this['isSuccessful'](g);}async[w(0x10a)](c,d){const ah=w,e=this['cache']['getSchema'](d['id'],d['version'],c);if(e)return e;else{const f=await this[ah(0xcb)](d);return f[c];}}async['getSchemas'](c){const ai=w;let d=this[ai(0x12a)][ai(0xcb)](c['id'],c['version']);if(d&&Object['keys'](d)[ai(0x102)]>0x0)return d;else{const e={'appId':c['id'],'appVersion':c[ai(0x16e)]},f=this[ai(0xf9)](key_1[ai(0x13a)]['SCHEMAS'],e);d={};const g=await this[ai(0x126)][this[ai(0xe2)][ai(0x16f)]](f);return Object[ai(0x145)](g)[ai(0x183)](([h,i])=>{const aj=ai;d[h]=JSON[aj(0x106)](i);}),this['cache']['setSchemas'](c['id'],c[ai(0x16e)],d),d;}}async[w(0x13b)](c,d){const ak=w,e={'appId':d['id'],'appVersion':d['version']},f=this[ak(0xf9)](key_1['KeyType'][ak(0x189)],e),g={...c};Object[ak(0x145)](g)[ak(0x183)](([i,j])=>{const al=ak;g[i]=JSON[al(0xfe)](j);});const h=await this[ak(0x126)][this[ak(0xe2)][ak(0x101)]](f,g);return this[ak(0x12a)]['setSchemas'](d['id'],d[ak(0x16e)],c),h;}async[w(0xc3)](c,d){const am=w,e={'appId':d['id'],'appVersion':d[am(0x16e)]},f=this[am(0xf9)](key_1[am(0x13a)][am(0xcd)],e),g={...c};Object['entries'](g)[am(0x183)](([i,j])=>{g[i]=JSON['stringify'](j);});const h=await this[am(0x126)][this[am(0xe2)]['hset']](f,g);return this[am(0x12a)][am(0xc3)](d['id'],d[am(0x16e)],c),this[am(0xe9)](h);}async[w(0xd8)](c){const an=w;let d=this['cache'][an(0xd8)](c['id'],c[an(0x16e)]);if(d&&Object[an(0xef)](d)[an(0x102)]>0x0)return d;else{const e={'appId':c['id'],'appVersion':c[an(0x16e)]},f=this[an(0xf9)](key_1[an(0x13a)]['SUBSCRIPTIONS'],e);return d=await this[an(0x126)][this['commands'][an(0x16f)]](f)||{},Object[an(0x145)](d)[an(0x183)](([g,h])=>{const ao=an;d[g]=JSON[ao(0x106)](h);}),this['cache']['setSubscriptions'](c['id'],c[an(0x16e)],d),d;}}async[w(0xf6)](c,d){const ap=w,e=await this[ap(0xd8)](d);return e[c];}async[w(0x111)](c,d){const aq=w,e={'appId':d['id'],'appVersion':d['version']},f=this[aq(0xf9)](key_1[aq(0x13a)][aq(0xd1)],e),g={...c};Object[aq(0x145)](g)['forEach'](([h,i])=>{const ar=aq;g[h]=JSON[ar(0xfe)](i);});if(Object[aq(0xef)](g)[aq(0x102)]!==0x0){const h=await this['storeClient'][this[aq(0xe2)][aq(0x101)]](f,g);return this[aq(0x12a)][aq(0x111)](d['id'],d[aq(0x16e)],c),h;}}async[w(0xfb)](c){const as=w;let d=this[as(0x12a)][as(0xfb)](c['id'],c['version']);if(d&&Object[as(0xef)](d)[as(0x102)]>0x0)return d;else{const e={'appId':c['id'],'appVersion':c[as(0x16e)]},f=this['mintKey'](key_1[as(0x13a)]['SUBSCRIPTION_PATTERNS'],e);d={};const g=await this[as(0x126)][this['commands'][as(0x16f)]](f);return Object[as(0x145)](g)[as(0x183)](([h,i])=>{const at=as;d[h]=JSON[at(0x106)](i);}),this['cache'][as(0x111)](c['id'],c[as(0x16e)],d),d;}}async[w(0x181)](c){const au=w,d=this['mintKey'](key_1[au(0x13a)]['HOOKS'],{'appId':this['appId']}),e={};Object[au(0x145)](c)[au(0x183)](([f,g])=>{const av=au;e[f[av(0x114)]()]=JSON['stringify'](g);});if(Object[au(0xef)](e)[au(0x102)]!==0x0){const f=await this[au(0x126)][this[au(0xe2)][au(0x101)]](d,e);return this[au(0x12a)][au(0x181)](this[au(0x159)],c),f;}}async[w(0x136)](){const aw=w;let c=this[aw(0x12a)][aw(0x136)](this['appId']);if(c&&Object[aw(0xef)](c)[aw(0x102)]>0x0)return c;else{const d=this[aw(0xf9)](key_1[aw(0x13a)][aw(0x15a)],{'appId':this[aw(0x159)]}),e=await this[aw(0x126)][this['commands'][aw(0x16f)]](d);return c={},Object[aw(0x145)](e)[aw(0x183)](([f,g])=>{const ax=aw;c[f]=JSON[ax(0x106)](g);}),this[aw(0x12a)][aw(0x181)](this[aw(0x159)],c),c;}}async[w(0xde)](c,d){const ay=w,e=this[ay(0xf9)](key_1[ay(0x13a)]['SIGNALS'],{'appId':this['appId']}),{topic:f,resolved:g,jobId:h}=c,i=f+':'+g;await this[ay(0x127)](e+':'+i,h,Math[ay(0xf2)](c[ay(0xd5)],enums_1[ay(0xe4)]));}async['getHookSignal'](c,d){const az=w,e=this[az(0xf9)](key_1[az(0x13a)]['SIGNALS'],{'appId':this[az(0x159)]}),f=await this['storeClient'][this[az(0xe2)][az(0xdf)]](e+':'+c+':'+d);return f?f[az(0x114)]():undefined;}async[w(0xc4)](c,d){const aA=w,e=this[aA(0xf9)](key_1[aA(0x13a)][aA(0x137)],{'appId':this['appId']}),f=await this[aA(0x126)][this['commands'][aA(0x172)]](e+':'+c+':'+d);return f?Number(f):undefined;}async[w(0xe8)](c){const aB=w,d=this[aB(0x10d)](),e=this[aB(0xf9)](key_1['KeyType']['WORK_ITEMS'],{'appId':this[aB(0x159)]});for(const f of c){d[this['commands'][aB(0xda)]](e,{'score':Date[aB(0x108)]()[aB(0x114)](),'value':f},{'NX':!![]});}await d[aB(0xba)]();}async['getActiveTaskQueue'](){const aC=w;let c=this[aC(0x12a)][aC(0x135)](this['appId'])||null;if(!c){const d=this[aC(0xf9)](key_1[aC(0x13a)][aC(0xb0)],{'appId':this[aC(0x159)]}),e=await this['storeClient'][this['commands'][aC(0xb4)]](d,0x0,0x0);c=e[aC(0x102)]>0x0?e[0x0]:null,c&&this[aC(0x12a)][aC(0x168)](this[aC(0x159)],c);}return c;}async['deleteProcessedTaskQueue'](c,d,e,f=![]){const aD=w,g=this[aD(0xf9)](key_1[aD(0x13a)][aD(0xb0)],{'appId':this['appId']}),h=await this[aD(0x126)][this[aD(0xe2)][aD(0x16b)]](g,c);h&&(f?(this[aD(0x126)][this[aD(0xe2)]['expire']](e,0x0),this[aD(0x126)][this['commands'][aD(0xd5)]](d[aD(0xb7)](':')[aD(0x17f)](0x0,0x5)['join'](':'),0x0)):await this[aD(0x126)][this['commands'][aD(0xc0)]](e,d)),this[aD(0x12a)][aD(0x17c)](this[aD(0x159)]);}async['processTaskQueue'](c,d){const aE=w;return await this['storeClient'][this['commands'][aE(0x166)]](c,d,aE(0xf3),'RIGHT');}async['expireJob'](c,d,e){const aF=w;if(!isNaN(d)&&d>0x0){const f=this['mintKey'](key_1[aF(0x13a)][aF(0x116)],{'appId':this[aF(0x159)],'jobId':c});await(e||this[aF(0x126)])[this[aF(0xe2)][aF(0xd5)]](f,d);}}async[w(0xc7)](c){const aG=w,d={'appId':this[aG(0x159)],'jobId':c},e=this[aG(0xf9)](key_1[aG(0x13a)][aG(0xd9)],d);return this[aG(0x126)][this[aG(0xe2)]['lrange']](e,0x0,-0x1);}async[w(0x11e)](c,d,e,f,g,h,i){const aH=w,j=this[aH(0xf9)](key_1[aH(0x13a)][aH(0xff)],{'appId':this[aH(0x159)],'timeValue':g}),k=[f,e,d,h,c][aH(0xb2)](key_1[aH(0x10f)]),l=await(i||this[aH(0x126)])[this[aH(0xe2)]['rpush']](j,k);if(i||l===0x1){const m=this['mintKey'](key_1[aH(0x13a)]['TIME_RANGE'],{'appId':this[aH(0x159)]});await this['zAdd'](m,g[aH(0x114)](),j,i);}}async[w(0x17e)](c){const aI=w,d=this['mintKey'](key_1[aI(0x13a)][aI(0xff)],{'appId':this[aI(0x159)]});c=c||await this[aI(0xfc)](d,0x0,Date[aI(0x108)]());if(c){let [e,f]=this['resolveTaskKeyContext'](c);const g=await this[aI(0x126)][this[aI(0xe2)][aI(0x129)]](f);if(g){let [h,i,j,k,...l]=g['split'](key_1[aI(0x10f)]);const m=l['join'](key_1[aI(0x10f)]);if(h===aI(0xeb))e=aI(0xeb);else{if(h===aI(0x175))e=aI(0x175);else h==='expire-child'&&(h=aI(0xd5));}return[c,m,j,i,e];}return await this[aI(0x126)][this[aI(0xe2)][aI(0x16b)]](d,c),!![];}return![];}[w(0x157)](c){const aJ=w;if(c[aJ(0x115)](key_1[aJ(0x165)]+aJ(0x16a)))return[aJ(0x17d),c[aJ(0xb7)](key_1[aJ(0x165)])[0x2]];else return c[aJ(0x115)](key_1['TYPSEP']+aJ(0x154))?[aJ(0xd5),c[aJ(0xb7)](key_1['TYPSEP'])[0x2]]:[aJ(0x144),c];}async['interrupt'](c,d,f={}){const aK=w;try{const g=await this[aK(0xb9)](d,this[aK(0x159)]);if(g<=0x0)throw new Error(aK(0x177)+d+aK(0x124));const h=-0x3b9aca00,i=this[aK(0xf9)](key_1[aK(0x13a)][aK(0x116)],{'appId':this[aK(0x159)],'jobId':d}),j=await this[aK(0x126)][this['commands'][aK(0xfa)]](i,':',h);if(j<=h)throw new Error(aK(0x177)+d+aK(0x124));if(f[aK(0x109)]!==![]){const k=aK(0x121),l=['$'+c],m=await this['getSymbolKeys'](l),n=await this[aK(0x188)]();this[aK(0x11d)]['resetSymbols'](m,n,{});const o=JSON[aK(0xfe)]({'code':f[aK(0x132)]??enums_1['HMSH_CODE_INTERRUPT'],'message':f[aK(0xee)]??'job\x20['+d+aK(0x140),'stack':f[aK(0xf7)]??'','job_id':d}),p={[k]:h[aK(0x114)]()},q=this[aK(0x11d)][aK(0x182)](p,l),r=Object[aK(0xef)](q)[0x0];await this[aK(0x126)][this['commands']['hset']](i,r,o);}}catch(s){if(!f[aK(0xcc)])throw s;else this[aK(0xb5)][aK(0x179)](aK(0x130),{'message':s[aK(0x15e)]});}}async['scrub'](c){const aL=w,d=this[aL(0xf9)](key_1['KeyType'][aL(0x116)],{'appId':this[aL(0x159)],'jobId':c});await this[aL(0x126)][this[aL(0xe2)][aL(0x172)]](d);}async[w(0xea)](c='*',d=0x3e8,e=0x3e8,f='0'){const aM=w,g=this[aM(0xf9)](key_1[aM(0x13a)][aM(0x116)],{'appId':this[aM(0x159)],'jobId':c});let h;const i=[];do{const j=await this[aM(0xba)](aM(0x100),f,'MATCH',g,aM(0x178),e['toString']());if(Array[aM(0x103)](j)){[f,h]=j;for(const k of[...h]){i[aM(0xcf)](k);}if(i['length']>=d)break;}else break;}while(f!=='0');return[f,i];}async[w(0xf1)](c,d='*',e=0x3e8,f=0x3e8,g='0'){const aN=w;let h=[];const j={},k=this[aN(0xf9)](key_1['KeyType'][aN(0x116)],{'appId':this[aN(0x159)],'jobId':c});let l=0x0;do{const m=await this[aN(0xba)](aN(0x162),k,g,aN(0xae),d,'COUNT',f[aN(0x114)]());if(Array[aN(0x103)](m)){[g,h]=m;for(let n=0x0;n<h['length'];n+=0x2){l++,j[h[n]]=h[n+0x1];}}else break;}while(g!=='0'&&l<e);return[g,j];}async[w(0x152)](c){const aO=w,d=this[aO(0xf9)](key_1[aO(0x13a)]['THROTTLE_RATE'],{'appId':this['appId']});if(c[aO(0x138)])return;const e=c[aO(0xed)]['toString']();if(c['topic'])await this[aO(0x126)][this[aO(0xe2)]['hset']](d,{[c[aO(0x173)]]:e});else{const f=this[aO(0x10d)]();f[this[aO(0xe2)][aO(0x172)]](d),f[this[aO(0xe2)]['hset']](d,{':':e}),await f[aO(0xba)]();}}async['getThrottleRates'](){const aP=w,c=this[aP(0xf9)](key_1[aP(0x13a)][aP(0x153)],{'appId':this[aP(0x159)]}),d=await this['storeClient'][this[aP(0xe2)]['hgetall']](c);return d??{};}async[w(0x13e)](c){const aQ=w,d=(g,h)=>{const i=h in g?Number(g[h]):0x0;if(isNaN(i))return 0x0;if(i==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](i,enums_1['MAX_DELAY']),0x0);},e=await this[aQ(0x10c)](),f=d(e,':');if(c===':'||!(c in e))return f;return d(e,c);}}exports[w(0x150)]=RedisStoreBase;
1
+ 'use strict';const D=b;(function(c,d){const C=b,e=c();while(!![]){try{const f=parseInt(C(0x23d))/0x1*(parseInt(C(0x198))/0x2)+parseInt(C(0x1ff))/0x3+-parseInt(C(0x226))/0x4+-parseInt(C(0x24f))/0x5*(parseInt(C(0x20b))/0x6)+parseInt(C(0x23b))/0x7*(-parseInt(C(0x1ee))/0x8)+-parseInt(C(0x215))/0x9*(-parseInt(C(0x1ea))/0xa)+-parseInt(C(0x1f4))/0xb*(-parseInt(C(0x1fc))/0xc);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xecd8d));function b(c,d){const e=a();return b=function(f,g){f=f-0x17b;let h=e[f];return h;},b(c,d);}function a(){const aY=['settings\x20not\x20found','setState','suppressed-interrupt','activated:','setHookSignal','interrupt','collateSynthetic','resolveTaskKeyContext','0.0.0','exec','length','median','126104BWPDHS','getApp','all','__importStar','JOB_STATE','entries','HMSH_SCOUT_INTERVAL_SECONDS','findJobFields','getStatus','SCHEMAS','setStateNX','MATCH','transact','reason','../../../serializer','COUNT','setThrottleRate','zrange','SLOTS','index','getOwnPropertyDescriptor','stringify','activateAppVersion','SIGNALS','formatISODate','SerializerService','init','collate','getSymKey','hmget','package','metadata/','hGetAllResult','invalidate','TYPSEP','getQueryState','HMSH_SIGNAL_EXPIRE','Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention','metadata/err','addSymbolValues','setStats','getSymbolValues','WORK_ITEMS','EXPIRE','throttle','setSymbols','metadata/js','slice','del','seedJobSymbols','/output/metadata/as','getHookRules','delistSignalKey','reserveScoutRole','shift','MDATA_SYMBOLS','processTaskQueue','DEL',']\x20interrupted','getSymbols','KEYS','zrem','getAllSymbols','SYMKEYS','commands','seedActivitySymbols','GetStateError','setHookRules','resetSymbols','setStatus','lmove','guid','zRangeByScore','namespace','zadd','__createBinding','lpop','getApps','startsWith','scrub','expireJob','SCAN','120830YTzXim','hget','HOOKS','getThrottleRates','5464pYUUEO','logger','active','resolve','getState','hincrbyfloat','1222177CymWLy','RedisStoreBase','getSchemas','rename','setSettings','hsetnx','cache','versions/','156slvuGt','APP','deployed:','1305228kgqyBl','Cache','general','MAX_DELAY','getSymbolKeys','releaseScoutRole','hasOwnProperty','\x20does\x20not\x20exist\x20for\x20app\x20','hgetall','Job\x20','lrange','SUBSCRIPTION_PATTERNS','7264074kUlpgQ','../../../../package.json','reserveSymbolRange','join','setApp','VALSEP','toString','push','version','deleteSymbols','414mQwiPQ','THROTTLE_RATE','../../../../modules/enums','../../../../modules/errors','mintKey','defineProperty','INTERRUPT','JOB','../../../../modules/utils','hset','deleteProcessedTaskQueue','hincrby','sort','getRaw','appId','child','storeClient','4231784EbjvLc','then','zAdd','sleepFor','max','JOB_STATS_GENERAL','expire-child','getDependencies','stack','isArray','now','SYMVALS','setTransitions','TIME_RANGE','SET','addSymbols','min','expire','../../../../modules/key','invalidateCache','getJobIds','2751HgSuQX','writable','17KTndFd','default','seedSymbols','getNextTask','split','sleep','addTaskQueues','forEach','isSuccessful','getSettings','HMSH_CODE_INTERRUPT','getThrottleRate','removeWorkItem',':cursor','KeyType','HSCAN','getTransitions','getSchema','5cUzgJQ','serializer','deleteHookSignal','JOB_DEPENDENTS','__esModule','topic','HMNS','ACTIVITY','parse','setSubscriptions','rpush','true','keys','deleteSymbolValues','setSchemas','create','getSubscriptions','getJobStats','namespace\x20not\x20set','abbreviate','\x20already\x20completed'];a=function(){return aY;};return a();}var __createBinding=this&&this[D(0x1e3)]||(Object[D(0x186)]?function(c,d,f,g){const E=D;void 0x0===g&&(g=f);var h=Object[E(0x1ac)](d,f);h&&!('get'in h?!d['__esModule']:h[E(0x23c)]||h['configurable'])||(h={'enumerable':!0x0,'get':function(){return d[f];}}),Object[E(0x21a)](c,g,h);}:function(c,d,f,g){void 0x0===g&&(g=f),c[g]=d[f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object[D(0x186)]?function(c,d){const F=D;Object[F(0x21a)](c,'default',{'enumerable':!0x0,'value':d});}:function(c,d){const G=D;c[G(0x23e)]=d;}),__importStar=this&&this[D(0x19b)]||function(c){const H=D;if(c&&c[H(0x17b)])return c;var d={};if(null!=c){for(var f in c)H(0x23e)!==f&&Object['prototype'][H(0x205)]['call'](c,f)&&__createBinding(d,c,f);}return __setModuleDefault(d,c),d;};Object[D(0x21a)](exports,D(0x17b),{'value':!0x0}),exports['RedisStoreBase']=void 0x0;const errors_1=require(D(0x218)),key_1=require(D(0x238)),serializer_1=require(D(0x1a6)),utils_1=require(D(0x21d)),enums_1=require(D(0x217)),cache_1=require('../../cache'),__1=require('../..');class RedisStoreBase extends __1['StoreService']{constructor(c){const I=D;super(c),this[I(0x1d8)]={},this[I(0x225)]=c;}async[D(0x1b2)](c=key_1[D(0x17d)],d,f){const J=D;this[J(0x1e1)]=c,this['appId']=d,this[J(0x1ef)]=f;const g=await this['getSettings'](!0x0);return this[J(0x1fa)]=new cache_1[(J(0x200))](d,g),this[J(0x250)]=new serializer_1[(J(0x1b1))](),await this[J(0x199)](d),this[J(0x1fa)][J(0x1e5)]();}[D(0x245)](c){return c>0x0||'OK'===c||!0x0===c;}async[D(0x1cc)](c,d){const K=D;await this[K(0x225)][this[K(0x1d8)][K(0x1c8)]](c+':'+d);}async[D(0x228)](c,d,f,g){const L=D;return await(g||this[L(0x225)])[this['commands'][L(0x1e2)]](c,d,f);}async[D(0x1e0)](c,d,f){const M=D,g=await this[M(0x225)][this[M(0x1d8)]['zrangebyscore']](c,d,f);return g?.['length']>0x0?g[0x0]:null;}[D(0x219)](c,d){const N=D;if(!this[N(0x1e1)])throw new Error(N(0x189));return key_1['KeyService'][N(0x219)](this[N(0x1e1)],c,d);}[D(0x239)](){const O=D;this[O(0x1fa)][O(0x1b9)]();}async[D(0x1cd)](c,d=enums_1[D(0x19e)]){const P=D,f=this[P(0x219)](key_1[P(0x24b)]['WORK_ITEMS'],{'appId':this[P(0x223)],'scoutType':c}),g=await this[P(0x195)](P(0x234),f,c+':'+(0x0,utils_1['formatISODate'])(new Date()),'NX','EX',''+(d-0x1));return this[P(0x245)](g);}async[D(0x204)](c){const Q=D,d=this[Q(0x219)](key_1[Q(0x24b)][Q(0x1c2)],{'appId':this[Q(0x223)],'scoutType':c}),f=await this[Q(0x195)](Q(0x1d1),d);return this[Q(0x245)](f);}async[D(0x246)](c=!0x1){const R=D;let d=this['cache']?.[R(0x246)]();if(d)return d;if(c){const f=(await Promise[R(0x1f1)]()[R(0x227)](()=>__importStar(require(R(0x20c)))))[R(0x213)]||R(0x194);return d={'namespace':key_1[R(0x17d)],'version':f},await this[R(0x1f8)](d),d;}throw new Error(R(0x18c));}async['setSettings'](c){const S=D,d=this[S(0x219)](key_1[S(0x24b)]['HOTMESH'],{});return await this[S(0x225)][this['commands'][S(0x21e)]](d,c);}async[D(0x20d)](d,f,g,h=0x1){const T=D,j=this['mintKey'](key_1[T(0x24b)][T(0x1d7)],{'appId':this[T(0x223)]}),k=this[T(0x219)](key_1[T(0x24b)]['SYMKEYS'],{'activityId':d,'appId':this['appId']});if(await this['storeClient'][this['commands'][T(0x1f9)]](j,d,'?:?')){const l=await this[T(0x225)][this[T(0x1d8)][T(0x220)]](j,':cursor',f),m=l-f,p=m+':'+(l-0x1);await this[T(0x225)][this[T(0x1d8)][T(0x21e)]](j,d,p);const q=this[T(0x23f)](d,g,m);return await this[T(0x225)][this[T(0x1d8)][T(0x21e)]](k,q),[m+serializer_1[T(0x1cf)]['SLOTS'],l-0x1,{}];}{const u=await this['storeClient'][this[T(0x1d8)][T(0x1eb)]](j,d),[v]=u[T(0x241)](':');if('?'===v){if(await(0x0,utils_1[T(0x229)])(0x3e8*h),h<0x5)return this[T(0x20d)](d,f,g,h+0x1);throw new Error(T(0x1bd));}{const w=parseInt(v,0xa),x=await this[T(0x225)][this[T(0x1d8)][T(0x207)]](k),y=Object[T(0x183)](x)['length'];return[w+serializer_1['MDATA_SYMBOLS'][T(0x1aa)]+y,Number(w+f-0x1),x];}}}async[D(0x1d6)](){const U=D,c=this[U(0x219)](key_1['KeyType'][U(0x1d7)],{'appId':this[U(0x223)]}),d=await this[U(0x225)][this[U(0x1d8)][U(0x207)]](c),f=Object[U(0x183)](d)[U(0x221)]();delete f[U(0x24a)];const g=this[U(0x1a4)]();for(const k of f){const l=this[U(0x219)](key_1[U(0x24b)]['SYMKEYS'],{'activityId':k,'appId':this[U(0x223)]});g[this[U(0x1d8)][U(0x207)]](l);}const h=await g[U(0x195)](),j={};return h[U(0x244)]((m,o)=>{const V=U;if(m){let p;p=Array[V(0x22f)](m)&&0x2===m[V(0x196)]?m[0x1]:m;for(const [q,r]of Object[V(0x19d)](p))j[r]=q[V(0x1e6)](f[o])?q:f[o]+'/'+q;}}),j;}async[D(0x1d3)](c){const W=D;let d=this[W(0x1fa)][W(0x1d3)](this[W(0x223)],c);if(d)return d;{const f={'activityId':c,'appId':this[W(0x223)]},g=this['mintKey'](key_1['KeyType'][W(0x1d7)],f);return d=await this[W(0x225)][this[W(0x1d8)][W(0x207)]](g),this[W(0x1fa)][W(0x1c5)](this['appId'],c,d),d;}}async[D(0x235)](c,d){const X=D;if(!d||!Object[X(0x183)](d)[X(0x196)])return!0x1;const f={'activityId':c,'appId':this['appId']},g=this['mintKey'](key_1[X(0x24b)][X(0x1d7)],f),h=await this[X(0x225)][this[X(0x1d8)][X(0x21e)]](g,d);return this[X(0x1fa)][X(0x214)](this['appId'],c),h>0x0;}[D(0x23f)](c,d,f){const Y=D;return Y(0x21c)===d?this[Y(0x1c9)](f):this['seedActivitySymbols'](f,c);}['seedJobSymbols'](c){const Z=D,d={};return serializer_1['MDATA_SYMBOLS'][Z(0x21c)]['KEYS'][Z(0x244)](f=>{const a0=Z;d[a0(0x1b7)+f]=(0x0,utils_1[a0(0x1b4)])(c),c++;}),d;}[D(0x1d9)](c,d){const a1=D,f={};return serializer_1[a1(0x1cf)][a1(0x17e)][a1(0x1d4)][a1(0x244)](g=>{const a2=a1;f[d+'/output/metadata/'+g]=(0x0,utils_1[a2(0x1b4)])(c),c++;}),f;}async['getSymbolValues'](){const a3=D;let c=this[a3(0x1fa)][a3(0x1c1)](this[a3(0x223)]);if(c)return c;{const d=this[a3(0x219)](key_1[a3(0x24b)][a3(0x231)],{'appId':this['appId']});return c=await this[a3(0x225)][this[a3(0x1d8)][a3(0x207)]](d),this[a3(0x1fa)]['setSymbolValues'](this[a3(0x223)],c),c;}}async[D(0x1bf)](c){const a4=D;if(!c||!Object[a4(0x183)](c)[a4(0x196)])return!0x1;const d=this[a4(0x219)](key_1['KeyType'][a4(0x231)],{'appId':this[a4(0x223)]}),f=await this[a4(0x225)][this[a4(0x1d8)]['hset']](d,c);return this[a4(0x1fa)][a4(0x184)](this[a4(0x223)]),this['isSuccessful'](f);}async[D(0x203)](c){const a5=D,d=[];for(const h of c)d[a5(0x212)](this['getSymbols'](h));const f=await Promise[a5(0x19a)](d),g={};for(const j of c)g[j]=f[a5(0x1ce)]();return g;}async[D(0x199)](c,d=!0x1){const a6=D;let f=this[a6(0x1fa)][a6(0x199)](c);if(d||!(f&&Object['keys'](f)[a6(0x196)]>0x0)){const g={'appId':c},h=this[a6(0x219)](key_1['KeyType'][a6(0x1fd)],g),j=await this[a6(0x225)][this[a6(0x1d8)]['hgetall']](h);if(!j)return null;f={};for(const k in j)try{f[k]=a6(0x1f0)===k?a6(0x182)===j[k]:j[k];}catch(l){f[k]=j[k];}this[a6(0x1fa)][a6(0x20f)](c,f);}return f;}async[D(0x20f)](c,d){const a7=D,f={'appId':c},g=this['mintKey'](key_1['KeyType'][a7(0x1fd)],f),h='versions/'+d,j={'id':c,'version':d,[h]:a7(0x1fe)+(0x0,utils_1[a7(0x1b0)])(new Date())};return await this[a7(0x225)][this[a7(0x1d8)][a7(0x21e)]](g,j),this['cache']['setApp'](c,j),j;}async[D(0x1ae)](c,d){const a8=D,f={'appId':c},g=this[a8(0x219)](key_1[a8(0x24b)][a8(0x1fd)],f),h=a8(0x1fb)+d,j=await this[a8(0x199)](c,!0x0);if(j&&j[h]){const k={'id':c,'version':d[a8(0x211)](),[h]:a8(0x18f)+(0x0,utils_1[a8(0x1b0)])(new Date()),'active':!0x0};return Object['entries'](k)[a8(0x244)](([l,m])=>{const a9=a8;k[l]=m[a9(0x211)]();}),await this[a8(0x225)][this['commands'][a8(0x21e)]](g,k),!0x0;}throw new Error('Version\x20'+d+a8(0x206)+c);}async['registerAppVersion'](c,d){const aa=D,f={'appId':c},g=this[aa(0x219)](key_1[aa(0x24b)][aa(0x1fd)],f),h={'id':c,'version':d[aa(0x211)](),['versions/'+d]:(0x0,utils_1[aa(0x1b0)])(new Date())};return await this[aa(0x225)][this[aa(0x1d8)]['hset']](g,h);}async[D(0x1c0)](c,d,f,g,h,j){const ab=D,k={'appId':h['id'],'jobId':d,'jobKey':c,'dateTime':f},l=j||this['transact']();if(g[ab(0x201)][ab(0x196)]){const m=this[ab(0x219)](key_1[ab(0x24b)][ab(0x22b)],k);for(const {target:p,value:q}of g[ab(0x201)])l[this[ab(0x1d8)][ab(0x1f3)]](m,p,q);}for(const {target:u,value:v}of g[ab(0x1ab)]){const w={...k,'facet':u},x=this[ab(0x219)](key_1[ab(0x24b)]['JOB_STATS_INDEX'],w);l[this[ab(0x1d8)][ab(0x181)]](x,v['toString']());}for(const {target:y,value:z}of g[ab(0x197)]){const A={...k,'facet':y},B=this[ab(0x219)](key_1[ab(0x24b)]['JOB_STATS_MEDIAN'],A);this[ab(0x228)](B,z,y,l);}if(!j)return await l[ab(0x195)]();}[D(0x1b8)](c){return c;}async[D(0x188)](c){const ac=D,d=this[ac(0x1a4)]();for(const h of c)d[this[ac(0x1d8)][ac(0x207)]](h);const f=await d['exec'](),g={};for(const [j,k]of f['entries']()){const l=c[j],m=this[ac(0x1b8)](k);if(m&&Object['keys'](m)[ac(0x196)]>0x0){const o={...m};for(const [p,q]of Object[ac(0x19d)](o))o[p]=Number(q);g[l]=o;}else g[l]={};}return g;}async[D(0x23a)](c,d){const ad=D,f=this['transact']();for(const j of c)f[this['commands'][ad(0x209)]](j,d[0x0],d[0x1]);const g=await f[ad(0x195)](),h={};for(const [k,l]of g['entries']()){const m=c[k],o=l[0x1]||l;o&&o[ad(0x196)]>0x0?h[m]=o:h[m]=[];}return h;}async[D(0x1dd)](c,d,f,g){const ae=D,h=this['mintKey'](key_1[ae(0x24b)][ae(0x19c)],{'appId':f,'jobId':d});return await(g||this[ae(0x225)])[this[ae(0x1d8)][ae(0x1f3)]](h,':',c);}async['getStatus'](c,d){const af=D,f=this[af(0x219)](key_1[af(0x24b)][af(0x19c)],{'appId':d,'jobId':c}),g=await this[af(0x225)][this[af(0x1d8)][af(0x1eb)]](f,':');if(null===g)throw new Error(af(0x208)+c+'\x20not\x20found');return Number(g);}async[D(0x18d)]({...d},f,g,j,k,l){const ag=D;delete d[ag(0x1c6)];const m=this[ag(0x219)](key_1[ag(0x24b)][ag(0x19c)],{'appId':this[ag(0x223)],'jobId':g}),p=await this['getSymbolKeys'](j),q=await this['getSymbolValues']();this[ag(0x250)]['resetSymbols'](p,q,k);const u=this[ag(0x250)][ag(0x1b6)](d,j);return null!==f?u[':']=f[ag(0x211)]():delete u[':'],await(l||this[ag(0x225)])[this[ag(0x1d8)][ag(0x21e)]](m,u),g;}async[D(0x1bb)](c,d){const ah=D,f=this['mintKey'](key_1[ah(0x24b)][ah(0x19c)],{'appId':this['appId'],'jobId':c}),g=d['map'](k=>k[ah(0x1e6)]('\x22')?k[ah(0x1c7)](0x1,-0x1):'_'+k),h=await this['storeClient'][this[ah(0x1d8)][ah(0x1b5)]](f,g),j={};return d[ah(0x244)]((k,l)=>{const ai=ah;k['startsWith']('\x22')&&(k=k[ai(0x1c7)](0x1,-0x1)),j[k]=h[l];}),j;}async[D(0x1f2)](d,f,g){const aj=D,j=this[aj(0x219)](key_1[aj(0x24b)]['JOB_STATE'],{'appId':this[aj(0x223)],'jobId':d}),k=Object[aj(0x183)](f),l=await this[aj(0x203)](k);this[aj(0x250)][aj(0x1dc)](l,{},g);const m=this[aj(0x250)][aj(0x18a)](f,k,[':']),p=await this['storeClient'][this['commands']['hmget']](j,m),q={};let u=!0x1;if(m[aj(0x244)]((v,w)=>{p[w]&&(u=!0x0),q[v]=p[w];}),u){const v=await this[aj(0x1c1)]();this[aj(0x250)]['resetSymbols'](l,v,g);const w=this[aj(0x250)]['unpackage'](q,k);let x=0x0;return w[':']&&(x=Number(w[':']),w['metadata/js']=x,delete w[':']),[w,x];}throw new errors_1[(aj(0x1da))](d);}async[D(0x222)](c){const ak=D,d=this[ak(0x219)](key_1['KeyType'][ak(0x19c)],{'appId':this['appId'],'jobId':c}),f=await this[ak(0x225)][this[ak(0x1d8)][ak(0x207)]](d);if(!f)throw new errors_1[(ak(0x1da))](c);return f;}async[D(0x1b3)](d,f,g,j,k){const al=D,m=this[al(0x219)](key_1['KeyType'][al(0x19c)],{'appId':this[al(0x223)],'jobId':d}),q=f+al(0x1ca),u=[f],v=await this[al(0x203)](u),w=await this[al(0x1c1)]();this[al(0x250)][al(0x1dc)](v,w,j);const x={[q]:g[al(0x211)]()},z=this[al(0x250)][al(0x1b6)](x,u),A=Object[al(0x183)](z)[0x0];return await(k||this[al(0x225)])[this[al(0x1d8)]['hincrbyfloat']](m,A,g);}async[D(0x192)](c,d,f,g){const am=D,h=this[am(0x219)](key_1['KeyType'][am(0x19c)],{'appId':this['appId'],'jobId':c});return await(g||this[am(0x225)])[this[am(0x1d8)][am(0x1f3)]](h,d,f[am(0x211)]());}async[D(0x1a2)](c,d,f){const an=D,g=this[an(0x219)](key_1[an(0x24b)][an(0x19c)],{'appId':d,'jobId':c}),h=await this['storeClient'][this[an(0x1d8)][an(0x1f9)]](g,':',f?.['toString']()??'1');return this[an(0x245)](h);}async[D(0x24e)](c,d){const ao=D,f=this['cache'][ao(0x24e)](d['id'],d[ao(0x213)],c);if(f)return f;return(await this[ao(0x1f6)](d))[c];}async['getSchemas'](c){const ap=D;let d=this[ap(0x1fa)][ap(0x1f6)](c['id'],c[ap(0x213)]);if(d&&Object[ap(0x183)](d)['length']>0x0)return d;{const f={'appId':c['id'],'appVersion':c[ap(0x213)]},g=this[ap(0x219)](key_1[ap(0x24b)][ap(0x1a1)],f);d={};const h=await this[ap(0x225)][this[ap(0x1d8)][ap(0x207)]](g);return Object['entries'](h)['forEach'](([j,k])=>{const aq=ap;d[j]=JSON[aq(0x17f)](k);}),this['cache'][ap(0x185)](c['id'],c[ap(0x213)],d),d;}}async[D(0x185)](c,d){const ar=D,f={'appId':d['id'],'appVersion':d['version']},g=this[ar(0x219)](key_1[ar(0x24b)]['SCHEMAS'],f),h={...c};Object[ar(0x19d)](h)['forEach'](([k,l])=>{h[k]=JSON['stringify'](l);});const j=await this['storeClient'][this['commands'][ar(0x21e)]](g,h);return this[ar(0x1fa)][ar(0x185)](d['id'],d[ar(0x213)],c),j;}async[D(0x180)](c,d){const as=D,f={'appId':d['id'],'appVersion':d[as(0x213)]},g=this[as(0x219)](key_1[as(0x24b)]['SUBSCRIPTIONS'],f),h={...c};Object['entries'](h)[as(0x244)](([k,l])=>{const at=as;h[k]=JSON[at(0x1ad)](l);});const j=await this[as(0x225)][this['commands'][as(0x21e)]](g,h);return this[as(0x1fa)][as(0x180)](d['id'],d[as(0x213)],c),this['isSuccessful'](j);}async[D(0x187)](c){const au=D;let d=this[au(0x1fa)][au(0x187)](c['id'],c[au(0x213)]);if(d&&Object['keys'](d)[au(0x196)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[au(0x213)]},g=this[au(0x219)](key_1[au(0x24b)]['SUBSCRIPTIONS'],f);return d=await this[au(0x225)][this[au(0x1d8)]['hgetall']](g)||{},Object[au(0x19d)](d)[au(0x244)](([h,j])=>{const av=au;d[h]=JSON[av(0x17f)](j);}),this[au(0x1fa)]['setSubscriptions'](c['id'],c[au(0x213)],d),d;}}async['getSubscription'](c,d){const aw=D;return(await this[aw(0x187)](d))[c];}async['setTransitions'](c,d){const ax=D,f={'appId':d['id'],'appVersion':d[ax(0x213)]},g=this[ax(0x219)](key_1[ax(0x24b)][ax(0x20a)],f),h={...c};if(Object['entries'](h)['forEach'](([j,k])=>{const ay=ax;h[j]=JSON[ay(0x1ad)](k);}),0x0!==Object[ax(0x183)](h)[ax(0x196)]){const j=await this['storeClient'][this['commands'][ax(0x21e)]](g,h);return this[ax(0x1fa)]['setTransitions'](d['id'],d[ax(0x213)],c),j;}}async['getTransitions'](c){const az=D;let d=this[az(0x1fa)][az(0x24d)](c['id'],c[az(0x213)]);if(d&&Object[az(0x183)](d)[az(0x196)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[az(0x213)]},g=this[az(0x219)](key_1['KeyType'][az(0x20a)],f);d={};const h=await this['storeClient'][this[az(0x1d8)]['hgetall']](g);return Object[az(0x19d)](h)['forEach'](([j,k])=>{const aA=az;d[j]=JSON[aA(0x17f)](k);}),this['cache'][az(0x232)](c['id'],c[az(0x213)],d),d;}}async['setHookRules'](c){const aB=D,d=this[aB(0x219)](key_1[aB(0x24b)]['HOOKS'],{'appId':this[aB(0x223)]}),f={};if(Object[aB(0x19d)](c)[aB(0x244)](([g,h])=>{const aC=aB;f[g[aC(0x211)]()]=JSON['stringify'](h);}),0x0!==Object[aB(0x183)](f)['length']){const g=await this[aB(0x225)][this[aB(0x1d8)][aB(0x21e)]](d,f);return this[aB(0x1fa)][aB(0x1db)](this[aB(0x223)],c),g;}}async[D(0x1cb)](){const aD=D;let c=this[aD(0x1fa)]['getHookRules'](this[aD(0x223)]);if(c&&Object['keys'](c)[aD(0x196)]>0x0)return c;{const d=this[aD(0x219)](key_1[aD(0x24b)][aD(0x1ec)],{'appId':this[aD(0x223)]}),f=await this['storeClient'][this[aD(0x1d8)][aD(0x207)]](d);return c={},Object[aD(0x19d)](f)[aD(0x244)](([g,h])=>{c[g]=JSON['parse'](h);}),this[aD(0x1fa)][aD(0x1db)](this[aD(0x223)],c),c;}}async[D(0x190)](c,d){const aE=D,f=this[aE(0x219)](key_1[aE(0x24b)][aE(0x1af)],{'appId':this[aE(0x223)]}),{topic:g,resolved:h,jobId:j}=c,k=g+':'+h;await this['setnxex'](f+':'+k,j,Math[aE(0x22a)](c[aE(0x237)],enums_1[aE(0x1bc)]));}async['getHookSignal'](c,d){const aF=D,f=this['mintKey'](key_1[aF(0x24b)][aF(0x1af)],{'appId':this[aF(0x223)]}),g=await this['storeClient'][this[aF(0x1d8)]['get']](f+':'+c+':'+d);return g?g[aF(0x211)]():void 0x0;}async[D(0x251)](c,d){const aG=D,f=this['mintKey'](key_1['KeyType'][aG(0x1af)],{'appId':this[aG(0x223)]}),g=await this[aG(0x225)][this[aG(0x1d8)]['del']](f+':'+c+':'+d);return g?Number(g):void 0x0;}async[D(0x243)](c){const aH=D,d=this[aH(0x1a4)](),f=this[aH(0x219)](key_1['KeyType']['WORK_ITEMS'],{'appId':this[aH(0x223)]});for(const g of c)d[this[aH(0x1d8)][aH(0x1e2)]](f,{'score':Date[aH(0x230)]()[aH(0x211)](),'value':g},{'NX':!0x0});await d[aH(0x195)]();}async['getActiveTaskQueue'](){const aI=D;let c=this['cache']['getActiveTaskQueue'](this[aI(0x223)])||null;if(!c){const d=this[aI(0x219)](key_1[aI(0x24b)][aI(0x1c2)],{'appId':this[aI(0x223)]}),f=await this[aI(0x225)][this[aI(0x1d8)][aI(0x1a9)]](d,0x0,0x0);c=f[aI(0x196)]>0x0?f[0x0]:null,c&&this[aI(0x1fa)]['setWorkItem'](this['appId'],c);}return c;}async[D(0x21f)](c,d,f,g=!0x1){const aJ=D,h=this[aJ(0x219)](key_1['KeyType']['WORK_ITEMS'],{'appId':this[aJ(0x223)]});await this[aJ(0x225)][this[aJ(0x1d8)][aJ(0x1d5)]](h,c)&&(g?(this['storeClient'][this[aJ(0x1d8)][aJ(0x237)]](f,0x0),this[aJ(0x225)][this[aJ(0x1d8)][aJ(0x237)]](d[aJ(0x241)](':')[aJ(0x1c7)](0x0,0x5)[aJ(0x20e)](':'),0x0)):await this['storeClient'][this[aJ(0x1d8)][aJ(0x1f7)]](f,d)),this['cache'][aJ(0x249)](this[aJ(0x223)]);}async[D(0x1d0)](c,d){const aK=D;return await this['storeClient'][this[aK(0x1d8)][aK(0x1de)]](c,d,'LEFT','RIGHT');}async[D(0x1e8)](c,d,f){const aL=D;if(!isNaN(d)&&d>0x0){const g=this[aL(0x219)](key_1[aL(0x24b)][aL(0x19c)],{'appId':this[aL(0x223)],'jobId':c});await(f||this['storeClient'])[this[aL(0x1d8)][aL(0x237)]](g,d);}}async[D(0x22d)](c){const aM=D,d={'appId':this['appId'],'jobId':c},f=this['mintKey'](key_1['KeyType'][aM(0x252)],d);return this['storeClient'][this[aM(0x1d8)][aM(0x209)]](f,0x0,-0x1);}async['registerTimeHook'](d,f,g,j,k,l,m){const aN=D,p=this['mintKey'](key_1['KeyType'][aN(0x233)],{'appId':this[aN(0x223)],'timeValue':k}),q=[j,g,f,l,d]['join'](key_1[aN(0x210)]),u=await(m||this[aN(0x225)])[this[aN(0x1d8)][aN(0x181)]](p,q);if(m||0x1===u){const v=this[aN(0x219)](key_1[aN(0x24b)][aN(0x233)],{'appId':this[aN(0x223)]});await this[aN(0x228)](v,k['toString'](),p,m);}}async[D(0x240)](c){const aO=D,d=this[aO(0x219)](key_1['KeyType'][aO(0x233)],{'appId':this[aO(0x223)]});if(c=c||await this[aO(0x1e0)](d,0x0,Date[aO(0x230)]())){let [f,g]=this[aO(0x193)](c);const h=await this['storeClient'][this[aO(0x1d8)][aO(0x1e4)]](g);if(h){let [j,k,l,m,...p]=h[aO(0x241)](key_1[aO(0x210)]);return'delist'===j?f='delist':'child'===j?f=aO(0x224):aO(0x22c)===j&&(j=aO(0x237)),[c,p[aO(0x20e)](key_1[aO(0x210)]),l,k,f];}return await this['storeClient'][this['commands']['zrem']](d,c),!0x0;}return!0x1;}[D(0x193)](c){const aP=D;return c[aP(0x1e6)](key_1['TYPSEP']+aP(0x21b))?[aP(0x191),c[aP(0x241)](key_1['TYPSEP'])[0x2]]:c['startsWith'](key_1[aP(0x1ba)]+aP(0x1c3))?['expire',c[aP(0x241)](key_1[aP(0x1ba)])[0x2]]:[aP(0x242),c];}async[D(0x191)](d,f,g={}){const aQ=D;try{if(await this[aQ(0x1a0)](f,this[aQ(0x223)])<=0x0)throw new Error(aQ(0x208)+f+aQ(0x18b));const j=-0x3b9aca00,k=this[aQ(0x219)](key_1[aQ(0x24b)]['JOB_STATE'],{'appId':this[aQ(0x223)],'jobId':f});if(await this[aQ(0x225)][this[aQ(0x1d8)][aQ(0x1f3)]](k,':',j)<=j)throw new Error(aQ(0x208)+f+aQ(0x18b));if(!0x1!==g['throw']){const m=aQ(0x1be),q=['$'+d],u=await this[aQ(0x203)](q),v=await this[aQ(0x1c1)]();this[aQ(0x250)]['resetSymbols'](u,v,{});const w=JSON['stringify']({'code':g['code']??enums_1[aQ(0x247)],'message':g[aQ(0x1a5)]??'job\x20['+f+aQ(0x1d2),'stack':g[aQ(0x22e)]??'','job_id':f}),x={[m]:j[aQ(0x211)]()},z=this[aQ(0x250)][aQ(0x1b6)](x,q),A=Object[aQ(0x183)](z)[0x0];await this[aQ(0x225)][this[aQ(0x1d8)][aQ(0x21e)]](k,A,w);}}catch(B){if(!g['suppress'])throw B;this['logger']['debug'](aQ(0x18e),{'message':B['message']});}}async[D(0x1e7)](c){const aR=D,d=this[aR(0x219)](key_1[aR(0x24b)][aR(0x19c)],{'appId':this[aR(0x223)],'jobId':c});await this['storeClient'][this['commands']['del']](d);}async['findJobs'](c='*',d=0x3e8,f=0x3e8,g='0'){const aS=D,h=this[aS(0x219)](key_1[aS(0x24b)][aS(0x19c)],{'appId':this[aS(0x223)],'jobId':c});let j;const k=[];do{const l=await this['exec'](aS(0x1e9),g,'MATCH',h,'COUNT',f[aS(0x211)]());if(!Array[aS(0x22f)](l))break;[g,j]=l;for(const m of[...j])k['push'](m);if(k['length']>=d)break;}while('0'!==g);return[g,k];}async[D(0x19f)](d,f='*',g=0x3e8,h=0x3e8,j='0'){const aT=D;let k=[];const l={},m=this[aT(0x219)](key_1[aT(0x24b)][aT(0x19c)],{'appId':this['appId'],'jobId':d});let p=0x0;do{const q=await this[aT(0x195)](aT(0x24c),m,j,aT(0x1a3),f,aT(0x1a7),h[aT(0x211)]());if(!Array[aT(0x22f)](q))break;[j,k]=q;for(let u=0x0;u<k[aT(0x196)];u+=0x2)p++,l[k[u]]=k[u+0x1];}while('0'!==j&&p<g);return[j,l];}async[D(0x1a8)](c){const aU=D,d=this['mintKey'](key_1['KeyType'][aU(0x216)],{'appId':this[aU(0x223)]});if(c[aU(0x1df)])return;const f=c[aU(0x1c4)][aU(0x211)]();if(c[aU(0x17c)])await this[aU(0x225)][this[aU(0x1d8)]['hset']](d,{[c['topic']]:f});else{const g=this['transact']();g[this[aU(0x1d8)]['del']](d),g[this[aU(0x1d8)]['hset']](d,{':':f}),await g[aU(0x195)]();}}async[D(0x1ed)](){const aV=D,c=this[aV(0x219)](key_1['KeyType'][aV(0x216)],{'appId':this[aV(0x223)]});return await this[aV(0x225)][this[aV(0x1d8)][aV(0x207)]](c)??{};}async[D(0x248)](c){const aX=D,d=(h,j)=>{const aW=b,k=j in h?Number(h[j]):0x0;return isNaN(k)?0x0:-0x1==k?enums_1[aW(0x202)]:Math[aW(0x22a)](Math[aW(0x236)](k,enums_1[aW(0x202)]),0x0);},f=await this[aX(0x1ed)](),g=d(f,':');return':'!==c&&c in f?d(f,c):g;}}exports[D(0x1f5)]=RedisStoreBase;
@@ -3,6 +3,14 @@ import { StoreInitializable } from '../store-initializable';
3
3
  import { RedisStoreBase } from './_base';
4
4
  declare class IORedisStoreService extends RedisStoreBase<RedisClientType, RedisMultiType> implements StoreInitializable {
5
5
  constructor(storeClient: RedisClientType);
6
+ /**
7
+ * When in cluster mode, the transact wrapper only
8
+ * sends commands to the same node/shard if they share a key.
9
+ * All other commands are sent simultaneouslyusing Promise.all
10
+ * and are then collated. this is effectiely a wrapper for
11
+ * `multi` but is closer to `pipeline` in terms of usage when
12
+ * promises are used.
13
+ */
6
14
  transact(): RedisMultiType;
7
15
  exec(...args: any[]): Promise<string | string[] | string[][]>;
8
16
  setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
@@ -1 +1 @@
1
- 'use strict';function b(c,d){const e=a();return b=function(f,g){f=f-0x10a;let h=e[f];return h;},b(c,d);}const n=b;(function(c,d){const m=b,e=c();while(!![]){try{const f=parseInt(m(0x144))/0x1*(parseInt(m(0x143))/0x2)+-parseInt(m(0x139))/0x3*(parseInt(m(0x131))/0x4)+-parseInt(m(0x138))/0x5*(parseInt(m(0x13e))/0x6)+-parseInt(m(0x132))/0x7+-parseInt(m(0x10f))/0x8*(-parseInt(m(0x127))/0x9)+parseInt(m(0x141))/0xa+parseInt(m(0x122))/0xb;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x88de2));Object[n(0x120)](exports,n(0x135),{'value':!![]}),exports['IORedisStoreService']=void 0x0;const key_1=require('../../../../modules/key'),enums_1=require(n(0x11d)),_base_1=require('./_base');class IORedisStoreService extends _base_1[n(0x12b)]{constructor(c){const o=n;super(c),this[o(0x142)]={'get':'get','set':o(0x10a),'setnx':o(0x11f),'del':o(0x137),'expire':o(0x123),'hset':o(0x136),'hscan':o(0x115),'hsetnx':o(0x119),'hincrby':o(0x13b),'hdel':o(0x140),'hget':'hget','hmget':o(0x12a),'hgetall':o(0x12d),'hincrbyfloat':'hincrbyfloat','zrank':'zrank','zrange':o(0x12f),'zrangebyscore_withscores':'zrangebyscore','zrangebyscore':'zrangebyscore','zrem':'zrem','zadd':o(0x12c),'lmove':'lmove','lpop':'lpop','lrange':o(0x13a),'rename':o(0x117),'rpush':o(0x10e),'scan':o(0x12e),'xack':o(0x112),'xdel':o(0x11e)};}[n(0x11c)](){const p=n,c=this;if(enums_1[p(0x13f)]){const d=[],e=(g,h)=>{return d['push']({'command':g,'args':h}),f;},f={'sendCommand'(g){const q=p;return c[q(0x128)][q(0x111)](g);},async 'exec'(){const s=p;if(d['length']===0x0)return[];const g=d['every'](h=>{const r=b;return h[r(0x145)][0x0]===d[0x0][r(0x145)][0x0];});if(g){const h=c[s(0x128)]['multi']();d[s(0x13d)](j=>h[j[s(0x11a)]](...j[s(0x145)]));const i=await h[s(0x134)]();return i['map'](j=>j);}else return Promise[s(0x11b)](d['map'](j=>c['storeClient'][j[s(0x11a)]](...j[s(0x145)])));},'xadd'(g,h,i,j){return e('xadd',[g,h,i,j]);},'xack'(g,h,i){const t=p;return e(t(0x112),[g,h,i]);},'xdel'(g,h){const u=p;return e(u(0x11e),[g,h]);},'xlen'(g){return e('xlen',[g]);},'xpending'(g,h,i,j,k,l){const v=p;return e(v(0x118),[g,h,i,j,k,l]);},'xclaim'(g,h,i,j,k,...l){const w=p;return e(w(0x113),[g,h,i,j,k,...l]);},'del'(g){const x=p;return e(x(0x137),[g]);},'expire':function(g,h){return e('expire',[g,h]);},'hdel'(g,h){return e('hdel',[g,h]);},'hget'(g,h){const y=p;return e(y(0x130),[g,h]);},'hgetall'(g){const z=p;return e(z(0x12d),[g]);},'hincrbyfloat'(g,h,i){return e('hincrbyfloat',[g,h,i]);},'hmget'(g,h){const A=p;return e(A(0x12a),[g,h]);},'hset'(g,h){const B=p;return e(B(0x136),[g,h]);},'lrange'(g,h,i){return e('lrange',[g,h,i]);},'rpush'(g,h){const C=p;return e(C(0x10e),[g,h]);},'zadd'(...g){const D=p;return e(D(0x12c),g);},'xgroup'(g,h,i,j,k){const E=p;return e(E(0x110),[g,h,i,j,k]);}};return f;}return this[p(0x128)]['multi']();}async[n(0x134)](...c){const F=n,d=await this[F(0x128)][F(0x129)][F(0x126)](this[F(0x128)],c);if(typeof d===F(0x10b))return d;else{if(Array['isArray'](d)){if(Array[F(0x121)](d[0x0]))return d;return d;}}return d;}async[n(0x125)](c,d,e){const G=n,f=await this[G(0x128)][this[G(0x142)][G(0x10a)]](c,d,'NX','EX',e[G(0x10c)]());return this[G(0x133)](f);}[n(0x124)](c){return c[0x1];}async[n(0x116)](c){const H=n,d=this['storeClient']['multi'](),e=this[H(0x10d)](key_1[H(0x114)]['WORK_ITEMS'],{'appId':this[H(0x13c)]});for(const f of c){d[H(0x12c)](e,'NX',Date['now'](),f);}await d[H(0x134)]();}}function a(){const I=['hmget','RedisStoreBase','zadd','hgetall','scan','zrange','hget','5996TymSGl','1606829IIUQJO','isSuccessful','exec','__esModule','hset','del','5554015rGpmMg','741cdjsTQ','lrange','hincrby','appId','forEach','6afuZFy','HMSH_IS_CLUSTER','hdel','4393700SBzmqe','commands','26ZkysYx','60986EIDPHJ','args','set','string','toString','mintKey','rpush','120oFjJQS','xgroup','sendCommand','xack','xclaim','KeyType','hscan','addTaskQueues','rename','xpending','hsetnx','command','all','transact','../../../../modules/enums','xdel','setnx','defineProperty','isArray','289465lEGsDO','expire','hGetAllResult','setnxex','apply','607626rdHHbf','storeClient','call'];a=function(){return I;};return a();}exports['IORedisStoreService']=IORedisStoreService;
1
+ 'use strict';const q=b;function b(c,d){const e=a();return b=function(f,g){f=f-0x102;let h=e[f];return h;},b(c,d);}function a(){const x=['WORK_ITEMS','1495590qoiOyu','defineProperty','8824PKFkOk','addTaskQueues','push','__esModule','zrem','hscan','args','map','lmove','../../../../modules/enums','850995UREZWm','zadd','string','RedisStoreBase','hget','forEach','commands','HMSH_IS_CLUSTER','all','lrange','set','multi','177892RokCYF','12808agjIfC','xgroup','340460tcIIsr','rpush','hmget','2493FbTbsB','xack','zrank','../../../../modules/key','hset','storeClient','command','toString','setnx','del','every','hincrbyfloat','7LnaKuH','apply','hgetall','sendCommand','isArray','lpop','hdel','xadd','xdel','./_base','KeyType','hsetnx','xclaim','exec','168787WmzdDY','54VMbnmW','zrangebyscore','zrange','call','get'];a=function(){return x;};return a();}(function(c,d){const p=b,e=c();while(!![]){try{const f=-parseInt(p(0x12f))/0x1+-parseInt(p(0x110))/0x2+-parseInt(p(0x130))/0x3*(-parseInt(p(0x10f))/0x4)+-parseInt(p(0x103))/0x5+parseInt(p(0x136))/0x6*(parseInt(p(0x121))/0x7)+-parseInt(p(0x138))/0x8*(parseInt(p(0x115))/0x9)+parseInt(p(0x112))/0xa;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x69b08));Object[q(0x137)](exports,q(0x13b),{'value':!0x0}),exports['IORedisStoreService']=void 0x0;const key_1=require(q(0x118)),enums_1=require(q(0x102)),_base_1=require(q(0x12a));class IORedisStoreService extends _base_1[q(0x106)]{constructor(c){const r=q;super(c),this['commands']={'get':r(0x134),'set':r(0x10d),'setnx':r(0x11d),'del':r(0x11e),'expire':'expire','hset':r(0x119),'hscan':r(0x13d),'hsetnx':r(0x12c),'hincrby':'hincrby','hdel':'hdel','hget':'hget','hmget':r(0x114),'hgetall':r(0x123),'hincrbyfloat':'hincrbyfloat','zrank':r(0x117),'zrange':r(0x132),'zrangebyscore_withscores':r(0x131),'zrangebyscore':r(0x131),'zrem':r(0x13c),'zadd':r(0x104),'lmove':r(0x140),'lpop':r(0x126),'lrange':r(0x10c),'rename':'rename','rpush':r(0x113),'scan':'scan','xack':'xack','xdel':r(0x129)};}['transact'](){const s=q,c=this;if(enums_1[s(0x10a)]){const d=[],f=(h,i)=>(d[s(0x13a)]({'command':h,'args':i}),g),g={'sendCommand':h=>c[s(0x11a)][s(0x124)](h),async 'exec'(){const t=s;if(0x0===d['length'])return[];if(d[t(0x11f)](h=>h[t(0x13e)][0x0]===d[0x0]['args'][0x0])){const h=c[t(0x11a)][t(0x10e)]();return d[t(0x108)](i=>h[i['command']](...i['args'])),(await h[t(0x12e)]())[t(0x13f)](i=>i);}return Promise[t(0x10b)](d[t(0x13f)](i=>c[t(0x11a)][i[t(0x11b)]](...i[t(0x13e)])));},'xadd':(h,i,j,k)=>f(s(0x128),[h,i,j,k]),'xack':(h,i,j)=>f(s(0x116),[h,i,j]),'xdel':(h,i)=>f(s(0x129),[h,i]),'xlen':h=>f('xlen',[h]),'xpending':(h,j,k,l,m,o)=>f('xpending',[h,j,k,l,m,o]),'xclaim':(h,j,k,l,m,...o)=>f(s(0x12d),[h,j,k,l,m,...o]),'del':h=>f(s(0x11e),[h]),'expire':function(h,i){return f('expire',[h,i]);},'hdel':(h,i)=>f(s(0x127),[h,i]),'hget':(h,i)=>f(s(0x107),[h,i]),'hgetall':h=>f(s(0x123),[h]),'hincrbyfloat':(h,i,j)=>f(s(0x120),[h,i,j]),'hmget':(h,i)=>f(s(0x114),[h,i]),'hset':(h,i)=>f('hset',[h,i]),'lrange':(h,i,j)=>f('lrange',[h,i,j]),'rpush':(h,i)=>f(s(0x113),[h,i]),'zadd':(...h)=>f(s(0x104),h),'xgroup':(h,i,j,k,l)=>f(s(0x111),[h,i,j,k,l])};return g;}return this[s(0x11a)]['multi']();}async[q(0x12e)](...c){const u=q,d=await this[u(0x11a)][u(0x133)][u(0x122)](this[u(0x11a)],c);return u(0x105)==typeof d?d:Array[u(0x125)](d)?(Array[u(0x125)](d[0x0]),d):d;}async['setnxex'](c,d,f){const v=q,g=await this[v(0x11a)][this[v(0x109)][v(0x10d)]](c,d,'NX','EX',f[v(0x11c)]());return this['isSuccessful'](g);}['hGetAllResult'](c){return c[0x1];}async[q(0x139)](c){const w=q,d=this[w(0x11a)]['multi'](),f=this['mintKey'](key_1[w(0x12b)][w(0x135)],{'appId':this['appId']});for(const g of c)d['zadd'](f,'NX',Date['now'](),g);await d[w(0x12e)]();}}exports['IORedisStoreService']=IORedisStoreService;
@@ -3,6 +3,12 @@ import { RedisRedisClientType as RedisClientType, RedisRedisMultiType as RedisMu
3
3
  import { RedisStoreBase } from './_base';
4
4
  declare class RedisStoreService extends RedisStoreBase<RedisClientType, RedisMultiType> implements StoreInitializable {
5
5
  constructor(storeClient: RedisClientType);
6
+ /**
7
+ * When in cluster mode, the transact wrapper only
8
+ * sends commands to the same node/shard if they share a key.
9
+ * All other commands are sent simultaneouslyusing Promise.all
10
+ * and are then collated
11
+ */
6
12
  transact(): RedisMultiType;
7
13
  exec(...args: any[]): Promise<string | string[] | string[][]>;
8
14
  setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
@@ -1 +1 @@
1
- 'use strict';const n=b;(function(c,d){const m=b,e=c();while(!![]){try{const f=parseInt(m(0x11a))/0x1*(-parseInt(m(0x103))/0x2)+-parseInt(m(0x112))/0x3*(parseInt(m(0x12f))/0x4)+-parseInt(m(0x13d))/0x5+parseInt(m(0x132))/0x6*(-parseInt(m(0x105))/0x7)+-parseInt(m(0x127))/0x8*(parseInt(m(0x116))/0x9)+-parseInt(m(0x118))/0xa+-parseInt(m(0x11d))/0xb*(-parseInt(m(0x113))/0xc);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x4be6c));function b(c,d){const e=a();return b=function(f,g){f=f-0x102;let h=e[f];return h;},b(c,d);}Object[n(0x111)](exports,'__esModule',{'value':!![]}),exports[n(0x115)]=void 0x0;const enums_1=require(n(0x110)),_base_1=require(n(0x128));class RedisStoreService extends _base_1[n(0x119)]{constructor(c){const o=n;super(c),this[o(0x129)]={'get':o(0x108),'set':'SET','setnx':'SETNX','del':o(0x13b),'expire':'EXPIRE','hscan':o(0x12e),'hset':o(0x123),'hsetnx':o(0x10a),'hincrby':o(0x11c),'hdel':o(0x109),'hget':'HGET','hmget':o(0x10d),'hgetall':'HGETALL','hincrbyfloat':o(0x114),'zrange':o(0x10b),'zrangebyscore_withscores':o(0x138),'zrangebyscore':'ZRANGEBYSCORE','zrem':'ZREM','zadd':o(0x104),'lmove':'LMOVE','lrange':'LRANGE','lpop':'LPOP','rename':o(0x12a),'rpush':o(0x131),'scan':'SCAN','xack':o(0x10f),'xdel':o(0x11e),'xlen':o(0x11f)};}[n(0x133)](){const p=n,c=this;if(enums_1[p(0x130)]){const d=[],e=(g,h)=>{const q=p;return d[q(0x12c)]({'command':g[q(0x102)](),'args':h}),f;},f={'sendCommand'(g,...h){const r=p;return c[r(0x125)][r(0x134)]([g,...h]);},async 'exec'(){const s=p;if(d['length']===0x0)return[];const g=d[s(0x10e)](h=>{const t=s;return h[t(0x106)][0x0]===d[0x0][t(0x106)][0x0];});if(g){const h=c[s(0x125)]['multi']();d[s(0x107)](j=>{const u=s;if(j[u(0x135)]==='ZADD')return h[u(0x104)](j[u(0x106)][0x0],j[u(0x106)][0x1],j[u(0x106)][0x2]);return h[j[u(0x135)]](...j[u(0x106)]);});const i=await h[s(0x12b)]();return i['map'](j=>j);}else return Promise[s(0x117)](d['map'](j=>{const v=s;if(j[v(0x135)]===v(0x104))return c['storeClient']['ZADD'](j['args'][0x0],j['args'][0x1],j[v(0x106)][0x2]);return c[v(0x125)][j[v(0x135)]](...j['args']);}));},'XADD'(g,h,i,j){const w=p;return e(w(0x13c),[g,h,i,j]);},'XACK'(g,h,i){const x=p;return e(x(0x10f),[g,h,i]);},'XDEL'(g,h){const y=p;return e(y(0x11e),[g,h]);},'XLEN'(g){const z=p;return e(z(0x11f),[g]);},'XCLAIM'(g,h,i,j,k,...l){const A=p;return e(A(0x13a),[g,h,i,j,k,...l]);},'XPENDING'(g,h,i,j,k,l){return e('XPENDING',[g,h,i,j,k,l]);},'DEL':function(g){const B=p;return e(B(0x13b),[g]);},'EXPIRE':function(g,h){const C=p;return e(C(0x136),[g,h]);},'HDEL'(g,h){const D=p;return e(D(0x109),[g,h]);},'HGET'(g,h){return e('HGET',[g,h]);},'HGETALL'(g){const E=p;return e(E(0x122),[g]);},'HINCRBYFLOAT'(g,h,i){const F=p;return e(F(0x114),[g,h,i]);},'HMGET'(g,h){const G=p;return e(G(0x10d),[g,h]);},'HSET'(g,h){const H=p;return e(H(0x123),[g,h]);},'LRANGE'(g,h,i){return e('LRANGE',[g,h,i]);},'RPUSH'(g,h){return e('RPUSH',[g,h]);},'ZADD'(g,h,i){const I=p;return e(I(0x104),[g,h,i]);},'XGROUP'(g,h,i,j,k){return e('XGROUP',[g,h,i,j,k]);},'EXISTS':function(g){throw new Error('Function\x20not\x20implemented.');},'HMPUSH':function(g,h){const J=p;throw new Error(J(0x124));},'LPUSH':function(g,h){const K=p;throw new Error(K(0x124));},'SET':function(g,h){const L=p;throw new Error(L(0x124));},'ZRANGE_WITHSCORES':function(g,h,i){const M=p;throw new Error(M(0x124));},'ZRANK':function(g,h){throw new Error('Function\x20not\x20implemented.');},'ZSCORE':function(g,h){const N=p;throw new Error(N(0x124));}};return f;}return this[p(0x125)][p(0x11b)]();}async[n(0x12b)](...c){const O=n;return await this[O(0x125)][O(0x134)](c);}async[n(0x10c)](c,d,e){const P=n,f=await this['storeClient'][this['commands'][P(0x139)]](c,d,{'NX':!![],'EX':e});return this[P(0x126)](f);}async[n(0x12d)](c,d,e,f){const Q=n;return await(f||this[Q(0x125)])[this[Q(0x129)]['zadd']](c,{'score':d,'value':e[Q(0x137)]()});}async[n(0x120)](c,d,e){const R=n,f=await this[R(0x125)][this[R(0x129)][R(0x121)]](c,d,e);if(f?.['length']>0x0)return f[0x0];return null;}}exports['RedisStoreService']=RedisStoreService;function a(){const S=['585BcUtGY','29763864SnaJpI','HINCRBYFLOAT','RedisStoreService','9ACWDWR','all','3206640UpyldP','RedisStoreBase','1837wGeHHU','multi','HINCRBY','11ddGpvc','XDEL','XLEN','zRangeByScore','zrangebyscore','HGETALL','HSET','Function\x20not\x20implemented.','storeClient','isSuccessful','3408256NaQgXt','./_base','commands','RENAME','exec','push','zAdd','HSCAN','3340IDdlBh','HMSH_IS_CLUSTER','RPUSH','45384vHfvJy','transact','sendCommand','command','EXPIRE','toString','ZRANGEBYSCORE_WITHSCORES','set','XCLAIM','DEL','XADD','1493125kOWwgo','toUpperCase','536PknGNy','ZADD','434dCoLdt','args','forEach','GET','HDEL','HSETNX','ZRANGE','setnxex','HMGET','every','XACK','../../../../modules/enums','defineProperty'];a=function(){return S;};return a();}
1
+ 'use strict';const r=b;function b(c,d){const e=a();return b=function(f,g){f=f-0x114;let h=e[f];return h;},b(c,d);}(function(c,d){const q=b,e=c();while(!![]){try{const f=parseInt(q(0x126))/0x1*(parseInt(q(0x12a))/0x2)+-parseInt(q(0x114))/0x3+-parseInt(q(0x137))/0x4+-parseInt(q(0x13f))/0x5*(parseInt(q(0x135))/0x6)+parseInt(q(0x11d))/0x7+-parseInt(q(0x14d))/0x8+parseInt(q(0x123))/0x9;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x2802b));function a(){const G=['set','sendCommand','SET','toUpperCase','LRANGE','ZADD','HMGET','XCLAIM','../../../../modules/enums','HINCRBY','RedisStoreBase','__esModule','85920iTSoBo','DEL','ZRANGE','52287nEZBYQ','XACK','RPUSH','zAdd','multi','HGET','length','RENAME','every','1448664tUMEuN','all','defineProperty','storeClient','exec','HDEL','26928yforgK','HSETNX','toString','3KAaGjC','Function\x20not\x20implemented.','zadd','ZRANGEBYSCORE_WITHSCORES','216992BGUapz','HMSH_IS_CLUSTER','ZRANGEBYSCORE','commands','map','transact','LMOVE','HSET','HGETALL','RedisStoreService','args','599784KqnUmc','XLEN','973664KTrKsy','SETNX','SCAN','EXPIRE','HINCRBYFLOAT','command','zRangeByScore','HSCAN','5XySVmi','push'];a=function(){return G;};return a();}Object[r(0x11f)](exports,r(0x14c),{'value':!0x0}),exports[r(0x133)]=void 0x0;const enums_1=require(r(0x149)),_base_1=require('./_base');class RedisStoreService extends _base_1[r(0x14b)]{constructor(c){const s=r;super(c),this[s(0x12d)]={'get':'GET','set':s(0x143),'setnx':s(0x138),'del':s(0x14e),'expire':s(0x13a),'hscan':s(0x13e),'hset':s(0x131),'hsetnx':s(0x124),'hincrby':s(0x14a),'hdel':'HDEL','hget':s(0x119),'hmget':'HMGET','hgetall':s(0x132),'hincrbyfloat':s(0x13b),'zrange':s(0x14f),'zrangebyscore_withscores':s(0x129),'zrangebyscore':s(0x12c),'zrem':'ZREM','zadd':'ZADD','lmove':s(0x130),'lrange':'LRANGE','lpop':'LPOP','rename':s(0x11b),'rpush':s(0x116),'scan':s(0x139),'xack':s(0x115),'xdel':'XDEL','xlen':s(0x136)};}[r(0x12f)](){const t=r,c=this;if(enums_1[t(0x12b)]){const d=[],f=(h,i)=>(d[t(0x140)]({'command':h[t(0x144)](),'args':i}),g),g={'sendCommand':(h,...i)=>c[t(0x120)][t(0x142)]([h,...i]),async 'exec'(){const u=t;if(0x0===d[u(0x11a)])return[];if(d[u(0x11c)](h=>h[u(0x134)][0x0]===d[0x0][u(0x134)][0x0])){const h=c[u(0x120)][u(0x118)]();return d['forEach'](i=>u(0x146)===i[u(0x13c)]?h[u(0x146)](i[u(0x134)][0x0],i['args'][0x1],i['args'][0x2]):h[i[u(0x13c)]](...i['args'])),(await h[u(0x121)]())[u(0x12e)](i=>i);}return Promise[u(0x11e)](d[u(0x12e)](i=>u(0x146)===i[u(0x13c)]?c['storeClient'][u(0x146)](i[u(0x134)][0x0],i[u(0x134)][0x1],i['args'][0x2]):c['storeClient'][i['command']](...i[u(0x134)])));},'XADD':(h,i,j,k)=>f('XADD',[h,i,j,k]),'XACK':(h,i,j)=>f(t(0x115),[h,i,j]),'XDEL':(h,i)=>f('XDEL',[h,i]),'XLEN':h=>f(t(0x136),[h]),'XCLAIM':(h,j,k,l,m,...p)=>f(t(0x148),[h,j,k,l,m,...p]),'XPENDING':(h,j,k,l,m,p)=>f('XPENDING',[h,j,k,l,m,p]),'DEL':function(h){return f('DEL',[h]);},'EXPIRE':function(h,i){const v=t;return f(v(0x13a),[h,i]);},'HDEL':(h,i)=>f(t(0x122),[h,i]),'HGET':(h,i)=>f(t(0x119),[h,i]),'HGETALL':h=>f(t(0x132),[h]),'HINCRBYFLOAT':(h,i,j)=>f(t(0x13b),[h,i,j]),'HMGET':(h,i)=>f(t(0x147),[h,i]),'HSET':(h,i)=>f(t(0x131),[h,i]),'LRANGE':(h,i,j)=>f(t(0x145),[h,i,j]),'RPUSH':(h,i)=>f(t(0x116),[h,i]),'ZADD':(h,i,j)=>f(t(0x146),[h,i,j]),'XGROUP':(h,i,j,k,l)=>f('XGROUP',[h,i,j,k,l]),'EXISTS':function(h){const w=t;throw new Error(w(0x127));},'HMPUSH':function(h,i){throw new Error('Function\x20not\x20implemented.');},'LPUSH':function(h,i){const x=t;throw new Error(x(0x127));},'SET':function(h,i){const y=t;throw new Error(y(0x127));},'ZRANGE_WITHSCORES':function(h,i,j){const z=t;throw new Error(z(0x127));},'ZRANK':function(h,i){const A=t;throw new Error(A(0x127));},'ZSCORE':function(h,i){const B=t;throw new Error(B(0x127));}};return g;}return this[t(0x120)][t(0x118)]();}async[r(0x121)](...c){const C=r;return await this[C(0x120)][C(0x142)](c);}async['setnxex'](c,d,f){const D=r,g=await this[D(0x120)][this[D(0x12d)][D(0x141)]](c,d,{'NX':!0x0,'EX':f});return this['isSuccessful'](g);}async[r(0x117)](c,d,f,g){const E=r;return await(g||this[E(0x120)])[this['commands'][E(0x128)]](c,{'score':d,'value':f[E(0x125)]()});}async[r(0x13d)](c,d,f){const F=r,g=await this[F(0x120)][this[F(0x12d)]['zrangebyscore']](c,d,f);return g?.[F(0x11a)]>0x0?g[0x0]:null;}}exports['RedisStoreService']=RedisStoreService;
@@ -1 +1 @@
1
- 'use strict';var i=b;(function(c,d){var h=b,e=c();while(!![]){try{var f=parseInt(h(0x144))/0x1*(parseInt(h(0x147))/0x2)+-parseInt(h(0x148))/0x3+-parseInt(h(0x145))/0x4+-parseInt(h(0x14a))/0x5+-parseInt(h(0x146))/0x6*(-parseInt(h(0x149))/0x7)+parseInt(h(0x141))/0x8*(parseInt(h(0x142))/0x9)+-parseInt(h(0x14b))/0xa;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xf23c4));function a(){var j=['132iSOMZg','852102eKSOYD','14nNKlUD','1093205mQJPfU','8453570nOdvDP','__esModule','303088gPJmbf','387JcZEjC','defineProperty','16053ZKseoO','4324888cCjXig','2198562xXSKFB'];a=function(){return j;};return a();}function b(c,d){var e=a();return b=function(f,g){f=f-0x141;var h=e[f];return h;},b(c,d);}Object[i(0x143)](exports,i(0x14c),{'value':!![]});
1
+ 'use strict';var i=b;function b(c,d){var e=a();return b=function(f,g){f=f-0x1e9;var h=e[f];return h;},b(c,d);}function a(){var j=['2872mAhmUk','169tOiINi','254bfqZyP','2576790CFOfmy','defineProperty','7ITbFUi','846675NHGfkw','1684356DQcHtn','580AkLJnT','17920dGFbZk','4869102hnNmDN','22misnqo','1472yljwLs','35613ENYrAq'];a=function(){return j;};return a();}(function(c,d){var h=b,e=c();while(!![]){try{var f=-parseInt(h(0x1f0))/0x1*(parseInt(h(0x1f4))/0x2)+-parseInt(h(0x1ea))/0x3+parseInt(h(0x1ed))/0x4*(parseInt(h(0x1ec))/0x5)+parseInt(h(0x1ee))/0x6*(parseInt(h(0x1e9))/0x7)+parseInt(h(0x1f2))/0x8*(-parseInt(h(0x1f1))/0x9)+parseInt(h(0x1f5))/0xa*(-parseInt(h(0x1ef))/0xb)+-parseInt(h(0x1eb))/0xc*(-parseInt(h(0x1f3))/0xd);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xb74ea));Object[i(0x1f6)](exports,'__esModule',{'value':!0x0});
@@ -16,6 +16,7 @@ class StreamServiceFactory {
16
16
  storeProvider = storeProvider;
17
17
  }
18
18
  else {
19
+ //ioredis
19
20
  storeProvider = storeProvider;
20
21
  }
21
22
  service = new nats_1.NatsStreamService(provider, storeProvider);
@@ -28,7 +29,7 @@ class StreamServiceFactory {
28
29
  }
29
30
  else if (providerType === 'ioredis') {
30
31
  service = new ioredis_1.IORedisStreamService(provider, storeProvider);
31
- }
32
+ } //etc register other providers here
32
33
  await service.init(namespace, appId, logger);
33
34
  return service;
34
35
  }
@@ -22,6 +22,10 @@ export declare abstract class StreamService<ClientProvider extends ProviderClien
22
22
  batchSize?: number;
23
23
  blockTimeout?: number;
24
24
  autoAck?: boolean;
25
+ enableBackoff?: boolean;
26
+ initialBackoff?: number;
27
+ maxBackoff?: number;
28
+ maxRetries?: number;
25
29
  }): Promise<StreamMessage[]>;
26
30
  abstract transact(): ProviderTransaction;
27
31
  abstract ackAndDelete(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number>;
@@ -1 +1 @@
1
- 'use strict';const n=b;(function(c,d){const m=b,e=c();while(!![]){try{const f=parseInt(m(0xf2))/0x1+-parseInt(m(0x10a))/0x2+parseInt(m(0x10f))/0x3*(-parseInt(m(0x108))/0x4)+-parseInt(m(0x12c))/0x5+parseInt(m(0x107))/0x6*(-parseInt(m(0x137))/0x7)+parseInt(m(0x10b))/0x8*(parseInt(m(0x11e))/0x9)+parseInt(m(0xf9))/0xa;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x19377));function a(){const F=['../../../../modules/utils','Error\x20trimming\x20stream\x20','jsm','165662jlObgA','state','from','../../../../modules/enums','createConsumerGroup','maxAge','jetstreamManager','all','explicit','add','184452LqcGCk','../../../../modules/key','max_msgs','getStreamDepths','trimStream','transact','fetch','234020kBFSyz','Error\x20publishing\x20messages\x20to\x20','deleteStream','publishMessages','delete','parseStreamMessage','getStreamDepth','publish','getStreamStats','appId','length','getProviderSpecificFeatures','logger','ackAndDelete','30elitsL','6252XVJcCl','blockTimeout','71178gIkSoP','1474584ncAimj','Error\x20getting\x20depth\x20for\x20','deleteMessage','\x20for\x20stream\x20','15nXKXpk','info','get','Error\x20deleting\x20stream\x20','workqueue','mintKey','namespace','defineProperty','.message','HMSH_BLOCK_TIME_MS','map','max_age','seq','Error\x20creating\x20stream\x20','toString','9OkEBcG','maxLen','deleteConsumerGroup','NatsStreamService','KeyService','push','streams','deleteMessages','createStream','messages','acknowledgeMessages','retryMessages','init','Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20','635780tFSGEN','jetstream','error','StreamService','string','memory','consumers','update'];a=function(){return F;};return a();}Object[n(0x116)](exports,'__esModule',{'value':!![]}),exports[n(0x121)]=void 0x0;const index_1=require('../../index'),key_1=require(n(0xf3)),enums_1=require(n(0x13a)),utils_1=require(n(0x134));function b(c,d){const e=a();return b=function(f,g){f=f-0xee;let h=e[f];return h;},b(c,d);}class NatsStreamService extends index_1[n(0x12f)]{constructor(c,d,e={}){const o=n;super(c,d,e),this[o(0x12d)]=c[o(0x12d)]();}async[n(0x12a)](c,d,e){const p=n;this['namespace']=c,this[p(0x105)]=e,this[p(0x102)]=d,this['jsm']=await this[p(0x12d)][p(0xee)]();}['mintKey'](c,d){const q=n;if(!this[q(0x115)])throw new Error('namespace\x20not\x20set');return key_1[q(0x122)][q(0x114)](this[q(0x115)],c,{...d,'appId':this[q(0x102)]});}[n(0xf7)](){return{};}async[n(0x126)](c){const r=n;try{const d={'name':c,'subjects':[c+'.*'],'retention':r(0x113),'storage':r(0x131),'num_replicas':0x1};return await this[r(0x136)][r(0x124)][r(0xf1)](d),!![];}catch(e){this[r(0x105)]['error'](r(0x11c)+c,{'error':e});throw e;}}async[n(0xfb)](c){const s=n;try{return await this['jsm'][s(0x124)][s(0xfd)](c),!![];}catch(d){this[s(0x105)][s(0x12e)](s(0x112)+c,{'error':d});throw d;}}async[n(0x13b)](c,d){const t=n;try{const e={'durable_name':d,'deliver_group':d,'ack_policy':t(0xf0),'ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this[t(0x136)]['consumers'][t(0xf1)](c,e),!![];}catch(f){this[t(0x105)][t(0x12e)]('Error\x20creating\x20consumer\x20group\x20'+d+t(0x10e)+c,{'error':f});throw f;}}async[n(0x120)](c,d){const u=n;try{return await this[u(0x136)]['consumers'][u(0xfd)](c,d),!![];}catch(e){this[u(0x105)][u(0x12e)]('Error\x20deleting\x20consumer\x20group\x20'+d+u(0x10e)+c,{'error':e});throw e;}}async[n(0xfc)](c,d,e){const v=n;try{const f=d[v(0x119)](async h=>{const w=v,i=c+w(0x117),j=await this[w(0x12d)][w(0x100)](i,Buffer[w(0x139)](h));return j;}),g=await Promise[v(0xef)](f);return g[v(0x119)](h=>h[v(0x11b)]['toString']());}catch(h){this['logger'][v(0x12e)](v(0xfa)+c,{'error':h});throw h;}}async['consumeMessages'](c,d,e,f){const x=n;try{const g=await this[x(0x12d)][x(0x132)][x(0x111)](c,d),h=[],i={'max_messages':f?.['batchSize']||0x1,'expires':f?.[x(0x109)]||enums_1[x(0x118)]},j=await g[x(0xf8)](i);for await(const k of j){h[x(0x123)]({'id':k[x(0x11b)][x(0x11d)](),'data':(0x0,utils_1[x(0xfe)])(k[x(0x130)]())});}return h;}catch(l){this[x(0x105)][x(0x12e)]('Error\x20consuming\x20messages\x20from\x20'+c,{'error':l});throw l;}}async[n(0x106)](c,d,e){const y=n;try{return await this['acknowledgeMessages'](c,d,e),e[y(0x103)];}catch(f){this['logger']['error'](y(0x12b)+c,{'error':f});throw f;}}async[n(0x128)](c,d,e,f){const z=n;return e[z(0x103)];}async[n(0x125)](c,d,e,f){const A=n;try{return await Promise[A(0xef)](e[A(0x119)](g=>this[A(0x136)]['streams'][A(0x10d)](c,parseInt(g)))),e['length'];}catch(g){this[A(0x105)][A(0x12e)]('Error\x20deleting\x20messages\x20from\x20'+c,{'error':g});throw g;}}async[n(0x129)](c,d,e){return[];}async[n(0x101)](c){const B=n;try{const d=await this[B(0x136)][B(0x124)][B(0x110)](c);return{'messageCount':d[B(0x138)][B(0x127)]};}catch(e){this[B(0x105)][B(0x12e)]('Error\x20getting\x20stats\x20for\x20'+c,{'error':e});throw e;}}async[n(0xff)](c){const C=n;try{const d=await this[C(0x136)][C(0x124)][C(0x110)](c);return d[C(0x138)][C(0x127)];}catch(e){this[C(0x105)][C(0x12e)](C(0x10c)+c,{'error':e});throw e;}}async[n(0xf5)](c){const D=n;try{const d=await Promise[D(0xef)](c[D(0x119)](async({stream:e})=>({'stream':e,'depth':await this[D(0xff)](e)})));return d;}catch(e){this[D(0x105)]['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':e});throw e;}}async[n(0xf6)](c,d){const E=n;try{const e=await this[E(0x136)][E(0x124)][E(0x110)](c),f={...e['config']};return d[E(0x11f)]!==undefined&&(f[E(0xf4)]=d[E(0x11f)]),d[E(0x13c)]!==undefined&&(f[E(0x11a)]=d[E(0x13c)]*0x3b9aca00),await this['jsm'][E(0x124)][E(0x133)](c,f),0x0;}catch(g){this['logger'][E(0x12e)](E(0x135)+c,{'error':g});throw g;}}[n(0x104)](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports[n(0x121)]=NatsStreamService;
1
+ 'use strict';function b(c,d){const e=a();return b=function(f,g){f=f-0x17b;let h=e[f];return h;},b(c,d);}const p=b;(function(c,d){const o=b,e=c();while(!![]){try{const f=parseInt(o(0x1a3))/0x1+-parseInt(o(0x1ac))/0x2*(-parseInt(o(0x17e))/0x3)+parseInt(o(0x1c4))/0x4*(parseInt(o(0x186))/0x5)+-parseInt(o(0x182))/0x6+-parseInt(o(0x1ab))/0x7*(parseInt(o(0x18a))/0x8)+parseInt(o(0x1b5))/0x9*(-parseInt(o(0x181))/0xa)+parseInt(o(0x196))/0xb;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xc2555));Object[p(0x1a8)](exports,p(0x180),{'value':!0x0}),exports[p(0x1b1)]=void 0x0;const index_1=require(p(0x192)),key_1=require(p(0x198)),enums_1=require(p(0x1b6)),utils_1=require(p(0x1c0));class NatsStreamService extends index_1[p(0x185)]{constructor(c,d,f={}){const q=p;super(c,d,f),this[q(0x193)]=c['jetstream']();}async[p(0x194)](c,d,f){const r=p;this[r(0x183)]=c,this['logger']=f,this[r(0x1b2)]=d,this[r(0x191)]=await this[r(0x193)]['jetstreamManager']();}[p(0x18c)](c,d){const s=p;if(!this[s(0x183)])throw new Error(s(0x199));return key_1[s(0x1a2)][s(0x18c)](this[s(0x183)],c,{...d,'appId':this['appId']});}[p(0x19a)](){return{};}async[p(0x1bd)](c){const t=p;try{const d={'name':c,'subjects':[c+'.*'],'retention':t(0x1bb),'storage':'memory','num_replicas':0x1};return await this[t(0x191)]['streams']['add'](d),!0x0;}catch(f){throw this[t(0x188)][t(0x187)](t(0x1c3)+c,{'error':f}),f;}}async[p(0x19e)](c){const u=p;try{return await this[u(0x191)][u(0x1b9)][u(0x1a9)](c),!0x0;}catch(d){throw this[u(0x188)][u(0x187)](u(0x1ad)+c,{'error':d}),d;}}async['createConsumerGroup'](c,d){const v=p;try{const f={'durable_name':d,'deliver_group':d,'ack_policy':v(0x1a0),'ack_wait':0x7530,'max_deliver':0xa};return await this['jsm'][v(0x17d)][v(0x19d)](c,f),!0x0;}catch(g){throw this[v(0x188)][v(0x187)]('Error\x20creating\x20consumer\x20group\x20'+d+v(0x1bf)+c,{'error':g}),g;}}async[p(0x1c5)](c,d){const w=p;try{return await this[w(0x191)][w(0x17d)]['delete'](c,d),!0x0;}catch(f){throw this[w(0x188)][w(0x187)](w(0x17b)+d+w(0x1bf)+c,{'error':f}),f;}}async['publishMessages'](c,d,f){const x=p;try{const g=d[x(0x19b)](async h=>{const y=x,i=c+y(0x1c2);return await this[y(0x193)][y(0x1a4)](i,Buffer['from'](h));});return(await Promise[x(0x1a5)](g))[x(0x19b)](h=>h[x(0x184)]['toString']());}catch(h){throw this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+c,{'error':h}),h;}}async[p(0x1af)](c,d,f,g){const z=p;try{const h=await this[z(0x193)][z(0x17d)][z(0x18e)](c,d),j=[],k={'max_messages':g?.[z(0x1b7)]||0x1,'expires':g?.[z(0x19f)]||enums_1[z(0x1c6)]},l=await h['fetch'](k);for await(const m of l)j[z(0x19c)]({'id':m[z(0x184)]['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(m['string']())});return j;}catch(n){throw this[z(0x188)][z(0x187)](z(0x17f)+c,{'error':n}),n;}}async[p(0x1b0)](c,d,f){const A=p;try{return await this[A(0x1a6)](c,d,f),f[A(0x18f)];}catch(g){throw this[A(0x188)][A(0x187)](A(0x1c1)+c,{'error':g}),g;}}async[p(0x1a6)](c,d,f,g){const B=p;return f[B(0x18f)];}async[p(0x1aa)](c,d,f,g){const C=p;try{return await Promise[C(0x1a5)](f['map'](h=>this['jsm']['streams'][C(0x1bc)](c,parseInt(h)))),f['length'];}catch(h){throw this[C(0x188)]['error'](C(0x1ba)+c,{'error':h}),h;}}async['retryMessages'](c,d,f){return[];}async['getStreamStats'](c){const D=p;try{return{'messageCount':(await this[D(0x191)]['streams'][D(0x18b)](c))[D(0x1a1)][D(0x197)]};}catch(d){throw this[D(0x188)][D(0x187)](D(0x18d)+c,{'error':d}),d;}}async[p(0x1b3)](c){const E=p;try{return(await this[E(0x191)][E(0x1b9)][E(0x18b)](c))['state'][E(0x197)];}catch(d){throw this['logger']['error'](E(0x1b8)+c,{'error':d}),d;}}async[p(0x17c)](c){const F=p;try{return await Promise[F(0x1a5)](c[F(0x19b)](async({stream:d})=>({'stream':d,'depth':await this[F(0x1b3)](d)})));}catch(d){throw this[F(0x188)][F(0x187)](F(0x195),{'error':d}),d;}}async['trimStream'](c,d){const G=p;try{const f={...(await this['jsm']['streams']['info'](c))[G(0x190)]};return void 0x0!==d[G(0x1a7)]&&(f[G(0x1be)]=d[G(0x1a7)]),void 0x0!==d[G(0x189)]&&(f['max_age']=0x3b9aca00*d[G(0x189)]),await this[G(0x191)][G(0x1b9)][G(0x1b4)](c,f),0x0;}catch(g){throw this['logger']['error'](G(0x1ae)+c,{'error':g}),g;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!0x0,'supportsDeadLetterQueue':!0x0,'supportsOrdering':!0x0,'supportsTrimming':!0x0,'supportsRetry':!0x1,'maxMessageSize':0x100000,'maxBatchSize':0x100};}}exports['NatsStreamService']=NatsStreamService;function a(){const H=['batchSize','Error\x20getting\x20depth\x20for\x20','streams','Error\x20deleting\x20messages\x20from\x20','workqueue','deleteMessage','createStream','max_msgs','\x20for\x20stream\x20','../../../../modules/utils','Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20','.message','Error\x20creating\x20stream\x20','12qAyjxi','deleteConsumerGroup','HMSH_BLOCK_TIME_MS','Error\x20deleting\x20consumer\x20group\x20','getStreamDepths','consumers','6vizaLZ','Error\x20consuming\x20messages\x20from\x20','__esModule','20WFnBFD','8972118ZhhqEs','namespace','seq','StreamService','2539115PLHnPV','error','logger','maxAge','8PEykxp','info','mintKey','Error\x20getting\x20stats\x20for\x20','get','length','config','jsm','../../index','jetstream','init','Error\x20getting\x20multiple\x20stream\x20depths','22388432foEbnt','messages','../../../../modules/key','namespace\x20not\x20set','transact','map','push','add','deleteStream','blockTimeout','explicit','state','KeyService','771752nKoazz','publish','all','acknowledgeMessages','maxLen','defineProperty','delete','deleteMessages','9671067mSDTJl','631872mnREfI','Error\x20deleting\x20stream\x20','Error\x20trimming\x20stream\x20','consumeMessages','ackAndDelete','NatsStreamService','appId','getStreamDepth','update','5802669WSWIlk','../../../../modules/enums'];a=function(){return H;};return a();}