@voyant-travel/hono 0.115.0 → 0.116.1

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/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAkC3B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAY,eAAe,EAAE,MAAM,YAAY,CAAA;AAyB5F;;;;;;;;;;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;CACjD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,SAAS,SAAS,cAAc,EACvD,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,GACjC,IAAI,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAyc5F"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAkC3B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAY,eAAe,EAAE,MAAM,YAAY,CAAA;AAyB5F;;;;;;;;;;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;CACjD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,SAAS,SAAS,cAAc,EACvD,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,GACjC,IAAI,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAke5F"}
package/dist/app.js CHANGED
@@ -56,10 +56,14 @@ export function mountApp(config) {
56
56
  const allModules = [...(config.modules ?? []), ...(expanded?.modules ?? [])];
57
57
  const allExtensions = [...(config.extensions ?? []), ...(expanded?.extensions ?? [])];
58
58
  // Anonymous-access allow-list (ADR-0008): assembled from module/extension
59
- // `anonymous` declarations + any explicit `publicPaths` escape-hatch entries.
59
+ // `anonymous` declarations + bundle-declared absolute anonymous paths (e.g. a
60
+ // payment-processor webhook) + any explicit `publicPaths` escape-hatch entries.
60
61
  // Used by both the auth middleware (skip auth / stamp customer actor) and the
61
62
  // public-write rate-limit matcher below, so the two never diverge.
62
- const anonymousPaths = assembleAnonymousPaths(allModules, allExtensions, config.publicPaths);
63
+ const anonymousPaths = assembleAnonymousPaths(allModules, allExtensions, [
64
+ ...(config.publicPaths ?? []),
65
+ ...(expanded?.anonymousPaths ?? []),
66
+ ]);
63
67
  // When the framework owns the bus, route subscriber-dispatch failures
64
68
  // (including the workflow forwarder) to the reporter — they're otherwise
65
69
  // only console-logged per the fire-and-forget EventBus contract (RFC #1553).
@@ -231,7 +235,9 @@ export function mountApp(config) {
231
235
  app.use("*", async (c, next) => {
232
236
  if (!WRITE_METHODS.has(c.req.method))
233
237
  return next();
234
- const pathname = normalizePathname(new URL(c.req.url).pathname);
238
+ const pathname = normalizePathname(new URL(c.req.url).pathname, {
239
+ basePath: config.basePath,
240
+ });
235
241
  const isPublicWrite = pathname.startsWith("/v1/public/") || matchesPublicPath(pathname, anonymousPaths);
236
242
  if (!isPublicWrite)
237
243
  return next();
@@ -334,11 +340,18 @@ export function mountApp(config) {
334
340
  if (txModuleNames.has(mod.module.name) && mod.publicRoutes) {
335
341
  txPrefixes.push(resolveSurfaceMountPath("/v1/public", mod.publicPath, mod.module.name));
336
342
  }
343
+ // Absolute transactional prefixes for routes mounted outside the name-based
344
+ // surface (e.g. a lazy family at `/v1/admin/catalog/quote`), so the
345
+ // deployment doesn't hand-maintain them in `dbTransactionalPaths` (ADR-0008).
346
+ if (mod.transactionalPaths)
347
+ txPrefixes.push(...mod.transactionalPaths);
337
348
  }
338
349
  for (const ext of allExtensions) {
339
350
  if (txModuleNames.has(ext.extension.module) && ext.publicRoutes) {
340
351
  txPrefixes.push(resolveSurfaceMountPath("/v1/public", ext.publicPath, ext.extension.module));
341
352
  }
353
+ if (ext.transactionalPaths)
354
+ txPrefixes.push(...ext.transactionalPaths);
342
355
  }
343
356
  // With a `dbTransactional` factory, requests are routed per surface:
344
357
  // transactional prefixes get it, everything else gets the cheap
@@ -351,22 +364,32 @@ export function mountApp(config) {
351
364
  transactionalPrefixes: txPrefixes,
352
365
  })
353
366
  : config.db;
367
+ const authOptions = { publicPaths: anonymousPaths, basePath: config.basePath, auth: config.auth };
354
368
  // Auth middleware for all other routes
355
- app.use("*", requireAuth(dbSource, { publicPaths: anonymousPaths, auth: config.auth }));
369
+ app.use("*", requireAuth(dbSource, authOptions));
356
370
  // DB middleware — sets c.var.db for all downstream handlers.
357
371
  // Pass the list of modules that need interactive transactions so the
358
372
  // middleware can throw a clear startup-style error on first request if
359
373
  // the wired adapter is neon-http (which doesn't support db.transaction).
360
- app.use("*", db(dbSource, { requiresTransactionalDb: txRequiringModules }));
374
+ app.use("*", db(dbSource, { requiresTransactionalDb: txRequiringModules, basePath: config.basePath }));
361
375
  // Actor guards for the two API surfaces
362
- app.use("/v1/admin/*", requireActor("staff"));
363
- app.use("/v1/public/*", requireActor("customer", "partner", "supplier"));
364
- const requireLegacyActor = requireActor("staff");
376
+ const actorOptions = { basePath: config.basePath };
377
+ app.use("/v1/admin/*", requireActor(actorOptions, "staff"));
378
+ app.use("/v1/public/*", requireActor(actorOptions, "customer", "partner", "supplier"));
379
+ const requireLegacyActor = requireActor(actorOptions, "staff");
365
380
  app.use("/v1/*", (c, next) => {
366
- const pathname = new URL(c.req.url).pathname;
381
+ const pathname = normalizePathname(new URL(c.req.url).pathname, { basePath: config.basePath });
367
382
  if (pathname.startsWith("/v1/admin/") || pathname.startsWith("/v1/public/")) {
368
383
  return next();
369
384
  }
385
+ // Anonymous legacy/webhook routes (ADR-0008) — e.g. a bundle-declared
386
+ // payment-processor callback at `/v1/finance/...`. `requireAuth` already
387
+ // skipped credential resolution for these, but it only stamps an actor on
388
+ // `/v1/public/*`, so without this skip the fail-closed staff guard would 401
389
+ // a route that is meant to be reachable without a session.
390
+ if (matchesPublicPath(pathname, anonymousPaths)) {
391
+ return next();
392
+ }
370
393
  return requireLegacyActor(c, next);
371
394
  });
372
395
  // Admin capability discovery — GET /v1/admin/_meta/capabilities. A built-in
@@ -7,8 +7,20 @@
7
7
  * drifted copy of this check is an auth bypass (or a gap), so the
8
8
  * matcher lives here and everyone imports it.
9
9
  */
10
- /** Strip a single trailing slash so `/v1/x/` and `/v1/x` match alike. */
11
- export declare function normalizePathname(pathname: string): string;
10
+ export interface PathnameNormalizationOptions {
11
+ /**
12
+ * Deployment prefix stripped before matching app-local paths. Useful when a
13
+ * Hono app is mounted under a hosting prefix (for example `/api`) and sees
14
+ * the original request URL while its routes/publicPaths are app-relative.
15
+ */
16
+ basePath?: string;
17
+ }
18
+ /**
19
+ * Strip a single trailing slash so `/v1/x/` and `/v1/x` match alike. When a
20
+ * deployment base path is configured, strip it first using path-segment
21
+ * semantics so `/api/v1/x` normalizes to `/v1/x`, but `/apiary/v1/x` does not.
22
+ */
23
+ export declare function normalizePathname(pathname: string, options?: PathnameNormalizationOptions): string;
12
24
  /**
13
25
  * Whether `pathname` (pre-normalized via {@link normalizePathname}) is an
14
26
  * exact match or a path-segment-prefixed match of any configured public
@@ -1 +1 @@
1
- {"version":3,"file":"public-paths.d.ts","sourceRoot":"","sources":["../../src/lib/public-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAO3F"}
1
+ {"version":3,"file":"public-paths.d.ts","sourceRoot":"","sources":["../../src/lib/public-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAQD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,4BAAiC,GACzC,MAAM,CASR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAO3F"}
@@ -7,9 +7,28 @@
7
7
  * drifted copy of this check is an auth bypass (or a gap), so the
8
8
  * matcher lives here and everyone imports it.
9
9
  */
10
- /** Strip a single trailing slash so `/v1/x/` and `/v1/x` match alike. */
11
- export function normalizePathname(pathname) {
12
- return pathname.replace(/\/$/, "");
10
+ function normalizeBasePath(basePath) {
11
+ const trimmed = basePath?.trim();
12
+ if (!trimmed || trimmed === "/")
13
+ return "";
14
+ return `/${trimmed.replace(/^\/+|\/+$/g, "")}`;
15
+ }
16
+ /**
17
+ * Strip a single trailing slash so `/v1/x/` and `/v1/x` match alike. When a
18
+ * deployment base path is configured, strip it first using path-segment
19
+ * semantics so `/api/v1/x` normalizes to `/v1/x`, but `/apiary/v1/x` does not.
20
+ */
21
+ export function normalizePathname(pathname, options = {}) {
22
+ const normalized = pathname.replace(/\/$/, "");
23
+ const basePath = normalizeBasePath(options.basePath);
24
+ if (!basePath)
25
+ return normalized;
26
+ if (normalized === basePath)
27
+ return "";
28
+ if (normalized.startsWith(`${basePath}/`)) {
29
+ return normalized.slice(basePath.length);
30
+ }
31
+ return normalized;
13
32
  }
14
33
  /**
15
34
  * Whether `pathname` (pre-normalized via {@link normalizePathname}) is an
@@ -2,6 +2,7 @@ import type { MiddlewareHandler } from "hono";
2
2
  import { type DbSource, type VoyantAuthIntegration, type VoyantBindings, type VoyantVariables } from "../types.js";
3
3
  export declare function requireAuth<TBindings extends VoyantBindings>(dbSource: DbSource<TBindings>, opts?: {
4
4
  publicPaths?: string[];
5
+ basePath?: string;
5
6
  auth?: VoyantAuthIntegration<TBindings>;
6
7
  }): MiddlewareHandler<{
7
8
  Bindings: TBindings;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAM7C,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AA2GpB,wBAAgB,WAAW,CAAC,SAAS,SAAS,cAAc,EAC1D,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC7B,IAAI,CAAC,EAAE;IACL,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,IAAI,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;CACxC,GACA,iBAAiB,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAC,CAyLD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAM7C,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AA2GpB,wBAAgB,WAAW,CAAC,SAAS,SAAS,cAAc,EAC1D,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC7B,IAAI,CAAC,EAAE;IACL,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;CACxC,GACA,iBAAiB,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAC,CAwLD"}
@@ -116,11 +116,11 @@ export function requireAuth(dbSource, opts) {
116
116
  return async (c, next) => {
117
117
  if (c.req.method === "OPTIONS")
118
118
  return next();
119
+ const url = new URL(c.req.url);
120
+ const p = normalizePathname(url.pathname, { basePath: opts?.basePath });
119
121
  // Resolve the surface-appropriate factory once — the db middleware
120
122
  // downstream resolves the same one, so both share one client.
121
- const dbFactory = selectDbFactory(dbSource, c.req.path);
122
- const url = new URL(c.req.url);
123
- const p = normalizePathname(url.pathname);
123
+ const dbFactory = selectDbFactory(dbSource, p);
124
124
  const isPublicAuth = p === "/auth/callback" || p.startsWith("/auth/");
125
125
  const isHealthCheck = p === "/health";
126
126
  if (isPublicAuth || isHealthCheck)
@@ -13,6 +13,12 @@ export interface DbMiddlewareOptions {
13
13
  * (neon-http) trips the assertion.
14
14
  */
15
15
  requiresTransactionalDb?: readonly string[];
16
+ /**
17
+ * Deployment prefix stripped before path-based DB surface selection. Must
18
+ * match the app's auth/public-path basePath when the app is hosted under a
19
+ * path prefix.
20
+ */
21
+ basePath?: string;
16
22
  }
17
23
  /**
18
24
  * Resolves the per-request db client and stores it on Hono context.
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/middleware/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAE7C,OAAO,EAAE,KAAK,QAAQ,EAAuB,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AACpG,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAqB,MAAM,cAAc,CAAA;AAG/F,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5C;AAcD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,EAAE,CAAC,SAAS,SAAS,cAAc,EACjD,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC3B,OAAO,GAAE,mBAAwB,GAChC,iBAAiB,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE;QAAE,EAAE,EAAE,QAAQ,CAAC;QAAC,CAAC,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;CACzE,CAAC,CA2CD"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/middleware/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAG7C,OAAO,EAAE,KAAK,QAAQ,EAAuB,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AACpG,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAqB,MAAM,cAAc,CAAA;AAG/F,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAcD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,EAAE,CAAC,SAAS,SAAS,cAAc,EACjD,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC3B,OAAO,GAAE,mBAAwB,GAChC,iBAAiB,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE;QAAE,EAAE,EAAE,QAAQ,CAAC;QAAC,CAAC,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;CACzE,CAAC,CA4CD"}
@@ -1,4 +1,5 @@
1
1
  import { dbSupportsTransactions } from "@voyant-travel/db/transaction-capability";
2
+ import { normalizePathname } from "../lib/public-paths.js";
2
3
  import { isDbFactorySelector } from "../types.js";
3
4
  import { DB_METRICS_CONTEXT_KEY, withQueryCounting } from "./metrics.js";
4
5
  import { acquireRequestDb } from "./request-db.js";
@@ -44,8 +45,9 @@ export function db(source, options = {}) {
44
45
  // by design, to be transaction-incapable.
45
46
  let txCapabilityVerified = false;
46
47
  return async (c, next) => {
48
+ const pathname = normalizePathname(c.req.path, { basePath: options.basePath });
47
49
  const selection = isDbFactorySelector(source)
48
- ? source.select(c.req.path)
50
+ ? source.select(pathname)
49
51
  : { factory: source, mustSupportTransactions: requiresTx.length > 0 };
50
52
  const lease = acquireRequestDb(c, selection.factory);
51
53
  if (!txCapabilityVerified && selection.mustSupportTransactions && requiresTx.length > 0) {
@@ -10,6 +10,13 @@ import type { VoyantBindings, VoyantVariables } from "../types.js";
10
10
  * API-key scope enforcement is always on (unchanged).
11
11
  */
12
12
  export declare function isStaffRbacEnforced(env: unknown): boolean;
13
+ export interface RequireActorOptions {
14
+ /**
15
+ * Deployment prefix stripped before deriving API-key/staff RBAC resources.
16
+ * Keep this aligned with the app-level auth/public-path basePath.
17
+ */
18
+ basePath?: string;
19
+ }
13
20
  /**
14
21
  * Guards a route surface by actor type.
15
22
  *
@@ -34,4 +41,8 @@ export declare function requireActor<TBindings extends VoyantBindings = VoyantBi
34
41
  Bindings: TBindings;
35
42
  Variables: VoyantVariables;
36
43
  }>;
44
+ export declare function requireActor<TBindings extends VoyantBindings = VoyantBindings>(options: RequireActorOptions, ...allowed: Actor[]): MiddlewareHandler<{
45
+ Bindings: TBindings;
46
+ Variables: VoyantVariables;
47
+ }>;
37
48
  //# sourceMappingURL=require-actor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"require-actor.d.ts","sourceRoot":"","sources":["../../src/middleware/require-actor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAuClE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,EAC5E,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,iBAAiB,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAC,CA8DD"}
1
+ {"version":3,"file":"require-actor.d.ts","sourceRoot":"","sources":["../../src/middleware/require-actor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AAG7C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAuClE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,EAC5E,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,iBAAiB,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAC,CAAA;AACF,wBAAgB,YAAY,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,EAC5E,OAAO,EAAE,mBAAmB,EAC5B,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,iBAAiB,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { hasApiKeyPermission, permissionStringsToPermissions } from "@voyant-travel/types/api-keys";
2
+ import { normalizePathname } from "../lib/public-paths.js";
2
3
  function apiKeyResourceFromPath(pathname) {
3
4
  const surfaceMatch = pathname.match(/^\/v1\/(?:admin|public)\/([^/]+)/);
4
5
  if (surfaceMatch?.[1])
@@ -44,27 +45,12 @@ export function isStaffRbacEnforced(env) {
44
45
  const normalized = value?.trim().toLowerCase();
45
46
  return !(normalized === "0" || normalized === "false" || normalized === "off");
46
47
  }
47
- /**
48
- * Guards a route surface by actor type.
49
- *
50
- * Voyant exposes two API surfaces:
51
- * - `/v1/admin/*` operator staff (`"staff"`)
52
- * - `/v1/public/*` customers, partners, suppliers
53
- *
54
- * Requests carry an `actor` on `c.var`, typically set by `requireAuth` or a
55
- * custom `auth.resolve` integration.
56
- *
57
- * When the caller has no resolved actor, this middleware returns `401
58
- * Unauthorized`. Earlier versions defaulted unset callers to `"staff"` for
59
- * backwards compatibility, but that meant a misordered or missing auth
60
- * middleware silently granted operator privileges to anonymous traffic.
61
- * The default is now fail-closed.
62
- *
63
- * @example
64
- * app.use("/v1/admin/*", requireActor("staff"))
65
- * app.use("/v1/public/*", requireActor("customer", "partner", "supplier"))
66
- */
67
- export function requireActor(...allowed) {
48
+ function isRequireActorOptions(value) {
49
+ return typeof value === "object" && value !== null && !Array.isArray(value);
50
+ }
51
+ export function requireActor(...args) {
52
+ const options = isRequireActorOptions(args[0]) ? args[0] : {};
53
+ const allowed = (isRequireActorOptions(args[0]) ? args.slice(1) : args);
68
54
  if (allowed.length === 0) {
69
55
  throw new Error("requireActor: must specify at least one allowed actor");
70
56
  }
@@ -73,7 +59,10 @@ export function requireActor(...allowed) {
73
59
  if (c.req.method === "OPTIONS")
74
60
  return next();
75
61
  if (c.get("callerType") === "api_key" || c.get("callerType") === "internal") {
76
- const resource = apiKeyResourceFromPath(new URL(c.req.url).pathname);
62
+ const pathname = normalizePathname(new URL(c.req.url).pathname, {
63
+ basePath: options.basePath,
64
+ });
65
+ const resource = apiKeyResourceFromPath(pathname);
77
66
  // Meta/discovery endpoints (e.g. `/v1/admin/_meta/capabilities`) report
78
67
  // what the caller can do — including the key's own granted scopes — so any
79
68
  // authenticated API key may read them, regardless of module scope. `_meta`
@@ -105,7 +94,10 @@ export function requireActor(...allowed) {
105
94
  // resource (e.g. `_meta`) stay open until a module is explicitly covered.
106
95
  if (actor === "staff" && c.get("callerType") === "session" && isStaffRbacEnforced(c.env)) {
107
96
  const scopes = c.get("scopes");
108
- const resource = apiKeyResourceFromPath(new URL(c.req.url).pathname);
97
+ const pathname = normalizePathname(new URL(c.req.url).pathname, {
98
+ basePath: options.basePath,
99
+ });
100
+ const resource = apiKeyResourceFromPath(pathname);
109
101
  if (resource && resource !== "_meta") {
110
102
  const actions = apiKeyPermissionActionsForMethod(c.req.method);
111
103
  if (!hasAnyApiKeyPermission(scopes, resource, actions)) {
package/dist/module.d.ts CHANGED
@@ -51,6 +51,18 @@ export interface HonoModule {
51
51
  * require a `staff` actor.
52
52
  */
53
53
  anonymous?: boolean | readonly string[];
54
+ /**
55
+ * Absolute API path prefixes whose requests must be served by the
56
+ * transaction-capable db client (ADR-0008). For modules whose
57
+ * transaction-needing routes are NOT under the name-based surface — e.g. a
58
+ * lazy family mounted at `/v1/admin/catalog/quote` rather than
59
+ * `/v1/admin/{name}` — and where only a SUBSET of the family's routes
60
+ * transact (so the boolean `module.requiresTransactionalDb` would be too
61
+ * broad). For the common case (all of a module's routes transact) prefer
62
+ * `module.requiresTransactionalDb`. Folded into the transactional-prefix map
63
+ * so the deployment doesn't hand-maintain `dbTransactionalPaths`.
64
+ */
65
+ transactionalPaths?: readonly string[];
54
66
  }
55
67
  export interface HonoExtension {
56
68
  extension: Extension;
@@ -79,5 +91,10 @@ export interface HonoExtension {
79
91
  * to the extension's public mount.
80
92
  */
81
93
  anonymous?: boolean | readonly string[];
94
+ /**
95
+ * Absolute transactional path prefixes — same semantics as
96
+ * {@link HonoModule.transactionalPaths}.
97
+ */
98
+ transactionalPaths?: readonly string[];
82
99
  }
83
100
  //# sourceMappingURL=module.d.ts.map
@@ -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;;;;;;OAMG;IAEH,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,kEAAkE;IAElE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,uFAAuF;IAEvF,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB;;;;;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;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,SAAS,CAAA;IACpB,0DAA0D;IAE1D,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,uEAAuE;IAEvE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,4FAA4F;IAE5F,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,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;CACxC"}
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;;;;;;OAMG;IAEH,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,kEAAkE;IAElE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,uFAAuF;IAEvF,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB;;;;;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,0DAA0D;IAE1D,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,uEAAuE;IAEvE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,4FAA4F;IAE5F,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,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"}
package/dist/plugin.d.ts CHANGED
@@ -27,6 +27,17 @@ export interface HonoBundle {
27
27
  subscribers?: Subscriber[];
28
28
  /** Link definitions contributed by the plugin. */
29
29
  links?: LinkDefinition[];
30
+ /**
31
+ * Absolute API paths this bundle exposes that are reachable WITHOUT a session
32
+ * (ADR-0008). Unlike a module/extension's `anonymous` (relative to its
33
+ * `/v1/public` mount), bundle routes can mount anywhere — e.g. a payment
34
+ * processor's webhook at `/v1/finance/providers/netopia/callback`, which the
35
+ * processor's servers POST to without a cookie or bearer. Declaring it here
36
+ * keeps the "reachable-without-auth" decision with the plugin that owns the
37
+ * route, instead of in every deployment's `publicPaths`. The framework folds
38
+ * these into the assembled anonymous allow-list.
39
+ */
40
+ anonymous?: string[];
30
41
  /**
31
42
  * Workflows contributed by the plugin. Mirrors the `Plugin.workflows`
32
43
  * field in `@voyant-travel/core` — collected at `createApp()` boot and
@@ -52,6 +63,8 @@ export interface ExpandedHonoBundles {
52
63
  extensions: HonoExtension[];
53
64
  subscribers: Subscriber[];
54
65
  links: LinkDefinition[];
66
+ /** Absolute anonymous-access paths declared by bundles (ADR-0008). */
67
+ anonymousPaths: string[];
55
68
  }
56
69
  /** @deprecated Prefer {@link ExpandedHonoBundles}. */
57
70
  export type ExpandedHonoPlugins = ExpandedHonoBundles;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE5D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,gEAAgE;IAChE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,sEAAsE;IACtE,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;IAC5B,wEAAwE;IACxE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,kDAAkD;IAClD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAA;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACzC;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAChD;AAED,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAAG,UAAU,CAAA;AAEnC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEnE;AAED,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,yBAAmB,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB;AAED,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;AAErD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAoBzF;AAED,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,0BAAoB,CAAA"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE5D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,gEAAgE;IAChE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,sEAAsE;IACtE,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;IAC5B,wEAAwE;IACxE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,kDAAkD;IAClD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAA;IACxB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACzC;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAChD;AAED,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAAG,UAAU,CAAA;AAEnC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEnE;AAED,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,yBAAmB,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,sEAAsE;IACtE,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;AAErD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAsBzF;AAED,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,0BAAoB,CAAA"}
package/dist/plugin.js CHANGED
@@ -17,6 +17,7 @@ export function expandHonoBundles(bundles) {
17
17
  const extensions = [];
18
18
  const subscribers = [];
19
19
  const links = [];
20
+ const anonymousPaths = [];
20
21
  for (const bundle of bundles) {
21
22
  if (seen.has(bundle.name)) {
22
23
  throw new Error(`Duplicate bundle name: "${bundle.name}"`);
@@ -30,8 +31,10 @@ export function expandHonoBundles(bundles) {
30
31
  subscribers.push(...bundle.subscribers);
31
32
  if (bundle.links)
32
33
  links.push(...bundle.links);
34
+ if (bundle.anonymous)
35
+ anonymousPaths.push(...bundle.anonymous);
33
36
  }
34
- return { modules, extensions, subscribers, links };
37
+ return { modules, extensions, subscribers, links, anonymousPaths };
35
38
  }
36
39
  /** @deprecated Prefer {@link expandHonoBundles}. */
37
40
  export const expandHonoPlugins = expandHonoBundles;
package/dist/types.d.ts CHANGED
@@ -187,6 +187,13 @@ export interface VoyantAppConfig<TBindings extends VoyantBindings = VoyantBindin
187
187
  link?: LinkService;
188
188
  query?: QueryGraphContext | VoyantQueryRuntime;
189
189
  auth?: VoyantAuthIntegration<TBindings>;
190
+ /**
191
+ * Hosting/deployment prefix to strip before app-local path decisions such as
192
+ * auth publicPaths, public-write rate limiting, actor guards, and DB surface
193
+ * selection. Example: a Hono app mounted at `/api` still declares routes and
194
+ * publicPaths as `/v1/...`, so set `basePath: "/api"`.
195
+ */
196
+ basePath?: string;
190
197
  publicPaths?: string[];
191
198
  logger?: LoggerProvider;
192
199
  /**
@@ -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":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,eAAe,IAAI,mBAAmB,EACtC,QAAQ,EACR,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IAC/C,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,4BAA4B,EAAE,4BAA4B,CAAA;IAChF;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,yBAAyB,EAAE,0BAA0B,CAAA;CACvE;AAED,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAA;AAC7E,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAA;AAE5C,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,QAAQ,CAAA;IACZ,oEAAoE;IACpE,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,EAAE,QAAQ,CAAA;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,oEAAoE;IACpE,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,iCAAiC,EAAE,cAAc,CAAA;IACzE,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAA;CACvE,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,QAAQ,CAAA;IACZ,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,MAAM,MAAM,SAAS,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,IAAI,CACzE,GAAG,EAAE,SAAS,KACX,QAAQ,GAAG,YAAY,CAAA;AAE5B;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc;IACnF,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC7B;;;;;OAKG;IACH,uBAAuB,EAAE,OAAO,CAAA;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc;IAClF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;CACpD;AAED,wEAAwE;AACxE,MAAM,MAAM,QAAQ,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,IAClE,SAAS,CAAC,SAAS,CAAC,GACpB,iBAAiB,CAAC,SAAS,CAAC,CAAA;AAEhC,wBAAgB,mBAAmB,CAAC,SAAS,SAAS,cAAc,EAClE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC1B,MAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAExC;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,SAAS,SAAS,cAAc,EAC9D,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC3B,IAAI,EAAE,MAAM,GACX,SAAS,CAAC,SAAS,CAAC,CAEtB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,KAAK,IAAI,YAAY,CAKpF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG;IACtE,EAAE,EAAE,QAAQ,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B,CAOA;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc;IACtF,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,SAAS,CAAA;IACd,EAAE,EAAE,QAAQ,CAAA;IACZ,GAAG,CAAC,EAAE,sBAAsB,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,CACzF,SAAQ,qBAAqB,CAAC,SAAS,CAAC;IACxC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,wBAAwB,CAAA;CAC/B;AAED,MAAM,WAAW,8BAA8B,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,CAC/F,SAAQ,qBAAqB,CAAC,SAAS,CAAC;IACxC,MAAM,EAAE,YAAY,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc;IACtF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK;QAC5B,KAAK,EAAE,CACL,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,SAAS,EACd,GAAG,CAAC,EAAE,sBAAsB,KACzB,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;KAClC,CAAA;IACD;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,CACR,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,KACnC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,GAAG,wBAAwB,GAAG,IAAI,CAAA;IAC/E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IACzF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,8BAA8B,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CACjG;AAED,MAAM,WAAW,eAAe,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc;IAChF,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACxB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACtC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;IAC5B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAAA;IAC9C,IAAI,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,8BAA8B,EAAE,kBAAkB,CAAA;IAC/E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,GAAG,OAAO,kCAAkC,EAAE,sBAAsB,CAAA;IAC3F;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,4BAA4B,EAAE,eAAe,CAAA;IACxE;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAA;IACjC;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE;QACV,eAAe,EAAE,MAAM,CAAA;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,UAAU,EAAE,aAAa,CAAC;YACxB,EAAE,EAAE,MAAM,CAAA;YACV,MAAM,EAAE,MAAM,CAAA;YACd,YAAY,EAAE,MAAM,CAAA;YACpB,cAAc,EAAE,MAAM,CAAA;YACtB,MAAM,EAAE,MAAM,EAAE,CAAA;YAChB,aAAa,CAAC,EAAE,MAAM,CAAA;SACvB,CAAC,CAAA;KACH,CAAA;IAED,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,qBAAqB,CAAC,SAAS,GAAG,OAAO;IACxD;;;;OAIG;IACH,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,aAAa,CAAA;IAC9C;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,CAAA;IACtD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyant-travel/hono",
3
- "version": "0.115.0",
3
+ "version": "0.116.1",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -125,18 +125,18 @@
125
125
  "hono": "^4.12.10",
126
126
  "zod": "^4.3.6",
127
127
  "@voyant-travel/core": "^0.111.0",
128
- "@voyant-travel/db": "^0.109.0",
129
128
  "@voyant-travel/storage": "^0.105.0",
129
+ "@voyant-travel/db": "^0.109.2",
130
130
  "@voyant-travel/types": "^0.106.0",
131
131
  "@voyant-travel/utils": "^0.105.4",
132
- "@voyant-travel/workflows": "^0.111.5"
132
+ "@voyant-travel/workflows": "^0.111.7"
133
133
  },
134
134
  "devDependencies": {
135
135
  "@cloudflare/workers-types": "^4.20260426.1",
136
136
  "typescript": "^6.0.2",
137
137
  "vitest": "^4.1.2",
138
138
  "@voyant-travel/voyant-typescript-config": "^0.1.0",
139
- "@voyant-travel/workflows-orchestrator": "^0.111.5"
139
+ "@voyant-travel/workflows-orchestrator": "^0.111.7"
140
140
  },
141
141
  "files": [
142
142
  "dist"