@temporalio/common 0.21.0 → 1.0.0-rc.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/README.md +3 -3
- package/lib/converter/data-converter.d.ts +8 -4
- package/lib/converter/data-converter.js +3 -4
- package/lib/converter/data-converter.js.map +1 -1
- package/lib/converter/json-payload-converter.d.ts +10 -0
- package/lib/converter/json-payload-converter.js +39 -0
- package/lib/converter/json-payload-converter.js.map +1 -0
- package/lib/converter/patch-protobuf-root.d.ts +1 -8
- package/lib/converter/patch-protobuf-root.js +2 -39
- package/lib/converter/patch-protobuf-root.js.map +1 -1
- package/lib/converter/payload-codec.d.ts +0 -7
- package/lib/converter/payload-codec.js +0 -8
- package/lib/converter/payload-codec.js.map +1 -1
- package/lib/converter/payload-converter.d.ts +13 -44
- package/lib/converter/payload-converter.js +8 -85
- package/lib/converter/payload-converter.js.map +1 -1
- package/lib/converter/payload-converters.d.ts +48 -13
- package/lib/converter/payload-converters.js +74 -36
- package/lib/converter/payload-converters.js.map +1 -1
- package/lib/converter/protobuf-payload-converters.d.ts +1 -2
- package/lib/converter/protobuf-payload-converters.js +7 -5
- package/lib/converter/protobuf-payload-converters.js.map +1 -1
- package/lib/converter/search-attribute-payload-converter.d.ts +12 -0
- package/lib/converter/search-attribute-payload-converter.js +64 -0
- package/lib/converter/search-attribute-payload-converter.js.map +1 -0
- package/lib/converter/types.d.ts +1 -2
- package/lib/converter/types.js.map +1 -1
- package/lib/failure.d.ts +1 -1
- package/lib/failure.js +16 -5
- package/lib/failure.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/protobufs.d.ts +1 -1
- package/lib/protobufs.js +1 -1
- package/package.json +4 -4
- package/src/converter/data-converter.ts +12 -7
- package/src/converter/json-payload-converter.ts +37 -0
- package/src/converter/patch-protobuf-root.ts +1 -49
- package/src/converter/payload-codec.ts +0 -8
- package/src/converter/payload-converter.ts +17 -99
- package/src/converter/payload-converters.ts +99 -41
- package/src/converter/protobuf-payload-converters.ts +8 -4
- package/src/converter/search-attribute-payload-converter.ts +71 -0
- package/src/converter/types.ts +1 -2
- package/src/failure.ts +17 -7
- package/src/index.ts +1 -0
- package/src/protobufs.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,63 +1,78 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.defaultPayloadConverter = exports.DefaultPayloadConverter = exports.searchAttributePayloadConverter = exports.BinaryPayloadConverter = exports.UndefinedPayloadConverter = exports.CompositePayloadConverter = void 0;
|
|
4
4
|
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
5
|
+
const json_payload_converter_1 = require("./json-payload-converter");
|
|
6
|
+
const search_attribute_payload_converter_1 = require("./search-attribute-payload-converter");
|
|
5
7
|
const types_1 = require("./types");
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* Tries to convert values to {@link Payload}s using the {@link PayloadConverterWithEncoding}s provided to the constructor, in the order provided.
|
|
10
|
+
*
|
|
11
|
+
* Converts Payloads to values based on the `Payload.metadata.encoding` field, which matches the {@link PayloadConverterWithEncoding.encodingType}
|
|
12
|
+
* of the converter that created the Payload.
|
|
8
13
|
*/
|
|
9
|
-
class
|
|
10
|
-
constructor() {
|
|
11
|
-
this.
|
|
14
|
+
class CompositePayloadConverter {
|
|
15
|
+
constructor(...converters) {
|
|
16
|
+
this.converterByEncoding = new Map();
|
|
17
|
+
if (converters.length === 0) {
|
|
18
|
+
throw new internal_workflow_common_1.PayloadConverterError('Must provide at least one PayloadConverterWithEncoding');
|
|
19
|
+
}
|
|
20
|
+
this.converters = converters;
|
|
21
|
+
for (const converter of converters) {
|
|
22
|
+
this.converterByEncoding.set(converter.encodingType, converter);
|
|
23
|
+
}
|
|
12
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Tries to run `.toPayload(value)` on each converter in the order provided at construction.
|
|
27
|
+
* Returns the first successful result, throws {@link ValueError} if there is no converter that can handle the value.
|
|
28
|
+
*/
|
|
13
29
|
toPayload(value) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
30
|
+
for (const converter of this.converters) {
|
|
31
|
+
const result = converter.toPayload(value);
|
|
32
|
+
if (result !== undefined) {
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
throw new internal_workflow_common_1.ValueError(`Unable to convert ${value} to payload`);
|
|
21
37
|
}
|
|
22
|
-
|
|
23
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Run {@link PayloadConverterWithEncoding.fromPayload} based on the {@link encodingTypes | encoding type} of the {@link Payload}.
|
|
40
|
+
*/
|
|
41
|
+
fromPayload(payload) {
|
|
42
|
+
if (payload.metadata === undefined || payload.metadata === null) {
|
|
43
|
+
throw new internal_workflow_common_1.ValueError('Missing payload metadata');
|
|
44
|
+
}
|
|
45
|
+
const encoding = (0, types_1.str)(payload.metadata[types_1.METADATA_ENCODING_KEY]);
|
|
46
|
+
const converter = this.converterByEncoding.get(encoding);
|
|
47
|
+
if (converter === undefined) {
|
|
48
|
+
throw new internal_workflow_common_1.ValueError(`Unknown encoding: ${encoding}`);
|
|
49
|
+
}
|
|
50
|
+
return converter.fromPayload(payload);
|
|
24
51
|
}
|
|
25
52
|
}
|
|
26
|
-
exports.
|
|
53
|
+
exports.CompositePayloadConverter = CompositePayloadConverter;
|
|
27
54
|
/**
|
|
28
|
-
* Converts between
|
|
29
|
-
*
|
|
30
|
-
* @throws UnsupportedJsonTypeError
|
|
55
|
+
* Converts between JS undefined and NULL Payload
|
|
31
56
|
*/
|
|
32
|
-
class
|
|
57
|
+
class UndefinedPayloadConverter {
|
|
33
58
|
constructor() {
|
|
34
|
-
this.encodingType = types_1.encodingTypes.
|
|
59
|
+
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_NULL;
|
|
35
60
|
}
|
|
36
61
|
toPayload(value) {
|
|
37
|
-
if (value
|
|
62
|
+
if (value !== undefined) {
|
|
38
63
|
return undefined;
|
|
39
|
-
let json;
|
|
40
|
-
try {
|
|
41
|
-
json = JSON.stringify(value);
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
throw new internal_workflow_common_1.UnsupportedJsonTypeError(`Can't run JSON.stringify on this value: ${value}. Either convert it (or its properties) to JSON-serializable values (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description ), or use a custom data converter: https://docs.temporal.io/docs/typescript/data-converters . JSON.stringify error message: ${(0, internal_workflow_common_1.errorMessage)(e)}`, e);
|
|
45
64
|
}
|
|
46
65
|
return {
|
|
47
66
|
metadata: {
|
|
48
|
-
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.
|
|
67
|
+
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_NULL,
|
|
49
68
|
},
|
|
50
|
-
data: (0, types_1.u8)(json),
|
|
51
69
|
};
|
|
52
70
|
}
|
|
53
|
-
fromPayload(
|
|
54
|
-
|
|
55
|
-
throw new internal_workflow_common_1.ValueError('Got payload with no data');
|
|
56
|
-
}
|
|
57
|
-
return JSON.parse((0, types_1.str)(content.data));
|
|
71
|
+
fromPayload(_content) {
|
|
72
|
+
return undefined; // Just return undefined
|
|
58
73
|
}
|
|
59
74
|
}
|
|
60
|
-
exports.
|
|
75
|
+
exports.UndefinedPayloadConverter = UndefinedPayloadConverter;
|
|
61
76
|
/**
|
|
62
77
|
* Converts between binary data types and RAW Payload
|
|
63
78
|
*/
|
|
@@ -67,8 +82,9 @@ class BinaryPayloadConverter {
|
|
|
67
82
|
}
|
|
68
83
|
toPayload(value) {
|
|
69
84
|
// TODO: support any DataView or ArrayBuffer?
|
|
70
|
-
if (!(value instanceof Uint8Array))
|
|
85
|
+
if (!(value instanceof Uint8Array)) {
|
|
71
86
|
return undefined;
|
|
87
|
+
}
|
|
72
88
|
return {
|
|
73
89
|
metadata: {
|
|
74
90
|
[types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_RAW,
|
|
@@ -82,4 +98,26 @@ class BinaryPayloadConverter {
|
|
|
82
98
|
}
|
|
83
99
|
}
|
|
84
100
|
exports.BinaryPayloadConverter = BinaryPayloadConverter;
|
|
101
|
+
exports.searchAttributePayloadConverter = new search_attribute_payload_converter_1.SearchAttributePayloadConverter();
|
|
102
|
+
class DefaultPayloadConverter extends CompositePayloadConverter {
|
|
103
|
+
// Match the order used in other SDKs, but exclude Protobuf converters so that the code, including
|
|
104
|
+
// `proto3-json-serializer`, doesn't take space in Workflow bundles that don't use Protobufs. To use Protobufs, use
|
|
105
|
+
// {@link DefaultPayloadConverterWithProtobufs}.
|
|
106
|
+
//
|
|
107
|
+
// Go SDK:
|
|
108
|
+
// https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
|
|
109
|
+
constructor() {
|
|
110
|
+
super(new UndefinedPayloadConverter(), new BinaryPayloadConverter(), new json_payload_converter_1.JsonPayloadConverter());
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.DefaultPayloadConverter = DefaultPayloadConverter;
|
|
114
|
+
/**
|
|
115
|
+
* The default {@link PayloadConverter} used by the SDK.
|
|
116
|
+
* Supports `Uint8Array` and JSON serializables (so if [`JSON.stringify(yourArgOrRetval)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description) works, the default payload converter will work).
|
|
117
|
+
*
|
|
118
|
+
* To also support Protobufs, create a custom payload converter with {@link DefaultPayloadConverter}:
|
|
119
|
+
*
|
|
120
|
+
* `const myConverter = new DefaultPayloadConverter({ protobufRoot })`
|
|
121
|
+
*/
|
|
122
|
+
exports.defaultPayloadConverter = new DefaultPayloadConverter();
|
|
85
123
|
//# sourceMappingURL=payload-converters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-converters.js","sourceRoot":"","sources":["../../src/converter/payload-converters.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"payload-converters.js","sourceRoot":"","sources":["../../src/converter/payload-converters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Root, Type } from 'protobufjs';
|
|
2
|
-
import { CompositePayloadConverter } from './payload-
|
|
3
|
-
import { PayloadConverterWithEncoding } from './payload-converters';
|
|
2
|
+
import { CompositePayloadConverter, PayloadConverterWithEncoding } from './payload-converters';
|
|
4
3
|
import { EncodingType, Payload } from './types';
|
|
5
4
|
declare abstract class ProtobufPayloadConverter implements PayloadConverterWithEncoding {
|
|
6
5
|
protected readonly root: Root | undefined;
|
|
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.DefaultPayloadConverterWithProtobufs = exports.ProtobufJsonPayloadConverter = exports.ProtobufBinaryPayloadConverter = void 0;
|
|
27
27
|
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
28
28
|
const protoJsonSerializer = __importStar(require("proto3-json-serializer"));
|
|
29
|
-
const
|
|
29
|
+
const json_payload_converter_1 = require("./json-payload-converter");
|
|
30
30
|
const payload_converters_1 = require("./payload-converters");
|
|
31
31
|
const types_1 = require("./types");
|
|
32
32
|
class ProtobufPayloadConverter {
|
|
@@ -84,8 +84,9 @@ class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
|
|
|
84
84
|
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF;
|
|
85
85
|
}
|
|
86
86
|
toPayload(value) {
|
|
87
|
-
if (!isProtobufMessage(value))
|
|
87
|
+
if (!isProtobufMessage(value)) {
|
|
88
88
|
return undefined;
|
|
89
|
+
}
|
|
89
90
|
return this.constructPayload({
|
|
90
91
|
messageTypeName: getNamespacedTypeName(value.$type),
|
|
91
92
|
message: value.$type.encode(value).finish(),
|
|
@@ -109,8 +110,9 @@ class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
|
|
|
109
110
|
this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF_JSON;
|
|
110
111
|
}
|
|
111
112
|
toPayload(value) {
|
|
112
|
-
if (!isProtobufMessage(value))
|
|
113
|
+
if (!isProtobufMessage(value)) {
|
|
113
114
|
return undefined;
|
|
115
|
+
}
|
|
114
116
|
const jsonValue = protoJsonSerializer.toProto3JSON(value);
|
|
115
117
|
return this.constructPayload({
|
|
116
118
|
messageTypeName: getNamespacedTypeName(value.$type),
|
|
@@ -146,13 +148,13 @@ function getNamespacedTypeName(node) {
|
|
|
146
148
|
function isRoot(root) {
|
|
147
149
|
return (0, internal_workflow_common_1.isRecord)(root) && root.constructor.name === 'Root';
|
|
148
150
|
}
|
|
149
|
-
class DefaultPayloadConverterWithProtobufs extends
|
|
151
|
+
class DefaultPayloadConverterWithProtobufs extends payload_converters_1.CompositePayloadConverter {
|
|
150
152
|
// Match the order used in other SDKs.
|
|
151
153
|
//
|
|
152
154
|
// Go SDK:
|
|
153
155
|
// https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
|
|
154
156
|
constructor({ protobufRoot }) {
|
|
155
|
-
super(new payload_converters_1.UndefinedPayloadConverter(), new payload_converters_1.BinaryPayloadConverter(), new ProtobufJsonPayloadConverter(protobufRoot), new ProtobufBinaryPayloadConverter(protobufRoot), new
|
|
157
|
+
super(new payload_converters_1.UndefinedPayloadConverter(), new payload_converters_1.BinaryPayloadConverter(), new ProtobufJsonPayloadConverter(protobufRoot), new ProtobufBinaryPayloadConverter(protobufRoot), new json_payload_converter_1.JsonPayloadConverter());
|
|
156
158
|
}
|
|
157
159
|
}
|
|
158
160
|
exports.DefaultPayloadConverterWithProtobufs = DefaultPayloadConverterWithProtobufs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protobuf-payload-converters.js","sourceRoot":"","sources":["../../src/converter/protobuf-payload-converters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAO8C;AAC9C,4EAA8D;AAE9D,
|
|
1
|
+
{"version":3,"file":"protobuf-payload-converters.js","sourceRoot":"","sources":["../../src/converter/protobuf-payload-converters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PayloadConverter } from './payload-converter';
|
|
2
|
+
import { Payload } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Converts Search Attribute values using JsonPayloadConverter
|
|
5
|
+
*/
|
|
6
|
+
export declare class SearchAttributePayloadConverter implements PayloadConverter {
|
|
7
|
+
toPayload(values: unknown): Payload;
|
|
8
|
+
/**
|
|
9
|
+
* Datetime Search Attribute values are converted to `Date`s
|
|
10
|
+
*/
|
|
11
|
+
fromPayload<T>(payload: Payload): T;
|
|
12
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchAttributePayloadConverter = void 0;
|
|
4
|
+
const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
|
|
5
|
+
const json_payload_converter_1 = require("./json-payload-converter");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
const jsonConverter = new json_payload_converter_1.JsonPayloadConverter();
|
|
8
|
+
const validNonDateTypes = ['string', 'number', 'boolean'];
|
|
9
|
+
/**
|
|
10
|
+
* Converts Search Attribute values using JsonPayloadConverter
|
|
11
|
+
*/
|
|
12
|
+
class SearchAttributePayloadConverter {
|
|
13
|
+
toPayload(values) {
|
|
14
|
+
if (!(values instanceof Array)) {
|
|
15
|
+
throw new internal_workflow_common_1.ValueError(`SearchAttribute value must be an array`);
|
|
16
|
+
}
|
|
17
|
+
if (values.length > 0) {
|
|
18
|
+
const firstValue = values[0];
|
|
19
|
+
const firstType = typeof firstValue;
|
|
20
|
+
if (firstType === 'object') {
|
|
21
|
+
for (const idx in values) {
|
|
22
|
+
const value = values[idx];
|
|
23
|
+
if (!(value instanceof Date)) {
|
|
24
|
+
throw new internal_workflow_common_1.ValueError(`SearchAttribute values must arrays of strings, numbers, booleans, or Dates. The value ${value} at index ${idx} is of type ${typeof value}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
if (!validNonDateTypes.includes(firstType)) {
|
|
30
|
+
throw new internal_workflow_common_1.ValueError(`SearchAttribute array values must be: string | number | boolean | Date`);
|
|
31
|
+
}
|
|
32
|
+
for (const idx in values) {
|
|
33
|
+
const value = values[idx];
|
|
34
|
+
if (typeof value !== firstType) {
|
|
35
|
+
throw new internal_workflow_common_1.ValueError(`All SearchAttribute array values must be of the same type. The first value ${firstValue} of type ${firstType} doesn't match value ${value} of type ${typeof value} at index ${idx}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// JSON.stringify takes care of converting Dates to ISO strings
|
|
41
|
+
const ret = jsonConverter.toPayload(values);
|
|
42
|
+
if (ret === undefined) {
|
|
43
|
+
throw new internal_workflow_common_1.IllegalStateError('Could not convert search attributes to payloads');
|
|
44
|
+
}
|
|
45
|
+
return ret;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Datetime Search Attribute values are converted to `Date`s
|
|
49
|
+
*/
|
|
50
|
+
fromPayload(payload) {
|
|
51
|
+
if (payload.metadata === undefined || payload.metadata === null) {
|
|
52
|
+
throw new internal_workflow_common_1.ValueError('Missing payload metadata');
|
|
53
|
+
}
|
|
54
|
+
const value = jsonConverter.fromPayload(payload);
|
|
55
|
+
let arrayWrappedValue = value instanceof Array ? value : [value];
|
|
56
|
+
const searchAttributeType = (0, types_1.str)(payload.metadata.type);
|
|
57
|
+
if (searchAttributeType === 'Datetime') {
|
|
58
|
+
arrayWrappedValue = arrayWrappedValue.map((dateString) => new Date(dateString));
|
|
59
|
+
}
|
|
60
|
+
return arrayWrappedValue;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.SearchAttributePayloadConverter = SearchAttributePayloadConverter;
|
|
64
|
+
//# sourceMappingURL=search-attribute-payload-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-attribute-payload-converter.js","sourceRoot":"","sources":["../../src/converter/search-attribute-payload-converter.ts"],"names":[],"mappings":";;;AAAA,mFAAqF;AAErF,qEAAgE;AAChE,mCAAuC;AAEvC,MAAM,aAAa,GAAG,IAAI,6CAAoB,EAAE,CAAC;AACjD,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAa,+BAA+B;IACnC,SAAS,CAAC,MAAe;QAC9B,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,qCAAU,CAAC,wCAAwC,CAAC,CAAC;SAChE;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC;YACpC,IAAI,SAAS,KAAK,QAAQ,EAAE;gBAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACxB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE;wBAC5B,MAAM,IAAI,qCAAU,CAClB,yFAAyF,KAAK,aAAa,GAAG,eAAe,OAAO,KAAK,EAAE,CAC5I,CAAC;qBACH;iBACF;aACF;iBAAM;gBACL,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBAC1C,MAAM,IAAI,qCAAU,CAAC,wEAAwE,CAAC,CAAC;iBAChG;gBAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACxB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;wBAC9B,MAAM,IAAI,qCAAU,CAClB,8EAA8E,UAAU,YAAY,SAAS,wBAAwB,KAAK,YAAY,OAAO,KAAK,aAAa,GAAG,EAAE,CACrL,CAAC;qBACH;iBACF;aACF;SACF;QAED,+DAA+D;QAC/D,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,MAAM,IAAI,4CAAiB,CAAC,iDAAiD,CAAC,CAAC;SAChF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACI,WAAW,CAAI,OAAgB;QACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC/D,MAAM,IAAI,qCAAU,CAAC,0BAA0B,CAAC,CAAC;SAClD;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,iBAAiB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEjE,MAAM,mBAAmB,GAAG,IAAA,WAAG,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,mBAAmB,KAAK,UAAU,EAAE;YACtC,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;SACjF;QACD,OAAO,iBAAiC,CAAC;IAC3C,CAAC;CACF;AA3DD,0EA2DC"}
|
package/lib/converter/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/converter/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/converter/types.ts"],"names":[],"mappings":";;;AAAA,yCAAsD;AAItD;;GAEG;AACH,SAAgB,EAAE,CAAC,CAAS;IAC1B,OAAO,IAAI,sBAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,gBAEC;AAED,SAAgB,GAAG,CAAC,CAAa;IAC/B,OAAO,IAAI,sBAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,kBAEC;AAEY,QAAA,qBAAqB,GAAG,UAAU,CAAC;AACnC,QAAA,aAAa,GAAG;IAC3B,sBAAsB,EAAE,aAAa;IACrC,qBAAqB,EAAE,cAAc;IACrC,sBAAsB,EAAE,YAAY;IACpC,+BAA+B,EAAE,eAAe;IAChD,0BAA0B,EAAE,iBAAiB;CACrC,CAAC;AAGE,QAAA,YAAY,GAAG;IAC1B,sBAAsB,EAAE,EAAE,CAAC,qBAAa,CAAC,sBAAsB,CAAC;IAChE,qBAAqB,EAAE,EAAE,CAAC,qBAAa,CAAC,qBAAqB,CAAC;IAC9D,sBAAsB,EAAE,EAAE,CAAC,qBAAa,CAAC,sBAAsB,CAAC;IAChE,+BAA+B,EAAE,EAAE,CAAC,qBAAa,CAAC,+BAA+B,CAAC;IAClF,0BAA0B,EAAE,EAAE,CAAC,qBAAa,CAAC,0BAA0B,CAAC;CAChE,CAAC;AAEE,QAAA,yBAAyB,GAAG,aAAa,CAAC"}
|
package/lib/failure.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { temporal } from '@temporalio/proto
|
|
1
|
+
import type { temporal } from '@temporalio/proto';
|
|
2
2
|
import { PayloadConverter } from './converter/payload-converter';
|
|
3
3
|
export declare const FAILURE_SOURCE = "TypeScriptSDK";
|
|
4
4
|
export declare type ProtoFailure = temporal.api.failure.v1.IFailure;
|
package/lib/failure.js
CHANGED
|
@@ -197,9 +197,9 @@ const CUTOFF_STACK_PATTERNS = [
|
|
|
197
197
|
/** Activity execution */
|
|
198
198
|
/\s+at Activity\.execute \(.*[\\/]worker[\\/](?:src|lib)[\\/]activity\.[jt]s:\d+:\d+\)/,
|
|
199
199
|
/** Workflow activation */
|
|
200
|
-
/\s+at Activator\.\S+NextHandler \(
|
|
200
|
+
/\s+at Activator\.\S+NextHandler \(.*[\\/]workflow[\\/](?:src|lib)[\\/]internals\.[jt]s:\d+:\d+\)/,
|
|
201
201
|
/** Workflow run anything in context */
|
|
202
|
-
/\s+at Script\.runInContext/,
|
|
202
|
+
/\s+at Script\.runInContext \((?:node:vm|vm\.js):\d+:\d+\)/,
|
|
203
203
|
];
|
|
204
204
|
/**
|
|
205
205
|
* Cuts out the framework part of a stack trace, leaving only user code entries
|
|
@@ -304,11 +304,21 @@ function errorToFailure(err, payloadConverter) {
|
|
|
304
304
|
cause: optionalErrorToOptionalFailure(err.cause, payloadConverter),
|
|
305
305
|
};
|
|
306
306
|
}
|
|
307
|
-
const recommendation = ` [A non-Error value was thrown from your code. We recommend throwing Error objects so that we can provide a stack trace
|
|
307
|
+
const recommendation = ` [A non-Error value was thrown from your code. We recommend throwing Error objects so that we can provide a stack trace]`;
|
|
308
308
|
if (typeof err === 'string') {
|
|
309
309
|
return { ...base, message: err + recommendation };
|
|
310
310
|
}
|
|
311
|
-
|
|
311
|
+
if (typeof err === 'object') {
|
|
312
|
+
let message = '';
|
|
313
|
+
try {
|
|
314
|
+
message = JSON.stringify(err);
|
|
315
|
+
}
|
|
316
|
+
catch (_err) {
|
|
317
|
+
message = String(err);
|
|
318
|
+
}
|
|
319
|
+
return { ...base, message: message + recommendation };
|
|
320
|
+
}
|
|
321
|
+
return { ...base, message: String(err) + recommendation };
|
|
312
322
|
}
|
|
313
323
|
exports.errorToFailure = errorToFailure;
|
|
314
324
|
/**
|
|
@@ -323,7 +333,8 @@ function ensureTemporalFailure(err) {
|
|
|
323
333
|
return err;
|
|
324
334
|
}
|
|
325
335
|
else if (err instanceof Error) {
|
|
326
|
-
const
|
|
336
|
+
const name = err.constructor?.name ?? err.name;
|
|
337
|
+
const failure = new ApplicationFailure(err.message, name, false);
|
|
327
338
|
failure.stack = err.stack;
|
|
328
339
|
return failure;
|
|
329
340
|
}
|
package/lib/failure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -13,5 +13,6 @@ export * from './converter/data-converter';
|
|
|
13
13
|
export * from './converter/payload-codec';
|
|
14
14
|
export * from './converter/payload-converter';
|
|
15
15
|
export * from './converter/payload-converters';
|
|
16
|
+
export * from './converter/json-payload-converter';
|
|
16
17
|
export * from './converter/types';
|
|
17
18
|
export * from './failure';
|
package/lib/index.js
CHANGED
|
@@ -23,6 +23,7 @@ __exportStar(require("./converter/data-converter"), exports);
|
|
|
23
23
|
__exportStar(require("./converter/payload-codec"), exports);
|
|
24
24
|
__exportStar(require("./converter/payload-converter"), exports);
|
|
25
25
|
__exportStar(require("./converter/payload-converters"), exports);
|
|
26
|
+
__exportStar(require("./converter/json-payload-converter"), exports);
|
|
26
27
|
__exportStar(require("./converter/types"), exports);
|
|
27
28
|
__exportStar(require("./failure"), exports);
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,4FAA0E;AAC1E,kFAAgE;AAChE,sFAAoE;AACpE,gFAA8D;AAC9D,4FAA0E;AAC1E,6DAA2C;AAC3C,4DAA0C;AAC1C,gEAA8C;AAC9C,iEAA+C;AAC/C,oDAAkC;AAClC,4CAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,4FAA0E;AAC1E,kFAAgE;AAChE,sFAAoE;AACpE,gFAA8D;AAC9D,4FAA0E;AAC1E,6DAA2C;AAC3C,4DAA0C;AAC1C,gEAA8C;AAC9C,iEAA+C;AAC/C,qEAAmD;AACnD,oDAAkC;AAClC,4CAA0B"}
|
package/lib/protobufs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Entry point for classes and utilities related to using
|
|
3
|
-
* [Protobufs](https://docs.temporal.io/
|
|
3
|
+
* [Protobufs](https://docs.temporal.io/typescript/data-converters#protobufs) for serialization.
|
|
4
4
|
*
|
|
5
5
|
* Import from `@temporalio/common/lib/protobufs`, for example:
|
|
6
6
|
*
|
package/lib/protobufs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Entry point for classes and utilities related to using
|
|
4
|
-
* [Protobufs](https://docs.temporal.io/
|
|
4
|
+
* [Protobufs](https://docs.temporal.io/typescript/data-converters#protobufs) for serialization.
|
|
5
5
|
*
|
|
6
6
|
* Import from `@temporalio/common/lib/protobufs`, for example:
|
|
7
7
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-rc.0",
|
|
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,8 @@
|
|
|
12
12
|
"author": "Loren Sands-Ramshaw <loren@temporal.io>",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@temporalio/internal-workflow-common": "^0.
|
|
15
|
+
"@temporalio/internal-workflow-common": "^1.0.0-rc.0",
|
|
16
|
+
"@temporalio/proto": "^1.0.0-rc.0",
|
|
16
17
|
"proto3-json-serializer": "^0.1.6"
|
|
17
18
|
},
|
|
18
19
|
"bugs": {
|
|
@@ -23,8 +24,7 @@
|
|
|
23
24
|
"access": "public"
|
|
24
25
|
},
|
|
25
26
|
"devDependencies": {
|
|
26
|
-
"@temporalio/proto": "^0.21.0",
|
|
27
27
|
"protobufjs": "^6.11.2"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "c25e91309b980f2118df4048d760306982019871"
|
|
30
30
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { PayloadCodec } from './payload-codec';
|
|
2
|
+
import { PayloadConverter } from './payload-converter';
|
|
3
|
+
import { defaultPayloadConverter } from './payload-converters';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* When your data (arguments and return values) is sent over the wire and stored by Temporal Server, it is encoded in
|
|
@@ -8,7 +9,7 @@ import { defaultPayloadConverter, PayloadConverter } from './payload-converter';
|
|
|
8
9
|
* The default `DataConverter` supports `undefined`, `Uint8Array`, and JSON serializables (so if
|
|
9
10
|
* [`JSON.stringify(yourArgOrRetval)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description)
|
|
10
11
|
* works, the default data converter will work). Protobufs are supported via [this
|
|
11
|
-
* API](https://docs.temporal.io/
|
|
12
|
+
* API](https://docs.temporal.io/typescript/data-converters#protobufs).
|
|
12
13
|
*
|
|
13
14
|
* Use a custom `DataConverter` to control the contents of your {@link Payload}s. Common reasons for using a custom
|
|
14
15
|
* `DataConverter` are:
|
|
@@ -34,9 +35,13 @@ export interface DataConverter {
|
|
|
34
35
|
payloadConverterPath?: string;
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
|
-
*
|
|
38
|
+
* An array of {@link PayloadCodec} instances.
|
|
39
|
+
*
|
|
40
|
+
* Payloads are encoded in the order of the array and decoded in the opposite order. For example, if you have a
|
|
41
|
+
* compression codec and an encryption codec, then you want data to be encoded with the compression codec first, so
|
|
42
|
+
* you'd do `payloadCodecs: [compressionCodec, encryptionCodec]`.
|
|
38
43
|
*/
|
|
39
|
-
|
|
44
|
+
payloadCodecs?: PayloadCodec[];
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
/**
|
|
@@ -44,10 +49,10 @@ export interface DataConverter {
|
|
|
44
49
|
*/
|
|
45
50
|
export interface LoadedDataConverter {
|
|
46
51
|
payloadConverter: PayloadConverter;
|
|
47
|
-
|
|
52
|
+
payloadCodecs: PayloadCodec[];
|
|
48
53
|
}
|
|
49
54
|
|
|
50
55
|
export const defaultDataConverter: LoadedDataConverter = {
|
|
51
56
|
payloadConverter: defaultPayloadConverter,
|
|
52
|
-
|
|
57
|
+
payloadCodecs: [],
|
|
53
58
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ValueError } from '@temporalio/internal-workflow-common';
|
|
2
|
+
import { PayloadConverterWithEncoding } from './payload-converters';
|
|
3
|
+
import { encodingKeys, encodingTypes, METADATA_ENCODING_KEY, Payload, str, u8 } from './types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Converts between non-undefined values and serialized JSON Payload
|
|
7
|
+
*/
|
|
8
|
+
export class JsonPayloadConverter implements PayloadConverterWithEncoding {
|
|
9
|
+
public encodingType = encodingTypes.METADATA_ENCODING_JSON;
|
|
10
|
+
|
|
11
|
+
public toPayload(value: unknown): Payload | undefined {
|
|
12
|
+
if (value === undefined) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let json;
|
|
17
|
+
try {
|
|
18
|
+
json = JSON.stringify(value);
|
|
19
|
+
} catch (e) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return {
|
|
24
|
+
metadata: {
|
|
25
|
+
[METADATA_ENCODING_KEY]: encodingKeys.METADATA_ENCODING_JSON,
|
|
26
|
+
},
|
|
27
|
+
data: u8(json),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public fromPayload<T>(content: Payload): T {
|
|
32
|
+
if (content.data === undefined || content.data === null) {
|
|
33
|
+
throw new ValueError('Got payload with no data');
|
|
34
|
+
}
|
|
35
|
+
return JSON.parse(str(content.data));
|
|
36
|
+
}
|
|
37
|
+
}
|