@temporalio/common 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/failure.d.ts +60 -25
- package/lib/failure.js +43 -31
- package/lib/failure.js.map +1 -1
- package/package.json +5 -5
- package/src/failure.ts +83 -38
package/lib/failure.d.ts
CHANGED
|
@@ -23,14 +23,9 @@ export declare type WorkflowExecution = temporal.api.common.v1.IWorkflowExecutio
|
|
|
23
23
|
/**
|
|
24
24
|
* Represents failures that can cross Workflow and Activity boundaries.
|
|
25
25
|
*
|
|
26
|
-
*
|
|
26
|
+
* **Never extend this class or any of its children.**
|
|
27
27
|
*
|
|
28
|
-
*
|
|
29
|
-
* only. Throw an instance {@link ApplicationFailure} to pass application specific errors between
|
|
30
|
-
* Workflows and Activities.
|
|
31
|
-
*
|
|
32
|
-
* Any unhandled exception thrown by an Activity or Workflow will be converted to an instance of
|
|
33
|
-
* {@link ApplicationFailure}.
|
|
28
|
+
* The only child class you should ever throw from your code is {@link ApplicationFailure}.
|
|
34
29
|
*/
|
|
35
30
|
export declare class TemporalFailure extends Error {
|
|
36
31
|
readonly cause?: Error | undefined;
|
|
@@ -41,7 +36,7 @@ export declare class TemporalFailure extends Error {
|
|
|
41
36
|
* Only present if this error was generated from an external operation.
|
|
42
37
|
*/
|
|
43
38
|
failure?: ProtoFailure;
|
|
44
|
-
constructor(message
|
|
39
|
+
constructor(message?: string | undefined | null, cause?: Error | undefined);
|
|
45
40
|
}
|
|
46
41
|
/** Exceptions originated at the Temporal service. */
|
|
47
42
|
export declare class ServerFailure extends TemporalFailure {
|
|
@@ -59,26 +54,40 @@ export declare class ServerFailure extends TemporalFailure {
|
|
|
59
54
|
* `ApplicationFailure`, the Workflow Execution will fail.
|
|
60
55
|
*
|
|
61
56
|
* In Activities, you can either throw an `ApplicationFailure` or another `Error` to fail the Activity Task. In the
|
|
62
|
-
* latter case, the `Error` will be converted to an `ApplicationFailure`.
|
|
63
|
-
* {@link https://docs.temporal.io/concepts/what-is-an-activity-execution | Activity Execution} fails, the
|
|
64
|
-
* `ApplicationFailure` from the last Activity Task will be the `cause` of the {@link ActivityFailure} thrown in the
|
|
65
|
-
* Workflow.
|
|
66
|
-
*
|
|
67
|
-
* The conversion of an error that doesn't extend {@link TemporalFailure} to an `ApplicationFailure` is done as
|
|
68
|
-
* following:
|
|
57
|
+
* latter case, the `Error` will be converted to an `ApplicationFailure`. The conversion is done as following:
|
|
69
58
|
*
|
|
70
59
|
* - `type` is set to `error.constructor?.name ?? error.name`
|
|
71
60
|
* - `message` is set to `error.message`
|
|
72
61
|
* - `nonRetryable` is set to false
|
|
73
62
|
* - `details` are set to null
|
|
74
63
|
* - stack trace is copied from the original error
|
|
64
|
+
*
|
|
65
|
+
* When an {@link https://docs.temporal.io/concepts/what-is-an-activity-execution | Activity Execution} fails, the
|
|
66
|
+
* `ApplicationFailure` from the last Activity Task will be the `cause` of the {@link ActivityFailure} thrown in the
|
|
67
|
+
* Workflow.
|
|
75
68
|
*/
|
|
76
69
|
export declare class ApplicationFailure extends TemporalFailure {
|
|
77
|
-
readonly type
|
|
78
|
-
readonly nonRetryable
|
|
79
|
-
readonly details?: unknown[] | undefined;
|
|
70
|
+
readonly type?: string | null | undefined;
|
|
71
|
+
readonly nonRetryable?: boolean | null | undefined;
|
|
72
|
+
readonly details?: unknown[] | null | undefined;
|
|
80
73
|
readonly name: string;
|
|
81
|
-
|
|
74
|
+
/**
|
|
75
|
+
* Alternatively, use {@link fromError} or {@link create}.
|
|
76
|
+
*/
|
|
77
|
+
constructor(message?: string | undefined | null, type?: string | null | undefined, nonRetryable?: boolean | null | undefined, details?: unknown[] | null | undefined, cause?: Error);
|
|
78
|
+
/**
|
|
79
|
+
* Create a new `ApplicationFailure` from an Error object.
|
|
80
|
+
*
|
|
81
|
+
* First calls {@link ensureApplicationFailure | `ensureApplicationFailure(error)`} and then overrides any fields
|
|
82
|
+
* provided in `overrides`.
|
|
83
|
+
*/
|
|
84
|
+
static fromError(error: Error | unknown, overrides?: ApplicationFailureOptions): ApplicationFailure;
|
|
85
|
+
/**
|
|
86
|
+
* Create a new `ApplicationFailure`.
|
|
87
|
+
*
|
|
88
|
+
* By default, will be retryable (unless its `type` is included in {@link RetryPolicy.nonRetryableErrorTypes}).
|
|
89
|
+
*/
|
|
90
|
+
static create(options: ApplicationFailureOptions): ApplicationFailure;
|
|
82
91
|
/**
|
|
83
92
|
* Get a new `ApplicationFailure` with the {@link nonRetryable} flag set to false. Note that this error will still
|
|
84
93
|
* not be retried if its `type` is included in {@link RetryPolicy.nonRetryableErrorTypes}.
|
|
@@ -87,7 +96,7 @@ export declare class ApplicationFailure extends TemporalFailure {
|
|
|
87
96
|
* @param type Optional error type (used by {@link RetryPolicy.nonRetryableErrorTypes})
|
|
88
97
|
* @param details Optional details about the failure. Serialized by the Worker's {@link PayloadConverter}.
|
|
89
98
|
*/
|
|
90
|
-
static retryable(message
|
|
99
|
+
static retryable(message?: string | null, type?: string | null, ...details: unknown[]): ApplicationFailure;
|
|
91
100
|
/**
|
|
92
101
|
* Get a new `ApplicationFailure` with the {@link nonRetryable} flag set to true.
|
|
93
102
|
*
|
|
@@ -98,7 +107,31 @@ export declare class ApplicationFailure extends TemporalFailure {
|
|
|
98
107
|
* @param type Optional error type
|
|
99
108
|
* @param details Optional details about the failure. Serialized by the Worker's {@link PayloadConverter}.
|
|
100
109
|
*/
|
|
101
|
-
static nonRetryable(message
|
|
110
|
+
static nonRetryable(message?: string | null, type?: string | null, ...details: unknown[]): ApplicationFailure;
|
|
111
|
+
}
|
|
112
|
+
export interface ApplicationFailureOptions {
|
|
113
|
+
/**
|
|
114
|
+
* Error message
|
|
115
|
+
*/
|
|
116
|
+
message?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Error type (used by {@link RetryPolicy.nonRetryableErrorTypes})
|
|
119
|
+
*/
|
|
120
|
+
type?: string;
|
|
121
|
+
/**
|
|
122
|
+
* Whether the current Activity or Workflow can be retried
|
|
123
|
+
*
|
|
124
|
+
* @default false
|
|
125
|
+
*/
|
|
126
|
+
nonRetryable?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Details about the failure. Serialized by the Worker's {@link PayloadConverter}.
|
|
129
|
+
*/
|
|
130
|
+
details?: unknown[];
|
|
131
|
+
/**
|
|
132
|
+
* Cause of the failure
|
|
133
|
+
*/
|
|
134
|
+
cause?: Error;
|
|
102
135
|
}
|
|
103
136
|
/**
|
|
104
137
|
* This error is thrown when Cancellation has been requested. To allow Cancellation to happen, let it propagate. To
|
|
@@ -169,13 +202,15 @@ export declare function cutoffStackTrace(stack?: string): string;
|
|
|
169
202
|
*/
|
|
170
203
|
export declare function errorToFailure(err: unknown, payloadConverter: PayloadConverter): ProtoFailure;
|
|
171
204
|
/**
|
|
172
|
-
* If `
|
|
205
|
+
* If `error` is already an `ApplicationFailure`, returns `error`.
|
|
173
206
|
*
|
|
174
|
-
*
|
|
207
|
+
* Otherwise, converts `error` into an `ApplicationFailure` with:
|
|
175
208
|
*
|
|
176
|
-
*
|
|
209
|
+
* - `message`: `error.message` or `String(error)`
|
|
210
|
+
* - `type`: `error.constructor.name` or `error.name`
|
|
211
|
+
* - `stack`: `error.stack` or `''`
|
|
177
212
|
*/
|
|
178
|
-
export declare function ensureApplicationFailure(
|
|
213
|
+
export declare function ensureApplicationFailure(error: unknown): ApplicationFailure;
|
|
179
214
|
/**
|
|
180
215
|
* If `err` is an Error it is turned into an `ApplicationFailure`.
|
|
181
216
|
*
|
package/lib/failure.js
CHANGED
|
@@ -32,14 +32,9 @@ var RetryState;
|
|
|
32
32
|
/**
|
|
33
33
|
* Represents failures that can cross Workflow and Activity boundaries.
|
|
34
34
|
*
|
|
35
|
-
*
|
|
35
|
+
* **Never extend this class or any of its children.**
|
|
36
36
|
*
|
|
37
|
-
*
|
|
38
|
-
* only. Throw an instance {@link ApplicationFailure} to pass application specific errors between
|
|
39
|
-
* Workflows and Activities.
|
|
40
|
-
*
|
|
41
|
-
* Any unhandled exception thrown by an Activity or Workflow will be converted to an instance of
|
|
42
|
-
* {@link ApplicationFailure}.
|
|
37
|
+
* The only child class you should ever throw from your code is {@link ApplicationFailure}.
|
|
43
38
|
*/
|
|
44
39
|
class TemporalFailure extends Error {
|
|
45
40
|
constructor(message, cause) {
|
|
@@ -68,21 +63,22 @@ exports.ServerFailure = ServerFailure;
|
|
|
68
63
|
* `ApplicationFailure`, the Workflow Execution will fail.
|
|
69
64
|
*
|
|
70
65
|
* In Activities, you can either throw an `ApplicationFailure` or another `Error` to fail the Activity Task. In the
|
|
71
|
-
* latter case, the `Error` will be converted to an `ApplicationFailure`.
|
|
72
|
-
* {@link https://docs.temporal.io/concepts/what-is-an-activity-execution | Activity Execution} fails, the
|
|
73
|
-
* `ApplicationFailure` from the last Activity Task will be the `cause` of the {@link ActivityFailure} thrown in the
|
|
74
|
-
* Workflow.
|
|
75
|
-
*
|
|
76
|
-
* The conversion of an error that doesn't extend {@link TemporalFailure} to an `ApplicationFailure` is done as
|
|
77
|
-
* following:
|
|
66
|
+
* latter case, the `Error` will be converted to an `ApplicationFailure`. The conversion is done as following:
|
|
78
67
|
*
|
|
79
68
|
* - `type` is set to `error.constructor?.name ?? error.name`
|
|
80
69
|
* - `message` is set to `error.message`
|
|
81
70
|
* - `nonRetryable` is set to false
|
|
82
71
|
* - `details` are set to null
|
|
83
72
|
* - stack trace is copied from the original error
|
|
73
|
+
*
|
|
74
|
+
* When an {@link https://docs.temporal.io/concepts/what-is-an-activity-execution | Activity Execution} fails, the
|
|
75
|
+
* `ApplicationFailure` from the last Activity Task will be the `cause` of the {@link ActivityFailure} thrown in the
|
|
76
|
+
* Workflow.
|
|
84
77
|
*/
|
|
85
78
|
class ApplicationFailure extends TemporalFailure {
|
|
79
|
+
/**
|
|
80
|
+
* Alternatively, use {@link fromError} or {@link create}.
|
|
81
|
+
*/
|
|
86
82
|
constructor(message, type, nonRetryable, details, cause) {
|
|
87
83
|
super(message, cause);
|
|
88
84
|
this.type = type;
|
|
@@ -90,6 +86,26 @@ class ApplicationFailure extends TemporalFailure {
|
|
|
90
86
|
this.details = details;
|
|
91
87
|
this.name = 'ApplicationFailure';
|
|
92
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Create a new `ApplicationFailure` from an Error object.
|
|
91
|
+
*
|
|
92
|
+
* First calls {@link ensureApplicationFailure | `ensureApplicationFailure(error)`} and then overrides any fields
|
|
93
|
+
* provided in `overrides`.
|
|
94
|
+
*/
|
|
95
|
+
static fromError(error, overrides) {
|
|
96
|
+
const failure = ensureApplicationFailure(error);
|
|
97
|
+
Object.assign(failure, overrides);
|
|
98
|
+
return failure;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Create a new `ApplicationFailure`.
|
|
102
|
+
*
|
|
103
|
+
* By default, will be retryable (unless its `type` is included in {@link RetryPolicy.nonRetryableErrorTypes}).
|
|
104
|
+
*/
|
|
105
|
+
static create(options) {
|
|
106
|
+
const { message, type, nonRetryable = false, details, cause } = options;
|
|
107
|
+
return new this(message, type, nonRetryable, details, cause);
|
|
108
|
+
}
|
|
93
109
|
/**
|
|
94
110
|
* Get a new `ApplicationFailure` with the {@link nonRetryable} flag set to false. Note that this error will still
|
|
95
111
|
* not be retried if its `type` is included in {@link RetryPolicy.nonRetryableErrorTypes}.
|
|
@@ -326,27 +342,23 @@ function errorToFailure(err, payloadConverter) {
|
|
|
326
342
|
}
|
|
327
343
|
exports.errorToFailure = errorToFailure;
|
|
328
344
|
/**
|
|
329
|
-
* If `
|
|
345
|
+
* If `error` is already an `ApplicationFailure`, returns `error`.
|
|
330
346
|
*
|
|
331
|
-
*
|
|
347
|
+
* Otherwise, converts `error` into an `ApplicationFailure` with:
|
|
332
348
|
*
|
|
333
|
-
*
|
|
349
|
+
* - `message`: `error.message` or `String(error)`
|
|
350
|
+
* - `type`: `error.constructor.name` or `error.name`
|
|
351
|
+
* - `stack`: `error.stack` or `''`
|
|
334
352
|
*/
|
|
335
|
-
function ensureApplicationFailure(
|
|
336
|
-
if (
|
|
337
|
-
return
|
|
338
|
-
}
|
|
339
|
-
if (err instanceof Error) {
|
|
340
|
-
const name = err.constructor?.name ?? err.name;
|
|
341
|
-
const failure = new ApplicationFailure(err.message, name, false);
|
|
342
|
-
failure.stack = err.stack;
|
|
343
|
-
return failure;
|
|
344
|
-
}
|
|
345
|
-
else {
|
|
346
|
-
const failure = new ApplicationFailure(String(err), undefined, false);
|
|
347
|
-
failure.stack = '';
|
|
348
|
-
return failure;
|
|
353
|
+
function ensureApplicationFailure(error) {
|
|
354
|
+
if (error instanceof ApplicationFailure) {
|
|
355
|
+
return error;
|
|
349
356
|
}
|
|
357
|
+
const message = ((0, internal_workflow_common_1.isRecord)(error) && String(error.message)) || String(error);
|
|
358
|
+
const type = ((0, internal_workflow_common_1.isRecord)(error) && (error.constructor?.name ?? error.name)) || undefined;
|
|
359
|
+
const failure = ApplicationFailure.create({ message, type, nonRetryable: false });
|
|
360
|
+
failure.stack = ((0, internal_workflow_common_1.isRecord)(error) && String(error.stack)) || '';
|
|
361
|
+
return failure;
|
|
350
362
|
}
|
|
351
363
|
exports.ensureApplicationFailure = ensureApplicationFailure;
|
|
352
364
|
/**
|
package/lib/failure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"failure.js","sourceRoot":"","sources":["../src/failure.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/common",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Common library for code that's used across the Client, Worker, and/or Workflow",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@opentelemetry/api": "^1.0.3",
|
|
16
|
-
"@temporalio/internal-workflow-common": "^1.0
|
|
17
|
-
"@temporalio/proto": "^1.0
|
|
18
|
-
"proto3-json-serializer": "^1.0.
|
|
16
|
+
"@temporalio/internal-workflow-common": "^1.1.0",
|
|
17
|
+
"@temporalio/proto": "^1.1.0",
|
|
18
|
+
"proto3-json-serializer": "^1.0.3",
|
|
19
19
|
"protobufjs": "^7.0.0"
|
|
20
20
|
},
|
|
21
21
|
"bugs": {
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"src",
|
|
30
30
|
"lib"
|
|
31
31
|
],
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "132f23a47a93fecf3f39836b31f08ea837b30320"
|
|
33
33
|
}
|
package/src/failure.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { checkExtends, hasOwnProperties, isRecord } from '@temporalio/internal-workflow-common';
|
|
2
2
|
import type { temporal } from '@temporalio/proto';
|
|
3
|
-
import {
|
|
3
|
+
import { arrayFromPayloads, fromPayloadsAtIndex, PayloadConverter, toPayloads } from './converter/payload-converter';
|
|
4
4
|
|
|
5
5
|
export const FAILURE_SOURCE = 'TypeScriptSDK';
|
|
6
6
|
export type ProtoFailure = temporal.api.failure.v1.IFailure;
|
|
@@ -37,14 +37,9 @@ export type WorkflowExecution = temporal.api.common.v1.IWorkflowExecution;
|
|
|
37
37
|
/**
|
|
38
38
|
* Represents failures that can cross Workflow and Activity boundaries.
|
|
39
39
|
*
|
|
40
|
-
*
|
|
40
|
+
* **Never extend this class or any of its children.**
|
|
41
41
|
*
|
|
42
|
-
*
|
|
43
|
-
* only. Throw an instance {@link ApplicationFailure} to pass application specific errors between
|
|
44
|
-
* Workflows and Activities.
|
|
45
|
-
*
|
|
46
|
-
* Any unhandled exception thrown by an Activity or Workflow will be converted to an instance of
|
|
47
|
-
* {@link ApplicationFailure}.
|
|
42
|
+
* The only child class you should ever throw from your code is {@link ApplicationFailure}.
|
|
48
43
|
*/
|
|
49
44
|
export class TemporalFailure extends Error {
|
|
50
45
|
public readonly name: string = 'TemporalFailure';
|
|
@@ -55,7 +50,7 @@ export class TemporalFailure extends Error {
|
|
|
55
50
|
*/
|
|
56
51
|
public failure?: ProtoFailure;
|
|
57
52
|
|
|
58
|
-
constructor(message
|
|
53
|
+
constructor(message?: string | undefined | null, public readonly cause?: Error) {
|
|
59
54
|
super(message ?? undefined);
|
|
60
55
|
}
|
|
61
56
|
}
|
|
@@ -79,33 +74,56 @@ export class ServerFailure extends TemporalFailure {
|
|
|
79
74
|
* `ApplicationFailure`, the Workflow Execution will fail.
|
|
80
75
|
*
|
|
81
76
|
* In Activities, you can either throw an `ApplicationFailure` or another `Error` to fail the Activity Task. In the
|
|
82
|
-
* latter case, the `Error` will be converted to an `ApplicationFailure`.
|
|
83
|
-
* {@link https://docs.temporal.io/concepts/what-is-an-activity-execution | Activity Execution} fails, the
|
|
84
|
-
* `ApplicationFailure` from the last Activity Task will be the `cause` of the {@link ActivityFailure} thrown in the
|
|
85
|
-
* Workflow.
|
|
86
|
-
*
|
|
87
|
-
* The conversion of an error that doesn't extend {@link TemporalFailure} to an `ApplicationFailure` is done as
|
|
88
|
-
* following:
|
|
77
|
+
* latter case, the `Error` will be converted to an `ApplicationFailure`. The conversion is done as following:
|
|
89
78
|
*
|
|
90
79
|
* - `type` is set to `error.constructor?.name ?? error.name`
|
|
91
80
|
* - `message` is set to `error.message`
|
|
92
81
|
* - `nonRetryable` is set to false
|
|
93
82
|
* - `details` are set to null
|
|
94
83
|
* - stack trace is copied from the original error
|
|
84
|
+
*
|
|
85
|
+
* When an {@link https://docs.temporal.io/concepts/what-is-an-activity-execution | Activity Execution} fails, the
|
|
86
|
+
* `ApplicationFailure` from the last Activity Task will be the `cause` of the {@link ActivityFailure} thrown in the
|
|
87
|
+
* Workflow.
|
|
95
88
|
*/
|
|
96
89
|
export class ApplicationFailure extends TemporalFailure {
|
|
97
90
|
public readonly name: string = 'ApplicationFailure';
|
|
98
91
|
|
|
92
|
+
/**
|
|
93
|
+
* Alternatively, use {@link fromError} or {@link create}.
|
|
94
|
+
*/
|
|
99
95
|
constructor(
|
|
100
|
-
message
|
|
101
|
-
public readonly type
|
|
102
|
-
public readonly nonRetryable
|
|
103
|
-
public readonly details?: unknown[],
|
|
96
|
+
message?: string | undefined | null,
|
|
97
|
+
public readonly type?: string | undefined | null,
|
|
98
|
+
public readonly nonRetryable?: boolean | undefined | null,
|
|
99
|
+
public readonly details?: unknown[] | undefined | null,
|
|
104
100
|
cause?: Error
|
|
105
101
|
) {
|
|
106
102
|
super(message, cause);
|
|
107
103
|
}
|
|
108
104
|
|
|
105
|
+
/**
|
|
106
|
+
* Create a new `ApplicationFailure` from an Error object.
|
|
107
|
+
*
|
|
108
|
+
* First calls {@link ensureApplicationFailure | `ensureApplicationFailure(error)`} and then overrides any fields
|
|
109
|
+
* provided in `overrides`.
|
|
110
|
+
*/
|
|
111
|
+
public static fromError(error: Error | unknown, overrides?: ApplicationFailureOptions): ApplicationFailure {
|
|
112
|
+
const failure = ensureApplicationFailure(error);
|
|
113
|
+
Object.assign(failure, overrides);
|
|
114
|
+
return failure;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Create a new `ApplicationFailure`.
|
|
119
|
+
*
|
|
120
|
+
* By default, will be retryable (unless its `type` is included in {@link RetryPolicy.nonRetryableErrorTypes}).
|
|
121
|
+
*/
|
|
122
|
+
public static create(options: ApplicationFailureOptions): ApplicationFailure {
|
|
123
|
+
const { message, type, nonRetryable = false, details, cause } = options;
|
|
124
|
+
return new this(message, type, nonRetryable, details, cause);
|
|
125
|
+
}
|
|
126
|
+
|
|
109
127
|
/**
|
|
110
128
|
* Get a new `ApplicationFailure` with the {@link nonRetryable} flag set to false. Note that this error will still
|
|
111
129
|
* not be retried if its `type` is included in {@link RetryPolicy.nonRetryableErrorTypes}.
|
|
@@ -114,7 +132,7 @@ export class ApplicationFailure extends TemporalFailure {
|
|
|
114
132
|
* @param type Optional error type (used by {@link RetryPolicy.nonRetryableErrorTypes})
|
|
115
133
|
* @param details Optional details about the failure. Serialized by the Worker's {@link PayloadConverter}.
|
|
116
134
|
*/
|
|
117
|
-
public static retryable(message
|
|
135
|
+
public static retryable(message?: string | null, type?: string | null, ...details: unknown[]): ApplicationFailure {
|
|
118
136
|
return new this(message, type ?? 'Error', false, details);
|
|
119
137
|
}
|
|
120
138
|
|
|
@@ -128,11 +146,40 @@ export class ApplicationFailure extends TemporalFailure {
|
|
|
128
146
|
* @param type Optional error type
|
|
129
147
|
* @param details Optional details about the failure. Serialized by the Worker's {@link PayloadConverter}.
|
|
130
148
|
*/
|
|
131
|
-
public static nonRetryable(message
|
|
149
|
+
public static nonRetryable(message?: string | null, type?: string | null, ...details: unknown[]): ApplicationFailure {
|
|
132
150
|
return new this(message, type ?? 'Error', true, details);
|
|
133
151
|
}
|
|
134
152
|
}
|
|
135
153
|
|
|
154
|
+
export interface ApplicationFailureOptions {
|
|
155
|
+
/**
|
|
156
|
+
* Error message
|
|
157
|
+
*/
|
|
158
|
+
message?: string;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Error type (used by {@link RetryPolicy.nonRetryableErrorTypes})
|
|
162
|
+
*/
|
|
163
|
+
type?: string;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Whether the current Activity or Workflow can be retried
|
|
167
|
+
*
|
|
168
|
+
* @default false
|
|
169
|
+
*/
|
|
170
|
+
nonRetryable?: boolean;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Details about the failure. Serialized by the Worker's {@link PayloadConverter}.
|
|
174
|
+
*/
|
|
175
|
+
details?: unknown[];
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Cause of the failure
|
|
179
|
+
*/
|
|
180
|
+
cause?: Error;
|
|
181
|
+
}
|
|
182
|
+
|
|
136
183
|
/**
|
|
137
184
|
* This error is thrown when Cancellation has been requested. To allow Cancellation to happen, let it propagate. To
|
|
138
185
|
* ignore Cancellation, catch it and continue executing. Note that Cancellation can only be requested a single time, so
|
|
@@ -362,26 +409,24 @@ export function errorToFailure(err: unknown, payloadConverter: PayloadConverter)
|
|
|
362
409
|
}
|
|
363
410
|
|
|
364
411
|
/**
|
|
365
|
-
* If `
|
|
412
|
+
* If `error` is already an `ApplicationFailure`, returns `error`.
|
|
366
413
|
*
|
|
367
|
-
*
|
|
414
|
+
* Otherwise, converts `error` into an `ApplicationFailure` with:
|
|
368
415
|
*
|
|
369
|
-
*
|
|
416
|
+
* - `message`: `error.message` or `String(error)`
|
|
417
|
+
* - `type`: `error.constructor.name` or `error.name`
|
|
418
|
+
* - `stack`: `error.stack` or `''`
|
|
370
419
|
*/
|
|
371
|
-
export function ensureApplicationFailure(
|
|
372
|
-
if (
|
|
373
|
-
return
|
|
374
|
-
}
|
|
375
|
-
if (err instanceof Error) {
|
|
376
|
-
const name = err.constructor?.name ?? err.name;
|
|
377
|
-
const failure = new ApplicationFailure(err.message, name, false);
|
|
378
|
-
failure.stack = err.stack;
|
|
379
|
-
return failure;
|
|
380
|
-
} else {
|
|
381
|
-
const failure = new ApplicationFailure(String(err), undefined, false);
|
|
382
|
-
failure.stack = '';
|
|
383
|
-
return failure;
|
|
420
|
+
export function ensureApplicationFailure(error: unknown): ApplicationFailure {
|
|
421
|
+
if (error instanceof ApplicationFailure) {
|
|
422
|
+
return error;
|
|
384
423
|
}
|
|
424
|
+
|
|
425
|
+
const message = (isRecord(error) && String(error.message)) || String(error);
|
|
426
|
+
const type = (isRecord(error) && (error.constructor?.name ?? error.name)) || undefined;
|
|
427
|
+
const failure = ApplicationFailure.create({ message, type, nonRetryable: false });
|
|
428
|
+
failure.stack = (isRecord(error) && String(error.stack)) || '';
|
|
429
|
+
return failure;
|
|
385
430
|
}
|
|
386
431
|
|
|
387
432
|
/**
|