@temporalio/common 1.12.3 → 1.13.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.
@@ -102,7 +102,7 @@ export interface ActivityOptions {
102
102
  * A fixed, single-line summary for this workflow execution that may appear in the UI/CLI.
103
103
  * This can be in single-line Temporal markdown format.
104
104
  *
105
- * @experimental User metadata is a new API and suspectible to change.
105
+ * @experimental User metadata is a new API and susceptible to change.
106
106
  */
107
107
  summary?: string;
108
108
  /**
@@ -171,7 +171,7 @@ export interface LocalActivityOptions {
171
171
  * A fixed, single-line summary for this workflow execution that may appear in the UI/CLI.
172
172
  * This can be in single-line Temporal markdown format.
173
173
  *
174
- * @experimental User metadata is a new API and suspectible to change.
174
+ * @experimental User metadata is a new API and susceptible to change.
175
175
  */
176
176
  summary?: string;
177
177
  }
@@ -1,4 +1,4 @@
1
- import { ProtoFailure, TemporalFailure } from '../failure';
1
+ import { ProtoFailure } from '../failure';
2
2
  import { PayloadConverter } from './payload-converter';
3
3
  /**
4
4
  * Cuts out the framework part of a stack trace, leaving only user code entries
@@ -55,7 +55,7 @@ export declare class DefaultFailureConverter implements FailureConverter {
55
55
  *
56
56
  * Does not set common properties, that is done in {@link failureToError}.
57
57
  */
58
- failureToErrorInner(failure: ProtoFailure, payloadConverter: PayloadConverter): TemporalFailure;
58
+ failureToErrorInner(failure: ProtoFailure, payloadConverter: PayloadConverter): Error;
59
59
  failureToError(failure: ProtoFailure, payloadConverter: PayloadConverter): Error;
60
60
  errorToFailure(err: unknown, payloadConverter: PayloadConverter): ProtoFailure;
61
61
  errorToFailureInner(err: unknown, payloadConverter: PayloadConverter): ProtoFailure;
@@ -1,11 +1,50 @@
1
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
29
  exports.DefaultFailureConverter = void 0;
4
30
  exports.cutoffStackTrace = cutoffStackTrace;
31
+ const nexus = __importStar(require("nexus-rpc"));
32
+ const long_1 = __importDefault(require("long"));
5
33
  const failure_1 = require("../failure");
34
+ const internal_workflow_1 = require("../internal-workflow");
6
35
  const type_helpers_1 = require("../type-helpers");
7
36
  const time_1 = require("../time");
8
37
  const payload_converter_1 = require("./payload-converter");
38
+ // Can't import proto enums into the workflow sandbox, use this helper type and enum converter instead.
39
+ const NexusHandlerErrorRetryBehavior = {
40
+ RETRYABLE: 'RETRYABLE',
41
+ NON_RETRYABLE: 'NON_RETRYABLE',
42
+ };
43
+ const [encodeNexusHandlerErrorRetryBehavior, decodeNexusHandlerErrorRetryBehavior] = (0, internal_workflow_1.makeProtoEnumConverters)({
44
+ UNSPECIFIED: 0,
45
+ [NexusHandlerErrorRetryBehavior.RETRYABLE]: 1,
46
+ [NexusHandlerErrorRetryBehavior.NON_RETRYABLE]: 2,
47
+ }, 'NEXUS_HANDLER_ERROR_RETRY_BEHAVIOR_');
9
48
  function combineRegExp(...regexps) {
10
49
  return new RegExp(regexps.map((x) => `(?:${x.source})`).join('|'));
11
50
  }
@@ -15,6 +54,8 @@ function combineRegExp(...regexps) {
15
54
  const CUTOFF_STACK_PATTERNS = combineRegExp(
16
55
  /** Activity execution */
17
56
  /\s+at Activity\.execute \(.*[\\/]worker[\\/](?:src|lib)[\\/]activity\.[jt]s:\d+:\d+\)/,
57
+ /** Nexus execution */
58
+ /\s+at( async)? NexusHandler\.invokeUserCode \(.*[\\/]worker[\\/](?:src|lib)[\\/]nexus[\\/]index\.[jt]s:\d+:\d+\)/,
18
59
  /** Workflow activation */
19
60
  /\s+at Activator\.\S+NextHandler \(.*[\\/]workflow[\\/](?:src|lib)[\\/]internals\.[jt]s:\d+:\d+\)/,
20
61
  /** Workflow run anything in context */
@@ -95,6 +136,31 @@ class DefaultFailureConverter {
95
136
  }
96
137
  return new failure_1.ActivityFailure(failure.message ?? undefined, failure.activityFailureInfo.activityType.name, failure.activityFailureInfo.activityId ?? undefined, (0, failure_1.decodeRetryState)(failure.activityFailureInfo.retryState), failure.activityFailureInfo.identity ?? undefined, this.optionalFailureToOptionalError(failure.cause, payloadConverter));
97
138
  }
139
+ if (failure.nexusHandlerFailureInfo) {
140
+ let retryableOverride = undefined;
141
+ const retryBehavior = decodeNexusHandlerErrorRetryBehavior(failure.nexusHandlerFailureInfo.retryBehavior);
142
+ switch (retryBehavior) {
143
+ case 'RETRYABLE':
144
+ retryableOverride = true;
145
+ break;
146
+ case 'NON_RETRYABLE':
147
+ retryableOverride = false;
148
+ break;
149
+ }
150
+ return new nexus.HandlerError(failure.nexusHandlerFailureInfo.type ?? 'INTERNAL',
151
+ // TODO(nexus/error): Maybe set a default message here, once we've decided on error handling.
152
+ failure.message ?? undefined, {
153
+ cause: this.optionalFailureToOptionalError(failure.cause, payloadConverter),
154
+ retryableOverride,
155
+ });
156
+ }
157
+ if (failure.nexusOperationExecutionFailureInfo) {
158
+ return new failure_1.NexusOperationFailure(
159
+ // TODO(nexus/error): Maybe set a default message here, once we've decided on error handling.
160
+ failure.message ?? undefined, failure.nexusOperationExecutionFailureInfo.scheduledEventId?.toNumber(),
161
+ // We assume these will always be set or gracefully set to empty strings.
162
+ failure.nexusOperationExecutionFailureInfo.endpoint ?? '', failure.nexusOperationExecutionFailureInfo.service ?? '', failure.nexusOperationExecutionFailureInfo.operation ?? '', failure.nexusOperationExecutionFailureInfo.operationToken ?? undefined, this.optionalFailureToOptionalError(failure.cause, payloadConverter));
163
+ }
98
164
  return new failure_1.TemporalFailure(failure.message ?? undefined, this.optionalFailureToOptionalError(failure.cause, payloadConverter));
99
165
  }
100
166
  failureToError(failure, payloadConverter) {
@@ -115,7 +181,9 @@ class DefaultFailureConverter {
115
181
  }
116
182
  const err = this.failureToErrorInner(failure, payloadConverter);
117
183
  err.stack = failure.stackTrace ?? '';
118
- err.failure = failure;
184
+ if (err instanceof failure_1.TemporalFailure) {
185
+ err.failure = failure;
186
+ }
119
187
  return err;
120
188
  }
121
189
  errorToFailure(err, payloadConverter) {
@@ -129,8 +197,11 @@ class DefaultFailureConverter {
129
197
  return failure;
130
198
  }
131
199
  errorToFailureInner(err, payloadConverter) {
132
- if (err instanceof failure_1.TemporalFailure) {
133
- if (err.failure)
200
+ // TODO(nexus/error): If we decide not to have a NexusHandlerFailure, we could still attach the
201
+ // failure proto to the Nexus HandlerError object, by using a private symbol
202
+ // property. To be considered once we have a decision on error handling.
203
+ if (err instanceof failure_1.TemporalFailure || err instanceof nexus.HandlerError) {
204
+ if (err instanceof failure_1.TemporalFailure && err.failure)
134
205
  return err.failure;
135
206
  const base = {
136
207
  message: err.message,
@@ -206,6 +277,38 @@ class DefaultFailureConverter {
206
277
  terminatedFailureInfo: {},
207
278
  };
208
279
  }
280
+ if (err instanceof nexus.HandlerError) {
281
+ let retryBehavior = undefined;
282
+ switch (err.retryableOverride) {
283
+ case true:
284
+ retryBehavior = encodeNexusHandlerErrorRetryBehavior('RETRYABLE');
285
+ break;
286
+ case false:
287
+ retryBehavior = encodeNexusHandlerErrorRetryBehavior('NON_RETRYABLE');
288
+ break;
289
+ }
290
+ return {
291
+ // TODO(nexus/error): Maybe set a default message here, once we've decided on error handling.
292
+ ...base,
293
+ nexusHandlerFailureInfo: {
294
+ type: err.type,
295
+ retryBehavior,
296
+ },
297
+ };
298
+ }
299
+ if (err instanceof failure_1.NexusOperationFailure) {
300
+ return {
301
+ // TODO(nexus/error): Maybe set a default message here, once we've decided on error handling.
302
+ ...base,
303
+ nexusOperationExecutionFailureInfo: {
304
+ scheduledEventId: err.scheduledEventId ? long_1.default.fromNumber(err.scheduledEventId) : undefined,
305
+ endpoint: err.endpoint,
306
+ service: err.service,
307
+ operation: err.operation,
308
+ operationToken: err.operationToken,
309
+ },
310
+ };
311
+ }
209
312
  // Just a TemporalFailure
210
313
  return base;
211
314
  }
@@ -1 +1 @@
1
- {"version":3,"file":"failure-converter.js","sourceRoot":"","sources":["../../src/converter/failure-converter.ts"],"names":[],"mappings":";;;AAoDA,4CAQC;AA5DD,wCAiBoB;AACpB,kDAA0C;AAC1C,kCAAyC;AACzC,2DAA2G;AAE3G,SAAS,aAAa,CAAC,GAAG,OAAiB;IACzC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,qBAAqB,GAAG,aAAa;AACzC,yBAAyB;AACzB,uFAAuF;AACvF,0BAA0B;AAC1B,kGAAkG;AAClG,uCAAuC;AACvC,2DAA2D,CAC5D,CAAC;AAEF;;;GAGG;AACH,MAAM,6BAA6B,GAAG,aAAa;AACjD,gEAAgE;AAChE,uFAAuF;AACvF,gEAAgE;AAChE,iGAAiG,CAClG,CAAC;AAEF;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,EAAU,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM;QAC5C,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAyCD;;;;;;;GAOG;AACH,MAAa,uBAAuB;IAClB,OAAO,CAAiC;IAExD,YAAY,OAAiD;QAC3D,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG;YACb,sBAAsB,EAAE,sBAAsB,IAAI,KAAK;SACxD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,OAAqB,EAAE,gBAAkC;QAC3E,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACnC,OAAO,IAAI,4BAAkB,CAC3B,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,OAAO,CAAC,sBAAsB,CAAC,IAAI,EACnC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,EACpD,IAAA,qCAAiB,EAAC,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,EACrF,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EACpE,SAAS,EACT,IAAA,0CAAgC,EAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAC1E,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,OAAO,IAAI,uBAAa,CACtB,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAC/C,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,OAAO,IAAI,wBAAc,CACvB,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,IAAA,uCAAmB,EAAC,gBAAgB,EAAE,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EACnG,IAAA,2BAAiB,EAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,OAAO,IAAI,2BAAiB,CAC1B,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,OAAO,IAAI,0BAAgB,CACzB,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,IAAA,qCAAiB,EAAC,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAClF,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACrC,OAAO,IAAI,4BAAkB,CAC3B,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,eAAe,EACf,KAAK,EACL,IAAA,qCAAiB,EAAC,gBAAgB,EAAE,OAAO,CAAC,wBAAwB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EACpG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,iCAAiC,EAAE,CAAC;YAC9C,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iCAAiC,CAAC;YAC7G,IAAI,CAAC,CAAC,YAAY,EAAE,IAAI,IAAI,iBAAiB,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,IAAI,8BAAoB,CAC7B,SAAS,IAAI,SAAS,EACtB,iBAAiB,EACjB,YAAY,CAAC,IAAI,EACjB,IAAA,0BAAgB,EAAC,UAAU,CAAC,EAC5B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;gBACpD,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,IAAI,yBAAe,CACxB,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,EAC7C,OAAO,CAAC,mBAAmB,CAAC,UAAU,IAAI,SAAS,EACnD,IAAA,0BAAgB,EAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,EACxD,OAAO,CAAC,mBAAmB,CAAC,QAAQ,IAAI,SAAS,EACjD,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,yBAAe,CACxB,OAAO,CAAC,OAAO,IAAI,SAAS,EAC5B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,OAAqB,EAAE,gBAAkC;QACtE,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAkC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACvG,0EAA0E;YAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;gBACvC,8BAA8B;gBAC9B,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;gBACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC5B,CAAC;gBACD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACpC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChE,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QACrC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,cAAc,CAAC,GAAY,EAAE,gBAAkC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACxC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YACxC,OAAO,CAAC,OAAO,GAAG,iBAAiB,CAAC;YACpC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;YACxB,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mBAAmB,CAAC,GAAY,EAAE,gBAAkC;QAClE,IAAI,GAAG,YAAY,yBAAe,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAC;YACpC,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;gBACvC,KAAK,EAAE,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC;gBACvE,MAAM,EAAE,wBAAc;aACvB,CAAC;YAEF,IAAI,GAAG,YAAY,yBAAe,EAAE,CAAC;gBACnC,OAAO;oBACL,GAAG,IAAI;oBACP,mBAAmB,EAAE;wBACnB,GAAG,GAAG;wBACN,UAAU,EAAE,IAAA,0BAAgB,EAAC,GAAG,CAAC,UAAU,CAAC;wBAC5C,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE;qBACzC;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,YAAY,8BAAoB,EAAE,CAAC;gBACxC,OAAO;oBACL,GAAG,IAAI;oBACP,iCAAiC,EAAE;wBACjC,GAAG,GAAG;wBACN,UAAU,EAAE,IAAA,0BAAgB,EAAC,GAAG,CAAC,UAAU,CAAC;wBAC5C,iBAAiB,EAAE,GAAG,CAAC,SAAS;wBAChC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE;qBACzC;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,YAAY,4BAAkB,EAAE,CAAC;gBACtC,OAAO;oBACL,GAAG,IAAI;oBACP,sBAAsB,EAAE;wBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,OAAO,EACL,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM;4BAC/B,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAA,8BAAU,EAAC,gBAAgB,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE;4BAC5D,CAAC,CAAC,SAAS;wBACf,cAAc,EAAE,IAAA,qBAAc,EAAC,GAAG,CAAC,cAAc,CAAC;wBAClD,QAAQ,EAAE,IAAA,0CAAgC,EAAC,GAAG,CAAC,QAAQ,CAAC;qBACzD;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,YAAY,0BAAgB,EAAE,CAAC;gBACpC,OAAO;oBACL,GAAG,IAAI;oBACP,mBAAmB,EAAE;wBACnB,OAAO,EACL,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM;4BAC/B,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAA,8BAAU,EAAC,gBAAgB,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE;4BAC5D,CAAC,CAAC,SAAS;qBAChB;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,YAAY,wBAAc,EAAE,CAAC;gBAClC,OAAO;oBACL,GAAG,IAAI;oBACP,kBAAkB,EAAE;wBAClB,WAAW,EAAE,IAAA,2BAAiB,EAAC,GAAG,CAAC,WAAW,CAAC;wBAC/C,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;4BAC5C,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAA,8BAAU,EAAC,gBAAgB,EAAE,GAAG,CAAC,oBAAoB,CAAC,EAAE;4BACtE,CAAC,CAAC,SAAS;qBACd;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,YAAY,uBAAa,EAAE,CAAC;gBACjC,OAAO;oBACL,GAAG,IAAI;oBACP,iBAAiB,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;iBACtD,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,YAAY,2BAAiB,EAAE,CAAC;gBACrC,OAAO;oBACL,GAAG,IAAI;oBACP,qBAAqB,EAAE,EAAE;iBAC1B,CAAC;YACJ,CAAC;YACD,yBAAyB;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,wBAAc;SACvB,CAAC;QAEF,IAAI,IAAA,sBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO;gBACL,GAAG,IAAI;gBACP,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;gBAClC,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;gBACvC,KAAK,EAAE,IAAI,CAAC,8BAA8B,CAAE,GAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC;aACjF,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,0HAA0H,CAAC;QAElJ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,cAAc,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACd,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,cAAc,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,8BAA8B,CAC5B,OAAwC,EACxC,gBAAkC;QAElC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,8BAA8B,CAAC,GAAY,EAAE,gBAAkC;QAC7E,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;CACF;AAnQD,0DAmQC"}
1
+ {"version":3,"file":"failure-converter.js","sourceRoot":"","sources":["../../src/converter/failure-converter.ts"],"names":[],"mappings":"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"}
package/lib/failure.d.ts CHANGED
@@ -236,6 +236,19 @@ export declare class ChildWorkflowFailure extends TemporalFailure {
236
236
  readonly retryState: RetryState;
237
237
  constructor(namespace: string | undefined, execution: WorkflowExecution, workflowType: string, retryState: RetryState, cause?: Error);
238
238
  }
239
+ /**
240
+ * Thrown when a Nexus Operation executed inside a Workflow fails.
241
+ *
242
+ * @experimental Nexus support in Temporal SDK is experimental.
243
+ */
244
+ export declare class NexusOperationFailure extends TemporalFailure {
245
+ readonly scheduledEventId: number | undefined;
246
+ readonly endpoint: string;
247
+ readonly service: string;
248
+ readonly operation: string;
249
+ readonly operationToken: string | undefined;
250
+ constructor(message: string | undefined, scheduledEventId: number | undefined, endpoint: string, service: string, operation: string, operationToken: string | undefined, cause?: Error);
251
+ }
239
252
  /**
240
253
  * This exception is thrown in the following cases:
241
254
  * - Workflow with the same Workflow ID is currently running and the {@link WorkflowOptions.workflowIdConflictPolicy} is `WORKFLOW_ID_CONFLICT_POLICY_FAIL`
package/lib/failure.js CHANGED
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  var _a, _b, _c;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.WorkflowExecutionAlreadyStartedError = exports.ChildWorkflowFailure = exports.ActivityFailure = exports.TimeoutFailure = exports.TerminatedFailure = exports.CancelledFailure = exports.ApplicationFailure = exports.ServerFailure = exports.TemporalFailure = exports.decodeApplicationFailureCategory = exports.encodeApplicationFailureCategory = exports.ApplicationFailureCategory = exports.decodeRetryState = exports.encodeRetryState = exports.RetryState = exports.decodeTimeoutType = exports.encodeTimeoutType = exports.TimeoutType = exports.FAILURE_SOURCE = void 0;
10
+ exports.WorkflowExecutionAlreadyStartedError = exports.NexusOperationFailure = exports.ChildWorkflowFailure = exports.ActivityFailure = exports.TimeoutFailure = exports.TerminatedFailure = exports.CancelledFailure = exports.ApplicationFailure = exports.ServerFailure = exports.TemporalFailure = exports.decodeApplicationFailureCategory = exports.encodeApplicationFailureCategory = exports.ApplicationFailureCategory = exports.decodeRetryState = exports.encodeRetryState = exports.RetryState = exports.decodeTimeoutType = exports.encodeTimeoutType = exports.TimeoutType = exports.FAILURE_SOURCE = void 0;
11
11
  exports.ensureApplicationFailure = ensureApplicationFailure;
12
12
  exports.ensureTemporalFailure = ensureTemporalFailure;
13
13
  exports.rootCause = rootCause;
@@ -303,6 +303,31 @@ exports.ChildWorkflowFailure = ChildWorkflowFailure;
303
303
  exports.ChildWorkflowFailure = ChildWorkflowFailure = __decorate([
304
304
  (0, type_helpers_1.SymbolBasedInstanceOfError)('ChildWorkflowFailure')
305
305
  ], ChildWorkflowFailure);
306
+ /**
307
+ * Thrown when a Nexus Operation executed inside a Workflow fails.
308
+ *
309
+ * @experimental Nexus support in Temporal SDK is experimental.
310
+ */
311
+ let NexusOperationFailure = class NexusOperationFailure extends TemporalFailure {
312
+ scheduledEventId;
313
+ endpoint;
314
+ service;
315
+ operation;
316
+ operationToken;
317
+ constructor(message, scheduledEventId, endpoint, service, operation, operationToken, cause) {
318
+ super(message, cause);
319
+ this.scheduledEventId = scheduledEventId;
320
+ this.endpoint = endpoint;
321
+ this.service = service;
322
+ this.operation = operation;
323
+ this.operationToken = operationToken;
324
+ }
325
+ };
326
+ exports.NexusOperationFailure = NexusOperationFailure;
327
+ exports.NexusOperationFailure = NexusOperationFailure = __decorate([
328
+ (0, type_helpers_1.SymbolBasedInstanceOfError)('NexusOperationFailure')
329
+ ], NexusOperationFailure);
330
+ // TODO(nexus/error): Maybe add a NexusHandlerFailure class here, once we've decided on error handling.
306
331
  /**
307
332
  * This exception is thrown in the following cases:
308
333
  * - Workflow with the same Workflow ID is currently running and the {@link WorkflowOptions.workflowIdConflictPolicy} is `WORKFLOW_ID_CONFLICT_POLICY_FAIL`
@@ -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/logger.d.ts CHANGED
@@ -31,6 +31,11 @@ export declare enum SdkComponent {
31
31
  * The SDK itself never publishes messages with this component name.
32
32
  */
33
33
  activity = "activity",
34
+ /**
35
+ * Component name for messages emited from a Nexus Operation Handler, using the Nexus context logger.
36
+ * The SDK itself never publishes messages with this component name.
37
+ */
38
+ nexus = "nexus",
34
39
  /**
35
40
  * Component name for messages emited from a Temporal Worker instance.
36
41
  *
package/lib/logger.js CHANGED
@@ -23,6 +23,11 @@ var SdkComponent;
23
23
  * The SDK itself never publishes messages with this component name.
24
24
  */
25
25
  SdkComponent["activity"] = "activity";
26
+ /**
27
+ * Component name for messages emited from a Nexus Operation Handler, using the Nexus context logger.
28
+ * The SDK itself never publishes messages with this component name.
29
+ */
30
+ SdkComponent["nexus"] = "nexus";
26
31
  /**
27
32
  * Component name for messages emited from a Temporal Worker instance.
28
33
  *
package/lib/logger.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,2DAA2E;AAkB3E;;;;;;;;GAQG;AACH,IAAY,YA6BX;AA7BD,WAAY,YAAY;IACtB;;;OAGG;IACH,qCAAqB,CAAA;IAErB;;;OAGG;IACH,qCAAqB,CAAA;IAErB;;;;;;;;;OASG;IACH,iCAAiB,CAAA;IAEjB;;OAEG;IACH,6BAAa,CAAA;AACf,CAAC,EA7BW,YAAY,4BAAZ,YAAY,QA6BvB;AAUD;;;;;GAKG;AACH,MAAa,0BAA0B;IAyBlB;IACA;IAzBnB;;;;;;;;OAQG;IACI,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,UAAyB;QAC7D,yDAAyD;QACzD,IAAI,MAAM,YAAY,0BAA0B,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACpE,mGAAmG;YACnG,IAAI,YAAY,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YAC9C,OAAO,IAAI,0BAA0B,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,YAAY,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YAC9C,OAAO,IAAI,0BAA0B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,YACmB,YAAoB,EACpB,YAA6B;QAD7B,iBAAY,GAAZ,YAAY,CAAQ;QACpB,iBAAY,GAAZ,YAAY,CAAiB;IAC7C,CAAC;IAEJ,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,SAAuB;QAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,SAAuB;QAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,SAAuB;QAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,SAAuB;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,SAAuB;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,SAAuB;QAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;CACF;AApDD,gEAoDC;AAED,SAAS,eAAe,CAAC,YAA6B,EAAE,SAAuB;IAC7E,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnC,OAAO,IAAA,0CAAsB,EAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,oBAAiD,EACjD,cAA6B;IAE7B,8FAA8F;IAC9F,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,oEAAoE;IACpE,IAAI,oBAAoB,IAAI,IAAI,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;IAED,iGAAiG;IACjG,MAAM,IAAI,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,IAAA,gCAAY,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,oBAAoB,CAAC;QACjD,OAAO,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,2DAA2D;IAC3D,OAAO,CAAC,GAAG,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/lib/priority.d.ts CHANGED
@@ -10,7 +10,8 @@ import type { temporal } from '@temporalio/proto';
10
10
  * calling workflow, then use the default (documented on the field).
11
11
  * The overall semantics of Priority are:
12
12
  * 1. First, consider "priority_key": lower number goes first.
13
- * (more will be added here later)
13
+ * 2. Then, consider fairness: the fairness mechanism attempts to dispatch tasks for a given key in
14
+ * proportion to its weight.
14
15
  */
15
16
  export interface Priority {
16
17
  /**
@@ -25,6 +26,30 @@ export interface Priority {
25
26
  * The default priority is (min+max)/2. With the default max of 5 and min of 1, that comes out to 3.
26
27
  */
27
28
  priorityKey?: number;
29
+ /**
30
+ * FairnessKey is a short string that's used as a key for a fairness
31
+ * balancing mechanism. It may correspond to a tenant id, or to a fixed
32
+ * string like "high" or "low". The default is the empty string.
33
+ *
34
+ * The fairness mechanism attempts to dispatch tasks for a given key in
35
+ * proportion to its weight. For example, using a thousand distinct tenant
36
+ * ids, each with a weight of 1.0 (the default) will result in each tenant
37
+ * getting a roughly equal share of task dispatch throughput.
38
+ *
39
+ * Fairness keys are limited to 64 bytes.
40
+ */
41
+ fairnessKey?: string;
42
+ /**
43
+ * FairnessWeight for a task can come from multiple sources for
44
+ * flexibility. From highest to lowest precedence:
45
+ * 1. Weights for a small set of keys can be overridden in task queue
46
+ * configuration with an API.
47
+ * 2. It can be attached to the workflow/activity in this field.
48
+ * 3. The default weight of 1.0 will be used.
49
+ *
50
+ * Weight values are clamped to the range [0.001, 1000].
51
+ */
52
+ fairnessWeight?: number;
28
53
  }
29
54
  /**
30
55
  * Turn a proto compatible Priority into a TS Priority
package/lib/priority.js CHANGED
@@ -6,7 +6,11 @@ exports.compilePriority = compilePriority;
6
6
  * Turn a proto compatible Priority into a TS Priority
7
7
  */
8
8
  function decodePriority(priority) {
9
- return { priorityKey: priority?.priorityKey ?? undefined };
9
+ return {
10
+ priorityKey: priority?.priorityKey ?? undefined,
11
+ fairnessKey: priority?.fairnessKey ?? undefined,
12
+ fairnessWeight: priority?.fairnessWeight ?? undefined,
13
+ };
10
14
  }
11
15
  /**
12
16
  * Turn a TS Priority into a proto compatible Priority
@@ -22,6 +26,8 @@ function compilePriority(priority) {
22
26
  }
23
27
  return {
24
28
  priorityKey: priority.priorityKey ?? 0,
29
+ fairnessKey: priority.fairnessKey ?? '',
30
+ fairnessWeight: priority.fairnessWeight ?? 0,
25
31
  };
26
32
  }
27
33
  //# sourceMappingURL=priority.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"priority.js","sourceRoot":"","sources":["../src/priority.ts"],"names":[],"mappings":";;AAiCA,wCAEC;AAKD,0CAaC;AAvBD;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAkD;IAC/E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,SAAS,EAAE,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,QAAkB;IAChD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC;KACvC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"priority.js","sourceRoot":"","sources":["../src/priority.ts"],"names":[],"mappings":";;AA4DA,wCAMC;AAKD,0CAeC;AA7BD;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAkD;IAC/E,OAAO;QACL,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,SAAS;QAC/C,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,SAAS;QAC/C,cAAc,EAAE,QAAQ,EAAE,cAAc,IAAI,SAAS;KACtD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,QAAkB;IAChD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC;QACtC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC"}
@@ -23,6 +23,14 @@ export declare function historyFromJSON(history: unknown): History;
23
23
  * string that adheres to the same norm as JSON history files produced by other Temporal tools.
24
24
  */
25
25
  export declare function historyToJSON(history: History): string;
26
+ /**
27
+ * toProto3JSON doesn't correctly handle some of our "bytes" fields, passing them untouched to the
28
+ * output, after which JSON.stringify() would convert them to an array of numbers. As a workaround,
29
+ * recursively walk the object and convert all Buffer instances to base64 strings. Note this only
30
+ * works on proto3-json-serializer v2.0.0. v2.0.2 throws an error before we even get the chance
31
+ * to fix the buffers. See https://github.com/googleapis/proto3-json-serializer-nodejs/issues/103.
32
+ */
33
+ export declare function fixBuffers<T>(e: T): T;
26
34
  /**
27
35
  * Convert from protobuf payload to JSON
28
36
  */
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.historyFromJSON = historyFromJSON;
27
27
  exports.historyToJSON = historyToJSON;
28
+ exports.fixBuffers = fixBuffers;
28
29
  exports.payloadToJSON = payloadToJSON;
29
30
  exports.JSONToPayload = JSONToPayload;
30
31
  const proto3_json_serializer_1 = require("proto3-json-serializer");
@@ -113,29 +114,33 @@ function historyFromJSON(history) {
113
114
  * string that adheres to the same norm as JSON history files produced by other Temporal tools.
114
115
  */
115
116
  function historyToJSON(history) {
116
- // toProto3JSON doesn't correctly handle some of our "bytes" fields, passing them untouched to the
117
- // output, after which JSON.stringify() would convert them to an array of numbers. As a workaround,
118
- // recursively walk the object and convert all Buffer instances to base64 strings. Note this only
119
- // works on proto3-json-serializer v2.0.0. v2.0.2 throws an error before we even get the chance
120
- // to fix the buffers. See https://github.com/googleapis/proto3-json-serializer-nodejs/issues/103.
121
- function fixBuffers(e) {
122
- if (e && typeof e === 'object') {
123
- if (e instanceof Buffer)
124
- return e.toString('base64');
125
- if (Array.isArray(e))
126
- return e.map(fixBuffers);
127
- return Object.fromEntries(Object.entries(e).map(([k, v]) => [k, fixBuffers(v)]));
128
- }
129
- return e;
130
- }
131
117
  const protoJson = (0, proto3_json_serializer_1.toProto3JSON)(proto.temporal.api.history.v1.History.fromObject(history));
132
118
  return JSON.stringify(fixBuffers(protoJson), null, 2);
133
119
  }
120
+ /**
121
+ * toProto3JSON doesn't correctly handle some of our "bytes" fields, passing them untouched to the
122
+ * output, after which JSON.stringify() would convert them to an array of numbers. As a workaround,
123
+ * recursively walk the object and convert all Buffer instances to base64 strings. Note this only
124
+ * works on proto3-json-serializer v2.0.0. v2.0.2 throws an error before we even get the chance
125
+ * to fix the buffers. See https://github.com/googleapis/proto3-json-serializer-nodejs/issues/103.
126
+ */
127
+ function fixBuffers(e) {
128
+ if (e && typeof e === 'object') {
129
+ if (e instanceof Buffer)
130
+ return e.toString('base64');
131
+ if (e instanceof Uint8Array)
132
+ return Buffer.from(e).toString('base64');
133
+ if (Array.isArray(e))
134
+ return e.map(fixBuffers);
135
+ return Object.fromEntries(Object.entries(e).map(([k, v]) => [k, fixBuffers(v)]));
136
+ }
137
+ return e;
138
+ }
134
139
  /**
135
140
  * Convert from protobuf payload to JSON
136
141
  */
137
142
  function payloadToJSON(payload) {
138
- return (0, proto3_json_serializer_1.toProto3JSON)(patched.temporal.api.common.v1.Payload.create(payload));
143
+ return fixBuffers((0, proto3_json_serializer_1.toProto3JSON)(patched.temporal.api.common.v1.Payload.create(payload)));
139
144
  }
140
145
  /**
141
146
  * Convert from JSON to protobuf payload
@@ -1 +1 @@
1
- {"version":3,"file":"proto-utils.js","sourceRoot":"","sources":["../src/proto-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,0CA+EC;AAMD,sCAiBC;AAKD,sCAEC;AAKD,sCAMC;AArJD,mEAAsE;AACtE,yDAA2C;AAC3C,mFAA8E;AAmB9E,yFAAyF;AACzF,MAAM,OAAO,GAAG,IAAA,uCAAiB,EAAC,KAAK,CAAQ,CAAC;AAChD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;AAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC;AAEzE;;GAEG;AACH,SAAgB,eAAe,CAAC,OAAgB;IAC9C,SAAS,wBAAwB,CAAC,CAAS;QACzC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC;IAED,SAAS,YAAY,CAAgC,GAAM,EAAE,IAAa,EAAE,MAAc;QACxF,OAAO,CACL,GAAG,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;SACtG,CACF,CAAC;IACJ,CAAC;IAED,2GAA2G;IAC3G,oGAAoG;IACpG,SAAS,WAAW,CAAI,CAAI;QAC1B,SAAS,SAAS,CAAC,CAAM;YACvB,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,UAAU,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;oBACnC,OAAO,IAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAM,CAAC;YACrD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,CAAC;QACnG,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,SAAS,eAAe,CAAC,CAAsB;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,SAAS,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,8BAA8B;QAC9B,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAEnB,OAAO;YACL,GAAG,CAAC;YACJ,GAAG,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC;YAC7C,CAAC,IAAI,CAAC,EAAE;gBACN,GAAG,CAAC,CAAC,IAAI,CAAC;gBACV,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI;oBACvB,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE;iBACnG,CAAC;gBACF,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,qBAAqB,CAAC;gBACpE,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,uBAAuB,EAAE,0BAA0B,CAAC;gBAC7E,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,2BAA2B,CAAC;gBAClE,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC;gBACrD,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iCAAiC,IAAI;oBAC/C,iCAAiC,EAAE;wBACjC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,iCAAiC;wBAC5C,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,iCAAiC,EAAE,YAAY,EAAE,aAAa,CAAC;qBACxF;iBACF,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAED,SAAS,UAAU,CAAC,CAAsB;QACxC,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;SACtC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,OAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,SAAS,CAAC,6DAA6D,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,uCAAc,EAAC,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAa,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,OAAgB;IAC5C,kGAAkG;IAClG,mGAAmG;IACnG,iGAAiG;IACjG,+FAA+F;IAC/F,kGAAkG;IAClG,SAAS,UAAU,CAAI,CAAI;QACzB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,MAAM;gBAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAQ,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAM,CAAC;YACpD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,CAAC;QAClG,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,qCAAY,EAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAQ,CAAC,CAAC;IACjG,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAgB;IAC5C,OAAO,IAAA,qCAAY,EAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAQ,CAAC;AACrF,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,IAAiB;IAC7C,MAAM,MAAM,GAAG,IAAA,uCAAc,EAAC,WAAW,EAAE,IAAW,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"proto-utils.js","sourceRoot":"","sources":["../src/proto-utils.ts"],"names":[],"mappings":"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"}
@@ -143,14 +143,14 @@ export interface BaseWorkflowOptions {
143
143
  * General fixed details for this workflow execution that may appear in UI/CLI.
144
144
  * This can be in Temporal markdown format and can span multiple lines.
145
145
  *
146
- * @experimental User metadata is a new API and suspectible to change.
146
+ * @experimental User metadata is a new API and susceptible to change.
147
147
  */
148
148
  staticDetails?: string;
149
149
  /**
150
150
  * A single-line fixed summary for this workflow execution that may appear in the UI/CLI.
151
151
  * This can be in single-line Temporal markdown format.
152
152
  *
153
- * @experimental User metadata is a new API and suspectible to change.
153
+ * @experimental User metadata is a new API and susceptible to change.
154
154
  */
155
155
  staticSummary?: string;
156
156
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@temporalio/common",
3
- "version": "1.12.3",
3
+ "version": "1.13.1",
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,9 +12,10 @@
12
12
  "author": "Temporal Technologies Inc. <sdk@temporal.io>",
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@temporalio/proto": "1.12.3",
15
+ "@temporalio/proto": "1.13.1",
16
16
  "long": "^5.2.3",
17
- "ms": "^3.0.0-canary.1",
17
+ "ms": "3.0.0-canary.1",
18
+ "nexus-rpc": "^0.0.1",
18
19
  "proto3-json-serializer": "^2.0.0"
19
20
  },
20
21
  "devDependencies": {
@@ -39,5 +40,5 @@
39
40
  "src",
40
41
  "lib"
41
42
  ],
42
- "gitHead": "e25f1d5ddaf0b5c755457b1cc1dde7c6e089a63b"
43
+ "gitHead": "7904e19bc72dcdf9eb0275ecaa585a2ff2fec072"
43
44
  }
@@ -129,7 +129,7 @@ export interface ActivityOptions {
129
129
  * A fixed, single-line summary for this workflow execution that may appear in the UI/CLI.
130
130
  * This can be in single-line Temporal markdown format.
131
131
  *
132
- * @experimental User metadata is a new API and suspectible to change.
132
+ * @experimental User metadata is a new API and susceptible to change.
133
133
  */
134
134
  summary?: string;
135
135
 
@@ -206,7 +206,7 @@ export interface LocalActivityOptions {
206
206
  * A fixed, single-line summary for this workflow execution that may appear in the UI/CLI.
207
207
  * This can be in single-line Temporal markdown format.
208
208
  *
209
- * @experimental User metadata is a new API and suspectible to change.
209
+ * @experimental User metadata is a new API and susceptible to change.
210
210
  */
211
211
  summary?: string;
212
212
  }
@@ -1,3 +1,6 @@
1
+ import * as nexus from 'nexus-rpc';
2
+ import Long from 'long';
3
+ import type { temporal } from '@temporalio/proto';
1
4
  import {
2
5
  ActivityFailure,
3
6
  ApplicationFailure,
@@ -10,16 +13,42 @@ import {
10
13
  encodeRetryState,
11
14
  encodeTimeoutType,
12
15
  FAILURE_SOURCE,
16
+ NexusOperationFailure,
13
17
  ProtoFailure,
14
18
  ServerFailure,
15
19
  TemporalFailure,
16
20
  TerminatedFailure,
17
21
  TimeoutFailure,
18
22
  } from '../failure';
23
+ import { makeProtoEnumConverters } from '../internal-workflow';
19
24
  import { isError } from '../type-helpers';
20
25
  import { msOptionalToTs } from '../time';
21
26
  import { arrayFromPayloads, fromPayloadsAtIndex, PayloadConverter, toPayloads } from './payload-converter';
22
27
 
28
+ // Can't import proto enums into the workflow sandbox, use this helper type and enum converter instead.
29
+ const NexusHandlerErrorRetryBehavior = {
30
+ RETRYABLE: 'RETRYABLE',
31
+ NON_RETRYABLE: 'NON_RETRYABLE',
32
+ } as const;
33
+
34
+ type NexusHandlerErrorRetryBehavior =
35
+ (typeof NexusHandlerErrorRetryBehavior)[keyof typeof NexusHandlerErrorRetryBehavior];
36
+
37
+ const [encodeNexusHandlerErrorRetryBehavior, decodeNexusHandlerErrorRetryBehavior] = makeProtoEnumConverters<
38
+ temporal.api.enums.v1.NexusHandlerErrorRetryBehavior,
39
+ typeof temporal.api.enums.v1.NexusHandlerErrorRetryBehavior,
40
+ keyof typeof temporal.api.enums.v1.NexusHandlerErrorRetryBehavior,
41
+ typeof NexusHandlerErrorRetryBehavior,
42
+ 'NEXUS_HANDLER_ERROR_RETRY_BEHAVIOR_'
43
+ >(
44
+ {
45
+ UNSPECIFIED: 0,
46
+ [NexusHandlerErrorRetryBehavior.RETRYABLE]: 1,
47
+ [NexusHandlerErrorRetryBehavior.NON_RETRYABLE]: 2,
48
+ } as const,
49
+ 'NEXUS_HANDLER_ERROR_RETRY_BEHAVIOR_'
50
+ );
51
+
23
52
  function combineRegExp(...regexps: RegExp[]): RegExp {
24
53
  return new RegExp(regexps.map((x) => `(?:${x.source})`).join('|'));
25
54
  }
@@ -30,6 +59,8 @@ function combineRegExp(...regexps: RegExp[]): RegExp {
30
59
  const CUTOFF_STACK_PATTERNS = combineRegExp(
31
60
  /** Activity execution */
32
61
  /\s+at Activity\.execute \(.*[\\/]worker[\\/](?:src|lib)[\\/]activity\.[jt]s:\d+:\d+\)/,
62
+ /** Nexus execution */
63
+ /\s+at( async)? NexusHandler\.invokeUserCode \(.*[\\/]worker[\\/](?:src|lib)[\\/]nexus[\\/]index\.[jt]s:\d+:\d+\)/,
33
64
  /** Workflow activation */
34
65
  /\s+at Activator\.\S+NextHandler \(.*[\\/]workflow[\\/](?:src|lib)[\\/]internals\.[jt]s:\d+:\d+\)/,
35
66
  /** Workflow run anything in context */
@@ -122,7 +153,7 @@ export class DefaultFailureConverter implements FailureConverter {
122
153
  *
123
154
  * Does not set common properties, that is done in {@link failureToError}.
124
155
  */
125
- failureToErrorInner(failure: ProtoFailure, payloadConverter: PayloadConverter): TemporalFailure {
156
+ failureToErrorInner(failure: ProtoFailure, payloadConverter: PayloadConverter): Error {
126
157
  if (failure.applicationFailureInfo) {
127
158
  return new ApplicationFailure(
128
159
  failure.message ?? undefined,
@@ -196,6 +227,41 @@ export class DefaultFailureConverter implements FailureConverter {
196
227
  this.optionalFailureToOptionalError(failure.cause, payloadConverter)
197
228
  );
198
229
  }
230
+ if (failure.nexusHandlerFailureInfo) {
231
+ let retryableOverride: boolean | undefined = undefined;
232
+ const retryBehavior = decodeNexusHandlerErrorRetryBehavior(failure.nexusHandlerFailureInfo.retryBehavior);
233
+ switch (retryBehavior) {
234
+ case 'RETRYABLE':
235
+ retryableOverride = true;
236
+ break;
237
+ case 'NON_RETRYABLE':
238
+ retryableOverride = false;
239
+ break;
240
+ }
241
+
242
+ return new nexus.HandlerError(
243
+ (failure.nexusHandlerFailureInfo.type as nexus.HandlerErrorType) ?? 'INTERNAL',
244
+ // TODO(nexus/error): Maybe set a default message here, once we've decided on error handling.
245
+ failure.message ?? undefined,
246
+ {
247
+ cause: this.optionalFailureToOptionalError(failure.cause, payloadConverter),
248
+ retryableOverride,
249
+ }
250
+ );
251
+ }
252
+ if (failure.nexusOperationExecutionFailureInfo) {
253
+ return new NexusOperationFailure(
254
+ // TODO(nexus/error): Maybe set a default message here, once we've decided on error handling.
255
+ failure.message ?? undefined,
256
+ failure.nexusOperationExecutionFailureInfo.scheduledEventId?.toNumber(),
257
+ // We assume these will always be set or gracefully set to empty strings.
258
+ failure.nexusOperationExecutionFailureInfo.endpoint ?? '',
259
+ failure.nexusOperationExecutionFailureInfo.service ?? '',
260
+ failure.nexusOperationExecutionFailureInfo.operation ?? '',
261
+ failure.nexusOperationExecutionFailureInfo.operationToken ?? undefined,
262
+ this.optionalFailureToOptionalError(failure.cause, payloadConverter)
263
+ );
264
+ }
199
265
  return new TemporalFailure(
200
266
  failure.message ?? undefined,
201
267
  this.optionalFailureToOptionalError(failure.cause, payloadConverter)
@@ -220,7 +286,9 @@ export class DefaultFailureConverter implements FailureConverter {
220
286
  }
221
287
  const err = this.failureToErrorInner(failure, payloadConverter);
222
288
  err.stack = failure.stackTrace ?? '';
223
- err.failure = failure;
289
+ if (err instanceof TemporalFailure) {
290
+ err.failure = failure;
291
+ }
224
292
  return err;
225
293
  }
226
294
 
@@ -236,8 +304,11 @@ export class DefaultFailureConverter implements FailureConverter {
236
304
  }
237
305
 
238
306
  errorToFailureInner(err: unknown, payloadConverter: PayloadConverter): ProtoFailure {
239
- if (err instanceof TemporalFailure) {
240
- if (err.failure) return err.failure;
307
+ // TODO(nexus/error): If we decide not to have a NexusHandlerFailure, we could still attach the
308
+ // failure proto to the Nexus HandlerError object, by using a private symbol
309
+ // property. To be considered once we have a decision on error handling.
310
+ if (err instanceof TemporalFailure || err instanceof nexus.HandlerError) {
311
+ if (err instanceof TemporalFailure && err.failure) return err.failure;
241
312
  const base = {
242
313
  message: err.message,
243
314
  stackTrace: cutoffStackTrace(err.stack),
@@ -315,6 +386,39 @@ export class DefaultFailureConverter implements FailureConverter {
315
386
  terminatedFailureInfo: {},
316
387
  };
317
388
  }
389
+ if (err instanceof nexus.HandlerError) {
390
+ let retryBehavior: temporal.api.enums.v1.NexusHandlerErrorRetryBehavior | undefined = undefined;
391
+ switch (err.retryableOverride) {
392
+ case true:
393
+ retryBehavior = encodeNexusHandlerErrorRetryBehavior('RETRYABLE');
394
+ break;
395
+ case false:
396
+ retryBehavior = encodeNexusHandlerErrorRetryBehavior('NON_RETRYABLE');
397
+ break;
398
+ }
399
+
400
+ return {
401
+ // TODO(nexus/error): Maybe set a default message here, once we've decided on error handling.
402
+ ...base,
403
+ nexusHandlerFailureInfo: {
404
+ type: err.type,
405
+ retryBehavior,
406
+ },
407
+ };
408
+ }
409
+ if (err instanceof NexusOperationFailure) {
410
+ return {
411
+ // TODO(nexus/error): Maybe set a default message here, once we've decided on error handling.
412
+ ...base,
413
+ nexusOperationExecutionFailureInfo: {
414
+ scheduledEventId: err.scheduledEventId ? Long.fromNumber(err.scheduledEventId) : undefined,
415
+ endpoint: err.endpoint,
416
+ service: err.service,
417
+ operation: err.operation,
418
+ operationToken: err.operationToken,
419
+ },
420
+ };
421
+ }
318
422
  // Just a TemporalFailure
319
423
  return base;
320
424
  }
package/src/failure.ts CHANGED
@@ -379,6 +379,28 @@ export class ChildWorkflowFailure extends TemporalFailure {
379
379
  }
380
380
  }
381
381
 
382
+ /**
383
+ * Thrown when a Nexus Operation executed inside a Workflow fails.
384
+ *
385
+ * @experimental Nexus support in Temporal SDK is experimental.
386
+ */
387
+ @SymbolBasedInstanceOfError('NexusOperationFailure')
388
+ export class NexusOperationFailure extends TemporalFailure {
389
+ public constructor(
390
+ message: string | undefined,
391
+ public readonly scheduledEventId: number | undefined,
392
+ public readonly endpoint: string,
393
+ public readonly service: string,
394
+ public readonly operation: string,
395
+ public readonly operationToken: string | undefined,
396
+ cause?: Error
397
+ ) {
398
+ super(message, cause);
399
+ }
400
+ }
401
+
402
+ // TODO(nexus/error): Maybe add a NexusHandlerFailure class here, once we've decided on error handling.
403
+
382
404
  /**
383
405
  * This exception is thrown in the following cases:
384
406
  * - Workflow with the same Workflow ID is currently running and the {@link WorkflowOptions.workflowIdConflictPolicy} is `WORKFLOW_ID_CONFLICT_POLICY_FAIL`
@@ -23,7 +23,7 @@ export type ReplaceNested<T, ToReplace, ReplaceWith> = T extends (...args: any[]
23
23
  ? T
24
24
  : [keyof T] extends [never]
25
25
  ? T
26
- : T extends Record<string, string> // Special exception for nexusHeader.
26
+ : T extends Record<string, string> // Special exception for Nexus Headers.
27
27
  ? T
28
28
  : T extends { [k: string]: ToReplace }
29
29
  ? {
package/src/logger.ts CHANGED
@@ -38,6 +38,12 @@ export enum SdkComponent {
38
38
  */
39
39
  activity = 'activity',
40
40
 
41
+ /**
42
+ * Component name for messages emited from a Nexus Operation Handler, using the Nexus context logger.
43
+ * The SDK itself never publishes messages with this component name.
44
+ */
45
+ nexus = 'nexus',
46
+
41
47
  /**
42
48
  * Component name for messages emited from a Temporal Worker instance.
43
49
  *
package/src/priority.ts CHANGED
@@ -11,7 +11,8 @@ import type { temporal } from '@temporalio/proto';
11
11
  * calling workflow, then use the default (documented on the field).
12
12
  * The overall semantics of Priority are:
13
13
  * 1. First, consider "priority_key": lower number goes first.
14
- * (more will be added here later)
14
+ * 2. Then, consider fairness: the fairness mechanism attempts to dispatch tasks for a given key in
15
+ * proportion to its weight.
15
16
  */
16
17
  export interface Priority {
17
18
  /**
@@ -26,13 +27,43 @@ export interface Priority {
26
27
  * The default priority is (min+max)/2. With the default max of 5 and min of 1, that comes out to 3.
27
28
  */
28
29
  priorityKey?: number;
30
+
31
+ /**
32
+ * FairnessKey is a short string that's used as a key for a fairness
33
+ * balancing mechanism. It may correspond to a tenant id, or to a fixed
34
+ * string like "high" or "low". The default is the empty string.
35
+ *
36
+ * The fairness mechanism attempts to dispatch tasks for a given key in
37
+ * proportion to its weight. For example, using a thousand distinct tenant
38
+ * ids, each with a weight of 1.0 (the default) will result in each tenant
39
+ * getting a roughly equal share of task dispatch throughput.
40
+ *
41
+ * Fairness keys are limited to 64 bytes.
42
+ */
43
+ fairnessKey?: string;
44
+
45
+ /**
46
+ * FairnessWeight for a task can come from multiple sources for
47
+ * flexibility. From highest to lowest precedence:
48
+ * 1. Weights for a small set of keys can be overridden in task queue
49
+ * configuration with an API.
50
+ * 2. It can be attached to the workflow/activity in this field.
51
+ * 3. The default weight of 1.0 will be used.
52
+ *
53
+ * Weight values are clamped to the range [0.001, 1000].
54
+ */
55
+ fairnessWeight?: number;
29
56
  }
30
57
 
31
58
  /**
32
59
  * Turn a proto compatible Priority into a TS Priority
33
60
  */
34
61
  export function decodePriority(priority?: temporal.api.common.v1.IPriority | null): Priority {
35
- return { priorityKey: priority?.priorityKey ?? undefined };
62
+ return {
63
+ priorityKey: priority?.priorityKey ?? undefined,
64
+ fairnessKey: priority?.fairnessKey ?? undefined,
65
+ fairnessWeight: priority?.fairnessWeight ?? undefined,
66
+ };
36
67
  }
37
68
 
38
69
  /**
@@ -50,5 +81,7 @@ export function compilePriority(priority: Priority): temporal.api.common.v1.IPri
50
81
 
51
82
  return {
52
83
  priorityKey: priority.priorityKey ?? 0,
84
+ fairnessKey: priority.fairnessKey ?? '',
85
+ fairnessWeight: priority.fairnessWeight ?? 0,
53
86
  };
54
87
  }
@@ -113,29 +113,32 @@ export function historyFromJSON(history: unknown): History {
113
113
  * string that adheres to the same norm as JSON history files produced by other Temporal tools.
114
114
  */
115
115
  export function historyToJSON(history: History): string {
116
- // toProto3JSON doesn't correctly handle some of our "bytes" fields, passing them untouched to the
117
- // output, after which JSON.stringify() would convert them to an array of numbers. As a workaround,
118
- // recursively walk the object and convert all Buffer instances to base64 strings. Note this only
119
- // works on proto3-json-serializer v2.0.0. v2.0.2 throws an error before we even get the chance
120
- // to fix the buffers. See https://github.com/googleapis/proto3-json-serializer-nodejs/issues/103.
121
- function fixBuffers<T>(e: T): T {
122
- if (e && typeof e === 'object') {
123
- if (e instanceof Buffer) return e.toString('base64') as any;
124
- if (Array.isArray(e)) return e.map(fixBuffers) as T;
125
- return Object.fromEntries(Object.entries(e as object).map(([k, v]) => [k, fixBuffers(v)])) as T;
126
- }
127
- return e;
128
- }
129
-
130
116
  const protoJson = toProto3JSON(proto.temporal.api.history.v1.History.fromObject(history) as any);
131
117
  return JSON.stringify(fixBuffers(protoJson), null, 2);
132
118
  }
133
119
 
120
+ /**
121
+ * toProto3JSON doesn't correctly handle some of our "bytes" fields, passing them untouched to the
122
+ * output, after which JSON.stringify() would convert them to an array of numbers. As a workaround,
123
+ * recursively walk the object and convert all Buffer instances to base64 strings. Note this only
124
+ * works on proto3-json-serializer v2.0.0. v2.0.2 throws an error before we even get the chance
125
+ * to fix the buffers. See https://github.com/googleapis/proto3-json-serializer-nodejs/issues/103.
126
+ */
127
+ export function fixBuffers<T>(e: T): T {
128
+ if (e && typeof e === 'object') {
129
+ if (e instanceof Buffer) return e.toString('base64') as any;
130
+ if (e instanceof Uint8Array) return Buffer.from(e).toString('base64') as any;
131
+ if (Array.isArray(e)) return e.map(fixBuffers) as T;
132
+ return Object.fromEntries(Object.entries(e as object).map(([k, v]) => [k, fixBuffers(v)])) as T;
133
+ }
134
+ return e;
135
+ }
136
+
134
137
  /**
135
138
  * Convert from protobuf payload to JSON
136
139
  */
137
140
  export function payloadToJSON(payload: Payload): JSONPayload {
138
- return toProto3JSON(patched.temporal.api.common.v1.Payload.create(payload)) as any;
141
+ return fixBuffers(toProto3JSON(patched.temporal.api.common.v1.Payload.create(payload))) as any;
139
142
  }
140
143
 
141
144
  /**
@@ -197,14 +197,14 @@ export interface BaseWorkflowOptions {
197
197
  * General fixed details for this workflow execution that may appear in UI/CLI.
198
198
  * This can be in Temporal markdown format and can span multiple lines.
199
199
  *
200
- * @experimental User metadata is a new API and suspectible to change.
200
+ * @experimental User metadata is a new API and susceptible to change.
201
201
  */
202
202
  staticDetails?: string;
203
203
  /**
204
204
  * A single-line fixed summary for this workflow execution that may appear in the UI/CLI.
205
205
  * This can be in single-line Temporal markdown format.
206
206
  *
207
- * @experimental User metadata is a new API and suspectible to change.
207
+ * @experimental User metadata is a new API and susceptible to change.
208
208
  */
209
209
  staticSummary?: string;
210
210