@voyant-travel/hono 0.117.1 → 0.118.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/dist/anonymous-paths.d.ts.map +1 -1
- package/dist/anonymous-paths.js +20 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +11 -22
- package/dist/lazy-routes.d.ts +1 -1
- package/dist/middleware/body-size.d.ts +18 -0
- package/dist/middleware/body-size.d.ts.map +1 -1
- package/dist/middleware/body-size.js +50 -11
- package/dist/module.d.ts +18 -10
- package/dist/module.d.ts.map +1 -1
- package/dist/openapi-validation.d.ts.map +1 -1
- package/dist/openapi-validation.js +17 -1
- package/dist/public-document-delivery.d.ts +4 -4
- package/dist/types.d.ts +6 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymous-paths.d.ts","sourceRoot":"","sources":["../src/anonymous-paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anonymous-paths.d.ts","sourceRoot":"","sources":["../src/anonymous-paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG5D;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,UAAU,EAAE,SAAS,aAAa,EAAE,EACpC,QAAQ,GAAE,SAAS,MAAM,EAAO,GAC/B,MAAM,EAAE,CA0CV"}
|
package/dist/anonymous-paths.js
CHANGED
|
@@ -25,11 +25,31 @@ export function assembleAnonymousPaths(modules, extensions, explicit = []) {
|
|
|
25
25
|
paths.add(trimmed ? `${mount}/${trimmed}` : mount);
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
+
// Inbound webhook routes are unauthenticated by construction (the handler
|
|
29
|
+
// verifies the provider signature), so their concrete absolute paths are
|
|
30
|
+
// auto-added to the allow-list — no per-deployment `publicPaths` entry. Mounted
|
|
31
|
+
// at `/v1/{name}`, matching the mount in `app.ts`. Parameterized/wildcard paths
|
|
32
|
+
// are skipped (the literal `matchesPublicPath` matcher can't match them) and
|
|
33
|
+
// must be declared via `anonymous` if ever needed.
|
|
34
|
+
// biome-ignore lint/suspicious/noExplicitAny: Hono sub-apps have varied env generics -- owner: hono; mirrors the HonoModule.webhookRoutes suppression.
|
|
35
|
+
const addWebhooks = (name, routes) => {
|
|
36
|
+
if (!routes)
|
|
37
|
+
return;
|
|
38
|
+
for (const route of routes.routes) {
|
|
39
|
+
const path = route.path;
|
|
40
|
+
if (path.includes(":") || path.includes("*"))
|
|
41
|
+
continue;
|
|
42
|
+
const trimmed = path.replace(/\/+$/g, "");
|
|
43
|
+
paths.add(`/v1/${name}${trimmed === "/" ? "" : trimmed}`);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
28
46
|
for (const m of modules) {
|
|
29
47
|
add(resolveSurfaceMountPath("/v1/public", m.publicPath, m.module.name), m.anonymous);
|
|
48
|
+
addWebhooks(m.module.name, m.webhookRoutes);
|
|
30
49
|
}
|
|
31
50
|
for (const e of extensions) {
|
|
32
51
|
add(resolveSurfaceMountPath("/v1/public", e.publicPath, e.extension.module), e.anonymous);
|
|
52
|
+
addWebhooks(e.extension.module, e.webhookRoutes);
|
|
33
53
|
}
|
|
34
54
|
return [...paths].sort();
|
|
35
55
|
}
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQhC,OAAO,EAAE,KAAK,gBAAgB,EAA0C,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQhC,OAAO,EAAE,KAAK,gBAAgB,EAA0C,MAAM,kBAAkB,CAAA;AA8BhG,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAY,eAAe,EAAE,MAAM,YAAY,CAAA;AAI5F,4EAA4E;AAC5E,KAAK,QAAQ,CAAC,SAAS,SAAS,cAAc,IAAI;IAChD,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAA;AAuBD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,gBAAgB,CAAA;CACvB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB,CAAC,SAAS,GAAG,OAAO;IACtD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C;;;;;;;;OAQG;IACH,QAAQ,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAA;IAChD;;;;;OAKG;IACH,UAAU,EAAE,SAAS,EAAE,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,SAAS,SAAS,cAAc,EACvD,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,GACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,mBAAmB,CAAC,SAAS,CAAC,CA2e5D"}
|
package/dist/app.js
CHANGED
|
@@ -12,7 +12,7 @@ import { tryGetExecutionCtx } from "./lib/execution-ctx.js";
|
|
|
12
12
|
import { matchesPublicPath, normalizePathname } from "./lib/public-paths.js";
|
|
13
13
|
import { requestScopedEventBus } from "./lib/request-event-bus.js";
|
|
14
14
|
import { requireAuth } from "./middleware/auth.js";
|
|
15
|
-
import { DEFAULT_REQUEST_BODY_LIMIT_BYTES, requestBodyLimit } from "./middleware/body-size.js";
|
|
15
|
+
import { DEFAULT_REQUEST_BODY_LIMIT_BYTES, MAX_GLOBAL_REQUEST_BODY_BYTES, requestBodyLimit, } from "./middleware/body-size.js";
|
|
16
16
|
import { cors } from "./middleware/cors.js";
|
|
17
17
|
import { db } from "./middleware/db.js";
|
|
18
18
|
import { handleApiError, requestId } from "./middleware/error-boundary.js";
|
|
@@ -225,7 +225,12 @@ export function mountApp(config) {
|
|
|
225
225
|
}
|
|
226
226
|
if (config.requestBodyLimit !== false) {
|
|
227
227
|
app.use("*", requestBodyLimit({
|
|
228
|
-
|
|
228
|
+
// Outer ceiling sized to the largest legitimate body (uploads); the
|
|
229
|
+
// upload route enforces its own 25 MiB cap. See MAX_GLOBAL_REQUEST_BODY_BYTES.
|
|
230
|
+
maxBytes: config.requestBodyLimit?.maxBytes ?? MAX_GLOBAL_REQUEST_BODY_BYTES,
|
|
231
|
+
// JSON bodies keep the tighter 10 MiB cap (matching parseJsonBody) so
|
|
232
|
+
// migrated `.openapi()` routes aren't loosened to the upload ceiling.
|
|
233
|
+
jsonMaxBytes: config.requestBodyLimit?.jsonMaxBytes ?? DEFAULT_REQUEST_BODY_LIMIT_BYTES,
|
|
229
234
|
}));
|
|
230
235
|
}
|
|
231
236
|
if (config.rateLimit !== false) {
|
|
@@ -384,22 +389,6 @@ export function mountApp(config) {
|
|
|
384
389
|
const actorOptions = { basePath: config.basePath };
|
|
385
390
|
app.use("/v1/admin/*", requireActor(actorOptions, "staff"));
|
|
386
391
|
app.use("/v1/public/*", requireActor(actorOptions, "customer", "partner", "supplier"));
|
|
387
|
-
const requireLegacyActor = requireActor(actorOptions, "staff");
|
|
388
|
-
app.use("/v1/*", (c, next) => {
|
|
389
|
-
const pathname = normalizePathname(new URL(c.req.url).pathname, { basePath: config.basePath });
|
|
390
|
-
if (pathname.startsWith("/v1/admin/") || pathname.startsWith("/v1/public/")) {
|
|
391
|
-
return next();
|
|
392
|
-
}
|
|
393
|
-
// Anonymous legacy/webhook routes (ADR-0008) — e.g. a bundle-declared
|
|
394
|
-
// payment-processor callback at `/v1/finance/...`. `requireAuth` already
|
|
395
|
-
// skipped credential resolution for these, but it only stamps an actor on
|
|
396
|
-
// `/v1/public/*`, so without this skip the fail-closed staff guard would 401
|
|
397
|
-
// a route that is meant to be reachable without a session.
|
|
398
|
-
if (matchesPublicPath(pathname, anonymousPaths)) {
|
|
399
|
-
return next();
|
|
400
|
-
}
|
|
401
|
-
return requireLegacyActor(c, next);
|
|
402
|
-
});
|
|
403
392
|
// Admin capability discovery — GET /v1/admin/_meta/capabilities. A built-in
|
|
404
393
|
// framework route (like /health), mounted only when the deployment supplies
|
|
405
394
|
// the operation catalogue via `config.adminMeta` (from
|
|
@@ -445,8 +434,8 @@ export function mountApp(config) {
|
|
|
445
434
|
mountLazyRoutePaths(app, mod.lazyRoutes.paths, mod.lazyRoutes.load);
|
|
446
435
|
lazyMounts.push({ prefix: "/", load: mod.lazyRoutes.load });
|
|
447
436
|
}
|
|
448
|
-
if (mod.
|
|
449
|
-
app.route(`/v1/${mod.module.name}`, mod.
|
|
437
|
+
if (mod.webhookRoutes) {
|
|
438
|
+
app.route(`/v1/${mod.module.name}`, mod.webhookRoutes);
|
|
450
439
|
}
|
|
451
440
|
}
|
|
452
441
|
// Mount extension routes
|
|
@@ -471,8 +460,8 @@ export function mountApp(config) {
|
|
|
471
460
|
mountLazyRoutePaths(app, ext.lazyRoutes.paths, ext.lazyRoutes.load);
|
|
472
461
|
lazyMounts.push({ prefix: "/", load: ext.lazyRoutes.load });
|
|
473
462
|
}
|
|
474
|
-
if (ext.
|
|
475
|
-
app.route(`/v1/${ext.extension.module}`, ext.
|
|
463
|
+
if (ext.webhookRoutes) {
|
|
464
|
+
app.route(`/v1/${ext.extension.module}`, ext.webhookRoutes);
|
|
476
465
|
}
|
|
477
466
|
}
|
|
478
467
|
// Additional routes
|
package/dist/lazy-routes.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* route families don't inflate the main bundle or the Worker cold start.
|
|
9
9
|
*
|
|
10
10
|
* For deployment-local families that span MULTIPLE absolute path prefixes (e.g.
|
|
11
|
-
* an operator bundle exposing `/v1/uploads
|
|
11
|
+
* an operator bundle exposing `/v1/admin/uploads` and `/v1/admin/media/*`),
|
|
12
12
|
* the single-surface loaders don't fit. Such families declare `lazyRoutes`:
|
|
13
13
|
* `{ paths, load }` where `load` returns a sub-app whose routes are ABSOLUTE and
|
|
14
14
|
* `paths` are the explicit matchers the framework installs up front. This is the
|
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
import type { MiddlewareHandler } from "hono";
|
|
2
2
|
export interface RequestBodyLimitOptions {
|
|
3
|
+
/** Outer ceiling applied to non-JSON bodies (e.g. multipart uploads). */
|
|
3
4
|
maxBytes: number;
|
|
5
|
+
/**
|
|
6
|
+
* Tighter cap applied when the request `Content-Type` is `application/json`.
|
|
7
|
+
* When omitted, the outer `maxBytes` ceiling applies to JSON bodies too.
|
|
8
|
+
*/
|
|
9
|
+
jsonMaxBytes?: number;
|
|
4
10
|
}
|
|
5
11
|
export declare const DEFAULT_REQUEST_BODY_LIMIT_BYTES: number;
|
|
12
|
+
/**
|
|
13
|
+
* App-wide OUTER ceiling for the global `requestBodyLimit` mount. It must be at
|
|
14
|
+
* least the largest body any legitimate route accepts so the global stream cap
|
|
15
|
+
* never rejects valid traffic — the media upload route allows a 25 MiB file in a
|
|
16
|
+
* multipart envelope (`MAX_MULTIPART_UPLOAD_BYTES` = 25 MiB + 1 MiB in
|
|
17
|
+
* `@voyant-travel/storage`). Finer limits stay per-route: `parseJsonBody`/
|
|
18
|
+
* `readBoundedRequestText` keep the tighter `DEFAULT_REQUEST_BODY_LIMIT_BYTES`
|
|
19
|
+
* (10 MiB) for JSON, and the upload route enforces its own 25 MiB cap. Raising
|
|
20
|
+
* the global guard to a header-only check would reopen the no-Content-Length
|
|
21
|
+
* hole; lowering it below this would reject valid uploads (voyant#2114).
|
|
22
|
+
*/
|
|
23
|
+
export declare const MAX_GLOBAL_REQUEST_BODY_BYTES: number;
|
|
6
24
|
export declare function requestBodyLimit(options: RequestBodyLimitOptions): MiddlewareHandler;
|
|
7
25
|
//# sourceMappingURL=body-size.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body-size.d.ts","sourceRoot":"","sources":["../../src/middleware/body-size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"body-size.d.ts","sourceRoot":"","sources":["../../src/middleware/body-size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAGtD,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAOD,eAAO,MAAM,gCAAgC,QAAmB,CAAA;AAEhE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,QAAmB,CAAA;AAE7D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,iBAAiB,CAsCpF"}
|
|
@@ -1,20 +1,59 @@
|
|
|
1
|
+
import { bodyLimit } from "hono/body-limit";
|
|
2
|
+
// Mirrors Hono's own `jsonRegex` (hono/dist/validator/validator.js) and the
|
|
3
|
+
// openApiValidationHook content-type guard EXACTLY — case-sensitive, strict
|
|
4
|
+
// params — so "this matches" ⟺ "Hono parses the body as JSON". Keep in sync.
|
|
5
|
+
const JSON_CONTENT_TYPE = /^application\/([a-z-.]+\+)?json(;\s*[a-zA-Z0-9-]+=([^;]+))*$/;
|
|
1
6
|
export const DEFAULT_REQUEST_BODY_LIMIT_BYTES = 10 * 1024 * 1024;
|
|
7
|
+
/**
|
|
8
|
+
* App-wide OUTER ceiling for the global `requestBodyLimit` mount. It must be at
|
|
9
|
+
* least the largest body any legitimate route accepts so the global stream cap
|
|
10
|
+
* never rejects valid traffic — the media upload route allows a 25 MiB file in a
|
|
11
|
+
* multipart envelope (`MAX_MULTIPART_UPLOAD_BYTES` = 25 MiB + 1 MiB in
|
|
12
|
+
* `@voyant-travel/storage`). Finer limits stay per-route: `parseJsonBody`/
|
|
13
|
+
* `readBoundedRequestText` keep the tighter `DEFAULT_REQUEST_BODY_LIMIT_BYTES`
|
|
14
|
+
* (10 MiB) for JSON, and the upload route enforces its own 25 MiB cap. Raising
|
|
15
|
+
* the global guard to a header-only check would reopen the no-Content-Length
|
|
16
|
+
* hole; lowering it below this would reject valid uploads (voyant#2114).
|
|
17
|
+
*/
|
|
18
|
+
export const MAX_GLOBAL_REQUEST_BODY_BYTES = 26 * 1024 * 1024;
|
|
2
19
|
export function requestBodyLimit(options) {
|
|
20
|
+
// Hono's bodyLimit checks the Content-Length header AND wraps the request body
|
|
21
|
+
// stream so it throws once the actual read exceeds maxSize. That stream cap is
|
|
22
|
+
// what bounds chunked / HTTP/2 requests with no Content-Length header — the
|
|
23
|
+
// case the previous header-only check could not catch (e.g. `.openapi()` json
|
|
24
|
+
// routes that read via c.req.json() and never went through parseJsonBody).
|
|
25
|
+
const enforceDefault = bodyLimit({
|
|
26
|
+
maxSize: options.maxBytes,
|
|
27
|
+
onError: (c) => tooLargeResponse(c, options.maxBytes),
|
|
28
|
+
});
|
|
29
|
+
// JSON bodies keep the tighter cap that `parseJsonBody` historically enforced
|
|
30
|
+
// (10 MiB) so migrated `.openapi()` routes aren't loosened to the upload
|
|
31
|
+
// ceiling. Non-JSON bodies (uploads) get the outer `maxBytes`. (voyant#2114)
|
|
32
|
+
// Clamp to `maxBytes` so the JSON cap is never LOOSER than the outer ceiling —
|
|
33
|
+
// a deployment that tightens `maxBytes` below the JSON default (e.g. a 1 MiB
|
|
34
|
+
// global override) must also tighten JSON, not silently leave it at 10 MiB.
|
|
35
|
+
const jsonMaxBytes = options.jsonMaxBytes != null ? Math.min(options.jsonMaxBytes, options.maxBytes) : null;
|
|
36
|
+
const enforceJson = jsonMaxBytes != null
|
|
37
|
+
? bodyLimit({
|
|
38
|
+
maxSize: jsonMaxBytes,
|
|
39
|
+
onError: (c) => tooLargeResponse(c, jsonMaxBytes),
|
|
40
|
+
})
|
|
41
|
+
: null;
|
|
3
42
|
return async (c, next) => {
|
|
4
43
|
if (c.req.method === "GET" || c.req.method === "HEAD" || c.req.method === "OPTIONS") {
|
|
5
44
|
return next();
|
|
6
45
|
}
|
|
7
|
-
const
|
|
8
|
-
if (
|
|
9
|
-
|
|
10
|
-
if (Number.isFinite(size) && size > options.maxBytes) {
|
|
11
|
-
return c.json({
|
|
12
|
-
error: "Request body too large",
|
|
13
|
-
code: "request_body_too_large",
|
|
14
|
-
maxBytes: options.maxBytes,
|
|
15
|
-
}, 413);
|
|
16
|
-
}
|
|
46
|
+
const contentType = c.req.header("content-type");
|
|
47
|
+
if (enforceJson && contentType && JSON_CONTENT_TYPE.test(contentType)) {
|
|
48
|
+
return enforceJson(c, next);
|
|
17
49
|
}
|
|
18
|
-
return next
|
|
50
|
+
return enforceDefault(c, next);
|
|
19
51
|
};
|
|
20
52
|
}
|
|
53
|
+
function tooLargeResponse(c, maxBytes) {
|
|
54
|
+
return c.json({
|
|
55
|
+
error: "Request body too large",
|
|
56
|
+
code: "request_body_too_large",
|
|
57
|
+
maxBytes,
|
|
58
|
+
}, 413);
|
|
59
|
+
}
|
package/dist/module.d.ts
CHANGED
|
@@ -3,18 +3,23 @@ import type { Hono } from "hono";
|
|
|
3
3
|
import type { LazyHonoRoutes, LazyRoutesLoader } from "./lazy-routes.js";
|
|
4
4
|
export interface HonoModule {
|
|
5
5
|
module: Module;
|
|
6
|
-
/**
|
|
7
|
-
* Legacy routes — mounted at `/v1/{module.name}`. Gated by the caller's
|
|
8
|
-
* `requireAuth` configuration. Use `adminRoutes` / `publicRoutes` for new
|
|
9
|
-
* modules that participate in the admin/public API split.
|
|
10
|
-
*
|
|
11
|
-
* @deprecated Prefer `adminRoutes` or `publicRoutes`.
|
|
12
|
-
*/
|
|
13
|
-
routes?: Hono<any>;
|
|
14
6
|
/** Staff-facing routes — mounted at `/v1/admin/{module.name}`. */
|
|
15
7
|
adminRoutes?: Hono<any>;
|
|
16
8
|
/** Customer/partner/supplier-facing routes — mounted at `/v1/public/{module.name}`. */
|
|
17
9
|
publicRoutes?: Hono<any>;
|
|
10
|
+
/**
|
|
11
|
+
* Inbound webhook routes — e.g. a payment-processor callback POSTed by an
|
|
12
|
+
* external system with no session. Mounted at `/v1/{module.name}` (so existing
|
|
13
|
+
* processor-registered callback URLs are preserved), and their concrete paths
|
|
14
|
+
* are AUTOMATICALLY added to the anonymous allow-list (ADR-0008) — no
|
|
15
|
+
* `anonymous` declaration or `publicPaths` entry needed. The handler is
|
|
16
|
+
* responsible for verifying the provider signature. Distinct from `routes`
|
|
17
|
+
* (deprecated catch-all) and from `publicRoutes` (session-bearing customer
|
|
18
|
+
* surface): a webhook is unauthenticated by construction and verified in-band.
|
|
19
|
+
* Only concrete paths are auto-allow-listed; parameterized/wildcard webhook
|
|
20
|
+
* paths must additionally be declared via `anonymous`.
|
|
21
|
+
*/
|
|
22
|
+
webhookRoutes?: Hono<any>;
|
|
18
23
|
/**
|
|
19
24
|
* Lazy variant of `adminRoutes` — the route bundle is dynamically imported on
|
|
20
25
|
* first request and cached per isolate. Mounted at `/v1/admin/{module.name}`
|
|
@@ -66,12 +71,15 @@ export interface HonoModule {
|
|
|
66
71
|
}
|
|
67
72
|
export interface HonoExtension {
|
|
68
73
|
extension: Extension;
|
|
69
|
-
/** @deprecated Prefer `adminRoutes` or `publicRoutes`. */
|
|
70
|
-
routes?: Hono<any>;
|
|
71
74
|
/** Staff-facing routes — mounted at `/v1/admin/{extension.module}`. */
|
|
72
75
|
adminRoutes?: Hono<any>;
|
|
73
76
|
/** Customer/partner/supplier-facing routes — mounted at `/v1/public/{extension.module}`. */
|
|
74
77
|
publicRoutes?: Hono<any>;
|
|
78
|
+
/**
|
|
79
|
+
* Inbound webhook routes — mounted at `/v1/{extension.module}`, concrete paths
|
|
80
|
+
* auto-added to the anonymous allow-list (ADR-0008). See `HonoModule.webhookRoutes`.
|
|
81
|
+
*/
|
|
82
|
+
webhookRoutes?: Hono<any>;
|
|
75
83
|
/** Lazy variant of `adminRoutes` — mounted at `/v1/admin/{extension.module}` (see HonoModule). */
|
|
76
84
|
lazyAdminRoutes?: LazyRoutesLoader;
|
|
77
85
|
/** Lazy variant of `publicRoutes` — mounted at `/v1/public/{publicPath ?? extension.module}`. */
|
package/dist/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAElE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,uFAAuF;IAEvF,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB;;;;;;;;;;;OAWG;IAEH,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACzB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAA;IAClC,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAAA;IACvC;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,SAAS,CAAA;IACpB,uEAAuE;IAEvE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,4FAA4F;IAE5F,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB;;;OAGG;IAEH,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACzB,kGAAkG;IAClG,eAAe,CAAC,EAAE,gBAAgB,CAAA;IAClC,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,gFAAgF;IAChF,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAAA;IACvC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-validation.d.ts","sourceRoot":"","sources":["../src/openapi-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAG7C;;;;;;;;;;;;;;;;GAgBG;AAIH,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"openapi-validation.d.ts","sourceRoot":"","sources":["../src/openapi-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAG7C;;;;;;;;;;;;;;;;GAgBG;AAIH,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAoB9D,CAAA"}
|
|
@@ -19,7 +19,23 @@ import { normalizeValidationError, RequestValidationError } from "./validation.j
|
|
|
19
19
|
// Typed as the library's own `defaultHook` shape (`Hook<any, E, any, any>`) so
|
|
20
20
|
// it stays assignable for every module's specific `OpenAPIHono<Env>`.
|
|
21
21
|
// biome-ignore lint/suspicious/noExplicitAny: matches @hono/zod-openapi's defaultHook signature
|
|
22
|
-
export const openApiValidationHook = (result) => {
|
|
22
|
+
export const openApiValidationHook = (result, c) => {
|
|
23
|
+
// Hono's json validator yields `{}` (not a parse) when the request's
|
|
24
|
+
// content-type isn't one its parser accepts; partial PATCH schemas then
|
|
25
|
+
// validate `{}` and silently no-op. Enforce the content-type the route's
|
|
26
|
+
// contract declares so a missing/unaccepted header is a clean invalid_request
|
|
27
|
+
// 400 (voyant#2114, §16). The pattern MIRRORS Hono's own `jsonRegex`
|
|
28
|
+
// (hono/dist/validator/validator.js) EXACTLY — case-sensitive, strict params —
|
|
29
|
+
// so "this guard accepts" ⟺ "Hono parses the body". A laxer check (e.g. a
|
|
30
|
+
// case-insensitive match or a bare trailing `;`) would admit content-types
|
|
31
|
+
// Hono leaves unparsed, reintroducing the silent no-op. Keep in sync with Hono.
|
|
32
|
+
if (result.target === "json") {
|
|
33
|
+
const contentType = c.req.header("content-type");
|
|
34
|
+
const jsonContentType = /^application\/([a-z-.]+\+)?json(;\s*[a-zA-Z0-9-]+=([^;]+))*$/;
|
|
35
|
+
if (!contentType || !jsonContentType.test(contentType)) {
|
|
36
|
+
throw new RequestValidationError("Expected request Content-Type: application/json");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
23
39
|
if (!result.success) {
|
|
24
40
|
throw normalizeValidationError(result.error) ?? new RequestValidationError("Invalid request");
|
|
25
41
|
}
|
|
@@ -71,25 +71,25 @@ export declare function createDrizzlePublicDocumentDeliveryGrantStore(db: Postgr
|
|
|
71
71
|
export declare function createPublicDocumentDeliveryGrant(store: PublicDocumentDeliveryGrantStore, input: CreatePublicDocumentDeliveryInput): Promise<PublicDocumentDeliveryEnvelope>;
|
|
72
72
|
export declare function resolvePublicDocumentDeliveryGrant(store: PublicDocumentDeliveryGrantStore, token: string, now?: Date): Promise<PublicDocumentDeliveryResolution>;
|
|
73
73
|
export declare function revokePublicDocumentDeliveryGrant(store: PublicDocumentDeliveryGrantStore, input: RevokePublicDocumentDeliveryGrantInput): Promise<{
|
|
74
|
-
metadata: unknown;
|
|
75
74
|
id: string;
|
|
76
75
|
createdAt: Date;
|
|
77
76
|
expiresAt: Date;
|
|
78
|
-
|
|
79
|
-
tokenHash: string;
|
|
80
|
-
createdBy: string | null;
|
|
77
|
+
metadata: unknown;
|
|
81
78
|
filename: string | null;
|
|
79
|
+
tokenHash: string;
|
|
82
80
|
storageKey: string;
|
|
83
81
|
storageProvider: string | null;
|
|
84
82
|
contentType: string;
|
|
85
83
|
sourceModule: string | null;
|
|
86
84
|
sourceEntity: string | null;
|
|
87
85
|
sourceId: string | null;
|
|
86
|
+
createdBy: string | null;
|
|
88
87
|
createdByType: string | null;
|
|
89
88
|
accessCount: number;
|
|
90
89
|
lastAccessedAt: Date | null;
|
|
91
90
|
lastAccessedIp: string | null;
|
|
92
91
|
lastAccessedUserAgent: string | null;
|
|
92
|
+
revokedAt: Date | null;
|
|
93
93
|
revokedBy: string | null;
|
|
94
94
|
} | null>;
|
|
95
95
|
export declare function createPublicDocumentDeliveryRoutes<TBindings extends object = Record<string, unknown>>(options?: PublicDocumentDeliveryRouteOptions<TBindings>): import("hono/hono-base").HonoBase<Env<TBindings>, {
|
package/dist/types.d.ts
CHANGED
|
@@ -242,12 +242,14 @@ export interface VoyantAppConfig<TBindings extends VoyantBindings = VoyantBindin
|
|
|
242
242
|
*/
|
|
243
243
|
metrics?: boolean;
|
|
244
244
|
/**
|
|
245
|
-
* Default request body limit enforced
|
|
246
|
-
*
|
|
247
|
-
* `
|
|
245
|
+
* Default request body limit enforced before route handlers parse
|
|
246
|
+
* JSON/form data. Content-type-aware: JSON bodies are capped at 10 MiB
|
|
247
|
+
* (`jsonMaxBytes`), non-JSON bodies (uploads) at the 26 MiB outer ceiling
|
|
248
|
+
* (`maxBytes`). Set `false` to disable, or override either cap.
|
|
248
249
|
*/
|
|
249
250
|
requestBodyLimit?: false | {
|
|
250
|
-
maxBytes
|
|
251
|
+
maxBytes?: number;
|
|
252
|
+
jsonMaxBytes?: number;
|
|
251
253
|
};
|
|
252
254
|
/**
|
|
253
255
|
* Default app-wide security headers. Enabled by default. Set `false`
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyant-travel/hono",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.118.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -137,17 +137,17 @@
|
|
|
137
137
|
"zod": "^4.3.6",
|
|
138
138
|
"@voyant-travel/core": "^0.111.0",
|
|
139
139
|
"@voyant-travel/db": "^0.109.4",
|
|
140
|
-
"@voyant-travel/storage": "^0.
|
|
140
|
+
"@voyant-travel/storage": "^0.106.0",
|
|
141
141
|
"@voyant-travel/types": "^0.106.0",
|
|
142
142
|
"@voyant-travel/utils": "^0.105.4",
|
|
143
|
-
"@voyant-travel/workflows": "^0.111.
|
|
143
|
+
"@voyant-travel/workflows": "^0.111.10"
|
|
144
144
|
},
|
|
145
145
|
"devDependencies": {
|
|
146
146
|
"@cloudflare/workers-types": "^4.20260426.1",
|
|
147
147
|
"typescript": "^6.0.2",
|
|
148
148
|
"vitest": "^4.1.2",
|
|
149
|
-
"@voyant-travel/
|
|
150
|
-
"@voyant-travel/
|
|
149
|
+
"@voyant-travel/voyant-typescript-config": "^0.1.0",
|
|
150
|
+
"@voyant-travel/workflows-orchestrator": "^0.111.10"
|
|
151
151
|
},
|
|
152
152
|
"files": [
|
|
153
153
|
"dist"
|
|
@@ -161,10 +161,10 @@
|
|
|
161
161
|
"directory": "packages/hono"
|
|
162
162
|
},
|
|
163
163
|
"scripts": {
|
|
164
|
-
"typecheck": "tsc
|
|
164
|
+
"typecheck": "tsc -p tsconfig.typecheck.json",
|
|
165
165
|
"lint": "biome check src/",
|
|
166
166
|
"test": "vitest run",
|
|
167
|
-
"build": "tsc -p tsconfig.json",
|
|
167
|
+
"build": "tsc -p tsconfig.build.json",
|
|
168
168
|
"clean": "rm -rf dist tsconfig.tsbuildinfo"
|
|
169
169
|
},
|
|
170
170
|
"main": "./dist/index.js",
|