@hotmeshio/hotmesh 0.3.32 → 0.4.0

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 (254) hide show
  1. package/README.md +128 -823
  2. package/build/index.d.ts +9 -9
  3. package/build/index.js +10 -10
  4. package/build/package.json +22 -21
  5. package/build/types/error.d.ts +5 -5
  6. package/build/types/exporter.d.ts +1 -1
  7. package/build/types/index.d.ts +3 -3
  8. package/build/types/manifest.d.ts +2 -2
  9. package/build/types/{meshflow.d.ts → memflow.d.ts} +15 -15
  10. package/build/types/meshdata.d.ts +3 -3
  11. package/build/types/postgres.d.ts +7 -0
  12. package/build/types/stream.d.ts +3 -0
  13. package/index.ts +11 -11
  14. package/package.json +22 -21
  15. package/typedoc.json +8 -7
  16. package/types/error.ts +5 -5
  17. package/types/exporter.ts +1 -1
  18. package/types/index.ts +7 -7
  19. package/types/manifest.ts +2 -2
  20. package/types/{meshflow.ts → memflow.ts} +15 -15
  21. package/types/meshdata.ts +3 -3
  22. package/types/postgres.ts +9 -0
  23. package/types/stream.ts +4 -0
  24. package/build/modules/enums.d.ts +0 -110
  25. package/build/modules/enums.js +0 -134
  26. package/build/modules/errors.d.ts +0 -124
  27. package/build/modules/errors.js +0 -191
  28. package/build/modules/key.d.ts +0 -66
  29. package/build/modules/key.js +0 -1
  30. package/build/modules/storage.d.ts +0 -3
  31. package/build/modules/storage.js +0 -5
  32. package/build/modules/utils.d.ts +0 -119
  33. package/build/modules/utils.js +0 -1
  34. package/build/services/activities/activity.d.ts +0 -104
  35. package/build/services/activities/activity.js +0 -1
  36. package/build/services/activities/await.d.ts +0 -12
  37. package/build/services/activities/await.js +0 -1
  38. package/build/services/activities/cycle.d.ts +0 -19
  39. package/build/services/activities/cycle.js +0 -1
  40. package/build/services/activities/hook.d.ts +0 -27
  41. package/build/services/activities/hook.js +0 -1
  42. package/build/services/activities/index.d.ts +0 -19
  43. package/build/services/activities/index.js +0 -1
  44. package/build/services/activities/interrupt.d.ts +0 -16
  45. package/build/services/activities/interrupt.js +0 -1
  46. package/build/services/activities/signal.d.ts +0 -20
  47. package/build/services/activities/signal.js +0 -1
  48. package/build/services/activities/trigger.d.ts +0 -37
  49. package/build/services/activities/trigger.js +0 -1
  50. package/build/services/activities/worker.d.ts +0 -12
  51. package/build/services/activities/worker.js +0 -1
  52. package/build/services/collator/index.d.ts +0 -111
  53. package/build/services/collator/index.js +0 -1
  54. package/build/services/compiler/deployer.d.ts +0 -40
  55. package/build/services/compiler/deployer.js +0 -1
  56. package/build/services/compiler/index.d.ts +0 -32
  57. package/build/services/compiler/index.js +0 -1
  58. package/build/services/compiler/validator.d.ts +0 -34
  59. package/build/services/compiler/validator.js +0 -1
  60. package/build/services/connector/factory.d.ts +0 -22
  61. package/build/services/connector/factory.js +0 -99
  62. package/build/services/connector/index.d.ts +0 -30
  63. package/build/services/connector/index.js +0 -54
  64. package/build/services/connector/providers/ioredis.d.ts +0 -9
  65. package/build/services/connector/providers/ioredis.js +0 -26
  66. package/build/services/connector/providers/nats.d.ts +0 -9
  67. package/build/services/connector/providers/nats.js +0 -34
  68. package/build/services/connector/providers/postgres.d.ts +0 -20
  69. package/build/services/connector/providers/postgres.js +0 -102
  70. package/build/services/connector/providers/redis.d.ts +0 -9
  71. package/build/services/connector/providers/redis.js +0 -38
  72. package/build/services/engine/index.d.ts +0 -264
  73. package/build/services/engine/index.js +0 -1
  74. package/build/services/exporter/index.d.ts +0 -44
  75. package/build/services/exporter/index.js +0 -1
  76. package/build/services/hotmesh/index.d.ts +0 -340
  77. package/build/services/hotmesh/index.js +0 -479
  78. package/build/services/logger/index.d.ts +0 -16
  79. package/build/services/logger/index.js +0 -54
  80. package/build/services/mapper/index.d.ts +0 -28
  81. package/build/services/mapper/index.js +0 -1
  82. package/build/services/meshcall/index.d.ts +0 -194
  83. package/build/services/meshcall/index.js +0 -452
  84. package/build/services/meshcall/schemas/factory.d.ts +0 -9
  85. package/build/services/meshcall/schemas/factory.js +0 -189
  86. package/build/services/meshdata/index.d.ts +0 -795
  87. package/build/services/meshdata/index.js +0 -1235
  88. package/build/services/meshflow/client.d.ts +0 -108
  89. package/build/services/meshflow/client.js +0 -371
  90. package/build/services/meshflow/connection.d.ts +0 -23
  91. package/build/services/meshflow/connection.js +0 -33
  92. package/build/services/meshflow/exporter.d.ts +0 -51
  93. package/build/services/meshflow/exporter.js +0 -1
  94. package/build/services/meshflow/handle.d.ts +0 -90
  95. package/build/services/meshflow/handle.js +0 -176
  96. package/build/services/meshflow/index.d.ts +0 -111
  97. package/build/services/meshflow/index.js +0 -117
  98. package/build/services/meshflow/schemas/factory.d.ts +0 -29
  99. package/build/services/meshflow/schemas/factory.js +0 -2492
  100. package/build/services/meshflow/search.d.ts +0 -142
  101. package/build/services/meshflow/search.js +0 -320
  102. package/build/services/meshflow/worker.d.ts +0 -124
  103. package/build/services/meshflow/worker.js +0 -514
  104. package/build/services/meshflow/workflow/all.d.ts +0 -7
  105. package/build/services/meshflow/workflow/all.js +0 -15
  106. package/build/services/meshflow/workflow/common.d.ts +0 -18
  107. package/build/services/meshflow/workflow/common.js +0 -45
  108. package/build/services/meshflow/workflow/context.d.ts +0 -6
  109. package/build/services/meshflow/workflow/context.js +0 -45
  110. package/build/services/meshflow/workflow/didRun.d.ts +0 -7
  111. package/build/services/meshflow/workflow/didRun.js +0 -22
  112. package/build/services/meshflow/workflow/emit.d.ts +0 -11
  113. package/build/services/meshflow/workflow/emit.js +0 -29
  114. package/build/services/meshflow/workflow/enrich.d.ts +0 -9
  115. package/build/services/meshflow/workflow/enrich.js +0 -17
  116. package/build/services/meshflow/workflow/execChild.d.ts +0 -18
  117. package/build/services/meshflow/workflow/execChild.js +0 -102
  118. package/build/services/meshflow/workflow/hook.d.ts +0 -9
  119. package/build/services/meshflow/workflow/hook.js +0 -40
  120. package/build/services/meshflow/workflow/index.d.ts +0 -70
  121. package/build/services/meshflow/workflow/index.js +0 -83
  122. package/build/services/meshflow/workflow/interrupt.d.ts +0 -9
  123. package/build/services/meshflow/workflow/interrupt.js +0 -24
  124. package/build/services/meshflow/workflow/isSideEffectAllowed.d.ts +0 -10
  125. package/build/services/meshflow/workflow/isSideEffectAllowed.js +0 -33
  126. package/build/services/meshflow/workflow/proxyActivities.d.ts +0 -20
  127. package/build/services/meshflow/workflow/proxyActivities.js +0 -97
  128. package/build/services/meshflow/workflow/random.d.ts +0 -6
  129. package/build/services/meshflow/workflow/random.js +0 -16
  130. package/build/services/meshflow/workflow/searchMethods.d.ts +0 -6
  131. package/build/services/meshflow/workflow/searchMethods.js +0 -25
  132. package/build/services/meshflow/workflow/signal.d.ts +0 -7
  133. package/build/services/meshflow/workflow/signal.js +0 -28
  134. package/build/services/meshflow/workflow/sleepFor.d.ts +0 -8
  135. package/build/services/meshflow/workflow/sleepFor.js +0 -35
  136. package/build/services/meshflow/workflow/trace.d.ts +0 -14
  137. package/build/services/meshflow/workflow/trace.js +0 -33
  138. package/build/services/meshflow/workflow/waitFor.d.ts +0 -8
  139. package/build/services/meshflow/workflow/waitFor.js +0 -35
  140. package/build/services/meshos/index.d.ts +0 -293
  141. package/build/services/meshos/index.js +0 -547
  142. package/build/services/pipe/functions/array.d.ts +0 -17
  143. package/build/services/pipe/functions/array.js +0 -1
  144. package/build/services/pipe/functions/bitwise.d.ts +0 -9
  145. package/build/services/pipe/functions/bitwise.js +0 -1
  146. package/build/services/pipe/functions/conditional.d.ts +0 -13
  147. package/build/services/pipe/functions/conditional.js +0 -1
  148. package/build/services/pipe/functions/cron.d.ts +0 -12
  149. package/build/services/pipe/functions/cron.js +0 -1
  150. package/build/services/pipe/functions/date.d.ts +0 -58
  151. package/build/services/pipe/functions/date.js +0 -1
  152. package/build/services/pipe/functions/index.d.ts +0 -29
  153. package/build/services/pipe/functions/index.js +0 -1
  154. package/build/services/pipe/functions/json.d.ts +0 -5
  155. package/build/services/pipe/functions/json.js +0 -1
  156. package/build/services/pipe/functions/logical.d.ts +0 -5
  157. package/build/services/pipe/functions/logical.js +0 -1
  158. package/build/services/pipe/functions/math.d.ts +0 -42
  159. package/build/services/pipe/functions/math.js +0 -1
  160. package/build/services/pipe/functions/number.d.ts +0 -21
  161. package/build/services/pipe/functions/number.js +0 -1
  162. package/build/services/pipe/functions/object.d.ts +0 -25
  163. package/build/services/pipe/functions/object.js +0 -1
  164. package/build/services/pipe/functions/string.d.ts +0 -23
  165. package/build/services/pipe/functions/string.js +0 -1
  166. package/build/services/pipe/functions/symbol.d.ts +0 -12
  167. package/build/services/pipe/functions/symbol.js +0 -1
  168. package/build/services/pipe/functions/unary.d.ts +0 -7
  169. package/build/services/pipe/functions/unary.js +0 -1
  170. package/build/services/pipe/index.d.ts +0 -48
  171. package/build/services/pipe/index.js +0 -1
  172. package/build/services/quorum/index.d.ts +0 -90
  173. package/build/services/quorum/index.js +0 -1
  174. package/build/services/reporter/index.d.ts +0 -50
  175. package/build/services/reporter/index.js +0 -1
  176. package/build/services/router/index.d.ts +0 -60
  177. package/build/services/router/index.js +0 -1
  178. package/build/services/search/factory.d.ts +0 -7
  179. package/build/services/search/factory.js +0 -24
  180. package/build/services/search/index.d.ts +0 -22
  181. package/build/services/search/index.js +0 -10
  182. package/build/services/search/providers/postgres/postgres.d.ts +0 -24
  183. package/build/services/search/providers/postgres/postgres.js +0 -1
  184. package/build/services/search/providers/redis/ioredis.d.ts +0 -18
  185. package/build/services/search/providers/redis/ioredis.js +0 -1
  186. package/build/services/search/providers/redis/redis.d.ts +0 -18
  187. package/build/services/search/providers/redis/redis.js +0 -1
  188. package/build/services/serializer/index.d.ts +0 -42
  189. package/build/services/serializer/index.js +0 -1
  190. package/build/services/store/cache.d.ts +0 -67
  191. package/build/services/store/cache.js +0 -128
  192. package/build/services/store/factory.d.ts +0 -8
  193. package/build/services/store/factory.js +0 -24
  194. package/build/services/store/index.d.ts +0 -89
  195. package/build/services/store/index.js +0 -9
  196. package/build/services/store/providers/postgres/kvsql.d.ts +0 -168
  197. package/build/services/store/providers/postgres/kvsql.js +0 -1
  198. package/build/services/store/providers/postgres/kvtables.d.ts +0 -20
  199. package/build/services/store/providers/postgres/kvtables.js +0 -1
  200. package/build/services/store/providers/postgres/kvtransaction.d.ts +0 -36
  201. package/build/services/store/providers/postgres/kvtransaction.js +0 -1
  202. package/build/services/store/providers/postgres/kvtypes/hash.d.ts +0 -60
  203. package/build/services/store/providers/postgres/kvtypes/hash.js +0 -1
  204. package/build/services/store/providers/postgres/kvtypes/list.d.ts +0 -33
  205. package/build/services/store/providers/postgres/kvtypes/list.js +0 -1
  206. package/build/services/store/providers/postgres/kvtypes/string.d.ts +0 -20
  207. package/build/services/store/providers/postgres/kvtypes/string.js +0 -1
  208. package/build/services/store/providers/postgres/kvtypes/zset.d.ts +0 -41
  209. package/build/services/store/providers/postgres/kvtypes/zset.js +0 -1
  210. package/build/services/store/providers/postgres/postgres.d.ts +0 -145
  211. package/build/services/store/providers/postgres/postgres.js +0 -1
  212. package/build/services/store/providers/redis/_base.d.ts +0 -137
  213. package/build/services/store/providers/redis/_base.js +0 -1
  214. package/build/services/store/providers/redis/ioredis.d.ts +0 -20
  215. package/build/services/store/providers/redis/ioredis.js +0 -1
  216. package/build/services/store/providers/redis/redis.d.ts +0 -18
  217. package/build/services/store/providers/redis/redis.js +0 -1
  218. package/build/services/store/providers/store-initializable.d.ts +0 -5
  219. package/build/services/store/providers/store-initializable.js +0 -1
  220. package/build/services/stream/factory.d.ts +0 -8
  221. package/build/services/stream/factory.js +0 -37
  222. package/build/services/stream/index.d.ts +0 -64
  223. package/build/services/stream/index.js +0 -11
  224. package/build/services/stream/providers/nats/nats.d.ts +0 -59
  225. package/build/services/stream/providers/nats/nats.js +0 -1
  226. package/build/services/stream/providers/postgres/kvtables.d.ts +0 -2
  227. package/build/services/stream/providers/postgres/kvtables.js +0 -1
  228. package/build/services/stream/providers/postgres/postgres.d.ts +0 -88
  229. package/build/services/stream/providers/postgres/postgres.js +0 -1
  230. package/build/services/stream/providers/redis/ioredis.d.ts +0 -60
  231. package/build/services/stream/providers/redis/ioredis.js +0 -1
  232. package/build/services/stream/providers/redis/redis.d.ts +0 -60
  233. package/build/services/stream/providers/redis/redis.js +0 -1
  234. package/build/services/stream/providers/stream-initializable.d.ts +0 -4
  235. package/build/services/stream/providers/stream-initializable.js +0 -1
  236. package/build/services/sub/factory.d.ts +0 -7
  237. package/build/services/sub/factory.js +0 -29
  238. package/build/services/sub/index.d.ts +0 -22
  239. package/build/services/sub/index.js +0 -10
  240. package/build/services/sub/providers/nats/nats.d.ts +0 -19
  241. package/build/services/sub/providers/nats/nats.js +0 -1
  242. package/build/services/sub/providers/postgres/postgres.d.ts +0 -19
  243. package/build/services/sub/providers/postgres/postgres.js +0 -1
  244. package/build/services/sub/providers/redis/ioredis.d.ts +0 -17
  245. package/build/services/sub/providers/redis/ioredis.js +0 -1
  246. package/build/services/sub/providers/redis/redis.d.ts +0 -17
  247. package/build/services/sub/providers/redis/redis.js +0 -1
  248. package/build/services/task/index.d.ts +0 -36
  249. package/build/services/task/index.js +0 -1
  250. package/build/services/telemetry/index.d.ts +0 -52
  251. package/build/services/telemetry/index.js +0 -1
  252. package/build/services/worker/index.d.ts +0 -77
  253. package/build/services/worker/index.js +0 -1
  254. /package/build/types/{meshflow.js → memflow.js} +0 -0
@@ -1,145 +0,0 @@
1
- import { KeyStoreParams, KeyType } from '../../../../modules/key';
2
- import { ILogger } from '../../../logger';
3
- import { ActivityType, Consumes } from '../../../../types/activity';
4
- import { AppVID } from '../../../../types/app';
5
- import { HookRule, HookSignal } from '../../../../types/hook';
6
- import { HotMeshApp, HotMeshApps, HotMeshSettings } from '../../../../types/hotmesh';
7
- import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
8
- import { SymbolSets, StringStringType, StringAnyType, Symbols } from '../../../../types/serializer';
9
- import { IdsData, JobStatsRange, StatsType } from '../../../../types/stats';
10
- import { Transitions } from '../../../../types/transition';
11
- import { JobInterruptOptions } from '../../../../types/job';
12
- import { WorkListTaskType } from '../../../../types/task';
13
- import { ThrottleOptions } from '../../../../types/quorum';
14
- import { StoreService } from '../..';
15
- import { PostgresClientType } from '../../../../types';
16
- import { KVSQL } from './kvsql';
17
- import { KVTables } from './kvtables';
18
- declare class PostgresStoreService extends StoreService<ProviderClient, ProviderTransaction> {
19
- pgClient: PostgresClientType;
20
- kvTables: ReturnType<typeof KVTables>;
21
- transact(): ProviderTransaction;
22
- constructor(storeClient: ProviderClient);
23
- init(namespace: string, appId: string, logger: ILogger): Promise<HotMeshApps>;
24
- isSuccessful(result: any): boolean;
25
- delistSignalKey(key: string, target: string): Promise<void>;
26
- zAdd(key: string, score: number | string, value: string | number, transaction?: ProviderTransaction): Promise<any>;
27
- zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
28
- mintKey(type: KeyType, params: KeyStoreParams): string;
29
- /**
30
- * strongly types the transaction or storeClient as KVSQL,
31
- * so methods are visible to the compiler/code editor
32
- */
33
- kvsql(transaction?: ProviderTransaction): KVSQL;
34
- invalidateCache(): void;
35
- /**
36
- * At any given time only a single engine will
37
- * check for and process work items in the
38
- * time and signal task queues.
39
- */
40
- reserveScoutRole(scoutType: 'time' | 'signal' | 'activate', delay?: number): Promise<boolean>;
41
- releaseScoutRole(scoutType: 'time' | 'signal' | 'activate'): Promise<boolean>;
42
- getSettings(bCreate?: boolean): Promise<HotMeshSettings>;
43
- setSettings(manifest: HotMeshSettings): Promise<any>;
44
- reserveSymbolRange(target: string, size: number, type: 'JOB' | 'ACTIVITY', tryCount?: number): Promise<[number, number, Symbols]>;
45
- getAllSymbols(): Promise<Symbols>;
46
- getSymbols(activityId: string): Promise<Symbols>;
47
- addSymbols(activityId: string, symbols: Symbols): Promise<boolean>;
48
- seedSymbols(target: string, type: 'JOB' | 'ACTIVITY', startIndex: number): StringStringType;
49
- seedJobSymbols(startIndex: number): StringStringType;
50
- seedActivitySymbols(startIndex: number, activityId: string): StringStringType;
51
- getSymbolValues(): Promise<Symbols>;
52
- addSymbolValues(symvals: Symbols): Promise<boolean>;
53
- getSymbolKeys(symbolNames: string[]): Promise<SymbolSets>;
54
- getApp(id: string, refresh?: boolean): Promise<HotMeshApp>;
55
- setApp(id: string, version: string): Promise<HotMeshApp>;
56
- activateAppVersion(id: string, version: string): Promise<boolean>;
57
- registerAppVersion(appId: string, version: string): Promise<any>;
58
- setStats(jobKey: string, jobId: string, dateTime: string, stats: StatsType, appVersion: AppVID, transaction?: ProviderTransaction): Promise<any>;
59
- hGetAllResult(result: any): any;
60
- getJobStats(jobKeys: string[]): Promise<JobStatsRange>;
61
- getJobIds(indexKeys: string[], idRange: [number, number]): Promise<IdsData>;
62
- setStatus(collationKeyStatus: number, jobId: string, appId: string, transaction?: ProviderTransaction): Promise<any>;
63
- getStatus(jobId: string, appId: string): Promise<number>;
64
- setState({ ...state }: StringAnyType, status: number | null, jobId: string, symbolNames: string[], dIds: StringStringType, transaction?: ProviderTransaction): Promise<string>;
65
- /**
66
- * Returns custom search fields and values.
67
- * NOTE: The `fields` param should NOT prefix items with an underscore.
68
- * NOTE: Literals are allowed if quoted.
69
- */
70
- getQueryState(jobId: string, fields: string[]): Promise<StringAnyType>;
71
- getState(jobId: string, consumes: Consumes, dIds: StringStringType): Promise<[StringAnyType, number] | undefined>;
72
- getRaw(jobId: string): Promise<StringStringType>;
73
- /**
74
- * collate is a generic method for incrementing a value in a hash
75
- * in order to track their progress during processing.
76
- */
77
- collate(jobId: string, activityId: string, amount: number, dIds: StringStringType, transaction?: ProviderTransaction): Promise<number>;
78
- /**
79
- * Synthentic collation affects those activities in the graph
80
- * that represent the synthetic DAG that was materialized during compilation;
81
- * Synthetic collation distinguishes `re-entry due to failure` from
82
- * `purposeful re-entry`.
83
- */
84
- collateSynthetic(jobId: string, guid: string, amount: number, transaction?: ProviderTransaction): Promise<number>;
85
- setStateNX(jobId: string, appId: string, status?: number): Promise<boolean>;
86
- getSchema(activityId: string, appVersion: AppVID): Promise<ActivityType>;
87
- getSchemas(appVersion: AppVID): Promise<Record<string, ActivityType>>;
88
- setSchemas(schemas: Record<string, ActivityType>, appVersion: AppVID): Promise<any>;
89
- setSubscriptions(subscriptions: Record<string, any>, appVersion: AppVID): Promise<boolean>;
90
- getSubscriptions(appVersion: AppVID): Promise<Record<string, string>>;
91
- getSubscription(topic: string, appVersion: AppVID): Promise<string | undefined>;
92
- setTransitions(transitions: Record<string, any>, appVersion: AppVID): Promise<any>;
93
- getTransitions(appVersion: AppVID): Promise<Transitions>;
94
- setHookRules(hookRules: Record<string, HookRule[]>): Promise<any>;
95
- getHookRules(): Promise<Record<string, HookRule[]>>;
96
- setHookSignal(hook: HookSignal, transaction?: ProviderTransaction): Promise<any>;
97
- getHookSignal(topic: string, resolved: string): Promise<string | undefined>;
98
- deleteHookSignal(topic: string, resolved: string): Promise<number | undefined>;
99
- addTaskQueues(keys: string[]): Promise<void>;
100
- getActiveTaskQueue(): Promise<string | null>;
101
- deleteProcessedTaskQueue(workItemKey: string, key: string, processedKey: string, scrub?: boolean): Promise<void>;
102
- processTaskQueue(sourceKey: string, destinationKey: string): Promise<any>;
103
- expireJob(jobId: string, inSeconds: number, transaction?: ProviderTransaction): Promise<void>;
104
- getDependencies(jobId: string): Promise<string[]>;
105
- /**
106
- * registers a hook activity to be awakened (uses ZSET to
107
- * store the 'sleep group' and LIST to store the events
108
- * for the given sleep group. Sleep groups are
109
- * organized into 'n'-second blocks (LISTS))
110
- */
111
- registerTimeHook(jobId: string, gId: string, activityId: string, type: WorkListTaskType, deletionTime: number, dad: string, transaction?: ProviderTransaction): Promise<void>;
112
- getNextTask(listKey?: string): Promise<[
113
- listKey: string,
114
- jobId: string,
115
- gId: string,
116
- activityId: string,
117
- type: WorkListTaskType
118
- ] | boolean>;
119
- /**
120
- * when processing time jobs, the target LIST ID returned
121
- * from the ZSET query can be prefixed to denote what to
122
- * do with the work list. (not everything is known in advance,
123
- * so the ZSET key defines HOW to approach the work in the
124
- * generic LIST (lists typically contain target job ids)
125
- * @param {string} listKey - composite key
126
- */
127
- resolveTaskKeyContext(listKey: string): [WorkListTaskType, string];
128
- /**
129
- * Interrupts a job and sets sets a job error (410), if 'throw'!=false.
130
- * This method is called by the engine and not by an activity and is
131
- * followed by a call to execute job completion/cleanup tasks
132
- * associated with a job completion event.
133
- *
134
- * Todo: move most of this logic to the engine (too much logic for the store)
135
- */
136
- interrupt(topic: string, jobId: string, options?: JobInterruptOptions): Promise<void>;
137
- scrub(jobId: string): Promise<void>;
138
- findJobs(queryString?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, string[]]>;
139
- findJobFields(jobId: string, fieldMatchPattern?: string, limit?: number, batchSize?: number, // Unused in SQL provider
140
- cursor?: string): Promise<[string, Record<string, string>]>;
141
- setThrottleRate(options: ThrottleOptions): Promise<void>;
142
- getThrottleRates(): Promise<StringStringType>;
143
- getThrottleRate(topic: string): Promise<number>;
144
- }
145
- export { PostgresStoreService };
@@ -1 +0,0 @@
1
- 'use strict';const P=b;(function(c,d){const O=b,e=c();while(!![]){try{const f=-parseInt(O(0x1c2))/0x1*(-parseInt(O(0x173))/0x2)+parseInt(O(0x1ca))/0x3*(-parseInt(O(0x13b))/0x4)+parseInt(O(0x1b5))/0x5*(-parseInt(O(0x150))/0x6)+parseInt(O(0x16f))/0x7+-parseInt(O(0x201))/0x8+-parseInt(O(0x145))/0x9*(parseInt(O(0x1b3))/0xa)+parseInt(O(0x1d0))/0xb;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xb0899));function b(c,d){const e=a();return b=function(f,g){f=f-0x12f;let h=e[f];return h;},b(c,d);}var __createBinding=this&&this[P(0x206)]||(Object['create']?function(c,d,f,g){const Q=P;void 0x0===g&&(g=f);var h=Object['getOwnPropertyDescriptor'](d,f);h&&!(Q(0x193)in h?!d['__esModule']:h[Q(0x1d7)]||h['configurable'])||(h={'enumerable':!0x0,'get':function(){return d[f];}}),Object[Q(0x15a)](c,g,h);}:function(c,d,f,g){void 0x0===g&&(g=f),c[g]=d[f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object[P(0x1c4)]?function(c,d){const R=P;Object['defineProperty'](c,R(0x1e5),{'enumerable':!0x0,'value':d});}:function(c,d){c['default']=d;}),__importStar=this&&this['__importStar']||function(c){const S=P;if(c&&c[S(0x1ab)])return c;var d={};if(null!=c){for(var f in c)S(0x1e5)!==f&&Object['prototype'][S(0x19a)][S(0x144)](c,f)&&__createBinding(d,c,f);}return __setModuleDefault(d,c),d;};Object[P(0x15a)](exports,P(0x1ab),{'value':!0x0}),exports[P(0x187)]=void 0x0;const errors_1=require('../../../../modules/errors'),key_1=require(P(0x1cb)),serializer_1=require('../../../serializer'),utils_1=require(P(0x17d)),enums_1=require(P(0x1c3)),cache_1=require(P(0x137)),__1=require(P(0x199)),kvsql_1=require(P(0x1af)),kvtables_1=require(P(0x1ec));class PostgresStoreService extends __1['StoreService']{[P(0x186)](){const T=P;return this[T(0x15e)]['transact']();}constructor(c){const U=P;super(c),this[U(0x13a)]=c,this[U(0x15e)]=new kvsql_1[(U(0x190))](c,this[U(0x1fc)],this[U(0x196)]),this[U(0x203)]=(0x0,kvtables_1['KVTables'])(this);}async['init'](c=key_1['HMNS'],d,f){const V=P;this[V(0x15e)][V(0x1fc)]=this[V(0x1fc)]=c,this['storeClient']['appId']=this[V(0x196)]=d,this[V(0x164)]=f,await this[V(0x203)]['deploy'](d);const g=await this[V(0x213)](!0x0);return this[V(0x1f3)]=new cache_1[(V(0x15b))](d,g),this['serializer']=new serializer_1[(V(0x18b))](),await this[V(0x208)](d),this[V(0x1f3)]['getApps']();}[P(0x177)](c){return c>0x0||'OK'===c||!0x0===c;}async['delistSignalKey'](c,d){const W=P;await this[W(0x182)]()[W(0x16a)](c+':'+d);}async['zAdd'](c,d,f,g){const X=P;return await this[X(0x182)](g)[X(0x1f5)](c,Number(d),f[X(0x130)]());}async['zRangeByScore'](c,d,f){const Y=P,g=await this[Y(0x182)]()[Y(0x210)](c,Number(d),Number(f));return g?.['length']>0x0?g[0x0]:null;}['mintKey'](c,d){const Z=P;if(!this['namespace'])throw new Error(Z(0x1a7));return key_1[Z(0x1c7)][Z(0x211)](this[Z(0x1fc)],c,d);}[P(0x182)](c){const a0=P;return c||this[a0(0x15e)];}[P(0x1d6)](){this['cache']['invalidate']();}async[P(0x157)](c,d=enums_1[P(0x12f)]){const a1=P,f=this[a1(0x211)](key_1[a1(0x20e)][a1(0x169)],{'appId':this['appId'],'scoutType':c}),g=await this[a1(0x182)]()[a1(0x1b2)](f,c+':'+(0x0,utils_1[a1(0x166)])(new Date()),{'nx':!0x0,'ex':d-0x1});return this[a1(0x177)](g);}async[P(0x1f4)](c){const a2=P,d=this[a2(0x211)](key_1[a2(0x20e)][a2(0x169)],{'appId':this[a2(0x196)],'scoutType':c}),f=await this[a2(0x182)]()[a2(0x16a)](d);return this[a2(0x177)](f);}async['getSettings'](c=!0x1){const a3=P;let d=this[a3(0x1f3)]?.['getSettings']();if(d)return d;if(c){const f=(await Promise[a3(0x14d)]()[a3(0x153)](()=>__importStar(require(a3(0x1cc)))))[a3(0x19d)]||a3(0x194);return d={'namespace':key_1[a3(0x170)],'version':f},await this[a3(0x138)](d),d;}throw new Error(a3(0x134));}async[P(0x138)](c){const a4=P,d=this[a4(0x211)](key_1[a4(0x20e)][a4(0x1f9)],{});return await this['kvsql']()['hset'](d,c);}async['reserveSymbolRange'](c,d,f,g=0x1){const a5=P,j=this[a5(0x211)](key_1[a5(0x20e)][a5(0x1b0)],{'appId':this[a5(0x196)]}),k=this[a5(0x211)](key_1['KeyType'][a5(0x1b0)],{'activityId':c,'appId':this[a5(0x196)]});if(await this[a5(0x182)]()[a5(0x13c)](j,c,a5(0x152))){const l=await this[a5(0x182)]()[a5(0x183)](j,a5(0x1db),d),m=l-d,p=m+':'+(l-0x1);await this[a5(0x182)]()['hset'](j,{[c]:p});const q=this['seedSymbols'](c,f,m);return await this[a5(0x182)]()[a5(0x160)](k,q),[m+serializer_1[a5(0x184)]['SLOTS'],l-0x1,{}];}{const u=await this[a5(0x182)]()[a5(0x147)](j,c),[v]=u[a5(0x1a6)](':');if('?'===v){if(await(0x0,utils_1[a5(0x1e3)])(0x3e8*g),g<0x5)return this[a5(0x18d)](c,d,f,g+0x1);throw new Error(a5(0x1e7));}{const w=parseInt(v,0xa),x=await this[a5(0x182)]()[a5(0x1ba)](k),y=Object[a5(0x185)](x)[a5(0x20c)];return[w+serializer_1[a5(0x184)][a5(0x1eb)]+y,Number(w+d-0x1),x];}}}async[P(0x1a3)](){const a6=P,c=this[a6(0x211)](key_1['KeyType'][a6(0x1b0)],{'appId':this[a6(0x196)]}),d=await this[a6(0x182)]()['hgetall'](c),f=Object[a6(0x185)](d)[a6(0x161)]();delete f[a6(0x1db)];const g=this[a6(0x182)](this[a6(0x186)]());for(const k of f){const l=this[a6(0x211)](key_1[a6(0x20e)][a6(0x1b0)],{'activityId':k,'appId':this[a6(0x196)]});g[a6(0x1ba)](l);}const h=await g[a6(0x171)](),j={};return h[a6(0x1a8)]((m,o)=>{const a7=a6;if(m){let p;p=Array[a7(0x1b1)](m)&&0x2===m[a7(0x20c)]?m[0x1]:m;for(const [q,r]of Object['entries'](p))j[r]=q['startsWith'](f[o])?q:f[o]+'/'+q;}}),j;}async[P(0x154)](c){const a8=P;let d=this[a8(0x1f3)][a8(0x154)](this[a8(0x196)],c);if(d)return d;{const f={'activityId':c,'appId':this['appId']},g=this[a8(0x211)](key_1['KeyType'][a8(0x1b0)],f);return d=await this[a8(0x182)]()['hgetall'](g),this[a8(0x1f3)]['setSymbols'](this[a8(0x196)],c,d),d;}}async[P(0x18c)](c,d){const a9=P;if(!d||!Object[a9(0x185)](d)[a9(0x20c)])return!0x1;const f={'activityId':c,'appId':this['appId']},g=this['mintKey'](key_1[a9(0x20e)][a9(0x1b0)],f),h=await this[a9(0x182)]()[a9(0x160)](g,d);return this[a9(0x1f3)][a9(0x156)](this[a9(0x196)],c),h>0x0;}[P(0x180)](c,d,f){const aa=P;return aa(0x1c9)===d?this[aa(0x1df)](f):this[aa(0x20d)](f,c);}[P(0x1df)](c){const ab=P,d={};return serializer_1['MDATA_SYMBOLS'][ab(0x1c9)][ab(0x162)][ab(0x1a8)](f=>{const ac=ab;d['metadata/'+f]=(0x0,utils_1[ac(0x17e)])(c),c++;}),d;}[P(0x20d)](c,d){const ad=P,f={};return serializer_1['MDATA_SYMBOLS'][ad(0x15d)][ad(0x162)][ad(0x1a8)](g=>{const ae=ad;f[d+'/output/metadata/'+g]=(0x0,utils_1[ae(0x17e)])(c),c++;}),f;}async[P(0x168)](){const af=P;let c=this['cache'][af(0x168)](this[af(0x196)]);if(c)return c;{const d=this[af(0x211)](key_1[af(0x20e)][af(0x1e6)],{'appId':this['appId']});return c=await this[af(0x182)]()[af(0x1ba)](d),this[af(0x1f3)][af(0x1de)](this[af(0x196)],c),c;}}async[P(0x1cd)](c){const ag=P;if(!c||!Object['keys'](c)[ag(0x20c)])return!0x1;const d=this['mintKey'](key_1['KeyType'][ag(0x1e6)],{'appId':this[ag(0x196)]}),f=await this[ag(0x182)]()[ag(0x160)](d,c);return this['cache'][ag(0x1ee)](this[ag(0x196)]),this[ag(0x177)](f);}async[P(0x146)](c){const ah=P,d=[];for(const h of c)d[ah(0x140)](this[ah(0x154)](h));const f=await Promise['all'](d),g={};for(const j of c)g[j]=f[ah(0x1fa)]();return g;}async[P(0x208)](c,d=!0x1){const ai=P;let f=this['cache'][ai(0x208)](c);if(d||!(f&&Object[ai(0x185)](f)[ai(0x20c)]>0x0)){const g={'appId':c},h=this[ai(0x211)](key_1['KeyType'][ai(0x1ae)],g),j=await this['kvsql']()[ai(0x1ba)](h);if(!j)return null;f={};for(const k in j)try{f[k]=ai(0x1dd)===k?'true'===j[k]:j[k];}catch(l){f[k]=j[k];}this[ai(0x1f3)]['setApp'](c,f);}return f;}async[P(0x1bb)](c,d){const aj=P,f={'appId':c},g=this[aj(0x211)](key_1[aj(0x20e)][aj(0x1ae)],f),h='versions/'+d,j={'id':c,'version':d,[h]:aj(0x1f1)+(0x0,utils_1['formatISODate'])(new Date())};return await this[aj(0x182)]()[aj(0x160)](g,j),this[aj(0x1f3)][aj(0x1bb)](c,j),j;}async['activateAppVersion'](c,d){const ak=P,f={'appId':c},g=this[ak(0x211)](key_1['KeyType'][ak(0x1ae)],f),h='versions/'+d,j=await this['getApp'](c,!0x0);if(j&&j[h]){const k={'id':c,'version':d['toString'](),[h]:ak(0x204)+(0x0,utils_1[ak(0x166)])(new Date()),'active':!0x0};return Object[ak(0x205)](k)[ak(0x1a8)](([l,m])=>{const al=ak;k[l]=m[al(0x130)]();}),await this[ak(0x182)]()['hset'](g,k),!0x0;}throw new Error(ak(0x1c0)+d+ak(0x17a)+c);}async[P(0x1ad)](c,d){const am=P,f={'appId':c},g=this[am(0x211)](key_1['KeyType']['APP'],f),h={'id':c,'version':d['toString'](),['versions/'+d]:(0x0,utils_1[am(0x166)])(new Date())};return await this['kvsql']()[am(0x160)](g,h);}async[P(0x188)](c,d,f,g,h,j){const an=P,k={'appId':h['id'],'jobId':d,'jobKey':c,'dateTime':f},l=j||this[an(0x186)]();if(g[an(0x195)][an(0x20c)]){const m=this[an(0x211)](key_1['KeyType'][an(0x14e)],k);for(const {target:p,value:q}of g[an(0x195)])this[an(0x182)](l)['hincrbyfloat'](m,p,q);}for(const {target:u,value:v}of g['index']){const w={...k,'facet':u},x=this['mintKey'](key_1[an(0x20e)][an(0x1e8)],w);this[an(0x182)](l)['rpush'](x,v[an(0x130)]());}for(const {target:y,value:z}of g[an(0x1da)]){const A={...k,'facet':y},B=this['mintKey'](key_1[an(0x20e)]['JOB_STATS_MEDIAN'],A);await this['kvsql'](l)[an(0x1f5)](B,Number(z),y);}if(!j)return await l['exec']();}[P(0x1a2)](c){return c;}async[P(0x174)](c){const ao=P,d=this['kvsql'](this[ao(0x186)]());for(const h of c)d[ao(0x1ba)](h);const f=await d[ao(0x171)](),g={};for(const [j,k]of f[ao(0x205)]()){const l=c[j],m=k;if(m&&Object[ao(0x185)](m)[ao(0x20c)]>0x0){const o={...m};for(const [p,q]of Object[ao(0x205)](o))o[p]=Number(q);g[l]=o;}else g[l]={};}return g;}async['getJobIds'](c,d){const ap=P,f=this['kvsql'](this[ap(0x186)]());for(const j of c)f[ap(0x20f)](j,d[0x0],d[0x1]);const g=await f[ap(0x171)](),h={};for(const [k,l]of g[ap(0x205)]()){const m=c[k],o=l[0x1]||l;o&&o[ap(0x20c)]>0x0?h[m]=o:h[m]=[];}return h;}async[P(0x14a)](c,d,f,g){const aq=P,h=this['mintKey'](key_1[aq(0x20e)][aq(0x132)],{'appId':f,'jobId':d});return await this['kvsql'](g)['hincrbyfloat'](h,':',c);}async[P(0x212)](c,d){const ar=P,f=this['mintKey'](key_1[ar(0x20e)][ar(0x132)],{'appId':d,'jobId':c}),g=await this['kvsql']()[ar(0x147)](f,':');if(null===g)throw new Error(ar(0x209)+c+ar(0x17c));return Number(g);}async['setState']({...d},f,g,j,k,l){const as=P;delete d[as(0x197)];const m=this[as(0x211)](key_1[as(0x20e)][as(0x132)],{'appId':this['appId'],'jobId':g}),p=await this[as(0x146)](j),q=await this[as(0x168)]();this[as(0x1d3)][as(0x189)](p,q,k);const u=this[as(0x1d3)][as(0x1e1)](d,j);return null!==f?u[':']=f[as(0x130)]():delete u[':'],await this['kvsql'](l)['hset'](m,u),g;}async[P(0x18a)](c,d){const at=P,f=this['mintKey'](key_1['KeyType'][at(0x132)],{'appId':this[at(0x196)],'jobId':c}),g=d[at(0x15f)](k=>k[at(0x1ce)]('\x22')?k[at(0x13e)](0x1,-0x1):'_'+k),h=await this['kvsql']()[at(0x1d1)](f,g),j={};return d[at(0x1a8)]((k,l)=>{const au=at;k['startsWith']('\x22')&&(k=k[au(0x13e)](0x1,-0x1)),j[k]=h[l];}),j;}async['getState'](d,f,g){const av=P,j=this['mintKey'](key_1[av(0x20e)][av(0x132)],{'appId':this[av(0x196)],'jobId':d}),k=Object['keys'](f),l=await this['getSymbolKeys'](k);this['serializer']['resetSymbols'](l,{},g);const m=this[av(0x1d3)][av(0x207)](f,k,[':']),p=await this[av(0x182)]()[av(0x1d1)](j,m),q={};let u=!0x1;if(m[av(0x1a8)]((v,w)=>{p[w]&&(u=!0x0),q[v]=p[w];}),u){const v=await this['getSymbolValues']();this[av(0x1d3)][av(0x189)](l,v,g);const w=this['serializer'][av(0x1a4)](q,k);let x=0x0;return w[':']&&(x=Number(w[':']),w[av(0x197)]=x,delete w[':']),[w,x];}throw new errors_1[(av(0x139))](d);}async[P(0x1f7)](c){const aw=P,d=this['mintKey'](key_1[aw(0x20e)][aw(0x132)],{'appId':this[aw(0x196)],'jobId':c}),f=await this[aw(0x182)]()[aw(0x1ba)](d);if(!f)throw new errors_1[(aw(0x139))](c);return f;}async[P(0x175)](d,f,g,j,k){const ax=P,m=this[ax(0x211)](key_1[ax(0x20e)][ax(0x132)],{'appId':this[ax(0x196)],'jobId':d}),q=f+ax(0x17b),u=[f],v=await this[ax(0x146)](u),w=await this['getSymbolValues']();this[ax(0x1d3)][ax(0x189)](v,w,j);const x={[q]:g[ax(0x130)]()},z=this['serializer']['package'](x,u),A=Object['keys'](z)[0x0];return await this['kvsql'](k)['hincrbyfloat'](m,A,g);}async[P(0x1bf)](c,d,f,g){const ay=P,h=this[ay(0x211)](key_1['KeyType'][ay(0x132)],{'appId':this['appId'],'jobId':c});return await this[ay(0x182)](g)[ay(0x183)](h,d,f);}async['setStateNX'](c,d,f){const az=P,g=this[az(0x211)](key_1[az(0x20e)][az(0x132)],{'appId':d,'jobId':c}),h=await this[az(0x182)]()[az(0x13c)](g,':',f?.[az(0x130)]()??'1');return this['isSuccessful'](h);}async[P(0x1e4)](c,d){const aA=P,f=this[aA(0x1f3)][aA(0x1e4)](d['id'],d[aA(0x19d)],c);if(f)return f;return(await this[aA(0x1b6)](d))[c];}async[P(0x1b6)](c){const aB=P;let d=this[aB(0x1f3)][aB(0x1b6)](c['id'],c[aB(0x19d)]);if(d&&Object[aB(0x185)](d)[aB(0x20c)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aB(0x19d)]},g=this[aB(0x211)](key_1['KeyType']['SCHEMAS'],f);d={};const h=await this[aB(0x182)]()[aB(0x1ba)](g);return Object[aB(0x205)](h)[aB(0x1a8)](([j,k])=>{const aC=aB;d[j]=JSON[aC(0x141)](k);}),this[aB(0x1f3)][aB(0x191)](c['id'],c['version'],d),d;}}async[P(0x191)](c,d){const aD=P,f={'appId':d['id'],'appVersion':d[aD(0x19d)]},g=this[aD(0x211)](key_1[aD(0x20e)]['SCHEMAS'],f),h={...c};Object[aD(0x205)](h)['forEach'](([k,l])=>{const aE=aD;h[k]=JSON[aE(0x1d5)](l);});const j=await this[aD(0x182)]()[aD(0x160)](g,h);return this[aD(0x1f3)]['setSchemas'](d['id'],d[aD(0x19d)],c),j;}async[P(0x1d4)](c,d){const aF=P,f={'appId':d['id'],'appVersion':d[aF(0x19d)]},g=this[aF(0x211)](key_1[aF(0x20e)][aF(0x178)],f),h={...c};Object[aF(0x205)](h)[aF(0x1a8)](([k,l])=>{const aG=aF;h[k]=JSON[aG(0x1d5)](l);});const j=await this[aF(0x182)]()[aF(0x160)](g,h);return this[aF(0x1f3)][aF(0x1d4)](d['id'],d[aF(0x19d)],c),this[aF(0x177)](j);}async[P(0x1ea)](c){const aH=P;let d=this['cache'][aH(0x1ea)](c['id'],c['version']);if(d&&Object[aH(0x185)](d)['length']>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aH(0x19d)]},g=this[aH(0x211)](key_1[aH(0x20e)]['SUBSCRIPTIONS'],f);return d=await this['kvsql']()[aH(0x1ba)](g)||{},Object[aH(0x205)](d)[aH(0x1a8)](([h,j])=>{const aI=aH;d[h]=JSON[aI(0x141)](j);}),this['cache'][aH(0x1d4)](c['id'],c[aH(0x19d)],d),d;}}async[P(0x20b)](c,d){return(await this['getSubscriptions'](d))[c];}async[P(0x1c6)](c,d){const aJ=P,f={'appId':d['id'],'appVersion':d[aJ(0x19d)]},g=this[aJ(0x211)](key_1['KeyType'][aJ(0x133)],f),h={...c};if(Object[aJ(0x205)](h)['forEach'](([j,k])=>{const aK=aJ;h[j]=JSON[aK(0x1d5)](k);}),0x0!==Object['keys'](h)[aJ(0x20c)]){const j=await this['kvsql']()[aJ(0x160)](g,h);return this['cache'][aJ(0x1c6)](d['id'],d['version'],c),j;}}async[P(0x16e)](c){const aL=P;let d=this[aL(0x1f3)][aL(0x16e)](c['id'],c[aL(0x19d)]);if(d&&Object[aL(0x185)](d)[aL(0x20c)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aL(0x19d)]},g=this[aL(0x211)](key_1[aL(0x20e)][aL(0x133)],f);d={};const h=await this[aL(0x182)]()[aL(0x1ba)](g);return Object['entries'](h)[aL(0x1a8)](([j,k])=>{const aM=aL;d[j]=JSON[aM(0x141)](k);}),this[aL(0x1f3)][aL(0x1c6)](c['id'],c['version'],d),d;}}async[P(0x131)](c){const aN=P,d=this[aN(0x211)](key_1[aN(0x20e)]['HOOKS'],{'appId':this[aN(0x196)]}),f={};if(Object[aN(0x205)](c)[aN(0x1a8)](([g,h])=>{const aO=aN;f[g[aO(0x130)]()]=JSON['stringify'](h);}),0x0!==Object[aN(0x185)](f)[aN(0x20c)]){const g=await this[aN(0x182)]()[aN(0x160)](d,f);return this[aN(0x1f3)][aN(0x131)](this[aN(0x196)],c),g;}}async[P(0x1d9)](){const aP=P;let c=this['cache'][aP(0x1d9)](this[aP(0x196)]);if(c&&Object['keys'](c)[aP(0x20c)]>0x0)return c;{const d=this[aP(0x211)](key_1[aP(0x20e)][aP(0x1be)],{'appId':this[aP(0x196)]}),f=await this['kvsql']()['hgetall'](d);return c={},Object[aP(0x205)](f)['forEach'](([g,h])=>{const aQ=aP;c[g]=JSON[aQ(0x141)](h);}),this[aP(0x1f3)][aP(0x131)](this['appId'],c),c;}}async[P(0x1a0)](c,d){const aR=P,f=this[aR(0x211)](key_1[aR(0x20e)][aR(0x16b)],{'appId':this['appId']}),{topic:g,resolved:h,jobId:j}=c,k=g+':'+h;await this[aR(0x182)](d)[aR(0x14f)](f+':'+k,j,Math[aR(0x14c)](c[aR(0x1aa)],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](c,d){const aS=P,f=this[aS(0x211)](key_1[aS(0x20e)]['SIGNALS'],{'appId':this[aS(0x196)]}),g=await this['kvsql']()['get'](f+':'+c+':'+d);return g?g[aS(0x130)]():void 0x0;}async['deleteHookSignal'](c,d){const aT=P,f=this[aT(0x211)](key_1[aT(0x20e)][aT(0x16b)],{'appId':this[aT(0x196)]}),g=await this[aT(0x182)]()[aT(0x16a)](f+':'+c+':'+d);return g?Number(g):void 0x0;}async[P(0x15c)](c){const aU=P,d=this[aU(0x182)](this[aU(0x186)]()),f=this['mintKey'](key_1[aU(0x20e)][aU(0x169)],{'appId':this[aU(0x196)]});for(const g of c)d[aU(0x1f5)](f,Date[aU(0x135)](),g,{'nx':!0x0});await d[aU(0x171)]();}async[P(0x1fe)](){const aV=P;let c=this[aV(0x1f3)][aV(0x1fe)](this[aV(0x196)])||null;if(!c){const d=this['mintKey'](key_1[aV(0x20e)][aV(0x169)],{'appId':this[aV(0x196)]}),f=await this[aV(0x182)]()[aV(0x1e2)](d,0x0,0x0);c=f['length']>0x0?f[0x0]:null,c&&this[aV(0x1f3)][aV(0x17f)](this[aV(0x196)],c);}return c;}async[P(0x1a5)](c,d,f,g=!0x1){const aW=P,h=this[aW(0x211)](key_1[aW(0x20e)]['WORK_ITEMS'],{'appId':this['appId']});await this[aW(0x182)]()[aW(0x202)](h,c)&&(g?(this[aW(0x182)]()[aW(0x16a)](f),this[aW(0x182)]()[aW(0x16a)](d['split'](':')[aW(0x13e)](0x0,0x5)[aW(0x1ed)](':'))):await this['kvsql']()['rename'](f,d)),this[aW(0x1f3)]['removeWorkItem'](this[aW(0x196)]);}async[P(0x179)](c,d){const aX=P;return await this[aX(0x182)]()[aX(0x1f6)](c,d,aX(0x1f0),aX(0x19b));}async[P(0x1e9)](c,d,f){const aY=P;if(!isNaN(d)&&d>0x0){const g=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':c});await this[aY(0x182)](f)['expire'](g,d);}}async[P(0x1ac)](c){const aZ=P,d={'appId':this[aZ(0x196)],'jobId':c},f=this[aZ(0x211)](key_1[aZ(0x20e)][aZ(0x142)],d);return this['kvsql']()[aZ(0x20f)](f,0x0,-0x1);}async['registerTimeHook'](d,f,g,j,k,l,m){const b0=P,p=this[b0(0x211)](key_1[b0(0x20e)][b0(0x181)],{'appId':this[b0(0x196)],'timeValue':k}),q=[j,g,f,l,d]['join'](key_1[b0(0x1a1)]),u=await this[b0(0x182)](m)['rpush'](p,q);if(m||0x1===u){const v=this[b0(0x211)](key_1['KeyType'][b0(0x181)],{'appId':this[b0(0x196)]});await this[b0(0x143)](v,k[b0(0x130)](),p,m);}}async[P(0x14b)](c){const b1=P,d=this['mintKey'](key_1[b1(0x20e)][b1(0x181)],{'appId':this['appId']});if(c=c||await this[b1(0x155)](d,0x0,Date[b1(0x135)]())){let [f,g]=this[b1(0x167)](c);const h=await this[b1(0x182)]()[b1(0x20a)](g);if(h){let [j,k,l,m,...p]=h['split'](key_1[b1(0x1a1)]);return b1(0x18f)===j?f=b1(0x18f):b1(0x1a9)===j?f=b1(0x1a9):'expire-child'===j&&(j=b1(0x1aa)),[c,p[b1(0x1ed)](key_1[b1(0x1a1)]),l,k,f];}return await this[b1(0x182)]()['zrem'](d,c),!0x0;}return!0x1;}[P(0x167)](c){const b2=P;return c[b2(0x1ce)](key_1[b2(0x1c8)]+b2(0x1fd))?[b2(0x136),c[b2(0x1a6)](key_1[b2(0x1c8)])[0x2]]:c[b2(0x1ce)](key_1['TYPSEP']+'EXPIRE')?['expire',c['split'](key_1[b2(0x1c8)])[0x2]]:['sleep',c];}async['interrupt'](d,f,g={}){const b3=P;try{if(await this[b3(0x212)](f,this[b3(0x196)])<=0x0)throw new Error(b3(0x209)+f+b3(0x1b9));const j=-0x3b9aca00,k=this[b3(0x211)](key_1['KeyType']['JOB_STATE'],{'appId':this[b3(0x196)],'jobId':f});if(await this[b3(0x182)]()[b3(0x183)](k,':',j)<=j)throw new Error(b3(0x209)+f+b3(0x1b9));if(!0x1!==g[b3(0x1ff)]){const m=b3(0x151),q=['$'+d],u=await this[b3(0x146)](q),v=await this['getSymbolValues']();this[b3(0x1d3)][b3(0x189)](u,v,{});const w=JSON[b3(0x1d5)]({'code':g[b3(0x176)]??enums_1[b3(0x1f8)],'message':g[b3(0x1bd)]??b3(0x1bc)+f+']\x20interrupted','stack':g[b3(0x16d)]??'','job_id':f}),x={[m]:j[b3(0x130)]()},z=this['serializer'][b3(0x1e1)](x,q),A=Object['keys'](z)[0x0];await this[b3(0x182)]()[b3(0x160)](k,{[A]:w});}}catch(B){if(!g[b3(0x198)])throw B;this[b3(0x164)]['debug'](b3(0x1f2),{'message':B['message']});}}async[P(0x1d8)](c){const b4=P,d=this[b4(0x211)](key_1['KeyType'][b4(0x132)],{'appId':this[b4(0x196)],'jobId':c});await this[b4(0x182)]()[b4(0x16a)](d);}async[P(0x1d2)](c='*',d=0x3e8,f=0x3e8,g='0'){const b5=P,h=this[b5(0x211)](key_1['KeyType'][b5(0x132)],{'appId':this['appId'],'jobId':c}),{cursor:j,keys:k}=await this[b5(0x182)]()['scan'](Number(g),d,h);return[j[b5(0x1c5)](),k];}async[P(0x13f)](f,g='*',j=0x3e8,q=0x3e8,v='0'){const b6=P,w={},x=this[b6(0x211)](key_1[b6(0x20e)]['JOB_STATE'],{'appId':this[b6(0x196)],'jobId':f});let z,A=null;if(g[b6(0x19e)](',')){const L=/\d[^-]+-/gi,M=g[b6(0x1b8)](L);A=','+(M?.[0x0]??''),z=b6(0x1cf);}else z='jmark';const B=parseInt(v,0xa)||0x0,C=this['kvsql']()[b6(0x1b4)](x,b6(0x1ef)),D=[x];let E=D[b6(0x20c)]+0x1;const F=b6(0x1b7)+C+b6(0x1e0),G=[];G[b6(0x140)](b6(0x13d)+E),D[b6(0x140)](z),E++,A&&(G[b6(0x140)](b6(0x172)+E),D[b6(0x140)]('%'+A+'%'),E++);const H=E,I=E+0x1;D[b6(0x140)](j,B),E+=0x2;const J='\x0a\x20\x20\x20\x20\x20\x20WITH\x20valid_job\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+F+'\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'+C+b6(0x1c1)+G[b6(0x1ed)](b6(0x148))+b6(0x1fb)+H+b6(0x1dc)+I+b6(0x18e),K=await this[b6(0x13a)][b6(0x200)](J,D);for(const N of K[b6(0x192)])w[N['field']]=N[b6(0x19c)];return[K[b6(0x192)]['length']<j?'0':String(B+K[b6(0x192)][b6(0x20c)]),w];}async[P(0x19f)](c){const b7=P,d=this[b7(0x211)](key_1[b7(0x20e)][b7(0x159)],{'appId':this[b7(0x196)]});if(c['guid'])return;const f=c['throttle'][b7(0x130)]();if(c[b7(0x16c)])await this[b7(0x182)]()[b7(0x160)](d,{[c[b7(0x16c)]]:f});else{const g=this['transact']();g['del'](d),g[b7(0x160)](d,{':':f}),await g[b7(0x171)]();}}async['getThrottleRates'](){const b8=P,c=this[b8(0x211)](key_1[b8(0x20e)][b8(0x159)],{'appId':this[b8(0x196)]});return await this[b8(0x182)]()[b8(0x1ba)](c)??{};}async[P(0x165)](c){const ba=P,d=(h,j)=>{const b9=b,k=j in h?Number(h[j]):0x0;return isNaN(k)?0x0:-0x1==k?enums_1[b9(0x158)]:Math[b9(0x14c)](Math[b9(0x163)](k,enums_1[b9(0x158)]),0x0);},f=await this[ba(0x149)](),g=d(f,':');return':'!==c&&c in f?d(f,c):g;}}function a(){const bb=['KVSQL','setSchemas','rows','get','0.0.0','general','appId','metadata/js','suppress','../..','hasOwnProperty','RIGHT','value','version','includes','setThrottleRate','setHookSignal','VALSEP','hGetAllResult','getAllSymbols','unpackage','deleteProcessedTaskQueue','split','namespace\x20not\x20set','forEach','child','expire','__esModule','getDependencies','registerAppVersion','APP','./kvsql','SYMKEYS','isArray','set','10WyoHRV','tableForKey','3632245vzSjpd','getSchemas','\x0a\x20\x20\x20\x20\x20\x20SELECT\x20id\x0a\x20\x20\x20\x20\x20\x20FROM\x20','match','\x20already\x20completed','hgetall','setApp','job\x20[','reason','HOOKS','collateSynthetic','Version\x20','_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','73TbrvhD','../../../../modules/enums','create','toPrecision','setTransitions','KeyService','TYPSEP','JOB','2576103NAGiEw','../../../../modules/key','../../../../package.json','addSymbolValues','startsWith','hmark','16180813SWkgOV','hmget','findJobs','serializer','setSubscriptions','stringify','invalidateCache','writable','scrub','getHookRules','median',':cursor','\x20OFFSET\x20$','active','setSymbolValues','seedJobSymbols','\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','package','zrange','sleepFor','getSchema','default','SYMVALS','Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention','JOB_STATS_INDEX','expireJob','getSubscriptions','SLOTS','./kvtables','join','deleteSymbolValues','hash','LEFT','deployed:','suppressed-interrupt','cache','releaseScoutRole','zadd','lmove','getRaw','HMSH_CODE_INTERRUPT','HOTMESH','shift','\x0a\x20\x20\x20\x20\x20\x20LIMIT\x20$','namespace','INTERRUPT','getActiveTaskQueue','throw','query','10378376gXKfgL','zrem','kvTables','activated:','entries','__createBinding','abbreviate','getApp','Job\x20','lpop','getSubscription','length','seedActivitySymbols','KeyType','lrange','zrangebyscore','mintKey','getStatus','getSettings','HMSH_SCOUT_INTERVAL_SECONDS','toString','setHookRules','JOB_STATE','SUBSCRIPTION_PATTERNS','settings\x20not\x20found','now','interrupt','../../cache','setSettings','GetStateError','pgClient','4KfdDna','hsetnx','a.type\x20=\x20$','slice','findJobFields','push','parse','JOB_DEPENDENTS','zAdd','call','127791yLaYKU','getSymbolKeys','hget','\x20AND\x20','getThrottleRates','setStatus','getNextTask','max','resolve','JOB_STATS_GENERAL','setnxex','6BnMfsp','metadata/err','?:?','then','getSymbols','zRangeByScore','deleteSymbols','reserveScoutRole','MAX_DELAY','THROTTLE_RATE','defineProperty','Cache','addTaskQueues','ACTIVITY','storeClient','map','hset','sort','KEYS','min','logger','getThrottleRate','formatISODate','resolveTaskKeyContext','getSymbolValues','WORK_ITEMS','del','SIGNALS','topic','stack','getTransitions','7700805BlZuhb','HMNS','exec','a.field\x20LIKE\x20$','28730qxzdZy','getJobStats','collate','code','isSuccessful','SUBSCRIPTIONS','processTaskQueue','\x20does\x20not\x20exist\x20for\x20app\x20','/output/metadata/as','\x20not\x20found','../../../../modules/utils','getSymKey','setWorkItem','seedSymbols','TIME_RANGE','kvsql','hincrbyfloat','MDATA_SYMBOLS','keys','transact','PostgresStoreService','setStats','resetSymbols','getQueryState','SerializerService','addSymbols','reserveSymbolRange','\x0a\x20\x20\x20\x20','delist'];a=function(){return bb;};return a();}exports[P(0x187)]=PostgresStoreService;
@@ -1,137 +0,0 @@
1
- import { KeyStoreParams, KeyType } from '../../../../modules/key';
2
- import { ILogger } from '../../../logger';
3
- import { ActivityType, Consumes } from '../../../../types/activity';
4
- import { AppVID } from '../../../../types/app';
5
- import { HookRule, HookSignal } from '../../../../types/hook';
6
- import { HotMeshApp, HotMeshApps, HotMeshSettings } from '../../../../types/hotmesh';
7
- import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
8
- import { SymbolSets, StringStringType, StringAnyType, Symbols } from '../../../../types/serializer';
9
- import { IdsData, JobStatsRange, StatsType } from '../../../../types/stats';
10
- import { Transitions } from '../../../../types/transition';
11
- import { JobInterruptOptions } from '../../../../types/job';
12
- import { WorkListTaskType } from '../../../../types/task';
13
- import { ThrottleOptions } from '../../../../types/quorum';
14
- import { StoreService } from '../..';
15
- declare abstract class RedisStoreBase<ClientProvider extends ProviderClient, TransactionProvider extends ProviderTransaction> extends StoreService<ClientProvider, TransactionProvider> {
16
- commands: Record<string, string>;
17
- abstract transact(): TransactionProvider;
18
- abstract exec(...args: any[]): Promise<any>;
19
- abstract setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
20
- constructor(storeClient: ClientProvider);
21
- init(namespace: string, appId: string, logger: ILogger): Promise<HotMeshApps>;
22
- isSuccessful(result: any): boolean;
23
- delistSignalKey(key: string, target: string): Promise<void>;
24
- zAdd(key: string, score: number | string, value: string | number, redisMulti?: TransactionProvider): Promise<any>;
25
- zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
26
- mintKey(type: KeyType, params: KeyStoreParams): string;
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
- */
33
- reserveScoutRole(scoutType: 'time' | 'signal' | 'activate', delay?: number): Promise<boolean>;
34
- releaseScoutRole(scoutType: 'time' | 'signal' | 'activate'): Promise<boolean>;
35
- getSettings(bCreate?: boolean): Promise<HotMeshSettings>;
36
- setSettings(manifest: HotMeshSettings): Promise<any>;
37
- reserveSymbolRange(target: string, size: number, type: 'JOB' | 'ACTIVITY', tryCount?: number): Promise<[number, number, Symbols]>;
38
- getAllSymbols(): Promise<Symbols>;
39
- getSymbols(activityId: string): Promise<Symbols>;
40
- addSymbols(activityId: string, symbols: Symbols): Promise<boolean>;
41
- seedSymbols(target: string, type: 'JOB' | 'ACTIVITY', startIndex: number): StringStringType;
42
- seedJobSymbols(startIndex: number): StringStringType;
43
- seedActivitySymbols(startIndex: number, activityId: string): StringStringType;
44
- getSymbolValues(): Promise<Symbols>;
45
- addSymbolValues(symvals: Symbols): Promise<boolean>;
46
- getSymbolKeys(symbolNames: string[]): Promise<SymbolSets>;
47
- getApp(id: string, refresh?: boolean): Promise<HotMeshApp>;
48
- setApp(id: string, version: string): Promise<HotMeshApp>;
49
- activateAppVersion(id: string, version: string): Promise<boolean>;
50
- registerAppVersion(appId: string, version: string): Promise<any>;
51
- setStats(jobKey: string, jobId: string, dateTime: string, stats: StatsType, appVersion: AppVID, transaction?: TransactionProvider): Promise<any>;
52
- hGetAllResult(result: any): any;
53
- getJobStats(jobKeys: string[]): Promise<JobStatsRange>;
54
- getJobIds(indexKeys: string[], idRange: [number, number]): Promise<IdsData>;
55
- setStatus(collationKeyStatus: number, jobId: string, appId: string, transaction?: TransactionProvider): Promise<any>;
56
- getStatus(jobId: string, appId: string): Promise<number>;
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
- */
63
- getQueryState(jobId: string, fields: string[]): Promise<StringAnyType>;
64
- getState(jobId: string, consumes: Consumes, dIds: StringStringType): Promise<[StringAnyType, number] | undefined>;
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
- */
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
- */
77
- collateSynthetic(jobId: string, guid: string, amount: number, transaction?: TransactionProvider): Promise<number>;
78
- setStateNX(jobId: string, appId: string, status?: number): Promise<boolean>;
79
- getSchema(activityId: string, appVersion: AppVID): Promise<ActivityType>;
80
- getSchemas(appVersion: AppVID): Promise<Record<string, ActivityType>>;
81
- setSchemas(schemas: Record<string, ActivityType>, appVersion: AppVID): Promise<any>;
82
- setSubscriptions(subscriptions: Record<string, any>, appVersion: AppVID): Promise<boolean>;
83
- getSubscriptions(appVersion: AppVID): Promise<Record<string, string>>;
84
- getSubscription(topic: string, appVersion: AppVID): Promise<string | undefined>;
85
- setTransitions(transitions: Record<string, any>, appVersion: AppVID): Promise<any>;
86
- getTransitions(appVersion: AppVID): Promise<Transitions>;
87
- setHookRules(hookRules: Record<string, HookRule[]>): Promise<any>;
88
- getHookRules(): Promise<Record<string, HookRule[]>>;
89
- setHookSignal(hook: HookSignal, transaction?: TransactionProvider): Promise<any>;
90
- getHookSignal(topic: string, resolved: string): Promise<string | undefined>;
91
- deleteHookSignal(topic: string, resolved: string): Promise<number | undefined>;
92
- addTaskQueues(keys: string[]): Promise<void>;
93
- getActiveTaskQueue(): Promise<string | null>;
94
- deleteProcessedTaskQueue(workItemKey: string, key: string, processedKey: string, scrub?: boolean): Promise<void>;
95
- processTaskQueue(sourceKey: string, destinationKey: string): Promise<any>;
96
- expireJob(jobId: string, inSeconds: number, redisMulti?: TransactionProvider): Promise<void>;
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
- */
104
- registerTimeHook(jobId: string, gId: string, activityId: string, type: WorkListTaskType, deletionTime: number, dad: string, transaction?: TransactionProvider): Promise<void>;
105
- getNextTask(listKey?: string): Promise<[
106
- listKey: string,
107
- jobId: string,
108
- gId: string,
109
- activityId: string,
110
- type: WorkListTaskType
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
- */
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
- */
129
- interrupt(topic: string, jobId: string, options?: JobInterruptOptions): Promise<void>;
130
- scrub(jobId: string): Promise<void>;
131
- findJobs(queryString?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, string[]]>;
132
- findJobFields(jobId: string, fieldMatchPattern?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, StringStringType]>;
133
- setThrottleRate(options: ThrottleOptions): Promise<void>;
134
- getThrottleRates(): Promise<StringStringType>;
135
- getThrottleRate(topic: string): Promise<number>;
136
- }
137
- export { RedisStoreBase };
@@ -1 +0,0 @@
1
- 'use strict';const D=b;(function(c,d){const C=b,e=c();while(!![]){try{const f=parseInt(C(0x1d5))/0x1+-parseInt(C(0x120))/0x2*(-parseInt(C(0x166))/0x3)+-parseInt(C(0x191))/0x4+-parseInt(C(0x1c5))/0x5+parseInt(C(0x1c7))/0x6+-parseInt(C(0x1a0))/0x7*(parseInt(C(0x1b9))/0x8)+-parseInt(C(0x119))/0x9;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x3e276));var __createBinding=this&&this['__createBinding']||(Object[D(0x14e)]?function(c,d,f,g){const E=D;void 0x0===g&&(g=f);var h=Object[E(0x10e)](d,f);h&&!(E(0x131)in h?!d[E(0x12c)]:h[E(0x169)]||h[E(0x136)])||(h={'enumerable':!0x0,'get':function(){return d[f];}}),Object[E(0x13c)](c,g,h);}:function(c,d,f,g){void 0x0===g&&(g=f),c[g]=d[f];}),__setModuleDefault=this&&this[D(0x11d)]||(Object[D(0x14e)]?function(c,d){Object['defineProperty'](c,'default',{'enumerable':!0x0,'value':d});}:function(c,d){c['default']=d;}),__importStar=this&&this[D(0x17b)]||function(c){const F=D;if(c&&c[F(0x12c)])return c;var d={};if(null!=c){for(var f in c)'default'!==f&&Object[F(0x1c6)]['hasOwnProperty'][F(0x127)](c,f)&&__createBinding(d,c,f);}return __setModuleDefault(d,c),d;};function b(c,d){const e=a();return b=function(f,g){f=f-0x100;let h=e[f];return h;},b(c,d);}Object['defineProperty'](exports,'__esModule',{'value':!0x0}),exports[D(0x126)]=void 0x0;function a(){const aW=['then','startsWith','__setModuleDefault','deleteSymbols','TIME_RANGE','72456ddRlhU','registerAppVersion','now','getStatus','SET',']\x20interrupted','RedisStoreBase','call','message','../..','deleteHookSignal','deleteSymbolValues','__esModule','setSymbols','forEach','APP','stack','get','HMSH_CODE_INTERRUPT','metadata/js','appId','hmget','configurable','min','isSuccessful','setSettings','delist','seedSymbols','defineProperty','hincrby','rename','addSymbolValues','zrangebyscore','getJobStats','setSubscriptions','SIGNALS','SUBSCRIPTIONS','job\x20[','getJobIds','\x20already\x20completed','setState','SYMVALS','findJobFields','getRaw','length','getApp','create','getSchemas','setApp','getSymbolValues','code','reserveScoutRole','SerializerService','../../../../modules/enums','throttle','HMSH_SCOUT_INTERVAL_SECONDS','all','debug','del','zadd','TYPSEP','setStatus','setSchemas','guid','\x20does\x20not\x20exist\x20for\x20app\x20','Job\x20','hset','0.0.0','expireJob','GetStateError','18IWEuxJ','cache','HMSH_SIGNAL_EXPIRE','writable','MAX_DELAY','interrupt','HOTMESH','DEL','getTransitions','setThrottleRate','hgetall','setWorkItem','addTaskQueues','split','getThrottleRates','JOB_STATE',':cursor','KeyService','../../../serializer','version','KeyType','__importStar','getSymbols','MDATA_SYMBOLS','getSchema','zRangeByScore','hsetnx','serializer','SUBSCRIPTION_PATTERNS','active','collateSynthetic','SCAN','setTransitions','JOB_DEPENDENTS','exec','setHookSignal','general','VALSEP','getThrottleRate','getActiveTaskQueue','unpackage','getNextTask','throw','1373480TMdiFu','HOOKS','push','resolveTaskKeyContext','JOB','deleteProcessedTaskQueue','getHookRules','RIGHT','INTERRUPT','setStateNX','getSymKey','zAdd','/output/metadata/','WORK_ITEMS','true','28FexxPI','getState','entries','slice','sleep','setStats','mintKey','toString','topic','COUNT','hget','namespace','HSCAN','setnxex','isArray','commands','removeWorkItem','logger','../../../../package.json','HMNS','\x20not\x20found','deployed:','resetSymbols','JOB_STATS_INDEX','SCHEMAS','87832wBPaqX','setHookRules','sort','keys','abbreviate','getSubscriptions','parse','MATCH','getApps','versions/','median','zrem','219275HUmzXr','prototype','1314756RNRrNe','formatISODate','join','THROTTLE_RATE','reason','transact','SYMKEYS','max','seedActivitySymbols','getSubscription','getAllSymbols','processTaskQueue','getSymbolKeys','hGetAllResult','384576jaKolG','Cache','namespace\x20not\x20set','lrange','rpush','JOB_STATS_GENERAL','getSettings','settings\x20not\x20found','stringify','child','hincrbyfloat','JOB_STATS_MEDIAN','../../../../modules/utils','shift','?:?','reserveSymbolRange','registerTimeHook','releaseScoutRole','seedJobSymbols','expire','resolve','getQueryState','getOwnPropertyDescriptor','storeClient','/output/metadata/as','delistSignalKey','EXPIRE','activateAppVersion','../../../../modules/key','setSymbolValues','package','suppressed-interrupt','lmove','1218123CMsyGO','KEYS'];a=function(){return aW;};return a();}const errors_1=require('../../../../modules/errors'),key_1=require(D(0x114)),serializer_1=require(D(0x178)),utils_1=require(D(0x104)),enums_1=require(D(0x155)),cache_1=require('../../cache'),__1=require(D(0x129));class RedisStoreBase extends __1['StoreService']{constructor(c){const G=D;super(c),this[G(0x1af)]={},this[G(0x10f)]=c;}async['init'](c=key_1[D(0x1b3)],d,f){const H=D;this[H(0x1ab)]=c,this['appId']=d,this[H(0x1b1)]=f;const g=await this[H(0x1db)](!0x0);return this['cache']=new cache_1[(H(0x1d6))](d,g),this[H(0x181)]=new serializer_1[(H(0x154))](),await this[H(0x14d)](d),this['cache'][H(0x1c1)]();}['isSuccessful'](c){return c>0x0||'OK'===c||!0x0===c;}async[D(0x111)](c,d){const I=D;await this[I(0x10f)][this['commands'][I(0x15a)]](c+':'+d);}async[D(0x19c)](c,d,f,g){const J=D;return await(g||this['storeClient'])[this[J(0x1af)][J(0x15b)]](c,d,f);}async[D(0x17f)](c,d,f){const K=D,g=await this['storeClient'][this[K(0x1af)][K(0x140)]](c,d,f);return g?.[K(0x14c)]>0x0?g[0x0]:null;}['mintKey'](c,d){const L=D;if(!this[L(0x1ab)])throw new Error(L(0x1d7));return key_1[L(0x177)][L(0x1a6)](this[L(0x1ab)],c,d);}['invalidateCache'](){const M=D;this[M(0x167)]['invalidate']();}async[D(0x153)](c,d=enums_1[D(0x157)]){const N=D,f=this[N(0x1a6)](key_1['KeyType'][N(0x19e)],{'appId':this[N(0x134)],'scoutType':c}),g=await this[N(0x188)](N(0x124),f,c+':'+(0x0,utils_1[N(0x1c8)])(new Date()),'NX','EX',''+(d-0x1));return this[N(0x138)](g);}async[D(0x109)](c){const O=D,d=this['mintKey'](key_1[O(0x17a)][O(0x19e)],{'appId':this['appId'],'scoutType':c}),f=await this[O(0x188)](O(0x16d),d);return this[O(0x138)](f);}async[D(0x1db)](c=!0x1){const P=D;let d=this['cache']?.['getSettings']();if(d)return d;if(c){const f=(await Promise[P(0x10c)]()[P(0x11b)](()=>__importStar(require(P(0x1b2)))))[P(0x179)]||P(0x163);return d={'namespace':key_1['HMNS'],'version':f},await this[P(0x139)](d),d;}throw new Error(P(0x1dc));}async[D(0x139)](c){const Q=D,d=this[Q(0x1a6)](key_1[Q(0x17a)][Q(0x16c)],{});return await this[Q(0x10f)][this[Q(0x1af)][Q(0x162)]](d,c);}async['reserveSymbolRange'](d,f,g,h=0x1){const R=D,j=this[R(0x1a6)](key_1[R(0x17a)][R(0x1cd)],{'appId':this[R(0x134)]}),k=this[R(0x1a6)](key_1['KeyType'][R(0x1cd)],{'activityId':d,'appId':this[R(0x134)]});if(await this['storeClient'][this[R(0x1af)][R(0x180)]](j,d,R(0x106))){const l=await this['storeClient'][this[R(0x1af)][R(0x13d)]](j,R(0x176),f),m=l-f,p=m+':'+(l-0x1);await this[R(0x10f)][this[R(0x1af)][R(0x162)]](j,d,p);const q=this[R(0x13b)](d,g,m);return await this[R(0x10f)][this['commands'][R(0x162)]](k,q),[m+serializer_1[R(0x17d)]['SLOTS'],l-0x1,{}];}{const u=await this[R(0x10f)][this[R(0x1af)]['hget']](j,d),[v]=u['split'](':');if('?'===v){if(await(0x0,utils_1['sleepFor'])(0x3e8*h),h<0x5)return this[R(0x107)](d,f,g,h+0x1);throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}{const w=parseInt(v,0xa),x=await this[R(0x10f)][this[R(0x1af)]['hgetall']](k),y=Object[R(0x1bc)](x)[R(0x14c)];return[w+serializer_1[R(0x17d)]['SLOTS']+y,Number(w+f-0x1),x];}}}async[D(0x1d1)](){const S=D,c=this[S(0x1a6)](key_1[S(0x17a)][S(0x1cd)],{'appId':this[S(0x134)]}),d=await this[S(0x10f)][this[S(0x1af)][S(0x170)]](c),f=Object[S(0x1bc)](d)[S(0x1bb)]();delete f[S(0x176)];const g=this['transact']();for(const k of f){const l=this[S(0x1a6)](key_1['KeyType']['SYMKEYS'],{'activityId':k,'appId':this['appId']});g[this['commands'][S(0x170)]](l);}const h=await g[S(0x188)](),j={};return h['forEach']((m,o)=>{const T=S;if(m){let p;p=Array['isArray'](m)&&0x2===m['length']?m[0x1]:m;for(const [q,r]of Object[T(0x1a2)](p))j[r]=q[T(0x11c)](f[o])?q:f[o]+'/'+q;}}),j;}async['getSymbols'](c){const U=D;let d=this[U(0x167)]['getSymbols'](this[U(0x134)],c);if(d)return d;{const f={'activityId':c,'appId':this[U(0x134)]},g=this['mintKey'](key_1[U(0x17a)]['SYMKEYS'],f);return d=await this[U(0x10f)][this[U(0x1af)]['hgetall']](g),this[U(0x167)][U(0x12d)](this[U(0x134)],c,d),d;}}async['addSymbols'](c,d){const V=D;if(!d||!Object[V(0x1bc)](d)[V(0x14c)])return!0x1;const f={'activityId':c,'appId':this[V(0x134)]},g=this[V(0x1a6)](key_1[V(0x17a)][V(0x1cd)],f),h=await this[V(0x10f)][this['commands'][V(0x162)]](g,d);return this[V(0x167)][V(0x11e)](this[V(0x134)],c),h>0x0;}[D(0x13b)](c,d,f){const W=D;return W(0x195)===d?this['seedJobSymbols'](f):this[W(0x1cf)](f,c);}[D(0x10a)](c){const X=D,d={};return serializer_1[X(0x17d)][X(0x195)][X(0x11a)][X(0x12e)](f=>{const Y=X;d['metadata/'+f]=(0x0,utils_1[Y(0x19b)])(c),c++;}),d;}['seedActivitySymbols'](c,d){const Z=D,f={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS'][Z(0x12e)](g=>{const a0=Z;f[d+a0(0x19d)+g]=(0x0,utils_1[a0(0x19b)])(c),c++;}),f;}async[D(0x151)](){const a1=D;let c=this[a1(0x167)][a1(0x151)](this['appId']);if(c)return c;{const d=this['mintKey'](key_1[a1(0x17a)][a1(0x149)],{'appId':this['appId']});return c=await this[a1(0x10f)][this[a1(0x1af)][a1(0x170)]](d),this[a1(0x167)][a1(0x115)](this[a1(0x134)],c),c;}}async[D(0x13f)](c){const a2=D;if(!c||!Object[a2(0x1bc)](c)[a2(0x14c)])return!0x1;const d=this[a2(0x1a6)](key_1[a2(0x17a)]['SYMVALS'],{'appId':this[a2(0x134)]}),f=await this[a2(0x10f)][this[a2(0x1af)][a2(0x162)]](d,c);return this[a2(0x167)][a2(0x12b)](this['appId']),this[a2(0x138)](f);}async[D(0x1d3)](c){const a3=D,d=[];for(const h of c)d[a3(0x193)](this[a3(0x17c)](h));const f=await Promise[a3(0x158)](d),g={};for(const j of c)g[j]=f[a3(0x105)]();return g;}async[D(0x14d)](c,d=!0x1){const a4=D;let f=this['cache']['getApp'](c);if(d||!(f&&Object['keys'](f)['length']>0x0)){const g={'appId':c},h=this[a4(0x1a6)](key_1[a4(0x17a)][a4(0x12f)],g),j=await this[a4(0x10f)][this[a4(0x1af)][a4(0x170)]](h);if(!j)return null;f={};for(const k in j)try{f[k]=a4(0x183)===k?a4(0x19f)===j[k]:j[k];}catch(l){f[k]=j[k];}this[a4(0x167)][a4(0x150)](c,f);}return f;}async[D(0x150)](c,d){const a5=D,f={'appId':c},g=this[a5(0x1a6)](key_1[a5(0x17a)][a5(0x12f)],f),h=a5(0x1c2)+d,j={'id':c,'version':d,[h]:a5(0x1b5)+(0x0,utils_1[a5(0x1c8)])(new Date())};return await this['storeClient'][this[a5(0x1af)][a5(0x162)]](g,j),this[a5(0x167)]['setApp'](c,j),j;}async[D(0x113)](c,d){const a6=D,f={'appId':c},g=this[a6(0x1a6)](key_1[a6(0x17a)][a6(0x12f)],f),h='versions/'+d,j=await this['getApp'](c,!0x0);if(j&&j[h]){const k={'id':c,'version':d[a6(0x1a7)](),[h]:'activated:'+(0x0,utils_1[a6(0x1c8)])(new Date()),'active':!0x0};return Object[a6(0x1a2)](k)[a6(0x12e)](([l,m])=>{const a7=a6;k[l]=m[a7(0x1a7)]();}),await this[a6(0x10f)][this[a6(0x1af)][a6(0x162)]](g,k),!0x0;}throw new Error('Version\x20'+d+a6(0x160)+c);}async[D(0x121)](c,d){const a8=D,f={'appId':c},g=this[a8(0x1a6)](key_1[a8(0x17a)][a8(0x12f)],f),h={'id':c,'version':d[a8(0x1a7)](),[a8(0x1c2)+d]:(0x0,utils_1[a8(0x1c8)])(new Date())};return await this[a8(0x10f)][this[a8(0x1af)][a8(0x162)]](g,h);}async[D(0x1a5)](c,d,f,g,h,j){const a9=D,k={'appId':h['id'],'jobId':d,'jobKey':c,'dateTime':f},l=j||this[a9(0x1cc)]();if(g['general'][a9(0x14c)]){const m=this[a9(0x1a6)](key_1[a9(0x17a)][a9(0x1da)],k);for(const {target:p,value:q}of g[a9(0x18a)])l[this['commands']['hincrbyfloat']](m,p,q);}for(const {target:u,value:v}of g['index']){const w={...k,'facet':u},x=this['mintKey'](key_1[a9(0x17a)][a9(0x1b7)],w);l[this[a9(0x1af)][a9(0x1d9)]](x,v[a9(0x1a7)]());}for(const {target:y,value:z}of g[a9(0x1c3)]){const A={...k,'facet':y},B=this['mintKey'](key_1[a9(0x17a)][a9(0x103)],A);this[a9(0x19c)](B,z,y,l);}if(!j)return await l['exec']();}['hGetAllResult'](c){return c;}async[D(0x141)](c){const aa=D,d=this[aa(0x1cc)]();for(const h of c)d[this[aa(0x1af)][aa(0x170)]](h);const f=await d['exec'](),g={};for(const [j,k]of f['entries']()){const l=c[j],m=this[aa(0x1d4)](k);if(m&&Object['keys'](m)[aa(0x14c)]>0x0){const o={...m};for(const [p,q]of Object[aa(0x1a2)](o))o[p]=Number(q);g[l]=o;}else g[l]={};}return g;}async[D(0x146)](c,d){const ab=D,f=this['transact']();for(const j of c)f[this[ab(0x1af)][ab(0x1d8)]](j,d[0x0],d[0x1]);const g=await f[ab(0x188)](),h={};for(const [k,l]of g[ab(0x1a2)]()){const m=c[k],o=l[0x1]||l;o&&o[ab(0x14c)]>0x0?h[m]=o:h[m]=[];}return h;}async[D(0x15d)](c,d,f,g){const ac=D,h=this[ac(0x1a6)](key_1['KeyType'][ac(0x175)],{'appId':f,'jobId':d});return await(g||this[ac(0x10f)])[this['commands'][ac(0x102)]](h,':',c);}async[D(0x123)](c,d){const ad=D,f=this[ad(0x1a6)](key_1[ad(0x17a)][ad(0x175)],{'appId':d,'jobId':c}),g=await this[ad(0x10f)][this[ad(0x1af)][ad(0x1aa)]](f,':');if(null===g)throw new Error(ad(0x161)+c+ad(0x1b4));return Number(g);}async[D(0x148)]({...d},f,g,j,k,l){const ae=D;delete d[ae(0x133)];const m=this['mintKey'](key_1[ae(0x17a)][ae(0x175)],{'appId':this[ae(0x134)],'jobId':g}),p=await this[ae(0x1d3)](j),q=await this['getSymbolValues']();this['serializer'][ae(0x1b6)](p,q,k);const u=this['serializer'][ae(0x116)](d,j);return null!==f?u[':']=f[ae(0x1a7)]():delete u[':'],await(l||this['storeClient'])[this[ae(0x1af)][ae(0x162)]](m,u),g;}async[D(0x10d)](c,d){const af=D,f=this['mintKey'](key_1['KeyType'][af(0x175)],{'appId':this[af(0x134)],'jobId':c}),g=d['map'](k=>k[af(0x11c)]('\x22')?k[af(0x1a3)](0x1,-0x1):'_'+k),h=await this[af(0x10f)][this[af(0x1af)]['hmget']](f,g),j={};return d[af(0x12e)]((k,l)=>{const ag=af;k[ag(0x11c)]('\x22')&&(k=k['slice'](0x1,-0x1)),j[k]=h[l];}),j;}async[D(0x1a1)](d,f,g){const ah=D,j=this[ah(0x1a6)](key_1['KeyType'][ah(0x175)],{'appId':this[ah(0x134)],'jobId':d}),k=Object[ah(0x1bc)](f),l=await this[ah(0x1d3)](k);this[ah(0x181)][ah(0x1b6)](l,{},g);const m=this[ah(0x181)][ah(0x1bd)](f,k,[':']),p=await this[ah(0x10f)][this[ah(0x1af)][ah(0x135)]](j,m),q={};let u=!0x1;if(m[ah(0x12e)]((v,w)=>{p[w]&&(u=!0x0),q[v]=p[w];}),u){const v=await this['getSymbolValues']();this[ah(0x181)][ah(0x1b6)](l,v,g);const w=this[ah(0x181)][ah(0x18e)](q,k);let x=0x0;return w[':']&&(x=Number(w[':']),w[ah(0x133)]=x,delete w[':']),[w,x];}throw new errors_1[(ah(0x165))](d);}async[D(0x14b)](c){const ai=D,d=this[ai(0x1a6)](key_1[ai(0x17a)][ai(0x175)],{'appId':this[ai(0x134)],'jobId':c}),f=await this['storeClient'][this['commands'][ai(0x170)]](d);if(!f)throw new errors_1[(ai(0x165))](c);return f;}async['collate'](d,f,g,j,k){const aj=D,m=this['mintKey'](key_1[aj(0x17a)][aj(0x175)],{'appId':this[aj(0x134)],'jobId':d}),q=f+aj(0x110),u=[f],v=await this[aj(0x1d3)](u),w=await this[aj(0x151)]();this[aj(0x181)][aj(0x1b6)](v,w,j);const x={[q]:g[aj(0x1a7)]()},z=this[aj(0x181)][aj(0x116)](x,u),A=Object[aj(0x1bc)](z)[0x0];return await(k||this[aj(0x10f)])[this[aj(0x1af)][aj(0x102)]](m,A,g);}async[D(0x184)](c,d,f,g){const ak=D,h=this[ak(0x1a6)](key_1[ak(0x17a)][ak(0x175)],{'appId':this['appId'],'jobId':c});return await(g||this[ak(0x10f)])[this[ak(0x1af)][ak(0x102)]](h,d,f[ak(0x1a7)]());}async[D(0x19a)](c,d,f){const al=D,g=this[al(0x1a6)](key_1[al(0x17a)][al(0x175)],{'appId':d,'jobId':c}),h=await this['storeClient'][this['commands'][al(0x180)]](g,':',f?.[al(0x1a7)]()??'1');return this[al(0x138)](h);}async['getSchema'](c,d){const am=D,f=this[am(0x167)][am(0x17e)](d['id'],d[am(0x179)],c);if(f)return f;return(await this[am(0x14f)](d))[c];}async[D(0x14f)](c){const an=D;let d=this[an(0x167)]['getSchemas'](c['id'],c['version']);if(d&&Object['keys'](d)[an(0x14c)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[an(0x179)]},g=this[an(0x1a6)](key_1[an(0x17a)][an(0x1b8)],f);d={};const h=await this[an(0x10f)][this[an(0x1af)][an(0x170)]](g);return Object[an(0x1a2)](h)['forEach'](([j,k])=>{const ao=an;d[j]=JSON[ao(0x1bf)](k);}),this['cache'][an(0x15e)](c['id'],c[an(0x179)],d),d;}}async['setSchemas'](c,d){const ap=D,f={'appId':d['id'],'appVersion':d['version']},g=this[ap(0x1a6)](key_1[ap(0x17a)][ap(0x1b8)],f),h={...c};Object[ap(0x1a2)](h)[ap(0x12e)](([k,l])=>{const aq=ap;h[k]=JSON[aq(0x100)](l);});const j=await this[ap(0x10f)][this[ap(0x1af)][ap(0x162)]](g,h);return this[ap(0x167)][ap(0x15e)](d['id'],d[ap(0x179)],c),j;}async[D(0x142)](c,d){const ar=D,f={'appId':d['id'],'appVersion':d['version']},g=this[ar(0x1a6)](key_1[ar(0x17a)]['SUBSCRIPTIONS'],f),h={...c};Object[ar(0x1a2)](h)[ar(0x12e)](([k,l])=>{h[k]=JSON['stringify'](l);});const j=await this[ar(0x10f)][this[ar(0x1af)][ar(0x162)]](g,h);return this[ar(0x167)]['setSubscriptions'](d['id'],d[ar(0x179)],c),this[ar(0x138)](j);}async[D(0x1be)](c){const as=D;let d=this['cache'][as(0x1be)](c['id'],c[as(0x179)]);if(d&&Object[as(0x1bc)](d)[as(0x14c)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[as(0x179)]},g=this[as(0x1a6)](key_1[as(0x17a)][as(0x144)],f);return d=await this['storeClient'][this[as(0x1af)][as(0x170)]](g)||{},Object[as(0x1a2)](d)[as(0x12e)](([h,j])=>{d[h]=JSON['parse'](j);}),this[as(0x167)]['setSubscriptions'](c['id'],c[as(0x179)],d),d;}}async[D(0x1d0)](c,d){const at=D;return(await this[at(0x1be)](d))[c];}async[D(0x186)](c,d){const au=D,f={'appId':d['id'],'appVersion':d[au(0x179)]},g=this[au(0x1a6)](key_1['KeyType'][au(0x182)],f),h={...c};if(Object[au(0x1a2)](h)[au(0x12e)](([j,k])=>{const av=au;h[j]=JSON[av(0x100)](k);}),0x0!==Object[au(0x1bc)](h)[au(0x14c)]){const j=await this[au(0x10f)][this[au(0x1af)][au(0x162)]](g,h);return this[au(0x167)][au(0x186)](d['id'],d[au(0x179)],c),j;}}async['getTransitions'](c){const aw=D;let d=this[aw(0x167)][aw(0x16e)](c['id'],c['version']);if(d&&Object[aw(0x1bc)](d)['length']>0x0)return d;{const f={'appId':c['id'],'appVersion':c['version']},g=this['mintKey'](key_1[aw(0x17a)][aw(0x182)],f);d={};const h=await this[aw(0x10f)][this['commands']['hgetall']](g);return Object[aw(0x1a2)](h)[aw(0x12e)](([j,k])=>{const ax=aw;d[j]=JSON[ax(0x1bf)](k);}),this[aw(0x167)][aw(0x186)](c['id'],c[aw(0x179)],d),d;}}async[D(0x1ba)](c){const ay=D,d=this['mintKey'](key_1[ay(0x17a)][ay(0x192)],{'appId':this[ay(0x134)]}),f={};if(Object[ay(0x1a2)](c)[ay(0x12e)](([g,h])=>{const az=ay;f[g[az(0x1a7)]()]=JSON[az(0x100)](h);}),0x0!==Object[ay(0x1bc)](f)[ay(0x14c)]){const g=await this[ay(0x10f)][this['commands'][ay(0x162)]](d,f);return this[ay(0x167)][ay(0x1ba)](this[ay(0x134)],c),g;}}async[D(0x197)](){const aA=D;let c=this['cache'][aA(0x197)](this[aA(0x134)]);if(c&&Object[aA(0x1bc)](c)['length']>0x0)return c;{const d=this[aA(0x1a6)](key_1[aA(0x17a)]['HOOKS'],{'appId':this[aA(0x134)]}),f=await this['storeClient'][this['commands']['hgetall']](d);return c={},Object[aA(0x1a2)](f)[aA(0x12e)](([g,h])=>{const aB=aA;c[g]=JSON[aB(0x1bf)](h);}),this['cache'][aA(0x1ba)](this[aA(0x134)],c),c;}}async[D(0x189)](c,d){const aC=D,f=this[aC(0x1a6)](key_1[aC(0x17a)][aC(0x143)],{'appId':this[aC(0x134)]}),{topic:g,resolved:h,jobId:j}=c,k=g+':'+h;await this[aC(0x1ad)](f+':'+k,j,Math[aC(0x1ce)](c['expire'],enums_1[aC(0x168)]));}async['getHookSignal'](c,d){const aD=D,f=this[aD(0x1a6)](key_1[aD(0x17a)][aD(0x143)],{'appId':this[aD(0x134)]}),g=await this[aD(0x10f)][this['commands'][aD(0x131)]](f+':'+c+':'+d);return g?g[aD(0x1a7)]():void 0x0;}async[D(0x12a)](c,d){const aE=D,f=this[aE(0x1a6)](key_1[aE(0x17a)][aE(0x143)],{'appId':this[aE(0x134)]}),g=await this[aE(0x10f)][this[aE(0x1af)][aE(0x15a)]](f+':'+c+':'+d);return g?Number(g):void 0x0;}async[D(0x172)](c){const aF=D,d=this[aF(0x1cc)](),f=this[aF(0x1a6)](key_1[aF(0x17a)][aF(0x19e)],{'appId':this[aF(0x134)]});for(const g of c)d[this[aF(0x1af)][aF(0x15b)]](f,{'score':Date['now']()[aF(0x1a7)](),'value':g},{'NX':!0x0});await d[aF(0x188)]();}async['getActiveTaskQueue'](){const aG=D;let c=this[aG(0x167)][aG(0x18d)](this[aG(0x134)])||null;if(!c){const d=this[aG(0x1a6)](key_1[aG(0x17a)][aG(0x19e)],{'appId':this['appId']}),f=await this['storeClient'][this['commands']['zrange']](d,0x0,0x0);c=f[aG(0x14c)]>0x0?f[0x0]:null,c&&this[aG(0x167)][aG(0x171)](this['appId'],c);}return c;}async[D(0x196)](c,d,f,g=!0x1){const aH=D,h=this[aH(0x1a6)](key_1['KeyType']['WORK_ITEMS'],{'appId':this[aH(0x134)]});await this[aH(0x10f)][this[aH(0x1af)]['zrem']](h,c)&&(g?(this['storeClient'][this[aH(0x1af)]['expire']](f,0x0),this[aH(0x10f)][this[aH(0x1af)][aH(0x10b)]](d[aH(0x173)](':')['slice'](0x0,0x5)[aH(0x1c9)](':'),0x0)):await this['storeClient'][this[aH(0x1af)][aH(0x13e)]](f,d)),this['cache'][aH(0x1b0)](this['appId']);}async[D(0x1d2)](c,d){const aI=D;return await this[aI(0x10f)][this[aI(0x1af)][aI(0x118)]](c,d,'LEFT',aI(0x198));}async[D(0x164)](c,d,f){const aJ=D;if(!isNaN(d)&&d>0x0){const g=this[aJ(0x1a6)](key_1[aJ(0x17a)][aJ(0x175)],{'appId':this['appId'],'jobId':c});await(f||this[aJ(0x10f)])[this[aJ(0x1af)]['expire']](g,d);}}async['getDependencies'](c){const aK=D,d={'appId':this[aK(0x134)],'jobId':c},f=this[aK(0x1a6)](key_1[aK(0x17a)][aK(0x187)],d);return this['storeClient'][this[aK(0x1af)]['lrange']](f,0x0,-0x1);}async[D(0x108)](d,f,g,j,k,l,m){const aL=D,p=this['mintKey'](key_1[aL(0x17a)]['TIME_RANGE'],{'appId':this[aL(0x134)],'timeValue':k}),q=[j,g,f,l,d][aL(0x1c9)](key_1[aL(0x18b)]),u=await(m||this[aL(0x10f)])[this['commands'][aL(0x1d9)]](p,q);if(m||0x1===u){const v=this['mintKey'](key_1['KeyType'][aL(0x11f)],{'appId':this['appId']});await this[aL(0x19c)](v,k[aL(0x1a7)](),p,m);}}async[D(0x18f)](c){const aM=D,d=this['mintKey'](key_1[aM(0x17a)][aM(0x11f)],{'appId':this[aM(0x134)]});if(c=c||await this[aM(0x17f)](d,0x0,Date[aM(0x122)]())){let [f,g]=this[aM(0x194)](c);const h=await this[aM(0x10f)][this[aM(0x1af)]['lpop']](g);if(h){let [j,k,l,m,...p]=h[aM(0x173)](key_1[aM(0x18b)]);return aM(0x13a)===j?f=aM(0x13a):aM(0x101)===j?f=aM(0x101):'expire-child'===j&&(j='expire'),[c,p[aM(0x1c9)](key_1[aM(0x18b)]),l,k,f];}return await this['storeClient'][this[aM(0x1af)][aM(0x1c4)]](d,c),!0x0;}return!0x1;}['resolveTaskKeyContext'](c){const aN=D;return c['startsWith'](key_1[aN(0x15c)]+aN(0x199))?[aN(0x16b),c[aN(0x173)](key_1[aN(0x15c)])[0x2]]:c[aN(0x11c)](key_1['TYPSEP']+aN(0x112))?[aN(0x10b),c[aN(0x173)](key_1[aN(0x15c)])[0x2]]:[aN(0x1a4),c];}async['interrupt'](d,f,g={}){const aO=D;try{if(await this[aO(0x123)](f,this['appId'])<=0x0)throw new Error(aO(0x161)+f+'\x20already\x20completed');const j=-0x3b9aca00,k=this[aO(0x1a6)](key_1['KeyType'][aO(0x175)],{'appId':this[aO(0x134)],'jobId':f});if(await this[aO(0x10f)][this['commands'][aO(0x102)]](k,':',j)<=j)throw new Error(aO(0x161)+f+aO(0x147));if(!0x1!==g[aO(0x190)]){const m='metadata/err',q=['$'+d],u=await this[aO(0x1d3)](q),v=await this[aO(0x151)]();this[aO(0x181)][aO(0x1b6)](u,v,{});const w=JSON['stringify']({'code':g[aO(0x152)]??enums_1[aO(0x132)],'message':g[aO(0x1cb)]??aO(0x145)+f+aO(0x125),'stack':g[aO(0x130)]??'','job_id':f}),x={[m]:j[aO(0x1a7)]()},z=this['serializer'][aO(0x116)](x,q),A=Object['keys'](z)[0x0];await this[aO(0x10f)][this['commands'][aO(0x162)]](k,A,w);}}catch(B){if(!g['suppress'])throw B;this[aO(0x1b1)][aO(0x159)](aO(0x117),{'message':B[aO(0x128)]});}}async['scrub'](c){const aP=D,d=this['mintKey'](key_1[aP(0x17a)][aP(0x175)],{'appId':this[aP(0x134)],'jobId':c});await this[aP(0x10f)][this['commands']['del']](d);}async['findJobs'](c='*',d=0x3e8,f=0x3e8,g='0'){const aQ=D,h=this['mintKey'](key_1[aQ(0x17a)][aQ(0x175)],{'appId':this['appId'],'jobId':c});let j;const k=[];do{const l=await this[aQ(0x188)](aQ(0x185),g,aQ(0x1c0),h,'COUNT',f[aQ(0x1a7)]());if(!Array['isArray'](l))break;[g,j]=l;for(const m of[...j])k[aQ(0x193)](m);if(k[aQ(0x14c)]>=d)break;}while('0'!==g);return[g,k];}async[D(0x14a)](d,f='*',g=0x3e8,h=0x3e8,j='0'){const aR=D;let k=[];const l={},m=this['mintKey'](key_1[aR(0x17a)][aR(0x175)],{'appId':this[aR(0x134)],'jobId':d});let p=0x0;do{const q=await this[aR(0x188)](aR(0x1ac),m,j,aR(0x1c0),f,aR(0x1a9),h[aR(0x1a7)]());if(!Array[aR(0x1ae)](q))break;[j,k]=q;for(let u=0x0;u<k['length'];u+=0x2)p++,l[k[u]]=k[u+0x1];}while('0'!==j&&p<g);return[j,l];}async[D(0x16f)](c){const aS=D,d=this[aS(0x1a6)](key_1[aS(0x17a)]['THROTTLE_RATE'],{'appId':this['appId']});if(c[aS(0x15f)])return;const f=c[aS(0x156)][aS(0x1a7)]();if(c[aS(0x1a8)])await this[aS(0x10f)][this[aS(0x1af)][aS(0x162)]](d,{[c[aS(0x1a8)]]:f});else{const g=this[aS(0x1cc)]();g[this[aS(0x1af)][aS(0x15a)]](d),g[this[aS(0x1af)]['hset']](d,{':':f}),await g[aS(0x188)]();}}async[D(0x174)](){const aT=D,c=this['mintKey'](key_1[aT(0x17a)][aT(0x1ca)],{'appId':this['appId']});return await this[aT(0x10f)][this[aT(0x1af)][aT(0x170)]](c)??{};}async[D(0x18c)](c){const aV=D,d=(h,j)=>{const aU=b,k=j in h?Number(h[j]):0x0;return isNaN(k)?0x0:-0x1==k?enums_1[aU(0x16a)]:Math[aU(0x1ce)](Math[aU(0x137)](k,enums_1[aU(0x16a)]),0x0);},f=await this[aV(0x174)](),g=d(f,':');return':'!==c&&c in f?d(f,c):g;}}exports[D(0x126)]=RedisStoreBase;
@@ -1,20 +0,0 @@
1
- import { IORedisClientType as RedisClientType, IORedisMultiType as RedisMultiType } from '../../../../types/redis';
2
- import { StoreInitializable } from '../store-initializable';
3
- import { RedisStoreBase } from './_base';
4
- declare class IORedisStoreService extends RedisStoreBase<RedisClientType, RedisMultiType> implements StoreInitializable {
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
- */
14
- transact(): RedisMultiType;
15
- exec(...args: any[]): Promise<string | string[] | string[][]>;
16
- setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
17
- hGetAllResult(result: any): any;
18
- addTaskQueues(keys: string[]): Promise<void>;
19
- }
20
- export { IORedisStoreService };
@@ -1 +0,0 @@
1
- 'use strict';function b(c,d){const e=a();return b=function(f,g){f=f-0x1d0;let h=e[f];return h;},b(c,d);}const q=b;function a(){const y=['length','all','xadd','expire','hincrbyfloat','hsetnx','16qedZar','2965752PpZTmY','lrange','defineProperty','27nSssLe','1026BlQRvm','__esModule','xlen','lpop','sendCommand','4527465FOBpKS','./_base','RedisStoreBase','storeClient','2837070YThMDS','setnxex','WORK_ITEMS','hmget','62300KrhMyH','xack','forEach','exec','hGetAllResult','1572633DEZNmC','hget','map','hincrby','command','scan','set','args','zadd','xdel','zrange','hdel','xgroup','hgetall','string','1957490YAHgmi','addTaskQueues','1571540CApFVX','commands','hscan','IORedisStoreService','zrangebyscore','del','setnx','hset','xpending','isArray','multi'];a=function(){return y;};return a();}(function(c,d){const p=b,e=c();while(!![]){try{const f=parseInt(p(0x1f7))/0x1+parseInt(p(0x1ee))/0x2+-parseInt(p(0x1ea))/0x3+parseInt(p(0x1e0))/0x4*(-parseInt(p(0x208))/0x5)+-parseInt(p(0x1e5))/0x6*(-parseInt(p(0x1f2))/0x7)+-parseInt(p(0x1e1))/0x8+-parseInt(p(0x1e4))/0x9*(parseInt(p(0x206))/0xa);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xc08eb));Object[q(0x1e3)](exports,q(0x1e6),{'value':!0x0}),exports['IORedisStoreService']=void 0x0;const key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),_base_1=require(q(0x1eb));class IORedisStoreService extends _base_1[q(0x1ec)]{constructor(c){const r=q;super(c),this[r(0x1d0)]={'get':'get','set':r(0x1fd),'setnx':r(0x1d5),'del':r(0x1d4),'expire':r(0x1dd),'hset':r(0x1d6),'hscan':r(0x1d1),'hsetnx':r(0x1df),'hincrby':r(0x1fa),'hdel':r(0x202),'hget':'hget','hmget':r(0x1f1),'hgetall':r(0x204),'hincrbyfloat':r(0x1de),'zrank':'zrank','zrange':r(0x201),'zrangebyscore_withscores':r(0x1d3),'zrangebyscore':'zrangebyscore','zrem':'zrem','zadd':r(0x1ff),'lmove':'lmove','lpop':r(0x1e8),'lrange':r(0x1e2),'rename':'rename','rpush':'rpush','scan':r(0x1fc),'xack':r(0x1f3),'xdel':r(0x200)};}['transact'](){const s=q,c=this;if(enums_1['HMSH_IS_CLUSTER']){const d=[],f=(h,i)=>(d['push']({'command':h,'args':i}),g),g={'sendCommand':h=>c[s(0x1ed)][s(0x1e9)](h),async 'exec'(){const t=s;if(0x0===d[t(0x1da)])return[];if(d['every'](h=>h[t(0x1fe)][0x0]===d[0x0][t(0x1fe)][0x0])){const h=c[t(0x1ed)][t(0x1d9)]();return d[t(0x1f4)](i=>h[i[t(0x1fb)]](...i[t(0x1fe)])),(await h[t(0x1f5)]())[t(0x1f9)](i=>i);}return Promise[t(0x1db)](d[t(0x1f9)](i=>c[t(0x1ed)][i[t(0x1fb)]](...i['args'])));},'xadd':(h,i,j,k)=>f(s(0x1dc),[h,i,j,k]),'xack':(h,i,j)=>f(s(0x1f3),[h,i,j]),'xdel':(h,i)=>f(s(0x200),[h,i]),'xlen':h=>f(s(0x1e7),[h]),'xpending':(h,j,k,l,m,o)=>f(s(0x1d7),[h,j,k,l,m,o]),'xclaim':(h,j,k,l,m,...o)=>f('xclaim',[h,j,k,l,m,...o]),'del':h=>f(s(0x1d4),[h]),'expire':function(h,i){const u=s;return f(u(0x1dd),[h,i]);},'hdel':(h,i)=>f(s(0x202),[h,i]),'hget':(h,i)=>f(s(0x1f8),[h,i]),'hgetall':h=>f(s(0x204),[h]),'hincrbyfloat':(h,i,j)=>f('hincrbyfloat',[h,i,j]),'hmget':(h,i)=>f(s(0x1f1),[h,i]),'hset':(h,i)=>f(s(0x1d6),[h,i]),'lrange':(h,i,j)=>f(s(0x1e2),[h,i,j]),'rpush':(h,i)=>f('rpush',[h,i]),'zadd':(...h)=>f(s(0x1ff),h),'xgroup':(h,i,j,k,l)=>f(s(0x203),[h,i,j,k,l])};return g;}return this[s(0x1ed)][s(0x1d9)]();}async['exec'](...c){const v=q,d=await this[v(0x1ed)]['call']['apply'](this[v(0x1ed)],c);return v(0x205)==typeof d?d:Array[v(0x1d8)](d)?(Array[v(0x1d8)](d[0x0]),d):d;}async[q(0x1ef)](c,d,f){const w=q,g=await this[w(0x1ed)][this[w(0x1d0)]['set']](c,d,'NX','EX',f['toString']());return this['isSuccessful'](g);}[q(0x1f6)](c){return c[0x1];}async[q(0x207)](c){const x=q,d=this['storeClient'][x(0x1d9)](),f=this['mintKey'](key_1['KeyType'][x(0x1f0)],{'appId':this['appId']});for(const g of c)d[x(0x1ff)](f,'NX',Date['now'](),g);await d[x(0x1f5)]();}}exports[q(0x1d2)]=IORedisStoreService;
@@ -1,18 +0,0 @@
1
- import { StoreInitializable } from '../store-initializable';
2
- import { RedisRedisClientType as RedisClientType, RedisRedisMultiType as RedisMultiType } from '../../../../types/redis';
3
- import { RedisStoreBase } from './_base';
4
- declare class RedisStoreService extends RedisStoreBase<RedisClientType, RedisMultiType> implements StoreInitializable {
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
- */
12
- transact(): RedisMultiType;
13
- exec(...args: any[]): Promise<string | string[] | string[][]>;
14
- setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
15
- zAdd(key: string, score: number | string, value: string | number, redisMulti?: RedisMultiType): Promise<any>;
16
- zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
17
- }
18
- export { RedisStoreService };
@@ -1 +0,0 @@
1
- 'use strict';const r=b;(function(c,d){const q=b,e=c();while(!![]){try{const f=-parseInt(q(0x1ed))/0x1+-parseInt(q(0x1d6))/0x2*(parseInt(q(0x201))/0x3)+parseInt(q(0x1f0))/0x4*(parseInt(q(0x1ef))/0x5)+-parseInt(q(0x1fd))/0x6*(-parseInt(q(0x1f8))/0x7)+parseInt(q(0x1ee))/0x8+parseInt(q(0x1d1))/0x9+-parseInt(q(0x1eb))/0xa;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xac267));function b(c,d){const e=a();return b=function(f,g){f=f-0x1c7;let h=e[f];return h;},b(c,d);}Object[r(0x1d7)](exports,r(0x1d9),{'value':!0x0}),exports['RedisStoreService']=void 0x0;const enums_1=require(r(0x1d2)),_base_1=require(r(0x1cb));function a(){const E=['args','setnxex','SET','1024760YBLnGQ','LMOVE','946727OIprQe','132960gkLVAS','2530sVTNLA','7412kQODgO','zadd','HINCRBY','RENAME','zRangeByScore','XGROUP','HMSH_IS_CLUSTER','HDEL','92477FlmMAu','XDEL','commands','multi','XPENDING','186AxWqDp','RedisStoreService','storeClient','GET','3spWNeH','push','zrangebyscore','all','ZRANGE','EXPIRE','XLEN','map','ZADD','SCAN','./_base','LRANGE','toString','SETNX','HMGET','HINCRBYFLOAT','10996839RvYRBQ','../../../../modules/enums','sendCommand','HSCAN','XCLAIM','1662640HZyqVu','defineProperty','ZRANGEBYSCORE','__esModule','exec','HGETALL','HGET','XACK','DEL','transact','RPUSH','Function\x20not\x20implemented.','length','toUpperCase','command','HSET','XADD','ZRANGEBYSCORE_WITHSCORES'];a=function(){return E;};return a();}class RedisStoreService extends _base_1['RedisStoreBase']{constructor(c){const s=r;super(c),this[s(0x1fa)]={'get':s(0x200),'set':s(0x1ea),'setnx':s(0x1ce),'del':s(0x1de),'expire':s(0x206),'hscan':s(0x1d4),'hset':s(0x1e5),'hsetnx':'HSETNX','hincrby':s(0x1f2),'hdel':'HDEL','hget':s(0x1dc),'hmget':s(0x1cf),'hgetall':s(0x1db),'hincrbyfloat':s(0x1d0),'zrange':s(0x205),'zrangebyscore_withscores':s(0x1e7),'zrangebyscore':s(0x1d8),'zrem':'ZREM','zadd':'ZADD','lmove':s(0x1ec),'lrange':'LRANGE','lpop':'LPOP','rename':s(0x1f3),'rpush':s(0x1e0),'scan':s(0x1ca),'xack':s(0x1dd),'xdel':s(0x1f9),'xlen':'XLEN'};}[r(0x1df)](){const t=r,c=this;if(enums_1[t(0x1f6)]){const d=[],f=(h,i)=>(d[t(0x202)]({'command':h[t(0x1e3)](),'args':i}),g),g={'sendCommand':(h,...i)=>c[t(0x1ff)][t(0x1d3)]([h,...i]),async 'exec'(){const u=t;if(0x0===d[u(0x1e2)])return[];if(d['every'](h=>h['args'][0x0]===d[0x0][u(0x1e8)][0x0])){const h=c[u(0x1ff)][u(0x1fb)]();return d['forEach'](i=>u(0x1c9)===i[u(0x1e4)]?h[u(0x1c9)](i[u(0x1e8)][0x0],i[u(0x1e8)][0x1],i[u(0x1e8)][0x2]):h[i['command']](...i[u(0x1e8)])),(await h[u(0x1da)]())[u(0x1c8)](i=>i);}return Promise[u(0x204)](d[u(0x1c8)](i=>u(0x1c9)===i[u(0x1e4)]?c[u(0x1ff)][u(0x1c9)](i[u(0x1e8)][0x0],i[u(0x1e8)][0x1],i['args'][0x2]):c[u(0x1ff)][i[u(0x1e4)]](...i[u(0x1e8)])));},'XADD':(h,i,j,k)=>f(t(0x1e6),[h,i,j,k]),'XACK':(h,i,j)=>f(t(0x1dd),[h,i,j]),'XDEL':(h,i)=>f(t(0x1f9),[h,i]),'XLEN':h=>f(t(0x1c7),[h]),'XCLAIM':(h,j,k,l,m,...p)=>f(t(0x1d5),[h,j,k,l,m,...p]),'XPENDING':(h,j,k,l,m,p)=>f(t(0x1fc),[h,j,k,l,m,p]),'DEL':function(h){return f('DEL',[h]);},'EXPIRE':function(h,i){const v=t;return f(v(0x206),[h,i]);},'HDEL':(h,i)=>f(t(0x1f7),[h,i]),'HGET':(h,i)=>f('HGET',[h,i]),'HGETALL':h=>f(t(0x1db),[h]),'HINCRBYFLOAT':(h,i,j)=>f('HINCRBYFLOAT',[h,i,j]),'HMGET':(h,i)=>f(t(0x1cf),[h,i]),'HSET':(h,i)=>f(t(0x1e5),[h,i]),'LRANGE':(h,i,j)=>f(t(0x1cc),[h,i,j]),'RPUSH':(h,i)=>f('RPUSH',[h,i]),'ZADD':(h,i,j)=>f(t(0x1c9),[h,i,j]),'XGROUP':(h,i,j,k,l)=>f(t(0x1f5),[h,i,j,k,l]),'EXISTS':function(h){const w=t;throw new Error(w(0x1e1));},'HMPUSH':function(h,i){const x=t;throw new Error(x(0x1e1));},'LPUSH':function(h,i){throw new Error('Function\x20not\x20implemented.');},'SET':function(h,i){const y=t;throw new Error(y(0x1e1));},'ZRANGE_WITHSCORES':function(h,i,j){throw new Error('Function\x20not\x20implemented.');},'ZRANK':function(h,i){throw new Error('Function\x20not\x20implemented.');},'ZSCORE':function(h,i){const z=t;throw new Error(z(0x1e1));}};return g;}return this[t(0x1ff)][t(0x1fb)]();}async[r(0x1da)](...c){const A=r;return await this[A(0x1ff)]['sendCommand'](c);}async[r(0x1e9)](c,d,f){const B=r,g=await this[B(0x1ff)][this[B(0x1fa)]['set']](c,d,{'NX':!0x0,'EX':f});return this['isSuccessful'](g);}async['zAdd'](c,d,f,g){const C=r;return await(g||this[C(0x1ff)])[this[C(0x1fa)][C(0x1f1)]](c,{'score':d,'value':f[C(0x1cd)]()});}async[r(0x1f4)](c,d,f){const D=r,g=await this['storeClient'][this[D(0x1fa)][D(0x203)]](c,d,f);return g?.[D(0x1e2)]>0x0?g[0x0]:null;}}exports[r(0x1fe)]=RedisStoreService;
@@ -1,5 +0,0 @@
1
- import { ILogger } from '../../logger';
2
- import { HotMeshApps } from '../../../types/hotmesh';
3
- export interface StoreInitializable {
4
- init(namespace: string, appId: string, logger: ILogger): Promise<HotMeshApps>;
5
- }
@@ -1 +0,0 @@
1
- 'use strict';function a(){var j=['defineProperty','1191752MjdDyi','1194160QaIpYr','317610eopEAA','852628eyWdST','584235yNrdsV','14myhRas','316154KGQqcM','121053dOUyUg'];a=function(){return j;};return a();}var i=b;function b(c,d){var e=a();return b=function(f,g){f=f-0x16d;var h=e[f];return h;},b(c,d);}(function(c,d){var h=b,e=c();while(!![]){try{var f=-parseInt(h(0x172))/0x1+parseInt(h(0x171))/0x2+parseInt(h(0x16f))/0x3+-parseInt(h(0x16e))/0x4+-parseInt(h(0x175))/0x5+parseInt(h(0x16d))/0x6+parseInt(h(0x170))/0x7*(parseInt(h(0x174))/0x8);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x1fe5d));Object[i(0x173)](exports,'__esModule',{'value':!0x0});
@@ -1,8 +0,0 @@
1
- import { ILogger } from '../logger';
2
- import { ProviderClient, ProviderTransaction } from '../../types/provider';
3
- import { StreamInitializable } from './providers/stream-initializable';
4
- import { StreamService } from './index';
5
- declare class StreamServiceFactory {
6
- static init(provider: ProviderClient, storeProvider: ProviderClient, namespace: string, appId: string, logger: ILogger): Promise<StreamService<ProviderClient, ProviderTransaction> & StreamInitializable>;
7
- }
8
- export { StreamServiceFactory };
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StreamServiceFactory = void 0;
4
- const utils_1 = require("../../modules/utils");
5
- const ioredis_1 = require("./providers/redis/ioredis");
6
- const redis_1 = require("./providers/redis/redis");
7
- const nats_1 = require("./providers/nats/nats");
8
- const postgres_1 = require("./providers/postgres/postgres");
9
- class StreamServiceFactory {
10
- static async init(provider, storeProvider, namespace, appId, logger) {
11
- let service;
12
- const providerType = (0, utils_1.identifyProvider)(provider);
13
- if (providerType === 'nats') {
14
- let storeProvider;
15
- if ((0, utils_1.identifyProvider)(storeProvider) === 'redis') {
16
- storeProvider = storeProvider;
17
- }
18
- else {
19
- //ioredis
20
- storeProvider = storeProvider;
21
- }
22
- service = new nats_1.NatsStreamService(provider, storeProvider);
23
- }
24
- else if (providerType === 'postgres') {
25
- service = new postgres_1.PostgresStreamService(provider, storeProvider);
26
- }
27
- else if (providerType === 'redis') {
28
- service = new redis_1.RedisStreamService(provider, storeProvider);
29
- }
30
- else if (providerType === 'ioredis') {
31
- service = new ioredis_1.IORedisStreamService(provider, storeProvider);
32
- } //etc register other providers here
33
- await service.init(namespace, appId, logger);
34
- return service;
35
- }
36
- }
37
- exports.StreamServiceFactory = StreamServiceFactory;
@@ -1,64 +0,0 @@
1
- import { ILogger } from '../logger';
2
- import { PublishMessageConfig, StreamConfig, StreamMessage, StreamStats } from '../../types/stream';
3
- import { StringAnyType } from '../../types';
4
- import { KeyStoreParams, KeyType } from '../../modules/key';
5
- import { ProviderClient, ProviderTransaction } from '../../types/provider';
6
- export declare abstract class StreamService<ClientProvider extends ProviderClient, TransactionProvider extends ProviderTransaction> {
7
- protected streamClient: ClientProvider;
8
- protected storeClient: ProviderClient;
9
- protected namespace: string;
10
- protected logger: ILogger;
11
- protected appId: string;
12
- protected config: StreamConfig;
13
- constructor(streamClient: ClientProvider, storeClient: ProviderClient, config?: StreamConfig);
14
- abstract init(namespace: string, appId: string, logger: ILogger): Promise<void>;
15
- abstract mintKey(type: KeyType, params: KeyStoreParams): string;
16
- abstract createStream(streamName: string): Promise<boolean>;
17
- abstract deleteStream(streamName: string): Promise<boolean>;
18
- abstract createConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
19
- abstract deleteConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
20
- abstract publishMessages(streamName: string, messages: string[], options?: PublishMessageConfig): Promise<string[] | ProviderTransaction>;
21
- abstract consumeMessages(streamName: string, groupName: string, consumerName: string, options?: {
22
- batchSize?: number;
23
- blockTimeout?: number;
24
- autoAck?: boolean;
25
- enableBackoff?: boolean;
26
- initialBackoff?: number;
27
- maxBackoff?: number;
28
- maxRetries?: number;
29
- }): Promise<StreamMessage[]>;
30
- abstract transact(): ProviderTransaction;
31
- abstract ackAndDelete(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number>;
32
- abstract acknowledgeMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number | TransactionProvider>;
33
- abstract deleteMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number | TransactionProvider>;
34
- abstract retryMessages(streamName: string, groupName: string, options?: {
35
- consumerName?: string;
36
- minIdleTime?: number;
37
- messageIds?: string[];
38
- delay?: number;
39
- maxRetries?: number;
40
- limit?: number;
41
- }): Promise<StreamMessage[]>;
42
- abstract getStreamStats(streamName: string): Promise<StreamStats>;
43
- abstract getStreamDepth(streamName: string): Promise<number>;
44
- abstract getStreamDepths(streamName: {
45
- stream: string;
46
- }[]): Promise<{
47
- stream: string;
48
- depth: number;
49
- }[]>;
50
- abstract trimStream(streamName: string, options: {
51
- maxLen?: number;
52
- maxAge?: number;
53
- exactLimit?: boolean;
54
- }): Promise<number>;
55
- abstract getProviderSpecificFeatures(): {
56
- supportsBatching: boolean;
57
- supportsDeadLetterQueue: boolean;
58
- supportsOrdering: boolean;
59
- supportsTrimming: boolean;
60
- supportsRetry: boolean;
61
- maxMessageSize: number;
62
- maxBatchSize: number;
63
- };
64
- }