@temporalio/common 0.18.0 → 0.19.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.
Files changed (97) hide show
  1. package/README.md +5 -11
  2. package/lib/converter/data-converter.d.ts +35 -62
  3. package/lib/converter/data-converter.js +6 -100
  4. package/lib/converter/data-converter.js.map +1 -1
  5. package/lib/{encoding.d.ts → converter/encoding.d.ts} +0 -0
  6. package/lib/{encoding.js → converter/encoding.js} +0 -0
  7. package/lib/converter/encoding.js.map +1 -0
  8. package/lib/converter/patch-protobuf-root.d.ts +8 -0
  9. package/lib/converter/patch-protobuf-root.js +43 -0
  10. package/lib/converter/patch-protobuf-root.js.map +1 -0
  11. package/lib/converter/payload-codec.d.ts +27 -0
  12. package/lib/converter/payload-codec.js +11 -0
  13. package/lib/converter/payload-codec.js.map +1 -0
  14. package/lib/converter/payload-converter.d.ts +63 -62
  15. package/lib/converter/payload-converter.js +113 -68
  16. package/lib/converter/payload-converter.js.map +1 -1
  17. package/lib/converter/payload-converters.d.ts +31 -0
  18. package/lib/converter/payload-converters.js +85 -0
  19. package/lib/converter/payload-converters.js.map +1 -0
  20. package/lib/converter/protobuf-payload-converters.d.ts +53 -0
  21. package/lib/converter/protobuf-payload-converters.js +159 -0
  22. package/lib/converter/protobuf-payload-converters.js.map +1 -0
  23. package/lib/converter/types.d.ts +4 -2
  24. package/lib/converter/types.js +3 -2
  25. package/lib/converter/types.js.map +1 -1
  26. package/lib/failure.d.ts +7 -7
  27. package/lib/failure.js +30 -32
  28. package/lib/failure.js.map +1 -1
  29. package/lib/index.d.ts +9 -11
  30. package/lib/index.js +12 -16
  31. package/lib/index.js.map +1 -1
  32. package/lib/protobufs.d.ts +13 -0
  33. package/lib/protobufs.js +31 -0
  34. package/lib/protobufs.js.map +1 -0
  35. package/package.json +11 -8
  36. package/src/converter/data-converter.ts +39 -175
  37. package/src/{encoding.ts → converter/encoding.ts} +0 -0
  38. package/src/converter/patch-protobuf-root.ts +49 -0
  39. package/src/converter/payload-codec.ts +30 -0
  40. package/src/converter/payload-converter.ts +122 -102
  41. package/src/converter/payload-converters.ts +89 -0
  42. package/src/converter/protobuf-payload-converters.ts +192 -0
  43. package/src/converter/types.ts +6 -3
  44. package/src/failure.ts +35 -39
  45. package/src/index.ts +9 -11
  46. package/src/protobufs.ts +15 -0
  47. package/tsconfig.json +2 -2
  48. package/tsconfig.tsbuildinfo +1 -1
  49. package/lib/activity-options.d.ts +0 -81
  50. package/lib/activity-options.js +0 -14
  51. package/lib/activity-options.js.map +0 -1
  52. package/lib/encoding.js.map +0 -1
  53. package/lib/errors.d.ts +0 -45
  54. package/lib/errors.js +0 -76
  55. package/lib/errors.js.map +0 -1
  56. package/lib/interceptors.d.ts +0 -18
  57. package/lib/interceptors.js +0 -24
  58. package/lib/interceptors.js.map +0 -1
  59. package/lib/interfaces.d.ts +0 -31
  60. package/lib/interfaces.js +0 -3
  61. package/lib/interfaces.js.map +0 -1
  62. package/lib/otel.d.ts +0 -26
  63. package/lib/otel.js +0 -82
  64. package/lib/otel.js.map +0 -1
  65. package/lib/retry-policy.d.ts +0 -43
  66. package/lib/retry-policy.js +0 -36
  67. package/lib/retry-policy.js.map +0 -1
  68. package/lib/time.d.ts +0 -17
  69. package/lib/time.js +0 -77
  70. package/lib/time.js.map +0 -1
  71. package/lib/tls-config.d.ts +0 -32
  72. package/lib/tls-config.js +0 -11
  73. package/lib/tls-config.js.map +0 -1
  74. package/lib/type-helpers.d.ts +0 -12
  75. package/lib/type-helpers.js +0 -17
  76. package/lib/type-helpers.js.map +0 -1
  77. package/lib/utils.d.ts +0 -4
  78. package/lib/utils.js +0 -11
  79. package/lib/utils.js.map +0 -1
  80. package/lib/workflow-handle.d.ts +0 -27
  81. package/lib/workflow-handle.js +0 -3
  82. package/lib/workflow-handle.js.map +0 -1
  83. package/lib/workflow-options.d.ts +0 -92
  84. package/lib/workflow-options.js +0 -26
  85. package/lib/workflow-options.js.map +0 -1
  86. package/src/activity-options.ts +0 -97
  87. package/src/errors.ts +0 -60
  88. package/src/interceptors.ts +0 -32
  89. package/src/interfaces.ts +0 -37
  90. package/src/otel.ts +0 -61
  91. package/src/retry-policy.ts +0 -73
  92. package/src/time.ts +0 -76
  93. package/src/tls-config.ts +0 -35
  94. package/src/type-helpers.ts +0 -26
  95. package/src/utils.ts +0 -6
  96. package/src/workflow-handle.ts +0 -30
  97. package/src/workflow-options.ts +0 -128
@@ -1,89 +1,134 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BinaryPayloadConverter = exports.JsonPayloadConverter = exports.UndefinedPayloadConverter = exports.AsyncFacadePayloadConverter = void 0;
4
- const errors_1 = require("../errors");
3
+ exports.defaultPayloadConverter = exports.DefaultPayloadConverter = exports.arrayFromPayloads = exports.fromPayloadsAtIndex = exports.mapToPayloads = exports.toPayloads = exports.toPayload = exports.CompositePayloadConverter = void 0;
4
+ const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
5
+ const payload_converters_1 = require("./payload-converters");
5
6
  const types_1 = require("./types");
6
- class AsyncFacadePayloadConverter {
7
- async toData(value) {
8
- return this.toDataSync(value);
7
+ class CompositePayloadConverter {
8
+ constructor(...converters) {
9
+ this.converterByEncoding = new Map();
10
+ this.converters = converters;
11
+ for (const converter of converters) {
12
+ this.converterByEncoding.set(converter.encodingType, converter);
13
+ }
14
+ }
15
+ /**
16
+ * Tries to run `.toPayload(value)` on each converter in the order provided at construction.
17
+ * Returns the first successful result, or `undefined` if there is no converter that can handle the value.
18
+ *
19
+ * @throws UnsupportedJsonTypeError
20
+ */
21
+ toPayload(value) {
22
+ for (const converter of this.converters) {
23
+ const result = converter.toPayload(value);
24
+ if (result !== undefined) {
25
+ return result;
26
+ }
27
+ }
28
+ return undefined;
9
29
  }
10
- async fromData(content) {
11
- return this.fromDataSync(content);
30
+ /**
31
+ * Run {@link PayloadConverterWithEncoding.fromPayload} based on the {@link encodingTypes | encoding type} of the {@link Payload}.
32
+ */
33
+ fromPayload(payload) {
34
+ if (payload.metadata === undefined || payload.metadata === null) {
35
+ throw new internal_workflow_common_1.ValueError('Missing payload metadata');
36
+ }
37
+ const encoding = (0, types_1.str)(payload.metadata[types_1.METADATA_ENCODING_KEY]);
38
+ const converter = this.converterByEncoding.get(encoding);
39
+ if (converter === undefined) {
40
+ throw new internal_workflow_common_1.ValueError(`Unknown encoding: ${encoding}`);
41
+ }
42
+ return converter.fromPayload(payload);
12
43
  }
13
44
  }
14
- exports.AsyncFacadePayloadConverter = AsyncFacadePayloadConverter;
45
+ exports.CompositePayloadConverter = CompositePayloadConverter;
15
46
  /**
16
- * Converts between JS undefined and NULL Payload
47
+ * Tries to convert `value` to a {@link Payload}. Throws if conversion fails.
48
+ *
49
+ * @throws {@link PayloadConverterError}
17
50
  */
18
- class UndefinedPayloadConverter extends AsyncFacadePayloadConverter {
19
- constructor() {
20
- super(...arguments);
21
- this.encodingType = types_1.encodingTypes.METADATA_ENCODING_NULL;
22
- }
23
- toDataSync(value) {
24
- if (value !== undefined)
25
- return undefined; // Can't encode
26
- return {
27
- metadata: {
28
- [types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_NULL,
29
- },
30
- };
31
- }
32
- fromDataSync(_content) {
33
- return undefined; // Just return undefined
51
+ function toPayload(converter, value) {
52
+ const payload = converter.toPayload(value);
53
+ if (payload === undefined) {
54
+ throw new internal_workflow_common_1.PayloadConverterError(`Failed to convert value: ${value}`);
34
55
  }
56
+ return payload;
35
57
  }
36
- exports.UndefinedPayloadConverter = UndefinedPayloadConverter;
58
+ exports.toPayload = toPayload;
37
59
  /**
38
- * Converts between non-undefined values and serialized JSON Payload
60
+ * Implements conversion of a list of values.
61
+ *
62
+ * @param converter
63
+ * @param values JS values to convert to Payloads
64
+ * @return converted values
65
+ * @throws PayloadConverterError if conversion of the value passed as parameter failed for any
66
+ * reason.
39
67
  */
40
- class JsonPayloadConverter extends AsyncFacadePayloadConverter {
41
- constructor() {
42
- super(...arguments);
43
- this.encodingType = types_1.encodingTypes.METADATA_ENCODING_JSON;
44
- }
45
- toDataSync(value) {
46
- if (value === undefined)
47
- return undefined; // Should be encoded with the UndefinedPayloadConverter
48
- return {
49
- metadata: {
50
- [types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_JSON,
51
- },
52
- data: (0, types_1.u8)(JSON.stringify(value)),
53
- };
54
- }
55
- fromDataSync(content) {
56
- if (content.data === undefined || content.data === null) {
57
- throw new errors_1.ValueError('Got payload with no data');
58
- }
59
- return JSON.parse((0, types_1.str)(content.data));
68
+ function toPayloads(converter, ...values) {
69
+ if (values.length === 0) {
70
+ return undefined;
60
71
  }
72
+ return values.map((value) => toPayload(converter, value));
61
73
  }
62
- exports.JsonPayloadConverter = JsonPayloadConverter;
74
+ exports.toPayloads = toPayloads;
63
75
  /**
64
- * Converts between binary data types and RAW Payload
76
+ * Run {@link PayloadConverter.toPayload} on each value in the map.
77
+ *
78
+ * @throws {@link PayloadConverterError} if conversion of any value in the map fails
65
79
  */
66
- class BinaryPayloadConverter extends AsyncFacadePayloadConverter {
67
- constructor() {
68
- super(...arguments);
69
- this.encodingType = types_1.encodingTypes.METADATA_ENCODING_RAW;
80
+ function mapToPayloads(converter, map) {
81
+ return Object.fromEntries(Object.entries(map).map(([k, v]) => [k, toPayload(converter, v)]));
82
+ }
83
+ exports.mapToPayloads = mapToPayloads;
84
+ /**
85
+ * Implements conversion of an array of values of different types. Useful for deserializing
86
+ * arguments of function invocations.
87
+ *
88
+ * @param converter
89
+ * @param index index of the value in the payloads
90
+ * @param payloads serialized value to convert to JS values.
91
+ * @return converted JS value
92
+ * @throws {@link PayloadConverterError} if conversion of the data passed as parameter failed for any
93
+ * reason.
94
+ */
95
+ function fromPayloadsAtIndex(converter, index, payloads) {
96
+ // To make adding arguments a backwards compatible change
97
+ if (payloads === undefined || payloads === null || index >= payloads.length) {
98
+ return undefined;
70
99
  }
71
- toDataSync(value) {
72
- // TODO: support any DataView or ArrayBuffer?
73
- if (!(value instanceof Uint8Array)) {
74
- return undefined;
75
- }
76
- return {
77
- metadata: {
78
- [types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_RAW,
79
- },
80
- data: value,
81
- };
100
+ return converter.fromPayload(payloads[index]);
101
+ }
102
+ exports.fromPayloadsAtIndex = fromPayloadsAtIndex;
103
+ /**
104
+ * Run {@link PayloadConverter.fromPayload} on each value in the array.
105
+ */
106
+ function arrayFromPayloads(converter, payloads) {
107
+ if (!payloads) {
108
+ return [];
82
109
  }
83
- fromDataSync(content) {
84
- // TODO: support any DataView or ArrayBuffer?
85
- return content.data;
110
+ return payloads.map((payload) => converter.fromPayload(payload));
111
+ }
112
+ exports.arrayFromPayloads = arrayFromPayloads;
113
+ class DefaultPayloadConverter extends CompositePayloadConverter {
114
+ // Match the order used in other SDKs, but exclude Protobuf converters so that the code, including
115
+ // `proto3-json-serializer`, doesn't take space in Workflow bundles that don't use Protobufs. To use Protobufs, use
116
+ // {@link DefaultPayloadConverterWithProtobufs}.
117
+ //
118
+ // Go SDK:
119
+ // https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
120
+ constructor() {
121
+ super(new payload_converters_1.UndefinedPayloadConverter(), new payload_converters_1.BinaryPayloadConverter(), new payload_converters_1.JsonPayloadConverter());
86
122
  }
87
123
  }
88
- exports.BinaryPayloadConverter = BinaryPayloadConverter;
124
+ exports.DefaultPayloadConverter = DefaultPayloadConverter;
125
+ /**
126
+ * The default {@link PayloadConverter} used by the SDK.
127
+ * 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).
128
+ *
129
+ * To also support Protobufs, create a custom payload converter with {@link DefaultPayloadConverter}:
130
+ *
131
+ * `const myConverter = new DefaultPayloadConverter({ protobufRoot })`
132
+ */
133
+ exports.defaultPayloadConverter = new DefaultPayloadConverter();
89
134
  //# sourceMappingURL=payload-converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AACvC,mCAA+F;AA2D/F,MAAsB,2BAA2B;IAKxC,KAAK,CAAC,MAAM,CAAC,KAAc;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAI,OAAgB;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;CACF;AAZD,kEAYC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,2BAA2B;IAA1E;;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IAc7D,CAAC;IAZQ,UAAU,CAAC,KAAc;QAC9B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,CAAC,eAAe;QAC1D,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,sBAAsB;aAC7D;SACF,CAAC;IACJ,CAAC;IAEM,YAAY,CAAI,QAAiB;QACtC,OAAO,SAAgB,CAAC,CAAC,wBAAwB;IACnD,CAAC;CACF;AAfD,8DAeC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,2BAA2B;IAArE;;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IAkB7D,CAAC;IAhBQ,UAAU,CAAC,KAAc;QAC9B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,CAAC,uDAAuD;QAClG,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,sBAAsB;aAC7D;YACD,IAAI,EAAE,IAAA,UAAE,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAChC,CAAC;IACJ,CAAC;IAEM,YAAY,CAAI,OAAgB;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;YACvD,MAAM,IAAI,mBAAU,CAAC,0BAA0B,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,WAAG,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAnBD,oDAmBC;AAED;;GAEG;AACH,MAAa,sBAAuB,SAAQ,2BAA2B;IAAvE;;QACS,iBAAY,GAAG,qBAAa,CAAC,qBAAqB,CAAC;IAmB5D,CAAC;IAjBQ,UAAU,CAAC,KAAc;QAC9B,6CAA6C;QAC7C,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,qBAAqB;aAC5D;YACD,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC;IAEM,YAAY,CAAI,OAAgB;QACrC,6CAA6C;QAC7C,OAAO,OAAO,CAAC,IAAW,CAAC;IAC7B,CAAC;CACF;AApBD,wDAoBC"}
1
+ {"version":3,"file":"payload-converter.js","sourceRoot":"","sources":["../../src/converter/payload-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { PayloadConverter } from './payload-converter';
2
+ import { EncodingType, Payload } from './types';
3
+ export interface PayloadConverterWithEncoding extends PayloadConverter {
4
+ readonly encodingType: EncodingType;
5
+ }
6
+ /**
7
+ * Converts between JS undefined and NULL Payload
8
+ */
9
+ export declare class UndefinedPayloadConverter implements PayloadConverterWithEncoding {
10
+ encodingType: "binary/null";
11
+ toPayload(value: unknown): Payload | undefined;
12
+ fromPayload<T>(_content: Payload): T;
13
+ }
14
+ /**
15
+ * Converts between non-undefined values and serialized JSON Payload
16
+ *
17
+ * @throws UnsupportedJsonTypeError
18
+ */
19
+ export declare class JsonPayloadConverter implements PayloadConverterWithEncoding {
20
+ encodingType: "json/plain";
21
+ toPayload(value: unknown): Payload | undefined;
22
+ fromPayload<T>(content: Payload): T;
23
+ }
24
+ /**
25
+ * Converts between binary data types and RAW Payload
26
+ */
27
+ export declare class BinaryPayloadConverter implements PayloadConverterWithEncoding {
28
+ encodingType: "binary/plain";
29
+ toPayload(value: unknown): Payload | undefined;
30
+ fromPayload<T>(content: Payload): T;
31
+ }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BinaryPayloadConverter = exports.JsonPayloadConverter = exports.UndefinedPayloadConverter = void 0;
4
+ const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
5
+ const types_1 = require("./types");
6
+ /**
7
+ * Converts between JS undefined and NULL Payload
8
+ */
9
+ class UndefinedPayloadConverter {
10
+ constructor() {
11
+ this.encodingType = types_1.encodingTypes.METADATA_ENCODING_NULL;
12
+ }
13
+ toPayload(value) {
14
+ if (value !== undefined)
15
+ return undefined; // Can't encode
16
+ return {
17
+ metadata: {
18
+ [types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_NULL,
19
+ },
20
+ };
21
+ }
22
+ fromPayload(_content) {
23
+ return undefined; // Just return undefined
24
+ }
25
+ }
26
+ exports.UndefinedPayloadConverter = UndefinedPayloadConverter;
27
+ /**
28
+ * Converts between non-undefined values and serialized JSON Payload
29
+ *
30
+ * @throws UnsupportedJsonTypeError
31
+ */
32
+ class JsonPayloadConverter {
33
+ constructor() {
34
+ this.encodingType = types_1.encodingTypes.METADATA_ENCODING_JSON;
35
+ }
36
+ toPayload(value) {
37
+ if (value === undefined)
38
+ 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
+ }
46
+ return {
47
+ metadata: {
48
+ [types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_JSON,
49
+ },
50
+ data: (0, types_1.u8)(json),
51
+ };
52
+ }
53
+ fromPayload(content) {
54
+ if (content.data === undefined || content.data === null) {
55
+ throw new internal_workflow_common_1.ValueError('Got payload with no data');
56
+ }
57
+ return JSON.parse((0, types_1.str)(content.data));
58
+ }
59
+ }
60
+ exports.JsonPayloadConverter = JsonPayloadConverter;
61
+ /**
62
+ * Converts between binary data types and RAW Payload
63
+ */
64
+ class BinaryPayloadConverter {
65
+ constructor() {
66
+ this.encodingType = types_1.encodingTypes.METADATA_ENCODING_RAW;
67
+ }
68
+ toPayload(value) {
69
+ // TODO: support any DataView or ArrayBuffer?
70
+ if (!(value instanceof Uint8Array))
71
+ return undefined;
72
+ return {
73
+ metadata: {
74
+ [types_1.METADATA_ENCODING_KEY]: types_1.encodingKeys.METADATA_ENCODING_RAW,
75
+ },
76
+ data: value,
77
+ };
78
+ }
79
+ fromPayload(content) {
80
+ // TODO: support any DataView or ArrayBuffer?
81
+ return content.data;
82
+ }
83
+ }
84
+ exports.BinaryPayloadConverter = BinaryPayloadConverter;
85
+ //# sourceMappingURL=payload-converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload-converters.js","sourceRoot":"","sources":["../../src/converter/payload-converters.ts"],"names":[],"mappings":";;;AAAA,mFAA0G;AAE1G,mCAA6G;AAM7G;;GAEG;AACH,MAAa,yBAAyB;IAAtC;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IAc7D,CAAC;IAZQ,SAAS,CAAC,KAAc;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,CAAC,eAAe;QAC1D,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,sBAAsB;aAC7D;SACF,CAAC;IACJ,CAAC;IAEM,WAAW,CAAI,QAAiB;QACrC,OAAO,SAAgB,CAAC,CAAC,wBAAwB;IACnD,CAAC;CACF;AAfD,8DAeC;AAED;;;;GAIG;AACH,MAAa,oBAAoB;IAAjC;QACS,iBAAY,GAAG,qBAAa,CAAC,sBAAsB,CAAC;IA+B7D,CAAC;IA7BQ,SAAS,CAAC,KAAc;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAE1C,IAAI,IAAI,CAAC;QACT,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,mDAAwB,CAChC,2CAA2C,KAAK,oTAAoT,IAAA,uCAAY,EAC9W,CAAC,CACF,EAAE,EACH,CAAU,CACX,CAAC;SACH;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,sBAAsB;aAC7D;YACD,IAAI,EAAE,IAAA,UAAE,EAAC,IAAI,CAAC;SACf,CAAC;IACJ,CAAC;IAEM,WAAW,CAAI,OAAgB;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;YACvD,MAAM,IAAI,qCAAU,CAAC,0BAA0B,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,WAAG,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAhCD,oDAgCC;AAED;;GAEG;AACH,MAAa,sBAAsB;IAAnC;QACS,iBAAY,GAAG,qBAAa,CAAC,qBAAqB,CAAC;IAiB5D,CAAC;IAfQ,SAAS,CAAC,KAAc;QAC7B,6CAA6C;QAC7C,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QACrD,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,6BAAqB,CAAC,EAAE,oBAAY,CAAC,qBAAqB;aAC5D;YACD,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC;IAEM,WAAW,CAAI,OAAgB;QACpC,6CAA6C;QAC7C,OAAO,OAAO,CAAC,IAAW,CAAC;IAC7B,CAAC;CACF;AAlBD,wDAkBC"}
@@ -0,0 +1,53 @@
1
+ import type { Root, Type } from 'protobufjs';
2
+ import { CompositePayloadConverter } from './payload-converter';
3
+ import { PayloadConverterWithEncoding } from './payload-converters';
4
+ import { EncodingType, Payload } from './types';
5
+ declare abstract class ProtobufPayloadConverter implements PayloadConverterWithEncoding {
6
+ protected readonly root: Root | undefined;
7
+ abstract encodingType: EncodingType;
8
+ abstract toPayload<T>(value: T): Payload | undefined;
9
+ abstract fromPayload<T>(payload: Payload): T;
10
+ constructor(root?: unknown);
11
+ protected validatePayload(content: Payload): {
12
+ messageType: Type;
13
+ data: Uint8Array;
14
+ };
15
+ protected constructPayload({ messageTypeName, message }: {
16
+ messageTypeName: string;
17
+ message: Uint8Array;
18
+ }): Payload;
19
+ }
20
+ /**
21
+ * Converts between protobufjs Message instances and serialized Protobuf Payload
22
+ */
23
+ export declare class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
24
+ encodingType: "binary/protobuf";
25
+ /**
26
+ * @param root The value returned from {@link patchProtobufRoot}
27
+ */
28
+ constructor(root?: unknown);
29
+ toPayload(value: unknown): Payload | undefined;
30
+ fromPayload<T>(content: Payload): T;
31
+ }
32
+ /**
33
+ * Converts between protobufjs Message instances and serialized JSON Payload
34
+ */
35
+ export declare class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
36
+ encodingType: "json/protobuf";
37
+ /**
38
+ * @param root The value returned from {@link patchProtobufRoot}
39
+ */
40
+ constructor(root?: unknown);
41
+ toPayload(value: unknown): Payload | undefined;
42
+ fromPayload<T>(content: Payload): T;
43
+ }
44
+ export interface DefaultPayloadConverterWithProtobufsOptions {
45
+ /**
46
+ * The `root` provided to {@link ProtobufJsonPayloadConverter} and {@link ProtobufBinaryPayloadConverter}
47
+ */
48
+ protobufRoot: Record<string, unknown>;
49
+ }
50
+ export declare class DefaultPayloadConverterWithProtobufs extends CompositePayloadConverter {
51
+ constructor({ protobufRoot }: DefaultPayloadConverterWithProtobufsOptions);
52
+ }
53
+ export {};
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DefaultPayloadConverterWithProtobufs = exports.ProtobufJsonPayloadConverter = exports.ProtobufBinaryPayloadConverter = void 0;
27
+ const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
28
+ const protoJsonSerializer = __importStar(require("proto3-json-serializer"));
29
+ const payload_converter_1 = require("./payload-converter");
30
+ const payload_converters_1 = require("./payload-converters");
31
+ const types_1 = require("./types");
32
+ class ProtobufPayloadConverter {
33
+ // Don't use type Root here because root.d.ts doesn't export Root, so users would have to type assert
34
+ constructor(root) {
35
+ if (root) {
36
+ if (!isRoot(root)) {
37
+ throw new TypeError('root must be an instance of a protobufjs Root');
38
+ }
39
+ this.root = root;
40
+ }
41
+ }
42
+ validatePayload(content) {
43
+ if (content.data === undefined || content.data === null) {
44
+ throw new internal_workflow_common_1.ValueError('Got payload with no data');
45
+ }
46
+ if (!content.metadata || !(types_1.METADATA_MESSAGE_TYPE_KEY in content.metadata)) {
47
+ throw new internal_workflow_common_1.ValueError(`Got protobuf payload without metadata.${types_1.METADATA_MESSAGE_TYPE_KEY}`);
48
+ }
49
+ if (!this.root) {
50
+ throw new internal_workflow_common_1.PayloadConverterError('Unable to deserialize protobuf message without `root` being provided');
51
+ }
52
+ const messageTypeName = (0, types_1.str)(content.metadata[types_1.METADATA_MESSAGE_TYPE_KEY]);
53
+ let messageType;
54
+ try {
55
+ messageType = this.root.lookupType(messageTypeName);
56
+ }
57
+ catch (e) {
58
+ if ((0, internal_workflow_common_1.errorMessage)(e)?.includes('no such type')) {
59
+ throw new internal_workflow_common_1.PayloadConverterError(`Got a \`${messageTypeName}\` protobuf message but cannot find corresponding message class in \`root\``);
60
+ }
61
+ throw e;
62
+ }
63
+ return { messageType, data: content.data };
64
+ }
65
+ constructPayload({ messageTypeName, message }) {
66
+ return {
67
+ metadata: {
68
+ [types_1.METADATA_ENCODING_KEY]: (0, types_1.u8)(this.encodingType),
69
+ [types_1.METADATA_MESSAGE_TYPE_KEY]: (0, types_1.u8)(messageTypeName),
70
+ },
71
+ data: message,
72
+ };
73
+ }
74
+ }
75
+ /**
76
+ * Converts between protobufjs Message instances and serialized Protobuf Payload
77
+ */
78
+ class ProtobufBinaryPayloadConverter extends ProtobufPayloadConverter {
79
+ /**
80
+ * @param root The value returned from {@link patchProtobufRoot}
81
+ */
82
+ constructor(root) {
83
+ super(root);
84
+ this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF;
85
+ }
86
+ toPayload(value) {
87
+ if (!isProtobufMessage(value))
88
+ return undefined;
89
+ return this.constructPayload({
90
+ messageTypeName: getNamespacedTypeName(value.$type),
91
+ message: value.$type.encode(value).finish(),
92
+ });
93
+ }
94
+ fromPayload(content) {
95
+ const { messageType, data } = this.validatePayload(content);
96
+ return messageType.decode(data);
97
+ }
98
+ }
99
+ exports.ProtobufBinaryPayloadConverter = ProtobufBinaryPayloadConverter;
100
+ /**
101
+ * Converts between protobufjs Message instances and serialized JSON Payload
102
+ */
103
+ class ProtobufJsonPayloadConverter extends ProtobufPayloadConverter {
104
+ /**
105
+ * @param root The value returned from {@link patchProtobufRoot}
106
+ */
107
+ constructor(root) {
108
+ super(root);
109
+ this.encodingType = types_1.encodingTypes.METADATA_ENCODING_PROTOBUF_JSON;
110
+ }
111
+ toPayload(value) {
112
+ if (!isProtobufMessage(value))
113
+ return undefined;
114
+ const jsonValue = protoJsonSerializer.toProto3JSON(value);
115
+ return this.constructPayload({
116
+ messageTypeName: getNamespacedTypeName(value.$type),
117
+ message: (0, types_1.u8)(JSON.stringify(jsonValue)),
118
+ });
119
+ }
120
+ fromPayload(content) {
121
+ const { messageType, data } = this.validatePayload(content);
122
+ return protoJsonSerializer.fromProto3JSON(messageType, JSON.parse((0, types_1.str)(data)));
123
+ }
124
+ }
125
+ exports.ProtobufJsonPayloadConverter = ProtobufJsonPayloadConverter;
126
+ function isProtobufType(type) {
127
+ return ((0, internal_workflow_common_1.isRecord)(type) &&
128
+ type.constructor.name === 'Type' &&
129
+ (0, internal_workflow_common_1.hasOwnProperties)(type, ['parent', 'name', 'create', 'encode', 'decode']) &&
130
+ typeof type.name === 'string' &&
131
+ typeof type.create === 'function' &&
132
+ typeof type.encode === 'function' &&
133
+ typeof type.decode === 'function');
134
+ }
135
+ function isProtobufMessage(value) {
136
+ return (0, internal_workflow_common_1.isRecord)(value) && (0, internal_workflow_common_1.hasOwnProperty)(value, '$type') && isProtobufType(value.$type);
137
+ }
138
+ function getNamespacedTypeName(node) {
139
+ if (node.parent && !isRoot(node.parent)) {
140
+ return getNamespacedTypeName(node.parent) + '.' + node.name;
141
+ }
142
+ else {
143
+ return node.name;
144
+ }
145
+ }
146
+ function isRoot(root) {
147
+ return (0, internal_workflow_common_1.isRecord)(root) && root.constructor.name === 'Root';
148
+ }
149
+ class DefaultPayloadConverterWithProtobufs extends payload_converter_1.CompositePayloadConverter {
150
+ // Match the order used in other SDKs.
151
+ //
152
+ // Go SDK:
153
+ // https://github.com/temporalio/sdk-go/blob/5e5645f0c550dcf717c095ae32c76a7087d2e985/converter/default_data_converter.go#L28
154
+ constructor({ protobufRoot }) {
155
+ super(new payload_converters_1.UndefinedPayloadConverter(), new payload_converters_1.BinaryPayloadConverter(), new ProtobufJsonPayloadConverter(protobufRoot), new ProtobufBinaryPayloadConverter(protobufRoot), new payload_converters_1.JsonPayloadConverter());
156
+ }
157
+ }
158
+ exports.DefaultPayloadConverterWithProtobufs = DefaultPayloadConverterWithProtobufs;
159
+ //# sourceMappingURL=protobuf-payload-converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protobuf-payload-converters.js","sourceRoot":"","sources":["../../src/converter/protobuf-payload-converters.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type * as iface from '@temporalio/proto/lib/coresdk';
2
- export declare type Payload = iface.coresdk.common.IPayload;
1
+ import type { coresdk } from '@temporalio/proto/lib/coresdk';
2
+ export declare type Payload = coresdk.common.IPayload;
3
3
  /**
4
4
  * Transform an *ascii* string into a Uint8Array
5
5
  */
@@ -13,6 +13,7 @@ export declare const encodingTypes: {
13
13
  readonly METADATA_ENCODING_PROTOBUF_JSON: "json/protobuf";
14
14
  readonly METADATA_ENCODING_PROTOBUF: "binary/protobuf";
15
15
  };
16
+ export declare type EncodingType = typeof encodingTypes[keyof typeof encodingTypes];
16
17
  export declare const encodingKeys: {
17
18
  readonly METADATA_ENCODING_NULL: Uint8Array;
18
19
  readonly METADATA_ENCODING_RAW: Uint8Array;
@@ -20,3 +21,4 @@ export declare const encodingKeys: {
20
21
  readonly METADATA_ENCODING_PROTOBUF_JSON: Uint8Array;
21
22
  readonly METADATA_ENCODING_PROTOBUF: Uint8Array;
22
23
  };
24
+ export declare const METADATA_MESSAGE_TYPE_KEY = "messageType";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encodingKeys = exports.encodingTypes = exports.METADATA_ENCODING_KEY = exports.str = exports.u8 = void 0;
4
- const encoding_1 = require("../encoding");
3
+ exports.METADATA_MESSAGE_TYPE_KEY = exports.encodingKeys = exports.encodingTypes = exports.METADATA_ENCODING_KEY = exports.str = exports.u8 = void 0;
4
+ const encoding_1 = require("./encoding");
5
5
  /**
6
6
  * Transform an *ascii* string into a Uint8Array
7
7
  */
@@ -28,4 +28,5 @@ exports.encodingKeys = {
28
28
  METADATA_ENCODING_PROTOBUF_JSON: u8(exports.encodingTypes.METADATA_ENCODING_PROTOBUF_JSON),
29
29
  METADATA_ENCODING_PROTOBUF: u8(exports.encodingTypes.METADATA_ENCODING_PROTOBUF),
30
30
  };
31
+ exports.METADATA_MESSAGE_TYPE_KEY = 'messageType';
31
32
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/converter/types.ts"],"names":[],"mappings":";;;AACA,0CAAuD;AAIvD;;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;AAEE,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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/converter/types.ts"],"names":[],"mappings":";;;AACA,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"}