@hotmeshio/hotmesh 0.4.0 → 0.4.2
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 +39 -14
- package/build/modules/enums.d.ts +110 -0
- package/build/modules/enums.js +134 -0
- package/build/modules/errors.d.ts +124 -0
- package/build/modules/errors.js +191 -0
- package/build/modules/key.d.ts +66 -0
- package/build/modules/key.js +190 -0
- package/build/modules/storage.d.ts +3 -0
- package/build/modules/storage.js +5 -0
- package/build/modules/utils.d.ts +119 -0
- package/build/modules/utils.js +374 -0
- package/build/package.json +1 -1
- package/build/services/activities/activity.d.ts +104 -0
- package/build/services/activities/activity.js +549 -0
- package/build/services/activities/await.d.ts +12 -0
- package/build/services/activities/await.js +114 -0
- package/build/services/activities/cycle.d.ts +19 -0
- package/build/services/activities/cycle.js +112 -0
- package/build/services/activities/hook.d.ts +27 -0
- package/build/services/activities/hook.js +168 -0
- package/build/services/activities/index.d.ts +19 -0
- package/build/services/activities/index.js +20 -0
- package/build/services/activities/interrupt.d.ts +16 -0
- package/build/services/activities/interrupt.js +158 -0
- package/build/services/activities/signal.d.ts +20 -0
- package/build/services/activities/signal.js +134 -0
- package/build/services/activities/trigger.d.ts +37 -0
- package/build/services/activities/trigger.js +246 -0
- package/build/services/activities/worker.d.ts +12 -0
- package/build/services/activities/worker.js +106 -0
- package/build/services/collator/index.d.ts +111 -0
- package/build/services/collator/index.js +293 -0
- package/build/services/compiler/deployer.d.ts +40 -0
- package/build/services/compiler/deployer.js +488 -0
- package/build/services/compiler/index.d.ts +32 -0
- package/build/services/compiler/index.js +112 -0
- package/build/services/compiler/validator.d.ts +34 -0
- package/build/services/compiler/validator.js +147 -0
- package/build/services/connector/factory.d.ts +22 -0
- package/build/services/connector/factory.js +99 -0
- package/build/services/connector/index.d.ts +30 -0
- package/build/services/connector/index.js +54 -0
- 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 +34 -0
- package/build/services/connector/providers/postgres.d.ts +20 -0
- package/build/services/connector/providers/postgres.js +102 -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 +264 -0
- package/build/services/engine/index.js +761 -0
- package/build/services/exporter/index.d.ts +44 -0
- package/build/services/exporter/index.js +126 -0
- package/build/services/hotmesh/index.d.ts +483 -0
- package/build/services/hotmesh/index.js +622 -0
- package/build/services/logger/index.d.ts +16 -0
- package/build/services/logger/index.js +54 -0
- package/build/services/mapper/index.d.ts +28 -0
- package/build/services/mapper/index.js +81 -0
- package/build/services/memflow/client.d.ts +108 -0
- package/build/services/memflow/client.js +372 -0
- package/build/services/memflow/connection.d.ts +23 -0
- package/build/services/memflow/connection.js +33 -0
- package/build/services/memflow/context.d.ts +143 -0
- package/build/services/memflow/context.js +299 -0
- package/build/services/memflow/exporter.d.ts +51 -0
- package/build/services/memflow/exporter.js +215 -0
- package/build/services/memflow/handle.d.ts +90 -0
- package/build/services/memflow/handle.js +176 -0
- package/build/services/memflow/index.d.ts +116 -0
- package/build/services/memflow/index.js +122 -0
- package/build/services/memflow/schemas/factory.d.ts +29 -0
- package/build/services/memflow/schemas/factory.js +2492 -0
- package/build/services/memflow/search.d.ts +142 -0
- package/build/services/memflow/search.js +320 -0
- package/build/services/memflow/worker.d.ts +124 -0
- package/build/services/memflow/worker.js +514 -0
- package/build/services/memflow/workflow/all.d.ts +7 -0
- package/build/services/memflow/workflow/all.js +15 -0
- package/build/services/memflow/workflow/common.d.ts +20 -0
- package/build/services/memflow/workflow/common.js +47 -0
- package/build/services/memflow/workflow/context.d.ts +6 -0
- package/build/services/memflow/workflow/context.js +45 -0
- package/build/services/memflow/workflow/contextMethods.d.ts +14 -0
- package/build/services/memflow/workflow/contextMethods.js +33 -0
- package/build/services/memflow/workflow/didRun.d.ts +7 -0
- package/build/services/memflow/workflow/didRun.js +22 -0
- package/build/services/memflow/workflow/emit.d.ts +11 -0
- package/build/services/memflow/workflow/emit.js +29 -0
- package/build/services/memflow/workflow/enrich.d.ts +9 -0
- package/build/services/memflow/workflow/enrich.js +17 -0
- package/build/services/memflow/workflow/execChild.d.ts +18 -0
- package/build/services/memflow/workflow/execChild.js +102 -0
- package/build/services/memflow/workflow/execHook.d.ts +65 -0
- package/build/services/memflow/workflow/execHook.js +73 -0
- package/build/services/memflow/workflow/hook.d.ts +9 -0
- package/build/services/memflow/workflow/hook.js +56 -0
- package/build/services/memflow/workflow/index.d.ts +74 -0
- package/build/services/memflow/workflow/index.js +87 -0
- package/build/services/memflow/workflow/interrupt.d.ts +9 -0
- package/build/services/memflow/workflow/interrupt.js +24 -0
- package/build/services/memflow/workflow/isSideEffectAllowed.d.ts +10 -0
- package/build/services/memflow/workflow/isSideEffectAllowed.js +33 -0
- package/build/services/memflow/workflow/proxyActivities.d.ts +20 -0
- package/build/services/memflow/workflow/proxyActivities.js +97 -0
- package/build/services/memflow/workflow/random.d.ts +6 -0
- package/build/services/memflow/workflow/random.js +16 -0
- package/build/services/memflow/workflow/searchMethods.d.ts +6 -0
- package/build/services/memflow/workflow/searchMethods.js +25 -0
- package/build/services/memflow/workflow/signal.d.ts +29 -0
- package/build/services/memflow/workflow/signal.js +50 -0
- package/build/services/memflow/workflow/sleepFor.d.ts +24 -0
- package/build/services/memflow/workflow/sleepFor.js +51 -0
- package/build/services/memflow/workflow/trace.d.ts +14 -0
- package/build/services/memflow/workflow/trace.js +33 -0
- package/build/services/memflow/workflow/waitFor.d.ts +29 -0
- package/build/services/memflow/workflow/waitFor.js +56 -0
- package/build/services/meshcall/index.d.ts +194 -0
- package/build/services/meshcall/index.js +452 -0
- package/build/services/meshcall/schemas/factory.d.ts +9 -0
- package/build/services/meshcall/schemas/factory.js +189 -0
- package/build/services/meshdata/index.d.ts +795 -0
- package/build/services/meshdata/index.js +1235 -0
- package/build/services/meshos/index.d.ts +293 -0
- package/build/services/meshos/index.js +547 -0
- package/build/services/pipe/functions/array.d.ts +17 -0
- package/build/services/pipe/functions/array.js +74 -0
- package/build/services/pipe/functions/bitwise.d.ts +9 -0
- package/build/services/pipe/functions/bitwise.js +24 -0
- package/build/services/pipe/functions/conditional.d.ts +13 -0
- package/build/services/pipe/functions/conditional.js +36 -0
- package/build/services/pipe/functions/cron.d.ts +12 -0
- package/build/services/pipe/functions/cron.js +40 -0
- package/build/services/pipe/functions/date.d.ts +58 -0
- package/build/services/pipe/functions/date.js +171 -0
- package/build/services/pipe/functions/index.d.ts +29 -0
- package/build/services/pipe/functions/index.js +30 -0
- package/build/services/pipe/functions/json.d.ts +5 -0
- package/build/services/pipe/functions/json.js +12 -0
- package/build/services/pipe/functions/logical.d.ts +5 -0
- package/build/services/pipe/functions/logical.js +12 -0
- package/build/services/pipe/functions/math.d.ts +42 -0
- package/build/services/pipe/functions/math.js +184 -0
- package/build/services/pipe/functions/number.d.ts +21 -0
- package/build/services/pipe/functions/number.js +60 -0
- package/build/services/pipe/functions/object.d.ts +25 -0
- package/build/services/pipe/functions/object.js +81 -0
- package/build/services/pipe/functions/string.d.ts +23 -0
- package/build/services/pipe/functions/string.js +69 -0
- package/build/services/pipe/functions/symbol.d.ts +12 -0
- package/build/services/pipe/functions/symbol.js +33 -0
- package/build/services/pipe/functions/unary.d.ts +7 -0
- package/build/services/pipe/functions/unary.js +18 -0
- package/build/services/pipe/index.d.ts +48 -0
- package/build/services/pipe/index.js +242 -0
- package/build/services/quorum/index.d.ts +90 -0
- package/build/services/quorum/index.js +263 -0
- package/build/services/reporter/index.d.ts +50 -0
- package/build/services/reporter/index.js +348 -0
- package/build/services/router/config/index.d.ts +11 -0
- package/build/services/router/config/index.js +36 -0
- package/build/services/router/consumption/index.d.ts +34 -0
- package/build/services/router/consumption/index.js +395 -0
- package/build/services/router/error-handling/index.d.ts +8 -0
- package/build/services/router/error-handling/index.js +98 -0
- package/build/services/router/index.d.ts +57 -0
- package/build/services/router/index.js +121 -0
- package/build/services/router/lifecycle/index.d.ts +27 -0
- package/build/services/router/lifecycle/index.js +80 -0
- package/build/services/router/telemetry/index.d.ts +11 -0
- package/build/services/router/telemetry/index.js +32 -0
- package/build/services/router/throttling/index.d.ts +23 -0
- package/build/services/router/throttling/index.js +76 -0
- package/build/services/search/factory.d.ts +7 -0
- package/build/services/search/factory.js +24 -0
- package/build/services/search/index.d.ts +23 -0
- package/build/services/search/index.js +10 -0
- package/build/services/search/providers/postgres/postgres.d.ts +25 -0
- package/build/services/search/providers/postgres/postgres.js +149 -0
- package/build/services/search/providers/redis/ioredis.d.ts +19 -0
- package/build/services/search/providers/redis/ioredis.js +121 -0
- package/build/services/search/providers/redis/redis.d.ts +19 -0
- package/build/services/search/providers/redis/redis.js +134 -0
- package/build/services/serializer/index.d.ts +42 -0
- package/build/services/serializer/index.js +282 -0
- package/build/services/store/cache.d.ts +67 -0
- package/build/services/store/cache.js +128 -0
- package/build/services/store/factory.d.ts +8 -0
- package/build/services/store/factory.js +24 -0
- package/build/services/store/index.d.ts +89 -0
- package/build/services/store/index.js +9 -0
- package/build/services/store/providers/postgres/kvsql.d.ts +168 -0
- package/build/services/store/providers/postgres/kvsql.js +198 -0
- package/build/services/store/providers/postgres/kvtables.d.ts +20 -0
- package/build/services/store/providers/postgres/kvtables.js +441 -0
- package/build/services/store/providers/postgres/kvtransaction.d.ts +36 -0
- package/build/services/store/providers/postgres/kvtransaction.js +248 -0
- package/build/services/store/providers/postgres/kvtypes/hash.d.ts +60 -0
- package/build/services/store/providers/postgres/kvtypes/hash.js +1287 -0
- package/build/services/store/providers/postgres/kvtypes/list.d.ts +33 -0
- package/build/services/store/providers/postgres/kvtypes/list.js +194 -0
- package/build/services/store/providers/postgres/kvtypes/string.d.ts +20 -0
- package/build/services/store/providers/postgres/kvtypes/string.js +115 -0
- package/build/services/store/providers/postgres/kvtypes/zset.d.ts +41 -0
- package/build/services/store/providers/postgres/kvtypes/zset.js +214 -0
- package/build/services/store/providers/postgres/postgres.d.ts +178 -0
- package/build/services/store/providers/postgres/postgres.js +1244 -0
- package/build/services/store/providers/redis/_base.d.ts +137 -0
- package/build/services/store/providers/redis/_base.js +980 -0
- package/build/services/store/providers/redis/ioredis.d.ts +20 -0
- package/build/services/store/providers/redis/ioredis.js +180 -0
- package/build/services/store/providers/redis/redis.d.ts +18 -0
- package/build/services/store/providers/redis/redis.js +199 -0
- package/build/services/store/providers/store-initializable.d.ts +5 -0
- package/build/services/store/providers/store-initializable.js +2 -0
- package/build/services/stream/factory.d.ts +8 -0
- package/build/services/stream/factory.js +37 -0
- package/build/services/stream/index.d.ts +69 -0
- package/build/services/stream/index.js +11 -0
- package/build/services/stream/providers/nats/nats.d.ts +60 -0
- package/build/services/stream/providers/nats/nats.js +225 -0
- package/build/services/stream/providers/postgres/kvtables.d.ts +3 -0
- package/build/services/stream/providers/postgres/kvtables.js +146 -0
- package/build/services/stream/providers/postgres/postgres.d.ts +107 -0
- package/build/services/stream/providers/postgres/postgres.js +519 -0
- package/build/services/stream/providers/redis/ioredis.d.ts +61 -0
- package/build/services/stream/providers/redis/ioredis.js +272 -0
- package/build/services/stream/providers/redis/redis.d.ts +61 -0
- package/build/services/stream/providers/redis/redis.js +305 -0
- package/build/services/stream/providers/stream-initializable.d.ts +4 -0
- package/build/services/stream/providers/stream-initializable.js +2 -0
- package/build/services/sub/factory.d.ts +7 -0
- package/build/services/sub/factory.js +29 -0
- package/build/services/sub/index.d.ts +22 -0
- package/build/services/sub/index.js +10 -0
- package/build/services/sub/providers/nats/nats.d.ts +19 -0
- package/build/services/sub/providers/nats/nats.js +105 -0
- package/build/services/sub/providers/postgres/postgres.d.ts +19 -0
- package/build/services/sub/providers/postgres/postgres.js +92 -0
- package/build/services/sub/providers/redis/ioredis.d.ts +17 -0
- package/build/services/sub/providers/redis/ioredis.js +81 -0
- package/build/services/sub/providers/redis/redis.d.ts +17 -0
- package/build/services/sub/providers/redis/redis.js +72 -0
- package/build/services/task/index.d.ts +48 -0
- package/build/services/task/index.js +253 -0
- package/build/services/telemetry/index.d.ts +52 -0
- package/build/services/telemetry/index.js +306 -0
- package/build/services/worker/index.d.ts +77 -0
- package/build/services/worker/index.js +197 -0
- package/package.json +1 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/typedoc.json +0 -47
- package/types/activity.ts +0 -268
- package/types/app.ts +0 -20
- package/types/async.ts +0 -6
- package/types/cache.ts +0 -1
- package/types/collator.ts +0 -9
- package/types/error.ts +0 -56
- package/types/exporter.ts +0 -102
- package/types/hook.ts +0 -44
- package/types/hotmesh.ts +0 -314
- package/types/index.ts +0 -306
- package/types/job.ts +0 -233
- package/types/logger.ts +0 -8
- package/types/manifest.ts +0 -70
- package/types/map.ts +0 -5
- package/types/memflow.ts +0 -645
- package/types/meshcall.ts +0 -235
- package/types/meshdata.ts +0 -278
- package/types/ms.d.ts +0 -7
- package/types/nats.ts +0 -270
- package/types/pipe.ts +0 -90
- package/types/postgres.ts +0 -114
- package/types/provider.ts +0 -161
- package/types/quorum.ts +0 -167
- package/types/redis.ts +0 -404
- package/types/serializer.ts +0 -40
- package/types/stats.ts +0 -117
- package/types/stream.ts +0 -231
- package/types/task.ts +0 -7
- package/types/telemetry.ts +0 -16
- package/types/transition.ts +0 -20
package/types/stats.ts
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
type MetricTypes = 'count' | 'sum' | 'avg' | 'mdn' | 'max' | 'min' | 'index';
|
|
2
|
-
|
|
3
|
-
interface StatType {
|
|
4
|
-
target: string; //e.g, (a target on the input data: `<activity>.input.data`) => {`object/type:widgetA|widgetB:sum`: <sum>}, {`object/type:widgetA|widgetB:count`: <count>}
|
|
5
|
-
metric: MetricTypes; //count, avg, etc
|
|
6
|
-
value: number | string; //a value to increment (sum); value to save to sorted set (mdn) or an id to add to an `index` or just '1' for a count
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
interface Measure {
|
|
10
|
-
target: string;
|
|
11
|
-
type: string;
|
|
12
|
-
value: number;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
interface Segment {
|
|
16
|
-
time: string;
|
|
17
|
-
count: number;
|
|
18
|
-
measures: Measure[];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
interface StatsType {
|
|
22
|
-
general: StatType[];
|
|
23
|
-
index: StatType[];
|
|
24
|
-
median: StatType[];
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
interface JobStats {
|
|
28
|
-
count?: number;
|
|
29
|
-
[field: string]: number;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
interface JobStatsRange {
|
|
33
|
-
[key: string]: JobStats;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
interface JobStatsInput {
|
|
37
|
-
data: Record<string, unknown>;
|
|
38
|
-
range?: string;
|
|
39
|
-
start?: string;
|
|
40
|
-
end?: string;
|
|
41
|
-
sparse?: boolean;
|
|
42
|
-
scrub?: boolean; //remove all indexes upon completion
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
interface GetStatsOptions {
|
|
46
|
-
key: string;
|
|
47
|
-
granularity: string;
|
|
48
|
-
range?: string;
|
|
49
|
-
start?: string;
|
|
50
|
-
end?: string;
|
|
51
|
-
sparse?: boolean;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
interface StatsResponse {
|
|
55
|
-
key: string;
|
|
56
|
-
granularity: string;
|
|
57
|
-
range: string;
|
|
58
|
-
end: string | Date;
|
|
59
|
-
count: number;
|
|
60
|
-
measures: Measure[];
|
|
61
|
-
segments?: Segment[]; //`sparse` output does not subdived by datetime segments
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
interface AggregatedData {
|
|
65
|
-
[key: string]: number;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
interface IdsData {
|
|
69
|
-
[target: string]: string[];
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
interface MeasureIds {
|
|
73
|
-
time: string;
|
|
74
|
-
target: string;
|
|
75
|
-
count: number;
|
|
76
|
-
type: 'ids';
|
|
77
|
-
ids: string[];
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
interface TimeSegment {
|
|
81
|
-
time: string;
|
|
82
|
-
measures: MeasureIds[];
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
interface CountByFacet {
|
|
86
|
-
facet: string;
|
|
87
|
-
count: number;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
interface IdsResponse {
|
|
91
|
-
key: string;
|
|
92
|
-
facets: string[];
|
|
93
|
-
granularity: string;
|
|
94
|
-
range: string;
|
|
95
|
-
start: string;
|
|
96
|
-
counts: CountByFacet[];
|
|
97
|
-
segments: TimeSegment[];
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export {
|
|
101
|
-
StatsType,
|
|
102
|
-
StatType,
|
|
103
|
-
MetricTypes,
|
|
104
|
-
JobStats,
|
|
105
|
-
JobStatsRange,
|
|
106
|
-
JobStatsInput,
|
|
107
|
-
GetStatsOptions,
|
|
108
|
-
StatsResponse,
|
|
109
|
-
AggregatedData,
|
|
110
|
-
Measure,
|
|
111
|
-
Segment,
|
|
112
|
-
IdsData,
|
|
113
|
-
MeasureIds,
|
|
114
|
-
TimeSegment,
|
|
115
|
-
IdsResponse,
|
|
116
|
-
CountByFacet,
|
|
117
|
-
};
|
package/types/stream.ts
DELETED
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
import { ProviderTransaction } from './provider';
|
|
2
|
-
|
|
3
|
-
/** Represents a policy for retrying stream operations based on error codes */
|
|
4
|
-
export interface StreamRetryPolicy {
|
|
5
|
-
/**
|
|
6
|
-
* Key is error code, value is the retry profile.
|
|
7
|
-
* Tuple contains: [max retry count, retry type].
|
|
8
|
-
* 'x' denotes exponential backoff (default). Only 10, 100, 1000, 10000 are allowed retry intervals.
|
|
9
|
-
*/
|
|
10
|
-
[key: string]: [number, 'x'?];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/** A 3-digit status code representing the outcome of a stream operation */
|
|
14
|
-
export type StreamCode = number;
|
|
15
|
-
|
|
16
|
-
/** Describes the structure of a stream error */
|
|
17
|
-
export type StreamError = {
|
|
18
|
-
/** Descriptive message of the error */
|
|
19
|
-
message: string;
|
|
20
|
-
/** Numeric code corresponding to the type of error */
|
|
21
|
-
code: number;
|
|
22
|
-
/** Optional job identifier, used when communicating errors externally */
|
|
23
|
-
job_id?: string;
|
|
24
|
-
/** Stack trace of the error if unhandled */
|
|
25
|
-
stack?: string;
|
|
26
|
-
/** Name of the error if unhandled */
|
|
27
|
-
name?: string;
|
|
28
|
-
/** Custom user-defined error details */
|
|
29
|
-
error?: Record<string, unknown>;
|
|
30
|
-
/** True if originating via a standard transition message with an `error` status */
|
|
31
|
-
is_stream_error?: boolean;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/** Enumerated status values for stream operations */
|
|
35
|
-
export enum StreamStatus {
|
|
36
|
-
/** Indicates successful completion of the stream operation */
|
|
37
|
-
SUCCESS = 'success',
|
|
38
|
-
/** Indicates an error occurred during the stream operation */
|
|
39
|
-
ERROR = 'error',
|
|
40
|
-
/** Indicates the stream operation is still pending */
|
|
41
|
-
PENDING = 'pending',
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export enum StreamDataType {
|
|
45
|
-
TIMEHOOK = 'timehook',
|
|
46
|
-
WEBHOOK = 'webhook',
|
|
47
|
-
AWAIT = 'await',
|
|
48
|
-
RESULT = 'result', //await result
|
|
49
|
-
WORKER = 'worker',
|
|
50
|
-
RESPONSE = 'response', //worker response
|
|
51
|
-
TRANSITION = 'transition',
|
|
52
|
-
SIGNAL = 'signal',
|
|
53
|
-
INTERRUPT = 'interrupt',
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/** Defines the structure of stream data used when passing stream messages (transitions) */
|
|
57
|
-
export interface StreamData {
|
|
58
|
-
/** Metadata associated with the stream data */
|
|
59
|
-
metadata: {
|
|
60
|
-
/** Globally unique identifier for the StreamData message to distinguish `retries` from new 'reentry/cycles' */
|
|
61
|
-
guid: string;
|
|
62
|
-
/** Workflow/job topic */
|
|
63
|
-
topic?: string;
|
|
64
|
-
/** Workflow/job ID */
|
|
65
|
-
jid?: string;
|
|
66
|
-
/** Workflow Generational ID (internal GUID) */
|
|
67
|
-
gid?: string;
|
|
68
|
-
/** Dimensional address indicating the message routing specifics */
|
|
69
|
-
dad?: string;
|
|
70
|
-
/** Activity ID */
|
|
71
|
-
aid: string;
|
|
72
|
-
/** OpenTelemetry Trace identifier */
|
|
73
|
-
trc?: string;
|
|
74
|
-
/** OpenTelemetry Span identifier */
|
|
75
|
-
spn?: string;
|
|
76
|
-
/** Current try count, used for retry logic */
|
|
77
|
-
try?: number;
|
|
78
|
-
/**
|
|
79
|
-
* Indicates if the message should wait for a response.
|
|
80
|
-
* If explicitly false, the connection is severed immediately
|
|
81
|
-
* upon verifying (and returning) the Job ID.
|
|
82
|
-
*/
|
|
83
|
-
await?: boolean;
|
|
84
|
-
};
|
|
85
|
-
/** Type of the data being streamed, optional */
|
|
86
|
-
type?: StreamDataType;
|
|
87
|
-
/** Actual data being transmitted as a record of key-value pairs */
|
|
88
|
-
data: Record<string, unknown>;
|
|
89
|
-
/** Policies related to retry logic, optional */
|
|
90
|
-
policies?: {
|
|
91
|
-
retry?: StreamRetryPolicy;
|
|
92
|
-
};
|
|
93
|
-
/** Status of the stream, default assumed as 'success' */
|
|
94
|
-
status?: StreamStatus;
|
|
95
|
-
/** HTTP-like status code for the stream, default assumed as 200 */
|
|
96
|
-
code?: number;
|
|
97
|
-
/** Error stack trace */
|
|
98
|
-
stack?: string;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/** Extends StreamData for responses, allowing for inheritance of the base properties */
|
|
102
|
-
export type StreamDataResponse = StreamData;
|
|
103
|
-
|
|
104
|
-
export enum StreamRole {
|
|
105
|
-
WORKER = 'worker',
|
|
106
|
-
ENGINE = 'engine',
|
|
107
|
-
SYSTEM = 'system', //reserved for system use (i.e, if worker or engine fails)
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Represents a type for messages that have been reclaimed from a stream.
|
|
111
|
-
* Each item is a tuple containing a messageId and its details.
|
|
112
|
-
*/
|
|
113
|
-
export type ReclaimedMessageType = [
|
|
114
|
-
/** The stream ID, typically formatted as `<timestamp>-<count>` */
|
|
115
|
-
messageId: string,
|
|
116
|
-
/** Details of the message, consisting of a key and its value */
|
|
117
|
-
details: [
|
|
118
|
-
/** Key is always 'message' */
|
|
119
|
-
key: string,
|
|
120
|
-
/** Value is a stringified representation of StreamData */
|
|
121
|
-
value: string,
|
|
122
|
-
],
|
|
123
|
-
][];
|
|
124
|
-
|
|
125
|
-
/** Configuration parameters for a stream */
|
|
126
|
-
export type RouterConfig = {
|
|
127
|
-
/** Namespace under which the stream operates */
|
|
128
|
-
namespace: string;
|
|
129
|
-
/** Application identifier */
|
|
130
|
-
appId: string;
|
|
131
|
-
/** Globally unique identifier for the stream */
|
|
132
|
-
guid: string;
|
|
133
|
-
/** Role associated with the stream */
|
|
134
|
-
role: StreamRole;
|
|
135
|
-
/** Default throttle (read from KeyType.THROTTLE_RATE) */
|
|
136
|
-
throttle: number;
|
|
137
|
-
/** Optional topic for the stream */
|
|
138
|
-
topic?: string;
|
|
139
|
-
/** Delay before a message can be reclaimed, defaults to 60,000 milliseconds */
|
|
140
|
-
reclaimDelay?: number;
|
|
141
|
-
/** Maximum number of reclaims allowed, defaults to 3. Values greater throw an error */
|
|
142
|
-
reclaimCount?: number;
|
|
143
|
-
/** if true, will not process stream messages; default true */
|
|
144
|
-
readonly?: boolean;
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
export type StreamProviderType =
|
|
148
|
-
| 'redis'
|
|
149
|
-
| 'ioredis'
|
|
150
|
-
| 'postgres'
|
|
151
|
-
| 'nats'
|
|
152
|
-
| 'sqs';
|
|
153
|
-
|
|
154
|
-
export interface StreamConfig {
|
|
155
|
-
// Common configuration
|
|
156
|
-
provider?: StreamProviderType;
|
|
157
|
-
namespace?: string;
|
|
158
|
-
appId?: string;
|
|
159
|
-
maxRetries?: number;
|
|
160
|
-
batchSize?: number;
|
|
161
|
-
timeout?: number;
|
|
162
|
-
|
|
163
|
-
// Provider-specific configurations
|
|
164
|
-
redis?: {
|
|
165
|
-
claimTimeout?: number;
|
|
166
|
-
blockingTimeout?: number;
|
|
167
|
-
minIdleTime?: number;
|
|
168
|
-
};
|
|
169
|
-
postgres?: {
|
|
170
|
-
pollInterval?: number;
|
|
171
|
-
vacuumInterval?: number;
|
|
172
|
-
partitionInterval?: 'daily' | 'weekly' | 'monthly';
|
|
173
|
-
cleanupInterval?: number;
|
|
174
|
-
// Notification-related configuration
|
|
175
|
-
enableNotifications?: boolean; // Default: true
|
|
176
|
-
notificationFallbackInterval?: number; // Default: 30000ms (30 seconds)
|
|
177
|
-
notificationTimeout?: number; // Default: 5000ms (5 seconds)
|
|
178
|
-
};
|
|
179
|
-
nats?: {
|
|
180
|
-
jetstream?: boolean;
|
|
181
|
-
durableName?: string;
|
|
182
|
-
deliverPolicy?: 'all' | 'last' | 'new' | 'byStartSequence' | 'byStartTime';
|
|
183
|
-
ackWait?: number;
|
|
184
|
-
};
|
|
185
|
-
sqs?: {
|
|
186
|
-
deadLetterQueue?: string;
|
|
187
|
-
visibilityTimeout?: number;
|
|
188
|
-
waitTimeSeconds?: number;
|
|
189
|
-
messageRetentionPeriod?: number;
|
|
190
|
-
dlqArn?: string;
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
export interface StreamMessage {
|
|
195
|
-
id: string;
|
|
196
|
-
data: StreamData;
|
|
197
|
-
metadata?: StreamMessageMetadata;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
export interface StreamMessageMetadata {
|
|
201
|
-
timestamp?: number;
|
|
202
|
-
stream?: string;
|
|
203
|
-
groupName?: string;
|
|
204
|
-
consumerName?: string;
|
|
205
|
-
retryCount?: number;
|
|
206
|
-
deliveryTime?: number;
|
|
207
|
-
originalMessageId?: string;
|
|
208
|
-
[key: string]: any; // For provider-specific metadata
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
export interface StreamStats {
|
|
212
|
-
messageCount: number;
|
|
213
|
-
consumerCount?: number;
|
|
214
|
-
bytesInMemory?: number;
|
|
215
|
-
oldestMessageTimestamp?: number;
|
|
216
|
-
pendingMessages?: number;
|
|
217
|
-
deadLetterQueueMessageCount?: number;
|
|
218
|
-
averageProcessingTime?: number;
|
|
219
|
-
lastErrorTimestamp?: number;
|
|
220
|
-
lastErrorMessage?: string;
|
|
221
|
-
[key: string]: any; // For provider-specific stats
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* When publishing a message to the stream, the configuration
|
|
226
|
-
* can include a transaction object to execute the operation
|
|
227
|
-
* atomically.
|
|
228
|
-
*/
|
|
229
|
-
export interface PublishMessageConfig {
|
|
230
|
-
transaction?: ProviderTransaction;
|
|
231
|
-
}
|
package/types/task.ts
DELETED
package/types/telemetry.ts
DELETED
package/types/transition.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Pipe } from './pipe';
|
|
2
|
-
|
|
3
|
-
//TransitionMatch type: { expected: false, actual: '{a2.output.data.approved}' }
|
|
4
|
-
export type TransitionMatch = {
|
|
5
|
-
expected: boolean | string | number | null;
|
|
6
|
-
actual: boolean | string | number | null | { '@pipe': Pipe };
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
export type TransitionRule = {
|
|
10
|
-
gate?: 'and' | 'or'; //`and` is default
|
|
11
|
-
code?: string; //200 is default; must be an eplicit 3-digit code and must have an associated output schema matching this value to compile
|
|
12
|
-
match: Array<TransitionMatch>;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
//this is format for how all transitions for a single app are returned from the datastore
|
|
16
|
-
export type Transitions = {
|
|
17
|
-
[key: string]: {
|
|
18
|
-
[key: string]: TransitionRule;
|
|
19
|
-
};
|
|
20
|
-
};
|