inngest 1.9.6 → 1.10.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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # inngest
2
2
 
3
+ ## 1.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 64fc745: Add optional `id` property to all step tooling, allowing users to override state recovery
8
+
9
+ ## 1.9.7
10
+
11
+ ### Patch Changes
12
+
13
+ - cec3265: Harden error serialization to ensure uncaught exceptions don't slip through during function runs
14
+
3
15
  ## 1.9.6
4
16
 
5
17
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  import { type Jsonify } from "type-fest";
2
2
  import { type ObjectPaths, type PartialK, type SendEventPayload, type SingleOrArray } from "../helpers/types";
3
- import { StepOpCode, type EventPayload, type HashedOp } from "../types";
3
+ import { StepOpCode, type EventPayload, type HashedOp, type StepOpts } from "../types";
4
4
  import { type Inngest } from "./Inngest";
5
5
  export interface TickOp extends HashedOp {
6
6
  fn?: (...args: unknown[]) => unknown;
@@ -43,8 +43,8 @@ export declare const createStepTools: <Events extends Record<string, EventPayloa
43
43
  * Returns a promise that will resolve once the event has been sent.
44
44
  */
45
45
  sendEvent: {
46
- <Payload extends SendEventPayload<Events>>(payload: Payload): Promise<void>;
47
- <Event_1 extends keyof Events & string>(name: Event_1, payload: SingleOrArray<PartialK<Omit<Events[Event_1], "name" | "v">, "ts">>): Promise<void>;
46
+ <Payload extends SendEventPayload<Events>>(payload: Payload, opts?: StepOpts): Promise<void>;
47
+ <Event_1 extends keyof Events & string>(name: Event_1, payload: SingleOrArray<PartialK<Omit<Events[Event_1], "name" | "v">, "ts">>, opts?: StepOpts): Promise<void>;
48
48
  };
49
49
  /**
50
50
  * Wait for a particular event to be received before continuing. When the
@@ -72,7 +72,7 @@ export declare const createStepTools: <Events extends Record<string, EventPayloa
72
72
  * of the `run` tool, meaning you can return and reason about return data
73
73
  * for next steps.
74
74
  */
75
- run: <T extends () => unknown>(name: string, fn: T) => Promise<Jsonify<T extends () => Promise<infer U> ? Awaited<U extends void ? null : U> : ReturnType<T> extends void ? null : ReturnType<T>>>;
75
+ run: <T extends () => unknown>(name: string, fn: T, opts?: StepOpts) => Promise<Jsonify<T extends () => Promise<infer U> ? Awaited<U extends void ? null : U> : ReturnType<T> extends void ? null : ReturnType<T>>>;
76
76
  /**
77
77
  * Wait a specified amount of time before continuing.
78
78
  *
@@ -83,14 +83,14 @@ export declare const createStepTools: <Events extends Record<string, EventPayloa
83
83
  *
84
84
  * To wait until a particular date, use `sleepUntil` instead.
85
85
  */
86
- sleep: (time: number | string) => Promise<void>;
86
+ sleep: (time: number | string, opts?: StepOpts) => Promise<void>;
87
87
  /**
88
88
  * Wait until a particular date before continuing by passing a `Date`.
89
89
  *
90
90
  * To wait for a particular amount of time from now, always use `sleep`
91
91
  * instead.
92
92
  */
93
- sleepUntil: (time: Date | string) => Promise<void>;
93
+ sleepUntil: (time: Date | string, opts?: StepOpts) => Promise<void>;
94
94
  }, {
95
95
  /**
96
96
  * The tree of all found ops in the entire invocation.
@@ -158,7 +158,7 @@ export declare const createStepTools: <Events extends Record<string, EventPayloa
158
158
  * A set of optional parameters given to a `waitForEvent` call to control how
159
159
  * the event is handled.
160
160
  */
161
- interface WaitForEventOpts<TriggeringEvent extends EventPayload, IncomingEvent extends EventPayload> {
161
+ interface WaitForEventOpts<TriggeringEvent extends EventPayload, IncomingEvent extends EventPayload> extends StepOpts {
162
162
  /**
163
163
  * The step function will wait for the event for a maximum of this time, at
164
164
  * which point the event will be returned as `null` instead of any event data.
@@ -1 +1 @@
1
- {"version":3,"file":"InngestStepTools.d.ts","sourceRoot":"","sources":["../../src/components/InngestStepTools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,QAAQ,EAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,WAAW,MAAO,SAAQ,QAAQ;IACtC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzD,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;IAoOxB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;sEAIE,QAAQ,IAAI,CAAC;6IAMb,QAAQ,IAAI,CAAC;;IA4ClB;;;;;;;;OAQG;;;;;;IA8DH;;;;;;;;;;;OAWG;0BAEgB,OAAO,QAMhB,MAAM;IA8BhB;;;;;;;;;OASG;kBAMO,MAAM,GAAG,MAAM,KAClB,QAAQ,IAAI,CAAC;IAYpB;;;;;OAKG;uBAMO,IAAI,GAAG,MAAM,KAChB,QAAQ,IAAI,CAAC;;IA1cpB;;OAEG;iBACU,OAAO,MAAM,EAAE,MAAM,CAAC;IAEnC;;;OAGG;aACM,OAAO,MAAM,EAAE,MAAM,CAAC;IAE/B;;;;;;;;OAQG;kBACW,OAAO,MAAM,EAAE,MAAM,CAAC;IAEpC;;;OAGG;eACQ,MAAM,GAAG,SAAS;IAE7B;;;OAGG;6BACqB,OAAO,EAAE,KAAK,OAAO;IAE7C;;;;;;;OAOG;kBACW,OAAO;IAErB;;;OAGG;WACI,MAAM,IAAI;IAEjB;;;;;;;;;;;OAWG;uBACgB,OAAO;IAE1B;;;OAGG;mBACY,OAAO;EAoazB,CAAC;AAEF;;;GAGG;AACH,UAAU,gBAAgB,CACxB,eAAe,SAAS,YAAY,EACpC,aAAa,SAAS,YAAY;IAElC;;;;;;;;;OASG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAElE;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,UAAU;mBAPD,UAAU,KAAG,MAAM;CAOH,CAAC"}
1
+ {"version":3,"file":"InngestStepTools.d.ts","sourceRoot":"","sources":["../../src/components/InngestStepTools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,WAAW,MAAO,SAAQ,QAAQ;IACtC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzD,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;IA+OxB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;4EAIQ,QAAQ,GACd,QAAQ,IAAI,CAAC;mJAMP,QAAQ,GACd,QAAQ,IAAI,CAAC;;IAoDlB;;;;;;;;OAQG;;;;;;IAmEH;;;;;;;;;;;OAWG;0BAEgB,OAAO,QAMhB,MAAM,gBAWL,QAAQ;IAqBnB;;;;;;;;;OASG;kBAMO,MAAM,GAAG,MAAM,SACd,QAAQ,KACZ,QAAQ,IAAI,CAAC;IAapB;;;;;OAKG;uBAMO,IAAI,GAAG,MAAM,SACZ,QAAQ,KACZ,QAAQ,IAAI,CAAC;;IAzepB;;OAEG;iBACU,OAAO,MAAM,EAAE,MAAM,CAAC;IAEnC;;;OAGG;aACM,OAAO,MAAM,EAAE,MAAM,CAAC;IAE/B;;;;;;;;OAQG;kBACW,OAAO,MAAM,EAAE,MAAM,CAAC;IAEpC;;;OAGG;eACQ,MAAM,GAAG,SAAS;IAE7B;;;OAGG;6BACqB,OAAO,EAAE,KAAK,OAAO;IAE7C;;;;;;;OAOG;kBACW,OAAO;IAErB;;;OAGG;WACI,MAAM,IAAI;IAEjB;;;;;;;;;;;OAWG;uBACgB,OAAO;IAE1B;;;OAGG;mBACY,OAAO;EAoczB,CAAC;AAEF;;;GAGG;AACH,UAAU,gBAAgB,CACxB,eAAe,SAAS,YAAY,EACpC,aAAa,SAAS,YAAY,CAClC,SAAQ,QAAQ;IAChB;;;;;;;;;OASG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAElE;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,UAAU;mBAPD,UAAU,KAAG,MAAM;CAOH,CAAC"}
@@ -36,16 +36,26 @@ const createStepTools = (client) => {
36
36
  state.tickOps = state.allFoundOps;
37
37
  /**
38
38
  * Create a unique hash of an operation using only a subset of the operation's
39
- * properties; will never use `data` and will guarantee the order of the object
40
- * so we don't rely on individual tools for that.
39
+ * properties; will never use `data` and will guarantee the order of the
40
+ * object so we don't rely on individual tools for that.
41
+ *
42
+ * If the operation already contains an ID, the current ID will be used
43
+ * instead, so that users can provide their own IDs.
41
44
  */
42
45
  const hashOp = (
43
46
  /**
44
- * The op to generate a hash from. We only use a subset of the op's properties
45
- * when creating the hash.
47
+ * The op to generate a hash from. We only use a subset of the op's
48
+ * properties when creating the hash.
46
49
  */
47
50
  op) => {
48
51
  var _a, _b, _c, _d;
52
+ /**
53
+ * If the op already has an ID, we don't need to generate one. This allows
54
+ * users to specify their own IDs.
55
+ */
56
+ if (op.id) {
57
+ return op;
58
+ }
49
59
  const obj = {
50
60
  parent: (_b = (_a = state.currentOp) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null,
51
61
  op: op.op,
@@ -133,20 +143,24 @@ const createStepTools = (client) => {
133
143
  *
134
144
  * Returns a promise that will resolve once the event has been sent.
135
145
  */
136
- sendEvent: createTool((nameOrPayload, maybePayload) => {
146
+ sendEvent: createTool((nameOrPayload, maybePayloadOrOpts, maybeOpts) => {
137
147
  var _a;
138
148
  let payloads;
139
- if (typeof nameOrPayload === "string") {
149
+ let id;
150
+ const hasNamePrefix = typeof nameOrPayload === "string";
151
+ if (hasNamePrefix) {
152
+ id = maybeOpts === null || maybeOpts === void 0 ? void 0 : maybeOpts.id;
140
153
  /**
141
154
  * Add our payloads and ensure they all have a name.
142
155
  */
143
- payloads = (Array.isArray(maybePayload)
144
- ? maybePayload
145
- : maybePayload
146
- ? [maybePayload]
156
+ payloads = (Array.isArray(maybePayloadOrOpts)
157
+ ? maybePayloadOrOpts
158
+ : maybePayloadOrOpts
159
+ ? [maybePayloadOrOpts]
147
160
  : []).map((payload) => (Object.assign(Object.assign({}, payload), { name: nameOrPayload })));
148
161
  }
149
162
  else {
163
+ id = maybePayloadOrOpts === null || maybePayloadOrOpts === void 0 ? void 0 : maybePayloadOrOpts.id;
150
164
  /**
151
165
  * Grab our payloads straight from the args.
152
166
  */
@@ -157,13 +171,14 @@ const createStepTools = (client) => {
157
171
  : []);
158
172
  }
159
173
  return {
174
+ id,
160
175
  op: types_1.StepOpCode.StepPlanned,
161
176
  name: ((_a = payloads[0]) === null || _a === void 0 ? void 0 : _a.name) || "sendEvent",
162
177
  };
163
178
  }, {
164
179
  nonStepExecuteInline: true,
165
- fn: (nameOrPayload, maybePayload) => {
166
- return client.send(nameOrPayload, maybePayload);
180
+ fn: (nameOrPayload, maybePayloadOrOpts) => {
181
+ return client.send(nameOrPayload, maybePayloadOrOpts);
167
182
  },
168
183
  }),
169
184
  /**
@@ -188,7 +203,9 @@ const createStepTools = (client) => {
188
203
  const matchOpts = {
189
204
  timeout: (0, strings_1.timeStr)(typeof opts === "string" ? opts : opts.timeout),
190
205
  };
206
+ let id;
191
207
  if (typeof opts !== "string") {
208
+ id = opts === null || opts === void 0 ? void 0 : opts.id;
192
209
  if (opts === null || opts === void 0 ? void 0 : opts.match) {
193
210
  matchOpts.if = `event.${opts.match} == async.${opts.match}`;
194
211
  }
@@ -197,6 +214,7 @@ const createStepTools = (client) => {
197
214
  }
198
215
  }
199
216
  return {
217
+ id,
200
218
  op: types_1.StepOpCode.WaitForEvent,
201
219
  name: event,
202
220
  opts: matchOpts,
@@ -214,8 +232,9 @@ const createStepTools = (client) => {
214
232
  * of the `run` tool, meaning you can return and reason about return data
215
233
  * for next steps.
216
234
  */
217
- run: createTool((name) => {
235
+ run: createTool((name, _fn, opts) => {
218
236
  return {
237
+ id: opts === null || opts === void 0 ? void 0 : opts.id,
219
238
  op: types_1.StepOpCode.StepPlanned,
220
239
  name,
221
240
  };
@@ -230,12 +249,13 @@ const createStepTools = (client) => {
230
249
  *
231
250
  * To wait until a particular date, use `sleepUntil` instead.
232
251
  */
233
- sleep: createTool((time) => {
252
+ sleep: createTool((time, opts) => {
234
253
  /**
235
254
  * The presence of this operation in the returned stack indicates that the
236
255
  * sleep is over and we should continue execution.
237
256
  */
238
257
  return {
258
+ id: opts === null || opts === void 0 ? void 0 : opts.id,
239
259
  op: types_1.StepOpCode.Sleep,
240
260
  name: (0, strings_1.timeStr)(time),
241
261
  };
@@ -246,7 +266,7 @@ const createStepTools = (client) => {
246
266
  * To wait for a particular amount of time from now, always use `sleep`
247
267
  * instead.
248
268
  */
249
- sleepUntil: createTool((time) => {
269
+ sleepUntil: createTool((time, opts) => {
250
270
  const date = typeof time === "string" ? new Date(time) : time;
251
271
  /**
252
272
  * The presence of this operation in the returned stack indicates that the
@@ -254,6 +274,7 @@ const createStepTools = (client) => {
254
274
  */
255
275
  try {
256
276
  return {
277
+ id: opts === null || opts === void 0 ? void 0 : opts.id,
257
278
  op: types_1.StepOpCode.Sleep,
258
279
  name: date.toISOString(),
259
280
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InngestStepTools.js","sourceRoot":"","sources":["../../src/components/InngestStepTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InngestStepTools.js","sourceRoot":"","sources":["../../src/components/InngestStepTools.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,15 @@
1
+ import { type SerializedError as CjsSerializedError } from "serialize-error-cjs";
1
2
  declare const SERIALIZED_KEY = "__serialized";
2
3
  declare const SERIALIZED_VALUE = true;
3
- export interface SerializedError {
4
+ export interface SerializedError extends Readonly<CjsSerializedError> {
4
5
  readonly [SERIALIZED_KEY]: typeof SERIALIZED_VALUE;
5
- readonly name: string;
6
- readonly message: string;
7
- readonly stack: string;
8
6
  }
9
7
  /**
10
- * Serialise an error to a plain object.
8
+ * Serialise an error to a serialized JSON string.
11
9
  *
12
10
  * Errors do not serialise nicely to JSON, so we use this function to convert
13
- * them to a plain object. Doing this is also non-trivial for some errors, so
14
- * we use the `serialize-error` package to do it for us.
11
+ * them to a serialized JSON string. Doing this is also non-trivial for some
12
+ * errors, so we use the `serialize-error` package to do it for us.
15
13
  *
16
14
  * See {@link https://www.npmjs.com/package/serialize-error}
17
15
  *
@@ -23,9 +21,10 @@ export interface SerializedError {
23
21
  */
24
22
  export declare const serializeError: (subject: unknown) => SerializedError;
25
23
  /**
26
- * Check if an object is a serialised error created by {@link serializeError}.
24
+ * Check if an object or a string is a serialised error created by
25
+ * {@link serializeError}.
27
26
  */
28
- export declare const isSerializedError: (value: unknown) => boolean;
27
+ export declare const isSerializedError: (value: unknown) => SerializedError | undefined;
29
28
  /**
30
29
  * Deserialise an error created by {@link serializeError}.
31
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,cAAc,iBAAiB,CAAC;AACtC,QAAA,MAAM,gBAAgB,OAAO,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,YAAa,OAAO,KAAG,eASjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,OAWlD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,YAAa,QAAQ,eAAe,CAAC,KAAG,KAwBpE,CAAC;AAEF,oBAAY,OAAO;IACjB,iCAAiC,sCAAsC;IACvE,gCAAgC,qCAAqC;IACrE,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,8FAUrB,WAAW,KAAG,MAqDhB,CAAC;AAEF,eAAO,MAAM,yBAAyB,SAAU,OAAO,WAatD,CAAC;AAEF,eAAO,MAAM,uBAAuB,UAMnC,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,IAAI,kBAAkB,EAC3C,MAAM,qBAAqB,CAAC;AAM7B,QAAA,MAAM,cAAc,iBAAiB,CAAC;AACtC,QAAA,MAAM,gBAAgB,OAAO,CAAC;AAkB9B,MAAM,WAAW,eAAgB,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IACnE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,gBAAgB,CAAC;CACpD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,YAAa,OAAO,KAAG,eAuDjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UACrB,OAAO,KACb,eAAe,GAAG,SAiCpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,YAAa,QAAQ,eAAe,CAAC,KAAG,KAwBpE,CAAC;AAEF,oBAAY,OAAO;IACjB,iCAAiC,sCAAsC;IACvE,gCAAgC,qCAAqC;IACrE,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,8FAUrB,WAAW,KAAG,MAqDhB,CAAC;AAEF,eAAO,MAAM,yBAAyB,SAAU,OAAO,WAatD,CAAC;AAEF,eAAO,MAAM,uBAAuB,UAMnC,CAAC"}
package/helpers/errors.js CHANGED
@@ -5,15 +5,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.fixEventKeyMissingSteps = exports.functionStoppedRunningErr = exports.prettyError = exports.ErrCode = exports.deserializeError = exports.isSerializedError = exports.serializeError = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
+ const json_stringify_safe_1 = __importDefault(require("json-stringify-safe"));
8
9
  const serialize_error_cjs_1 = require("serialize-error-cjs");
10
+ const zod_1 = require("zod");
11
+ const NonRetriableError_1 = require("../components/NonRetriableError");
9
12
  const SERIALIZED_KEY = "__serialized";
10
13
  const SERIALIZED_VALUE = true;
11
14
  /**
12
- * Serialise an error to a plain object.
15
+ * Add first-class support for certain errors that we control, in addition to
16
+ * built-in errors such as `TypeError`.
17
+ *
18
+ * Adding these allows these non-standard errors to be correctly serialized,
19
+ * sent to Inngest, then deserialized back into the correct error type for users
20
+ * to react to correctly.
21
+ *
22
+ * Note that these errors only support `message?: string | undefined` as the
23
+ * input; more custom errors are not supported with this current strategy.
24
+ */
25
+ serialize_error_cjs_1.errorConstructors.set("NonRetriableError", NonRetriableError_1.NonRetriableError);
26
+ /**
27
+ * Serialise an error to a serialized JSON string.
13
28
  *
14
29
  * Errors do not serialise nicely to JSON, so we use this function to convert
15
- * them to a plain object. Doing this is also non-trivial for some errors, so
16
- * we use the `serialize-error` package to do it for us.
30
+ * them to a serialized JSON string. Doing this is also non-trivial for some
31
+ * errors, so we use the `serialize-error` package to do it for us.
17
32
  *
18
33
  * See {@link https://www.npmjs.com/package/serialize-error}
19
34
  *
@@ -24,24 +39,87 @@ const SERIALIZED_VALUE = true;
24
39
  * Will not reserialise existing serialised errors.
25
40
  */
26
41
  const serializeError = (subject) => {
27
- if ((0, exports.isSerializedError)(subject)) {
28
- return subject;
42
+ try {
43
+ // Try to understand if this is already done.
44
+ // Will handle stringified errors.
45
+ const existingSerializedError = (0, exports.isSerializedError)(subject);
46
+ if (existingSerializedError) {
47
+ return existingSerializedError;
48
+ }
49
+ if (typeof subject === "object" && subject !== null) {
50
+ // Is an object, so let's try and serialize it.
51
+ const serializedErr = (0, serialize_error_cjs_1.serializeError)(subject);
52
+ // Serialization can succeed but assign no name or message, so we'll
53
+ // map over the result here to ensure we have everything.
54
+ // We'll just stringify the entire subject for the message, as this at
55
+ // least provides some context for the user.
56
+ return {
57
+ name: serializedErr.name || "Error",
58
+ message: serializedErr.message ||
59
+ (0, json_stringify_safe_1.default)(subject) ||
60
+ "Unknown error; error serialization could not find a message.",
61
+ stack: serializedErr.stack || "",
62
+ [SERIALIZED_KEY]: SERIALIZED_VALUE,
63
+ };
64
+ }
65
+ // If it's not an object, it's hard to parse this as an Error. In this case,
66
+ // we'll throw an error to start attempting backup strategies.
67
+ throw new Error("Error is not an object; strange throw value.");
68
+ }
69
+ catch (err) {
70
+ try {
71
+ // If serialization fails, fall back to a regular Error and use the
72
+ // original object as the message for an Error. We don't know what this
73
+ // object looks like, so we can't do anything else with it.
74
+ return Object.assign(Object.assign({}, (0, exports.serializeError)(new Error(typeof subject === "string" ? subject : (0, json_stringify_safe_1.default)(subject)))), { [SERIALIZED_KEY]: SERIALIZED_VALUE });
75
+ }
76
+ catch (err) {
77
+ // If this failed, then stringifying the object also failed, so we'll just
78
+ // return a completely generic error.
79
+ // Failing to stringify the object is very unlikely.
80
+ return {
81
+ name: "Could not serialize source error",
82
+ message: "Serializing the source error failed.",
83
+ stack: "",
84
+ [SERIALIZED_KEY]: SERIALIZED_VALUE,
85
+ };
86
+ }
29
87
  }
30
- return Object.assign(Object.assign({}, (0, serialize_error_cjs_1.serializeError)(subject)), { [SERIALIZED_KEY]: SERIALIZED_VALUE });
31
88
  };
32
89
  exports.serializeError = serializeError;
33
90
  /**
34
- * Check if an object is a serialised error created by {@link serializeError}.
91
+ * Check if an object or a string is a serialised error created by
92
+ * {@link serializeError}.
35
93
  */
36
94
  const isSerializedError = (value) => {
37
95
  try {
38
- return (Object.prototype.hasOwnProperty.call(value, SERIALIZED_KEY) &&
39
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
40
- value[SERIALIZED_KEY] ===
41
- SERIALIZED_VALUE);
96
+ if (typeof value === "string") {
97
+ const parsed = zod_1.z
98
+ .object({
99
+ [SERIALIZED_KEY]: zod_1.z.literal(SERIALIZED_VALUE),
100
+ name: zod_1.z.enum([...serialize_error_cjs_1.errorConstructors.keys()]),
101
+ message: zod_1.z.string(),
102
+ stack: zod_1.z.string(),
103
+ })
104
+ .passthrough()
105
+ .safeParse(JSON.parse(value));
106
+ if (parsed.success) {
107
+ return parsed.data;
108
+ }
109
+ }
110
+ if (typeof value === "object" && value !== null) {
111
+ const objIsSerializedErr = Object.prototype.hasOwnProperty.call(value, SERIALIZED_KEY) &&
112
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
113
+ value[SERIALIZED_KEY] ===
114
+ SERIALIZED_VALUE;
115
+ if (objIsSerializedErr) {
116
+ return value;
117
+ }
118
+ }
42
119
  }
43
120
  catch (_a) {
44
- return false;
121
+ // no-op; we'll return undefined if parsing failed, as it isn't a serialized
122
+ // error
45
123
  }
46
124
  };
47
125
  exports.isSerializedError = isSerializedError;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":"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"}