@temporalio/workflow 1.17.2 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/current-random.d.ts +1 -0
- package/lib/current-random.js +8 -0
- package/lib/current-random.js.map +1 -0
- package/lib/flags.js +1 -1
- package/lib/flags.js.map +1 -1
- package/lib/global-overrides.js +3 -2
- package/lib/global-overrides.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/interceptor-composition.d.ts +23 -0
- package/lib/interceptor-composition.js +31 -0
- package/lib/interceptor-composition.js.map +1 -0
- package/lib/interfaces.d.ts +1 -0
- package/lib/internals.d.ts +55 -12
- package/lib/internals.js +178 -52
- package/lib/internals.js.map +1 -1
- package/lib/logs.js +2 -2
- package/lib/logs.js.map +1 -1
- package/lib/metrics.js +2 -2
- package/lib/metrics.js.map +1 -1
- package/lib/nexus.js +9 -4
- package/lib/nexus.js.map +1 -1
- package/lib/random-helpers.d.ts +2 -0
- package/lib/random-helpers.js +22 -0
- package/lib/random-helpers.js.map +1 -0
- package/lib/random-stream-seed.d.ts +1 -0
- package/lib/random-stream-seed.js +19 -0
- package/lib/random-stream-seed.js.map +1 -0
- package/lib/random-streams.d.ts +78 -0
- package/lib/random-streams.js +72 -0
- package/lib/random-streams.js.map +1 -0
- package/lib/worker-interface.js +6 -4
- package/lib/worker-interface.js.map +1 -1
- package/lib/workflow.d.ts +11 -5
- package/lib/workflow.js +88 -55
- package/lib/workflow.js.map +1 -1
- package/package.json +3 -3
- package/src/current-random.ts +5 -0
- package/src/flags.ts +1 -1
- package/src/global-overrides.ts +3 -2
- package/src/index.ts +4 -2
- package/src/interceptor-composition.ts +31 -0
- package/src/interfaces.ts +5 -4
- package/src/internals.ts +213 -55
- package/src/logs.ts +1 -1
- package/src/metrics.ts +1 -1
- package/src/nexus.ts +8 -3
- package/src/random-helpers.ts +21 -0
- package/src/random-stream-seed.ts +18 -0
- package/src/random-streams.ts +132 -0
- package/src/worker-interface.ts +3 -1
- package/src/workflow.ts +99 -54
package/lib/logs.js
CHANGED
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.log = void 0;
|
|
4
4
|
exports.executeWithLifecycleLogging = executeWithLifecycleLogging;
|
|
5
5
|
exports.workflowLogAttributes = workflowLogAttributes;
|
|
6
|
-
const interceptors_1 = require("@temporalio/common/lib/interceptors");
|
|
7
6
|
const common_1 = require("@temporalio/common");
|
|
7
|
+
const interceptor_composition_1 = require("./interceptor-composition");
|
|
8
8
|
const stack_helpers_1 = require("./stack-helpers");
|
|
9
9
|
const sinks_1 = require("./sinks");
|
|
10
10
|
const errors_1 = require("./errors");
|
|
@@ -42,7 +42,7 @@ exports.log = Object.fromEntries(['trace', 'debug', 'info', 'warn', 'error'].map
|
|
|
42
42
|
level,
|
|
43
43
|
(message, attrs) => {
|
|
44
44
|
const activator = (0, global_attributes_1.assertInWorkflowContext)('Workflow.log(...) may only be used from workflow context.');
|
|
45
|
-
const getLogAttributes = (0,
|
|
45
|
+
const getLogAttributes = (0, interceptor_composition_1.composeInterceptors)(activator.interceptors.outbound, 'getLogAttributes', (a) => a);
|
|
46
46
|
return loggerSink[level](message, {
|
|
47
47
|
// Inject the call time in nanosecond resolution as expected by the worker logger.
|
|
48
48
|
[LogTimestamp]: activator.getTimeOfDay(),
|
package/lib/logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":";;;AAwFA,kEA0BC;AAMD,sDAiBC;AAzID
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"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"}
|
package/lib/metrics.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.metricMeter = void 0;
|
|
4
4
|
const common_1 = require("@temporalio/common");
|
|
5
|
-
const
|
|
5
|
+
const interceptor_composition_1 = require("./interceptor-composition");
|
|
6
6
|
const sinks_1 = require("./sinks");
|
|
7
7
|
const workflow_1 = require("./workflow");
|
|
8
8
|
const global_attributes_1 = require("./global-attributes");
|
|
@@ -112,7 +112,7 @@ const metricSink = (0, sinks_1.proxySinks)().__temporal_metrics;
|
|
|
112
112
|
*/
|
|
113
113
|
exports.metricMeter = common_1.MetricMeterWithComposedTags.compose(new WorkflowMetricMeterImpl(), () => {
|
|
114
114
|
const activator = (0, global_attributes_1.assertInWorkflowContext)('Workflow.metricMeter may only be used from workflow context.');
|
|
115
|
-
const getMetricTags = (0,
|
|
115
|
+
const getMetricTags = (0, interceptor_composition_1.composeInterceptors)(activator.interceptors.outbound, 'getMetricTags', (a) => a);
|
|
116
116
|
const info = activator.info;
|
|
117
117
|
return getMetricTags({
|
|
118
118
|
// namespace and taskQueue will be added by the Worker
|
package/lib/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":";;;AAQA,+CAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
|
package/lib/nexus.js
CHANGED
|
@@ -4,10 +4,10 @@ exports.NexusOperationCancellationType = void 0;
|
|
|
4
4
|
exports.createNexusServiceClient = createNexusServiceClient;
|
|
5
5
|
const time_1 = require("@temporalio/common/lib/time");
|
|
6
6
|
const user_metadata_1 = require("@temporalio/common/lib/user-metadata");
|
|
7
|
-
const interceptors_1 = require("@temporalio/common/lib/interceptors");
|
|
8
7
|
const enums_helpers_1 = require("@temporalio/common/lib/internal-workflow/enums-helpers");
|
|
9
8
|
const cancellation_scope_1 = require("./cancellation-scope");
|
|
10
9
|
const global_attributes_1 = require("./global-attributes");
|
|
10
|
+
const interceptor_composition_1 = require("./interceptor-composition");
|
|
11
11
|
const stack_helpers_1 = require("./stack-helpers");
|
|
12
12
|
/**
|
|
13
13
|
* Create a Nexus client for invoking Nexus Operations from a Workflow.
|
|
@@ -28,7 +28,7 @@ function createNexusServiceClient(options) {
|
|
|
28
28
|
: operation.name;
|
|
29
29
|
const activator = (0, global_attributes_1.getActivator)();
|
|
30
30
|
const seq = activator.nextSeqs.nexusOperation++;
|
|
31
|
-
const execute = (0,
|
|
31
|
+
const execute = (0, interceptor_composition_1.composeInterceptors)(activator.interceptors.outbound, 'startNexusOperation', startNexusOperationNextHandler);
|
|
32
32
|
// The interceptor returns a Promise<StartNexusOperationOutput>, with the result promise contained
|
|
33
33
|
// in that Output object. As a consequence of this, the result promise/completion does not exist
|
|
34
34
|
// until the StartNexusOperation event is received. This is totally different from what we did in
|
|
@@ -59,6 +59,11 @@ function createNexusServiceClient(options) {
|
|
|
59
59
|
}
|
|
60
60
|
function startNexusOperationNextHandler({ input, endpoint, service, options, operation, seq, headers, }) {
|
|
61
61
|
const activator = (0, global_attributes_1.getActivator)();
|
|
62
|
+
const context = {
|
|
63
|
+
type: 'workflow',
|
|
64
|
+
namespace: activator.info.namespace,
|
|
65
|
+
workflowId: activator.info.workflowId,
|
|
66
|
+
};
|
|
62
67
|
return new Promise((resolve, reject) => {
|
|
63
68
|
const scope = cancellation_scope_1.CancellationScope.current();
|
|
64
69
|
if (scope.consideredCancelled) {
|
|
@@ -84,13 +89,13 @@ function startNexusOperationNextHandler({ input, endpoint, service, options, ope
|
|
|
84
89
|
service,
|
|
85
90
|
operation,
|
|
86
91
|
nexusHeader: headers,
|
|
87
|
-
input: activator.payloadConverter.toPayload(input),
|
|
92
|
+
input: activator.payloadConverter.toPayload(input, context),
|
|
88
93
|
scheduleToCloseTimeout: (0, time_1.msOptionalToTs)(options?.scheduleToCloseTimeout),
|
|
89
94
|
scheduleToStartTimeout: (0, time_1.msOptionalToTs)(options?.scheduleToStartTimeout),
|
|
90
95
|
startToCloseTimeout: (0, time_1.msOptionalToTs)(options?.startToCloseTimeout),
|
|
91
96
|
cancellationType: encodeNexusOperationCancellationType(options?.cancellationType),
|
|
92
97
|
},
|
|
93
|
-
userMetadata: (0, user_metadata_1.userMetadataToPayload)(activator.payloadConverter, options?.summary, undefined),
|
|
98
|
+
userMetadata: (0, user_metadata_1.userMetadataToPayload)(activator.payloadConverter, options?.summary, undefined, context),
|
|
94
99
|
});
|
|
95
100
|
activator.completions.nexusOperationStart.set(seq, {
|
|
96
101
|
resolve,
|
package/lib/nexus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nexus.js","sourceRoot":"","sources":["../src/nexus.ts"],"names":[],"mappings":";;;AAsHA,4DA+DC;AApLD,sDAA6D;AAC7D,wEAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"nexus.js","sourceRoot":"","sources":["../src/nexus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fillWithRandom = fillWithRandom;
|
|
4
|
+
exports.uuid4FromRandom = uuid4FromRandom;
|
|
5
|
+
function fillWithRandom(random, bytes) {
|
|
6
|
+
for (let i = 0; i < bytes.length; ++i) {
|
|
7
|
+
bytes[i] = Math.floor(random() * 0x100);
|
|
8
|
+
}
|
|
9
|
+
return bytes;
|
|
10
|
+
}
|
|
11
|
+
function uuid4FromRandom(random) {
|
|
12
|
+
const ho = (n, p) => n.toString(16).padStart(p, '0');
|
|
13
|
+
const view = new DataView(new ArrayBuffer(16));
|
|
14
|
+
view.setUint32(0, (random() * 0x100000000) >>> 0);
|
|
15
|
+
view.setUint32(4, (random() * 0x100000000) >>> 0);
|
|
16
|
+
view.setUint32(8, (random() * 0x100000000) >>> 0);
|
|
17
|
+
view.setUint32(12, (random() * 0x100000000) >>> 0);
|
|
18
|
+
view.setUint8(6, (view.getUint8(6) & 0xf) | 0x40);
|
|
19
|
+
view.setUint8(8, (view.getUint8(8) & 0x3f) | 0x80);
|
|
20
|
+
return `${ho(view.getUint32(0), 8)}-${ho(view.getUint16(4), 4)}-${ho(view.getUint16(6), 4)}-${ho(view.getUint16(8), 4)}-${ho(view.getUint32(10), 8)}${ho(view.getUint16(14), 4)}`;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=random-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-helpers.js","sourceRoot":"","sources":["../src/random-helpers.ts"],"names":[],"mappings":";;AAAA,wCAKC;AAED,0CAaC;AApBD,SAAgB,cAAc,CAAC,MAAoB,EAAE,KAAiB;IACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,eAAe,CAAC,MAAoB;IAClD,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACnD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAC9F,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACjB,CAAC,CACF,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function deriveAleaSeed(seed: number[], namespace: string): number[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deriveAleaSeed = deriveAleaSeed;
|
|
4
|
+
const encoding_1 = require("@temporalio/common/lib/encoding");
|
|
5
|
+
const RANDOM_STREAM_SEED_PREFIX = Array.from((0, encoding_1.encode)('temporal-workflow-random-stream-v1'));
|
|
6
|
+
function encodeU32(value) {
|
|
7
|
+
return [(value >>> 24) & 0xff, (value >>> 16) & 0xff, (value >>> 8) & 0xff, value & 0xff];
|
|
8
|
+
}
|
|
9
|
+
function deriveAleaSeed(seed, namespace) {
|
|
10
|
+
const namespaceBytes = Array.from((0, encoding_1.encode)(namespace));
|
|
11
|
+
return [
|
|
12
|
+
...RANDOM_STREAM_SEED_PREFIX,
|
|
13
|
+
...encodeU32(seed.length),
|
|
14
|
+
...seed,
|
|
15
|
+
...encodeU32(namespaceBytes.length),
|
|
16
|
+
...namespaceBytes,
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=random-stream-seed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-stream-seed.js","sourceRoot":"","sources":["../src/random-stream-seed.ts"],"names":[],"mappings":";;AAQA,wCASC;AAjBD,8DAAyD;AAEzD,MAAM,yBAAyB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAA,iBAAM,EAAC,oCAAoC,CAAC,CAAC,CAAC;AAE3F,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED,SAAgB,cAAc,CAAC,IAAc,EAAE,SAAiB;IAC9D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAC,CAAC;IACrD,OAAO;QACL,GAAG,yBAAyB;QAC5B,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,GAAG,IAAI;QACP,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC;QACnC,GAAG,cAAc;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A deterministic PRNG stream scoped to the current Workflow execution.
|
|
3
|
+
*
|
|
4
|
+
* Workflow code already gets a deterministic default stream through `Math.random()`.
|
|
5
|
+
* This interface exposes additional named streams that are derived from the workflow
|
|
6
|
+
* seed without consuming that default stream. Repeated calls to
|
|
7
|
+
* {@link getRandomStream} with the same name refer to the same logical stream state
|
|
8
|
+
* for the current workflow execution, and that state is preserved across activations.
|
|
9
|
+
*
|
|
10
|
+
* The primary use case is workflow plugins and interceptors that need private,
|
|
11
|
+
* replay-stable entropy without perturbing user workflow randomness.
|
|
12
|
+
*
|
|
13
|
+
* @experimental This API may be removed or changed in the future.
|
|
14
|
+
*/
|
|
15
|
+
export interface WorkflowRandomStream {
|
|
16
|
+
/**
|
|
17
|
+
* Draw the next deterministic pseudo-random number from this stream.
|
|
18
|
+
*
|
|
19
|
+
* This is equivalent to `Math.random()`, but isolated from the workflow's main
|
|
20
|
+
* random stream and from other named streams.
|
|
21
|
+
*/
|
|
22
|
+
random(): number;
|
|
23
|
+
/**
|
|
24
|
+
* Generate a deterministic UUIDv4 backed by this stream.
|
|
25
|
+
*/
|
|
26
|
+
uuid4(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Fill a byte array deterministically from this stream.
|
|
29
|
+
*/
|
|
30
|
+
fill(bytes: Uint8Array): Uint8Array;
|
|
31
|
+
/**
|
|
32
|
+
* Run `fn` with scoped workflow-random helpers such as `Math.random()` and `uuid4()`
|
|
33
|
+
* routed through this stream.
|
|
34
|
+
*
|
|
35
|
+
* This is the scoped override API for workflow random streams. It is intended for
|
|
36
|
+
* bounded plugin/interceptor code that needs existing calls to `Math.random()` or
|
|
37
|
+
* `uuid4()` to use this stream without perturbing the workflow's default random
|
|
38
|
+
* sequence or any other named stream.
|
|
39
|
+
*
|
|
40
|
+
* The override follows async continuations started by `fn`. Workflow interceptor
|
|
41
|
+
* `next(...)` continuations restore the downstream workflow random scope before
|
|
42
|
+
* entering the rest of the interceptor chain or workflow code, so a temporary
|
|
43
|
+
* plugin scope does not leak downstream unless that downstream code explicitly
|
|
44
|
+
* establishes its own scope.
|
|
45
|
+
*
|
|
46
|
+
* Prefer explicit `stream.random()` / `stream.uuid4()` calls when that is practical.
|
|
47
|
+
* Use `stream.with(...)` when a temporary scoped override is the better fit, or
|
|
48
|
+
* when you want to keep the stream instance in module scope and reuse it directly.
|
|
49
|
+
*/
|
|
50
|
+
with<T>(fn: () => T): T;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The default deterministic random stream for the current workflow execution.
|
|
54
|
+
*
|
|
55
|
+
* This exposes the same underlying sequence used by workflow-level `Math.random()`
|
|
56
|
+
* when no named override is active. It can be useful for plugin/interceptor code
|
|
57
|
+
* that wants an explicit handle to the main workflow random stream, including from
|
|
58
|
+
* inside a temporary named scope established by another `WorkflowRandomStream`.
|
|
59
|
+
*
|
|
60
|
+
* @experimental This API may be removed or changed in the future.
|
|
61
|
+
*/
|
|
62
|
+
export declare const workflowRandom: WorkflowRandomStream;
|
|
63
|
+
/**
|
|
64
|
+
* Get a named deterministic random stream for the current workflow execution.
|
|
65
|
+
*
|
|
66
|
+
* Named streams are derived from the workflow seed and a stable stream name,
|
|
67
|
+
* without consuming the workflow's default `Math.random()` stream. Repeated
|
|
68
|
+
* calls with the same `name` within a workflow execution refer to the same
|
|
69
|
+
* logical stream state, including across activations.
|
|
70
|
+
*
|
|
71
|
+
* This is the preferred entry point for workflow plugins and interceptors that
|
|
72
|
+
* need their own deterministic entropy. Use stable package- or module-style
|
|
73
|
+
* names so the stream identity remains replay-safe, then keep the returned
|
|
74
|
+
* `WorkflowRandomStream` around and call its methods directly.
|
|
75
|
+
*
|
|
76
|
+
* @experimental This API may be removed or changed in the future.
|
|
77
|
+
*/
|
|
78
|
+
export declare function getRandomStream(name: string): WorkflowRandomStream;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.workflowRandom = void 0;
|
|
4
|
+
exports.getRandomStream = getRandomStream;
|
|
5
|
+
const global_attributes_1 = require("./global-attributes");
|
|
6
|
+
const random_helpers_1 = require("./random-helpers");
|
|
7
|
+
class ActivatorRandomStream {
|
|
8
|
+
activator;
|
|
9
|
+
name;
|
|
10
|
+
constructor(activator, name) {
|
|
11
|
+
this.activator = activator;
|
|
12
|
+
this.name = name;
|
|
13
|
+
}
|
|
14
|
+
random() {
|
|
15
|
+
return this.activator.getNamedRandom(this.name)();
|
|
16
|
+
}
|
|
17
|
+
uuid4() {
|
|
18
|
+
return (0, random_helpers_1.uuid4FromRandom)(() => this.random());
|
|
19
|
+
}
|
|
20
|
+
fill(bytes) {
|
|
21
|
+
return (0, random_helpers_1.fillWithRandom)(() => this.random(), bytes);
|
|
22
|
+
}
|
|
23
|
+
with(fn) {
|
|
24
|
+
return this.activator.withCurrentRandom(this, fn);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
class DefaultWorkflowRandomStream {
|
|
28
|
+
random() {
|
|
29
|
+
return (0, global_attributes_1.assertInWorkflowContext)('Workflow.workflowRandom may only be used from workflow context.').random();
|
|
30
|
+
}
|
|
31
|
+
uuid4() {
|
|
32
|
+
return (0, random_helpers_1.uuid4FromRandom)(() => this.random());
|
|
33
|
+
}
|
|
34
|
+
fill(bytes) {
|
|
35
|
+
return (0, random_helpers_1.fillWithRandom)(() => this.random(), bytes);
|
|
36
|
+
}
|
|
37
|
+
with(fn) {
|
|
38
|
+
const activator = (0, global_attributes_1.assertInWorkflowContext)('Workflow.workflowRandom may only be used from workflow context.');
|
|
39
|
+
return activator.withCurrentRandom(this, fn);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The default deterministic random stream for the current workflow execution.
|
|
44
|
+
*
|
|
45
|
+
* This exposes the same underlying sequence used by workflow-level `Math.random()`
|
|
46
|
+
* when no named override is active. It can be useful for plugin/interceptor code
|
|
47
|
+
* that wants an explicit handle to the main workflow random stream, including from
|
|
48
|
+
* inside a temporary named scope established by another `WorkflowRandomStream`.
|
|
49
|
+
*
|
|
50
|
+
* @experimental This API may be removed or changed in the future.
|
|
51
|
+
*/
|
|
52
|
+
exports.workflowRandom = new DefaultWorkflowRandomStream();
|
|
53
|
+
/**
|
|
54
|
+
* Get a named deterministic random stream for the current workflow execution.
|
|
55
|
+
*
|
|
56
|
+
* Named streams are derived from the workflow seed and a stable stream name,
|
|
57
|
+
* without consuming the workflow's default `Math.random()` stream. Repeated
|
|
58
|
+
* calls with the same `name` within a workflow execution refer to the same
|
|
59
|
+
* logical stream state, including across activations.
|
|
60
|
+
*
|
|
61
|
+
* This is the preferred entry point for workflow plugins and interceptors that
|
|
62
|
+
* need their own deterministic entropy. Use stable package- or module-style
|
|
63
|
+
* names so the stream identity remains replay-safe, then keep the returned
|
|
64
|
+
* `WorkflowRandomStream` around and call its methods directly.
|
|
65
|
+
*
|
|
66
|
+
* @experimental This API may be removed or changed in the future.
|
|
67
|
+
*/
|
|
68
|
+
function getRandomStream(name) {
|
|
69
|
+
const activator = (0, global_attributes_1.assertInWorkflowContext)('Workflow.getRandomStream(...) may only be used from workflow context.');
|
|
70
|
+
return new ActivatorRandomStream(activator, name);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=random-streams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-streams.js","sourceRoot":"","sources":["../src/random-streams.ts"],"names":[],"mappings":";;;AAgIA,0CAGC;AAnID,2DAA8D;AAE9D,qDAAmE;AAyDnE,MAAM,qBAAqB;IAEJ;IACA;IAFrB,YACqB,SAAoB,EACpB,IAAY;QADZ,cAAS,GAAT,SAAS,CAAW;QACpB,SAAI,GAAJ,IAAI,CAAQ;IAC9B,CAAC;IAEJ,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,KAAK;QACH,OAAO,IAAA,gCAAe,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,KAAiB;QACpB,OAAO,IAAA,+BAAc,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAI,EAAW;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,2BAA2B;IAC/B,MAAM;QACJ,OAAO,IAAA,2CAAuB,EAAC,iEAAiE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7G,CAAC;IAED,KAAK;QACH,OAAO,IAAA,gCAAe,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,KAAiB;QACpB,OAAO,IAAA,+BAAc,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAI,EAAW;QACjB,MAAM,SAAS,GAAG,IAAA,2CAAuB,EAAC,iEAAiE,CAAC,CAAC;QAC7G,OAAO,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF;AAED;;;;;;;;;GASG;AACU,QAAA,cAAc,GAAyB,IAAI,2BAA2B,EAAE,CAAC;AAEtF;;;;;;;;;;;;;;GAcG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,SAAS,GAAG,IAAA,2CAAuB,EAAC,uEAAuE,CAAC,CAAC;IACnH,OAAO,IAAI,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC"}
|
package/lib/worker-interface.js
CHANGED
|
@@ -8,8 +8,8 @@ exports.tryUnblockConditions = tryUnblockConditions;
|
|
|
8
8
|
exports.dispose = dispose;
|
|
9
9
|
exports.destroy = destroy;
|
|
10
10
|
const common_1 = require("@temporalio/common");
|
|
11
|
-
const interceptors_1 = require("@temporalio/common/lib/interceptors");
|
|
12
11
|
const internals_1 = require("./internals");
|
|
12
|
+
const interceptor_composition_1 = require("./interceptor-composition");
|
|
13
13
|
const global_attributes_1 = require("./global-attributes");
|
|
14
14
|
const OriginalDate = globalThis.Date;
|
|
15
15
|
/**
|
|
@@ -80,6 +80,8 @@ function initRuntime(options) {
|
|
|
80
80
|
if (isWorkflowFunctionWithOptions(activator.workflow)) {
|
|
81
81
|
if (typeof activator.workflow.workflowDefinitionOptions === 'object') {
|
|
82
82
|
activator.versioningBehavior = activator.workflow.workflowDefinitionOptions.versioningBehavior;
|
|
83
|
+
activator.workflowDefinitionFailureExceptionTypes =
|
|
84
|
+
activator.workflow.workflowDefinitionOptions.failureExceptionTypes;
|
|
83
85
|
}
|
|
84
86
|
else {
|
|
85
87
|
activator.workflowDefinitionOptionsGetter = activator.workflow.workflowDefinitionOptions;
|
|
@@ -146,7 +148,7 @@ function activate(activation, batchIndex = 0) {
|
|
|
146
148
|
const activator = (0, global_attributes_1.getActivator)();
|
|
147
149
|
activator.rethrowSynchronously = true;
|
|
148
150
|
try {
|
|
149
|
-
const intercept = (0,
|
|
151
|
+
const intercept = (0, interceptor_composition_1.composeInterceptors)(activator.interceptors.internals, 'activate', ({ activation }) => {
|
|
150
152
|
// Cast from the interface to the class which has the `variant` attribute.
|
|
151
153
|
// This is safe because we know that activation is a proto class.
|
|
152
154
|
const jobs = activation.jobs;
|
|
@@ -195,7 +197,7 @@ function concludeActivation() {
|
|
|
195
197
|
activator.rethrowSynchronously = true;
|
|
196
198
|
try {
|
|
197
199
|
activator.rejectBufferedUpdates();
|
|
198
|
-
const intercept = (0,
|
|
200
|
+
const intercept = (0, interceptor_composition_1.composeInterceptors)(activator.interceptors.internals, 'concludeActivation', (input) => input);
|
|
199
201
|
const activationCompletion = activator.concludeActivation();
|
|
200
202
|
const { commands } = intercept({ commands: activationCompletion.commands });
|
|
201
203
|
if (activator.completed) {
|
|
@@ -253,7 +255,7 @@ function dispose() {
|
|
|
253
255
|
activator.rethrowSynchronously = true;
|
|
254
256
|
try {
|
|
255
257
|
try {
|
|
256
|
-
const dispose = (0,
|
|
258
|
+
const dispose = (0, interceptor_composition_1.composeInterceptors)(activator.interceptors.internals, 'dispose', async () => { });
|
|
257
259
|
dispose({});
|
|
258
260
|
}
|
|
259
261
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-interface.js","sourceRoot":"","sources":["../src/worker-interface.ts"],"names":[],"mappings":";;AAwBA,
|
|
1
|
+
{"version":3,"file":"worker-interface.js","sourceRoot":"","sources":["../src/worker-interface.ts"],"names":[],"mappings":"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"}
|
package/lib/workflow.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ export type ActivityFunctionWithOptions<T extends ActivityFunction> = T & {
|
|
|
69
69
|
* provided options.
|
|
70
70
|
*
|
|
71
71
|
* @param options ActivityOptions
|
|
72
|
-
* @param args
|
|
72
|
+
* @param args list of arguments
|
|
73
73
|
* @returns return value of the activity
|
|
74
74
|
*
|
|
75
75
|
* @experimental executeWithOptions is a new method to provide call-site options and is subject to change
|
|
@@ -88,7 +88,7 @@ export type LocalActivityFunctionWithOptions<T extends ActivityFunction> = T & {
|
|
|
88
88
|
* provided options.
|
|
89
89
|
*
|
|
90
90
|
* @param options LocalActivityOptions
|
|
91
|
-
* @param args
|
|
91
|
+
* @param args list of arguments
|
|
92
92
|
* @returns return value of the activity
|
|
93
93
|
*
|
|
94
94
|
* @experimental executeWithOptions is a new method to provide call-site options and is subject to change
|
|
@@ -308,7 +308,7 @@ export declare function inWorkflowContext(): boolean;
|
|
|
308
308
|
*/
|
|
309
309
|
export declare function makeContinueAsNewFunc<F extends Workflow>(options?: ContinueAsNewOptions): (...args: Parameters<F>) => Promise<never>;
|
|
310
310
|
/**
|
|
311
|
-
* {@link https://docs.temporal.io/
|
|
311
|
+
* {@link https://docs.temporal.io/workflow-execution/continue-as-new#continue-as-new | Continues-As-New} the current Workflow Execution
|
|
312
312
|
* with default options.
|
|
313
313
|
*
|
|
314
314
|
* Shorthand for `makeContinueAsNewFunc<F>()(...args)`. (See: {@link makeContinueAsNewFunc}.)
|
|
@@ -549,7 +549,10 @@ export declare function allHandlersFinished(): boolean;
|
|
|
549
549
|
* @example
|
|
550
550
|
* For example:
|
|
551
551
|
* ```ts
|
|
552
|
-
* setWorkflowOptions({
|
|
552
|
+
* setWorkflowOptions({
|
|
553
|
+
* versioningBehavior: 'PINNED',
|
|
554
|
+
* failureExceptionTypes: [CustomWorkflowError]
|
|
555
|
+
* }, myWorkflow);
|
|
553
556
|
* export async function myWorkflow(): Promise<string> {
|
|
554
557
|
* // Workflow code here
|
|
555
558
|
* return "hi";
|
|
@@ -563,7 +566,10 @@ export declare function allHandlersFinished(): boolean;
|
|
|
563
566
|
* // Workflow code here
|
|
564
567
|
* return "hi";
|
|
565
568
|
* }
|
|
566
|
-
* setWorkflowOptions({
|
|
569
|
+
* setWorkflowOptions({
|
|
570
|
+
* versioningBehavior: 'PINNED',
|
|
571
|
+
* failureExceptionTypes: [CustomWorkflowError]
|
|
572
|
+
* }, module.exports.default);
|
|
567
573
|
* ```
|
|
568
574
|
*
|
|
569
575
|
* @param options Options for the workflow defintion, or a function that returns options. If a
|