@hotmeshio/hotmesh 0.3.8 → 0.3.10

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 (155) hide show
  1. package/README.md +7 -13
  2. package/build/index.d.ts +5 -2
  3. package/build/index.js +8 -3
  4. package/build/modules/key.js +1 -1
  5. package/build/modules/utils.d.ts +12 -4
  6. package/build/modules/utils.js +1 -1
  7. package/build/package.json +15 -8
  8. package/build/services/activities/activity.d.ts +9 -9
  9. package/build/services/activities/activity.js +1 -1
  10. package/build/services/activities/await.d.ts +2 -2
  11. package/build/services/activities/await.js +1 -1
  12. package/build/services/activities/cycle.d.ts +2 -2
  13. package/build/services/activities/cycle.js +1 -1
  14. package/build/services/activities/hook.d.ts +2 -2
  15. package/build/services/activities/hook.js +1 -1
  16. package/build/services/activities/index.js +1 -1
  17. package/build/services/activities/interrupt.js +1 -1
  18. package/build/services/activities/signal.js +1 -1
  19. package/build/services/activities/trigger.d.ts +3 -3
  20. package/build/services/activities/trigger.js +1 -1
  21. package/build/services/activities/worker.d.ts +2 -2
  22. package/build/services/activities/worker.js +1 -1
  23. package/build/services/collator/index.d.ts +9 -9
  24. package/build/services/collator/index.js +1 -1
  25. package/build/services/compiler/deployer.d.ts +4 -4
  26. package/build/services/compiler/deployer.js +1 -1
  27. package/build/services/compiler/index.d.ts +4 -4
  28. package/build/services/compiler/index.js +1 -1
  29. package/build/services/compiler/validator.d.ts +3 -3
  30. package/build/services/compiler/validator.js +1 -1
  31. package/build/services/connector/factory.d.ts +7 -0
  32. package/build/services/connector/factory.js +65 -0
  33. package/build/services/connector/index.d.ts +13 -4
  34. package/build/services/connector/index.js +30 -23
  35. package/build/services/connector/providers/ioredis.d.ts +9 -0
  36. package/build/services/connector/providers/ioredis.js +26 -0
  37. package/build/services/connector/providers/nats.d.ts +9 -0
  38. package/build/services/connector/providers/nats.js +26 -0
  39. package/build/services/connector/providers/postgres.d.ts +9 -0
  40. package/build/services/connector/providers/postgres.js +44 -0
  41. package/build/services/connector/providers/redis.d.ts +9 -0
  42. package/build/services/connector/providers/redis.js +38 -0
  43. package/build/services/engine/index.d.ts +12 -12
  44. package/build/services/engine/index.js +1 -1
  45. package/build/services/exporter/index.d.ts +3 -3
  46. package/build/services/exporter/index.js +1 -1
  47. package/build/services/hotmesh/index.js +4 -4
  48. package/build/services/mapper/index.js +1 -1
  49. package/build/services/meshcall/index.d.ts +5 -4
  50. package/build/services/meshcall/index.js +31 -14
  51. package/build/services/meshdata/index.d.ts +6 -6
  52. package/build/services/meshdata/index.js +7 -15
  53. package/build/services/meshflow/connection.d.ts +3 -2
  54. package/build/services/meshflow/exporter.d.ts +3 -3
  55. package/build/services/meshflow/exporter.js +1 -1
  56. package/build/services/meshflow/search.js +12 -4
  57. package/build/services/meshflow/worker.js +7 -7
  58. package/build/services/meshos/index.d.ts +1 -4
  59. package/build/services/meshos/index.js +11 -44
  60. package/build/services/pipe/functions/array.js +1 -1
  61. package/build/services/pipe/functions/bitwise.js +1 -1
  62. package/build/services/pipe/functions/conditional.js +1 -1
  63. package/build/services/pipe/functions/cron.d.ts +2 -0
  64. package/build/services/pipe/functions/cron.js +1 -1
  65. package/build/services/pipe/functions/date.js +1 -1
  66. package/build/services/pipe/functions/index.js +1 -1
  67. package/build/services/pipe/functions/json.js +1 -1
  68. package/build/services/pipe/functions/logical.js +1 -1
  69. package/build/services/pipe/functions/math.js +1 -1
  70. package/build/services/pipe/functions/number.js +1 -1
  71. package/build/services/pipe/functions/object.js +1 -1
  72. package/build/services/pipe/functions/string.js +1 -1
  73. package/build/services/pipe/functions/symbol.js +1 -1
  74. package/build/services/pipe/functions/unary.js +1 -1
  75. package/build/services/pipe/index.js +1 -1
  76. package/build/services/quorum/index.d.ts +5 -5
  77. package/build/services/quorum/index.js +1 -1
  78. package/build/services/reporter/index.d.ts +2 -2
  79. package/build/services/reporter/index.js +1 -1
  80. package/build/services/router/index.d.ts +8 -13
  81. package/build/services/router/index.js +1 -1
  82. package/build/services/search/factory.d.ts +2 -2
  83. package/build/services/search/factory.js +1 -1
  84. package/build/services/search/index.d.ts +5 -4
  85. package/build/services/search/providers/redis/ioredis.js +1 -1
  86. package/build/services/search/providers/redis/redis.js +1 -1
  87. package/build/services/serializer/index.js +1 -1
  88. package/build/services/store/factory.d.ts +3 -3
  89. package/build/services/store/factory.js +1 -1
  90. package/build/services/store/index.d.ts +18 -17
  91. package/build/services/store/providers/redis/_base.d.ts +13 -15
  92. package/build/services/store/providers/redis/_base.js +1 -1
  93. package/build/services/store/providers/redis/ioredis.d.ts +2 -2
  94. package/build/services/store/providers/redis/ioredis.js +1 -1
  95. package/build/services/store/providers/redis/redis.d.ts +2 -2
  96. package/build/services/store/providers/redis/redis.js +1 -1
  97. package/build/services/store/providers/store-initializable.js +1 -1
  98. package/build/services/stream/factory.d.ts +3 -3
  99. package/build/services/stream/factory.js +16 -4
  100. package/build/services/stream/index.d.ts +57 -18
  101. package/build/services/stream/index.js +2 -1
  102. package/build/services/stream/providers/nats/nats.d.ts +59 -0
  103. package/build/services/stream/providers/nats/nats.js +1 -0
  104. package/build/services/stream/providers/postgres/postgres.d.ts +68 -0
  105. package/build/services/stream/providers/postgres/postgres.js +1 -0
  106. package/build/services/stream/providers/redis/ioredis.d.ts +53 -14
  107. package/build/services/stream/providers/redis/ioredis.js +1 -1
  108. package/build/services/stream/providers/redis/redis.d.ts +54 -15
  109. package/build/services/stream/providers/redis/redis.js +1 -1
  110. package/build/services/stream/providers/stream-initializable.d.ts +1 -2
  111. package/build/services/stream/providers/stream-initializable.js +1 -1
  112. package/build/services/sub/factory.d.ts +2 -2
  113. package/build/services/sub/factory.js +1 -1
  114. package/build/services/sub/index.d.ts +6 -5
  115. package/build/services/sub/providers/redis/ioredis.d.ts +1 -1
  116. package/build/services/sub/providers/redis/ioredis.js +1 -1
  117. package/build/services/sub/providers/redis/redis.d.ts +4 -4
  118. package/build/services/sub/providers/redis/redis.js +1 -1
  119. package/build/services/task/index.d.ts +5 -5
  120. package/build/services/task/index.js +1 -1
  121. package/build/services/telemetry/index.js +1 -1
  122. package/build/services/worker/index.d.ts +9 -9
  123. package/build/services/worker/index.js +1 -1
  124. package/build/types/hotmesh.d.ts +26 -14
  125. package/build/types/index.d.ts +8 -5
  126. package/build/types/manifest.d.ts +1 -9
  127. package/build/types/meshcall.d.ts +12 -7
  128. package/build/types/meshflow.d.ts +3 -7
  129. package/build/types/nats.d.ts +150 -0
  130. package/build/types/nats.js +2 -0
  131. package/build/types/postgres.d.ts +70 -0
  132. package/build/types/postgres.js +2 -0
  133. package/build/types/provider.d.ts +26 -0
  134. package/build/types/provider.js +2 -0
  135. package/build/types/redis.d.ts +33 -15
  136. package/build/types/stream.d.ts +65 -1
  137. package/index.ts +10 -5
  138. package/package.json +15 -8
  139. package/typedoc.json +6 -0
  140. package/types/hotmesh.ts +139 -22
  141. package/types/index.ts +80 -17
  142. package/types/manifest.ts +1 -10
  143. package/types/meshcall.ts +38 -13
  144. package/types/meshflow.ts +2 -7
  145. package/types/nats.ts +236 -0
  146. package/types/postgres.ts +85 -0
  147. package/types/provider.ts +71 -0
  148. package/types/redis.ts +63 -18
  149. package/types/stream.ts +85 -1
  150. package/build/services/connector/clients/ioredis.d.ts +0 -13
  151. package/build/services/connector/clients/ioredis.js +0 -48
  152. package/build/services/connector/clients/redis.d.ts +0 -13
  153. package/build/services/connector/clients/redis.js +0 -60
  154. package/build/services/stream/providers/postgres/_deploy.d.ts +0 -4
  155. package/build/services/stream/providers/postgres/_deploy.js +0 -1
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # HotMesh
2
2
  ![beta release](https://img.shields.io/badge/release-beta-blue.svg)
3
3
 
4
- **HotMesh** offers "Temporal Your Way"—providing the power of orchestration platforms like Temporal.io in a flexible, decentralized manner. Replace everything with robust **Queues** and **Routers**...even the app server.
4
+ **HotMesh** offers the power of orchestration platforms like Temporal.io in a flexible, decentralized manner. Replace everything with robust **Queues** and **Routers**...even the app server.
5
5
 
6
6
  *Note: This is a beta release and currently focuses on TypeScript/Redis.*
7
7
 
@@ -19,12 +19,10 @@
19
19
  npm install @hotmeshio/hotmesh
20
20
  ```
21
21
 
22
- You have a Redis instance? Good. You're ready to go.
23
-
24
22
  ## Learn
25
23
  [📄 Docs](https://hotmeshio.github.io/sdk-typescript/) | [💼 Sample Projects](https://github.com/hotmeshio/samples-typescript) | [🎥 Intro (3m)](https://www.loom.com/share/211bd4b4038d42f0ba34374ef5b6f961?sid=7b889a56-f60f-4ccc-84e7-8c2697e548a9) | [🎥 Transactional Workflow (9m)](https://www.loom.com/share/54ffd5266baf4ac6b287578abfd1d821?sid=0db2cef8-ef0d-4e02-a0b7-a1ee14f476ce)
26
24
 
27
- ## MeshCall | Connect Everything
25
+ ## MeshCall | Connect Your Services
28
26
  [MeshCall](https://hotmeshio.github.io/sdk-typescript/classes/services_meshcall.MeshCall.html) connects your services as a singular mesh, exposing functions as idempotent endpoints. Function responses are cacheable and functions can even run as idempotent cron jobs. Make blazing fast interservice calls that return in milliseconds without the overhead of HTTP.
29
27
 
30
28
  <details style="padding: .5em">
@@ -702,22 +700,18 @@ This example demonstrates how to search for those workflows where a given condit
702
700
  </details>
703
701
 
704
702
  ## Visualize | OpenTelemetry
705
- HotMesh's telemetry output provides unmatched insight into long-running, multi-service transactions. Add your Honeycomb credentials to any project using HotMesh and HotMesh will emit the full *OpenTelemetry* execution tree organized as a DAG.
706
-
707
- <img src="./docs/img/visualize/opentelemetry.png" alt="Open Telemetry" style="width:600px;max-width:600px;">
703
+ HotMesh's telemetry output provides unmatched insight into long-running, x-service transactions. Add your Honeycomb credentials to any project using HotMesh and HotMesh will emit the full *OpenTelemetry* execution tree organized as a DAG.
708
704
 
709
705
  ## Visualize | HotMesh Dashboard
710
706
  The HotMesh dashboard provides a detailed overview of all running workflows. An LLM is included to simplify querying and analyzing workflow data for those deployments that include the Redis `FT.SEARCH` module.
711
707
 
712
- <img src="./docs/img/visualize/hotmesh_dashboard.png" alt="HotMesh Dashboard" style="width:600px;max-width:600px;">
713
-
714
708
  ## Visualize | RedisInsight
715
709
  View commands, streams, data, CPU, load, etc using the RedisInsight data browser.
716
710
 
717
- <img src="./docs/img/visualize/redisinsight.png" alt="Redis Insight" style="width:600px;max-width:600px;">
718
-
719
711
  ## Samples
720
- Refer to the [hotmeshio/samples-typescript](https://github.com/hotmeshio/samples-typescript) Git repo for *tutorials* and instructions on deploying the *HotMesh Dashboard*.
712
+ Refer to the [hotmeshio/samples-typescript](https://github.com/hotmeshio/samples-typescript) Git repo for *tutorials* and instructions on deploying the *HotMesh Dashboard* for visualizing workflows and managing network health.
713
+
714
+ Refer to the [hotmeshio/temporal-patterns-typescript](https://github.com/hotmeshio/temporal-patterns-typescript) Git repo for examples of common Temporal.io patterns implemented using HotMesh.
721
715
 
722
716
  ## Advanced
723
- For more advanced topics, including details on the underlying modeling and design system (HotMesh) refer to the [Advanced README](https://github.com/hotmeshio/sdk-typescript/tree/main/docs/advanced.md).
717
+ The theory that underlies the architecture is applicable to any number of data storage and streaming backends: [A Message-Oriented Approach to Decentralized Process Orchestration](https://zenodo.org/records/12168558).
package/build/index.d.ts CHANGED
@@ -2,9 +2,12 @@ import { HotMesh } from './services/hotmesh';
2
2
  import { HotMeshConfig } from './types/hotmesh';
3
3
  import { MeshCall } from './services/meshcall';
4
4
  import { MeshFlow } from './services/meshflow';
5
+ import { WorkflowHandleService as WorkflowHandle } from './services/meshflow/handle';
5
6
  import { MeshData } from './services/meshdata';
6
7
  import { MeshOS } from './services/meshos';
8
+ import * as Errors from './modules/errors';
7
9
  import * as Utils from './modules/utils';
8
- declare const Client: typeof import("./services/meshflow/client").ClientService, Connection: typeof import("./services/meshflow/connection").ConnectionService, Handle: typeof import("./services/meshflow/handle").WorkflowHandleService, Search: typeof import("./services/meshflow/search").Search, Worker: typeof import("./services/meshflow/worker").WorkerService, workflow: typeof import("./services/meshflow/workflow").WorkflowService;
9
- export { HotMesh, HotMeshConfig, MeshCall, MeshData, MeshOS, MeshFlow, Client, Connection, Handle, Search, Utils, Worker, workflow, };
10
+ import { ConnectorService as Connector } from './services/connector/factory';
11
+ declare const Client: typeof import("./services/meshflow/client").ClientService, Connection: typeof import("./services/meshflow/connection").ConnectionService, Search: typeof import("./services/meshflow/search").Search, Worker: typeof import("./services/meshflow/worker").WorkerService, workflow: typeof import("./services/meshflow/workflow").WorkflowService;
12
+ export { Client, Connection, Connector, Errors, HotMesh, HotMeshConfig, MeshCall, MeshData, MeshFlow, MeshOS, Search, Utils, Worker, workflow, WorkflowHandle, };
10
13
  export * as Types from './types';
package/build/index.js CHANGED
@@ -23,23 +23,28 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Types = exports.workflow = exports.Worker = exports.Utils = exports.Search = exports.Handle = exports.Connection = exports.Client = exports.MeshFlow = exports.MeshOS = exports.MeshData = exports.MeshCall = exports.HotMesh = void 0;
26
+ exports.Types = exports.WorkflowHandle = exports.workflow = exports.Worker = exports.Utils = exports.Search = exports.MeshOS = exports.MeshFlow = exports.MeshData = exports.MeshCall = exports.HotMesh = exports.Errors = exports.Connector = exports.Connection = exports.Client = void 0;
27
27
  const hotmesh_1 = require("./services/hotmesh");
28
28
  Object.defineProperty(exports, "HotMesh", { enumerable: true, get: function () { return hotmesh_1.HotMesh; } });
29
29
  const meshcall_1 = require("./services/meshcall");
30
30
  Object.defineProperty(exports, "MeshCall", { enumerable: true, get: function () { return meshcall_1.MeshCall; } });
31
31
  const meshflow_1 = require("./services/meshflow");
32
32
  Object.defineProperty(exports, "MeshFlow", { enumerable: true, get: function () { return meshflow_1.MeshFlow; } });
33
+ const handle_1 = require("./services/meshflow/handle");
34
+ Object.defineProperty(exports, "WorkflowHandle", { enumerable: true, get: function () { return handle_1.WorkflowHandleService; } });
33
35
  const meshdata_1 = require("./services/meshdata");
34
36
  Object.defineProperty(exports, "MeshData", { enumerable: true, get: function () { return meshdata_1.MeshData; } });
35
37
  const meshos_1 = require("./services/meshos");
36
38
  Object.defineProperty(exports, "MeshOS", { enumerable: true, get: function () { return meshos_1.MeshOS; } });
39
+ const Errors = __importStar(require("./modules/errors"));
40
+ exports.Errors = Errors;
37
41
  const Utils = __importStar(require("./modules/utils"));
38
42
  exports.Utils = Utils;
39
- const { Client, Connection, Handle, Search, Worker, workflow } = meshflow_1.MeshFlow;
43
+ const factory_1 = require("./services/connector/factory");
44
+ Object.defineProperty(exports, "Connector", { enumerable: true, get: function () { return factory_1.ConnectorService; } });
45
+ const { Client, Connection, Search, Worker, workflow } = meshflow_1.MeshFlow;
40
46
  exports.Client = Client;
41
47
  exports.Connection = Connection;
42
- exports.Handle = Handle;
43
48
  exports.Search = Search;
44
49
  exports.Worker = Worker;
45
50
  exports.workflow = workflow;
@@ -1 +1 @@
1
- 'use strict';(function(_0x3894d5,_0x493088){const _0x402f98=_0x51d9,_0x2b985c=_0x3894d5();while(!![]){try{const _0x38edcd=-parseInt(_0x402f98(0x93))/0x1+-parseInt(_0x402f98(0x9b))/0x2+-parseInt(_0x402f98(0x96))/0x3+parseInt(_0x402f98(0x9a))/0x4*(parseInt(_0x402f98(0x94))/0x5)+-parseInt(_0x402f98(0x99))/0x6*(parseInt(_0x402f98(0x95))/0x7)+parseInt(_0x402f98(0x97))/0x8+parseInt(_0x402f98(0x98))/0x9;if(_0x38edcd===_0x493088)break;else _0x2b985c['push'](_0x2b985c['shift']());}catch(_0x19e864){_0x2b985c['push'](_0x2b985c['shift']());}}}(_0x3924,0xa9fb1));function _0x3924(){const _0x4438c2=['9234oQOPZx','5008gkezGw','1211732zFbpfe','1749GpIKVr','910wtAAcy','6139lEcSMC','236721CoGPFq','7725752lWNdvL','13849947nIaKzv'];_0x3924=function(){return _0x4438c2;};return _0x3924();}function _0x51d9(_0xe809f4,_0x472583){const _0x3924fc=_0x3924();return _0x51d9=function(_0x51d9f7,_0x336ded){_0x51d9f7=_0x51d9f7-0x93;let _0x5e99e7=_0x3924fc[_0x51d9f7];return _0x5e99e7;},_0x51d9(_0xe809f4,_0x472583);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['VALSEP']=exports['WEBSEP']=exports['TYPSEP']=exports['KEYSEP']=exports['HMNS']=exports['KeyType']=exports['KeyService']=void 0x0;const hotmesh_1=require('../types/hotmesh');Object['defineProperty'](exports,'KeyType',{'enumerable':!![],'get':function(){return hotmesh_1['KeyType'];}});const HMNS='hmsh';exports['HMNS']=HMNS;const KEYSEP=':';exports['KEYSEP']=KEYSEP;const VALSEP='::';exports['VALSEP']=VALSEP;const WEBSEP='::';exports['WEBSEP']=WEBSEP;const TYPSEP='::';exports['TYPSEP']=TYPSEP;class KeyService{static['mintKey'](_0x5c9c91,_0x32edc1,_0x1ccfa9){switch(_0x32edc1){case hotmesh_1['KeyType']['HOTMESH']:return _0x5c9c91;case hotmesh_1['KeyType']['THROTTLE_RATE']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':r:';case hotmesh_1['KeyType']['WORK_ITEMS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':w:'+(_0x1ccfa9['scoutType']||'');case hotmesh_1['KeyType']['TIME_RANGE']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':t:'+(_0x1ccfa9['timeValue']||'');case hotmesh_1['KeyType']['APP']:return _0x5c9c91+':a:'+(_0x1ccfa9['appId']||'');case hotmesh_1['KeyType']['QUORUM']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':q:'+(_0x1ccfa9['engineId']||'');case hotmesh_1['KeyType']['JOB_STATE']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':j:'+_0x1ccfa9['jobId'];case hotmesh_1['KeyType']['JOB_DEPENDENTS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':d:'+_0x1ccfa9['jobId'];case hotmesh_1['KeyType']['JOB_STATS_GENERAL']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':s:'+_0x1ccfa9['jobKey']+':'+_0x1ccfa9['dateTime'];case hotmesh_1['KeyType']['JOB_STATS_MEDIAN']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':s:'+_0x1ccfa9['jobKey']+':'+_0x1ccfa9['dateTime']+':'+_0x1ccfa9['facet'];case hotmesh_1['KeyType']['JOB_STATS_INDEX']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':s:'+_0x1ccfa9['jobKey']+':'+_0x1ccfa9['dateTime']+':'+_0x1ccfa9['facet'];case hotmesh_1['KeyType']['SCHEMAS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':v:'+_0x1ccfa9['appVersion']+':schemas';case hotmesh_1['KeyType']['SUBSCRIPTIONS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':v:'+_0x1ccfa9['appVersion']+':subscriptions';case hotmesh_1['KeyType']['SUBSCRIPTION_PATTERNS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':v:'+_0x1ccfa9['appVersion']+':transitions';case hotmesh_1['KeyType']['HOOKS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':hooks';case hotmesh_1['KeyType']['SIGNALS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':signals';case hotmesh_1['KeyType']['SYMKEYS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':sym:keys:'+(_0x1ccfa9['activityId']||'');case hotmesh_1['KeyType']['SYMVALS']:return _0x5c9c91+':'+_0x1ccfa9['appId']+':sym:vals:';case hotmesh_1['KeyType']['STREAMS']:return _0x5c9c91+':'+(_0x1ccfa9['appId']||'')+':x:'+(_0x1ccfa9['topic']||'');default:throw new Error('Invalid\x20key\x20type.');}}}exports['KeyService']=KeyService;
1
+ 'use strict';(function(_0x4745c0,_0x5bfc07){const _0x5aa90d=_0x2002,_0x5abab7=_0x4745c0();while(!![]){try{const _0x25f6f9=parseInt(_0x5aa90d(0xf5))/0x1+parseInt(_0x5aa90d(0xf8))/0x2*(parseInt(_0x5aa90d(0xef))/0x3)+-parseInt(_0x5aa90d(0xf7))/0x4+-parseInt(_0x5aa90d(0xf6))/0x5*(parseInt(_0x5aa90d(0xf2))/0x6)+parseInt(_0x5aa90d(0xf3))/0x7*(parseInt(_0x5aa90d(0xf0))/0x8)+-parseInt(_0x5aa90d(0xf9))/0x9+parseInt(_0x5aa90d(0xf1))/0xa*(-parseInt(_0x5aa90d(0xf4))/0xb);if(_0x25f6f9===_0x5bfc07)break;else _0x5abab7['push'](_0x5abab7['shift']());}catch(_0x2c8a01){_0x5abab7['push'](_0x5abab7['shift']());}}}(_0xd046,0x3a7b8));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['VALSEP']=exports['WEBSEP']=exports['TYPSEP']=exports['KEYSEP']=exports['HMNS']=exports['KeyType']=exports['KeyService']=void 0x0;const hotmesh_1=require('../types/hotmesh');Object['defineProperty'](exports,'KeyType',{'enumerable':!![],'get':function(){return hotmesh_1['KeyType'];}});const HMNS='hmsh';exports['HMNS']=HMNS;function _0xd046(){const _0x5ea88c=['201gtOBMJ','1104qgbQYJ','2883810CNoaiZ','3138wiczuy','19047mLooFW','11MDGSVP','413150HsAzAl','3850WFEWwP','344432ZdjRCq','13988jCMvST','2164527RcQUcj'];_0xd046=function(){return _0x5ea88c;};return _0xd046();}const KEYSEP=':';exports['KEYSEP']=KEYSEP;const VALSEP='::';exports['VALSEP']=VALSEP;function _0x2002(_0x4b7068,_0xc9e15c){const _0xd04690=_0xd046();return _0x2002=function(_0x20025f,_0x28bce9){_0x20025f=_0x20025f-0xef;let _0x30dd2b=_0xd04690[_0x20025f];return _0x30dd2b;},_0x2002(_0x4b7068,_0xc9e15c);}const WEBSEP='::';exports['WEBSEP']=WEBSEP;const TYPSEP='::';exports['TYPSEP']=TYPSEP;class KeyService{static['mintKey'](_0x2dea2,_0x2a61e7,_0x48c619){switch(_0x2a61e7){case hotmesh_1['KeyType']['HOTMESH']:return _0x2dea2;case hotmesh_1['KeyType']['THROTTLE_RATE']:return _0x2dea2+':'+_0x48c619['appId']+':r:';case hotmesh_1['KeyType']['WORK_ITEMS']:return _0x2dea2+':'+_0x48c619['appId']+':w:'+(_0x48c619['scoutType']||'');case hotmesh_1['KeyType']['TIME_RANGE']:return _0x2dea2+':'+_0x48c619['appId']+':t:'+(_0x48c619['timeValue']||'');case hotmesh_1['KeyType']['APP']:return _0x2dea2+':a:'+(_0x48c619['appId']||'');case hotmesh_1['KeyType']['QUORUM']:return _0x2dea2+':'+_0x48c619['appId']+':q:'+(_0x48c619['engineId']||'');case hotmesh_1['KeyType']['JOB_STATE']:return _0x2dea2+':'+_0x48c619['appId']+':j:'+_0x48c619['jobId'];case hotmesh_1['KeyType']['JOB_DEPENDENTS']:return _0x2dea2+':'+_0x48c619['appId']+':d:'+_0x48c619['jobId'];case hotmesh_1['KeyType']['JOB_STATS_GENERAL']:return _0x2dea2+':'+_0x48c619['appId']+':s:'+_0x48c619['jobKey']+':'+_0x48c619['dateTime'];case hotmesh_1['KeyType']['JOB_STATS_MEDIAN']:return _0x2dea2+':'+_0x48c619['appId']+':s:'+_0x48c619['jobKey']+':'+_0x48c619['dateTime']+':'+_0x48c619['facet'];case hotmesh_1['KeyType']['JOB_STATS_INDEX']:return _0x2dea2+':'+_0x48c619['appId']+':s:'+_0x48c619['jobKey']+':'+_0x48c619['dateTime']+':'+_0x48c619['facet'];case hotmesh_1['KeyType']['SCHEMAS']:return _0x2dea2+':'+_0x48c619['appId']+':v:'+_0x48c619['appVersion']+':schemas';case hotmesh_1['KeyType']['SUBSCRIPTIONS']:return _0x2dea2+':'+_0x48c619['appId']+':v:'+_0x48c619['appVersion']+':subscriptions';case hotmesh_1['KeyType']['SUBSCRIPTION_PATTERNS']:return _0x2dea2+':'+_0x48c619['appId']+':v:'+_0x48c619['appVersion']+':transitions';case hotmesh_1['KeyType']['HOOKS']:return _0x2dea2+':'+_0x48c619['appId']+':hooks';case hotmesh_1['KeyType']['SIGNALS']:return _0x2dea2+':'+_0x48c619['appId']+':signals';case hotmesh_1['KeyType']['SYMKEYS']:return _0x2dea2+':'+_0x48c619['appId']+':sym:keys:'+(_0x48c619['activityId']||'');case hotmesh_1['KeyType']['SYMVALS']:return _0x2dea2+':'+_0x48c619['appId']+':sym:vals:';case hotmesh_1['KeyType']['STREAMS']:return _0x2dea2+':'+(_0x48c619['appId']||'')+':x:'+(_0x48c619['topic']||'');default:throw new Error('Invalid\x20key\x20type.');}}}exports['KeyService']=KeyService;
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import { StoreService } from '../services/store';
3
3
  import { AppSubscriptions, AppTransitions, AppVID } from '../types/app';
4
- import { RedisClient, RedisMulti } from '../types/redis';
4
+ import { ProviderClient, ProviderConfig, ProviderTransaction, Providers } from '../types/provider';
5
5
  import { StringAnyType } from '../types/serializer';
6
- import { StreamCode, StreamStatus } from '../types/stream';
6
+ import { StreamCode, StreamData, StreamStatus } from '../types/stream';
7
7
  import { SystemHealth } from '../types/quorum';
8
8
  export declare const hashOptions: (options: any) => string;
9
9
  export declare function getSystemHealth(): Promise<SystemHealth>;
@@ -16,16 +16,22 @@ export declare function XSleepFor(ms: number): {
16
16
  promise: Promise<unknown>;
17
17
  timerId: NodeJS.Timeout;
18
18
  };
19
- export declare function identifyRedisType(redisInstance: any): 'redis' | 'ioredis' | null;
19
+ export declare function identifyProvider(provider: any): Providers | null;
20
20
  export declare const polyfill: {
21
21
  resolveActivityType(activityType: string): string;
22
+ providerConfig(obj: any): any;
23
+ meshDataConfig(obj: {
24
+ connection?: Partial<ProviderConfig>;
25
+ redisClass?: any;
26
+ redisOptions?: StringAnyType;
27
+ }): Partial<ProviderConfig>;
22
28
  };
23
29
  export declare function identifyRedisTypeFromClass(redisClass: any): 'redis' | 'ioredis' | null;
24
30
  export declare function matchesStatusCode(code: StreamCode, pattern: string | RegExp): boolean;
25
31
  export declare function matchesStatus(status: StreamStatus, targetStatus: StreamStatus): boolean;
26
32
  export declare function findTopKey(obj: AppTransitions, input: string): string | null;
27
33
  export declare function findSubscriptionForTrigger(obj: AppSubscriptions, value: string): string | null;
28
- export declare function getSubscriptionTopic(activityId: string, store: StoreService<RedisClient, RedisMulti>, appVID: AppVID): Promise<string | undefined>;
34
+ export declare function getSubscriptionTopic(activityId: string, store: StoreService<ProviderClient, ProviderTransaction>, appVID: AppVID): Promise<string | undefined>;
29
35
  export declare function getTimeSeries(granularity: string): string;
30
36
  export declare function formatISODate(input: Date | string): string;
31
37
  export declare function getSymKey(number: number): string;
@@ -37,4 +43,6 @@ export declare function getValueByPath(obj: {
37
43
  export declare function restoreHierarchy(obj: StringAnyType): StringAnyType;
38
44
  export declare function isValidCron(cronExpression: string): boolean;
39
45
  export declare const s: (input: string) => number;
46
+ export declare const parseStreamMessage: (message: string) => StreamData;
47
+ export declare const isStreamMessage: (result: any) => boolean;
40
48
  export declare const arrayToHash: (response: [number, ...Array<string | string[]>]) => Record<string, string>[];
@@ -1 +1 @@
1
- 'use strict';(function(_0x38faf5,_0x49ad06){const _0x43c470=_0x1dfe,_0x5cccc1=_0x38faf5();while(!![]){try{const _0x730069=-parseInt(_0x43c470(0x16f))/0x1+parseInt(_0x43c470(0x172))/0x2+-parseInt(_0x43c470(0x16c))/0x3+-parseInt(_0x43c470(0x173))/0x4+-parseInt(_0x43c470(0x16b))/0x5*(-parseInt(_0x43c470(0x170))/0x6)+parseInt(_0x43c470(0x171))/0x7*(-parseInt(_0x43c470(0x16e))/0x8)+parseInt(_0x43c470(0x16d))/0x9;if(_0x730069===_0x49ad06)break;else _0x5cccc1['push'](_0x5cccc1['shift']());}catch(_0x2f96b0){_0x5cccc1['push'](_0x5cccc1['shift']());}}}(_0x329f,0xb072a));var __importDefault=this&&this['__importDefault']||function(_0x45b55a){return _0x45b55a&&_0x45b55a['__esModule']?_0x45b55a:{'default':_0x45b55a};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['arrayToHash']=exports['s']=exports['isValidCron']=exports['restoreHierarchy']=exports['getValueByPath']=exports['getIndexedHash']=exports['getSymVal']=exports['getSymKey']=exports['formatISODate']=exports['getTimeSeries']=exports['getSubscriptionTopic']=exports['findSubscriptionForTrigger']=exports['findTopKey']=exports['matchesStatus']=exports['matchesStatusCode']=exports['identifyRedisTypeFromClass']=exports['polyfill']=exports['identifyRedisType']=exports['XSleepFor']=exports['sleepImmediate']=exports['sleepFor']=exports['guid']=exports['deterministicRandom']=exports['deepCopy']=exports['getSystemHealth']=exports['hashOptions']=void 0x0;const os_1=__importDefault(require('os')),crypto_1=require('crypto'),nanoid_1=require('nanoid'),ms_1=__importDefault(require('ms')),enums_1=require('./enums'),hashOptions=_0x1d3f84=>{const _0x4e9c44=JSON['stringify'](_0x1d3f84);return(0x0,crypto_1['createHash'])('sha256')['update'](_0x4e9c44)['digest']('hex');};function _0x1dfe(_0x3ea9f5,_0x39ebd0){const _0x329f66=_0x329f();return _0x1dfe=function(_0x1dfee8,_0x3472ad){_0x1dfee8=_0x1dfee8-0x16b;let _0x307d84=_0x329f66[_0x1dfee8];return _0x307d84;},_0x1dfe(_0x3ea9f5,_0x39ebd0);}exports['hashOptions']=hashOptions;async function getSystemHealth(){const _0x559655=os_1['default']['totalmem'](),_0x5a521e=os_1['default']['freemem'](),_0x2bbe50=_0x559655-_0x5a521e,_0x1e10dc={'TotalMemoryGB':(_0x559655/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','FreeMemoryGB':(_0x5a521e/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','UsedMemoryGB':(_0x2bbe50/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','CPULoad':[],'NetworkStats':[]};return _0x1e10dc;}exports['getSystemHealth']=getSystemHealth;function deepCopy(_0x128e6b){return JSON['parse'](JSON['stringify'](_0x128e6b));}exports['deepCopy']=deepCopy;function deterministicRandom(_0x7c41e2){const _0x2a21aa=Math['sin'](_0x7c41e2)*0x2710;return _0x2a21aa-Math['floor'](_0x2a21aa);}exports['deterministicRandom']=deterministicRandom;function guid(_0x135887=enums_1['HMSH_GUID_SIZE']){return'H'+(0x0,nanoid_1['nanoid'])(_0x135887);}exports['guid']=guid;async function sleepFor(_0x43a676){return new Promise(_0x895b9f=>setTimeout(_0x895b9f,_0x43a676));}exports['sleepFor']=sleepFor;function sleepImmediate(){return new Promise(_0x50f2cf=>setImmediate(_0x50f2cf));}exports['sleepImmediate']=sleepImmediate;function XSleepFor(_0x44eae6){let _0xbc3784;const _0x10ae38=new Promise(_0x5dc486=>{_0xbc3784=setTimeout(_0x5dc486,_0x44eae6);});return{'promise':_0x10ae38,'timerId':_0xbc3784};}exports['XSleepFor']=XSleepFor;function identifyRedisType(_0xde722c){const _0x4dc780=Object['getPrototypeOf'](_0xde722c);if('defineCommand'in _0x4dc780||Object['keys'](_0x4dc780)['includes']('multi'))return'ioredis';else{if(Object['keys'](_0x4dc780)['includes']('Multi'))return'redis';}if(_0xde722c['constructor']){if(_0xde722c['constructor']['name']==='Redis'||_0xde722c['constructor']['name']==='EventEmitter'){if('hset'in _0xde722c)return'ioredis';}else{if(_0xde722c['constructor']['name']==='RedisClient'||_0xde722c['constructor']['name']==='Commander'){if('HSET'in _0xde722c)return'redis';}}}return null;}exports['identifyRedisType']=identifyRedisType,exports['polyfill']={'resolveActivityType'(_0x3065a8){if(_0x3065a8==='activity')return'hook';return _0x3065a8;}};function identifyRedisTypeFromClass(_0x290225){if(_0x290225&&_0x290225['name']==='Redis'||_0x290225['name']==='EventEmitter')return'ioredis';else{if(_0x290225&&'createClient'in _0x290225)return'redis';}return null;}exports['identifyRedisTypeFromClass']=identifyRedisTypeFromClass;function matchesStatusCode(_0x52359a,_0x3a1020){if(typeof _0x3a1020==='string'){const _0xd36abf='^'+_0x3a1020['replace'](/\*/g,'\x5cd')+'$';return new RegExp(_0xd36abf)['test'](_0x52359a['toString']());}return _0x3a1020['test'](_0x52359a['toString']());}exports['matchesStatusCode']=matchesStatusCode;function matchesStatus(_0x398c3f,_0x1e8d74){return _0x398c3f===_0x1e8d74;}function _0x329f(){const _0x700043=['2301714JbNSEo','19811088mVyMjA','40qYCMzi','760563GbCRru','7799628LYssfc','1207353GyLwUA','1393112KNOJVy','4339200VAIUTq','5CcOAuh'];_0x329f=function(){return _0x700043;};return _0x329f();}exports['matchesStatus']=matchesStatus;function findTopKey(_0x49749b,_0x322a63){for(const [_0xdfcc06,_0x400c04]of Object['entries'](_0x49749b)){if(_0x400c04['hasOwnProperty'](_0x322a63)){const _0x4c8b23=findTopKey(_0x49749b,_0xdfcc06['replace'](/^\./,''));return(_0x4c8b23||_0xdfcc06)['replace'](/^\./,'');}}return null;}exports['findTopKey']=findTopKey;function findSubscriptionForTrigger(_0x4ef3a2,_0x4a0cd8){for(const [_0x2c3118,_0x1c627f]of Object['entries'](_0x4ef3a2)){if(_0x1c627f===_0x4a0cd8)return _0x2c3118;}return null;}exports['findSubscriptionForTrigger']=findSubscriptionForTrigger;async function getSubscriptionTopic(_0x2d261c,_0x329c9b,_0x4244f9){const _0x26b2e4=await _0x329c9b['getTransitions'](_0x4244f9),_0x2bddac=await _0x329c9b['getSubscriptions'](_0x4244f9),_0x5fddf1=findTopKey(_0x26b2e4,_0x2d261c),_0x5a3210=findSubscriptionForTrigger(_0x2bddac,_0x5fddf1);return _0x5a3210;}exports['getSubscriptionTopic']=getSubscriptionTopic;function getTimeSeries(_0x517faa){if(_0x517faa['toString']()==='infinity')return'0';const _0xff7590=new Date(),_0x2f7226=_0x517faa['slice'](-0x1),_0xfcab4e=parseInt(_0x517faa['slice'](0x0,-0x1),0xa);if(_0x2f7226==='m'){const _0x1ac0f0=Math['floor'](_0xff7590['getMinutes']()/_0xfcab4e)*_0xfcab4e;_0xff7590['setUTCMinutes'](_0x1ac0f0,0x0,0x0);}else _0x2f7226==='h'&&_0xff7590['setUTCMinutes'](0x0,0x0,0x0);return _0xff7590['toISOString']()['replace'](/:\d\d\..+|-|T/g,'')['replace'](':','');}exports['getTimeSeries']=getTimeSeries;function formatISODate(_0x27e51a){const _0x1dee03=_0x27e51a instanceof Date?_0x27e51a:new Date(_0x27e51a);return _0x1dee03['toISOString']()['replace'](/[:TZ-]/g,'');}exports['formatISODate']=formatISODate;function getSymKey(_0x4ac427){const _0x579f21='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',_0x4a4eb7=_0x579f21['length'];if(_0x4ac427<0x0||_0x4ac427>=Math['pow'](_0x4a4eb7,0x3))throw new Error('Number\x20out\x20of\x20range');const [_0x2849ab,_0x504f12]=divmod(_0x4ac427,_0x4a4eb7),[_0x2a5dc8,_0x3698f3]=divmod(_0x2849ab,_0x4a4eb7);return _0x579f21[_0x2a5dc8]+_0x579f21[_0x504f12]+_0x579f21[_0x3698f3];}exports['getSymKey']=getSymKey;function getSymVal(_0x1970eb){const _0x42af06='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',_0x4b2e89=_0x42af06['length'];if(_0x1970eb<0x0||_0x1970eb>=Math['pow'](_0x4b2e89,0x2))throw new Error('Number\x20out\x20of\x20range');const [_0x1386cb,_0x352f61]=divmod(_0x1970eb,_0x4b2e89);return _0x42af06[_0x1386cb]+_0x42af06[_0x352f61];}exports['getSymVal']=getSymVal;function divmod(_0x519020,_0x35107a){return[Math['floor'](_0x519020/_0x35107a),_0x519020%_0x35107a];}function getIndexedHash(_0xff28ed,_0x2013f0){const _0x1ce9c4=_0xff28ed[_0x2013f0]||0x0,_0x57b4aa={..._0xff28ed};return delete _0x57b4aa[_0x2013f0],[_0x1ce9c4,_0x57b4aa];}exports['getIndexedHash']=getIndexedHash;function getValueByPath(_0x6a2786,_0x4bdf2e){const _0xf195fa=_0x4bdf2e['split']('/');let _0x4eff0c=_0x6a2786;for(const _0x327859 of _0xf195fa){if(_0x4eff0c[_0x327859]!==undefined)_0x4eff0c=_0x4eff0c[_0x327859];else return undefined;}return _0x4eff0c;}exports['getValueByPath']=getValueByPath;function restoreHierarchy(_0x348b16){const _0x364216={};for(const _0x2d424a in _0x348b16){if(_0x348b16[_0x2d424a]===undefined)continue;const _0x193f93=_0x2d424a['split']('/');let _0x181c48=_0x364216;for(let _0x5282d2=0x0;_0x5282d2<_0x193f93['length'];_0x5282d2++){_0x5282d2===_0x193f93['length']-0x1?_0x181c48[_0x193f93[_0x5282d2]]=_0x348b16[_0x2d424a]:(_0x181c48[_0x193f93[_0x5282d2]]=_0x181c48[_0x193f93[_0x5282d2]]||{},_0x181c48=_0x181c48[_0x193f93[_0x5282d2]]);}}return _0x364216;}exports['restoreHierarchy']=restoreHierarchy;function isValidCron(_0x539c23){const _0x10008f=/^(\*|([0-5]?\d)) (\*|([01]?\d|2[0-3])) (\*|([12]?\d|3[01])) (\*|([1-9]|1[0-2])) (\*|([0-6](?:-[0-6])?(?:,[0-6])?))$/;return _0x10008f['test'](_0x539c23);}exports['isValidCron']=isValidCron;const s=_0x180d5f=>{return(0x0,ms_1['default'])(_0x180d5f)/0x3e8;};exports['s']=s;const arrayToHash=_0x2c946f=>{const _0x611bfe=[];let _0x471383;for(let _0x469643=0x1;_0x469643<_0x2c946f['length'];_0x469643++){const _0x32b226=_0x2c946f[_0x469643],_0x3ad636={};if(Array['isArray'](_0x32b226)){for(let _0x1ee3f1=0x0;_0x1ee3f1<_0x32b226['length'];_0x1ee3f1+=0x2){const _0x5856df=_0x32b226[_0x1ee3f1],_0x34b941=_0x32b226[_0x1ee3f1+0x1];_0x3ad636[_0x5856df]=_0x34b941;}_0x471383&&(_0x3ad636['$']=_0x471383),_0x611bfe['push'](_0x3ad636),_0x471383=undefined;}else _0x471383=_0x32b226;}return _0x611bfe;};exports['arrayToHash']=arrayToHash;
1
+ 'use strict';(function(_0x344ade,_0x421dd2){const _0x12cc6f=_0x3a62,_0x5ea438=_0x344ade();while(!![]){try{const _0x5847ae=parseInt(_0x12cc6f(0x11e))/0x1*(parseInt(_0x12cc6f(0x126))/0x2)+-parseInt(_0x12cc6f(0x124))/0x3*(-parseInt(_0x12cc6f(0x129))/0x4)+-parseInt(_0x12cc6f(0x122))/0x5*(parseInt(_0x12cc6f(0x123))/0x6)+-parseInt(_0x12cc6f(0x127))/0x7*(parseInt(_0x12cc6f(0x120))/0x8)+-parseInt(_0x12cc6f(0x121))/0x9+parseInt(_0x12cc6f(0x125))/0xa*(parseInt(_0x12cc6f(0x11f))/0xb)+parseInt(_0x12cc6f(0x128))/0xc;if(_0x5847ae===_0x421dd2)break;else _0x5ea438['push'](_0x5ea438['shift']());}catch(_0x5a4c4a){_0x5ea438['push'](_0x5ea438['shift']());}}}(_0x4d53,0xe364a));var __importDefault=this&&this['__importDefault']||function(_0x5f4560){return _0x5f4560&&_0x5f4560['__esModule']?_0x5f4560:{'default':_0x5f4560};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['arrayToHash']=exports['isStreamMessage']=exports['parseStreamMessage']=exports['s']=exports['isValidCron']=exports['restoreHierarchy']=exports['getValueByPath']=exports['getIndexedHash']=exports['getSymVal']=exports['getSymKey']=exports['formatISODate']=exports['getTimeSeries']=exports['getSubscriptionTopic']=exports['findSubscriptionForTrigger']=exports['findTopKey']=exports['matchesStatus']=exports['matchesStatusCode']=exports['identifyRedisTypeFromClass']=exports['polyfill']=exports['identifyProvider']=exports['XSleepFor']=exports['sleepImmediate']=exports['sleepFor']=exports['guid']=exports['deterministicRandom']=exports['deepCopy']=exports['getSystemHealth']=exports['hashOptions']=void 0x0;const os_1=__importDefault(require('os')),crypto_1=require('crypto'),nanoid_1=require('nanoid'),ms_1=__importDefault(require('ms')),logger_1=require('../services/logger'),enums_1=require('./enums'),logger=new logger_1['LoggerService']('hotmesh','utils'),hashOptions=_0xb6fc58=>{const _0x555f89=JSON['stringify'](_0xb6fc58);return(0x0,crypto_1['createHash'])('sha256')['update'](_0x555f89)['digest']('hex');};exports['hashOptions']=hashOptions;async function getSystemHealth(){const _0x51e305=os_1['default']['totalmem'](),_0x6971af=os_1['default']['freemem'](),_0x155c0c=_0x51e305-_0x6971af,_0x586bb6={'TotalMemoryGB':(_0x51e305/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','FreeMemoryGB':(_0x6971af/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','UsedMemoryGB':(_0x155c0c/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','CPULoad':[],'NetworkStats':[]};return _0x586bb6;}exports['getSystemHealth']=getSystemHealth;function deepCopy(_0x4f9b59){return JSON['parse'](JSON['stringify'](_0x4f9b59));}exports['deepCopy']=deepCopy;function deterministicRandom(_0x30125f){const _0x32dce9=Math['sin'](_0x30125f)*0x2710;return _0x32dce9-Math['floor'](_0x32dce9);}exports['deterministicRandom']=deterministicRandom;function guid(_0x2a5563=enums_1['HMSH_GUID_SIZE']){return'H'+(0x0,nanoid_1['nanoid'])(_0x2a5563);}exports['guid']=guid;async function sleepFor(_0xbcdc48){return new Promise(_0x57d90a=>setTimeout(_0x57d90a,_0xbcdc48));}exports['sleepFor']=sleepFor;function sleepImmediate(){return new Promise(_0x4be488=>setImmediate(_0x4be488));}exports['sleepImmediate']=sleepImmediate;function XSleepFor(_0x4a1436){let _0x15e5ab;const _0x1829b4=new Promise(_0x151f92=>{_0x15e5ab=setTimeout(_0x151f92,_0x4a1436);});return{'promise':_0x1829b4,'timerId':_0x15e5ab};}exports['XSleepFor']=XSleepFor;function identifyProvider(_0x48df0b){const _0x5e7dbb=Object['getPrototypeOf'](_0x48df0b);if(_0x48df0b['constructor']&&_0x48df0b['constructor']['name']==='Client')return'nats';else{if(_0x48df0b['constructor']&&_0x48df0b['constructor']['name']==='Pool')return'postgres';else{if('defineCommand'in _0x5e7dbb||Object['keys'](_0x5e7dbb)['includes']('multi'))return'ioredis';else{if(Object['keys'](_0x5e7dbb)['includes']('Multi'))return'redis';}}}if(_0x48df0b['constructor']){if(_0x48df0b['constructor']['name']==='Redis'||_0x48df0b['constructor']['name']==='EventEmitter'){if('hset'in _0x48df0b)return'ioredis';}else{if(_0x48df0b['constructor']['name']==='ProviderClient'||_0x48df0b['constructor']['name']==='Commander'){if('HSET'in _0x48df0b)return'redis';}}}if(Object['keys'](_0x48df0b)['includes']('Pipeline'))return'ioredis';else{if(Object['keys'](_0x48df0b)['includes']('createClient'))return'redis';}return null;}exports['identifyProvider']=identifyProvider,exports['polyfill']={'resolveActivityType'(_0x47f829){return _0x47f829==='activity'?'hook':_0x47f829;},'providerConfig'(_0x555af5){return _0x555af5?.['connection']??_0x555af5?.['redis'];},'meshDataConfig'(_0x347614){return _0x347614?.['connection']??{'class':_0x347614?.['redisClass'],'options':_0x347614?.['redisOptions']};}};function identifyRedisTypeFromClass(_0x549017){if(_0x549017&&_0x549017['name']==='Redis'||_0x549017['name']==='EventEmitter')return'ioredis';else{if(_0x549017&&'createClient'in _0x549017)return'redis';}return null;}exports['identifyRedisTypeFromClass']=identifyRedisTypeFromClass;function matchesStatusCode(_0x368d73,_0x52ba8f){if(typeof _0x52ba8f==='string'){const _0xcb1b1a='^'+_0x52ba8f['replace'](/\*/g,'\x5cd')+'$';return new RegExp(_0xcb1b1a)['test'](_0x368d73['toString']());}return _0x52ba8f['test'](_0x368d73['toString']());}exports['matchesStatusCode']=matchesStatusCode;function matchesStatus(_0x4fbd94,_0x24007f){return _0x4fbd94===_0x24007f;}exports['matchesStatus']=matchesStatus;function findTopKey(_0x3d03d4,_0x163189){for(const [_0x3c2b46,_0xf34fb5]of Object['entries'](_0x3d03d4)){if(_0xf34fb5['hasOwnProperty'](_0x163189)){const _0x49a675=findTopKey(_0x3d03d4,_0x3c2b46['replace'](/^\./,''));return(_0x49a675||_0x3c2b46)['replace'](/^\./,'');}}return null;}exports['findTopKey']=findTopKey;function findSubscriptionForTrigger(_0x122245,_0x431f93){for(const [_0x58d462,_0x6eef23]of Object['entries'](_0x122245)){if(_0x6eef23===_0x431f93)return _0x58d462;}return null;}exports['findSubscriptionForTrigger']=findSubscriptionForTrigger;async function getSubscriptionTopic(_0x4e0de2,_0x4ffae2,_0x193d35){const _0x5199d7=await _0x4ffae2['getTransitions'](_0x193d35),_0x3d9a16=await _0x4ffae2['getSubscriptions'](_0x193d35),_0x5ebef1=findTopKey(_0x5199d7,_0x4e0de2),_0x28da80=findSubscriptionForTrigger(_0x3d9a16,_0x5ebef1);return _0x28da80;}exports['getSubscriptionTopic']=getSubscriptionTopic;function getTimeSeries(_0x1b69ce){if(_0x1b69ce['toString']()==='infinity')return'0';const _0x3d9fe6=new Date(),_0x4d10b3=_0x1b69ce['slice'](-0x1),_0x1cedc6=parseInt(_0x1b69ce['slice'](0x0,-0x1),0xa);if(_0x4d10b3==='m'){const _0x2f40cc=Math['floor'](_0x3d9fe6['getMinutes']()/_0x1cedc6)*_0x1cedc6;_0x3d9fe6['setUTCMinutes'](_0x2f40cc,0x0,0x0);}else _0x4d10b3==='h'&&_0x3d9fe6['setUTCMinutes'](0x0,0x0,0x0);return _0x3d9fe6['toISOString']()['replace'](/:\d\d\..+|-|T/g,'')['replace'](':','');}exports['getTimeSeries']=getTimeSeries;function formatISODate(_0x1552ae){const _0x58fa5=_0x1552ae instanceof Date?_0x1552ae:new Date(_0x1552ae);return _0x58fa5['toISOString']()['replace'](/[:TZ-]/g,'');}function _0x4d53(){const _0xa3284d=['2970552cRwhvr','76xbMZMr','1LDXXfu','1574078ePaMPs','7106376xbNAAu','1712664NnuSzr','5019710tbkISj','6KIfthA','15510OBREIw','80CXSsAx','3046754DUbhCH','7SQvxoN'];_0x4d53=function(){return _0xa3284d;};return _0x4d53();}exports['formatISODate']=formatISODate;function getSymKey(_0x30c019){const _0x4277e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',_0x27bca7=_0x4277e7['length'];if(_0x30c019<0x0||_0x30c019>=Math['pow'](_0x27bca7,0x3))throw new Error('Number\x20out\x20of\x20range');const [_0x3772d9,_0x57f474]=divmod(_0x30c019,_0x27bca7),[_0x19ba4c,_0x31eafe]=divmod(_0x3772d9,_0x27bca7);return _0x4277e7[_0x19ba4c]+_0x4277e7[_0x57f474]+_0x4277e7[_0x31eafe];}exports['getSymKey']=getSymKey;function getSymVal(_0x2e3163){const _0x310ec9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',_0x18af95=_0x310ec9['length'];if(_0x2e3163<0x0||_0x2e3163>=Math['pow'](_0x18af95,0x2))throw new Error('Number\x20out\x20of\x20range');const [_0x2f8df7,_0xda7eb1]=divmod(_0x2e3163,_0x18af95);return _0x310ec9[_0x2f8df7]+_0x310ec9[_0xda7eb1];}exports['getSymVal']=getSymVal;function divmod(_0x6b9ae3,_0x52dc24){return[Math['floor'](_0x6b9ae3/_0x52dc24),_0x6b9ae3%_0x52dc24];}function getIndexedHash(_0x244474,_0x576863){const _0x197098=_0x244474[_0x576863]||0x0,_0x93228f={..._0x244474};return delete _0x93228f[_0x576863],[_0x197098,_0x93228f];}exports['getIndexedHash']=getIndexedHash;function getValueByPath(_0x65776,_0x1c74eb){const _0x52ef06=_0x1c74eb['split']('/');let _0x59fc1a=_0x65776;for(const _0x1d1b5a of _0x52ef06){if(_0x59fc1a[_0x1d1b5a]!==undefined)_0x59fc1a=_0x59fc1a[_0x1d1b5a];else return undefined;}return _0x59fc1a;}exports['getValueByPath']=getValueByPath;function _0x3a62(_0x51c0e0,_0x326e1d){const _0x4d5363=_0x4d53();return _0x3a62=function(_0x3a62ad,_0x2c7921){_0x3a62ad=_0x3a62ad-0x11e;let _0x28de07=_0x4d5363[_0x3a62ad];return _0x28de07;},_0x3a62(_0x51c0e0,_0x326e1d);}function restoreHierarchy(_0x4329d0){const _0x4ed8c4={};for(const _0x20f24a in _0x4329d0){if(_0x4329d0[_0x20f24a]===undefined)continue;const _0x27874e=_0x20f24a['split']('/');let _0xff40c0=_0x4ed8c4;for(let _0x395257=0x0;_0x395257<_0x27874e['length'];_0x395257++){_0x395257===_0x27874e['length']-0x1?_0xff40c0[_0x27874e[_0x395257]]=_0x4329d0[_0x20f24a]:(_0xff40c0[_0x27874e[_0x395257]]=_0xff40c0[_0x27874e[_0x395257]]||{},_0xff40c0=_0xff40c0[_0x27874e[_0x395257]]);}}return _0x4ed8c4;}exports['restoreHierarchy']=restoreHierarchy;function isValidCron(_0x362358){const _0x219ee5=/^(\*|([0-5]?\d)) (\*|([01]?\d|2[0-3])) (\*|([12]?\d|3[01])) (\*|([1-9]|1[0-2])) (\*|([0-6](?:-[0-6])?(?:,[0-6])?))$/;return _0x219ee5['test'](_0x362358);}exports['isValidCron']=isValidCron;const s=_0x4e37b8=>{return(0x0,ms_1['default'])(_0x4e37b8)/0x3e8;};exports['s']=s;const parseStreamMessage=_0x5d054b=>{try{return JSON['parse'](_0x5d054b);}catch(_0x3e8514){logger['error']('Error\x20parsing\x20Stream\x20message',{..._0x3e8514});throw _0x3e8514;}};exports['parseStreamMessage']=parseStreamMessage;const isStreamMessage=_0x1adfae=>{return Array['isArray'](_0x1adfae)&&Array['isArray'](_0x1adfae[0x0]);};exports['isStreamMessage']=isStreamMessage;const arrayToHash=_0x240874=>{const _0x1c3911=[];let _0x20b8f4;for(let _0x49c7bf=0x1;_0x49c7bf<_0x240874['length'];_0x49c7bf++){const _0x8a3447=_0x240874[_0x49c7bf],_0x42fa64={};if(Array['isArray'](_0x8a3447)){for(let _0x3873b0=0x0;_0x3873b0<_0x8a3447['length'];_0x3873b0+=0x2){const _0x572f3c=_0x8a3447[_0x3873b0],_0x2ec092=_0x8a3447[_0x3873b0+0x1];_0x42fa64[_0x572f3c]=_0x2ec092;}_0x20b8f4&&(_0x42fa64['$']=_0x20b8f4),_0x1c3911['push'](_0x42fa64),_0x20b8f4=undefined;}else _0x20b8f4=_0x8a3447;}return _0x1c3911;};exports['arrayToHash']=arrayToHash;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hotmeshio/hotmesh",
3
- "version": "0.3.8",
3
+ "version": "0.3.10",
4
4
  "description": "Unbreakable Workflows",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -8,7 +8,7 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/hotmeshio/sdk-typescript.git"
10
10
  },
11
- "homepage": "https://github.com/hotmeshio/sdk-typescript#readme",
11
+ "homepage": "https://hotmeshio.github.io/sdk-typescript/",
12
12
  "publishConfig": {
13
13
  "access": "public"
14
14
  },
@@ -25,8 +25,8 @@
25
25
  "test:await": "NODE_ENV=test jest ./tests/functional/awaiter/index.test.ts --detectOpenHandles --forceExit --verbose",
26
26
  "test:compile": "NODE_ENV=test jest ./tests/functional/compile/index.test.ts --detectOpenHandles --forceExit --verbose",
27
27
  "test:connect": "NODE_ENV=test jest ./tests/unit/services/connector/index.test.ts --detectOpenHandles --forceExit --verbose",
28
- "test:connect:ioredis": "NODE_ENV=test jest ./tests/unit/services/connector/clients/ioredis.test.ts --detectOpenHandles --forceExit --verbose",
29
- "test:connect:redis": "NODE_ENV=test jest ./tests/unit/services/connector/clients/redis.test.ts --detectOpenHandles --forceExit --verbose",
28
+ "test:connect:ioredis": "NODE_ENV=test jest ./tests/unit/services/connector/providers/ioredis.test.ts --detectOpenHandles --forceExit --verbose",
29
+ "test:connect:redis": "NODE_ENV=test jest ./tests/unit/services/connector/providers/redis.test.ts --detectOpenHandles --forceExit --verbose",
30
30
  "test:cycle": "NODE_ENV=test jest ./tests/functional/cycle/index.test.ts --detectOpenHandles --forceExit --verbose",
31
31
  "test:meshflow": "NODE_ENV=test jest ./tests/meshflow/*/index.test.ts --detectOpenHandles --forceExit --verbose",
32
32
  "test:meshflow:basic": "NODE_ENV=test jest ./tests/meshflow/basic/index.test.ts --detectOpenHandles --forceExit --verbose",
@@ -63,12 +63,14 @@
63
63
  "test:store:redis": "NODE_ENV=test jest ./tests/functional/store/providers/redis/redis.test.ts --detectOpenHandles --forceExit --verbose",
64
64
  "test:stream:ioredis": "NODE_ENV=test jest ./tests/functional/stream/providers/redis/ioredis.test.ts --detectOpenHandles --forceExit --verbose",
65
65
  "test:stream:redis": "NODE_ENV=test jest ./tests/functional/stream/providers/redis/redis.test.ts --detectOpenHandles --forceExit --verbose",
66
+ "test:stream:postgres": "NODE_ENV=test jest ./tests/functional/stream/providers/postgres/postgres.test.ts --detectOpenHandles --forceExit --verbose",
67
+ "test:stream:nats": "NODE_ENV=test jest ./tests/functional/stream/providers/nats/nats.test.ts --detectOpenHandles --forceExit --verbose",
66
68
  "test:sub:ioredis": "NODE_ENV=test jest ./tests/functional/sub/providers/redis/ioredis.test.ts --detectOpenHandles --forceExit --verbose",
67
69
  "test:sub:redis": "NODE_ENV=test jest ./tests/functional/sub/providers/redis/redis.test.ts --detectOpenHandles --forceExit --verbose",
68
70
  "test:trigger": "NODE_ENV=test jest ./tests/unit/services/activities/trigger.test.ts --detectOpenHandles --forceExit --verbose",
69
- "test:meshdata": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshdata/index.test.ts --forceExit --verbose --detectOpenHandles",
71
+ "test:meshdata": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshdata/index.test.ts --forceExit --verbose",
70
72
  "test:meshos": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshos/index.test.ts --forceExit --verbose --detectOpenHandles",
71
- "test:meshcall": "NODE_ENV=test HMSH_LOGLEVEL=debug jest ./tests/meshcall/index.test.ts --forceExit --verbose --detectOpenHandles",
73
+ "test:meshcall": "NODE_ENV=test jest ./tests/meshcall/index.test.ts --forceExit --verbose --detectOpenHandles",
72
74
  "test:unit": "NODE_ENV=test jest ./tests/unit/*/*/index.test.ts --detectOpenHandles --forceExit --verbose"
73
75
  },
74
76
  "keywords": [
@@ -111,10 +113,15 @@
111
113
  "ts-node": "^10.9.1",
112
114
  "ts-node-dev": "^2.0.0",
113
115
  "typedoc": "^0.26.4",
114
- "typescript": "^5.0.4"
116
+ "typescript": "^5.0.4",
117
+ "@types/pg": "^8.10.0",
118
+ "nats": "^2.28.0",
119
+ "pg": "^8.10.0"
115
120
  },
116
121
  "peerDependencies": {
117
122
  "ioredis": "^4.0.0 || ^5.0.0",
118
- "redis": "^4.0.0"
123
+ "redis": "^4.0.0",
124
+ "nats": "^2.0.0",
125
+ "pg": "^8.0.0"
119
126
  }
120
127
  }
@@ -3,8 +3,8 @@ import { ILogger } from '../logger';
3
3
  import { StoreService } from '../store';
4
4
  import { TelemetryService } from '../telemetry';
5
5
  import { ActivityData, ActivityLeg, ActivityMetadata, ActivityType } from '../../types/activity';
6
+ import { ProviderClient, ProviderTransaction, TransactionResultList } from '../../types/provider';
6
7
  import { JobState, JobStatus } from '../../types/job';
7
- import { MultiResponseFlags, RedisClient, RedisMulti } from '../../types/redis';
8
8
  import { StringAnyType } from '../../types/serializer';
9
9
  import { StreamCode, StreamData, StreamStatus } from '../../types/stream';
10
10
  declare class Activity {
@@ -12,7 +12,7 @@ declare class Activity {
12
12
  data: ActivityData;
13
13
  hook: ActivityData;
14
14
  metadata: ActivityMetadata;
15
- store: StoreService<RedisClient, RedisMulti>;
15
+ store: StoreService<ProviderClient, ProviderTransaction>;
16
16
  context: JobState;
17
17
  engine: EngineService;
18
18
  logger: ILogger;
@@ -27,11 +27,11 @@ declare class Activity {
27
27
  verifyEntry(): Promise<void>;
28
28
  verifyReentry(): Promise<number>;
29
29
  processEvent(status?: StreamStatus, code?: StreamCode, type?: 'hook' | 'output'): Promise<void>;
30
- processPending(type: 'hook' | 'output'): Promise<MultiResponseFlags>;
31
- processSuccess(type: 'hook' | 'output'): Promise<MultiResponseFlags>;
32
- processError(): Promise<MultiResponseFlags>;
33
- transitionAdjacent(multiResponse: MultiResponseFlags, telemetry: TelemetryService): Promise<void>;
34
- resolveStatus(multiResponse: MultiResponseFlags): number;
30
+ processPending(type: 'hook' | 'output'): Promise<TransactionResultList>;
31
+ processSuccess(type: 'hook' | 'output'): Promise<TransactionResultList>;
32
+ processError(): Promise<TransactionResultList>;
33
+ transitionAdjacent(multiResponse: TransactionResultList, telemetry: TelemetryService): Promise<void>;
34
+ resolveStatus(multiResponse: TransactionResultList): number;
35
35
  mapJobData(): void;
36
36
  mapInputData(): void;
37
37
  mapOutputData(): void;
@@ -40,10 +40,10 @@ declare class Activity {
40
40
  bindJobError(data: Record<string, unknown>): void;
41
41
  getTriggerConfig(): Promise<ActivityType>;
42
42
  getJobStatus(): null | number;
43
- setStatus(amount: number, multi?: RedisMulti): Promise<void | any>;
43
+ setStatus(amount: number, transaction?: ProviderTransaction): Promise<void | any>;
44
44
  authorizeEntry(state: StringAnyType): string[];
45
45
  bindDimensionalAddress(state: StringAnyType): void;
46
- setState(multi?: RedisMulti): Promise<string>;
46
+ setState(transaction?: ProviderTransaction): Promise<string>;
47
47
  bindJobMetadata(): void;
48
48
  bindActivityMetadata(): void;
49
49
  bindJobState(state: StringAnyType): Promise<void>;
@@ -1 +1 @@
1
- 'use strict';(function(_0x4b1300,_0x2869d8){const _0x163eac=_0x117f,_0x4209cd=_0x4b1300();while(!![]){try{const _0x3c16c0=-parseInt(_0x163eac(0x1a8))/0x1*(parseInt(_0x163eac(0x1a7))/0x2)+parseInt(_0x163eac(0x1ac))/0x3+-parseInt(_0x163eac(0x1ae))/0x4+parseInt(_0x163eac(0x1a9))/0x5+parseInt(_0x163eac(0x1aa))/0x6+-parseInt(_0x163eac(0x1ad))/0x7*(-parseInt(_0x163eac(0x1ab))/0x8)+-parseInt(_0x163eac(0x1af))/0x9;if(_0x3c16c0===_0x2869d8)break;else _0x4209cd['push'](_0x4209cd['shift']());}catch(_0x460e41){_0x4209cd['push'](_0x4209cd['shift']());}}}(_0x15f3,0x3e356));function _0x117f(_0x135f60,_0x5e33e7){const _0x15f3f3=_0x15f3();return _0x117f=function(_0x117f21,_0x524ec2){_0x117f21=_0x117f21-0x1a7;let _0x57b674=_0x15f3f3[_0x117f21];return _0x57b674;},_0x117f(_0x135f60,_0x5e33e7);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['Activity']=void 0x0;const enums_1=require('../../modules/enums'),errors_1=require('../../modules/errors'),utils_1=require('../../modules/utils'),collator_1=require('../collator'),mapper_1=require('../mapper'),pipe_1=require('../pipe'),serializer_1=require('../serializer'),telemetry_1=require('../telemetry'),stream_1=require('../../types/stream');function _0x15f3(){const _0x3f1e54=['1922205PwpzVf','2618154UvXkkW','8WJRlKO','358041GWrqEN','1889755iBOuhC','292736yqAhNn','4102407PqFeOa','7822cPxlEK','109QbZqTZ'];_0x15f3=function(){return _0x3f1e54;};return _0x15f3();}class Activity{constructor(_0x1e5c0b,_0x112dd3,_0x50dc7c,_0x5ebc84,_0x2fc507,_0x3dc578){this['status']=stream_1['StreamStatus']['SUCCESS'],this['code']=0xc8,this['adjacentIndex']=0x0,this['config']=_0x1e5c0b,this['data']=_0x112dd3,this['metadata']=_0x50dc7c,this['hook']=_0x5ebc84,this['engine']=_0x2fc507,this['context']=_0x3dc578||{'data':{},'metadata':{}},this['logger']=_0x2fc507['logger'],this['store']=_0x2fc507['store'];}['setLeg'](_0x9170b5){this['leg']=_0x9170b5;}['mapStatusThreshold'](){if(this['config']['statusThreshold']!==undefined){const _0x3f8f82=pipe_1['Pipe']['resolve'](this['config']['statusThreshold'],this['context']);if(_0x3f8f82!==undefined&&!isNaN(Number(_0x3f8f82)))return _0x3f8f82;}return 0x0;}async['verifyEntry'](){this['setLeg'](0x1),await this['getState']();const _0x47f5ff=this['mapStatusThreshold']();try{collator_1['CollatorService']['assertJobActive'](this['context']['metadata']['js'],this['context']['metadata']['jid'],this['metadata']['aid'],_0x47f5ff);}catch(_0x4abeda){await collator_1['CollatorService']['notarizeEntry'](this);if(_0x47f5ff>0x0){if(this['context']['metadata']['js']===_0x47f5ff){const _0x6de70d=await this['setStatus'](-_0x47f5ff);Number(_0x6de70d)===0x0&&await this['engine']['runJobCompletionTasks'](this['context']);}}else throw _0x4abeda;return;}await collator_1['CollatorService']['notarizeEntry'](this);}async['verifyReentry'](){const _0xae4d16=this['context']['metadata']['guid'];return this['setLeg'](0x2),await this['getState'](),collator_1['CollatorService']['assertJobActive'](this['context']['metadata']['js'],this['context']['metadata']['jid'],this['metadata']['aid']),await collator_1['CollatorService']['notarizeReentry'](this,_0xae4d16);}async['processEvent'](_0x37ef49=stream_1['StreamStatus']['SUCCESS'],_0x4ae41c=0xc8,_0x3afaf1='output'){this['setLeg'](0x2);const _0x13fc13=this['context']['metadata']['jid'];if(!_0x13fc13){this['logger']['error']('activity-process-event-error',{'message':'job\x20id\x20is\x20undefined'});return;}const _0x5f5eda=this['metadata']['aid'];this['status']=_0x37ef49,this['code']=_0x4ae41c,this['logger']['debug']('activity-process-event',{'topic':this['config']['subtype'],'jid':_0x13fc13,'aid':_0x5f5eda,'status':_0x37ef49,'code':_0x4ae41c});let _0x235c42;try{const _0x4b2b22=await this['verifyReentry']();this['adjacentIndex']=collator_1['CollatorService']['getDimensionalIndex'](_0x4b2b22),_0x235c42=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0x235c42['startActivitySpan'](this['leg']);let _0x541c4d;if(_0x37ef49===stream_1['StreamStatus']['PENDING'])_0x541c4d=await this['processPending'](_0x3afaf1);else _0x37ef49===stream_1['StreamStatus']['SUCCESS']?_0x541c4d=await this['processSuccess'](_0x3afaf1):_0x541c4d=await this['processError']();this['transitionAdjacent'](_0x541c4d,_0x235c42);}catch(_0xdf4a88){if(_0xdf4a88 instanceof errors_1['CollationError']){this['logger']['info']('process-event-'+_0xdf4a88['fault']+'-error',{..._0xdf4a88});return;}else{if(_0xdf4a88 instanceof errors_1['InactiveJobError']){this['logger']['info']('process-event-inactive-job-error',{..._0xdf4a88});return;}else{if(_0xdf4a88 instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0xdf4a88});return;}else{if(_0xdf4a88 instanceof errors_1['GetStateError']){this['logger']['info']('process-event-get-job-error',{..._0xdf4a88});return;}}}}this['logger']['error']('activity-process-event-error',{..._0xdf4a88,'message':_0xdf4a88['message'],'stack':_0xdf4a88['stack'],'name':_0xdf4a88['name']}),_0x235c42?.['setActivityError'](_0xdf4a88['message']);throw _0xdf4a88;}finally{_0x235c42?.['endActivitySpan'](),this['logger']['debug']('activity-process-event-end',{'jid':_0x13fc13,'aid':_0x5f5eda});}}async['processPending'](_0xdca878){this['bindActivityData'](_0xdca878),this['adjacencyList']=await this['filterAdjacent'](),this['mapJobData']();const _0x3000ba=this['store']['getMulti']();return await this['setState'](_0x3000ba),await collator_1['CollatorService']['notarizeContinuation'](this,_0x3000ba),await this['setStatus'](this['adjacencyList']['length'],_0x3000ba),await _0x3000ba['exec']();}async['processSuccess'](_0x5029a5){this['bindActivityData'](_0x5029a5),this['adjacencyList']=await this['filterAdjacent'](),this['mapJobData']();const _0x2c2a1f=this['store']['getMulti']();return await this['setState'](_0x2c2a1f),await collator_1['CollatorService']['notarizeCompletion'](this,_0x2c2a1f),await this['setStatus'](this['adjacencyList']['length']-0x1,_0x2c2a1f),await _0x2c2a1f['exec']();}async['processError'](){this['bindActivityError'](this['data']),this['adjacencyList']=await this['filterAdjacent']();!this['adjacencyList']['length']&&this['bindJobError'](this['data']);this['mapJobData']();const _0x2aa981=this['store']['getMulti']();return await this['setState'](_0x2aa981),await collator_1['CollatorService']['notarizeCompletion'](this,_0x2aa981),await this['setStatus'](this['adjacencyList']['length']-0x1,_0x2aa981),await _0x2aa981['exec']();}async['transitionAdjacent'](_0x3f50b2,_0x4ee5f7){_0x4ee5f7['mapActivityAttributes']();const _0x43e444=this['resolveStatus'](_0x3f50b2),_0x2c1cc8={'app.job.jss':_0x43e444},_0x770918=await this['transition'](this['adjacencyList'],_0x43e444);_0x770918?.['length']&&(_0x2c1cc8['app.activity.mids']=_0x770918['join'](',')),_0x4ee5f7['setActivityAttributes'](_0x2c1cc8);}['resolveStatus'](_0x2f10bf){const _0x3a9c78=_0x2f10bf[_0x2f10bf['length']-0x1];return Array['isArray'](_0x3a9c78)?Number(_0x3a9c78[0x1]):Number(_0x3a9c78);}['mapJobData'](){if(this['config']['job']?.['maps']){const _0x175757=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['job']['maps']),this['context']),_0x5b1f16=_0x175757['mapRules']();if(_0x5b1f16)for(const _0x6ab1bd in _0x5b1f16){const _0x167f2b=_0x6ab1bd['indexOf']('[');if(_0x167f2b>-0x1){const _0x4b93c3=_0x6ab1bd['substring'](_0x167f2b+0x1)['split'](']')[0x0];if(!isNaN(Number(_0x4b93c3))){const _0x2b98f1=_0x6ab1bd['substring'](0x0,_0x167f2b);_0x5b1f16[_0x2b98f1]=_0x5b1f16[_0x6ab1bd],delete _0x5b1f16[_0x6ab1bd];}else{if(_0x4b93c3==='-'||_0x4b93c3==='_'){const _0x311661=_0x5b1f16[_0x6ab1bd];Object['keys'](_0x311661)['forEach'](_0x46433a=>{_0x5b1f16[_0x46433a]=_0x311661[_0x46433a];});}}}}this['context']['data']=_0x5b1f16;}}['mapInputData'](){if(this['config']['input']?.['maps']){const _0x46cd12=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['input']['maps']),this['context']);this['context']['data']=_0x46cd12['mapRules']();}}['mapOutputData'](){if(this['config']['output']?.['maps']){const _0x18ced0=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['output']['maps']),this['context']),_0x5689ce=_0x18ced0['mapRules'](),_0x630ed5=this['metadata']['aid'],_0x1f8b09={...this['context'][_0x630ed5]['output'],..._0x5689ce};this['context'][_0x630ed5]['output']['data']=_0x1f8b09;}}async['registerTimeout'](){}['bindActivityError'](_0x4b2be3){const _0x29bbdc=this['context'][this['metadata']['aid']]['output']['metadata'];_0x29bbdc['err']=JSON['stringify'](this['data']),_0x29bbdc['$error']={..._0x4b2be3,'is_stream_error':!![]};}['bindJobError'](_0x57d614){this['context']['metadata']['err']=JSON['stringify']({..._0x57d614,'is_stream_error':!![]});}async['getTriggerConfig'](){return await this['store']['getSchema'](this['config']['trigger'],await this['engine']['getVID']());}['getJobStatus'](){return null;}async['setStatus'](_0x2fd3db,_0x486a74){const {id:_0x273343}=await this['engine']['getVID']();return await this['store']['setStatus'](_0x2fd3db,this['context']['metadata']['jid'],_0x273343,_0x486a74);}['authorizeEntry'](_0x1fa1e1){return this['adjacencyList']?.['map'](_0x1cd2ca=>{const {metadata:{aid:_0x53da39}}=_0x1cd2ca;return _0x1fa1e1[_0x53da39+'/output/metadata/as']=collator_1['CollatorService']['getSeed'](),_0x53da39;})??[];}['bindDimensionalAddress'](_0x2a1112){const _0x54912c=this['resolveDad']();_0x2a1112[this['metadata']['aid']+'/output/metadata/dad']=_0x54912c;}async['setState'](_0x570c12){const _0xa976ff=this['context']['metadata']['jid'];this['bindJobMetadata'](),this['bindActivityMetadata']();const _0x2335a7={};await this['bindJobState'](_0x2335a7);const _0x327236=this['authorizeEntry'](_0x2335a7);this['bindDimensionalAddress'](_0x2335a7),this['bindActivityState'](_0x2335a7);const _0x22f236=['$'+this['config']['subscribes'],this['metadata']['aid'],..._0x327236],_0x1d3094=collator_1['CollatorService']['getDimensionsById']([...this['config']['ancestors'],this['metadata']['aid']],this['resolveDad']());return await this['store']['setState'](_0x2335a7,this['getJobStatus'](),_0xa976ff,_0x22f236,_0x1d3094,_0x570c12);}['bindJobMetadata'](){this['context']['metadata']['ju']=(0x0,utils_1['formatISODate'])(new Date());}['bindActivityMetadata'](){const _0x131004=this['context']['$self'];!_0x131004['output']['metadata']&&(_0x131004['output']['metadata']={});this['status']===stream_1['StreamStatus']['ERROR']&&(_0x131004['output']['metadata']['err']=JSON['stringify'](this['data']));const _0xddd5da=(0x0,utils_1['formatISODate'])(new Date());_0x131004['output']['metadata']['ac']=_0xddd5da,_0x131004['output']['metadata']['au']=_0xddd5da,_0x131004['output']['metadata']['atp']=this['config']['type'],this['config']['subtype']&&(_0x131004['output']['metadata']['stp']=this['config']['subtype']),_0x131004['output']['metadata']['aid']=this['metadata']['aid'];}async['bindJobState'](_0x1a71b6){const _0x7ba6ee=await this['getTriggerConfig'](),_0x14340a=[..._0x7ba6ee['PRODUCES']||[],...this['bindJobMetadataPaths']()];for(const _0x3bd077 of _0x14340a){const _0x52cc32=(0x0,utils_1['getValueByPath'])(this['context'],_0x3bd077);_0x52cc32!==undefined&&(_0x1a71b6[_0x3bd077]=_0x52cc32);}for(const _0x5209b2 in this['context']?.['data']??{}){(_0x5209b2['startsWith']('-')||_0x5209b2['startsWith']('_'))&&(_0x1a71b6[_0x5209b2]=this['context']['data'][_0x5209b2]);}telemetry_1['TelemetryService']['bindJobTelemetryToState'](_0x1a71b6,this['config'],this['context']);}['bindActivityState'](_0x1d9431){const _0x30e5b9=[...this['config']['produces'],...this['bindActivityMetadataPaths']()];for(const _0x539173 of _0x30e5b9){const _0x4b6e5f=this['metadata']['aid']+'/'+_0x539173,_0x5d3296=(0x0,utils_1['getValueByPath'])(this['context'],_0x4b6e5f);_0x5d3296!==undefined&&(_0x1d9431[_0x4b6e5f]=_0x5d3296);}telemetry_1['TelemetryService']['bindActivityTelemetryToState'](_0x1d9431,this['config'],this['metadata'],this['context'],this['leg']);}['bindJobMetadataPaths'](){return serializer_1['MDATA_SYMBOLS']['JOB_UPDATE']['KEYS']['map'](_0x5a70dc=>'metadata/'+_0x5a70dc);}['bindActivityMetadataPaths'](){const _0x3d4712=this['leg']===0x1?'ACTIVITY':'ACTIVITY_UPDATE';return serializer_1['MDATA_SYMBOLS'][_0x3d4712]['KEYS']['map'](_0x496e1b=>'output/metadata/'+_0x496e1b);}async['getState'](){const _0x46e483=this['context']['metadata']['gid'],_0x108e7c='$'+this['config']['subscribes'],_0x1c734e={[_0x108e7c]:serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['map'](_0x50ccb8=>'metadata/'+_0x50ccb8)};for(let [_0x2db636,_0x4aa80a]of Object['entries'](this['config']['consumes'])){if(_0x2db636==='$job')for(const _0x1faeef of _0x4aa80a){_0x1c734e[_0x108e7c]['push'](_0x1faeef);}else{_0x2db636==='$self'&&(_0x2db636=this['metadata']['aid']);!_0x1c734e[_0x2db636]&&(_0x1c734e[_0x2db636]=[]);for(const _0x265847 of _0x4aa80a){_0x1c734e[_0x2db636]['push'](_0x2db636+'/'+_0x265847);}}}telemetry_1['TelemetryService']['addTargetTelemetryPaths'](_0x1c734e,this['config'],this['metadata'],this['leg']);const {dad:_0x2c13c8,jid:_0xc65cea}=this['context']['metadata'],_0x484d73=collator_1['CollatorService']['getDimensionsById']([...this['config']['ancestors'],this['metadata']['aid']],_0x2c13c8||''),[_0x2b680b,_0x28f006]=await this['store']['getState'](_0xc65cea,_0x1c734e,_0x484d73);this['context']=(0x0,utils_1['restoreHierarchy'])(_0x2b680b),this['assertGenerationalId'](this['context']?.['metadata']?.['gid'],_0x46e483),this['initDimensionalAddress'](_0x2c13c8),this['initSelf'](this['context']),this['initPolicies'](this['context']);}['assertGenerationalId'](_0xd821ce,_0x400386){if(_0x400386!==_0xd821ce)throw new errors_1['GenerationalError'](_0xd821ce,_0x400386,this['context']?.['metadata']?.['jid']??'',this['context']?.['metadata']?.['aid']??'',this['context']?.['metadata']?.['dad']??'');}['initDimensionalAddress'](_0x331c1e){this['metadata']['dad']=_0x331c1e;}['initSelf'](_0x463f04){const _0x27cb86=this['metadata']['aid'];!_0x463f04[_0x27cb86]&&(_0x463f04[_0x27cb86]={});const _0x466590=_0x463f04[_0x27cb86];return!_0x466590['output']&&(_0x466590['output']={}),!_0x466590['input']&&(_0x466590['input']={}),!_0x466590['hook']&&(_0x466590['hook']={}),!_0x466590['output']['metadata']&&(_0x466590['output']['metadata']={}),_0x466590['output']['metadata']['au']=(0x0,utils_1['formatISODate'])(new Date()),_0x463f04['$self']=_0x466590,_0x463f04['$job']=_0x463f04,_0x463f04;}['initPolicies'](_0xf467ac){const _0x4c47b2=pipe_1['Pipe']['resolve'](this['config']['expire']??enums_1['HMSH_EXPIRE_DURATION'],_0xf467ac);_0xf467ac['metadata']['expire']=_0x4c47b2;if(this['config']['persistent']!=undefined){const _0x32f74e=pipe_1['Pipe']['resolve'](this['config']['persistent']??![],_0xf467ac);_0xf467ac['metadata']['persistent']=_0x32f74e;}}['bindActivityData'](_0x26ff39){this['context'][this['metadata']['aid']][_0x26ff39]['data']=this['data'];}['resolveDad'](){let _0x4670a8=this['metadata']['dad'];return this['adjacentIndex']>0x0&&(_0x4670a8=_0x4670a8['substring'](0x0,_0x4670a8['lastIndexOf'](','))+','+this['adjacentIndex']),_0x4670a8;}['resolveAdjacentDad'](){return''+this['resolveDad']()+collator_1['CollatorService']['getDimensionalSeed'](0x0);}async['filterAdjacent'](){const _0x889a38=[],_0x5f1b9a=await this['store']['getTransitions'](await this['engine']['getVID']()),_0x4590d1=_0x5f1b9a['.'+this['metadata']['aid']],_0x28d2e5=this['resolveAdjacentDad']();if(_0x4590d1)for(const _0x2452b1 in _0x4590d1){const _0x29093f=_0x4590d1[_0x2452b1];mapper_1['MapperService']['evaluate'](_0x29093f,this['context'],this['code'])&&_0x889a38['push']({'metadata':{'guid':(0x0,utils_1['guid'])(),'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'dad':_0x28d2e5,'aid':_0x2452b1,'spn':this['context']['$self']['output']['metadata']?.['l2s'],'trc':this['context']['metadata']['trc']},'type':stream_1['StreamDataType']['TRANSITION'],'data':{}});}return _0x889a38;}['isJobComplete'](_0x18db98){return _0x18db98<=0x0;}['shouldEmit'](){if(this['config']['emit'])return pipe_1['Pipe']['resolve'](this['config']['emit'],this['context'])===!![];return![];}['shouldPersistJob'](){if(this['config']['persist']!==undefined)return pipe_1['Pipe']['resolve'](this['config']['persist'],this['context'])===!![];return![];}async['transition'](_0x5462cb,_0x4f28c5){if(this['jobWasInterrupted'](_0x4f28c5))return;let _0x2a8437=[];(this['shouldEmit']()||this['isJobComplete'](_0x4f28c5)||this['shouldPersistJob']())&&await this['engine']['runJobCompletionTasks'](this['context'],{'emit':!this['isJobComplete'](_0x4f28c5)&&!this['shouldPersistJob']()});if(_0x5462cb['length']&&!this['isJobComplete'](_0x4f28c5)){const _0x4683a4=this['store']['getMulti']();for(const _0x236827 of _0x5462cb){await this['engine']['router']?.['publishMessage'](null,_0x236827,_0x4683a4);}_0x2a8437=await _0x4683a4['exec']();}return _0x2a8437;}['jobWasInterrupted'](_0x4fd1da){return _0x4fd1da<-0x5f5e100;}}exports['Activity']=Activity;
1
+ 'use strict';(function(_0x5415e1,_0x34a6da){const _0x21de69=_0x45d6,_0x46ef7f=_0x5415e1();while(!![]){try{const _0x1e94a3=parseInt(_0x21de69(0x93))/0x1*(-parseInt(_0x21de69(0x8f))/0x2)+parseInt(_0x21de69(0x95))/0x3*(-parseInt(_0x21de69(0x8d))/0x4)+-parseInt(_0x21de69(0x91))/0x5*(-parseInt(_0x21de69(0x96))/0x6)+parseInt(_0x21de69(0x8e))/0x7*(parseInt(_0x21de69(0x97))/0x8)+-parseInt(_0x21de69(0x92))/0x9*(-parseInt(_0x21de69(0x94))/0xa)+-parseInt(_0x21de69(0x90))/0xb+parseInt(_0x21de69(0x8c))/0xc;if(_0x1e94a3===_0x34a6da)break;else _0x46ef7f['push'](_0x46ef7f['shift']());}catch(_0x3d88a2){_0x46ef7f['push'](_0x46ef7f['shift']());}}}(_0x3362,0xb6c83));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['Activity']=void 0x0;const enums_1=require('../../modules/enums'),errors_1=require('../../modules/errors'),utils_1=require('../../modules/utils'),collator_1=require('../collator'),mapper_1=require('../mapper'),pipe_1=require('../pipe'),serializer_1=require('../serializer'),telemetry_1=require('../telemetry'),stream_1=require('../../types/stream');function _0x3362(){const _0x574214=['1550517OxhaOu','1038VxzUFB','16rLTNjn','23829612scVjuF','4nKyrpT','4345411LakMSY','23150hcYUjA','9536989KwAvWp','8290onjGmj','9YAJjfQ','125DADddz','652070qSVJhP'];_0x3362=function(){return _0x574214;};return _0x3362();}class Activity{constructor(_0x40b5e6,_0x3ae50f,_0x3771bf,_0x56b4e4,_0x345da5,_0x487186){this['status']=stream_1['StreamStatus']['SUCCESS'],this['code']=0xc8,this['adjacentIndex']=0x0,this['config']=_0x40b5e6,this['data']=_0x3ae50f,this['metadata']=_0x3771bf,this['hook']=_0x56b4e4,this['engine']=_0x345da5,this['context']=_0x487186||{'data':{},'metadata':{}},this['logger']=_0x345da5['logger'],this['store']=_0x345da5['store'];}['setLeg'](_0x13d328){this['leg']=_0x13d328;}['mapStatusThreshold'](){if(this['config']['statusThreshold']!==undefined){const _0x22b613=pipe_1['Pipe']['resolve'](this['config']['statusThreshold'],this['context']);if(_0x22b613!==undefined&&!isNaN(Number(_0x22b613)))return _0x22b613;}return 0x0;}async['verifyEntry'](){this['setLeg'](0x1),await this['getState']();const _0x52c6d7=this['mapStatusThreshold']();try{collator_1['CollatorService']['assertJobActive'](this['context']['metadata']['js'],this['context']['metadata']['jid'],this['metadata']['aid'],_0x52c6d7);}catch(_0x19b74f){await collator_1['CollatorService']['notarizeEntry'](this);if(_0x52c6d7>0x0){if(this['context']['metadata']['js']===_0x52c6d7){const _0x5a0939=await this['setStatus'](-_0x52c6d7);Number(_0x5a0939)===0x0&&await this['engine']['runJobCompletionTasks'](this['context']);}}else throw _0x19b74f;return;}await collator_1['CollatorService']['notarizeEntry'](this);}async['verifyReentry'](){const _0x335c5b=this['context']['metadata']['guid'];return this['setLeg'](0x2),await this['getState'](),collator_1['CollatorService']['assertJobActive'](this['context']['metadata']['js'],this['context']['metadata']['jid'],this['metadata']['aid']),await collator_1['CollatorService']['notarizeReentry'](this,_0x335c5b);}async['processEvent'](_0x13f540=stream_1['StreamStatus']['SUCCESS'],_0x4114f1=0xc8,_0x5bbbd7='output'){this['setLeg'](0x2);const _0x339ef8=this['context']['metadata']['jid'];if(!_0x339ef8){this['logger']['error']('activity-process-event-error',{'message':'job\x20id\x20is\x20undefined'});return;}const _0x230432=this['metadata']['aid'];this['status']=_0x13f540,this['code']=_0x4114f1,this['logger']['debug']('activity-process-event',{'topic':this['config']['subtype'],'jid':_0x339ef8,'aid':_0x230432,'status':_0x13f540,'code':_0x4114f1});let _0x58d62f;try{const _0x14cb0b=await this['verifyReentry']();this['adjacentIndex']=collator_1['CollatorService']['getDimensionalIndex'](_0x14cb0b),_0x58d62f=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0x58d62f['startActivitySpan'](this['leg']);let _0x356623;if(_0x13f540===stream_1['StreamStatus']['PENDING'])_0x356623=await this['processPending'](_0x5bbbd7);else _0x13f540===stream_1['StreamStatus']['SUCCESS']?_0x356623=await this['processSuccess'](_0x5bbbd7):_0x356623=await this['processError']();this['transitionAdjacent'](_0x356623,_0x58d62f);}catch(_0x46a8c6){if(_0x46a8c6 instanceof errors_1['CollationError']){this['logger']['info']('process-event-'+_0x46a8c6['fault']+'-error',{..._0x46a8c6});return;}else{if(_0x46a8c6 instanceof errors_1['InactiveJobError']){this['logger']['info']('process-event-inactive-job-error',{..._0x46a8c6});return;}else{if(_0x46a8c6 instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0x46a8c6});return;}else{if(_0x46a8c6 instanceof errors_1['GetStateError']){this['logger']['info']('process-event-get-job-error',{..._0x46a8c6});return;}}}}this['logger']['error']('activity-process-event-error',{..._0x46a8c6,'message':_0x46a8c6['message'],'stack':_0x46a8c6['stack'],'name':_0x46a8c6['name']}),_0x58d62f?.['setActivityError'](_0x46a8c6['message']);throw _0x46a8c6;}finally{_0x58d62f?.['endActivitySpan'](),this['logger']['debug']('activity-process-event-end',{'jid':_0x339ef8,'aid':_0x230432});}}async['processPending'](_0xa5ee82){this['bindActivityData'](_0xa5ee82),this['adjacencyList']=await this['filterAdjacent'](),this['mapJobData']();const _0x25959e=this['store']['transact']();return await this['setState'](_0x25959e),await collator_1['CollatorService']['notarizeContinuation'](this,_0x25959e),await this['setStatus'](this['adjacencyList']['length'],_0x25959e),await _0x25959e['exec']();}async['processSuccess'](_0xbe3205){this['bindActivityData'](_0xbe3205),this['adjacencyList']=await this['filterAdjacent'](),this['mapJobData']();const _0x4c55f4=this['store']['transact']();return await this['setState'](_0x4c55f4),await collator_1['CollatorService']['notarizeCompletion'](this,_0x4c55f4),await this['setStatus'](this['adjacencyList']['length']-0x1,_0x4c55f4),await _0x4c55f4['exec']();}async['processError'](){this['bindActivityError'](this['data']),this['adjacencyList']=await this['filterAdjacent']();!this['adjacencyList']['length']&&this['bindJobError'](this['data']);this['mapJobData']();const _0x1acfe7=this['store']['transact']();return await this['setState'](_0x1acfe7),await collator_1['CollatorService']['notarizeCompletion'](this,_0x1acfe7),await this['setStatus'](this['adjacencyList']['length']-0x1,_0x1acfe7),await _0x1acfe7['exec']();}async['transitionAdjacent'](_0x4626c4,_0x129142){_0x129142['mapActivityAttributes']();const _0x591579=this['resolveStatus'](_0x4626c4),_0x10732a={'app.job.jss':_0x591579},_0x228af7=await this['transition'](this['adjacencyList'],_0x591579);_0x228af7?.['length']&&(_0x10732a['app.activity.mids']=_0x228af7['join'](',')),_0x129142['setActivityAttributes'](_0x10732a);}['resolveStatus'](_0x3b7a0c){const _0x525cea=_0x3b7a0c[_0x3b7a0c['length']-0x1];return Array['isArray'](_0x525cea)?Number(_0x525cea[0x1]):Number(_0x525cea);}['mapJobData'](){if(this['config']['job']?.['maps']){const _0x56de90=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['job']['maps']),this['context']),_0x4a8478=_0x56de90['mapRules']();if(_0x4a8478)for(const _0x1c3e3c in _0x4a8478){const _0x44eaa1=_0x1c3e3c['indexOf']('[');if(_0x44eaa1>-0x1){const _0x13094c=_0x1c3e3c['substring'](_0x44eaa1+0x1)['split'](']')[0x0];if(!isNaN(Number(_0x13094c))){const _0xf6a10a=_0x1c3e3c['substring'](0x0,_0x44eaa1);_0x4a8478[_0xf6a10a]=_0x4a8478[_0x1c3e3c],delete _0x4a8478[_0x1c3e3c];}else{if(_0x13094c==='-'||_0x13094c==='_'){const _0x508a29=_0x4a8478[_0x1c3e3c];Object['keys'](_0x508a29)['forEach'](_0x381ad1=>{_0x4a8478[_0x381ad1]=_0x508a29[_0x381ad1];});}}}}this['context']['data']=_0x4a8478;}}['mapInputData'](){if(this['config']['input']?.['maps']){const _0x18c9a1=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['input']['maps']),this['context']);this['context']['data']=_0x18c9a1['mapRules']();}}['mapOutputData'](){if(this['config']['output']?.['maps']){const _0x3baf96=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['output']['maps']),this['context']),_0x331472=_0x3baf96['mapRules'](),_0x38d8df=this['metadata']['aid'],_0x55f00f={...this['context'][_0x38d8df]['output'],..._0x331472};this['context'][_0x38d8df]['output']['data']=_0x55f00f;}}async['registerTimeout'](){}['bindActivityError'](_0x213bfc){const _0x506bad=this['context'][this['metadata']['aid']]['output']['metadata'];_0x506bad['err']=JSON['stringify'](this['data']),_0x506bad['$error']={..._0x213bfc,'is_stream_error':!![]};}['bindJobError'](_0x34650d){this['context']['metadata']['err']=JSON['stringify']({..._0x34650d,'is_stream_error':!![]});}async['getTriggerConfig'](){return await this['store']['getSchema'](this['config']['trigger'],await this['engine']['getVID']());}['getJobStatus'](){return null;}async['setStatus'](_0xe7f167,_0x4dcbd6){const {id:_0x2dfd9c}=await this['engine']['getVID']();return await this['store']['setStatus'](_0xe7f167,this['context']['metadata']['jid'],_0x2dfd9c,_0x4dcbd6);}['authorizeEntry'](_0x3761bb){return this['adjacencyList']?.['map'](_0x57f23f=>{const {metadata:{aid:_0x252ee}}=_0x57f23f;return _0x3761bb[_0x252ee+'/output/metadata/as']=collator_1['CollatorService']['getSeed'](),_0x252ee;})??[];}['bindDimensionalAddress'](_0x36c75e){const _0x3e6e59=this['resolveDad']();_0x36c75e[this['metadata']['aid']+'/output/metadata/dad']=_0x3e6e59;}async['setState'](_0xc21dca){const _0x104beb=this['context']['metadata']['jid'];this['bindJobMetadata'](),this['bindActivityMetadata']();const _0x58238d={};await this['bindJobState'](_0x58238d);const _0x4d794e=this['authorizeEntry'](_0x58238d);this['bindDimensionalAddress'](_0x58238d),this['bindActivityState'](_0x58238d);const _0x3c3ebb=['$'+this['config']['subscribes'],this['metadata']['aid'],..._0x4d794e],_0x52556c=collator_1['CollatorService']['getDimensionsById']([...this['config']['ancestors'],this['metadata']['aid']],this['resolveDad']());return await this['store']['setState'](_0x58238d,this['getJobStatus'](),_0x104beb,_0x3c3ebb,_0x52556c,_0xc21dca);}['bindJobMetadata'](){this['context']['metadata']['ju']=(0x0,utils_1['formatISODate'])(new Date());}['bindActivityMetadata'](){const _0x2f5887=this['context']['$self'];!_0x2f5887['output']['metadata']&&(_0x2f5887['output']['metadata']={});this['status']===stream_1['StreamStatus']['ERROR']&&(_0x2f5887['output']['metadata']['err']=JSON['stringify'](this['data']));const _0x5ed982=(0x0,utils_1['formatISODate'])(new Date());_0x2f5887['output']['metadata']['ac']=_0x5ed982,_0x2f5887['output']['metadata']['au']=_0x5ed982,_0x2f5887['output']['metadata']['atp']=this['config']['type'],this['config']['subtype']&&(_0x2f5887['output']['metadata']['stp']=this['config']['subtype']),_0x2f5887['output']['metadata']['aid']=this['metadata']['aid'];}async['bindJobState'](_0x48141e){const _0x5cce6b=await this['getTriggerConfig'](),_0x522396=[..._0x5cce6b['PRODUCES']||[],...this['bindJobMetadataPaths']()];for(const _0x8a974c of _0x522396){const _0x5252f6=(0x0,utils_1['getValueByPath'])(this['context'],_0x8a974c);_0x5252f6!==undefined&&(_0x48141e[_0x8a974c]=_0x5252f6);}for(const _0x9b9f1f in this['context']?.['data']??{}){(_0x9b9f1f['startsWith']('-')||_0x9b9f1f['startsWith']('_'))&&(_0x48141e[_0x9b9f1f]=this['context']['data'][_0x9b9f1f]);}telemetry_1['TelemetryService']['bindJobTelemetryToState'](_0x48141e,this['config'],this['context']);}['bindActivityState'](_0x4b9ec2){const _0x14525f=[...this['config']['produces'],...this['bindActivityMetadataPaths']()];for(const _0x311c71 of _0x14525f){const _0x21524b=this['metadata']['aid']+'/'+_0x311c71,_0x5410fe=(0x0,utils_1['getValueByPath'])(this['context'],_0x21524b);_0x5410fe!==undefined&&(_0x4b9ec2[_0x21524b]=_0x5410fe);}telemetry_1['TelemetryService']['bindActivityTelemetryToState'](_0x4b9ec2,this['config'],this['metadata'],this['context'],this['leg']);}['bindJobMetadataPaths'](){return serializer_1['MDATA_SYMBOLS']['JOB_UPDATE']['KEYS']['map'](_0x9e6216=>'metadata/'+_0x9e6216);}['bindActivityMetadataPaths'](){const _0x255689=this['leg']===0x1?'ACTIVITY':'ACTIVITY_UPDATE';return serializer_1['MDATA_SYMBOLS'][_0x255689]['KEYS']['map'](_0x52d730=>'output/metadata/'+_0x52d730);}async['getState'](){const _0x31c976=this['context']['metadata']['gid'],_0x2e821b='$'+this['config']['subscribes'],_0xc3f511={[_0x2e821b]:serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['map'](_0x17d968=>'metadata/'+_0x17d968)};for(let [_0x271c94,_0xd56dc]of Object['entries'](this['config']['consumes'])){if(_0x271c94==='$job')for(const _0x856071 of _0xd56dc){_0xc3f511[_0x2e821b]['push'](_0x856071);}else{_0x271c94==='$self'&&(_0x271c94=this['metadata']['aid']);!_0xc3f511[_0x271c94]&&(_0xc3f511[_0x271c94]=[]);for(const _0x269271 of _0xd56dc){_0xc3f511[_0x271c94]['push'](_0x271c94+'/'+_0x269271);}}}telemetry_1['TelemetryService']['addTargetTelemetryPaths'](_0xc3f511,this['config'],this['metadata'],this['leg']);const {dad:_0x401c79,jid:_0x5801b2}=this['context']['metadata'],_0x31e6d3=collator_1['CollatorService']['getDimensionsById']([...this['config']['ancestors'],this['metadata']['aid']],_0x401c79||''),[_0xe91adf,_0x153966]=await this['store']['getState'](_0x5801b2,_0xc3f511,_0x31e6d3);this['context']=(0x0,utils_1['restoreHierarchy'])(_0xe91adf),this['assertGenerationalId'](this['context']?.['metadata']?.['gid'],_0x31c976),this['initDimensionalAddress'](_0x401c79),this['initSelf'](this['context']),this['initPolicies'](this['context']);}['assertGenerationalId'](_0x5be2c5,_0x51cd32){if(_0x51cd32!==_0x5be2c5)throw new errors_1['GenerationalError'](_0x5be2c5,_0x51cd32,this['context']?.['metadata']?.['jid']??'',this['context']?.['metadata']?.['aid']??'',this['context']?.['metadata']?.['dad']??'');}['initDimensionalAddress'](_0x4afad4){this['metadata']['dad']=_0x4afad4;}['initSelf'](_0x2dae96){const _0x45238f=this['metadata']['aid'];!_0x2dae96[_0x45238f]&&(_0x2dae96[_0x45238f]={});const _0x4f135d=_0x2dae96[_0x45238f];return!_0x4f135d['output']&&(_0x4f135d['output']={}),!_0x4f135d['input']&&(_0x4f135d['input']={}),!_0x4f135d['hook']&&(_0x4f135d['hook']={}),!_0x4f135d['output']['metadata']&&(_0x4f135d['output']['metadata']={}),_0x4f135d['output']['metadata']['au']=(0x0,utils_1['formatISODate'])(new Date()),_0x2dae96['$self']=_0x4f135d,_0x2dae96['$job']=_0x2dae96,_0x2dae96;}['initPolicies'](_0x367216){const _0x47ef13=pipe_1['Pipe']['resolve'](this['config']['expire']??enums_1['HMSH_EXPIRE_DURATION'],_0x367216);_0x367216['metadata']['expire']=_0x47ef13;if(this['config']['persistent']!=undefined){const _0xbaf167=pipe_1['Pipe']['resolve'](this['config']['persistent']??![],_0x367216);_0x367216['metadata']['persistent']=_0xbaf167;}}['bindActivityData'](_0x5b26f6){this['context'][this['metadata']['aid']][_0x5b26f6]['data']=this['data'];}['resolveDad'](){let _0x225d85=this['metadata']['dad'];return this['adjacentIndex']>0x0&&(_0x225d85=_0x225d85['substring'](0x0,_0x225d85['lastIndexOf'](','))+','+this['adjacentIndex']),_0x225d85;}['resolveAdjacentDad'](){return''+this['resolveDad']()+collator_1['CollatorService']['getDimensionalSeed'](0x0);}async['filterAdjacent'](){const _0x12936f=[],_0x3872ae=await this['store']['getTransitions'](await this['engine']['getVID']()),_0x1c723b=_0x3872ae['.'+this['metadata']['aid']],_0x3d4ff6=this['resolveAdjacentDad']();if(_0x1c723b)for(const _0x538398 in _0x1c723b){const _0x5d764b=_0x1c723b[_0x538398];mapper_1['MapperService']['evaluate'](_0x5d764b,this['context'],this['code'])&&_0x12936f['push']({'metadata':{'guid':(0x0,utils_1['guid'])(),'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'dad':_0x3d4ff6,'aid':_0x538398,'spn':this['context']['$self']['output']['metadata']?.['l2s'],'trc':this['context']['metadata']['trc']},'type':stream_1['StreamDataType']['TRANSITION'],'data':{}});}return _0x12936f;}['isJobComplete'](_0x25113d){return _0x25113d<=0x0;}['shouldEmit'](){if(this['config']['emit'])return pipe_1['Pipe']['resolve'](this['config']['emit'],this['context'])===!![];return![];}['shouldPersistJob'](){if(this['config']['persist']!==undefined)return pipe_1['Pipe']['resolve'](this['config']['persist'],this['context'])===!![];return![];}async['transition'](_0xa926e8,_0x36f354){if(this['jobWasInterrupted'](_0x36f354))return;let _0x2b17ca=[];(this['shouldEmit']()||this['isJobComplete'](_0x36f354)||this['shouldPersistJob']())&&await this['engine']['runJobCompletionTasks'](this['context'],{'emit':!this['isJobComplete'](_0x36f354)&&!this['shouldPersistJob']()});if(_0xa926e8['length']&&!this['isJobComplete'](_0x36f354)){const _0x364278=this['store']['transact']();for(const _0xbeb5a6 of _0xa926e8){await this['engine']['router']?.['publishMessage'](null,_0xbeb5a6,_0x364278);}_0x2b17ca=await _0x364278['exec']();}return _0x2b17ca;}['jobWasInterrupted'](_0x4937bd){return _0x4937bd<-0x5f5e100;}}function _0x45d6(_0x41e94e,_0x761c91){const _0x3362b4=_0x3362();return _0x45d6=function(_0x45d66e,_0x524d9f){_0x45d66e=_0x45d66e-0x8c;let _0x46dc31=_0x3362b4[_0x45d66e];return _0x46dc31;},_0x45d6(_0x41e94e,_0x761c91);}exports['Activity']=Activity;
@@ -1,12 +1,12 @@
1
1
  import { EngineService } from '../engine';
2
2
  import { ActivityData, ActivityMetadata, AwaitActivity, ActivityType } from '../../types/activity';
3
+ import { ProviderTransaction } from '../../types/provider';
3
4
  import { JobState } from '../../types/job';
4
- import { RedisMulti } from '../../types/redis';
5
5
  import { Activity } from './activity';
6
6
  declare class Await extends Activity {
7
7
  config: AwaitActivity;
8
8
  constructor(config: ActivityType, data: ActivityData, metadata: ActivityMetadata, hook: ActivityData | null, engine: EngineService, context?: JobState);
9
9
  process(): Promise<string>;
10
- execActivity(multi: RedisMulti): Promise<string>;
10
+ execActivity(transaction: ProviderTransaction): Promise<string>;
11
11
  }
12
12
  export { Await };
@@ -1 +1 @@
1
- 'use strict';(function(_0x4f7604,_0x26aff9){const _0x4e1448=_0xd5be,_0x40f651=_0x4f7604();while(!![]){try{const _0x4cd016=-parseInt(_0x4e1448(0xfd))/0x1*(-parseInt(_0x4e1448(0xfe))/0x2)+parseInt(_0x4e1448(0x103))/0x3*(parseInt(_0x4e1448(0xfc))/0x4)+-parseInt(_0x4e1448(0x106))/0x5+parseInt(_0x4e1448(0x102))/0x6*(parseInt(_0x4e1448(0x100))/0x7)+parseInt(_0x4e1448(0x101))/0x8+-parseInt(_0x4e1448(0xff))/0x9+-parseInt(_0x4e1448(0x105))/0xa*(parseInt(_0x4e1448(0x104))/0xb);if(_0x4cd016===_0x26aff9)break;else _0x40f651['push'](_0x40f651['shift']());}catch(_0x528b8c){_0x40f651['push'](_0x40f651['shift']());}}}(_0x12bd,0xe5347));function _0x12bd(){const _0x41e2c2=['7760968jeLmXA','5255364rFRFXk','255bLshCk','46123pcSqpd','5020xpOpbo','3960325OPRCPG','44684fgiHNR','1438768FDzHUC','2sxIJUd','3586896kDbEVR','7rWYJHt'];_0x12bd=function(){return _0x41e2c2;};return _0x12bd();}function _0xd5be(_0x3fb791,_0x37f0a8){const _0x12bd99=_0x12bd();return _0xd5be=function(_0xd5beda,_0x4cdee6){_0xd5beda=_0xd5beda-0xfc;let _0x55583d=_0x12bd99[_0xd5beda];return _0x55583d;},_0xd5be(_0x3fb791,_0x37f0a8);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['Await']=void 0x0;const errors_1=require('../../modules/errors'),utils_1=require('../../modules/utils'),collator_1=require('../collator'),pipe_1=require('../pipe'),telemetry_1=require('../telemetry'),stream_1=require('../../types/stream'),activity_1=require('./activity');class Await extends activity_1['Activity']{constructor(_0x369ba0,_0x42d250,_0x4b2c3a,_0x4c9b38,_0xb09480,_0x40b7c3){super(_0x369ba0,_0x42d250,_0x4b2c3a,_0x4c9b38,_0xb09480,_0x40b7c3);}async['process'](){this['logger']['debug']('await-process',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});let _0x1efa89;try{await this['verifyEntry'](),_0x1efa89=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0x1efa89['startActivitySpan'](this['leg']),this['mapInputData']();const _0x3af7dc=this['store']['getMulti'](),_0x22e848=await this['execActivity'](_0x3af7dc);await collator_1['CollatorService']['authorizeReentry'](this,_0x3af7dc),await this['setState'](_0x3af7dc),await this['setStatus'](0x0,_0x3af7dc);const _0x2e29d9=await _0x3af7dc['exec']();_0x1efa89['mapActivityAttributes']();const _0x1cb660=this['resolveStatus'](_0x2e29d9);return _0x1efa89['setActivityAttributes']({'app.activity.mid':_0x22e848,'app.job.jss':_0x1cb660}),this['context']['metadata']['aid'];}catch(_0x129169){if(_0x129169 instanceof errors_1['InactiveJobError']){this['logger']['error']('await-inactive-job-error',{..._0x129169});return;}else{if(_0x129169 instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0x129169});return;}else{if(_0x129169 instanceof errors_1['GetStateError']){this['logger']['error']('await-get-state-error',{..._0x129169});return;}else{if(_0x129169 instanceof errors_1['CollationError']){if(_0x129169['fault']==='duplicate'){this['logger']['info']('await-collation-overage',{'job_id':this['context']['metadata']['jid'],'guid':this['context']['metadata']['guid']});return;}this['logger']['error']('await-collation-error',{..._0x129169});}else this['logger']['error']('await-process-error',{..._0x129169});}}}_0x1efa89?.['setActivityError'](_0x129169['message']);throw _0x129169;}finally{_0x1efa89?.['endActivitySpan'](),this['logger']['debug']('await-process-end',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});}}async['execActivity'](_0x33d3fa){const _0xb2e6a=pipe_1['Pipe']['resolve'](this['config']['subtype'],this['context']),_0x3d0837={'metadata':{'guid':(0x0,utils_1['guid'])(),'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'dad':this['metadata']['dad'],'aid':this['metadata']['aid'],'topic':_0xb2e6a,'spn':this['context']['$self']['output']['metadata']?.['l1s'],'trc':this['context']['metadata']['trc']},'type':stream_1['StreamDataType']['AWAIT'],'data':this['context']['data']};if(this['config']['await']!==!![]){const _0x232e98=pipe_1['Pipe']['resolve'](this['config']['await'],this['context']);_0x232e98===![]&&(_0x3d0837['metadata']['await']=![]);}return this['config']['retry']&&(_0x3d0837['policies']={'retry':this['config']['retry']}),await this['engine']['router']?.['publishMessage'](null,_0x3d0837,_0x33d3fa);}}exports['Await']=Await;
1
+ 'use strict';(function(_0x32ef98,_0x26ddaf){const _0x8ffb5f=_0x3d3d,_0x3c11aa=_0x32ef98();while(!![]){try{const _0xa5f4f1=parseInt(_0x8ffb5f(0x1ae))/0x1*(-parseInt(_0x8ffb5f(0x1b1))/0x2)+parseInt(_0x8ffb5f(0x1b6))/0x3+parseInt(_0x8ffb5f(0x1b3))/0x4+-parseInt(_0x8ffb5f(0x1b0))/0x5*(-parseInt(_0x8ffb5f(0x1b5))/0x6)+parseInt(_0x8ffb5f(0x1b8))/0x7*(parseInt(_0x8ffb5f(0x1b4))/0x8)+parseInt(_0x8ffb5f(0x1b7))/0x9*(parseInt(_0x8ffb5f(0x1b2))/0xa)+-parseInt(_0x8ffb5f(0x1af))/0xb;if(_0xa5f4f1===_0x26ddaf)break;else _0x3c11aa['push'](_0x3c11aa['shift']());}catch(_0x268fb7){_0x3c11aa['push'](_0x3c11aa['shift']());}}}(_0x40e3,0x6118b));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['Await']=void 0x0;const errors_1=require('../../modules/errors'),utils_1=require('../../modules/utils'),collator_1=require('../collator'),pipe_1=require('../pipe'),telemetry_1=require('../telemetry'),stream_1=require('../../types/stream'),activity_1=require('./activity');class Await extends activity_1['Activity']{constructor(_0x30ca8d,_0x53b131,_0x4327e0,_0x3cf304,_0x35aeb3,_0x4fa814){super(_0x30ca8d,_0x53b131,_0x4327e0,_0x3cf304,_0x35aeb3,_0x4fa814);}async['process'](){this['logger']['debug']('await-process',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});let _0x21c6ad;try{await this['verifyEntry'](),_0x21c6ad=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0x21c6ad['startActivitySpan'](this['leg']),this['mapInputData']();const _0x4c4298=this['store']['transact'](),_0x35cf19=await this['execActivity'](_0x4c4298);await collator_1['CollatorService']['authorizeReentry'](this,_0x4c4298),await this['setState'](_0x4c4298),await this['setStatus'](0x0,_0x4c4298);const _0xce1af1=await _0x4c4298['exec']();_0x21c6ad['mapActivityAttributes']();const _0x5caec3=this['resolveStatus'](_0xce1af1);return _0x21c6ad['setActivityAttributes']({'app.activity.mid':_0x35cf19,'app.job.jss':_0x5caec3}),this['context']['metadata']['aid'];}catch(_0x4828ee){if(_0x4828ee instanceof errors_1['InactiveJobError']){this['logger']['error']('await-inactive-job-error',{..._0x4828ee});return;}else{if(_0x4828ee instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0x4828ee});return;}else{if(_0x4828ee instanceof errors_1['GetStateError']){this['logger']['error']('await-get-state-error',{..._0x4828ee});return;}else{if(_0x4828ee instanceof errors_1['CollationError']){if(_0x4828ee['fault']==='duplicate'){this['logger']['info']('await-collation-overage',{'job_id':this['context']['metadata']['jid'],'guid':this['context']['metadata']['guid']});return;}this['logger']['error']('await-collation-error',{..._0x4828ee});}else this['logger']['error']('await-process-error',{..._0x4828ee});}}}_0x21c6ad?.['setActivityError'](_0x4828ee['message']);throw _0x4828ee;}finally{_0x21c6ad?.['endActivitySpan'](),this['logger']['debug']('await-process-end',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});}}async['execActivity'](_0x28167c){const _0x5cd5c4=pipe_1['Pipe']['resolve'](this['config']['subtype'],this['context']),_0x343e66={'metadata':{'guid':(0x0,utils_1['guid'])(),'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'dad':this['metadata']['dad'],'aid':this['metadata']['aid'],'topic':_0x5cd5c4,'spn':this['context']['$self']['output']['metadata']?.['l1s'],'trc':this['context']['metadata']['trc']},'type':stream_1['StreamDataType']['AWAIT'],'data':this['context']['data']};if(this['config']['await']!==!![]){const _0x18d0de=pipe_1['Pipe']['resolve'](this['config']['await'],this['context']);_0x18d0de===![]&&(_0x343e66['metadata']['await']=![]);}return this['config']['retry']&&(_0x343e66['policies']={'retry':this['config']['retry']}),await this['engine']['router']?.['publishMessage'](null,_0x343e66,_0x28167c);}}function _0x40e3(){const _0x1973dc=['313434AddLDu','2060361fwToOJ','35VNrmYW','24641ENHSwP','12651815IkHXyD','15AXhAAh','10NIDfNC','20BeFdkc','282380SiXEUw','1087664akNuTD','716712WeqUhN'];_0x40e3=function(){return _0x1973dc;};return _0x40e3();}function _0x3d3d(_0x7392b1,_0x591ba0){const _0x40e32f=_0x40e3();return _0x3d3d=function(_0x3d3d8d,_0x1133e0){_0x3d3d8d=_0x3d3d8d-0x1ae;let _0x9893c2=_0x40e32f[_0x3d3d8d];return _0x9893c2;},_0x3d3d(_0x7392b1,_0x591ba0);}exports['Await']=Await;
@@ -1,12 +1,12 @@
1
1
  import { EngineService } from '../engine';
2
2
  import { ActivityData, ActivityMetadata, ActivityType, CycleActivity } from '../../types/activity';
3
+ import { ProviderTransaction } from '../../types/provider';
3
4
  import { JobState } from '../../types/job';
4
- import { RedisMulti } from '../../types/redis';
5
5
  import { Activity } from './activity';
6
6
  declare class Cycle extends Activity {
7
7
  config: CycleActivity;
8
8
  constructor(config: ActivityType, data: ActivityData, metadata: ActivityMetadata, hook: ActivityData | null, engine: EngineService, context?: JobState);
9
9
  process(): Promise<string>;
10
- cycleAncestorActivity(multi: RedisMulti): Promise<string>;
10
+ cycleAncestorActivity(transaction: ProviderTransaction): Promise<string>;
11
11
  }
12
12
  export { Cycle };
@@ -1 +1 @@
1
- 'use strict';(function(_0x250934,_0xb6528b){const _0x1fe395=_0x3b39,_0x15a5ac=_0x250934();while(!![]){try{const _0x4ad532=-parseInt(_0x1fe395(0x1df))/0x1+parseInt(_0x1fe395(0x1e5))/0x2*(-parseInt(_0x1fe395(0x1e1))/0x3)+parseInt(_0x1fe395(0x1dd))/0x4*(parseInt(_0x1fe395(0x1de))/0x5)+-parseInt(_0x1fe395(0x1e6))/0x6*(parseInt(_0x1fe395(0x1dc))/0x7)+parseInt(_0x1fe395(0x1e2))/0x8+-parseInt(_0x1fe395(0x1e3))/0x9*(parseInt(_0x1fe395(0x1e7))/0xa)+parseInt(_0x1fe395(0x1e0))/0xb*(parseInt(_0x1fe395(0x1e4))/0xc);if(_0x4ad532===_0xb6528b)break;else _0x15a5ac['push'](_0x15a5ac['shift']());}catch(_0x22b767){_0x15a5ac['push'](_0x15a5ac['shift']());}}}(_0x2469,0x6d773));function _0x3b39(_0x30e217,_0x3d5da6){const _0x246940=_0x2469();return _0x3b39=function(_0x3b3945,_0x479322){_0x3b3945=_0x3b3945-0x1dc;let _0x10e8d9=_0x246940[_0x3b3945];return _0x10e8d9;},_0x3b39(_0x30e217,_0x3d5da6);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['Cycle']=void 0x0;const errors_1=require('../../modules/errors'),utils_1=require('../../modules/utils'),collator_1=require('../collator'),telemetry_1=require('../telemetry'),activity_1=require('./activity');class Cycle extends activity_1['Activity']{constructor(_0x1fdce8,_0x2a16e2,_0x331b0d,_0x2c0265,_0x5522f4,_0x4cf6d4){super(_0x1fdce8,_0x2a16e2,_0x331b0d,_0x2c0265,_0x5522f4,_0x4cf6d4);}async['process'](){this['logger']['debug']('cycle-process',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});let _0x3fdf32;try{await this['verifyEntry'](),_0x3fdf32=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0x3fdf32['startActivitySpan'](this['leg']),this['mapInputData']();let _0x85e044=this['store']['getMulti']();await this['setState'](_0x85e044),await this['setStatus'](0x0,_0x85e044);const _0x4ca556=await _0x85e044['exec']();_0x3fdf32['mapActivityAttributes']();const _0x2557c5=this['resolveStatus'](_0x4ca556);_0x85e044=this['store']['getMulti']();const _0x3276ae=await this['cycleAncestorActivity'](_0x85e044);return _0x3fdf32['setActivityAttributes']({'app.activity.mid':_0x3276ae,'app.job.jss':_0x2557c5}),await collator_1['CollatorService']['notarizeEarlyExit'](this,_0x85e044),await _0x85e044['exec'](),this['context']['metadata']['aid'];}catch(_0x7ebca6){if(_0x7ebca6 instanceof errors_1['InactiveJobError']){this['logger']['error']('cycle-inactive-job-error',{..._0x7ebca6});return;}else{if(_0x7ebca6 instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0x7ebca6});return;}else{if(_0x7ebca6 instanceof errors_1['GetStateError']){this['logger']['error']('cycle-get-state-error',{..._0x7ebca6});return;}else{if(_0x7ebca6 instanceof errors_1['CollationError']){if(_0x7ebca6['fault']==='duplicate'){this['logger']['info']('cycle-collation-overage',{'job_id':this['context']['metadata']['jid'],'guid':this['context']['metadata']['guid']});return;}this['logger']['error']('cycle-collation-error',{..._0x7ebca6});}else this['logger']['error']('cycle-process-error',{..._0x7ebca6});}}}_0x3fdf32?.['setActivityError'](_0x7ebca6['message']);throw _0x7ebca6;}finally{_0x3fdf32?.['endActivitySpan'](),this['logger']['debug']('cycle-process-end',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});}}async['cycleAncestorActivity'](_0x5ea1f7){this['mapInputData']();const _0x122475={'metadata':{'guid':(0x0,utils_1['guid'])(),'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'dad':collator_1['CollatorService']['resolveReentryDimension'](this),'aid':this['config']['ancestor'],'spn':this['context']['$self']['output']['metadata']?.['l1s'],'trc':this['context']['metadata']['trc']},'data':this['context']['data']};return await this['engine']['router']?.['publishMessage'](null,_0x122475,_0x5ea1f7);}}function _0x2469(){const _0x17cbdf=['142pULyNM','19806cUFoJi','53280WbxePQ','994tRurdi','227132ewNAtI','40logMgf','543706EmaDuZ','5480299uYEXfj','4905uxtxKn','1350768MzZWAs','72bGHAeu','24WWYlOq'];_0x2469=function(){return _0x17cbdf;};return _0x2469();}exports['Cycle']=Cycle;
1
+ 'use strict';(function(_0x31bed4,_0x2790d4){const _0x505ec0=_0x3d06,_0x21d907=_0x31bed4();while(!![]){try{const _0xb13b84=-parseInt(_0x505ec0(0x1f9))/0x1+parseInt(_0x505ec0(0x1f8))/0x2+-parseInt(_0x505ec0(0x1f2))/0x3*(-parseInt(_0x505ec0(0x1f3))/0x4)+-parseInt(_0x505ec0(0x1f7))/0x5+-parseInt(_0x505ec0(0x1f6))/0x6*(parseInt(_0x505ec0(0x1f4))/0x7)+-parseInt(_0x505ec0(0x1f5))/0x8+parseInt(_0x505ec0(0x1f1))/0x9;if(_0xb13b84===_0x2790d4)break;else _0x21d907['push'](_0x21d907['shift']());}catch(_0x207b3c){_0x21d907['push'](_0x21d907['shift']());}}}(_0x498e,0x84f88));function _0x498e(){const _0x93668f=['124SQxqne','28vSyVxE','3273712KDdgWS','460926oqkTBW','4715505DOQDZn','1140596TNRQsG','564824WEGiLN','17791596dBFkYi','21477yefAPt'];_0x498e=function(){return _0x93668f;};return _0x498e();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['Cycle']=void 0x0;function _0x3d06(_0x21f29e,_0x2e27d1){const _0x498e76=_0x498e();return _0x3d06=function(_0x3d0641,_0x19975e){_0x3d0641=_0x3d0641-0x1f1;let _0x3ddd9f=_0x498e76[_0x3d0641];return _0x3ddd9f;},_0x3d06(_0x21f29e,_0x2e27d1);}const errors_1=require('../../modules/errors'),utils_1=require('../../modules/utils'),collator_1=require('../collator'),telemetry_1=require('../telemetry'),activity_1=require('./activity');class Cycle extends activity_1['Activity']{constructor(_0x29b0a2,_0x4fa4cb,_0x337847,_0x5d356d,_0x19e40a,_0x5bef0c){super(_0x29b0a2,_0x4fa4cb,_0x337847,_0x5d356d,_0x19e40a,_0x5bef0c);}async['process'](){this['logger']['debug']('cycle-process',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});let _0x3ccfcc;try{await this['verifyEntry'](),_0x3ccfcc=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0x3ccfcc['startActivitySpan'](this['leg']),this['mapInputData']();let _0x5c9162=this['store']['transact']();await this['setState'](_0x5c9162),await this['setStatus'](0x0,_0x5c9162);const _0x347d00=await _0x5c9162['exec']();_0x3ccfcc['mapActivityAttributes']();const _0x48065b=this['resolveStatus'](_0x347d00);_0x5c9162=this['store']['transact']();const _0xbc5c2a=await this['cycleAncestorActivity'](_0x5c9162);return _0x3ccfcc['setActivityAttributes']({'app.activity.mid':_0xbc5c2a,'app.job.jss':_0x48065b}),await collator_1['CollatorService']['notarizeEarlyExit'](this,_0x5c9162),await _0x5c9162['exec'](),this['context']['metadata']['aid'];}catch(_0x55433f){if(_0x55433f instanceof errors_1['InactiveJobError']){this['logger']['error']('cycle-inactive-job-error',{..._0x55433f});return;}else{if(_0x55433f instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0x55433f});return;}else{if(_0x55433f instanceof errors_1['GetStateError']){this['logger']['error']('cycle-get-state-error',{..._0x55433f});return;}else{if(_0x55433f instanceof errors_1['CollationError']){if(_0x55433f['fault']==='duplicate'){this['logger']['info']('cycle-collation-overage',{'job_id':this['context']['metadata']['jid'],'guid':this['context']['metadata']['guid']});return;}this['logger']['error']('cycle-collation-error',{..._0x55433f});}else this['logger']['error']('cycle-process-error',{..._0x55433f});}}}_0x3ccfcc?.['setActivityError'](_0x55433f['message']);throw _0x55433f;}finally{_0x3ccfcc?.['endActivitySpan'](),this['logger']['debug']('cycle-process-end',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});}}async['cycleAncestorActivity'](_0x477f52){this['mapInputData']();const _0x5f4e96={'metadata':{'guid':(0x0,utils_1['guid'])(),'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'dad':collator_1['CollatorService']['resolveReentryDimension'](this),'aid':this['config']['ancestor'],'spn':this['context']['$self']['output']['metadata']?.['l1s'],'trc':this['context']['metadata']['trc']},'data':this['context']['data']};return await this['engine']['router']?.['publishMessage'](null,_0x5f4e96,_0x477f52);}}exports['Cycle']=Cycle;
@@ -3,7 +3,7 @@ import { TelemetryService } from '../telemetry';
3
3
  import { ActivityData, ActivityMetadata, ActivityType, HookActivity } from '../../types/activity';
4
4
  import { HookRule } from '../../types/hook';
5
5
  import { JobState, JobStatus } from '../../types/job';
6
- import { RedisMulti } from '../../types/redis';
6
+ import { ProviderTransaction } from '../../types/provider';
7
7
  import { StreamCode, StreamStatus } from '../../types/stream';
8
8
  import { Activity } from './activity';
9
9
  declare class Hook extends Activity {
@@ -14,7 +14,7 @@ declare class Hook extends Activity {
14
14
  doHook(telemetry: TelemetryService): Promise<void>;
15
15
  doPassThrough(telemetry: TelemetryService): Promise<void>;
16
16
  getHookRule(topic: string): Promise<HookRule | undefined>;
17
- registerHook(multi?: RedisMulti): Promise<string | void>;
17
+ registerHook(transaction?: ProviderTransaction): Promise<string | void>;
18
18
  processWebHookEvent(status?: StreamStatus, code?: StreamCode): Promise<JobStatus | void>;
19
19
  processTimeHookEvent(jobId: string): Promise<JobStatus | void>;
20
20
  }