@hotmeshio/hotmesh 0.3.8 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -17
- package/build/index.d.ts +4 -2
- package/build/index.js +6 -3
- package/build/modules/key.js +1 -1
- package/build/modules/utils.d.ts +12 -4
- package/build/modules/utils.js +1 -1
- package/build/package.json +14 -7
- package/build/services/activities/activity.d.ts +9 -9
- package/build/services/activities/activity.js +1 -1
- package/build/services/activities/await.d.ts +2 -2
- package/build/services/activities/await.js +1 -1
- package/build/services/activities/cycle.d.ts +2 -2
- package/build/services/activities/cycle.js +1 -1
- package/build/services/activities/hook.d.ts +2 -2
- package/build/services/activities/hook.js +1 -1
- package/build/services/activities/index.js +1 -1
- package/build/services/activities/interrupt.js +1 -1
- package/build/services/activities/signal.js +1 -1
- package/build/services/activities/trigger.d.ts +3 -3
- package/build/services/activities/trigger.js +1 -1
- package/build/services/activities/worker.d.ts +2 -2
- package/build/services/activities/worker.js +1 -1
- package/build/services/collator/index.d.ts +9 -9
- package/build/services/collator/index.js +1 -1
- package/build/services/compiler/deployer.d.ts +4 -4
- package/build/services/compiler/deployer.js +1 -1
- package/build/services/compiler/index.d.ts +4 -4
- package/build/services/compiler/index.js +1 -1
- package/build/services/compiler/validator.d.ts +3 -3
- package/build/services/compiler/validator.js +1 -1
- package/build/services/connector/factory.d.ts +6 -0
- package/build/services/connector/factory.js +56 -0
- package/build/services/connector/index.d.ts +13 -4
- package/build/services/connector/index.js +30 -23
- package/build/services/connector/providers/ioredis.d.ts +9 -0
- package/build/services/connector/providers/ioredis.js +26 -0
- package/build/services/connector/providers/nats.d.ts +9 -0
- package/build/services/connector/providers/nats.js +26 -0
- package/build/services/connector/providers/postgres.d.ts +9 -0
- package/build/services/connector/providers/postgres.js +39 -0
- package/build/services/connector/providers/redis.d.ts +9 -0
- package/build/services/connector/providers/redis.js +38 -0
- package/build/services/engine/index.d.ts +12 -12
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.d.ts +3 -3
- package/build/services/exporter/index.js +1 -1
- package/build/services/hotmesh/index.js +4 -4
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshcall/index.d.ts +5 -4
- package/build/services/meshcall/index.js +31 -14
- package/build/services/meshdata/index.d.ts +6 -6
- package/build/services/meshdata/index.js +7 -15
- package/build/services/meshflow/connection.d.ts +3 -2
- package/build/services/meshflow/exporter.d.ts +3 -3
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/search.js +12 -4
- package/build/services/meshflow/worker.js +7 -7
- package/build/services/meshos/index.d.ts +1 -4
- package/build/services/meshos/index.js +11 -44
- package/build/services/pipe/functions/array.js +1 -1
- package/build/services/pipe/functions/bitwise.js +1 -1
- package/build/services/pipe/functions/conditional.js +1 -1
- package/build/services/pipe/functions/cron.d.ts +2 -0
- package/build/services/pipe/functions/cron.js +1 -1
- package/build/services/pipe/functions/date.js +1 -1
- package/build/services/pipe/functions/index.js +1 -1
- package/build/services/pipe/functions/json.js +1 -1
- package/build/services/pipe/functions/logical.js +1 -1
- package/build/services/pipe/functions/math.js +1 -1
- package/build/services/pipe/functions/number.js +1 -1
- package/build/services/pipe/functions/object.js +1 -1
- package/build/services/pipe/functions/string.js +1 -1
- package/build/services/pipe/functions/symbol.js +1 -1
- package/build/services/pipe/functions/unary.js +1 -1
- package/build/services/pipe/index.js +1 -1
- package/build/services/quorum/index.d.ts +5 -5
- package/build/services/quorum/index.js +1 -1
- package/build/services/reporter/index.d.ts +2 -2
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.d.ts +8 -13
- package/build/services/router/index.js +1 -1
- package/build/services/search/factory.d.ts +2 -2
- package/build/services/search/factory.js +1 -1
- package/build/services/search/index.d.ts +5 -4
- package/build/services/search/providers/redis/ioredis.js +1 -1
- package/build/services/search/providers/redis/redis.js +1 -1
- package/build/services/serializer/index.js +1 -1
- package/build/services/store/factory.d.ts +3 -3
- package/build/services/store/factory.js +1 -1
- package/build/services/store/index.d.ts +18 -17
- package/build/services/store/providers/redis/_base.d.ts +13 -15
- package/build/services/store/providers/redis/_base.js +1 -1
- package/build/services/store/providers/redis/ioredis.d.ts +2 -2
- package/build/services/store/providers/redis/ioredis.js +1 -1
- package/build/services/store/providers/redis/redis.d.ts +2 -2
- package/build/services/store/providers/redis/redis.js +1 -1
- package/build/services/store/providers/store-initializable.js +1 -1
- package/build/services/stream/factory.d.ts +3 -3
- package/build/services/stream/factory.js +16 -4
- package/build/services/stream/index.d.ts +57 -18
- package/build/services/stream/index.js +2 -1
- package/build/services/stream/providers/nats/nats.d.ts +59 -0
- package/build/services/stream/providers/nats/nats.js +1 -0
- package/build/services/stream/providers/postgres/_deploy.d.ts +2 -1
- package/build/services/stream/providers/postgres/_deploy.js +1 -1
- package/build/services/stream/providers/postgres/postgres.d.ts +0 -0
- package/build/services/stream/providers/postgres/postgres.js +0 -0
- package/build/services/stream/providers/redis/ioredis.d.ts +53 -14
- package/build/services/stream/providers/redis/ioredis.js +1 -1
- package/build/services/stream/providers/redis/redis.d.ts +54 -15
- package/build/services/stream/providers/redis/redis.js +1 -1
- package/build/services/stream/providers/stream-initializable.d.ts +1 -2
- package/build/services/stream/providers/stream-initializable.js +1 -1
- package/build/services/sub/factory.d.ts +2 -2
- package/build/services/sub/factory.js +1 -1
- package/build/services/sub/index.d.ts +6 -5
- package/build/services/sub/providers/redis/ioredis.d.ts +1 -1
- package/build/services/sub/providers/redis/ioredis.js +1 -1
- package/build/services/sub/providers/redis/redis.d.ts +4 -4
- package/build/services/sub/providers/redis/redis.js +1 -1
- package/build/services/task/index.d.ts +5 -5
- package/build/services/task/index.js +1 -1
- package/build/services/telemetry/index.js +1 -1
- package/build/services/worker/index.d.ts +9 -9
- package/build/services/worker/index.js +1 -1
- package/build/types/hotmesh.d.ts +26 -14
- package/build/types/index.d.ts +6 -5
- package/build/types/manifest.d.ts +1 -9
- package/build/types/meshcall.d.ts +12 -7
- package/build/types/meshflow.d.ts +3 -7
- package/build/types/nats.d.ts +150 -0
- package/build/types/nats.js +2 -0
- package/build/types/postgres.d.ts +48 -0
- package/build/types/postgres.js +2 -0
- package/build/types/provider.d.ts +26 -0
- package/build/types/provider.js +2 -0
- package/build/types/redis.d.ts +33 -15
- package/build/types/stream.d.ts +65 -1
- package/index.ts +8 -5
- package/package.json +14 -7
- package/types/hotmesh.ts +139 -22
- package/types/index.ts +26 -17
- package/types/manifest.ts +1 -10
- package/types/meshcall.ts +38 -13
- package/types/meshflow.ts +2 -7
- package/types/nats.ts +231 -0
- package/types/postgres.ts +54 -0
- package/types/provider.ts +71 -0
- package/types/redis.ts +63 -18
- package/types/stream.ts +85 -1
- package/build/services/connector/clients/ioredis.d.ts +0 -13
- package/build/services/connector/clients/ioredis.js +0 -48
- package/build/services/connector/clients/redis.d.ts +0 -13
- package/build/services/connector/clients/redis.js +0 -60
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ You have a Redis instance? Good. You're ready to go.
|
|
|
24
24
|
## Learn
|
|
25
25
|
[📄 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
26
|
|
|
27
|
-
## MeshCall | Connect
|
|
27
|
+
## MeshCall | Connect Your Services
|
|
28
28
|
[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
29
|
|
|
30
30
|
<details style="padding: .5em">
|
|
@@ -701,23 +701,8 @@ This example demonstrates how to search for those workflows where a given condit
|
|
|
701
701
|
```
|
|
702
702
|
</details>
|
|
703
703
|
|
|
704
|
-
## 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;">
|
|
708
|
-
|
|
709
|
-
## Visualize | HotMesh Dashboard
|
|
710
|
-
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
|
-
|
|
712
|
-
<img src="./docs/img/visualize/hotmesh_dashboard.png" alt="HotMesh Dashboard" style="width:600px;max-width:600px;">
|
|
713
|
-
|
|
714
|
-
## Visualize | RedisInsight
|
|
715
|
-
View commands, streams, data, CPU, load, etc using the RedisInsight data browser.
|
|
716
|
-
|
|
717
|
-
<img src="./docs/img/visualize/redisinsight.png" alt="Redis Insight" style="width:600px;max-width:600px;">
|
|
718
|
-
|
|
719
704
|
## Samples
|
|
720
705
|
Refer to the [hotmeshio/samples-typescript](https://github.com/hotmeshio/samples-typescript) Git repo for *tutorials* and instructions on deploying the *HotMesh Dashboard*.
|
|
721
706
|
|
|
722
707
|
## Advanced
|
|
723
|
-
|
|
708
|
+
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,11 @@ 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,
|
|
9
|
-
export {
|
|
10
|
+
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;
|
|
11
|
+
export { Client, Connection, Errors, HotMesh, HotMeshConfig, MeshCall, MeshData, MeshFlow, MeshOS, Search, Utils, Worker, workflow, WorkflowHandle, };
|
|
10
12
|
export * as Types from './types';
|
package/build/index.js
CHANGED
|
@@ -23,23 +23,26 @@ 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.
|
|
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.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,
|
|
43
|
+
const { Client, Connection, Search, Worker, workflow } = meshflow_1.MeshFlow;
|
|
40
44
|
exports.Client = Client;
|
|
41
45
|
exports.Connection = Connection;
|
|
42
|
-
exports.Handle = Handle;
|
|
43
46
|
exports.Search = Search;
|
|
44
47
|
exports.Worker = Worker;
|
|
45
48
|
exports.workflow = workflow;
|
package/build/modules/key.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x7f137f,_0x3fdffe){const _0x4ee397=_0x336c,_0x188044=_0x7f137f();while(!![]){try{const _0x27a260=parseInt(_0x4ee397(0x176))/0x1+-parseInt(_0x4ee397(0x17c))/0x2*(parseInt(_0x4ee397(0x17a))/0x3)+-parseInt(_0x4ee397(0x17b))/0x4*(parseInt(_0x4ee397(0x177))/0x5)+-parseInt(_0x4ee397(0x175))/0x6+-parseInt(_0x4ee397(0x179))/0x7*(parseInt(_0x4ee397(0x178))/0x8)+parseInt(_0x4ee397(0x174))/0x9*(parseInt(_0x4ee397(0x17d))/0xa)+parseInt(_0x4ee397(0x173))/0xb;if(_0x27a260===_0x3fdffe)break;else _0x188044['push'](_0x188044['shift']());}catch(_0x3ff385){_0x188044['push'](_0x188044['shift']());}}}(_0x5ac4,0xeda1d));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'];}});function _0x5ac4(){const _0x4d8cf8=['370153pkbjgz','42261bqTxoq','236vHIDEy','116pWXAnX','70LPMYKq','58969460aWXvCB','382221OVdafm','11468574UMiFNV','66537lyVLLK','86285UUPkWG','152AUUYrN'];_0x5ac4=function(){return _0x4d8cf8;};return _0x5ac4();}function _0x336c(_0x56ff93,_0x24d126){const _0x5ac457=_0x5ac4();return _0x336c=function(_0x336c08,_0x3b64f9){_0x336c08=_0x336c08-0x173;let _0x325a17=_0x5ac457[_0x336c08];return _0x325a17;},_0x336c(_0x56ff93,_0x24d126);}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'](_0x302783,_0x5eb2cf,_0x2677f6){switch(_0x5eb2cf){case hotmesh_1['KeyType']['HOTMESH']:return _0x302783;case hotmesh_1['KeyType']['THROTTLE_RATE']:return _0x302783+':'+_0x2677f6['appId']+':r:';case hotmesh_1['KeyType']['WORK_ITEMS']:return _0x302783+':'+_0x2677f6['appId']+':w:'+(_0x2677f6['scoutType']||'');case hotmesh_1['KeyType']['TIME_RANGE']:return _0x302783+':'+_0x2677f6['appId']+':t:'+(_0x2677f6['timeValue']||'');case hotmesh_1['KeyType']['APP']:return _0x302783+':a:'+(_0x2677f6['appId']||'');case hotmesh_1['KeyType']['QUORUM']:return _0x302783+':'+_0x2677f6['appId']+':q:'+(_0x2677f6['engineId']||'');case hotmesh_1['KeyType']['JOB_STATE']:return _0x302783+':'+_0x2677f6['appId']+':j:'+_0x2677f6['jobId'];case hotmesh_1['KeyType']['JOB_DEPENDENTS']:return _0x302783+':'+_0x2677f6['appId']+':d:'+_0x2677f6['jobId'];case hotmesh_1['KeyType']['JOB_STATS_GENERAL']:return _0x302783+':'+_0x2677f6['appId']+':s:'+_0x2677f6['jobKey']+':'+_0x2677f6['dateTime'];case hotmesh_1['KeyType']['JOB_STATS_MEDIAN']:return _0x302783+':'+_0x2677f6['appId']+':s:'+_0x2677f6['jobKey']+':'+_0x2677f6['dateTime']+':'+_0x2677f6['facet'];case hotmesh_1['KeyType']['JOB_STATS_INDEX']:return _0x302783+':'+_0x2677f6['appId']+':s:'+_0x2677f6['jobKey']+':'+_0x2677f6['dateTime']+':'+_0x2677f6['facet'];case hotmesh_1['KeyType']['SCHEMAS']:return _0x302783+':'+_0x2677f6['appId']+':v:'+_0x2677f6['appVersion']+':schemas';case hotmesh_1['KeyType']['SUBSCRIPTIONS']:return _0x302783+':'+_0x2677f6['appId']+':v:'+_0x2677f6['appVersion']+':subscriptions';case hotmesh_1['KeyType']['SUBSCRIPTION_PATTERNS']:return _0x302783+':'+_0x2677f6['appId']+':v:'+_0x2677f6['appVersion']+':transitions';case hotmesh_1['KeyType']['HOOKS']:return _0x302783+':'+_0x2677f6['appId']+':hooks';case hotmesh_1['KeyType']['SIGNALS']:return _0x302783+':'+_0x2677f6['appId']+':signals';case hotmesh_1['KeyType']['SYMKEYS']:return _0x302783+':'+_0x2677f6['appId']+':sym:keys:'+(_0x2677f6['activityId']||'');case hotmesh_1['KeyType']['SYMVALS']:return _0x302783+':'+_0x2677f6['appId']+':sym:vals:';case hotmesh_1['KeyType']['STREAMS']:return _0x302783+':'+(_0x2677f6['appId']||'')+':x:'+(_0x2677f6['topic']||'');default:throw new Error('Invalid\x20key\x20type.');}}}exports['KeyService']=KeyService;
|
package/build/modules/utils.d.ts
CHANGED
|
@@ -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 {
|
|
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
|
|
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<
|
|
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>[];
|
package/build/modules/utils.js
CHANGED
|
@@ -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(_0x45bfc0,_0x11e1f3){const _0x2870c8=_0x4a57,_0x23d189=_0x45bfc0();while(!![]){try{const _0x479cab=-parseInt(_0x2870c8(0xce))/0x1+parseInt(_0x2870c8(0xd4))/0x2+-parseInt(_0x2870c8(0xd6))/0x3*(-parseInt(_0x2870c8(0xd8))/0x4)+-parseInt(_0x2870c8(0xd2))/0x5*(parseInt(_0x2870c8(0xcf))/0x6)+-parseInt(_0x2870c8(0xd7))/0x7+parseInt(_0x2870c8(0xd5))/0x8*(-parseInt(_0x2870c8(0xd1))/0x9)+parseInt(_0x2870c8(0xd0))/0xa*(parseInt(_0x2870c8(0xd3))/0xb);if(_0x479cab===_0x11e1f3)break;else _0x23d189['push'](_0x23d189['shift']());}catch(_0x4e2779){_0x23d189['push'](_0x23d189['shift']());}}}(_0x2649,0xc73c8));var __importDefault=this&&this['__importDefault']||function(_0x131a46){return _0x131a46&&_0x131a46['__esModule']?_0x131a46:{'default':_0x131a46};};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=_0x40fe61=>{const _0xfd645d=JSON['stringify'](_0x40fe61);return(0x0,crypto_1['createHash'])('sha256')['update'](_0xfd645d)['digest']('hex');};exports['hashOptions']=hashOptions;async function getSystemHealth(){const _0x415d6f=os_1['default']['totalmem'](),_0x38e520=os_1['default']['freemem'](),_0x2b0d32=_0x415d6f-_0x38e520,_0x4f4ebc={'TotalMemoryGB':(_0x415d6f/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','FreeMemoryGB':(_0x38e520/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','UsedMemoryGB':(_0x2b0d32/0x400/0x400/0x400)['toFixed'](0x2)+'\x20GB','CPULoad':[],'NetworkStats':[]};return _0x4f4ebc;}function _0x2649(){const _0x462fa3=['17248810lXglYF','7083189xsfQrr','9080ZIAUwm','22UxsUPH','3043634ZAKufq','8RuPlfa','444GBjnnF','9286746QDVSOC','2972pMDMbQ','818828JhUWlK','4404BAfZvt'];_0x2649=function(){return _0x462fa3;};return _0x2649();}exports['getSystemHealth']=getSystemHealth;function deepCopy(_0x5b4c4a){return JSON['parse'](JSON['stringify'](_0x5b4c4a));}exports['deepCopy']=deepCopy;function deterministicRandom(_0x10323c){const _0x2fc64e=Math['sin'](_0x10323c)*0x2710;return _0x2fc64e-Math['floor'](_0x2fc64e);}exports['deterministicRandom']=deterministicRandom;function guid(_0x4487c0=enums_1['HMSH_GUID_SIZE']){return'H'+(0x0,nanoid_1['nanoid'])(_0x4487c0);}exports['guid']=guid;async function sleepFor(_0x2f7603){return new Promise(_0x36e02a=>setTimeout(_0x36e02a,_0x2f7603));}exports['sleepFor']=sleepFor;function sleepImmediate(){return new Promise(_0x5f505c=>setImmediate(_0x5f505c));}exports['sleepImmediate']=sleepImmediate;function XSleepFor(_0x563244){let _0x1ac433;const _0x4024f1=new Promise(_0xd16c23=>{_0x1ac433=setTimeout(_0xd16c23,_0x563244);});return{'promise':_0x4024f1,'timerId':_0x1ac433};}exports['XSleepFor']=XSleepFor;function identifyProvider(_0x1f81d5){const _0x48da22=Object['getPrototypeOf'](_0x1f81d5);if(_0x1f81d5['constructor']&&_0x1f81d5['constructor']['name']==='Client')return'nats';else{if(_0x1f81d5['constructor']&&_0x1f81d5['constructor']['name']==='Pool')return'postgres';else{if('defineCommand'in _0x48da22||Object['keys'](_0x48da22)['includes']('multi'))return'ioredis';else{if(Object['keys'](_0x48da22)['includes']('Multi'))return'redis';}}}if(_0x1f81d5['constructor']){if(_0x1f81d5['constructor']['name']==='Redis'||_0x1f81d5['constructor']['name']==='EventEmitter'){if('hset'in _0x1f81d5)return'ioredis';}else{if(_0x1f81d5['constructor']['name']==='ProviderClient'||_0x1f81d5['constructor']['name']==='Commander'){if('HSET'in _0x1f81d5)return'redis';}}}if(Object['keys'](_0x1f81d5)['includes']('Pipeline'))return'ioredis';else{if(Object['keys'](_0x1f81d5)['includes']('createClient'))return'redis';}return null;}exports['identifyProvider']=identifyProvider,exports['polyfill']={'resolveActivityType'(_0x1550ad){return _0x1550ad==='activity'?'hook':_0x1550ad;},'providerConfig'(_0x4bd74a){return _0x4bd74a?.['connection']??_0x4bd74a?.['redis'];},'meshDataConfig'(_0x461d38){return _0x461d38?.['connection']??{'class':_0x461d38?.['redisClass'],'options':_0x461d38?.['redisOptions']};}};function identifyRedisTypeFromClass(_0x182b48){if(_0x182b48&&_0x182b48['name']==='Redis'||_0x182b48['name']==='EventEmitter')return'ioredis';else{if(_0x182b48&&'createClient'in _0x182b48)return'redis';}return null;}exports['identifyRedisTypeFromClass']=identifyRedisTypeFromClass;function matchesStatusCode(_0x4c10b3,_0xb0589b){if(typeof _0xb0589b==='string'){const _0x5c633='^'+_0xb0589b['replace'](/\*/g,'\x5cd')+'$';return new RegExp(_0x5c633)['test'](_0x4c10b3['toString']());}return _0xb0589b['test'](_0x4c10b3['toString']());}exports['matchesStatusCode']=matchesStatusCode;function matchesStatus(_0x27dcad,_0x10bbbf){return _0x27dcad===_0x10bbbf;}exports['matchesStatus']=matchesStatus;function findTopKey(_0x19c656,_0x5691c8){for(const [_0x28983b,_0x1791d7]of Object['entries'](_0x19c656)){if(_0x1791d7['hasOwnProperty'](_0x5691c8)){const _0x49ff8c=findTopKey(_0x19c656,_0x28983b['replace'](/^\./,''));return(_0x49ff8c||_0x28983b)['replace'](/^\./,'');}}return null;}exports['findTopKey']=findTopKey;function findSubscriptionForTrigger(_0x56dbeb,_0x168467){for(const [_0x107ba8,_0x2c0e0b]of Object['entries'](_0x56dbeb)){if(_0x2c0e0b===_0x168467)return _0x107ba8;}return null;}exports['findSubscriptionForTrigger']=findSubscriptionForTrigger;async function getSubscriptionTopic(_0x5a3f6e,_0x1bc1d5,_0x187030){const _0x272199=await _0x1bc1d5['getTransitions'](_0x187030),_0x542169=await _0x1bc1d5['getSubscriptions'](_0x187030),_0x1c5376=findTopKey(_0x272199,_0x5a3f6e),_0x274052=findSubscriptionForTrigger(_0x542169,_0x1c5376);return _0x274052;}exports['getSubscriptionTopic']=getSubscriptionTopic;function getTimeSeries(_0x1e7f3f){if(_0x1e7f3f['toString']()==='infinity')return'0';const _0x102844=new Date(),_0x3984f4=_0x1e7f3f['slice'](-0x1),_0x3f85c2=parseInt(_0x1e7f3f['slice'](0x0,-0x1),0xa);if(_0x3984f4==='m'){const _0x169391=Math['floor'](_0x102844['getMinutes']()/_0x3f85c2)*_0x3f85c2;_0x102844['setUTCMinutes'](_0x169391,0x0,0x0);}else _0x3984f4==='h'&&_0x102844['setUTCMinutes'](0x0,0x0,0x0);return _0x102844['toISOString']()['replace'](/:\d\d\..+|-|T/g,'')['replace'](':','');}function _0x4a57(_0x31bce1,_0x156cb0){const _0x264909=_0x2649();return _0x4a57=function(_0x4a577c,_0x23de28){_0x4a577c=_0x4a577c-0xce;let _0x4aa10a=_0x264909[_0x4a577c];return _0x4aa10a;},_0x4a57(_0x31bce1,_0x156cb0);}exports['getTimeSeries']=getTimeSeries;function formatISODate(_0x4ff3ae){const _0x3b3278=_0x4ff3ae instanceof Date?_0x4ff3ae:new Date(_0x4ff3ae);return _0x3b3278['toISOString']()['replace'](/[:TZ-]/g,'');}exports['formatISODate']=formatISODate;function getSymKey(_0x407141){const _0x4ea70e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',_0x56afe4=_0x4ea70e['length'];if(_0x407141<0x0||_0x407141>=Math['pow'](_0x56afe4,0x3))throw new Error('Number\x20out\x20of\x20range');const [_0x221a2e,_0x329d60]=divmod(_0x407141,_0x56afe4),[_0x551bb7,_0x2d6bb5]=divmod(_0x221a2e,_0x56afe4);return _0x4ea70e[_0x551bb7]+_0x4ea70e[_0x329d60]+_0x4ea70e[_0x2d6bb5];}exports['getSymKey']=getSymKey;function getSymVal(_0xe4fce1){const _0x3d90e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',_0x3d6bf5=_0x3d90e['length'];if(_0xe4fce1<0x0||_0xe4fce1>=Math['pow'](_0x3d6bf5,0x2))throw new Error('Number\x20out\x20of\x20range');const [_0x556cd6,_0x59445a]=divmod(_0xe4fce1,_0x3d6bf5);return _0x3d90e[_0x556cd6]+_0x3d90e[_0x59445a];}exports['getSymVal']=getSymVal;function divmod(_0xb8b5a0,_0x5b18be){return[Math['floor'](_0xb8b5a0/_0x5b18be),_0xb8b5a0%_0x5b18be];}function getIndexedHash(_0x2c1ef4,_0x36f45a){const _0x494191=_0x2c1ef4[_0x36f45a]||0x0,_0x35dbb7={..._0x2c1ef4};return delete _0x35dbb7[_0x36f45a],[_0x494191,_0x35dbb7];}exports['getIndexedHash']=getIndexedHash;function getValueByPath(_0x43ddc0,_0x18cc4e){const _0x3d63a1=_0x18cc4e['split']('/');let _0x2cc982=_0x43ddc0;for(const _0x281b71 of _0x3d63a1){if(_0x2cc982[_0x281b71]!==undefined)_0x2cc982=_0x2cc982[_0x281b71];else return undefined;}return _0x2cc982;}exports['getValueByPath']=getValueByPath;function restoreHierarchy(_0x2eb9e1){const _0x4381f1={};for(const _0x1e1da0 in _0x2eb9e1){if(_0x2eb9e1[_0x1e1da0]===undefined)continue;const _0x164013=_0x1e1da0['split']('/');let _0x275bb3=_0x4381f1;for(let _0x580344=0x0;_0x580344<_0x164013['length'];_0x580344++){_0x580344===_0x164013['length']-0x1?_0x275bb3[_0x164013[_0x580344]]=_0x2eb9e1[_0x1e1da0]:(_0x275bb3[_0x164013[_0x580344]]=_0x275bb3[_0x164013[_0x580344]]||{},_0x275bb3=_0x275bb3[_0x164013[_0x580344]]);}}return _0x4381f1;}exports['restoreHierarchy']=restoreHierarchy;function isValidCron(_0x319f20){const _0x49cb7a=/^(\*|([0-5]?\d)) (\*|([01]?\d|2[0-3])) (\*|([12]?\d|3[01])) (\*|([1-9]|1[0-2])) (\*|([0-6](?:-[0-6])?(?:,[0-6])?))$/;return _0x49cb7a['test'](_0x319f20);}exports['isValidCron']=isValidCron;const s=_0xa67070=>{return(0x0,ms_1['default'])(_0xa67070)/0x3e8;};exports['s']=s;const parseStreamMessage=_0x4bcb59=>{try{return JSON['parse'](_0x4bcb59);}catch(_0x2a9207){logger['error']('Error\x20parsing\x20Stream\x20message',{..._0x2a9207});throw _0x2a9207;}};exports['parseStreamMessage']=parseStreamMessage;const isStreamMessage=_0x5212df=>{return Array['isArray'](_0x5212df)&&Array['isArray'](_0x5212df[0x0]);};exports['isStreamMessage']=isStreamMessage;const arrayToHash=_0x31e527=>{const _0x3dc165=[];let _0x4c570f;for(let _0x580040=0x1;_0x580040<_0x31e527['length'];_0x580040++){const _0x517883=_0x31e527[_0x580040],_0x26642c={};if(Array['isArray'](_0x517883)){for(let _0x3f89b3=0x0;_0x3f89b3<_0x517883['length'];_0x3f89b3+=0x2){const _0x11e19f=_0x517883[_0x3f89b3],_0x25ae2d=_0x517883[_0x3f89b3+0x1];_0x26642c[_0x11e19f]=_0x25ae2d;}_0x4c570f&&(_0x26642c['$']=_0x4c570f),_0x3dc165['push'](_0x26642c),_0x4c570f=undefined;}else _0x4c570f=_0x517883;}return _0x3dc165;};exports['arrayToHash']=arrayToHash;
|
package/build/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hotmeshio/hotmesh",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"description": "Unbreakable Workflows",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -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/
|
|
29
|
-
"test:connect:redis": "NODE_ENV=test jest ./tests/unit/services/connector/
|
|
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.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
|
|
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
|
|
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<
|
|
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<
|
|
31
|
-
processSuccess(type: 'hook' | 'output'): Promise<
|
|
32
|
-
processError(): Promise<
|
|
33
|
-
transitionAdjacent(multiResponse:
|
|
34
|
-
resolveStatus(multiResponse:
|
|
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,
|
|
43
|
+
setStatus(amount: number, transaction?: ProviderTransaction): Promise<void | any>;
|
|
44
44
|
authorizeEntry(state: StringAnyType): string[];
|
|
45
45
|
bindDimensionalAddress(state: StringAnyType): void;
|
|
46
|
-
setState(
|
|
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(_0x133a55,_0x4b432b){const _0x5b97c5=_0x5550,_0x5d8699=_0x133a55();while(!![]){try{const _0x2a028d=-parseInt(_0x5b97c5(0x17d))/0x1*(parseInt(_0x5b97c5(0x17a))/0x2)+-parseInt(_0x5b97c5(0x182))/0x3*(parseInt(_0x5b97c5(0x183))/0x4)+parseInt(_0x5b97c5(0x17e))/0x5*(parseInt(_0x5b97c5(0x184))/0x6)+-parseInt(_0x5b97c5(0x180))/0x7*(-parseInt(_0x5b97c5(0x17b))/0x8)+parseInt(_0x5b97c5(0x17c))/0x9+parseInt(_0x5b97c5(0x17f))/0xa*(-parseInt(_0x5b97c5(0x181))/0xb)+parseInt(_0x5b97c5(0x185))/0xc;if(_0x2a028d===_0x4b432b)break;else _0x5d8699['push'](_0x5d8699['shift']());}catch(_0x528ea8){_0x5d8699['push'](_0x5d8699['shift']());}}}(_0x100a,0x5e3bd));function _0x5550(_0x4ec0c4,_0x213e0b){const _0x100a77=_0x100a();return _0x5550=function(_0x555092,_0x13d9af){_0x555092=_0x555092-0x17a;let _0x1c042f=_0x100a77[_0x555092];return _0x1c042f;},_0x5550(_0x4ec0c4,_0x213e0b);}function _0x100a(){const _0x1de467=['396218kGtdLy','460rPWWaN','230rbNNUh','5663mRxUoN','296747MmszvV','3BczUJg','2210332LdMVxW','21540cAqWXn','8232288hxGItq','2CyhVaC','3496gwjZgh','5268744IXtxjH'];_0x100a=function(){return _0x1de467;};return _0x100a();}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');class Activity{constructor(_0x52f788,_0x5522ed,_0x2ad1a4,_0x396a4e,_0x1f1fc3,_0x34e213){this['status']=stream_1['StreamStatus']['SUCCESS'],this['code']=0xc8,this['adjacentIndex']=0x0,this['config']=_0x52f788,this['data']=_0x5522ed,this['metadata']=_0x2ad1a4,this['hook']=_0x396a4e,this['engine']=_0x1f1fc3,this['context']=_0x34e213||{'data':{},'metadata':{}},this['logger']=_0x1f1fc3['logger'],this['store']=_0x1f1fc3['store'];}['setLeg'](_0x388c60){this['leg']=_0x388c60;}['mapStatusThreshold'](){if(this['config']['statusThreshold']!==undefined){const _0xcfd367=pipe_1['Pipe']['resolve'](this['config']['statusThreshold'],this['context']);if(_0xcfd367!==undefined&&!isNaN(Number(_0xcfd367)))return _0xcfd367;}return 0x0;}async['verifyEntry'](){this['setLeg'](0x1),await this['getState']();const _0x16cca9=this['mapStatusThreshold']();try{collator_1['CollatorService']['assertJobActive'](this['context']['metadata']['js'],this['context']['metadata']['jid'],this['metadata']['aid'],_0x16cca9);}catch(_0x18f526){await collator_1['CollatorService']['notarizeEntry'](this);if(_0x16cca9>0x0){if(this['context']['metadata']['js']===_0x16cca9){const _0x5112e2=await this['setStatus'](-_0x16cca9);Number(_0x5112e2)===0x0&&await this['engine']['runJobCompletionTasks'](this['context']);}}else throw _0x18f526;return;}await collator_1['CollatorService']['notarizeEntry'](this);}async['verifyReentry'](){const _0x214d1d=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,_0x214d1d);}async['processEvent'](_0x5c667d=stream_1['StreamStatus']['SUCCESS'],_0x2d07c4=0xc8,_0x2789e1='output'){this['setLeg'](0x2);const _0x9a1b4d=this['context']['metadata']['jid'];if(!_0x9a1b4d){this['logger']['error']('activity-process-event-error',{'message':'job\x20id\x20is\x20undefined'});return;}const _0x2d3c36=this['metadata']['aid'];this['status']=_0x5c667d,this['code']=_0x2d07c4,this['logger']['debug']('activity-process-event',{'topic':this['config']['subtype'],'jid':_0x9a1b4d,'aid':_0x2d3c36,'status':_0x5c667d,'code':_0x2d07c4});let _0x5ed797;try{const _0x2d4360=await this['verifyReentry']();this['adjacentIndex']=collator_1['CollatorService']['getDimensionalIndex'](_0x2d4360),_0x5ed797=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0x5ed797['startActivitySpan'](this['leg']);let _0x524c24;if(_0x5c667d===stream_1['StreamStatus']['PENDING'])_0x524c24=await this['processPending'](_0x2789e1);else _0x5c667d===stream_1['StreamStatus']['SUCCESS']?_0x524c24=await this['processSuccess'](_0x2789e1):_0x524c24=await this['processError']();this['transitionAdjacent'](_0x524c24,_0x5ed797);}catch(_0x12ddb0){if(_0x12ddb0 instanceof errors_1['CollationError']){this['logger']['info']('process-event-'+_0x12ddb0['fault']+'-error',{..._0x12ddb0});return;}else{if(_0x12ddb0 instanceof errors_1['InactiveJobError']){this['logger']['info']('process-event-inactive-job-error',{..._0x12ddb0});return;}else{if(_0x12ddb0 instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0x12ddb0});return;}else{if(_0x12ddb0 instanceof errors_1['GetStateError']){this['logger']['info']('process-event-get-job-error',{..._0x12ddb0});return;}}}}this['logger']['error']('activity-process-event-error',{..._0x12ddb0,'message':_0x12ddb0['message'],'stack':_0x12ddb0['stack'],'name':_0x12ddb0['name']}),_0x5ed797?.['setActivityError'](_0x12ddb0['message']);throw _0x12ddb0;}finally{_0x5ed797?.['endActivitySpan'](),this['logger']['debug']('activity-process-event-end',{'jid':_0x9a1b4d,'aid':_0x2d3c36});}}async['processPending'](_0x10a633){this['bindActivityData'](_0x10a633),this['adjacencyList']=await this['filterAdjacent'](),this['mapJobData']();const _0x4263b2=this['store']['transact']();return await this['setState'](_0x4263b2),await collator_1['CollatorService']['notarizeContinuation'](this,_0x4263b2),await this['setStatus'](this['adjacencyList']['length'],_0x4263b2),await _0x4263b2['exec']();}async['processSuccess'](_0x5c3bd8){this['bindActivityData'](_0x5c3bd8),this['adjacencyList']=await this['filterAdjacent'](),this['mapJobData']();const _0xb4b682=this['store']['transact']();return await this['setState'](_0xb4b682),await collator_1['CollatorService']['notarizeCompletion'](this,_0xb4b682),await this['setStatus'](this['adjacencyList']['length']-0x1,_0xb4b682),await _0xb4b682['exec']();}async['processError'](){this['bindActivityError'](this['data']),this['adjacencyList']=await this['filterAdjacent']();!this['adjacencyList']['length']&&this['bindJobError'](this['data']);this['mapJobData']();const _0xcfbde2=this['store']['transact']();return await this['setState'](_0xcfbde2),await collator_1['CollatorService']['notarizeCompletion'](this,_0xcfbde2),await this['setStatus'](this['adjacencyList']['length']-0x1,_0xcfbde2),await _0xcfbde2['exec']();}async['transitionAdjacent'](_0x2fdace,_0x45f415){_0x45f415['mapActivityAttributes']();const _0x52cf0a=this['resolveStatus'](_0x2fdace),_0x23926b={'app.job.jss':_0x52cf0a},_0x33a6f4=await this['transition'](this['adjacencyList'],_0x52cf0a);_0x33a6f4?.['length']&&(_0x23926b['app.activity.mids']=_0x33a6f4['join'](',')),_0x45f415['setActivityAttributes'](_0x23926b);}['resolveStatus'](_0x3b2771){const _0x42826c=_0x3b2771[_0x3b2771['length']-0x1];return Array['isArray'](_0x42826c)?Number(_0x42826c[0x1]):Number(_0x42826c);}['mapJobData'](){if(this['config']['job']?.['maps']){const _0x140614=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['job']['maps']),this['context']),_0x406ffc=_0x140614['mapRules']();if(_0x406ffc)for(const _0x42f0d1 in _0x406ffc){const _0x23fa81=_0x42f0d1['indexOf']('[');if(_0x23fa81>-0x1){const _0x394d3a=_0x42f0d1['substring'](_0x23fa81+0x1)['split'](']')[0x0];if(!isNaN(Number(_0x394d3a))){const _0x20aebc=_0x42f0d1['substring'](0x0,_0x23fa81);_0x406ffc[_0x20aebc]=_0x406ffc[_0x42f0d1],delete _0x406ffc[_0x42f0d1];}else{if(_0x394d3a==='-'||_0x394d3a==='_'){const _0x465d47=_0x406ffc[_0x42f0d1];Object['keys'](_0x465d47)['forEach'](_0xf6ade2=>{_0x406ffc[_0xf6ade2]=_0x465d47[_0xf6ade2];});}}}}this['context']['data']=_0x406ffc;}}['mapInputData'](){if(this['config']['input']?.['maps']){const _0x29d616=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['input']['maps']),this['context']);this['context']['data']=_0x29d616['mapRules']();}}['mapOutputData'](){if(this['config']['output']?.['maps']){const _0x56bd2c=new mapper_1['MapperService']((0x0,utils_1['deepCopy'])(this['config']['output']['maps']),this['context']),_0x64db49=_0x56bd2c['mapRules'](),_0x2a3676=this['metadata']['aid'],_0x1db18d={...this['context'][_0x2a3676]['output'],..._0x64db49};this['context'][_0x2a3676]['output']['data']=_0x1db18d;}}async['registerTimeout'](){}['bindActivityError'](_0x657673){const _0x22369e=this['context'][this['metadata']['aid']]['output']['metadata'];_0x22369e['err']=JSON['stringify'](this['data']),_0x22369e['$error']={..._0x657673,'is_stream_error':!![]};}['bindJobError'](_0x322842){this['context']['metadata']['err']=JSON['stringify']({..._0x322842,'is_stream_error':!![]});}async['getTriggerConfig'](){return await this['store']['getSchema'](this['config']['trigger'],await this['engine']['getVID']());}['getJobStatus'](){return null;}async['setStatus'](_0x5e5955,_0x32689b){const {id:_0x19d059}=await this['engine']['getVID']();return await this['store']['setStatus'](_0x5e5955,this['context']['metadata']['jid'],_0x19d059,_0x32689b);}['authorizeEntry'](_0x3de968){return this['adjacencyList']?.['map'](_0x5b0459=>{const {metadata:{aid:_0x8a9bc}}=_0x5b0459;return _0x3de968[_0x8a9bc+'/output/metadata/as']=collator_1['CollatorService']['getSeed'](),_0x8a9bc;})??[];}['bindDimensionalAddress'](_0x5a7429){const _0x127f63=this['resolveDad']();_0x5a7429[this['metadata']['aid']+'/output/metadata/dad']=_0x127f63;}async['setState'](_0x40c919){const _0x5c86c0=this['context']['metadata']['jid'];this['bindJobMetadata'](),this['bindActivityMetadata']();const _0x2daa2f={};await this['bindJobState'](_0x2daa2f);const _0x1d7240=this['authorizeEntry'](_0x2daa2f);this['bindDimensionalAddress'](_0x2daa2f),this['bindActivityState'](_0x2daa2f);const _0x1fa803=['$'+this['config']['subscribes'],this['metadata']['aid'],..._0x1d7240],_0x316355=collator_1['CollatorService']['getDimensionsById']([...this['config']['ancestors'],this['metadata']['aid']],this['resolveDad']());return await this['store']['setState'](_0x2daa2f,this['getJobStatus'](),_0x5c86c0,_0x1fa803,_0x316355,_0x40c919);}['bindJobMetadata'](){this['context']['metadata']['ju']=(0x0,utils_1['formatISODate'])(new Date());}['bindActivityMetadata'](){const _0x13d810=this['context']['$self'];!_0x13d810['output']['metadata']&&(_0x13d810['output']['metadata']={});this['status']===stream_1['StreamStatus']['ERROR']&&(_0x13d810['output']['metadata']['err']=JSON['stringify'](this['data']));const _0x1f6aa8=(0x0,utils_1['formatISODate'])(new Date());_0x13d810['output']['metadata']['ac']=_0x1f6aa8,_0x13d810['output']['metadata']['au']=_0x1f6aa8,_0x13d810['output']['metadata']['atp']=this['config']['type'],this['config']['subtype']&&(_0x13d810['output']['metadata']['stp']=this['config']['subtype']),_0x13d810['output']['metadata']['aid']=this['metadata']['aid'];}async['bindJobState'](_0x3c2d3a){const _0x1e98bd=await this['getTriggerConfig'](),_0x51e0f1=[..._0x1e98bd['PRODUCES']||[],...this['bindJobMetadataPaths']()];for(const _0x3497d0 of _0x51e0f1){const _0x26358f=(0x0,utils_1['getValueByPath'])(this['context'],_0x3497d0);_0x26358f!==undefined&&(_0x3c2d3a[_0x3497d0]=_0x26358f);}for(const _0x46d6a6 in this['context']?.['data']??{}){(_0x46d6a6['startsWith']('-')||_0x46d6a6['startsWith']('_'))&&(_0x3c2d3a[_0x46d6a6]=this['context']['data'][_0x46d6a6]);}telemetry_1['TelemetryService']['bindJobTelemetryToState'](_0x3c2d3a,this['config'],this['context']);}['bindActivityState'](_0x230378){const _0x47eafc=[...this['config']['produces'],...this['bindActivityMetadataPaths']()];for(const _0x358ade of _0x47eafc){const _0x1c3766=this['metadata']['aid']+'/'+_0x358ade,_0x4952b2=(0x0,utils_1['getValueByPath'])(this['context'],_0x1c3766);_0x4952b2!==undefined&&(_0x230378[_0x1c3766]=_0x4952b2);}telemetry_1['TelemetryService']['bindActivityTelemetryToState'](_0x230378,this['config'],this['metadata'],this['context'],this['leg']);}['bindJobMetadataPaths'](){return serializer_1['MDATA_SYMBOLS']['JOB_UPDATE']['KEYS']['map'](_0x49c6fa=>'metadata/'+_0x49c6fa);}['bindActivityMetadataPaths'](){const _0x51f006=this['leg']===0x1?'ACTIVITY':'ACTIVITY_UPDATE';return serializer_1['MDATA_SYMBOLS'][_0x51f006]['KEYS']['map'](_0x469c0d=>'output/metadata/'+_0x469c0d);}async['getState'](){const _0x534fab=this['context']['metadata']['gid'],_0x3dfff2='$'+this['config']['subscribes'],_0x34c2b5={[_0x3dfff2]:serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['map'](_0x74f755=>'metadata/'+_0x74f755)};for(let [_0x3d6072,_0x2a7d07]of Object['entries'](this['config']['consumes'])){if(_0x3d6072==='$job')for(const _0x193898 of _0x2a7d07){_0x34c2b5[_0x3dfff2]['push'](_0x193898);}else{_0x3d6072==='$self'&&(_0x3d6072=this['metadata']['aid']);!_0x34c2b5[_0x3d6072]&&(_0x34c2b5[_0x3d6072]=[]);for(const _0x1c17a4 of _0x2a7d07){_0x34c2b5[_0x3d6072]['push'](_0x3d6072+'/'+_0x1c17a4);}}}telemetry_1['TelemetryService']['addTargetTelemetryPaths'](_0x34c2b5,this['config'],this['metadata'],this['leg']);const {dad:_0x382c72,jid:_0x223cf3}=this['context']['metadata'],_0x1ba84a=collator_1['CollatorService']['getDimensionsById']([...this['config']['ancestors'],this['metadata']['aid']],_0x382c72||''),[_0x2cfe88,_0x521d1e]=await this['store']['getState'](_0x223cf3,_0x34c2b5,_0x1ba84a);this['context']=(0x0,utils_1['restoreHierarchy'])(_0x2cfe88),this['assertGenerationalId'](this['context']?.['metadata']?.['gid'],_0x534fab),this['initDimensionalAddress'](_0x382c72),this['initSelf'](this['context']),this['initPolicies'](this['context']);}['assertGenerationalId'](_0x2419a5,_0x1cfd04){if(_0x1cfd04!==_0x2419a5)throw new errors_1['GenerationalError'](_0x2419a5,_0x1cfd04,this['context']?.['metadata']?.['jid']??'',this['context']?.['metadata']?.['aid']??'',this['context']?.['metadata']?.['dad']??'');}['initDimensionalAddress'](_0x45459e){this['metadata']['dad']=_0x45459e;}['initSelf'](_0x523186){const _0x24f167=this['metadata']['aid'];!_0x523186[_0x24f167]&&(_0x523186[_0x24f167]={});const _0x45d807=_0x523186[_0x24f167];return!_0x45d807['output']&&(_0x45d807['output']={}),!_0x45d807['input']&&(_0x45d807['input']={}),!_0x45d807['hook']&&(_0x45d807['hook']={}),!_0x45d807['output']['metadata']&&(_0x45d807['output']['metadata']={}),_0x45d807['output']['metadata']['au']=(0x0,utils_1['formatISODate'])(new Date()),_0x523186['$self']=_0x45d807,_0x523186['$job']=_0x523186,_0x523186;}['initPolicies'](_0x1a66b7){const _0x5447f5=pipe_1['Pipe']['resolve'](this['config']['expire']??enums_1['HMSH_EXPIRE_DURATION'],_0x1a66b7);_0x1a66b7['metadata']['expire']=_0x5447f5;if(this['config']['persistent']!=undefined){const _0x3aeeb1=pipe_1['Pipe']['resolve'](this['config']['persistent']??![],_0x1a66b7);_0x1a66b7['metadata']['persistent']=_0x3aeeb1;}}['bindActivityData'](_0x5bca53){this['context'][this['metadata']['aid']][_0x5bca53]['data']=this['data'];}['resolveDad'](){let _0x513fc5=this['metadata']['dad'];return this['adjacentIndex']>0x0&&(_0x513fc5=_0x513fc5['substring'](0x0,_0x513fc5['lastIndexOf'](','))+','+this['adjacentIndex']),_0x513fc5;}['resolveAdjacentDad'](){return''+this['resolveDad']()+collator_1['CollatorService']['getDimensionalSeed'](0x0);}async['filterAdjacent'](){const _0x333646=[],_0x3708e5=await this['store']['getTransitions'](await this['engine']['getVID']()),_0x1d3efe=_0x3708e5['.'+this['metadata']['aid']],_0x569439=this['resolveAdjacentDad']();if(_0x1d3efe)for(const _0x496e69 in _0x1d3efe){const _0x3bd4b0=_0x1d3efe[_0x496e69];mapper_1['MapperService']['evaluate'](_0x3bd4b0,this['context'],this['code'])&&_0x333646['push']({'metadata':{'guid':(0x0,utils_1['guid'])(),'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'dad':_0x569439,'aid':_0x496e69,'spn':this['context']['$self']['output']['metadata']?.['l2s'],'trc':this['context']['metadata']['trc']},'type':stream_1['StreamDataType']['TRANSITION'],'data':{}});}return _0x333646;}['isJobComplete'](_0x8c044d){return _0x8c044d<=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'](_0xfd32b0,_0x1a01ff){if(this['jobWasInterrupted'](_0x1a01ff))return;let _0x5eabcd=[];(this['shouldEmit']()||this['isJobComplete'](_0x1a01ff)||this['shouldPersistJob']())&&await this['engine']['runJobCompletionTasks'](this['context'],{'emit':!this['isJobComplete'](_0x1a01ff)&&!this['shouldPersistJob']()});if(_0xfd32b0['length']&&!this['isJobComplete'](_0x1a01ff)){const _0x32e0c7=this['store']['transact']();for(const _0x5e4109 of _0xfd32b0){await this['engine']['router']?.['publishMessage'](null,_0x5e4109,_0x32e0c7);}_0x5eabcd=await _0x32e0c7['exec']();}return _0x5eabcd;}['jobWasInterrupted'](_0x241480){return _0x241480<-0x5f5e100;}}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(
|
|
10
|
+
execActivity(transaction: ProviderTransaction): Promise<string>;
|
|
11
11
|
}
|
|
12
12
|
export { Await };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x621184,_0x534ce7){const _0x54bd54=_0x2d31,_0x328967=_0x621184();while(!![]){try{const _0x3266da=-parseInt(_0x54bd54(0xf4))/0x1*(parseInt(_0x54bd54(0xee))/0x2)+parseInt(_0x54bd54(0xef))/0x3*(parseInt(_0x54bd54(0xf2))/0x4)+-parseInt(_0x54bd54(0xf1))/0x5+parseInt(_0x54bd54(0xf6))/0x6*(parseInt(_0x54bd54(0xf3))/0x7)+-parseInt(_0x54bd54(0xf8))/0x8*(-parseInt(_0x54bd54(0xf9))/0x9)+parseInt(_0x54bd54(0xf0))/0xa+-parseInt(_0x54bd54(0xf5))/0xb*(parseInt(_0x54bd54(0xf7))/0xc);if(_0x3266da===_0x534ce7)break;else _0x328967['push'](_0x328967['shift']());}catch(_0x32c808){_0x328967['push'](_0x328967['shift']());}}}(_0x2031,0xcc448));function _0x2d31(_0x18ec77,_0x51bb26){const _0x20314c=_0x2031();return _0x2d31=function(_0x2d31ed,_0x24c21c){_0x2d31ed=_0x2d31ed-0xee;let _0x2c15c1=_0x20314c[_0x2d31ed];return _0x2c15c1;},_0x2d31(_0x18ec77,_0x51bb26);}function _0x2031(){const _0x4638a8=['61672JNhTXO','18GKLqnw','38UKaMAs','60741MoBOeL','5830200LZoWfv','929835IrWCMt','52QwqrxY','430241GFRRiR','24763TVzWSd','453794OPrXvL','114ybiQjV','156iPeOMc'];_0x2031=function(){return _0x4638a8;};return _0x2031();}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(_0x23a28e,_0x22cec9,_0x259f16,_0x31e2cd,_0x1398cf,_0x4ad875){super(_0x23a28e,_0x22cec9,_0x259f16,_0x31e2cd,_0x1398cf,_0x4ad875);}async['process'](){this['logger']['debug']('await-process',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});let _0xa70685;try{await this['verifyEntry'](),_0xa70685=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0xa70685['startActivitySpan'](this['leg']),this['mapInputData']();const _0x3c0580=this['store']['transact'](),_0x5b6eb0=await this['execActivity'](_0x3c0580);await collator_1['CollatorService']['authorizeReentry'](this,_0x3c0580),await this['setState'](_0x3c0580),await this['setStatus'](0x0,_0x3c0580);const _0x4dc3dd=await _0x3c0580['exec']();_0xa70685['mapActivityAttributes']();const _0x9e4627=this['resolveStatus'](_0x4dc3dd);return _0xa70685['setActivityAttributes']({'app.activity.mid':_0x5b6eb0,'app.job.jss':_0x9e4627}),this['context']['metadata']['aid'];}catch(_0x26f387){if(_0x26f387 instanceof errors_1['InactiveJobError']){this['logger']['error']('await-inactive-job-error',{..._0x26f387});return;}else{if(_0x26f387 instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0x26f387});return;}else{if(_0x26f387 instanceof errors_1['GetStateError']){this['logger']['error']('await-get-state-error',{..._0x26f387});return;}else{if(_0x26f387 instanceof errors_1['CollationError']){if(_0x26f387['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',{..._0x26f387});}else this['logger']['error']('await-process-error',{..._0x26f387});}}}_0xa70685?.['setActivityError'](_0x26f387['message']);throw _0x26f387;}finally{_0xa70685?.['endActivitySpan'](),this['logger']['debug']('await-process-end',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});}}async['execActivity'](_0x51de94){const _0x551247=pipe_1['Pipe']['resolve'](this['config']['subtype'],this['context']),_0x26d1f9={'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':_0x551247,'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 _0x1a4e55=pipe_1['Pipe']['resolve'](this['config']['await'],this['context']);_0x1a4e55===![]&&(_0x26d1f9['metadata']['await']=![]);}return this['config']['retry']&&(_0x26d1f9['policies']={'retry':this['config']['retry']}),await this['engine']['router']?.['publishMessage'](null,_0x26d1f9,_0x51de94);}}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(
|
|
10
|
+
cycleAncestorActivity(transaction: ProviderTransaction): Promise<string>;
|
|
11
11
|
}
|
|
12
12
|
export { Cycle };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0xf200bf,_0x57662e){const _0x2424f9=_0x119b,_0x1f015c=_0xf200bf();while(!![]){try{const _0x1e943f=-parseInt(_0x2424f9(0x1f0))/0x1+parseInt(_0x2424f9(0x1ee))/0x2+-parseInt(_0x2424f9(0x1e8))/0x3+-parseInt(_0x2424f9(0x1eb))/0x4*(-parseInt(_0x2424f9(0x1ed))/0x5)+-parseInt(_0x2424f9(0x1ef))/0x6*(-parseInt(_0x2424f9(0x1f1))/0x7)+-parseInt(_0x2424f9(0x1ea))/0x8+-parseInt(_0x2424f9(0x1ec))/0x9*(-parseInt(_0x2424f9(0x1e9))/0xa);if(_0x1e943f===_0x57662e)break;else _0x1f015c['push'](_0x1f015c['shift']());}catch(_0x4818c8){_0x1f015c['push'](_0x1f015c['shift']());}}}(_0xb108,0x5935a));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');function _0x119b(_0x556b1a,_0x4693ed){const _0xb108f8=_0xb108();return _0x119b=function(_0x119bf3,_0x483396){_0x119bf3=_0x119bf3-0x1e8;let _0x2498d8=_0xb108f8[_0x119bf3];return _0x2498d8;},_0x119b(_0x556b1a,_0x4693ed);}class Cycle extends activity_1['Activity']{constructor(_0x58dfb5,_0x347158,_0x191653,_0xa136c,_0x34d369,_0x1366a8){super(_0x58dfb5,_0x347158,_0x191653,_0xa136c,_0x34d369,_0x1366a8);}async['process'](){this['logger']['debug']('cycle-process',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});let _0xd42183;try{await this['verifyEntry'](),_0xd42183=new telemetry_1['TelemetryService'](this['engine']['appId'],this['config'],this['metadata'],this['context']),_0xd42183['startActivitySpan'](this['leg']),this['mapInputData']();let _0x31798c=this['store']['transact']();await this['setState'](_0x31798c),await this['setStatus'](0x0,_0x31798c);const _0xbb2f23=await _0x31798c['exec']();_0xd42183['mapActivityAttributes']();const _0x16c50e=this['resolveStatus'](_0xbb2f23);_0x31798c=this['store']['transact']();const _0x14eb80=await this['cycleAncestorActivity'](_0x31798c);return _0xd42183['setActivityAttributes']({'app.activity.mid':_0x14eb80,'app.job.jss':_0x16c50e}),await collator_1['CollatorService']['notarizeEarlyExit'](this,_0x31798c),await _0x31798c['exec'](),this['context']['metadata']['aid'];}catch(_0x2021c9){if(_0x2021c9 instanceof errors_1['InactiveJobError']){this['logger']['error']('cycle-inactive-job-error',{..._0x2021c9});return;}else{if(_0x2021c9 instanceof errors_1['GenerationalError']){this['logger']['info']('process-event-generational-job-error',{..._0x2021c9});return;}else{if(_0x2021c9 instanceof errors_1['GetStateError']){this['logger']['error']('cycle-get-state-error',{..._0x2021c9});return;}else{if(_0x2021c9 instanceof errors_1['CollationError']){if(_0x2021c9['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',{..._0x2021c9});}else this['logger']['error']('cycle-process-error',{..._0x2021c9});}}}_0xd42183?.['setActivityError'](_0x2021c9['message']);throw _0x2021c9;}finally{_0xd42183?.['endActivitySpan'](),this['logger']['debug']('cycle-process-end',{'jid':this['context']['metadata']['jid'],'gid':this['context']['metadata']['gid'],'aid':this['metadata']['aid']});}}async['cycleAncestorActivity'](_0x16b0c3){this['mapInputData']();const _0x4974ae={'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,_0x4974ae,_0x16b0c3);}}exports['Cycle']=Cycle;function _0xb108(){const _0x3c553b=['1148zSCNFt','54918tFFJGk','865kmZsIf','772920jOkLkj','234ijxINw','445204oXSnNL','61957hpyPqj','366366JeYVmX','1220LsngSf','4744128EMjpEO'];_0xb108=function(){return _0x3c553b;};return _0xb108();}
|
|
@@ -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 {
|
|
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(
|
|
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
|
}
|