inngest 2.7.1 → 3.0.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 +52 -0
- package/api/api.js +4 -4
- package/api/schema.d.ts +54 -6
- package/api/schema.d.ts.map +1 -1
- package/api/schema.js +17 -7
- package/api/schema.js.map +1 -1
- package/cloudflare.d.ts +6 -3
- package/cloudflare.d.ts.map +1 -1
- package/cloudflare.js +19 -41
- package/cloudflare.js.map +1 -1
- package/components/EventSchemas.d.ts +1 -12
- package/components/EventSchemas.d.ts.map +1 -1
- package/components/EventSchemas.js.map +1 -1
- package/components/Inngest.d.ts +44 -57
- package/components/Inngest.d.ts.map +1 -1
- package/components/Inngest.js +91 -59
- package/components/Inngest.js.map +1 -1
- package/components/InngestCommHandler.d.ts +156 -198
- package/components/InngestCommHandler.d.ts.map +1 -1
- package/components/InngestCommHandler.js +311 -305
- package/components/InngestCommHandler.js.map +1 -1
- package/components/InngestFunction.d.ts +9 -82
- package/components/InngestFunction.d.ts.map +1 -1
- package/components/InngestFunction.js +21 -413
- package/components/InngestFunction.js.map +1 -1
- package/components/InngestMiddleware.d.ts +37 -26
- package/components/InngestMiddleware.d.ts.map +1 -1
- package/components/InngestMiddleware.js +1 -3
- package/components/InngestMiddleware.js.map +1 -1
- package/components/InngestStepTools.d.ts +69 -37
- package/components/InngestStepTools.d.ts.map +1 -1
- package/components/InngestStepTools.js +34 -95
- package/components/InngestStepTools.js.map +1 -1
- package/components/NonRetriableError.d.ts.map +1 -1
- package/components/NonRetriableError.js +1 -0
- package/components/NonRetriableError.js.map +1 -1
- package/components/RetryAfterError.d.ts +38 -0
- package/components/RetryAfterError.d.ts.map +1 -0
- package/components/RetryAfterError.js +42 -0
- package/components/RetryAfterError.js.map +1 -0
- package/components/execution/InngestExecution.d.ts +72 -0
- package/components/execution/InngestExecution.d.ts.map +1 -0
- package/components/execution/InngestExecution.js +23 -0
- package/components/execution/InngestExecution.js.map +1 -0
- package/components/execution/v0.d.ts +114 -0
- package/components/execution/v0.d.ts.map +1 -0
- package/components/execution/v0.js +394 -0
- package/components/execution/v0.js.map +1 -0
- package/components/execution/v1.d.ts +88 -0
- package/components/execution/v1.d.ts.map +1 -0
- package/components/execution/v1.js +673 -0
- package/components/execution/v1.js.map +1 -0
- package/deno/fresh.d.ts +3 -3
- package/deno/fresh.d.ts.map +1 -1
- package/deno/fresh.js +17 -38
- package/deno/fresh.js.map +1 -1
- package/digitalocean.d.ts +5 -5
- package/digitalocean.d.ts.map +1 -1
- package/digitalocean.js +14 -46
- package/digitalocean.js.map +1 -1
- package/edge.d.ts +5 -5
- package/edge.d.ts.map +1 -1
- package/edge.js +16 -38
- package/edge.js.map +1 -1
- package/express.d.ts +7 -3
- package/express.d.ts.map +1 -1
- package/express.js +38 -45
- package/express.js.map +1 -1
- package/fastify.d.ts +8 -3
- package/fastify.d.ts.map +1 -1
- package/fastify.js +37 -47
- package/fastify.js.map +1 -1
- package/h3.d.ts +4 -3
- package/h3.d.ts.map +1 -1
- package/h3.js +18 -45
- package/h3.js.map +1 -1
- package/helpers/ServerTiming.d.ts.map +1 -1
- package/helpers/ServerTiming.js +2 -1
- package/helpers/ServerTiming.js.map +1 -1
- package/helpers/consts.d.ts +23 -9
- package/helpers/consts.d.ts.map +1 -1
- package/helpers/consts.js +31 -13
- package/helpers/consts.js.map +1 -1
- package/helpers/devserver.d.ts +0 -34
- package/helpers/devserver.d.ts.map +1 -1
- package/helpers/devserver.js.map +1 -1
- package/helpers/env.d.ts +14 -6
- package/helpers/env.d.ts.map +1 -1
- package/helpers/env.js +4 -4
- package/helpers/env.js.map +1 -1
- package/helpers/errors.d.ts +37 -2
- package/helpers/errors.d.ts.map +1 -1
- package/helpers/errors.js +66 -15
- package/helpers/errors.js.map +1 -1
- package/helpers/functions.d.ts +52 -5
- package/helpers/functions.d.ts.map +1 -1
- package/helpers/functions.js +121 -22
- package/helpers/functions.js.map +1 -1
- package/helpers/promises.d.ts +45 -0
- package/helpers/promises.d.ts.map +1 -1
- package/helpers/promises.js +69 -1
- package/helpers/promises.js.map +1 -1
- package/helpers/strings.d.ts +6 -1
- package/helpers/strings.d.ts.map +1 -1
- package/helpers/strings.js +7 -2
- package/helpers/strings.js.map +1 -1
- package/helpers/types.d.ts +5 -17
- package/helpers/types.d.ts.map +1 -1
- package/index.d.ts +4 -2
- package/index.d.ts.map +1 -1
- package/index.js +5 -1
- package/index.js.map +1 -1
- package/lambda.d.ts +10 -8
- package/lambda.d.ts.map +1 -1
- package/lambda.js +48 -72
- package/lambda.js.map +1 -1
- package/next.d.ts +11 -5
- package/next.d.ts.map +1 -1
- package/next.js +84 -103
- package/next.js.map +1 -1
- package/nuxt.d.ts +3 -3
- package/nuxt.d.ts.map +1 -1
- package/nuxt.js +5 -6
- package/nuxt.js.map +1 -1
- package/package.json +5 -4
- package/redwood.d.ts +4 -3
- package/redwood.d.ts.map +1 -1
- package/redwood.js +22 -48
- package/redwood.js.map +1 -1
- package/remix.d.ts +7 -5
- package/remix.d.ts.map +1 -1
- package/remix.js +15 -36
- package/remix.js.map +1 -1
- package/types.d.ts +150 -218
- package/types.d.ts.map +1 -1
- package/types.js +38 -45
- package/types.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/helpers/scalar.d.ts +0 -8
- package/helpers/scalar.d.ts.map +0 -1
- package/helpers/scalar.js +0 -19
- package/helpers/scalar.js.map +0 -1
package/components/Inngest.js
CHANGED
|
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
};
|
|
7
7
|
var _Inngest_instances, _Inngest_getResponseError;
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.Inngest = void 0;
|
|
9
|
+
exports.builtInMiddleware = exports.Inngest = void 0;
|
|
10
10
|
const api_1 = require("../api/api");
|
|
11
11
|
const consts_1 = require("../helpers/consts");
|
|
12
12
|
const devserver_1 = require("../helpers/devserver");
|
|
@@ -14,6 +14,7 @@ const env_1 = require("../helpers/env");
|
|
|
14
14
|
const errors_1 = require("../helpers/errors");
|
|
15
15
|
const strings_1 = require("../helpers/strings");
|
|
16
16
|
const logger_1 = require("../middleware/logger");
|
|
17
|
+
const types_1 = require("../types");
|
|
17
18
|
const InngestFunction_1 = require("./InngestFunction");
|
|
18
19
|
const InngestMiddleware_1 = require("./InngestMiddleware");
|
|
19
20
|
/**
|
|
@@ -59,7 +60,7 @@ class Inngest {
|
|
|
59
60
|
* });
|
|
60
61
|
* ```
|
|
61
62
|
*/
|
|
62
|
-
constructor({
|
|
63
|
+
constructor({ id, eventKey, baseUrl, fetch, env, logger = new logger_1.DefaultLogger(), middleware, }) {
|
|
63
64
|
_Inngest_instances.add(this);
|
|
64
65
|
/**
|
|
65
66
|
* Inngest event key, used to send events to Inngest Cloud.
|
|
@@ -68,14 +69,14 @@ class Inngest {
|
|
|
68
69
|
/**
|
|
69
70
|
* The absolute URL of the Inngest Cloud API.
|
|
70
71
|
*/
|
|
71
|
-
this.
|
|
72
|
-
if (!
|
|
72
|
+
this.sendEventUrl = new URL(`e/${this.eventKey}`, consts_1.defaultInngestEventBaseUrl);
|
|
73
|
+
if (!id) {
|
|
73
74
|
// TODO PrettyError
|
|
74
|
-
throw new Error("
|
|
75
|
+
throw new Error("An `id` must be passed to create an Inngest instance.");
|
|
75
76
|
}
|
|
76
|
-
this.
|
|
77
|
-
this.
|
|
78
|
-
this.setEventKey(eventKey || (0, env_1.processEnv)(consts_1.envKeys.
|
|
77
|
+
this.id = id;
|
|
78
|
+
this.baseUrl = baseUrl || (0, env_1.processEnv)(consts_1.envKeys.InngestBaseUrl);
|
|
79
|
+
this.setEventKey(eventKey || (0, env_1.processEnv)(consts_1.envKeys.InngestEventKey) || "");
|
|
79
80
|
if (!this.eventKey) {
|
|
80
81
|
console.warn((0, errors_1.prettyError)({
|
|
81
82
|
type: "warn",
|
|
@@ -90,15 +91,14 @@ class Inngest {
|
|
|
90
91
|
inngestEnv: env,
|
|
91
92
|
});
|
|
92
93
|
this.fetch = (0, env_1.getFetch)(fetch);
|
|
93
|
-
const signingKey = (0, env_1.processEnv)(consts_1.envKeys.SigningKey) || "";
|
|
94
94
|
this.inngestApi = new api_1.InngestApi({
|
|
95
|
-
baseUrl:
|
|
96
|
-
signingKey:
|
|
95
|
+
baseUrl: this.baseUrl || consts_1.defaultInngestBaseUrl,
|
|
96
|
+
signingKey: (0, env_1.processEnv)(consts_1.envKeys.InngestSigningKey) || "",
|
|
97
97
|
fetch: this.fetch,
|
|
98
98
|
});
|
|
99
99
|
this.logger = logger;
|
|
100
100
|
this.middleware = this.initializeMiddleware([
|
|
101
|
-
...builtInMiddleware,
|
|
101
|
+
...exports.builtInMiddleware,
|
|
102
102
|
...(middleware || []),
|
|
103
103
|
]);
|
|
104
104
|
}
|
|
@@ -134,7 +134,7 @@ class Inngest {
|
|
|
134
134
|
*/
|
|
135
135
|
eventKey) {
|
|
136
136
|
this.eventKey = eventKey;
|
|
137
|
-
this.
|
|
137
|
+
this.sendEventUrl = new URL(`e/${this.eventKey}`, this.baseUrl || consts_1.defaultInngestEventBaseUrl);
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
140
140
|
* Send one or many events to Inngest. Takes an entire payload (including
|
|
@@ -164,13 +164,15 @@ class Inngest {
|
|
|
164
164
|
* ```
|
|
165
165
|
*/
|
|
166
166
|
async send(payload) {
|
|
167
|
-
var _a
|
|
167
|
+
var _a;
|
|
168
168
|
const hooks = await (0, InngestMiddleware_1.getHookStack)(this.middleware, "onSendEvent", undefined, {
|
|
169
169
|
transformInput: (prev, output) => {
|
|
170
170
|
return Object.assign(Object.assign({}, prev), output);
|
|
171
171
|
},
|
|
172
|
-
transformOutput
|
|
173
|
-
return
|
|
172
|
+
transformOutput(prev, output) {
|
|
173
|
+
return {
|
|
174
|
+
result: Object.assign(Object.assign({}, prev.result), output === null || output === void 0 ? void 0 : output.result),
|
|
175
|
+
};
|
|
174
176
|
},
|
|
175
177
|
});
|
|
176
178
|
if (!this.eventKey) {
|
|
@@ -200,22 +202,28 @@ class Inngest {
|
|
|
200
202
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
201
203
|
data: p.data || {} });
|
|
202
204
|
});
|
|
205
|
+
const applyHookToOutput = async (arg) => {
|
|
206
|
+
var _a;
|
|
207
|
+
const hookOutput = await ((_a = hooks.transformOutput) === null || _a === void 0 ? void 0 : _a.call(hooks, arg));
|
|
208
|
+
return Object.assign(Object.assign({}, arg.result), hookOutput === null || hookOutput === void 0 ? void 0 : hookOutput.result);
|
|
209
|
+
};
|
|
203
210
|
/**
|
|
204
211
|
* It can be valid for a user to send an empty list of events; if this
|
|
205
212
|
* happens, show a warning that this may not be intended, but don't throw.
|
|
206
213
|
*/
|
|
207
214
|
if (!payloads.length) {
|
|
208
|
-
|
|
215
|
+
console.warn((0, errors_1.prettyError)({
|
|
209
216
|
type: "warn",
|
|
210
217
|
whatHappened: "`inngest.send()` called with no events",
|
|
211
218
|
reassurance: "This is not an error, but you may not have intended to do this.",
|
|
212
219
|
consequences: "The returned promise will resolve, but no events have been sent to Inngest.",
|
|
213
220
|
stack: true,
|
|
214
221
|
}));
|
|
222
|
+
return await applyHookToOutput({ result: { ids: [] } });
|
|
215
223
|
}
|
|
216
224
|
// When sending events, check if the dev server is available. If so, use the
|
|
217
225
|
// dev server.
|
|
218
|
-
let url = this.
|
|
226
|
+
let url = this.sendEventUrl.href;
|
|
219
227
|
if (!(0, env_1.skipDevServer)()) {
|
|
220
228
|
const host = (0, env_1.devServerHost)();
|
|
221
229
|
// If the dev server host env var has been set we always want to use
|
|
@@ -230,16 +238,36 @@ class Inngest {
|
|
|
230
238
|
body: (0, strings_1.stringify)(payloads),
|
|
231
239
|
headers: Object.assign({}, this.headers),
|
|
232
240
|
});
|
|
233
|
-
|
|
234
|
-
|
|
241
|
+
let body;
|
|
242
|
+
try {
|
|
243
|
+
const rawBody = await response.json();
|
|
244
|
+
body = await types_1.sendEventResponseSchema.parseAsync(rawBody);
|
|
245
|
+
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
throw await __classPrivateFieldGet(this, _Inngest_instances, "m", _Inngest_getResponseError).call(this, response);
|
|
235
248
|
}
|
|
236
|
-
|
|
249
|
+
if (body.status / 100 !== 2 || body.error) {
|
|
250
|
+
throw await __classPrivateFieldGet(this, _Inngest_instances, "m", _Inngest_getResponseError).call(this, response, body.error);
|
|
251
|
+
}
|
|
252
|
+
return await applyHookToOutput({ result: { ids: body.ids } });
|
|
237
253
|
}
|
|
238
|
-
createFunction(
|
|
239
|
-
|
|
254
|
+
createFunction(options, trigger, handler) {
|
|
255
|
+
let sanitizedOpts;
|
|
256
|
+
if (typeof options === "string") {
|
|
257
|
+
// v2 -> v3 runtime migraton warning
|
|
258
|
+
console.warn(`${consts_1.logPrefix} InngestFunction: Creating a function with a string as the first argument has been deprecated in v3; pass an object instead. See https://www.inngest.com/docs/sdk/migration`);
|
|
259
|
+
sanitizedOpts = { id: options };
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
sanitizedOpts = options;
|
|
263
|
+
}
|
|
240
264
|
let sanitizedTrigger;
|
|
241
265
|
if (typeof trigger === "string") {
|
|
242
|
-
|
|
266
|
+
// v2 -> v3 migration warning
|
|
267
|
+
console.warn(`${consts_1.logPrefix} InngestFunction: Creating a function with a string as the second argument has been deprecated in v3; pass an object instead. See https://www.inngest.com/docs/sdk/migration`);
|
|
268
|
+
sanitizedTrigger = {
|
|
269
|
+
event: trigger,
|
|
270
|
+
};
|
|
243
271
|
}
|
|
244
272
|
else if (trigger.event) {
|
|
245
273
|
sanitizedTrigger = {
|
|
@@ -250,9 +278,11 @@ class Inngest {
|
|
|
250
278
|
else {
|
|
251
279
|
sanitizedTrigger = trigger;
|
|
252
280
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
281
|
+
if (Object.prototype.hasOwnProperty.call(sanitizedOpts, "fns")) {
|
|
282
|
+
// v2 -> v3 migration warning
|
|
283
|
+
console.warn(`${consts_1.logPrefix} InngestFunction: \`fns\` option has been deprecated in v3; use \`middleware\` instead. See https://www.inngest.com/docs/sdk/migration`);
|
|
284
|
+
}
|
|
285
|
+
return new InngestFunction_1.InngestFunction(this, sanitizedOpts, sanitizedTrigger, handler);
|
|
256
286
|
}
|
|
257
287
|
}
|
|
258
288
|
exports.Inngest = Inngest;
|
|
@@ -260,37 +290,39 @@ _Inngest_instances = new WeakSet(), _Inngest_getResponseError =
|
|
|
260
290
|
/**
|
|
261
291
|
* Given a response from Inngest, relay the error to the caller.
|
|
262
292
|
*/
|
|
263
|
-
async function _Inngest_getResponseError(response) {
|
|
264
|
-
let errorMessage =
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
293
|
+
async function _Inngest_getResponseError(response, foundErr = "Unknown error") {
|
|
294
|
+
let errorMessage = foundErr;
|
|
295
|
+
if (errorMessage === "Unknown error") {
|
|
296
|
+
switch (response.status) {
|
|
297
|
+
case 401:
|
|
298
|
+
errorMessage = "Event key Not Found";
|
|
299
|
+
break;
|
|
300
|
+
case 400:
|
|
301
|
+
errorMessage = "Cannot process event payload";
|
|
302
|
+
break;
|
|
303
|
+
case 403:
|
|
304
|
+
errorMessage = "Forbidden";
|
|
305
|
+
break;
|
|
306
|
+
case 404:
|
|
307
|
+
errorMessage = "Event key not found";
|
|
308
|
+
break;
|
|
309
|
+
case 406:
|
|
310
|
+
errorMessage = `${JSON.stringify(await response.json())}`;
|
|
311
|
+
break;
|
|
312
|
+
case 409:
|
|
313
|
+
case 412:
|
|
314
|
+
errorMessage = "Event transformation failed";
|
|
315
|
+
break;
|
|
316
|
+
case 413:
|
|
317
|
+
errorMessage = "Event payload too large";
|
|
318
|
+
break;
|
|
319
|
+
case 500:
|
|
320
|
+
errorMessage = "Internal server error";
|
|
321
|
+
break;
|
|
322
|
+
default:
|
|
323
|
+
errorMessage = await response.text();
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
294
326
|
}
|
|
295
327
|
return new Error(`Inngest API Error: ${response.status} ${errorMessage}`);
|
|
296
328
|
};
|
|
@@ -305,7 +337,7 @@ async function _Inngest_getResponseError(response) {
|
|
|
305
337
|
* If this is moved, please ensure that using this package in another project
|
|
306
338
|
* can correctly access comments on mutated input and output.
|
|
307
339
|
*/
|
|
308
|
-
|
|
340
|
+
exports.builtInMiddleware = ((m) => m)([
|
|
309
341
|
new InngestMiddleware_1.InngestMiddleware({
|
|
310
342
|
name: "Inngest: Logger",
|
|
311
343
|
init({ client }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inngest.js","sourceRoot":"","sources":["../../src/components/Inngest.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"Inngest.js","sourceRoot":"","sources":["../../src/components/Inngest.ts"],"names":[],"mappings":"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"}
|