@hotmeshio/hotmesh 0.0.52 → 0.0.53
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 +22 -18
- package/build/index.d.ts +1 -2
- package/build/index.js +1 -3
- package/build/modules/enums.d.ts +8 -3
- package/build/modules/enums.js +16 -8
- package/build/modules/errors.d.ts +98 -18
- package/build/modules/errors.js +90 -33
- package/build/package.json +7 -2
- package/build/services/activities/activity.d.ts +8 -0
- package/build/services/activities/activity.js +63 -14
- package/build/services/activities/await.js +6 -6
- package/build/services/activities/cycle.d.ts +2 -2
- package/build/services/activities/cycle.js +5 -5
- package/build/services/activities/hook.js +4 -4
- package/build/services/activities/interrupt.d.ts +3 -3
- package/build/services/activities/interrupt.js +15 -6
- package/build/services/activities/signal.d.ts +2 -2
- package/build/services/activities/signal.js +4 -4
- package/build/services/activities/trigger.js +12 -3
- package/build/services/activities/worker.js +6 -6
- package/build/services/compiler/deployer.js +33 -5
- package/build/services/compiler/validator.d.ts +2 -0
- package/build/services/compiler/validator.js +5 -1
- package/build/services/durable/client.d.ts +7 -1
- package/build/services/durable/client.js +56 -30
- package/build/services/durable/exporter.d.ts +7 -72
- package/build/services/durable/exporter.js +105 -295
- package/build/services/durable/handle.d.ts +11 -6
- package/build/services/durable/handle.js +59 -46
- package/build/services/durable/index.d.ts +0 -2
- package/build/services/durable/index.js +0 -2
- package/build/services/durable/schemas/factory.d.ts +33 -0
- package/build/services/durable/schemas/factory.js +2356 -0
- package/build/services/durable/search.js +8 -8
- package/build/services/durable/worker.js +117 -25
- package/build/services/durable/workflow.d.ts +46 -43
- package/build/services/durable/workflow.js +273 -277
- package/build/services/engine/index.js +3 -0
- package/build/services/exporter/index.d.ts +2 -4
- package/build/services/exporter/index.js +4 -5
- package/build/services/mapper/index.d.ts +6 -2
- package/build/services/mapper/index.js +6 -2
- package/build/services/pipe/functions/array.d.ts +2 -10
- package/build/services/pipe/functions/array.js +30 -28
- package/build/services/pipe/functions/conditional.d.ts +1 -0
- package/build/services/pipe/functions/conditional.js +3 -0
- package/build/services/pipe/functions/date.d.ts +1 -0
- package/build/services/pipe/functions/date.js +4 -0
- package/build/services/pipe/functions/index.d.ts +2 -0
- package/build/services/pipe/functions/index.js +2 -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/object.d.ts +3 -0
- package/build/services/pipe/functions/object.js +25 -7
- package/build/services/pipe/index.d.ts +20 -3
- package/build/services/pipe/index.js +82 -16
- package/build/services/router/index.js +14 -3
- package/build/services/serializer/index.d.ts +3 -2
- package/build/services/serializer/index.js +11 -4
- package/build/services/store/clients/ioredis.js +6 -6
- package/build/services/store/clients/redis.js +7 -7
- package/build/services/store/index.d.ts +2 -0
- package/build/services/store/index.js +4 -1
- package/build/services/stream/clients/ioredis.js +8 -8
- package/build/services/stream/clients/redis.js +1 -1
- package/build/types/activity.d.ts +60 -5
- package/build/types/durable.d.ts +168 -33
- package/build/types/exporter.d.ts +26 -4
- package/build/types/index.d.ts +2 -2
- package/build/types/job.d.ts +69 -5
- package/build/types/pipe.d.ts +81 -3
- package/build/types/stream.d.ts +61 -1
- package/build/types/stream.js +4 -0
- package/index.ts +1 -2
- package/modules/enums.ts +16 -8
- package/modules/errors.ts +174 -32
- package/package.json +7 -2
- package/services/activities/activity.ts +63 -14
- package/services/activities/await.ts +6 -6
- package/services/activities/cycle.ts +7 -6
- package/services/activities/hook.ts +4 -4
- package/services/activities/interrupt.ts +19 -9
- package/services/activities/signal.ts +6 -5
- package/services/activities/trigger.ts +16 -4
- package/services/activities/worker.ts +7 -7
- package/services/compiler/deployer.ts +33 -6
- package/services/compiler/validator.ts +7 -3
- package/services/durable/client.ts +47 -14
- package/services/durable/exporter.ts +110 -318
- package/services/durable/handle.ts +63 -50
- package/services/durable/index.ts +0 -2
- package/services/durable/schemas/factory.ts +2358 -0
- package/services/durable/search.ts +8 -8
- package/services/durable/worker.ts +128 -29
- package/services/durable/workflow.ts +304 -288
- package/services/engine/index.ts +4 -0
- package/services/exporter/index.ts +10 -12
- package/services/mapper/index.ts +6 -2
- package/services/pipe/functions/array.ts +24 -37
- package/services/pipe/functions/conditional.ts +4 -0
- package/services/pipe/functions/date.ts +6 -0
- package/services/pipe/functions/index.ts +7 -5
- package/services/pipe/functions/logical.ts +11 -0
- package/services/pipe/functions/object.ts +26 -7
- package/services/pipe/index.ts +99 -21
- package/services/quorum/index.ts +1 -3
- package/services/router/index.ts +14 -3
- package/services/serializer/index.ts +12 -5
- package/services/store/clients/ioredis.ts +6 -6
- package/services/store/clients/redis.ts +7 -7
- package/services/store/index.ts +4 -1
- package/services/stream/clients/ioredis.ts +8 -8
- package/services/stream/clients/redis.ts +1 -1
- package/types/activity.ts +87 -15
- package/types/durable.ts +246 -73
- package/types/exporter.ts +31 -5
- package/types/index.ts +6 -7
- package/types/job.ts +130 -36
- package/types/pipe.ts +84 -3
- package/types/stream.ts +82 -23
- package/build/services/durable/factory.d.ts +0 -17
- package/build/services/durable/factory.js +0 -817
- package/build/services/durable/meshos.d.ts +0 -127
- package/build/services/durable/meshos.js +0 -380
- package/services/durable/factory.ts +0 -818
- package/services/durable/meshos.ts +0 -441
|
@@ -77,7 +77,7 @@ class IORedisStoreService extends StoreService<RedisClientType, RedisMultiType>
|
|
|
77
77
|
try {
|
|
78
78
|
return await (multi || this.redisClient).xadd(key, id, messageId, messageValue);
|
|
79
79
|
} catch (error) {
|
|
80
|
-
this.logger.error(`Error publishing 'xadd'; key: ${key}`, { error });
|
|
80
|
+
this.logger.error(`Error publishing 'xadd'; key: ${key}`, { ...error });
|
|
81
81
|
throw error;
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -93,7 +93,7 @@ class IORedisStoreService extends StoreService<RedisClientType, RedisMultiType>
|
|
|
93
93
|
try {
|
|
94
94
|
return await this.redisClient.xpending(key, group, start, end, count, consumer);
|
|
95
95
|
} catch (error) {
|
|
96
|
-
this.logger.error(`Error in retrieving pending messages for [stream ${key}], [group ${group}]`, { error });
|
|
96
|
+
this.logger.error(`Error in retrieving pending messages for [stream ${key}], [group ${group}]`, { ...error });
|
|
97
97
|
throw error;
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -109,7 +109,7 @@ class IORedisStoreService extends StoreService<RedisClientType, RedisMultiType>
|
|
|
109
109
|
try {
|
|
110
110
|
return await this.redisClient.xclaim(key, group, consumer, minIdleTime, id, ...args) as unknown as ReclaimedMessageType;
|
|
111
111
|
} catch (error) {
|
|
112
|
-
this.logger.error(`Error in claiming message with id: ${id} in group: ${group} for key: ${key}`, { error });
|
|
112
|
+
this.logger.error(`Error in claiming message with id: ${id} in group: ${group} for key: ${key}`, { ...error });
|
|
113
113
|
throw error;
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -118,7 +118,7 @@ class IORedisStoreService extends StoreService<RedisClientType, RedisMultiType>
|
|
|
118
118
|
try {
|
|
119
119
|
return await (multi || this.redisClient).xack(key, group, id);
|
|
120
120
|
} catch (error) {
|
|
121
|
-
this.logger.error(`Error in acknowledging messages in group: ${group} for key: ${key}`, { error });
|
|
121
|
+
this.logger.error(`Error in acknowledging messages in group: ${group} for key: ${key}`, { ...error });
|
|
122
122
|
throw error;
|
|
123
123
|
}
|
|
124
124
|
}
|
|
@@ -127,7 +127,7 @@ class IORedisStoreService extends StoreService<RedisClientType, RedisMultiType>
|
|
|
127
127
|
try {
|
|
128
128
|
return await (multi || this.redisClient).xdel(key, id);
|
|
129
129
|
} catch (error) {
|
|
130
|
-
this.logger.error(`Error in deleting messages with id: ${id} for key: ${key}`, { error });
|
|
130
|
+
this.logger.error(`Error in deleting messages with id: ${id} for key: ${key}`, { ...error });
|
|
131
131
|
throw error;
|
|
132
132
|
}
|
|
133
133
|
}
|
|
@@ -136,7 +136,7 @@ class IORedisStoreService extends StoreService<RedisClientType, RedisMultiType>
|
|
|
136
136
|
try {
|
|
137
137
|
return await (multi || this.redisClient).xlen(key);
|
|
138
138
|
} catch (error) {
|
|
139
|
-
this.logger.error(`Error getting stream depth: ${key}`, { error });
|
|
139
|
+
this.logger.error(`Error getting stream depth: ${key}`, { ...error });
|
|
140
140
|
throw error;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -89,7 +89,7 @@ class RedisStoreService extends StoreService<RedisClientType, RedisMultiType> {
|
|
|
89
89
|
return (await this.redisClient.sendCommand(['XGROUP', 'CREATE', key, groupName, id, ...args])) === 1;
|
|
90
90
|
} catch (error) {
|
|
91
91
|
const streamType = mkStream === 'MKSTREAM' ? 'with MKSTREAM' : 'without MKSTREAM';
|
|
92
|
-
this.logger.debug(`x-group-error ${streamType} for key: ${key} and group: ${groupName}`, { error });
|
|
92
|
+
this.logger.debug(`x-group-error ${streamType} for key: ${key} and group: ${groupName}`, { ...error });
|
|
93
93
|
throw error;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
@@ -102,7 +102,7 @@ class RedisStoreService extends StoreService<RedisClientType, RedisMultiType> {
|
|
|
102
102
|
try {
|
|
103
103
|
return await (multi || this.redisClient).XADD(key, id, { [args[0]]: args[1] });
|
|
104
104
|
} catch (error) {
|
|
105
|
-
this.logger.error(`Error publishing 'xadd'; key: ${key}`, { error });
|
|
105
|
+
this.logger.error(`Error publishing 'xadd'; key: ${key}`, { ...error });
|
|
106
106
|
throw error;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
@@ -123,7 +123,7 @@ class RedisStoreService extends StoreService<RedisClientType, RedisMultiType> {
|
|
|
123
123
|
if (consumer) args.push(consumer);
|
|
124
124
|
return await this.redisClient.sendCommand(['XPENDING', ...args]);
|
|
125
125
|
} catch (error) {
|
|
126
|
-
this.logger.error(`Error in retrieving pending messages for group: ${group} in key: ${key}`, { error });
|
|
126
|
+
this.logger.error(`Error in retrieving pending messages for group: ${group} in key: ${key}`, { ...error });
|
|
127
127
|
throw error;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -139,7 +139,7 @@ class RedisStoreService extends StoreService<RedisClientType, RedisMultiType> {
|
|
|
139
139
|
try {
|
|
140
140
|
return await this.redisClient.sendCommand(['XCLAIM', key, group, consumer, minIdleTime.toString(), id, ...args]) as unknown as ReclaimedMessageType;
|
|
141
141
|
} catch (error) {
|
|
142
|
-
this.logger.error(`Error in claiming message with id: ${id} in group: ${group} for key: ${key}`, { error });
|
|
142
|
+
this.logger.error(`Error in claiming message with id: ${id} in group: ${group} for key: ${key}`, { ...error });
|
|
143
143
|
throw error;
|
|
144
144
|
}
|
|
145
145
|
}
|
|
@@ -153,7 +153,7 @@ class RedisStoreService extends StoreService<RedisClientType, RedisMultiType> {
|
|
|
153
153
|
return await this.redisClient[this.commands.xack](key, group, id);
|
|
154
154
|
}
|
|
155
155
|
} catch (error) {
|
|
156
|
-
this.logger.error(`Error in acknowledging messages in group: ${group} for key: ${key}`, { error });
|
|
156
|
+
this.logger.error(`Error in acknowledging messages in group: ${group} for key: ${key}`, { ...error });
|
|
157
157
|
throw error;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
@@ -167,7 +167,7 @@ class RedisStoreService extends StoreService<RedisClientType, RedisMultiType> {
|
|
|
167
167
|
return await this.redisClient[this.commands.xdel](key, id);
|
|
168
168
|
}
|
|
169
169
|
} catch (error) {
|
|
170
|
-
this.logger.error(`Error in deleting messages with ids: ${id} for key: ${key}`, { error });
|
|
170
|
+
this.logger.error(`Error in deleting messages with ids: ${id} for key: ${key}`, { ...error });
|
|
171
171
|
throw error;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
@@ -181,7 +181,7 @@ class RedisStoreService extends StoreService<RedisClientType, RedisMultiType> {
|
|
|
181
181
|
return await this.redisClient.XLEN(key);
|
|
182
182
|
}
|
|
183
183
|
} catch (error) {
|
|
184
|
-
this.logger.error(`Error getting stream depth: ${key}`, { error });
|
|
184
|
+
this.logger.error(`Error getting stream depth: ${key}`, { ...error });
|
|
185
185
|
throw error;
|
|
186
186
|
}
|
|
187
187
|
}
|
package/services/store/index.ts
CHANGED
|
@@ -977,6 +977,8 @@ abstract class StoreService<T, U extends AbstractRedisClient> {
|
|
|
977
977
|
* This method is called by the engine and not by an activity and is
|
|
978
978
|
* followed by a call to execute job completion/cleanup tasks
|
|
979
979
|
* associated with a job completion event.
|
|
980
|
+
*
|
|
981
|
+
* Todo: move most of this logic to the engine (too much logic for the store)
|
|
980
982
|
*/
|
|
981
983
|
async interrupt(topic: string, jobId: string, options: JobInterruptOptions = {}): Promise<void> {
|
|
982
984
|
try {
|
|
@@ -1004,8 +1006,9 @@ abstract class StoreService<T, U extends AbstractRedisClient> {
|
|
|
1004
1006
|
|
|
1005
1007
|
//persists the standard 410 error (job is `gone`)
|
|
1006
1008
|
const err = JSON.stringify({
|
|
1007
|
-
code: HMSH_CODE_INTERRUPT,
|
|
1009
|
+
code: options.code ?? HMSH_CODE_INTERRUPT,
|
|
1008
1010
|
message: options.reason ?? `job [${jobId}] interrupted`,
|
|
1011
|
+
stack: options.stack ?? '',
|
|
1009
1012
|
job_id: jobId
|
|
1010
1013
|
});
|
|
1011
1014
|
|
|
@@ -51,7 +51,7 @@ class IORedisStreamService extends StreamService<RedisClientType, RedisMultiType
|
|
|
51
51
|
try {
|
|
52
52
|
return await (multi || this.redisClient).xadd(key, id, messageId, messageValue);
|
|
53
53
|
} catch (error) {
|
|
54
|
-
this.logger.error(`Error publishing 'xadd'; key: ${key}`, { error });
|
|
54
|
+
this.logger.error(`Error publishing 'xadd'; key: ${key}`, { ...error });
|
|
55
55
|
throw error;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -80,7 +80,7 @@ class IORedisStreamService extends StreamService<RedisClientType, RedisMultiType
|
|
|
80
80
|
id
|
|
81
81
|
);
|
|
82
82
|
} catch (error) {
|
|
83
|
-
this.logger.error(`Error reading stream data [Stream ${streamName}] [Group ${groupName}]`, { error });
|
|
83
|
+
this.logger.error(`Error reading stream data [Stream ${streamName}] [Group ${groupName}]`, { ...error });
|
|
84
84
|
throw error;
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -102,10 +102,10 @@ class IORedisStreamService extends StreamService<RedisClientType, RedisMultiType
|
|
|
102
102
|
try {
|
|
103
103
|
return await this.redisClient.call('XPENDING', ...args) as [string, string, number, number][];
|
|
104
104
|
} catch (error) {
|
|
105
|
-
this.logger.error('err, args', { error }, args);
|
|
105
|
+
this.logger.error('err, args', { ...error }, args);
|
|
106
106
|
}
|
|
107
107
|
} catch (error) {
|
|
108
|
-
this.logger.error(`Error in retrieving pending messages for [stream ${key}], [group ${group}]`, { error });
|
|
108
|
+
this.logger.error(`Error in retrieving pending messages for [stream ${key}], [group ${group}]`, { ...error });
|
|
109
109
|
throw error;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -121,7 +121,7 @@ class IORedisStreamService extends StreamService<RedisClientType, RedisMultiType
|
|
|
121
121
|
try {
|
|
122
122
|
return await this.redisClient.xclaim(key, group, consumer, minIdleTime, id, ...args) as unknown as ReclaimedMessageType;
|
|
123
123
|
} catch (error) {
|
|
124
|
-
this.logger.error(`Error in claiming message with id: ${id} in group: ${group} for key: ${key}`, { error });
|
|
124
|
+
this.logger.error(`Error in claiming message with id: ${id} in group: ${group} for key: ${key}`, { ...error });
|
|
125
125
|
throw error;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
@@ -130,7 +130,7 @@ class IORedisStreamService extends StreamService<RedisClientType, RedisMultiType
|
|
|
130
130
|
try {
|
|
131
131
|
return await (multi || this.redisClient).xack(key, group, id);
|
|
132
132
|
} catch (error) {
|
|
133
|
-
this.logger.error(`Error in acknowledging messages in group: ${group} for key: ${key}`, { error });
|
|
133
|
+
this.logger.error(`Error in acknowledging messages in group: ${group} for key: ${key}`, { ...error });
|
|
134
134
|
throw error;
|
|
135
135
|
}
|
|
136
136
|
}
|
|
@@ -139,7 +139,7 @@ class IORedisStreamService extends StreamService<RedisClientType, RedisMultiType
|
|
|
139
139
|
try {
|
|
140
140
|
return await (multi || this.redisClient).xdel(key, id);
|
|
141
141
|
} catch (error) {
|
|
142
|
-
this.logger.error(`Error in deleting messages with id: ${id} for key: ${key}`, { error });
|
|
142
|
+
this.logger.error(`Error in deleting messages with id: ${id} for key: ${key}`, { ...error });
|
|
143
143
|
throw error;
|
|
144
144
|
}
|
|
145
145
|
}
|
|
@@ -148,7 +148,7 @@ class IORedisStreamService extends StreamService<RedisClientType, RedisMultiType
|
|
|
148
148
|
try {
|
|
149
149
|
return await (multi || this.redisClient).xlen(key);
|
|
150
150
|
} catch (error) {
|
|
151
|
-
this.logger.error(`Error getting stream depth: ${key}`, { error });
|
|
151
|
+
this.logger.error(`Error getting stream depth: ${key}`, { ...error });
|
|
152
152
|
throw error;
|
|
153
153
|
}
|
|
154
154
|
}
|
|
@@ -149,7 +149,7 @@ class RedisStreamService extends StreamService<RedisClientType, RedisMultiType>
|
|
|
149
149
|
return await this.redisClient.XLEN(key);
|
|
150
150
|
}
|
|
151
151
|
} catch (error) {
|
|
152
|
-
this.logger.error(`Error getting stream depth: ${key}`, { error });
|
|
152
|
+
this.logger.error(`Error getting stream depth: ${key}`, { ...error });
|
|
153
153
|
throw error;
|
|
154
154
|
}
|
|
155
155
|
}
|
package/types/activity.ts
CHANGED
|
@@ -110,32 +110,104 @@ interface SignalActivity extends BaseActivity {
|
|
|
110
110
|
|
|
111
111
|
interface InterruptActivity extends BaseActivity {
|
|
112
112
|
type: 'interrupt';
|
|
113
|
-
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Optional Reason; will be used as the error `message` when thrown
|
|
116
|
+
* @default 'Job Interrupted'
|
|
117
|
+
*/
|
|
114
118
|
reason?: string;
|
|
115
|
-
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* throw JobInterrupted error upon interrupting
|
|
122
|
+
* @default true
|
|
123
|
+
*/
|
|
116
124
|
throw?: boolean;
|
|
117
|
-
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Interrupt child/descendant jobs
|
|
128
|
+
* @default false
|
|
129
|
+
*/
|
|
118
130
|
descend?: boolean;
|
|
119
|
-
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Target job id (if not present the current job will be targeted)
|
|
134
|
+
*/
|
|
120
135
|
target?: string;
|
|
121
|
-
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Optional topic to publish the interrupt message (if not present the current job topic will be used
|
|
139
|
+
*/
|
|
122
140
|
topic?: string;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Optional Error Code; will be used as the error `code` when thrown
|
|
144
|
+
* @default 410
|
|
145
|
+
*/
|
|
146
|
+
code?: number;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Optional stack trace
|
|
150
|
+
*/
|
|
151
|
+
stack?: string;
|
|
123
152
|
}
|
|
124
153
|
|
|
125
154
|
type ActivityType = BaseActivity | TriggerActivity | AwaitActivity | WorkerActivity | InterruptActivity | HookActivity | SignalActivity | CycleActivity;
|
|
126
155
|
|
|
127
156
|
type ActivityData = Record<string, any>;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Type definition for activity metadata.
|
|
160
|
+
*/
|
|
128
161
|
type ActivityMetadata = {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
162
|
+
/**
|
|
163
|
+
* Unique identifier for the activity.
|
|
164
|
+
*/
|
|
165
|
+
aid: string;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Type of the activity.
|
|
169
|
+
*/
|
|
170
|
+
atp: string;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Subtype of the activity.
|
|
174
|
+
*/
|
|
175
|
+
stp: string;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Timestamp when the activity was created, in GMT.
|
|
179
|
+
*/
|
|
180
|
+
ac: string;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Timestamp when the activity was last updated, in GMT.
|
|
184
|
+
*/
|
|
185
|
+
au: string;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Optional stringified JSON containing error details such as message, code, and an optional error object.
|
|
189
|
+
*/
|
|
190
|
+
err?: string;
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* OpenTelemetry span context for the first leg of the activity.
|
|
194
|
+
*/
|
|
195
|
+
l1s?: string;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* OpenTelemetry span context for the second leg of the activity.
|
|
199
|
+
*/
|
|
200
|
+
l2s?: string;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Dimensional address, used for additional metadata.
|
|
204
|
+
*/
|
|
205
|
+
dad?: string;
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Status of the activity, could be codes representing different states.
|
|
209
|
+
*/
|
|
210
|
+
as?: string;
|
|
139
211
|
};
|
|
140
212
|
|
|
141
213
|
type ActivityContext = {
|