@temporalio/common 0.17.2 → 0.19.0-rc.1

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 +34 -62
  3. package/lib/converter/data-converter.js +0 -101
  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 +2 -0
  24. package/lib/converter/types.js +3 -2
  25. package/lib/converter/types.js.map +1 -1
  26. package/lib/failure.d.ts +6 -6
  27. package/lib/failure.js +37 -35
  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 +35 -176
  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 +4 -1
  44. package/src/failure.ts +44 -43
  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 -16
  54. package/lib/errors.js +0 -41
  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 -16
  69. package/lib/time.js +0 -73
  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 -8
  75. package/lib/type-helpers.js +0 -9
  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 -91
  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 -27
  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 -72
  93. package/src/tls-config.ts +0 -35
  94. package/src/type-helpers.ts +0 -11
  95. package/src/utils.ts +0 -6
  96. package/src/workflow-handle.ts +0 -30
  97. package/src/workflow-options.ts +0 -127
package/lib/failure.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rootCause = exports.failureToError = exports.failureToErrorInner = exports.optionalFailureToOptionalError = exports.ensureTemporalFailure = exports.errorToFailure = exports.cutoffStackTrace = exports.optionalErrorToOptionalFailure = exports.ChildWorkflowFailure = exports.ActivityFailure = exports.TimeoutFailure = exports.TerminatedFailure = exports.CancelledFailure = exports.ApplicationFailure = exports.ServerFailure = exports.TemporalFailure = exports.RetryState = exports.TimeoutType = exports.FAILURE_SOURCE = void 0;
4
- const data_converter_1 = require("./converter/data-converter");
5
- const type_helpers_1 = require("./type-helpers");
4
+ const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
5
+ const payload_converter_1 = require("./converter/payload-converter");
6
6
  exports.FAILURE_SOURCE = 'TypeScriptSDK';
7
7
  // Avoid importing the proto implementation to reduce workflow bundle size
8
8
  // Copied from temporal.api.enums.v1.TimeoutType
@@ -14,7 +14,7 @@ var TimeoutType;
14
14
  TimeoutType[TimeoutType["TIMEOUT_TYPE_SCHEDULE_TO_CLOSE"] = 3] = "TIMEOUT_TYPE_SCHEDULE_TO_CLOSE";
15
15
  TimeoutType[TimeoutType["TIMEOUT_TYPE_HEARTBEAT"] = 4] = "TIMEOUT_TYPE_HEARTBEAT";
16
16
  })(TimeoutType = exports.TimeoutType || (exports.TimeoutType = {}));
17
- (0, type_helpers_1.checkExtends)();
17
+ (0, internal_workflow_common_1.checkExtends)();
18
18
  // Avoid importing the proto implementation to reduce workflow bundle size
19
19
  // Copied from temporal.api.enums.v1.RetryState
20
20
  var RetryState;
@@ -28,7 +28,7 @@ var RetryState;
28
28
  RetryState[RetryState["RETRY_STATE_INTERNAL_SERVER_ERROR"] = 6] = "RETRY_STATE_INTERNAL_SERVER_ERROR";
29
29
  RetryState[RetryState["RETRY_STATE_CANCEL_REQUESTED"] = 7] = "RETRY_STATE_CANCEL_REQUESTED";
30
30
  })(RetryState = exports.RetryState || (exports.RetryState = {}));
31
- (0, type_helpers_1.checkExtends)();
31
+ (0, internal_workflow_common_1.checkExtends)();
32
32
  /**
33
33
  * Represents failures that can cross Workflow and Activity boundaries.
34
34
  *
@@ -186,14 +186,14 @@ exports.ChildWorkflowFailure = ChildWorkflowFailure;
186
186
  /**
187
187
  * Converts an error to a Failure proto message if defined or returns undefined
188
188
  */
189
- async function optionalErrorToOptionalFailure(err, dataConverter) {
190
- return err ? await errorToFailure(err, dataConverter) : undefined;
189
+ function optionalErrorToOptionalFailure(err, payloadConverter) {
190
+ return err ? errorToFailure(err, payloadConverter) : undefined;
191
191
  }
192
192
  exports.optionalErrorToOptionalFailure = optionalErrorToOptionalFailure;
193
193
  /**
194
194
  * Stack traces will be cutoff when on of these patterns is matched
195
195
  */
196
- const CUTTOFF_STACK_PATTERNS = [
196
+ 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 */
@@ -206,7 +206,7 @@ function cutoffStackTrace(stack) {
206
206
  const lines = (stack ?? '').split(/\r?\n/);
207
207
  const acc = Array();
208
208
  lineLoop: for (const line of lines) {
209
- for (const pattern of CUTTOFF_STACK_PATTERNS) {
209
+ for (const pattern of CUTOFF_STACK_PATTERNS) {
210
210
  if (pattern.test(line))
211
211
  break lineLoop;
212
212
  }
@@ -218,14 +218,14 @@ exports.cutoffStackTrace = cutoffStackTrace;
218
218
  /**
219
219
  * Converts a caught error to a Failure proto message
220
220
  */
221
- async function errorToFailure(err, dataConverter) {
221
+ function errorToFailure(err, payloadConverter) {
222
222
  if (err instanceof TemporalFailure) {
223
223
  if (err.failure)
224
224
  return err.failure;
225
225
  const base = {
226
226
  message: err.message,
227
227
  stackTrace: cutoffStackTrace(err.stack),
228
- cause: await optionalErrorToOptionalFailure(err.cause, dataConverter),
228
+ cause: optionalErrorToOptionalFailure(err.cause, payloadConverter),
229
229
  source: exports.FAILURE_SOURCE,
230
230
  };
231
231
  if (err instanceof ActivityFailure) {
@@ -253,9 +253,7 @@ async function errorToFailure(err, dataConverter) {
253
253
  applicationFailureInfo: {
254
254
  type: err.type,
255
255
  nonRetryable: err.nonRetryable,
256
- details: err.details && err.details.length
257
- ? { payloads: await dataConverter.toPayloads(...err.details) }
258
- : undefined,
256
+ details: err.details && err.details.length ? { payloads: (0, payload_converter_1.toPayloads)(payloadConverter, ...err.details) } : undefined,
259
257
  },
260
258
  };
261
259
  }
@@ -263,9 +261,7 @@ async function errorToFailure(err, dataConverter) {
263
261
  return {
264
262
  ...base,
265
263
  canceledFailureInfo: {
266
- details: err.details && err.details.length
267
- ? { payloads: await dataConverter.toPayloads(...err.details) }
268
- : undefined,
264
+ details: err.details && err.details.length ? { payloads: (0, payload_converter_1.toPayloads)(payloadConverter, ...err.details) } : undefined,
269
265
  },
270
266
  };
271
267
  }
@@ -275,7 +271,7 @@ async function errorToFailure(err, dataConverter) {
275
271
  timeoutFailureInfo: {
276
272
  timeoutType: err.timeoutType,
277
273
  lastHeartbeatDetails: err.lastHeartbeatDetails
278
- ? { payloads: await dataConverter.toPayloads(err.lastHeartbeatDetails) }
274
+ ? { payloads: (0, payload_converter_1.toPayloads)(payloadConverter, err.lastHeartbeatDetails) }
279
275
  : undefined,
280
276
  },
281
277
  };
@@ -298,13 +294,19 @@ async function errorToFailure(err, dataConverter) {
298
294
  const base = {
299
295
  source: exports.FAILURE_SOURCE,
300
296
  };
301
- if (err instanceof Error) {
302
- return { ...base, message: err.message ?? '', stackTrace: cutoffStackTrace(err.stack) };
297
+ if ((0, internal_workflow_common_1.isRecord)(err) && (0, internal_workflow_common_1.hasOwnProperties)(err, ['message', 'stack'])) {
298
+ return {
299
+ ...base,
300
+ message: String(err.message) ?? '',
301
+ stackTrace: cutoffStackTrace(String(err.stack)),
302
+ cause: optionalErrorToOptionalFailure(err.cause, payloadConverter),
303
+ };
303
304
  }
305
+ const recommendation = ` [A non-Error value was thrown from your code. We recommend throwing Error objects so that we can provide a stack trace.]`;
304
306
  if (typeof err === 'string') {
305
- return { ...base, message: err };
307
+ return { ...base, message: err + recommendation };
306
308
  }
307
- return { ...base, message: String(err) };
309
+ return { ...base, message: JSON.stringify(err) + recommendation };
308
310
  }
309
311
  exports.errorToFailure = errorToFailure;
310
312
  /**
@@ -333,8 +335,8 @@ exports.ensureTemporalFailure = ensureTemporalFailure;
333
335
  /**
334
336
  * Converts a Failure proto message to a JS Error object if defined or returns undefined.
335
337
  */
336
- async function optionalFailureToOptionalError(failure, dataConverter) {
337
- return failure ? await failureToError(failure, dataConverter) : undefined;
338
+ function optionalFailureToOptionalError(failure, payloadConverter) {
339
+ return failure ? failureToError(failure, payloadConverter) : undefined;
338
340
  }
339
341
  exports.optionalFailureToOptionalError = optionalFailureToOptionalError;
340
342
  /**
@@ -342,46 +344,46 @@ exports.optionalFailureToOptionalError = optionalFailureToOptionalError;
342
344
  *
343
345
  * Does not set common properties, that is done in {@link failureToError}.
344
346
  */
345
- async function failureToErrorInner(failure, dataConverter) {
347
+ function failureToErrorInner(failure, payloadConverter) {
346
348
  if (failure.applicationFailureInfo) {
347
- return new ApplicationFailure(failure.message ?? undefined, failure.applicationFailureInfo.type, Boolean(failure.applicationFailureInfo.nonRetryable), await (0, data_converter_1.arrayFromPayloads)(dataConverter, failure.applicationFailureInfo.details?.payloads), await optionalFailureToOptionalError(failure.cause, dataConverter));
349
+ return new ApplicationFailure(failure.message ?? undefined, failure.applicationFailureInfo.type, Boolean(failure.applicationFailureInfo.nonRetryable), (0, payload_converter_1.arrayFromPayloads)(payloadConverter, failure.applicationFailureInfo.details?.payloads), optionalFailureToOptionalError(failure.cause, payloadConverter));
348
350
  }
349
351
  if (failure.serverFailureInfo) {
350
- return new ServerFailure(failure.message ?? undefined, Boolean(failure.serverFailureInfo.nonRetryable), await optionalFailureToOptionalError(failure.cause, dataConverter));
352
+ return new ServerFailure(failure.message ?? undefined, Boolean(failure.serverFailureInfo.nonRetryable), optionalFailureToOptionalError(failure.cause, payloadConverter));
351
353
  }
352
354
  if (failure.timeoutFailureInfo) {
353
- return new TimeoutFailure(failure.message ?? undefined, await dataConverter.fromPayloads(0, failure.timeoutFailureInfo.lastHeartbeatDetails?.payloads), failure.timeoutFailureInfo.timeoutType ?? TimeoutType.TIMEOUT_TYPE_UNSPECIFIED);
355
+ return new TimeoutFailure(failure.message ?? undefined, (0, payload_converter_1.fromPayloadsAtIndex)(payloadConverter, 0, failure.timeoutFailureInfo.lastHeartbeatDetails?.payloads), failure.timeoutFailureInfo.timeoutType ?? TimeoutType.TIMEOUT_TYPE_UNSPECIFIED);
354
356
  }
355
357
  if (failure.terminatedFailureInfo) {
356
- return new TerminatedFailure(failure.message ?? undefined, await optionalFailureToOptionalError(failure.cause, dataConverter));
358
+ return new TerminatedFailure(failure.message ?? undefined, optionalFailureToOptionalError(failure.cause, payloadConverter));
357
359
  }
358
360
  if (failure.canceledFailureInfo) {
359
- return new CancelledFailure(failure.message ?? undefined, await (0, data_converter_1.arrayFromPayloads)(dataConverter, failure.canceledFailureInfo.details?.payloads), await optionalFailureToOptionalError(failure.cause, dataConverter));
361
+ return new CancelledFailure(failure.message ?? undefined, (0, payload_converter_1.arrayFromPayloads)(payloadConverter, failure.canceledFailureInfo.details?.payloads), optionalFailureToOptionalError(failure.cause, payloadConverter));
360
362
  }
361
363
  if (failure.resetWorkflowFailureInfo) {
362
- return new ApplicationFailure(failure.message ?? undefined, 'ResetWorkflow', false, await (0, data_converter_1.arrayFromPayloads)(dataConverter, failure.resetWorkflowFailureInfo.lastHeartbeatDetails?.payloads), await optionalFailureToOptionalError(failure.cause, dataConverter));
364
+ return new ApplicationFailure(failure.message ?? undefined, 'ResetWorkflow', false, (0, payload_converter_1.arrayFromPayloads)(payloadConverter, failure.resetWorkflowFailureInfo.lastHeartbeatDetails?.payloads), optionalFailureToOptionalError(failure.cause, payloadConverter));
363
365
  }
364
366
  if (failure.childWorkflowExecutionFailureInfo) {
365
367
  const { namespace, workflowType, workflowExecution, retryState } = failure.childWorkflowExecutionFailureInfo;
366
368
  if (!(workflowType?.name && workflowExecution)) {
367
369
  throw new TypeError('Missing attributes on childWorkflowExecutionFailureInfo');
368
370
  }
369
- return new ChildWorkflowFailure(namespace ?? undefined, workflowExecution, workflowType.name, retryState ?? RetryState.RETRY_STATE_UNSPECIFIED, await optionalFailureToOptionalError(failure.cause, dataConverter));
371
+ return new ChildWorkflowFailure(namespace ?? undefined, workflowExecution, workflowType.name, retryState ?? RetryState.RETRY_STATE_UNSPECIFIED, optionalFailureToOptionalError(failure.cause, payloadConverter));
370
372
  }
371
373
  if (failure.activityFailureInfo) {
372
374
  if (!failure.activityFailureInfo.activityType?.name) {
373
375
  throw new TypeError('Missing activityType?.name on activityFailureInfo');
374
376
  }
375
- return new ActivityFailure(failure.activityFailureInfo.activityType.name, failure.activityFailureInfo.activityId ?? undefined, failure.activityFailureInfo.retryState ?? RetryState.RETRY_STATE_UNSPECIFIED, failure.activityFailureInfo.identity ?? undefined, await optionalFailureToOptionalError(failure.cause, dataConverter));
377
+ return new ActivityFailure(failure.activityFailureInfo.activityType.name, failure.activityFailureInfo.activityId ?? undefined, failure.activityFailureInfo.retryState ?? RetryState.RETRY_STATE_UNSPECIFIED, failure.activityFailureInfo.identity ?? undefined, optionalFailureToOptionalError(failure.cause, payloadConverter));
376
378
  }
377
- return new TemporalFailure(failure.message ?? undefined, await optionalFailureToOptionalError(failure.cause, dataConverter));
379
+ return new TemporalFailure(failure.message ?? undefined, optionalFailureToOptionalError(failure.cause, payloadConverter));
378
380
  }
379
381
  exports.failureToErrorInner = failureToErrorInner;
380
382
  /**
381
383
  * Converts a Failure proto message to a JS Error object.
382
384
  */
383
- async function failureToError(failure, dataConverter) {
384
- const err = await failureToErrorInner(failure, dataConverter);
385
+ function failureToError(failure, payloadConverter) {
386
+ const err = failureToErrorInner(failure, payloadConverter);
385
387
  err.stack = failure.stackTrace ?? '';
386
388
  err.failure = failure;
387
389
  return err;
@@ -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
@@ -1,17 +1,15 @@
1
1
  /**
2
- * Common library for both isolated Workflow and normal non-Workflow code
2
+ * Common library for code that's used across the Client, Worker, and/or Workflow
3
3
  *
4
4
  * @module
5
5
  */
6
- export * from './activity-options';
6
+ export { ActivityFunction, ActivityInterface, Headers, Next, RetryPolicy } from '@temporalio/internal-workflow-common';
7
+ export * from '@temporalio/internal-workflow-common/lib/errors';
8
+ export * from '@temporalio/internal-workflow-common/lib/interfaces';
9
+ export * from '@temporalio/internal-workflow-common/lib/time';
7
10
  export * from './converter/data-converter';
8
- export * from './errors';
11
+ export * from './converter/payload-codec';
12
+ export * from './converter/payload-converter';
13
+ export * from './converter/payload-converters';
14
+ export * from './converter/types';
9
15
  export * from './failure';
10
- export * from './interceptors';
11
- export * from './interfaces';
12
- export * from './retry-policy';
13
- export * from './time';
14
- export * from './tls-config';
15
- export * from './workflow-handle';
16
- export * from './workflow-options';
17
- export * from './utils';
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -10,21 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- /**
14
- * Common library for both isolated Workflow and normal non-Workflow code
15
- *
16
- * @module
17
- */
18
- __exportStar(require("./activity-options"), exports);
17
+ __exportStar(require("@temporalio/internal-workflow-common/lib/errors"), exports);
18
+ __exportStar(require("@temporalio/internal-workflow-common/lib/interfaces"), exports);
19
+ __exportStar(require("@temporalio/internal-workflow-common/lib/time"), exports);
19
20
  __exportStar(require("./converter/data-converter"), exports);
20
- __exportStar(require("./errors"), exports);
21
+ __exportStar(require("./converter/payload-codec"), exports);
22
+ __exportStar(require("./converter/payload-converter"), exports);
23
+ __exportStar(require("./converter/payload-converters"), exports);
24
+ __exportStar(require("./converter/types"), exports);
21
25
  __exportStar(require("./failure"), exports);
22
- __exportStar(require("./interceptors"), exports);
23
- __exportStar(require("./interfaces"), exports);
24
- __exportStar(require("./retry-policy"), exports);
25
- __exportStar(require("./time"), exports);
26
- __exportStar(require("./tls-config"), exports);
27
- __exportStar(require("./workflow-handle"), exports);
28
- __exportStar(require("./workflow-options"), exports);
29
- __exportStar(require("./utils"), exports);
30
26
  //# 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":";;;;;;;;;;;;AAAA;;;;GAIG;AACH,qDAAmC;AACnC,6DAA2C;AAC3C,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,iDAA+B;AAC/B,yCAAuB;AACvB,+CAA6B;AAC7B,oDAAkC;AAClC,qDAAmC;AACnC,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,kFAAgE;AAChE,sFAAoE;AACpE,gFAA8D;AAC9D,6DAA2C;AAC3C,4DAA0C;AAC1C,gEAA8C;AAC9C,iEAA+C;AAC/C,oDAAkC;AAClC,4CAA0B"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Entry point for classes and utilities related to using
3
+ * [Protobufs](https://docs.temporal.io/docs/typescript/data-converters#protobufs) for serialization.
4
+ *
5
+ * Import from `@temporalio/common/lib/protobufs`, for example:
6
+ *
7
+ * ```
8
+ * import { patchProtobufRoot } from '@temporalio/common/lib/protobufs';
9
+ * ```
10
+ * @module
11
+ */
12
+ export * from './converter/protobuf-payload-converters';
13
+ export * from './converter/patch-protobuf-root';
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Entry point for classes and utilities related to using
4
+ * [Protobufs](https://docs.temporal.io/docs/typescript/data-converters#protobufs) for serialization.
5
+ *
6
+ * Import from `@temporalio/common/lib/protobufs`, for example:
7
+ *
8
+ * ```
9
+ * import { patchProtobufRoot } from '@temporalio/common/lib/protobufs';
10
+ * ```
11
+ * @module
12
+ */
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ // Don't export from index, so we save space in Workflow bundles of users who don't use Protobufs
29
+ __exportStar(require("./converter/protobuf-payload-converters"), exports);
30
+ __exportStar(require("./converter/patch-protobuf-root"), exports);
31
+ //# sourceMappingURL=protobufs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protobufs.js","sourceRoot":"","sources":["../src/protobufs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;AAEH,iGAAiG;AACjG,0EAAwD;AACxD,kEAAgD"}
package/package.json CHANGED
@@ -1,20 +1,19 @@
1
1
  {
2
2
  "name": "@temporalio/common",
3
- "version": "0.17.2",
4
- "description": "Temporal.io SDK common library for use in Workflow and normal code",
3
+ "version": "0.19.0-rc.1",
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",
7
7
  "keywords": [
8
8
  "temporal",
9
9
  "workflow",
10
- "worker",
11
- "common"
10
+ "worker"
12
11
  ],
13
- "author": "Roey Berman <roey@temporal.io>",
12
+ "author": "Loren Sands-Ramshaw <loren@temporal.io>",
14
13
  "license": "MIT",
15
14
  "dependencies": {
16
- "@temporalio/proto": "^0.17.2",
17
- "ms": "^2.1.3"
15
+ "@temporalio/internal-workflow-common": "^0.19.0-rc.1",
16
+ "proto3-json-serializer": "^0.1.6"
18
17
  },
19
18
  "bugs": {
20
19
  "url": "https://github.com/temporalio/sdk-typescript/issues"
@@ -23,5 +22,9 @@
23
22
  "publishConfig": {
24
23
  "access": "public"
25
24
  },
26
- "gitHead": "2232465a4f9b0cade28f0c21c2d7856053678728"
25
+ "devDependencies": {
26
+ "@temporalio/proto": "^0.19.0-rc.1",
27
+ "protobufjs": "^6.11.2"
28
+ },
29
+ "gitHead": "186341ed7285e468c145121433f2c239e53934a6"
27
30
  }
@@ -1,189 +1,48 @@
1
- import { ValueError } from '../errors';
2
- import { str, METADATA_ENCODING_KEY, Payload } from './types';
3
- import {
4
- PayloadConverter,
5
- UndefinedPayloadConverter,
6
- BinaryPayloadConverter,
7
- JsonPayloadConverter,
8
- } from './payload-converter';
1
+ import { PayloadCodec } from './payload-codec';
2
+ import { PayloadConverter } from './payload-converter';
9
3
 
10
4
  /**
11
- * Used by the framework to serialize/deserialize method parameters that need to be sent over the
12
- * wire.
5
+ * When your data (arguments and return values) is sent over the wire and stored by Temporal Server, it is encoded in
6
+ * binary in a {@link Payload} Protobuf message.
13
7
  *
14
- * Implement this in order to customize worker data serialization or use the default data converter which supports `Uint8Array` and JSON serializables.
8
+ * The default `DataConverter` supports `Uint8Array`, and JSON serializables (so if
9
+ * [`JSON.stringify(yourArgOrRetval)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description)
10
+ * works, the default data converter will work). Protobufs are supported via [this
11
+ * API](https://docs.temporal.io/docs/typescript/data-converters#protobufs).
12
+ *
13
+ * Use a custom `DataConverter` to control the contents of your {@link Payload}s. Common reasons for using a custom
14
+ * `DataConverter` are:
15
+ * - Converting values that are not supported by the default `DataConverter` (for example, `JSON.stringify()` doesn't
16
+ * handle `BigInt`s, so if you want to return `{ total: 1000n }` from a Workflow, Signal, or Activity, you need your
17
+ * own `DataConverter`).
18
+ * - Encrypting values that may contain private information that you don't want stored in plaintext in Temporal Server's
19
+ * database.
20
+ * - Compressing values to reduce disk or network usage.
21
+ *
22
+ * To use your custom `DataConverter`, provide it to the {@link WorkflowClient}, {@link Worker}, and
23
+ * {@link bundleWorkflowCode} (if you use it):
24
+ * - `new WorkflowClient({ ..., dataConverter })`
25
+ * - `Worker.create({ ..., dataConverter })`
26
+ * - `bundleWorkflowCode({ ..., payloadConverterPath })`
15
27
  */
16
28
  export interface DataConverter {
17
- toPayload<T>(value: T): Promise<Payload>;
18
-
19
- fromPayload<T>(payload: Payload): Promise<T>;
20
- /**
21
- * Implements conversion of a list of values.
22
- *
23
- * @param values JS values to convert to Payloads.
24
- * @return converted value
25
- * @throws DataConverterError if conversion of the value passed as parameter failed for any
26
- * reason.
27
- */
28
- toPayloads(...values: unknown[]): Promise<Payload[] | undefined>;
29
-
30
- /**
31
- * Implements conversion of an array of values of different types. Useful for deserializing
32
- * arguments of function invocations.
33
- *
34
- * @param index index of the value in the payloads
35
- * @param content serialized value to convert to JS values.
36
- * @return converted JS value
37
- * @throws DataConverterError if conversion of the data passed as parameter failed for any
38
- * reason.
39
- */
40
- fromPayloads<T>(index: number, content?: Payload[] | null): Promise<T>;
41
-
42
29
  /**
43
- * Sync conversion of single payload, used in the Workflow runtime
30
+ * Path of a file that has a `payloadConverter` named export.
31
+ * `payloadConverter` should be an instance of a class that implements {@link PayloadConverter}.
32
+ * If no path is provided, {@link defaultPayloadConverter} is used.
44
33
  */
45
- toPayloadSync<T>(value: T): Payload;
34
+ payloadConverterPath?: string;
46
35
 
47
36
  /**
48
- * Sync conversion from a single payload, used in the Workflow runtime
37
+ * A {@link PayloadCodec} instance. The default codec is a no-op.
49
38
  */
50
- fromPayloadSync<T>(payload: Payload): T;
51
- /**
52
- * Sync conversion of all arguments, used in the Workflow runtime
53
- *
54
- * Implements conversion of a list of values.
55
- *
56
- * @param values JS values to convert to Payloads.
57
- * @return converted value
58
- * @throws DataConverterError if conversion of the value passed as parameter failed for any
59
- * reason.
60
- */
61
- toPayloadsSync(...values: unknown[]): Payload[] | undefined;
62
-
63
- /**
64
- * Sync version of {@link fromPayloads}
65
- */
66
- fromPayloadsSync<T>(index: number, content?: Payload[] | null): T;
67
- }
68
-
69
- export class CompositeDataConverter implements DataConverter {
70
- readonly converters: PayloadConverter[];
71
- readonly converterByEncoding: Map<string, PayloadConverter> = new Map();
72
-
73
- constructor(...converters: PayloadConverter[]) {
74
- this.converters = converters;
75
- for (const converter of converters) {
76
- this.converterByEncoding.set(converter.encodingType, converter);
77
- }
78
- }
79
-
80
- public async toPayload<T>(value: T): Promise<Payload> {
81
- for (const converter of this.converters) {
82
- const result = await converter.toData(value);
83
- if (result !== undefined) return result;
84
- }
85
- throw new ValueError(`Cannot serialize ${value}`);
86
- }
87
-
88
- public toPayloadSync<T>(value: T): Payload {
89
- for (const converter of this.converters) {
90
- const result = converter.toDataSync(value);
91
- if (result !== undefined) return result;
92
- }
93
- throw new ValueError(`Cannot serialize ${value}`);
94
- }
95
-
96
- public async fromPayload<T>(payload: Payload): Promise<T> {
97
- if (payload.metadata === undefined || payload.metadata === null) {
98
- throw new ValueError('Missing payload metadata');
99
- }
100
- const encoding = str(payload.metadata[METADATA_ENCODING_KEY]);
101
- const converter = this.converterByEncoding.get(encoding);
102
- if (converter === undefined) {
103
- throw new ValueError(`Unknown encoding: ${encoding}`);
104
- }
105
- return await converter.fromData(payload);
106
- }
107
-
108
- public fromPayloadSync<T>(payload: Payload): T {
109
- if (payload.metadata === undefined || payload.metadata === null) {
110
- throw new ValueError('Missing payload metadata');
111
- }
112
- const encoding = str(payload.metadata[METADATA_ENCODING_KEY]);
113
- const converter = this.converterByEncoding.get(encoding);
114
- if (converter === undefined) {
115
- throw new ValueError(`Unknown encoding: ${encoding}`);
116
- }
117
- return converter.fromDataSync(payload);
118
- }
119
-
120
- public async toPayloads(...values: unknown[]): Promise<Payload[] | undefined> {
121
- if (values.length === 0) {
122
- return undefined;
123
- }
124
- return await Promise.all(values.map((value) => this.toPayload(value)));
125
- }
126
-
127
- public toPayloadsSync(...values: unknown[]): Payload[] | undefined {
128
- if (values.length === 0) {
129
- return undefined;
130
- }
131
- return values.map((value) => this.toPayloadSync(value));
132
- }
133
-
134
- public async fromPayloads<T>(index: number, payloads?: Payload[] | null): Promise<T> {
135
- // To make adding arguments a backwards compatible change
136
- if (payloads === undefined || payloads === null || index >= payloads.length) {
137
- return undefined as any;
138
- }
139
- return await this.fromPayload(payloads[index]);
140
- }
141
-
142
- public fromPayloadsSync<T>(index: number, payloads?: Payload[] | null): T {
143
- // To make adding arguments a backwards compatible change
144
- if (payloads === undefined || payloads === null || index >= payloads.length) {
145
- return undefined as any;
146
- }
147
- return this.fromPayloadSync(payloads[index]);
148
- }
39
+ payloadCodec?: PayloadCodec;
149
40
  }
150
41
 
151
- export async function arrayFromPayloads(converter: DataConverter, content?: Payload[] | null): Promise<unknown[]> {
152
- if (!content) {
153
- return [];
154
- }
155
- return await Promise.all(content.map((payload: Payload) => converter.fromPayload(payload)));
156
- }
157
-
158
- export async function mapToPayloads<K extends string>(
159
- converter: DataConverter,
160
- source: Record<K, any>
161
- ): Promise<Record<K, Payload>> {
162
- return Object.fromEntries(
163
- await Promise.all(
164
- Object.entries(source).map(async ([k, v]): Promise<[K, Payload]> => [k as K, await converter.toPayload(v)])
165
- )
166
- ) as Record<K, Payload>;
167
- }
168
-
169
- export function arrayFromPayloadsSync(converter: DataConverter, content?: Payload[] | null): unknown[] {
170
- if (!content) {
171
- return [];
172
- }
173
- return content.map((payload: Payload) => converter.fromPayloadSync(payload));
174
- }
175
-
176
- export function mapToPayloadsSync<K extends string>(
177
- converter: DataConverter,
178
- source: Record<K, any>
179
- ): Record<K, Payload> {
180
- return Object.fromEntries(
181
- Object.entries(source).map(([k, v]): [K, Payload] => [k as K, converter.toPayloadSync(v)])
182
- ) as Record<K, Payload>;
42
+ /**
43
+ * A {@link DataConverter} that has been loaded via {@link loadDataConverter}.
44
+ */
45
+ export interface LoadedDataConverter {
46
+ payloadConverter: PayloadConverter;
47
+ payloadCodec: PayloadCodec;
183
48
  }
184
-
185
- export const defaultDataConverter = new CompositeDataConverter(
186
- new UndefinedPayloadConverter(),
187
- new BinaryPayloadConverter(),
188
- new JsonPayloadConverter()
189
- );
File without changes