@temporalio/common 1.11.1 → 1.11.3
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/activity-options.d.ts +4 -4
- package/lib/converter/payload-converter.d.ts +1 -1
- package/lib/converter/payload-converter.js +1 -1
- package/lib/converter/payload-converter.js.map +1 -1
- package/lib/internal-non-workflow/codec-helpers.js +1 -1
- package/lib/internal-non-workflow/codec-helpers.js.map +1 -1
- package/lib/internal-non-workflow/parse-host-uri.d.ts +5 -4
- package/lib/internal-non-workflow/parse-host-uri.js +8 -7
- package/lib/internal-non-workflow/parse-host-uri.js.map +1 -1
- package/lib/internal-non-workflow/tls-config.d.ts +2 -2
- package/lib/internal-non-workflow/tls-config.js.map +1 -1
- package/lib/proto-utils.d.ts +9 -4
- package/lib/proto-utils.js +85 -61
- package/lib/proto-utils.js.map +1 -1
- package/package.json +3 -3
- package/src/activity-options.ts +4 -4
- package/src/converter/payload-converter.ts +2 -2
- package/src/internal-non-workflow/codec-helpers.ts +1 -1
- package/src/internal-non-workflow/parse-host-uri.ts +6 -5
- package/src/internal-non-workflow/tls-config.ts +2 -2
- package/src/proto-utils.ts +97 -74
|
@@ -36,8 +36,8 @@ export interface ActivityOptions {
|
|
|
36
36
|
retry?: RetryPolicy;
|
|
37
37
|
/**
|
|
38
38
|
* Maximum time of a single Activity execution attempt. Note that the Temporal Server doesn't detect Worker process
|
|
39
|
-
* failures directly
|
|
40
|
-
* timeout should be as short as the longest possible execution of the Activity body. Potentially long
|
|
39
|
+
* failures directly: instead, it relies on this timeout to detect that an Activity didn't complete on time. Therefore, this
|
|
40
|
+
* timeout should be as short as the longest possible execution of the Activity body. Potentially long-running
|
|
41
41
|
* Activities must specify {@link heartbeatTimeout} and call {@link activity.Context.heartbeat} periodically for
|
|
42
42
|
* timely failure detection.
|
|
43
43
|
*
|
|
@@ -48,7 +48,7 @@ export interface ActivityOptions {
|
|
|
48
48
|
*/
|
|
49
49
|
startToCloseTimeout?: Duration;
|
|
50
50
|
/**
|
|
51
|
-
* Time that the Activity Task can stay in the Task Queue before it is picked up by a Worker. Do not specify this timeout unless using host
|
|
51
|
+
* Time that the Activity Task can stay in the Task Queue before it is picked up by a Worker. Do not specify this timeout unless using host-specific Task Queues for Activity Tasks are being used for routing.
|
|
52
52
|
* `scheduleToStartTimeout` is always non-retryable. Retrying after this timeout doesn't make sense as it would just put the Activity Task back into the same Task Queue.
|
|
53
53
|
*
|
|
54
54
|
* @default `scheduleToCloseTimeout` or unlimited
|
|
@@ -56,7 +56,7 @@ export interface ActivityOptions {
|
|
|
56
56
|
*/
|
|
57
57
|
scheduleToStartTimeout?: Duration;
|
|
58
58
|
/**
|
|
59
|
-
* Total time that a workflow is willing to wait for Activity to complete.
|
|
59
|
+
* Total time that a workflow is willing to wait for the Activity to complete.
|
|
60
60
|
* `scheduleToCloseTimeout` limits the total time of an Activity's execution including retries (use {@link startToCloseTimeout} to limit the time of a single attempt).
|
|
61
61
|
*
|
|
62
62
|
* Either this option or {@link startToCloseTimeout} is required.
|
|
@@ -53,7 +53,7 @@ export declare function fromPayloadsAtIndex<T>(converter: PayloadConverter, inde
|
|
|
53
53
|
* Run {@link PayloadConverter.fromPayload} on each value in the array.
|
|
54
54
|
*/
|
|
55
55
|
export declare function arrayFromPayloads(converter: PayloadConverter, payloads?: Payload[] | null): unknown[];
|
|
56
|
-
export declare function mapFromPayloads<K extends string>(converter: PayloadConverter, map?: Record<K, Payload> | null | undefined): Record<K, unknown> | undefined
|
|
56
|
+
export declare function mapFromPayloads<K extends string>(converter: PayloadConverter, map?: Record<K, Payload> | null | undefined): Record<K, unknown> | undefined;
|
|
57
57
|
export interface PayloadConverterWithEncoding {
|
|
58
58
|
/**
|
|
59
59
|
* Converts a value to a {@link Payload}.
|
|
@@ -60,7 +60,7 @@ function arrayFromPayloads(converter, payloads) {
|
|
|
60
60
|
exports.arrayFromPayloads = arrayFromPayloads;
|
|
61
61
|
function mapFromPayloads(converter, map) {
|
|
62
62
|
if (map == null)
|
|
63
|
-
return
|
|
63
|
+
return undefined;
|
|
64
64
|
return Object.fromEntries(Object.entries(map).map(([k, payload]) => {
|
|
65
65
|
const value = converter.fromPayload(payload);
|
|
66
66
|
return [k, value];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":";;;AAAA,0CAA6C;AAC7C,sCAA8D;AAE9D,mCAA6E;AA0B7E;;;;;;;;GAQG;AACH,SAAgB,UAAU,CAAC,SAA2B,EAAE,GAAG,MAAiB;IAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3D,CAAC;AAND,gCAMC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAmB,SAA2B,EAAE,GAAmB;IAC9F,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,CAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;AAC1B,CAAC;AAJD,sCAIC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CAAI,SAA2B,EAAE,KAAa,EAAE,QAA2B;IAC5G,yDAAyD;IACzD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5E,OAAO,SAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC;AAND,kDAMC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAA2B,EAAE,QAA2B;IACxF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5E,CAAC;AALD,8CAKC;AAED,SAAgB,eAAe,CAC7B,SAA2B,EAC3B,GAA2C;IAE3C,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,7 +96,7 @@ exports.decodeOptionalFailureToOptionalError = decodeOptionalFailureToOptionalEr
|
|
|
96
96
|
async function decodeOptionalMap(codecs, payloads) {
|
|
97
97
|
if (payloads == null)
|
|
98
98
|
return payloads;
|
|
99
|
-
return Object.fromEntries(await Promise.all(Object.entries(payloads).map(async ([k, v]) => [k, await decode(codecs, [v])])));
|
|
99
|
+
return Object.fromEntries(await Promise.all(Object.entries(payloads).map(async ([k, v]) => [k, (await decode(codecs, [v]))[0]])));
|
|
100
100
|
}
|
|
101
101
|
exports.decodeOptionalMap = decodeOptionalMap;
|
|
102
102
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec-helpers.js","sourceRoot":"","sources":["../../src/internal-non-workflow/codec-helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codec-helpers.js","sourceRoot":"","sources":["../../src/internal-non-workflow/codec-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,14 +32,15 @@ export declare function joinProtoHostPort(components: ProtoHostPort): string;
|
|
|
32
32
|
* Parse the address for the gRPC endpoint of a Temporal server.
|
|
33
33
|
*
|
|
34
34
|
* - The URI may only contain a hostname and a port.
|
|
35
|
-
* - Port is optional; it
|
|
35
|
+
* - Port is optional; if not specified, set it to `defaultPort`.
|
|
36
36
|
*
|
|
37
|
-
* Examples of valid URIs:
|
|
37
|
+
* Examples of valid URIs (assuming `defaultPort` is 7233):
|
|
38
38
|
*
|
|
39
39
|
* ```
|
|
40
|
-
* 127.0.0.1
|
|
40
|
+
* 127.0.0.1 => { host: '127.0.0.1', port: 7233 }
|
|
41
|
+
* 192.168.0.1:7233 => { host: '192.168.0.1', port: 7233 }
|
|
41
42
|
* my.temporal.service.com:7233 => { host: 'my.temporal.service.com', port: 7233 }
|
|
42
43
|
* [::ffff:192.0.2.128]:8080 => { host: '[::ffff:192.0.2.128]', port: 8080 }
|
|
43
44
|
* ```
|
|
44
45
|
*/
|
|
45
|
-
export declare function
|
|
46
|
+
export declare function normalizeGrpcEndpointAddress(uri: string, defaultPort: number): string;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* simply using `split(':')` breaks on IPv6 addresses. Hence these helpers.
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.normalizeGrpcEndpointAddress = exports.joinProtoHostPort = exports.splitProtoHostPort = void 0;
|
|
13
13
|
/**
|
|
14
14
|
* Scheme. Requires but doesn't capture the ':' or '://' separator that follows.
|
|
15
15
|
* e.g. `http:` will be captured as 'http'.
|
|
@@ -70,23 +70,24 @@ exports.joinProtoHostPort = joinProtoHostPort;
|
|
|
70
70
|
* Parse the address for the gRPC endpoint of a Temporal server.
|
|
71
71
|
*
|
|
72
72
|
* - The URI may only contain a hostname and a port.
|
|
73
|
-
* - Port is optional; it
|
|
73
|
+
* - Port is optional; if not specified, set it to `defaultPort`.
|
|
74
74
|
*
|
|
75
|
-
* Examples of valid URIs:
|
|
75
|
+
* Examples of valid URIs (assuming `defaultPort` is 7233):
|
|
76
76
|
*
|
|
77
77
|
* ```
|
|
78
|
-
* 127.0.0.1
|
|
78
|
+
* 127.0.0.1 => { host: '127.0.0.1', port: 7233 }
|
|
79
|
+
* 192.168.0.1:7233 => { host: '192.168.0.1', port: 7233 }
|
|
79
80
|
* my.temporal.service.com:7233 => { host: 'my.temporal.service.com', port: 7233 }
|
|
80
81
|
* [::ffff:192.0.2.128]:8080 => { host: '[::ffff:192.0.2.128]', port: 8080 }
|
|
81
82
|
* ```
|
|
82
83
|
*/
|
|
83
|
-
function
|
|
84
|
+
function normalizeGrpcEndpointAddress(uri, defaultPort) {
|
|
84
85
|
const splitted = splitProtoHostPort(uri);
|
|
85
86
|
if (!splitted || splitted.scheme !== undefined) {
|
|
86
87
|
throw new TypeError(`Invalid address for Temporal gRPC endpoint: expected URI of the form 'hostname' or 'hostname:port'; got '${uri}'`);
|
|
87
88
|
}
|
|
88
|
-
splitted.port ??=
|
|
89
|
+
splitted.port ??= defaultPort;
|
|
89
90
|
return joinProtoHostPort(splitted);
|
|
90
91
|
}
|
|
91
|
-
exports.
|
|
92
|
+
exports.normalizeGrpcEndpointAddress = normalizeGrpcEndpointAddress;
|
|
92
93
|
//# sourceMappingURL=parse-host-uri.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-host-uri.js","sourceRoot":"","sources":["../../src/internal-non-workflow/parse-host-uri.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH;;;GAGG;AACH,MAAM,MAAM,GAAG,2CAA2C,CAAC;AAE3D;;;GAGG;AACH,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;GAGG;AACH,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEzD,oCAAoC;AACpC,mCAAmC;AACnC,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,QAAQ,GAAG,MAAM,YAAY,IAAI,YAAY,IAAI,WAAW,GAAG,CAAC;AAEtE,sEAAsE;AACtE,mDAAmD;AACnD,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAElC,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,iBAAiB,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC;AAQvF;;;;;;;;;;;;;GAaG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAC3B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ;QACpD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9E,CAAC;AACJ,CAAC;AARD,gDAQC;AAED,SAAgB,iBAAiB,CAAC,UAAyB;IACzD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,EAAE,CAAC;AACnD,CAAC;AAND,8CAMC;AAED
|
|
1
|
+
{"version":3,"file":"parse-host-uri.js","sourceRoot":"","sources":["../../src/internal-non-workflow/parse-host-uri.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH;;;GAGG;AACH,MAAM,MAAM,GAAG,2CAA2C,CAAC;AAE3D;;;GAGG;AACH,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;GAGG;AACH,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEzD,oCAAoC;AACpC,mCAAmC;AACnC,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,QAAQ,GAAG,MAAM,YAAY,IAAI,YAAY,IAAI,WAAW,GAAG,CAAC;AAEtE,sEAAsE;AACtE,mDAAmD;AACnD,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAElC,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,iBAAiB,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC;AAQvF;;;;;;;;;;;;;GAaG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAC3B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ;QACpD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9E,CAAC;AACJ,CAAC;AARD,gDAQC;AAED,SAAgB,iBAAiB,CAAC,UAAyB;IACzD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,EAAE,CAAC;AACnD,CAAC;AAND,8CAMC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,4BAA4B,CAAC,GAAW,EAAE,WAAmB;IAC3E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,SAAS,CACjB,4GAA4G,GAAG,GAAG,CACnH,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC;IAC9B,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AATD,oEASC"}
|
|
@@ -27,8 +27,8 @@ export interface TLSConfig {
|
|
|
27
27
|
* Pass a falsy value to use a non-encrypted connection or `true` or `{}` to
|
|
28
28
|
* connect with TLS without any customization.
|
|
29
29
|
*/
|
|
30
|
-
export type TLSConfigOption = TLSConfig | boolean | null;
|
|
30
|
+
export type TLSConfigOption = TLSConfig | boolean | undefined | null;
|
|
31
31
|
/**
|
|
32
32
|
* Normalize {@link TLSConfigOption} by turning false and null to undefined and true to and empty object
|
|
33
33
|
*/
|
|
34
|
-
export declare function normalizeTlsConfig(tls
|
|
34
|
+
export declare function normalizeTlsConfig(tls: TLSConfigOption): TLSConfig | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tls-config.js","sourceRoot":"","sources":["../../src/internal-non-workflow/tls-config.ts"],"names":[],"mappings":";;;AA+BA;;GAEG;AACH,SAAgB,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"tls-config.js","sourceRoot":"","sources":["../../src/internal-non-workflow/tls-config.ts"],"names":[],"mappings":";;;AA+BA;;GAEG;AACH,SAAgB,kBAAkB,CAAC,GAAoB;IACrD,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC;AAFD,gDAEC"}
|
package/lib/proto-utils.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import * as proto from '@temporalio/proto';
|
|
2
2
|
export type History = proto.temporal.api.history.v1.IHistory;
|
|
3
3
|
export type Payload = proto.temporal.api.common.v1.IPayload;
|
|
4
|
-
/**
|
|
5
|
-
* Convert a proto JSON representation of History to a valid History object
|
|
6
|
-
*/
|
|
7
|
-
export declare function historyFromJSON(history: unknown): History;
|
|
8
4
|
/**
|
|
9
5
|
* JSON representation of Temporal's {@link Payload} protobuf object
|
|
10
6
|
*/
|
|
@@ -18,6 +14,15 @@ export interface JSONPayload {
|
|
|
18
14
|
*/
|
|
19
15
|
data?: string | null;
|
|
20
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Convert a proto JSON representation of History to a valid History object
|
|
19
|
+
*/
|
|
20
|
+
export declare function historyFromJSON(history: unknown): History;
|
|
21
|
+
/**
|
|
22
|
+
* Convert an History object, e.g. as returned by `WorkflowClient.list().withHistory()`, to a JSON
|
|
23
|
+
* string that adheres to the same norm as JSON history files produced by other Temporal tools.
|
|
24
|
+
*/
|
|
25
|
+
export declare function historyToJSON(history: History): string;
|
|
21
26
|
/**
|
|
22
27
|
* Convert from protobuf payload to JSON
|
|
23
28
|
*/
|
package/lib/proto-utils.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.JSONToPayload = exports.payloadToJSON = exports.historyFromJSON = void 0;
|
|
26
|
+
exports.JSONToPayload = exports.payloadToJSON = exports.historyToJSON = exports.historyFromJSON = void 0;
|
|
27
27
|
const proto3_json_serializer_1 = require("proto3-json-serializer");
|
|
28
28
|
const proto = __importStar(require("@temporalio/proto"));
|
|
29
29
|
const patch_protobuf_root_1 = require("@temporalio/proto/lib/patch-protobuf-root");
|
|
@@ -31,71 +31,71 @@ const patch_protobuf_root_1 = require("@temporalio/proto/lib/patch-protobuf-root
|
|
|
31
31
|
const patched = (0, patch_protobuf_root_1.patchProtobufRoot)(proto);
|
|
32
32
|
const historyType = patched.lookupType('temporal.api.history.v1.History');
|
|
33
33
|
const payloadType = patched.lookupType('temporal.api.common.v1.Payload');
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
function
|
|
38
|
-
|
|
39
|
-
[
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
// fromProto3JSON doesn't allow null values on 'bytes' fields. This turns out to be a problem for payloads.
|
|
43
|
-
// Recursively descend on objects and array, and fix in-place any payload that has a null data field
|
|
44
|
-
function fixPayloads(e) {
|
|
45
|
-
function isPayload(p) {
|
|
46
|
-
return p && typeof p === 'object' && 'metadata' in p && 'data' in p;
|
|
34
|
+
/**
|
|
35
|
+
* Convert a proto JSON representation of History to a valid History object
|
|
36
|
+
*/
|
|
37
|
+
function historyFromJSON(history) {
|
|
38
|
+
function pascalCaseToConstantCase(s) {
|
|
39
|
+
return s.replace(/[^\b][A-Z]/g, (m) => `${m[0]}_${m[1]}`).toUpperCase();
|
|
47
40
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
41
|
+
function fixEnumValue(obj, attr, prefix) {
|
|
42
|
+
return (obj[attr] && {
|
|
43
|
+
[attr]: obj[attr].startsWith(prefix) ? obj[attr] : `${prefix}_${pascalCaseToConstantCase(obj[attr])}`,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// fromProto3JSON doesn't allow null values on 'bytes' fields. This turns out to be a problem for payloads.
|
|
47
|
+
// Recursively descend on objects and array, and fix in-place any payload that has a null data field
|
|
48
|
+
function fixPayloads(e) {
|
|
49
|
+
function isPayload(p) {
|
|
50
|
+
return p && typeof p === 'object' && 'metadata' in p && 'data' in p;
|
|
51
|
+
}
|
|
52
|
+
if (e && typeof e === 'object') {
|
|
53
|
+
if (isPayload(e)) {
|
|
54
|
+
if (e.data === null) {
|
|
55
|
+
const { data: _data, ...rest } = e;
|
|
56
|
+
return rest;
|
|
57
|
+
}
|
|
58
|
+
return e;
|
|
53
59
|
}
|
|
54
|
-
|
|
60
|
+
if (Array.isArray(e))
|
|
61
|
+
return e.map(fixPayloads);
|
|
62
|
+
return Object.fromEntries(Object.entries(e).map(([k, v]) => [k, fixPayloads(v)]));
|
|
55
63
|
}
|
|
56
|
-
|
|
57
|
-
return e.map(fixPayloads);
|
|
58
|
-
return Object.fromEntries(Object.entries(e).map(([k, v]) => [k, fixPayloads(v)]));
|
|
64
|
+
return e;
|
|
59
65
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
function fixHistoryEvent(e) {
|
|
67
|
+
const type = Object.keys(e).find((k) => k.endsWith('EventAttributes'));
|
|
68
|
+
if (!type) {
|
|
69
|
+
throw new TypeError(`Missing attributes in history event: ${JSON.stringify(e)}`);
|
|
70
|
+
}
|
|
71
|
+
// Fix payloads with null data
|
|
72
|
+
e = fixPayloads(e);
|
|
73
|
+
return {
|
|
74
|
+
...e,
|
|
75
|
+
...fixEnumValue(e, 'eventType', 'EVENT_TYPE'),
|
|
76
|
+
[type]: {
|
|
77
|
+
...e[type],
|
|
78
|
+
...(e[type].taskQueue && {
|
|
79
|
+
taskQueue: { ...e[type].taskQueue, ...fixEnumValue(e[type].taskQueue, 'kind', 'TASK_QUEUE_KIND') },
|
|
80
|
+
}),
|
|
81
|
+
...fixEnumValue(e[type], 'parentClosePolicy', 'PARENT_CLOSE_POLICY'),
|
|
82
|
+
...fixEnumValue(e[type], 'workflowIdReusePolicy', 'WORKFLOW_ID_REUSE_POLICY'),
|
|
83
|
+
...fixEnumValue(e[type], 'initiator', 'CONTINUE_AS_NEW_INITIATOR'),
|
|
84
|
+
...fixEnumValue(e[type], 'retryState', 'RETRY_STATE'),
|
|
85
|
+
...(e[type].childWorkflowExecutionFailureInfo && {
|
|
86
|
+
childWorkflowExecutionFailureInfo: {
|
|
87
|
+
...e[type].childWorkflowExecutionFailureInfo,
|
|
88
|
+
...fixEnumValue(e[type].childWorkflowExecutionFailureInfo, 'retryState', 'RETRY_STATE'),
|
|
89
|
+
},
|
|
90
|
+
}),
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function fixHistory(h) {
|
|
95
|
+
return {
|
|
96
|
+
events: h.events.map(fixHistoryEvent),
|
|
97
|
+
};
|
|
66
98
|
}
|
|
67
|
-
// Fix payloads with null data
|
|
68
|
-
e = fixPayloads(e);
|
|
69
|
-
return {
|
|
70
|
-
...e,
|
|
71
|
-
...fixEnumValue(e, 'eventType', 'EVENT_TYPE'),
|
|
72
|
-
[type]: {
|
|
73
|
-
...e[type],
|
|
74
|
-
...(e[type].taskQueue && {
|
|
75
|
-
taskQueue: { ...e[type].taskQueue, ...fixEnumValue(e[type].taskQueue, 'kind', 'TASK_QUEUE_KIND') },
|
|
76
|
-
}),
|
|
77
|
-
...fixEnumValue(e[type], 'parentClosePolicy', 'PARENT_CLOSE_POLICY'),
|
|
78
|
-
...fixEnumValue(e[type], 'workflowIdReusePolicy', 'WORKFLOW_ID_REUSE_POLICY'),
|
|
79
|
-
...fixEnumValue(e[type], 'initiator', 'CONTINUE_AS_NEW_INITIATOR'),
|
|
80
|
-
...fixEnumValue(e[type], 'retryState', 'RETRY_STATE'),
|
|
81
|
-
...(e[type].childWorkflowExecutionFailureInfo && {
|
|
82
|
-
childWorkflowExecutionFailureInfo: {
|
|
83
|
-
...e[type].childWorkflowExecutionFailureInfo,
|
|
84
|
-
...fixEnumValue(e[type].childWorkflowExecutionFailureInfo, 'retryState', 'RETRY_STATE'),
|
|
85
|
-
},
|
|
86
|
-
}),
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
function fixHistory(h) {
|
|
91
|
-
return {
|
|
92
|
-
events: h.events.map(fixHistoryEvent),
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Convert a proto JSON representation of History to a valid History object
|
|
97
|
-
*/
|
|
98
|
-
function historyFromJSON(history) {
|
|
99
99
|
if (typeof history !== 'object' || history == null || !Array.isArray(history.events)) {
|
|
100
100
|
throw new TypeError('Invalid history, expected an object with an array of events');
|
|
101
101
|
}
|
|
@@ -106,6 +106,30 @@ function historyFromJSON(history) {
|
|
|
106
106
|
return loaded;
|
|
107
107
|
}
|
|
108
108
|
exports.historyFromJSON = historyFromJSON;
|
|
109
|
+
/**
|
|
110
|
+
* Convert an History object, e.g. as returned by `WorkflowClient.list().withHistory()`, to a JSON
|
|
111
|
+
* string that adheres to the same norm as JSON history files produced by other Temporal tools.
|
|
112
|
+
*/
|
|
113
|
+
function historyToJSON(history) {
|
|
114
|
+
// toProto3JSON doesn't correctly handle some of our "bytes" fields, passing them untouched to the
|
|
115
|
+
// output, after which JSON.stringify() would convert them to an array of numbers. As a workaround,
|
|
116
|
+
// recursively walk the object and convert all Buffer instances to base64 strings. Note this only
|
|
117
|
+
// works on proto3-json-serializer v2.0.0. v2.0.2 throws an error before we even get the chance
|
|
118
|
+
// to fix the buffers. See https://github.com/googleapis/proto3-json-serializer-nodejs/issues/103.
|
|
119
|
+
function fixBuffers(e) {
|
|
120
|
+
if (e && typeof e === 'object') {
|
|
121
|
+
if (e instanceof Buffer)
|
|
122
|
+
return e.toString('base64');
|
|
123
|
+
if (Array.isArray(e))
|
|
124
|
+
return e.map(fixBuffers);
|
|
125
|
+
return Object.fromEntries(Object.entries(e).map(([k, v]) => [k, fixBuffers(v)]));
|
|
126
|
+
}
|
|
127
|
+
return e;
|
|
128
|
+
}
|
|
129
|
+
const protoJson = (0, proto3_json_serializer_1.toProto3JSON)(proto.temporal.api.history.v1.History.fromObject(history));
|
|
130
|
+
return JSON.stringify(fixBuffers(protoJson), null, 2);
|
|
131
|
+
}
|
|
132
|
+
exports.historyToJSON = historyToJSON;
|
|
109
133
|
/**
|
|
110
134
|
* Convert from protobuf payload to JSON
|
|
111
135
|
*/
|
package/lib/proto-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proto-utils.js","sourceRoot":"","sources":["../src/proto-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAsE;AACtE,yDAA2C;AAC3C,mFAA8E;
|
|
1
|
+
{"version":3,"file":"proto-utils.js","sourceRoot":"","sources":["../src/proto-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/common",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.3",
|
|
4
4
|
"description": "Common library for code that's used across the Client, Worker, and/or Workflow",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"author": "Temporal Technologies Inc. <sdk@temporal.io>",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@temporalio/proto": "1.11.
|
|
15
|
+
"@temporalio/proto": "1.11.3",
|
|
16
16
|
"long": "^5.2.3",
|
|
17
17
|
"ms": "^3.0.0-canary.1",
|
|
18
18
|
"proto3-json-serializer": "^2.0.0"
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"src",
|
|
37
37
|
"lib"
|
|
38
38
|
],
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "4c90f9d844710abf7e085662373aac226ec09017"
|
|
40
40
|
}
|
package/src/activity-options.ts
CHANGED
|
@@ -48,8 +48,8 @@ export interface ActivityOptions {
|
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* Maximum time of a single Activity execution attempt. Note that the Temporal Server doesn't detect Worker process
|
|
51
|
-
* failures directly
|
|
52
|
-
* timeout should be as short as the longest possible execution of the Activity body. Potentially long
|
|
51
|
+
* failures directly: instead, it relies on this timeout to detect that an Activity didn't complete on time. Therefore, this
|
|
52
|
+
* timeout should be as short as the longest possible execution of the Activity body. Potentially long-running
|
|
53
53
|
* Activities must specify {@link heartbeatTimeout} and call {@link activity.Context.heartbeat} periodically for
|
|
54
54
|
* timely failure detection.
|
|
55
55
|
*
|
|
@@ -61,7 +61,7 @@ export interface ActivityOptions {
|
|
|
61
61
|
startToCloseTimeout?: Duration;
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
|
-
* Time that the Activity Task can stay in the Task Queue before it is picked up by a Worker. Do not specify this timeout unless using host
|
|
64
|
+
* Time that the Activity Task can stay in the Task Queue before it is picked up by a Worker. Do not specify this timeout unless using host-specific Task Queues for Activity Tasks are being used for routing.
|
|
65
65
|
* `scheduleToStartTimeout` is always non-retryable. Retrying after this timeout doesn't make sense as it would just put the Activity Task back into the same Task Queue.
|
|
66
66
|
*
|
|
67
67
|
* @default `scheduleToCloseTimeout` or unlimited
|
|
@@ -70,7 +70,7 @@ export interface ActivityOptions {
|
|
|
70
70
|
scheduleToStartTimeout?: Duration;
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
|
-
* Total time that a workflow is willing to wait for Activity to complete.
|
|
73
|
+
* Total time that a workflow is willing to wait for the Activity to complete.
|
|
74
74
|
* `scheduleToCloseTimeout` limits the total time of an Activity's execution including retries (use {@link startToCloseTimeout} to limit the time of a single attempt).
|
|
75
75
|
*
|
|
76
76
|
* Either this option or {@link startToCloseTimeout} is required.
|
|
@@ -87,8 +87,8 @@ export function arrayFromPayloads(converter: PayloadConverter, payloads?: Payloa
|
|
|
87
87
|
export function mapFromPayloads<K extends string>(
|
|
88
88
|
converter: PayloadConverter,
|
|
89
89
|
map?: Record<K, Payload> | null | undefined
|
|
90
|
-
): Record<K, unknown> | undefined
|
|
91
|
-
if (map == null) return
|
|
90
|
+
): Record<K, unknown> | undefined {
|
|
91
|
+
if (map == null) return undefined;
|
|
92
92
|
return Object.fromEntries(
|
|
93
93
|
Object.entries(map).map(([k, payload]): [K, unknown] => {
|
|
94
94
|
const value = converter.fromPayload(payload as Payload);
|
|
@@ -122,7 +122,7 @@ export async function decodeOptionalMap(
|
|
|
122
122
|
): Promise<Record<string, DecodedPayload> | null | undefined> {
|
|
123
123
|
if (payloads == null) return payloads;
|
|
124
124
|
return Object.fromEntries(
|
|
125
|
-
await Promise.all(Object.entries(payloads).map(async ([k, v]) => [k, await decode(codecs, [v])]))
|
|
125
|
+
await Promise.all(Object.entries(payloads).map(async ([k, v]) => [k, (await decode(codecs, [v]))[0]]))
|
|
126
126
|
);
|
|
127
127
|
}
|
|
128
128
|
|
|
@@ -80,23 +80,24 @@ export function joinProtoHostPort(components: ProtoHostPort): string {
|
|
|
80
80
|
* Parse the address for the gRPC endpoint of a Temporal server.
|
|
81
81
|
*
|
|
82
82
|
* - The URI may only contain a hostname and a port.
|
|
83
|
-
* - Port is optional; it
|
|
83
|
+
* - Port is optional; if not specified, set it to `defaultPort`.
|
|
84
84
|
*
|
|
85
|
-
* Examples of valid URIs:
|
|
85
|
+
* Examples of valid URIs (assuming `defaultPort` is 7233):
|
|
86
86
|
*
|
|
87
87
|
* ```
|
|
88
|
-
* 127.0.0.1
|
|
88
|
+
* 127.0.0.1 => { host: '127.0.0.1', port: 7233 }
|
|
89
|
+
* 192.168.0.1:7233 => { host: '192.168.0.1', port: 7233 }
|
|
89
90
|
* my.temporal.service.com:7233 => { host: 'my.temporal.service.com', port: 7233 }
|
|
90
91
|
* [::ffff:192.0.2.128]:8080 => { host: '[::ffff:192.0.2.128]', port: 8080 }
|
|
91
92
|
* ```
|
|
92
93
|
*/
|
|
93
|
-
export function
|
|
94
|
+
export function normalizeGrpcEndpointAddress(uri: string, defaultPort: number): string {
|
|
94
95
|
const splitted = splitProtoHostPort(uri);
|
|
95
96
|
if (!splitted || splitted.scheme !== undefined) {
|
|
96
97
|
throw new TypeError(
|
|
97
98
|
`Invalid address for Temporal gRPC endpoint: expected URI of the form 'hostname' or 'hostname:port'; got '${uri}'`
|
|
98
99
|
);
|
|
99
100
|
}
|
|
100
|
-
splitted.port ??=
|
|
101
|
+
splitted.port ??= defaultPort;
|
|
101
102
|
return joinProtoHostPort(splitted);
|
|
102
103
|
}
|
|
@@ -27,11 +27,11 @@ export interface TLSConfig {
|
|
|
27
27
|
* Pass a falsy value to use a non-encrypted connection or `true` or `{}` to
|
|
28
28
|
* connect with TLS without any customization.
|
|
29
29
|
*/
|
|
30
|
-
export type TLSConfigOption = TLSConfig | boolean | null;
|
|
30
|
+
export type TLSConfigOption = TLSConfig | boolean | undefined | null;
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Normalize {@link TLSConfigOption} by turning false and null to undefined and true to and empty object
|
|
34
34
|
*/
|
|
35
|
-
export function normalizeTlsConfig(tls
|
|
35
|
+
export function normalizeTlsConfig(tls: TLSConfigOption): TLSConfig | undefined {
|
|
36
36
|
return typeof tls === 'object' ? (tls === null ? undefined : tls) : tls ? {} : undefined;
|
|
37
37
|
}
|
package/src/proto-utils.ts
CHANGED
|
@@ -5,85 +5,99 @@ import { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
|
|
|
5
5
|
export type History = proto.temporal.api.history.v1.IHistory;
|
|
6
6
|
export type Payload = proto.temporal.api.common.v1.IPayload;
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* JSON representation of Temporal's {@link Payload} protobuf object
|
|
10
|
+
*/
|
|
11
|
+
export interface JSONPayload {
|
|
12
|
+
/**
|
|
13
|
+
* Mapping of key to base64 encoded value
|
|
14
|
+
*/
|
|
15
|
+
metadata?: Record<string, string> | null;
|
|
16
|
+
/**
|
|
17
|
+
* base64 encoded value
|
|
18
|
+
*/
|
|
19
|
+
data?: string | null;
|
|
20
|
+
}
|
|
21
|
+
|
|
8
22
|
// Cast to any because the generated proto module types are missing the lookupType method
|
|
9
23
|
const patched = patchProtobufRoot(proto) as any;
|
|
10
24
|
const historyType = patched.lookupType('temporal.api.history.v1.History');
|
|
11
25
|
const payloadType = patched.lookupType('temporal.api.common.v1.Payload');
|
|
12
26
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
[attr]: obj[attr].startsWith(prefix) ? obj[attr] : `${prefix}_${pascalCaseToConstantCase(obj[attr])}`,
|
|
21
|
-
}
|
|
22
|
-
);
|
|
23
|
-
}
|
|
27
|
+
/**
|
|
28
|
+
* Convert a proto JSON representation of History to a valid History object
|
|
29
|
+
*/
|
|
30
|
+
export function historyFromJSON(history: unknown): History {
|
|
31
|
+
function pascalCaseToConstantCase(s: string) {
|
|
32
|
+
return s.replace(/[^\b][A-Z]/g, (m) => `${m[0]}_${m[1]}`).toUpperCase();
|
|
33
|
+
}
|
|
24
34
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
35
|
+
function fixEnumValue<O extends Record<string, any>>(obj: O, attr: keyof O, prefix: string) {
|
|
36
|
+
return (
|
|
37
|
+
obj[attr] && {
|
|
38
|
+
[attr]: obj[attr].startsWith(prefix) ? obj[attr] : `${prefix}_${pascalCaseToConstantCase(obj[attr])}`,
|
|
39
|
+
}
|
|
40
|
+
);
|
|
30
41
|
}
|
|
31
42
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
// fromProto3JSON doesn't allow null values on 'bytes' fields. This turns out to be a problem for payloads.
|
|
44
|
+
// Recursively descend on objects and array, and fix in-place any payload that has a null data field
|
|
45
|
+
function fixPayloads<T>(e: T): T {
|
|
46
|
+
function isPayload(p: any): p is JSONPayload {
|
|
47
|
+
return p && typeof p === 'object' && 'metadata' in p && 'data' in p;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (e && typeof e === 'object') {
|
|
51
|
+
if (isPayload(e)) {
|
|
52
|
+
if (e.data === null) {
|
|
53
|
+
const { data: _data, ...rest } = e;
|
|
54
|
+
return rest as T;
|
|
55
|
+
}
|
|
56
|
+
return e;
|
|
37
57
|
}
|
|
38
|
-
return e;
|
|
58
|
+
if (Array.isArray(e)) return e.map(fixPayloads) as T;
|
|
59
|
+
return Object.fromEntries(Object.entries(e as object).map(([k, v]) => [k, fixPayloads(v)])) as T;
|
|
39
60
|
}
|
|
40
|
-
|
|
41
|
-
return Object.fromEntries(Object.entries(e as object).map(([k, v]) => [k, fixPayloads(v)])) as T;
|
|
61
|
+
return e;
|
|
42
62
|
}
|
|
43
|
-
return e;
|
|
44
|
-
}
|
|
45
63
|
|
|
46
|
-
function fixHistoryEvent(e: Record<string, any>) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
64
|
+
function fixHistoryEvent(e: Record<string, any>) {
|
|
65
|
+
const type = Object.keys(e).find((k) => k.endsWith('EventAttributes'));
|
|
66
|
+
if (!type) {
|
|
67
|
+
throw new TypeError(`Missing attributes in history event: ${JSON.stringify(e)}`);
|
|
68
|
+
}
|
|
51
69
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return {
|
|
56
|
-
...e,
|
|
57
|
-
...fixEnumValue(e, 'eventType', 'EVENT_TYPE'),
|
|
58
|
-
[type]: {
|
|
59
|
-
...e[type],
|
|
60
|
-
...(e[type].taskQueue && {
|
|
61
|
-
taskQueue: { ...e[type].taskQueue, ...fixEnumValue(e[type].taskQueue, 'kind', 'TASK_QUEUE_KIND') },
|
|
62
|
-
}),
|
|
63
|
-
...fixEnumValue(e[type], 'parentClosePolicy', 'PARENT_CLOSE_POLICY'),
|
|
64
|
-
...fixEnumValue(e[type], 'workflowIdReusePolicy', 'WORKFLOW_ID_REUSE_POLICY'),
|
|
65
|
-
...fixEnumValue(e[type], 'initiator', 'CONTINUE_AS_NEW_INITIATOR'),
|
|
66
|
-
...fixEnumValue(e[type], 'retryState', 'RETRY_STATE'),
|
|
67
|
-
...(e[type].childWorkflowExecutionFailureInfo && {
|
|
68
|
-
childWorkflowExecutionFailureInfo: {
|
|
69
|
-
...e[type].childWorkflowExecutionFailureInfo,
|
|
70
|
-
...fixEnumValue(e[type].childWorkflowExecutionFailureInfo, 'retryState', 'RETRY_STATE'),
|
|
71
|
-
},
|
|
72
|
-
}),
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
}
|
|
70
|
+
// Fix payloads with null data
|
|
71
|
+
e = fixPayloads(e);
|
|
76
72
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
73
|
+
return {
|
|
74
|
+
...e,
|
|
75
|
+
...fixEnumValue(e, 'eventType', 'EVENT_TYPE'),
|
|
76
|
+
[type]: {
|
|
77
|
+
...e[type],
|
|
78
|
+
...(e[type].taskQueue && {
|
|
79
|
+
taskQueue: { ...e[type].taskQueue, ...fixEnumValue(e[type].taskQueue, 'kind', 'TASK_QUEUE_KIND') },
|
|
80
|
+
}),
|
|
81
|
+
...fixEnumValue(e[type], 'parentClosePolicy', 'PARENT_CLOSE_POLICY'),
|
|
82
|
+
...fixEnumValue(e[type], 'workflowIdReusePolicy', 'WORKFLOW_ID_REUSE_POLICY'),
|
|
83
|
+
...fixEnumValue(e[type], 'initiator', 'CONTINUE_AS_NEW_INITIATOR'),
|
|
84
|
+
...fixEnumValue(e[type], 'retryState', 'RETRY_STATE'),
|
|
85
|
+
...(e[type].childWorkflowExecutionFailureInfo && {
|
|
86
|
+
childWorkflowExecutionFailureInfo: {
|
|
87
|
+
...e[type].childWorkflowExecutionFailureInfo,
|
|
88
|
+
...fixEnumValue(e[type].childWorkflowExecutionFailureInfo, 'retryState', 'RETRY_STATE'),
|
|
89
|
+
},
|
|
90
|
+
}),
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function fixHistory(h: Record<string, any>) {
|
|
96
|
+
return {
|
|
97
|
+
events: h.events.map(fixHistoryEvent),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
82
100
|
|
|
83
|
-
/**
|
|
84
|
-
* Convert a proto JSON representation of History to a valid History object
|
|
85
|
-
*/
|
|
86
|
-
export function historyFromJSON(history: unknown): History {
|
|
87
101
|
if (typeof history !== 'object' || history == null || !Array.isArray((history as any).events)) {
|
|
88
102
|
throw new TypeError('Invalid history, expected an object with an array of events');
|
|
89
103
|
}
|
|
@@ -95,17 +109,26 @@ export function historyFromJSON(history: unknown): History {
|
|
|
95
109
|
}
|
|
96
110
|
|
|
97
111
|
/**
|
|
98
|
-
*
|
|
112
|
+
* Convert an History object, e.g. as returned by `WorkflowClient.list().withHistory()`, to a JSON
|
|
113
|
+
* string that adheres to the same norm as JSON history files produced by other Temporal tools.
|
|
99
114
|
*/
|
|
100
|
-
export
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
115
|
+
export function historyToJSON(history: History): string {
|
|
116
|
+
// toProto3JSON doesn't correctly handle some of our "bytes" fields, passing them untouched to the
|
|
117
|
+
// output, after which JSON.stringify() would convert them to an array of numbers. As a workaround,
|
|
118
|
+
// recursively walk the object and convert all Buffer instances to base64 strings. Note this only
|
|
119
|
+
// works on proto3-json-serializer v2.0.0. v2.0.2 throws an error before we even get the chance
|
|
120
|
+
// to fix the buffers. See https://github.com/googleapis/proto3-json-serializer-nodejs/issues/103.
|
|
121
|
+
function fixBuffers<T>(e: T): T {
|
|
122
|
+
if (e && typeof e === 'object') {
|
|
123
|
+
if (e instanceof Buffer) return e.toString('base64') as any;
|
|
124
|
+
if (Array.isArray(e)) return e.map(fixBuffers) as T;
|
|
125
|
+
return Object.fromEntries(Object.entries(e as object).map(([k, v]) => [k, fixBuffers(v)])) as T;
|
|
126
|
+
}
|
|
127
|
+
return e;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const protoJson = toProto3JSON(proto.temporal.api.history.v1.History.fromObject(history) as any);
|
|
131
|
+
return JSON.stringify(fixBuffers(protoJson), null, 2);
|
|
109
132
|
}
|
|
110
133
|
|
|
111
134
|
/**
|