inngest 0.8.6-beta.1 → 0.8.6

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/cloudflare.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ServeHandler } from "./components/InngestCommHandler";
1
+ import { ServeHandler } from "./express";
2
2
  /**
3
3
  * In Cloudflare, serve and register any declared functions with Inngest, making
4
4
  * them available to be triggered by events.
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACb,MAAM,iCAAiC,CAAC;AAGzC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,YAmEnB,CAAC"}
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EACb,MAAM,WAAW,CAAC;AAqHnB;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,YAOnB,CAAC"}
package/cloudflare.js CHANGED
@@ -1,8 +1,87 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.serve = void 0;
4
- const InngestCommHandler_1 = require("./components/InngestCommHandler");
4
+ const zod_1 = require("zod");
5
+ const express_1 = require("./express");
5
6
  const consts_1 = require("./helpers/consts");
7
+ const devserver_1 = require("./helpers/devserver");
8
+ const landing_1 = require("./landing");
9
+ class CloudflareCommHandler extends express_1.InngestCommHandler {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.frameworkName = "cloudflare-pages";
13
+ }
14
+ createHandler() {
15
+ return async ({ request: req, env, }) => {
16
+ const headers = { "x-inngest-sdk": this.sdkHeader.join("") };
17
+ let reqUrl;
18
+ let isIntrospection;
19
+ try {
20
+ reqUrl = this.reqUrl(req.url, `https://${req.headers.get("host") || ""}`);
21
+ isIntrospection = reqUrl.searchParams.has(consts_1.queryKeys.Introspect);
22
+ reqUrl.searchParams.delete(consts_1.queryKeys.Introspect);
23
+ }
24
+ catch (err) {
25
+ return new Response(JSON.stringify(err), {
26
+ status: 500,
27
+ headers,
28
+ });
29
+ }
30
+ if (!this.signingKey && env[consts_1.envKeys.SigningKey]) {
31
+ this.signingKey = env[consts_1.envKeys.SigningKey];
32
+ }
33
+ this._isProd = env.CF_PAGES === "1" || env.ENVIRONMENT === "production";
34
+ switch (req.method) {
35
+ case "GET": {
36
+ const showLandingPage = this.shouldShowLandingPage(env[consts_1.envKeys.LandingPage]);
37
+ if (this._isProd || !showLandingPage)
38
+ break;
39
+ if (isIntrospection) {
40
+ const introspection = Object.assign(Object.assign({}, this.registerBody(reqUrl)), { devServerURL: (0, devserver_1.devServerUrl)(env[consts_1.envKeys.DevServerUrl]).href, hasSigningKey: Boolean(this.signingKey) });
41
+ return new Response(JSON.stringify(introspection), {
42
+ status: 200,
43
+ headers,
44
+ });
45
+ }
46
+ // Grab landing page and serve
47
+ return new Response(landing_1.landing, {
48
+ status: 200,
49
+ headers: Object.assign(Object.assign({}, headers), { "content-type": "text/html; charset=utf-8" }),
50
+ });
51
+ }
52
+ case "PUT": {
53
+ // Push config to Inngest.
54
+ const { status, message } = await this.register(reqUrl, env[consts_1.envKeys.DevServerUrl]);
55
+ return new Response(JSON.stringify({ message }), { status, headers });
56
+ }
57
+ case "POST": {
58
+ // Inngest is trying to run a step; confirm signed and run.
59
+ const { fnId, stepId } = zod_1.z
60
+ .object({
61
+ fnId: zod_1.z.string().min(1),
62
+ stepId: zod_1.z.string().min(1),
63
+ })
64
+ .parse({
65
+ fnId: reqUrl.searchParams.get(consts_1.queryKeys.FnId),
66
+ stepId: reqUrl.searchParams.get(consts_1.queryKeys.StepId),
67
+ });
68
+ const stepRes = await this.runStep(fnId, stepId, await req.json());
69
+ if (stepRes.status === 500) {
70
+ return new Response(JSON.stringify(stepRes.error), {
71
+ status: stepRes.status,
72
+ headers,
73
+ });
74
+ }
75
+ return new Response(JSON.stringify(stepRes.body), {
76
+ status: stepRes.status,
77
+ headers,
78
+ });
79
+ }
80
+ }
81
+ return new Response(null, { status: 405, headers });
82
+ };
83
+ }
84
+ }
6
85
  /**
7
86
  * In Cloudflare, serve and register any declared functions with Inngest, making
8
87
  * them available to be triggered by events.
@@ -10,54 +89,7 @@ const consts_1 = require("./helpers/consts");
10
89
  * @public
11
90
  */
12
91
  const serve = (nameOrInngest, fns, opts) => {
13
- const handler = new InngestCommHandler_1.InngestCommHandler("cloudflare-pages", nameOrInngest, fns, Object.assign({
14
- /**
15
- * Assume that we want to override the `fetch` implementation with the one
16
- * globally available in the Cloudflare env. Specifying it here will
17
- * ensure we avoid trying to load a Node-compatible version later.
18
- */
19
- fetch: fetch.bind(globalThis) }, opts), ({ request: req, env, }) => {
20
- const url = new URL(req.url, `https://${req.headers.get("host") || ""}`);
21
- const isProduction = env.CF_PAGES === "1" || env.ENVIRONMENT === "production";
22
- return {
23
- view: () => {
24
- if (req.method === "GET") {
25
- return {
26
- url,
27
- env,
28
- isIntrospection: url.searchParams.has(consts_1.queryKeys.Introspect),
29
- isProduction,
30
- };
31
- }
32
- },
33
- register: () => {
34
- if (req.method === "PUT") {
35
- return {
36
- env,
37
- url,
38
- isProduction,
39
- };
40
- }
41
- },
42
- run: async () => {
43
- if (req.method === "POST") {
44
- return {
45
- fnId: url.searchParams.get(consts_1.queryKeys.FnId),
46
- data: (await req.json()),
47
- env,
48
- isProduction,
49
- url,
50
- };
51
- }
52
- },
53
- };
54
- }, ({ body, status, headers }) => {
55
- return new Response(body, {
56
- status,
57
- headers,
58
- });
59
- });
60
- return handler.createHandler();
92
+ return (0, express_1.serve)(new CloudflareCommHandler(nameOrInngest, fns, Object.assign({ fetch: fetch.bind(globalThis) }, opts)));
61
93
  };
62
94
  exports.serve = serve;
63
95
  //# sourceMappingURL=cloudflare.js.map
package/cloudflare.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":";;;AAAA,wEAGyC;AACzC,6CAA6C;AAE7C;;;;;GAKG;AACI,MAAM,KAAK,GAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC9D,MAAM,OAAO,GAAG,IAAI,uCAAkB,CACpC,kBAAkB,EAClB,aAAa,EACb,GAAG;QAED;;;;WAIG;QACH,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAC1B,IAAI,GAET,CAAC,EACC,OAAO,EAAE,GAAG,EACZ,GAAG,GAIJ,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,YAAY,GAChB,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,YAAY,CAAC;QAE3D,OAAO;YACL,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE;oBACxB,OAAO;wBACL,GAAG;wBACH,GAAG;wBACH,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAS,CAAC,UAAU,CAAC;wBAC3D,YAAY;qBACb,CAAC;iBACH;YACH,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE;oBACxB,OAAO;wBACL,GAAG;wBACH,GAAG;wBACH,YAAY;qBACb,CAAC;iBACH;YACH,CAAC;YACD,GAAG,EAAE,KAAK,IAAI,EAAE;gBACd,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;oBACzB,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAS,CAAC,IAAI,CAAW;wBACpD,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB;wBAC/C,GAAG;wBACH,YAAY;wBACZ,GAAG;qBACJ,CAAC;iBACH;YACH,CAAC;SACF,CAAC;IACJ,CAAC,EACD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAY,EAAE;QACtC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;YACxB,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC;AACjC,CAAC,CAAC;AAnEW,QAAA,KAAK,SAmEhB"}
1
+ {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ class Inngest {
71
71
  eventKey || ((0, env_1.hasProcessEnv)() ? process.env[consts_1.envKeys.EventKey] || "" : "");
72
72
  this.inngestBaseUrl = new URL(inngestBaseUrl);
73
73
  this.inngestApiUrl = new URL(`e/${this.eventKey}`, this.inngestBaseUrl);
74
- if (!eventKey) {
74
+ if (!this.eventKey) {
75
75
  throw new Error("An event key must be passed to create an Inngest instance.");
76
76
  }
77
77
  this.headers = {
@@ -1 +1 @@
1
- {"version":3,"file":"Inngest.js","sourceRoot":"","sources":["../../src/components/Inngest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Inngest.js","sourceRoot":"","sources":["../../src/components/Inngest.ts"],"names":[],"mappings":"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"}
package/express.d.ts CHANGED
@@ -1,9 +1,129 @@
1
- import { ServeHandler } from "./components/InngestCommHandler";
1
+ import { Inngest } from "./components/Inngest";
2
+ import { InngestFunction } from "./components/InngestFunction";
3
+ import type { FunctionConfig, RegisterOptions, RegisterRequest, StepRunResponse } from "./types";
4
+ /**
5
+ * A handler for serving Inngest functions. This type should be used
6
+ * whenever a handler for a new framework is being added to enforce that the
7
+ * registration process is always the same for the user.
8
+ *
9
+ * @public
10
+ */
11
+ export declare type ServeHandler = (
12
+ /**
13
+ * The name of this app, used to scope and group Inngest functions, or
14
+ * the `Inngest` instance used to declare all functions.
15
+ */
16
+ nameOrInngest: string | Inngest<any>,
17
+ /**
18
+ * An array of the functions to serve and register with Inngest.
19
+ */
20
+ functions: InngestFunction<any>[],
21
+ /**
22
+ * A set of options to further configure the registration of Inngest
23
+ * functions.
24
+ */
25
+ opts?: RegisterOptions) => any;
2
26
  /**
3
27
  * Serve and register any declared functions with Inngest, making them available
4
28
  * to be triggered by events.
5
29
  *
30
+ * Can either take an `Inngest` instance and a signing key, or can be used to
31
+ * create custom handlers by passing in an `InngestCommHandler`.
32
+ *
33
+ * @public
34
+ */
35
+ export declare const serve: (...args: Parameters<ServeHandler> | [commHandler: InngestCommHandler]) => any;
36
+ /**
37
+ * TODO Instead of `createHandler`, expose `createRequest` and `handleResponse`
38
+ *
39
+ * Overriding `createHandler` requires that we always remember crucial steps,
40
+ * e.g. validating signatures, handling POST, etc.
41
+ *
42
+ * We should instead require that new comm handlers override only two functions:
43
+ *
44
+ * `createRequest()`
45
+ * This is the function that is exposed. It must return a valid `HandlerRequest`
46
+ *
47
+ * `handleResponse()`
48
+ * The input is a `StepResponse`, and output can be anything needed for the
49
+ * platform
50
+ *
51
+ * This needs to also account for the ability to validate signatures etc.
52
+ *
6
53
  * @public
7
54
  */
8
- export declare const serve: ServeHandler;
55
+ export declare class InngestCommHandler {
56
+ name: string;
57
+ /**
58
+ * The URL of the Inngest function registration endpoint.
59
+ */
60
+ private readonly inngestRegisterUrl;
61
+ protected readonly frameworkName: string;
62
+ protected signingKey: string | undefined;
63
+ /**
64
+ * A property that can be set to indicate whether or not we believe we are in
65
+ * production mode.
66
+ *
67
+ * Should be set every time a request is received.
68
+ */
69
+ protected _isProd: boolean;
70
+ private readonly headers;
71
+ private readonly fetch;
72
+ /**
73
+ * Whether we should show the SDK Landing Page.
74
+ *
75
+ * This purposefully does not take in to account any environment variables, as
76
+ * accessing them safely is platform-specific.
77
+ */
78
+ protected readonly showLandingPage: boolean | undefined;
79
+ protected readonly serveHost: string | undefined;
80
+ protected readonly servePath: string | undefined;
81
+ /**
82
+ * A private collection of functions that are being served. This map is used
83
+ * to find and register functions when interacting with Inngest Cloud.
84
+ */
85
+ private readonly fns;
86
+ constructor(nameOrInngest: string | Inngest<any>, functions: InngestFunction<any>[], { inngestRegisterUrl, fetch, landingPage, signingKey, serveHost, servePath, }?: RegisterOptions);
87
+ private get hashedSigningKey();
88
+ createHandler(): any;
89
+ protected runStep(functionId: string, stepId: string, data: any): Promise<StepRunResponse>;
90
+ protected configs(url: URL): FunctionConfig[];
91
+ /**
92
+ * Returns an SDK header split in to three parts so that they can be used for
93
+ * different purposes.
94
+ *
95
+ * To use the entire string, run `this.sdkHeader.join("")`.
96
+ */
97
+ protected get sdkHeader(): [
98
+ prefix: string,
99
+ version: RegisterRequest["sdk"],
100
+ suffix: string
101
+ ];
102
+ /**
103
+ * Return an Inngest serve endpoint URL given a potential `path` and `host`.
104
+ *
105
+ * Will automatically use the `serveHost` and `servePath` if they have been
106
+ * set when registering.
107
+ */
108
+ protected reqUrl(
109
+ /**
110
+ * The path of the Inngest register URL to create. Regardless of the value,
111
+ * will be overwritten by `servePath` if it has been set.
112
+ */
113
+ path?: string,
114
+ /**
115
+ * The host of the Inngest register URL to create. Regardless of the value,
116
+ * will be overwritten by `serveHost` if it has been set.
117
+ */
118
+ host?: string): URL;
119
+ protected registerBody(url: URL): RegisterRequest;
120
+ protected register(url: URL, devServerHost: string | undefined): Promise<{
121
+ status: number;
122
+ message: string;
123
+ }>;
124
+ private get isProd();
125
+ protected shouldShowLandingPage(strEnvVar: string | undefined): boolean;
126
+ protected validateSignature(): boolean;
127
+ protected signResponse(): string;
128
+ }
9
129
  //# sourceMappingURL=express.d.ts.map
package/express.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EACb,MAAM,iCAAiC,CAAC;AAGzC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,YA6DnB,CAAC"}
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAK/D,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAiBjB;;;;;;GAMG;AACH,oBAAY,YAAY,GAAG;AACzB;;;GAGG;AACH,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;AAEpC;;GAEG;AACH,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE;AAEjC;;;GAGG;AACH,IAAI,CAAC,EAAE,eAAe,KACnB,GAAG,CAAC;AAET;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,YACP,WAAW,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,QAYtE,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,kBAAkB;IACtB,IAAI,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAEzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAa;IACrD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,CAAC,OAAO,UAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4C;gBAG9D,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,EACpC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EACjC,EACE,kBAAkB,EAClB,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,GACV,GAAE,eAAoB;IA2CzB,OAAO,KAAK,gBAAgB,GAW3B;IAEM,aAAa,IAAI,GAAG;cAqFX,OAAO,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,eAAe,CAAC;IA2C3B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,EAAE;IAI7C;;;;;OAKG;IACH,SAAS,KAAK,SAAS,IAAI;QACzB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;QAC/B,MAAM,EAAE,MAAM;KACf,CAEA;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAM;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GACZ,GAAG;IAON,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,eAAe;cAgBjC,QAAQ,CACtB,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiE/C,OAAO,KAAK,MAAM,GAEjB;IAED,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAIvE,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC,SAAS,CAAC,YAAY,IAAI,MAAM;CAGjC"}