@beemafrica/error-definitions 1.0.1 → 1.0.4
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/dist/definitions.d.ts +1 -1
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +141 -104
- package/dist/definitions.js.map +1 -1
- package/dist/factory.d.ts +9 -5
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +110 -16
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/standard-error.d.ts +1 -1
- package/dist/standard-error.d.ts.map +1 -1
- package/dist/standard-error.js +2 -2
- package/dist/standard-error.js.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist-cjs/definitions.js +141 -104
- package/dist-cjs/definitions.js.map +1 -1
- package/dist-cjs/factory.js +109 -13
- package/dist-cjs/factory.js.map +1 -1
- package/dist-cjs/index.js +3 -2
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/standard-error.js +1 -1
- package/dist-cjs/standard-error.js.map +1 -1
- package/dist-cjs/types/index.js.map +1 -1
- package/package.json +53 -47
package/dist/definitions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CanonicalErrorCode, ErrorDefinition } from
|
|
1
|
+
import type { CanonicalErrorCode, ErrorDefinition } from './types/index.js';
|
|
2
2
|
export declare const ERROR_DEFINITIONS: Readonly<Record<CanonicalErrorCode, ErrorDefinition>>;
|
|
3
3
|
export declare function getErrorDefinition(code: CanonicalErrorCode): ErrorDefinition;
|
|
4
4
|
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE3E,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CACvC,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAqX3C,CAAA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,eAAe,CAE5E"}
|
package/dist/definitions.js
CHANGED
|
@@ -1,324 +1,361 @@
|
|
|
1
1
|
export const ERROR_DEFINITIONS = {
|
|
2
2
|
INTERNAL_ERROR: {
|
|
3
|
-
code:
|
|
3
|
+
code: 'INTERNAL_ERROR',
|
|
4
4
|
httpStatus: 500,
|
|
5
5
|
retryable: false,
|
|
6
|
-
defaultMessage:
|
|
6
|
+
defaultMessage: 'Unexpected server error.',
|
|
7
7
|
},
|
|
8
8
|
INVALID_ARGUMENT: {
|
|
9
|
-
code:
|
|
9
|
+
code: 'INVALID_ARGUMENT',
|
|
10
10
|
httpStatus: 400,
|
|
11
11
|
retryable: false,
|
|
12
|
-
defaultMessage:
|
|
12
|
+
defaultMessage: 'Invalid argument.',
|
|
13
13
|
},
|
|
14
14
|
SERVICE_FAILURE: {
|
|
15
|
-
code:
|
|
15
|
+
code: 'SERVICE_FAILURE',
|
|
16
16
|
httpStatus: 500,
|
|
17
17
|
retryable: true,
|
|
18
|
-
defaultMessage:
|
|
18
|
+
defaultMessage: 'Service failed to process the request.',
|
|
19
19
|
},
|
|
20
20
|
// UI Errors
|
|
21
21
|
UI_INVALID_INPUT: {
|
|
22
|
-
code:
|
|
22
|
+
code: 'UI_INVALID_INPUT',
|
|
23
23
|
httpStatus: 400,
|
|
24
24
|
retryable: false,
|
|
25
|
-
defaultMessage:
|
|
25
|
+
defaultMessage: 'Input provided is invalid.',
|
|
26
26
|
},
|
|
27
27
|
UI_REQUIRED_FIELD_MISSING: {
|
|
28
|
-
code:
|
|
28
|
+
code: 'UI_REQUIRED_FIELD_MISSING',
|
|
29
29
|
httpStatus: 400,
|
|
30
30
|
retryable: false,
|
|
31
|
-
defaultMessage:
|
|
31
|
+
defaultMessage: 'A required field is missing.',
|
|
32
32
|
},
|
|
33
33
|
UI_INVALID_FORMAT: {
|
|
34
|
-
code:
|
|
34
|
+
code: 'UI_INVALID_FORMAT',
|
|
35
35
|
httpStatus: 400,
|
|
36
36
|
retryable: false,
|
|
37
|
-
defaultMessage:
|
|
37
|
+
defaultMessage: 'Input format is incorrect.',
|
|
38
38
|
},
|
|
39
39
|
UI_FILE_TOO_LARGE: {
|
|
40
|
-
code:
|
|
40
|
+
code: 'UI_FILE_TOO_LARGE',
|
|
41
41
|
httpStatus: 413,
|
|
42
42
|
retryable: false,
|
|
43
|
-
defaultMessage:
|
|
43
|
+
defaultMessage: 'Uploaded file exceeds size limit.',
|
|
44
44
|
},
|
|
45
45
|
UI_UNSUPPORTED_FILE_TYPE: {
|
|
46
|
-
code:
|
|
46
|
+
code: 'UI_UNSUPPORTED_FILE_TYPE',
|
|
47
47
|
httpStatus: 415,
|
|
48
48
|
retryable: false,
|
|
49
|
-
defaultMessage:
|
|
49
|
+
defaultMessage: 'File type is not supported.',
|
|
50
50
|
},
|
|
51
51
|
UI_STALE_STATE: {
|
|
52
|
-
code:
|
|
52
|
+
code: 'UI_STALE_STATE',
|
|
53
53
|
httpStatus: 409,
|
|
54
54
|
retryable: false,
|
|
55
|
-
defaultMessage:
|
|
55
|
+
defaultMessage: 'UI state is outdated; refresh required.',
|
|
56
56
|
},
|
|
57
57
|
UI_ACTION_NOT_AVAILABLE: {
|
|
58
|
-
code:
|
|
58
|
+
code: 'UI_ACTION_NOT_AVAILABLE',
|
|
59
59
|
httpStatus: 403,
|
|
60
60
|
retryable: false,
|
|
61
|
-
defaultMessage:
|
|
61
|
+
defaultMessage: 'Action is not allowed in current state.',
|
|
62
62
|
},
|
|
63
63
|
UI_DUPLICATE_SUBMISSION: {
|
|
64
|
-
code:
|
|
64
|
+
code: 'UI_DUPLICATE_SUBMISSION',
|
|
65
65
|
httpStatus: 409,
|
|
66
66
|
retryable: false,
|
|
67
|
-
defaultMessage:
|
|
67
|
+
defaultMessage: 'Duplicate submission detected.',
|
|
68
68
|
},
|
|
69
69
|
UI_RENDER_ERROR: {
|
|
70
|
-
code:
|
|
70
|
+
code: 'UI_RENDER_ERROR',
|
|
71
71
|
httpStatus: 500,
|
|
72
72
|
retryable: false,
|
|
73
|
-
defaultMessage:
|
|
73
|
+
defaultMessage: 'UI failed to render correctly.',
|
|
74
74
|
},
|
|
75
75
|
UI_ASSET_LOAD_FAILED: {
|
|
76
|
-
code:
|
|
76
|
+
code: 'UI_ASSET_LOAD_FAILED',
|
|
77
77
|
httpStatus: 500,
|
|
78
78
|
retryable: false,
|
|
79
|
-
defaultMessage:
|
|
79
|
+
defaultMessage: 'Required asset failed to load.',
|
|
80
80
|
},
|
|
81
81
|
UI_TRANSLATION_MISSING: {
|
|
82
|
-
code:
|
|
82
|
+
code: 'UI_TRANSLATION_MISSING',
|
|
83
83
|
httpStatus: 500,
|
|
84
84
|
retryable: false,
|
|
85
|
-
defaultMessage:
|
|
85
|
+
defaultMessage: 'Missing translation resource.',
|
|
86
86
|
},
|
|
87
87
|
// API Errors - Validation Errors
|
|
88
88
|
API_INVALID_PARAMETER: {
|
|
89
|
-
code:
|
|
89
|
+
code: 'API_INVALID_PARAMETER',
|
|
90
90
|
httpStatus: 400,
|
|
91
91
|
retryable: true,
|
|
92
|
-
defaultMessage:
|
|
92
|
+
defaultMessage: 'Parameter value invalid.',
|
|
93
93
|
},
|
|
94
94
|
API_REQUIRED_PARAMETER_MISSING: {
|
|
95
|
-
code:
|
|
95
|
+
code: 'API_REQUIRED_PARAMETER_MISSING',
|
|
96
96
|
httpStatus: 400,
|
|
97
97
|
retryable: true,
|
|
98
|
-
defaultMessage:
|
|
98
|
+
defaultMessage: 'Required parameter missing.',
|
|
99
99
|
},
|
|
100
100
|
API_INVALID_REQUEST_FORMAT: {
|
|
101
|
-
code:
|
|
101
|
+
code: 'API_INVALID_REQUEST_FORMAT',
|
|
102
102
|
httpStatus: 400,
|
|
103
103
|
retryable: true,
|
|
104
|
-
defaultMessage:
|
|
104
|
+
defaultMessage: 'Request format is invalid.',
|
|
105
105
|
},
|
|
106
106
|
API_SCHEMA_VALIDATION_FAILED: {
|
|
107
|
-
code:
|
|
107
|
+
code: 'API_SCHEMA_VALIDATION_FAILED',
|
|
108
108
|
httpStatus: 400,
|
|
109
109
|
retryable: true,
|
|
110
|
-
defaultMessage:
|
|
110
|
+
defaultMessage: 'Request schema validation failed.',
|
|
111
111
|
},
|
|
112
112
|
API_TOO_MANY_ITEMS: {
|
|
113
|
-
code:
|
|
113
|
+
code: 'API_TOO_MANY_ITEMS',
|
|
114
114
|
httpStatus: 429,
|
|
115
115
|
retryable: true,
|
|
116
|
-
defaultMessage:
|
|
116
|
+
defaultMessage: 'Request contains too many items.',
|
|
117
117
|
},
|
|
118
118
|
API_FIELD_TOO_LONG: {
|
|
119
|
-
code:
|
|
119
|
+
code: 'API_FIELD_TOO_LONG',
|
|
120
120
|
httpStatus: 400,
|
|
121
121
|
retryable: true,
|
|
122
|
-
defaultMessage:
|
|
122
|
+
defaultMessage: 'Field exceeds maximum length.',
|
|
123
123
|
},
|
|
124
124
|
API_UNSUPPORTED_VALUE: {
|
|
125
|
-
code:
|
|
125
|
+
code: 'API_UNSUPPORTED_VALUE',
|
|
126
126
|
httpStatus: 400,
|
|
127
127
|
retryable: true,
|
|
128
|
-
defaultMessage:
|
|
128
|
+
defaultMessage: 'Parameter contains an unsupported value.',
|
|
129
129
|
},
|
|
130
130
|
// API Errors - Authentication Errors
|
|
131
131
|
AUTH_MISSING_CREDENTIALS: {
|
|
132
|
-
code:
|
|
132
|
+
code: 'AUTH_MISSING_CREDENTIALS',
|
|
133
133
|
httpStatus: 401,
|
|
134
134
|
retryable: true,
|
|
135
|
-
defaultMessage:
|
|
135
|
+
defaultMessage: 'Required credentials missing.',
|
|
136
136
|
},
|
|
137
137
|
AUTH_INVALID_CREDENTIALS: {
|
|
138
|
-
code:
|
|
138
|
+
code: 'AUTH_INVALID_CREDENTIALS',
|
|
139
139
|
httpStatus: 401,
|
|
140
140
|
retryable: true,
|
|
141
|
-
defaultMessage:
|
|
141
|
+
defaultMessage: 'Credentials invalid.',
|
|
142
142
|
},
|
|
143
143
|
AUTH_FORBIDDEN: {
|
|
144
|
-
code:
|
|
144
|
+
code: 'AUTH_FORBIDDEN',
|
|
145
145
|
httpStatus: 403,
|
|
146
146
|
retryable: true,
|
|
147
|
-
defaultMessage:
|
|
147
|
+
defaultMessage: 'Access forbidden.',
|
|
148
148
|
},
|
|
149
149
|
AUTH_INSUFFICIENT_PERMISSIONS: {
|
|
150
|
-
code:
|
|
150
|
+
code: 'AUTH_INSUFFICIENT_PERMISSIONS',
|
|
151
151
|
httpStatus: 403,
|
|
152
152
|
retryable: true,
|
|
153
|
-
defaultMessage:
|
|
153
|
+
defaultMessage: 'Not enough permissions.',
|
|
154
154
|
},
|
|
155
155
|
AUTH_TOKEN_EXPIRED: {
|
|
156
|
-
code:
|
|
156
|
+
code: 'AUTH_TOKEN_EXPIRED',
|
|
157
157
|
httpStatus: 401,
|
|
158
158
|
retryable: true,
|
|
159
|
-
defaultMessage:
|
|
159
|
+
defaultMessage: 'Auth token expired.',
|
|
160
160
|
},
|
|
161
161
|
// API Errors - Business Logic Errors
|
|
162
162
|
DOMAIN_INCORRECT_PIN: {
|
|
163
|
-
code:
|
|
163
|
+
code: 'DOMAIN_INCORRECT_PIN',
|
|
164
164
|
httpStatus: 400,
|
|
165
165
|
retryable: true,
|
|
166
|
-
defaultMessage:
|
|
166
|
+
defaultMessage: 'OTP Pin is incorrect.',
|
|
167
167
|
},
|
|
168
168
|
DOMAIN_PIN_EXPIRED: {
|
|
169
|
-
code:
|
|
169
|
+
code: 'DOMAIN_PIN_EXPIRED',
|
|
170
170
|
httpStatus: 400,
|
|
171
171
|
retryable: true,
|
|
172
|
-
defaultMessage:
|
|
172
|
+
defaultMessage: 'OTP Pin expired.',
|
|
173
173
|
},
|
|
174
174
|
DOMAIN_OTP_ATTEMPTS_EXCEEDED: {
|
|
175
|
-
code:
|
|
175
|
+
code: 'DOMAIN_OTP_ATTEMPTS_EXCEEDED',
|
|
176
176
|
httpStatus: 429,
|
|
177
177
|
retryable: true,
|
|
178
|
-
defaultMessage:
|
|
178
|
+
defaultMessage: 'OTP attempts exceeded.',
|
|
179
179
|
},
|
|
180
180
|
DOMAIN_DUPLICATE_PIN: {
|
|
181
|
-
code:
|
|
181
|
+
code: 'DOMAIN_DUPLICATE_PIN',
|
|
182
182
|
httpStatus: 409,
|
|
183
183
|
retryable: true,
|
|
184
|
-
defaultMessage:
|
|
184
|
+
defaultMessage: 'OTP Pin already used.',
|
|
185
185
|
},
|
|
186
186
|
DOMAIN_INVALID_SCHEDULE_TIME: {
|
|
187
|
-
code:
|
|
187
|
+
code: 'DOMAIN_INVALID_SCHEDULE_TIME',
|
|
188
188
|
httpStatus: 400,
|
|
189
189
|
retryable: true,
|
|
190
|
-
defaultMessage:
|
|
190
|
+
defaultMessage: 'Scheduled time invalid.',
|
|
191
191
|
},
|
|
192
192
|
DOMAIN_RESOURCE_CONFLICT: {
|
|
193
|
-
code:
|
|
193
|
+
code: 'DOMAIN_RESOURCE_CONFLICT',
|
|
194
194
|
httpStatus: 409,
|
|
195
195
|
retryable: true,
|
|
196
|
-
defaultMessage:
|
|
196
|
+
defaultMessage: 'Resource conflict detected.',
|
|
197
197
|
},
|
|
198
198
|
DOMAIN_RESOURCE_NOT_FOUND: {
|
|
199
|
-
code:
|
|
199
|
+
code: 'DOMAIN_RESOURCE_NOT_FOUND',
|
|
200
200
|
httpStatus: 404,
|
|
201
201
|
retryable: true,
|
|
202
|
-
defaultMessage:
|
|
202
|
+
defaultMessage: 'Resource not found.',
|
|
203
203
|
},
|
|
204
204
|
// API Errors - Dependency & Integration Errors
|
|
205
205
|
DEPENDENCY_FAILURE: {
|
|
206
|
-
code:
|
|
206
|
+
code: 'DEPENDENCY_FAILURE',
|
|
207
207
|
httpStatus: 502,
|
|
208
208
|
retryable: true,
|
|
209
|
-
defaultMessage:
|
|
209
|
+
defaultMessage: 'A required downstream service is down.',
|
|
210
210
|
},
|
|
211
211
|
DEPENDENCY_TIMEOUT: {
|
|
212
|
-
code:
|
|
212
|
+
code: 'DEPENDENCY_TIMEOUT',
|
|
213
213
|
httpStatus: 504,
|
|
214
214
|
retryable: true,
|
|
215
|
-
defaultMessage:
|
|
215
|
+
defaultMessage: 'Downstream service responded too slowly.',
|
|
216
216
|
},
|
|
217
217
|
INFRASTRUCTURE_FAILURE: {
|
|
218
|
-
code:
|
|
218
|
+
code: 'INFRASTRUCTURE_FAILURE',
|
|
219
219
|
httpStatus: 503,
|
|
220
220
|
retryable: true,
|
|
221
|
-
defaultMessage:
|
|
221
|
+
defaultMessage: 'An internal infrastructure dependency failed.',
|
|
222
222
|
},
|
|
223
223
|
THIRD_PARTY_ERROR: {
|
|
224
|
-
code:
|
|
224
|
+
code: 'THIRD_PARTY_ERROR',
|
|
225
225
|
httpStatus: 502,
|
|
226
226
|
retryable: true,
|
|
227
|
-
defaultMessage:
|
|
227
|
+
defaultMessage: 'A third-party provider returned an error.',
|
|
228
228
|
},
|
|
229
229
|
UPSTREAM_ERROR: {
|
|
230
|
-
code:
|
|
230
|
+
code: 'UPSTREAM_ERROR',
|
|
231
231
|
httpStatus: 502,
|
|
232
232
|
retryable: false,
|
|
233
|
-
defaultMessage:
|
|
233
|
+
defaultMessage: 'Downstream service returned an invalid response.',
|
|
234
|
+
},
|
|
235
|
+
// API Errors - Database Errors
|
|
236
|
+
DB_CONNECTION_FAILURE: {
|
|
237
|
+
code: 'DB_CONNECTION_FAILURE',
|
|
238
|
+
httpStatus: 503,
|
|
239
|
+
retryable: true,
|
|
240
|
+
defaultMessage: 'Database is unreachable.',
|
|
241
|
+
},
|
|
242
|
+
DB_QUERY_TIMEOUT: {
|
|
243
|
+
code: 'DB_QUERY_TIMEOUT',
|
|
244
|
+
httpStatus: 504,
|
|
245
|
+
retryable: true,
|
|
246
|
+
defaultMessage: 'The query took too long to execute.',
|
|
247
|
+
},
|
|
248
|
+
DB_CONSTRAINT_VIOLATION: {
|
|
249
|
+
code: 'DB_CONSTRAINT_VIOLATION',
|
|
250
|
+
httpStatus: 409,
|
|
251
|
+
retryable: false,
|
|
252
|
+
defaultMessage: 'Unique constraint or foreign key failed.',
|
|
253
|
+
},
|
|
254
|
+
DB_DATA_CORRUPTION: {
|
|
255
|
+
code: 'DB_DATA_CORRUPTION',
|
|
256
|
+
httpStatus: 500,
|
|
257
|
+
retryable: false,
|
|
258
|
+
defaultMessage: 'Retrieved data is malformed or incomplete.',
|
|
259
|
+
},
|
|
260
|
+
DB_DEADLOCK: {
|
|
261
|
+
code: 'DB_DEADLOCK',
|
|
262
|
+
httpStatus: 409,
|
|
263
|
+
retryable: true,
|
|
264
|
+
defaultMessage: 'The transaction was rolled back due to deadlock.',
|
|
265
|
+
},
|
|
266
|
+
DB_UNEXPECTED_ERROR: {
|
|
267
|
+
code: 'DB_UNEXPECTED_ERROR',
|
|
268
|
+
httpStatus: 500,
|
|
269
|
+
retryable: false,
|
|
270
|
+
defaultMessage: "Caught an exception from the DB that doesn't match known patterns.",
|
|
234
271
|
},
|
|
235
272
|
// API Errors - Rate Limiting Errors
|
|
236
273
|
RESOURCE_EXHAUSTED: {
|
|
237
|
-
code:
|
|
274
|
+
code: 'RESOURCE_EXHAUSTED',
|
|
238
275
|
httpStatus: 429,
|
|
239
276
|
retryable: true,
|
|
240
|
-
defaultMessage:
|
|
277
|
+
defaultMessage: 'User has hit their rate limit.',
|
|
241
278
|
},
|
|
242
279
|
QUOTA_EXCEEDED: {
|
|
243
|
-
code:
|
|
280
|
+
code: 'QUOTA_EXCEEDED',
|
|
244
281
|
httpStatus: 403,
|
|
245
282
|
retryable: false,
|
|
246
|
-
defaultMessage:
|
|
283
|
+
defaultMessage: 'Monthly billing limit reached.',
|
|
247
284
|
},
|
|
248
285
|
SERVER_OVERLOAD: {
|
|
249
|
-
code:
|
|
286
|
+
code: 'SERVER_OVERLOAD',
|
|
250
287
|
httpStatus: 503,
|
|
251
288
|
retryable: true,
|
|
252
|
-
defaultMessage:
|
|
289
|
+
defaultMessage: 'System is too busy to handle the request; back off immediately.',
|
|
253
290
|
},
|
|
254
291
|
// API Errors - Concurrency & State Errors
|
|
255
292
|
CONCURRENCY_CONFLICT: {
|
|
256
|
-
code:
|
|
293
|
+
code: 'CONCURRENCY_CONFLICT',
|
|
257
294
|
httpStatus: 409,
|
|
258
295
|
retryable: true,
|
|
259
|
-
defaultMessage:
|
|
296
|
+
defaultMessage: 'Conflict detected. Please refresh and try again.',
|
|
260
297
|
},
|
|
261
298
|
ABORTED: {
|
|
262
|
-
code:
|
|
299
|
+
code: 'ABORTED',
|
|
263
300
|
httpStatus: 409,
|
|
264
301
|
retryable: true,
|
|
265
|
-
defaultMessage:
|
|
302
|
+
defaultMessage: 'Conflict detected.',
|
|
266
303
|
},
|
|
267
304
|
OUT_OF_RANGE: {
|
|
268
|
-
code:
|
|
305
|
+
code: 'OUT_OF_RANGE',
|
|
269
306
|
httpStatus: 400,
|
|
270
307
|
retryable: false,
|
|
271
|
-
defaultMessage:
|
|
308
|
+
defaultMessage: 'Client navigated beyond the valid state.',
|
|
272
309
|
},
|
|
273
310
|
ALREADY_EXISTS: {
|
|
274
|
-
code:
|
|
311
|
+
code: 'ALREADY_EXISTS',
|
|
275
312
|
httpStatus: 409,
|
|
276
313
|
retryable: false,
|
|
277
|
-
defaultMessage:
|
|
314
|
+
defaultMessage: 'Resource already exists.',
|
|
278
315
|
},
|
|
279
316
|
// API Errors - Network Errors
|
|
280
317
|
NETWORK_TIMEOUT: {
|
|
281
|
-
code:
|
|
318
|
+
code: 'NETWORK_TIMEOUT',
|
|
282
319
|
httpStatus: 408,
|
|
283
320
|
retryable: true,
|
|
284
|
-
defaultMessage:
|
|
321
|
+
defaultMessage: 'The client started a request but did not finish sending it in time.',
|
|
285
322
|
},
|
|
286
323
|
PAYLOAD_TOO_LARGE: {
|
|
287
|
-
code:
|
|
324
|
+
code: 'PAYLOAD_TOO_LARGE',
|
|
288
325
|
httpStatus: 413,
|
|
289
326
|
retryable: false,
|
|
290
|
-
defaultMessage:
|
|
327
|
+
defaultMessage: 'The request body exceeds the network limit.',
|
|
291
328
|
},
|
|
292
329
|
TOO_MANY_REQUESTS: {
|
|
293
|
-
code:
|
|
330
|
+
code: 'TOO_MANY_REQUESTS',
|
|
294
331
|
httpStatus: 429,
|
|
295
332
|
retryable: true,
|
|
296
|
-
defaultMessage:
|
|
333
|
+
defaultMessage: 'Network-level rate limiter blocked the request.',
|
|
297
334
|
},
|
|
298
335
|
CLIENT_CLOSED_REQUEST: {
|
|
299
|
-
code:
|
|
336
|
+
code: 'CLIENT_CLOSED_REQUEST',
|
|
300
337
|
httpStatus: 499,
|
|
301
338
|
retryable: false,
|
|
302
|
-
defaultMessage:
|
|
339
|
+
defaultMessage: 'Client cancelled the request before the server finished.',
|
|
303
340
|
},
|
|
304
341
|
// API Errors - Server-Side Infrastructure Errors
|
|
305
342
|
GATEWAY_TIMEOUT: {
|
|
306
|
-
code:
|
|
343
|
+
code: 'GATEWAY_TIMEOUT',
|
|
307
344
|
httpStatus: 504,
|
|
308
345
|
retryable: true,
|
|
309
|
-
defaultMessage:
|
|
346
|
+
defaultMessage: 'API gateway timed out waiting for upstream service.',
|
|
310
347
|
},
|
|
311
348
|
BAD_GATEWAY: {
|
|
312
|
-
code:
|
|
349
|
+
code: 'BAD_GATEWAY',
|
|
313
350
|
httpStatus: 502,
|
|
314
351
|
retryable: true,
|
|
315
|
-
defaultMessage:
|
|
352
|
+
defaultMessage: 'Server received an invalid response from upstream.',
|
|
316
353
|
},
|
|
317
354
|
SERVICE_UNAVAILABLE: {
|
|
318
|
-
code:
|
|
355
|
+
code: 'SERVICE_UNAVAILABLE',
|
|
319
356
|
httpStatus: 503,
|
|
320
357
|
retryable: true,
|
|
321
|
-
defaultMessage:
|
|
358
|
+
defaultMessage: 'Service unavailable.',
|
|
322
359
|
},
|
|
323
360
|
};
|
|
324
361
|
export function getErrorDefinition(code) {
|
package/dist/definitions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../definitions.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../definitions.ts"],"names":[],"mappings":"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"}
|
package/dist/factory.d.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { StandardError } from
|
|
2
|
-
import type { BMErrorResponse,
|
|
3
|
-
import { ServiceId } from "./types/index.js";
|
|
1
|
+
import { StandardError } from './standard-error.js';
|
|
2
|
+
import type { BMErrorResponse, CanonicalError, CanonicalErrorCode, CreateErrorOptions, ErrorContext, ServiceId, StandardErrorResponse, TraceId } from './types/index.js';
|
|
4
3
|
export declare function createError(code: CanonicalErrorCode, options?: CreateErrorOptions): StandardError;
|
|
5
4
|
export declare function getCanonicalError(code: CanonicalErrorCode): CanonicalError;
|
|
6
5
|
export declare function createErrorResponse(code: CanonicalErrorCode, options?: CreateErrorOptions): StandardErrorResponse;
|
|
7
6
|
export declare function wrapServiceError(serviceId: ServiceId, baseError: CanonicalError, overrides: Readonly<{
|
|
8
7
|
message: string;
|
|
9
8
|
internal_code?: number | string;
|
|
10
|
-
dependency?: BMErrorResponse[
|
|
9
|
+
dependency?: BMErrorResponse['dependency'];
|
|
11
10
|
context?: ErrorContext;
|
|
12
11
|
trace_id?: TraceId;
|
|
13
12
|
}>): BMErrorResponse;
|
|
14
13
|
export declare function handleDependencyError(serviceId: ServiceId, dependency: Readonly<{
|
|
15
14
|
name: string;
|
|
16
|
-
type:
|
|
15
|
+
type: 'INTERNAL' | 'EXTERNAL';
|
|
17
16
|
}>, err: unknown, options?: Readonly<{
|
|
18
17
|
message?: string;
|
|
19
18
|
internal_code?: number | string;
|
|
@@ -24,4 +23,9 @@ export declare function toErrorResponse(err: unknown, options?: Readonly<{
|
|
|
24
23
|
fallbackCode?: CanonicalErrorCode;
|
|
25
24
|
traceId?: TraceId;
|
|
26
25
|
}>): StandardErrorResponse;
|
|
26
|
+
export declare function toDbErrorResponse(err: unknown, options?: Readonly<{
|
|
27
|
+
message?: string;
|
|
28
|
+
traceId?: TraceId;
|
|
29
|
+
context?: ErrorContext;
|
|
30
|
+
}>): StandardErrorResponse;
|
|
27
31
|
//# sourceMappingURL=factory.d.ts.map
|
package/dist/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../factory.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,OAAO,EACP,MAAM,kBAAkB,CAAA;AAqFzB,wBAAgB,WAAW,CAC1B,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC9B,aAAa,CAEf;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAO1E;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC9B,qBAAqB,CAEvB;AAED,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAC,GACA,eAAe,CAkBjB;AAED,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;CAAE,CAAC,EACrE,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAM,GACL,eAAe,CAyBjB;AAED,wBAAgB,eAAe,CAC9B,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAC1E,qBAAqB,CAwBvB;AAED,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;CACtB,CAAM,GACL,qBAAqB,CAyBvB"}
|