@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.
- package/lib/activity-options.d.ts +2 -2
- package/lib/converter/failure-converter.d.ts +2 -2
- package/lib/converter/failure-converter.js +106 -3
- package/lib/converter/failure-converter.js.map +1 -1
- package/lib/failure.d.ts +13 -0
- package/lib/failure.js +26 -1
- package/lib/failure.js.map +1 -1
- package/lib/logger.d.ts +5 -0
- package/lib/logger.js +5 -0
- package/lib/logger.js.map +1 -1
- package/lib/priority.d.ts +26 -1
- package/lib/priority.js +7 -1
- package/lib/priority.js.map +1 -1
- package/lib/proto-utils.d.ts +8 -0
- package/lib/proto-utils.js +21 -16
- package/lib/proto-utils.js.map +1 -1
- package/lib/workflow-options.d.ts +2 -2
- package/package.json +5 -4
- package/src/activity-options.ts +2 -2
- package/src/converter/failure-converter.ts +108 -4
- package/src/failure.ts +22 -0
- package/src/internal-non-workflow/codec-types.ts +1 -1
- package/src/logger.ts +6 -0
- package/src/priority.ts +35 -2
- package/src/proto-utils.ts +18 -15
- package/src/workflow-options.ts +2 -2
|
@@ -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
|
|
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
|
|
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
|
|
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):
|
|
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.
|
|
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
|
-
|
|
133
|
-
|
|
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":"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"}
|
|
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`
|
package/lib/failure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":";;;;;;;;;;
|
|
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,
|
|
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
|
-
*
|
|
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 {
|
|
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
|
package/lib/priority.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priority.js","sourceRoot":"","sources":["../src/priority.ts"],"names":[],"mappings":";;
|
|
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"}
|
package/lib/proto-utils.d.ts
CHANGED
|
@@ -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
|
*/
|
package/lib/proto-utils.js
CHANGED
|
@@ -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
|
package/lib/proto-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proto-utils.js","sourceRoot":"","sources":["../src/proto-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,0CA+EC;AAMD,
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
15
|
+
"@temporalio/proto": "1.13.1",
|
|
16
16
|
"long": "^5.2.3",
|
|
17
|
-
"ms": "
|
|
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": "
|
|
43
|
+
"gitHead": "7904e19bc72dcdf9eb0275ecaa585a2ff2fec072"
|
|
43
44
|
}
|
package/src/activity-options.ts
CHANGED
|
@@ -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
|
|
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
|
|
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):
|
|
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
|
|
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
|
-
|
|
240
|
-
|
|
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
|
|
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
|
-
*
|
|
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 {
|
|
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
|
}
|
package/src/proto-utils.ts
CHANGED
|
@@ -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
|
/**
|
package/src/workflow-options.ts
CHANGED
|
@@ -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
|
|
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
|
|
207
|
+
* @experimental User metadata is a new API and susceptible to change.
|
|
208
208
|
*/
|
|
209
209
|
staticSummary?: string;
|
|
210
210
|
|