@mastra/nestjs 0.2.30-alpha.0 → 0.2.30

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.
@@ -1 +1 @@
1
- {"version":3,"file":"mastra.module.d.ts","sourceRoot":"","sources":["../src/mastra.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mastra.module.d.ts","sourceRoot":"","sources":["../src/mastra.module.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,40 @@
1
1
  import type { Mastra } from '@mastra/core/mastra';
2
- import type { Request } from 'express';
2
+ import { RequestContext } from '@mastra/core/request-context';
3
+ import type { Request, Response } from 'express';
3
4
  import type { MastraModuleOptions } from '../mastra.module.js';
5
+ import { CustomRouteService } from './custom-route.service.js';
6
+ export interface AuthenticateOptions {
7
+ /** Request context that receives the user, auth token, and mapped resource ID. */
8
+ requestContext?: RequestContext;
9
+ /** Response used to forward session refresh headers (e.g. Set-Cookie). */
10
+ response?: Response;
11
+ /** Force authentication even for publicly accessible paths. */
12
+ requiresAuth?: boolean;
13
+ /** Set when `requiresAuth` comes from a matched `server.apiRoutes` entry. */
14
+ customRoute?: boolean;
15
+ }
4
16
  /**
5
17
  * Service that handles authentication for Mastra routes.
6
- * Called after route matching to check if auth is required.
18
+ * Delegates to the shared `coreAuthMiddleware` so NestJS behaves like the
19
+ * other server adapters (cookie sessions, session refresh, RBAC,
20
+ * `mapUserToResourceId`).
7
21
  */
8
22
  export declare class AuthService {
9
23
  private readonly mastra;
10
24
  private readonly options;
11
- private readonly logger;
12
- constructor(mastra: Mastra, options: MastraModuleOptions);
25
+ private readonly customRoutes;
26
+ constructor(mastra: Mastra, options: MastraModuleOptions, customRoutes: CustomRouteService);
13
27
  /**
14
- * Check authentication for a request based on the matched route.
15
- * Returns the authenticated user if auth succeeds, undefined if no auth required.
16
- * Throws UnauthorizedException or ForbiddenException if auth fails.
17
- *
18
- * Type assertions (`as any`) are used because `@mastra/server/auth` types
19
- * are Hono-centric. The runtime values work with Express requests.
28
+ * Whether Mastra auth should run: module options enable it, or the Mastra
29
+ * server has auth configured (unless module options explicitly disable it).
20
30
  */
21
- authenticate(request: Request): Promise<unknown>;
31
+ isEnabled(): boolean;
22
32
  /**
23
- * Check authorization for an authenticated user.
24
- * `authConfig` is typed as `any` because `@mastra/server/auth` doesn't
25
- * export a standalone type for the auth config object.
33
+ * Check authentication for a request.
34
+ * Returns the authenticated user if auth succeeds, undefined if no auth required.
35
+ * Throws UnauthorizedException or ForbiddenException if auth fails.
26
36
  */
27
- private authorize;
37
+ authenticate(request: Request, options?: AuthenticateOptions): Promise<unknown>;
28
38
  /**
29
39
  * Extract authentication token from request.
30
40
  * Supports Authorization header (Bearer token) and API key query param.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAUlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAU5D;;;GAGG;AACH,qBACa,WAAW;IAIJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IACf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJlD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,YACmC,MAAM,EAAE,MAAM,EACN,OAAO,EAAE,mBAAmB,EACnE;IAEJ;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA0ErD;IAED;;;;OAIG;YACW,SAAS;IAqDvB;;;OAGG;IACH,OAAO,CAAC,YAAY;CAuBrB"}
1
+ {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBACa,WAAW;IAEJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IACf,OAAO,CAAC,QAAQ,CAAC,OAAO;IACpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAH3D,YACmC,MAAM,EAAE,MAAM,EACN,OAAO,EAAE,mBAAmB,EACxB,YAAY,EAAE,kBAAkB,EAC3E;IAEJ;;;OAGG;IACH,SAAS,IAAI,OAAO,CAGnB;IAED;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAiExF;IAED;;;OAGG;IACH,OAAO,CAAC,YAAY;CAuBrB"}
@@ -0,0 +1,30 @@
1
+ import type { Mastra } from '@mastra/core/mastra';
2
+ import { RequestContext } from '@mastra/core/request-context';
3
+ import type { Request, Response as ExpressResponse } from 'express';
4
+ import type { MastraModuleOptions } from '../mastra.module.js';
5
+ /** Authenticates a matched custom route. Throws to reject the request. */
6
+ export type CustomRouteAuthenticate = (requiresAuth: boolean) => Promise<void>;
7
+ /**
8
+ * Serves custom routes registered with `registerApiRoute()` via `server.apiRoutes`,
9
+ * matching the behavior of the other Mastra server adapters.
10
+ */
11
+ export declare class CustomRouteService {
12
+ private readonly mastra;
13
+ private readonly routes;
14
+ private readonly authConfig;
15
+ private fetchPromise?;
16
+ constructor(mastra: Mastra, options: MastraModuleOptions);
17
+ /** Auth config for custom routes, keyed by `METHOD:path`. */
18
+ get customRouteAuthConfig(): Map<string, boolean>;
19
+ /**
20
+ * Runs a matched custom route and writes its response.
21
+ * Returns false if no custom route handled the request.
22
+ *
23
+ * `authenticate` runs after Hono's router selects the route, so auth is enforced
24
+ * for exactly the routes Hono dispatches (including regex-constrained params).
25
+ */
26
+ handle(req: Request, res: ExpressResponse, requestContext: RequestContext, authenticate: CustomRouteAuthenticate): Promise<boolean>;
27
+ private build;
28
+ private toFetchRequest;
29
+ }
30
+ //# sourceMappingURL=custom-route.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-route.service.d.ts","sourceRoot":"","sources":["../../src/services/custom-route.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAIpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAM5D,0EAA0E;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAM/E;;;GAGG;AACH,qBACa,kBAAkB;IAMX,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,YAAY,CAAC,CAA4B;IAEjD,YACmC,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,mBAAmB,EAYrD;IAED,6DAA6D;IAC7D,IAAI,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhD;IAED;;;;;;OAMG;IACG,MAAM,CACV,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,eAAe,EACpB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,uBAAuB,GACpC,OAAO,CAAC,OAAO,CAAC,CAmDlB;YAEa,KAAK;IAiEnB,OAAO,CAAC,cAAc;CAgCvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/nestjs",
3
- "version": "0.2.30-alpha.0",
3
+ "version": "0.2.30",
4
4
  "description": "Mastra NestJS adapter for the server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,7 +21,8 @@
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
23
  "@fastify/busboy": "^3.2.2",
24
- "@mastra/server": "1.71.0-alpha.0"
24
+ "hono": "^4.13.7",
25
+ "@mastra/server": "1.71.0"
25
26
  },
26
27
  "devDependencies": {
27
28
  "@ai-sdk/openai": "^2.0.115",
@@ -43,15 +44,15 @@
43
44
  "typescript": "^7.0.2",
44
45
  "vitest": "^4.1.11",
45
46
  "zod": "^3.25.0",
46
- "@internal/lint": "0.0.136",
47
- "@internal/types-builder": "0.0.111",
48
- "@internal/storage-test-utils": "0.0.132",
49
- "@mastra/core": "1.71.0-alpha.0",
50
- "@mastra/evals": "1.10.2",
51
- "@mastra/libsql": "1.23.2",
47
+ "@internal/lint": "0.0.137",
52
48
  "@mastra/server-adapters-test-suite": "0.1.0",
53
- "@mastra/memory": "1.32.0",
54
- "@mastra/observability": "1.18.0"
49
+ "@internal/storage-test-utils": "0.0.133",
50
+ "@mastra/evals": "1.10.3",
51
+ "@internal/types-builder": "0.0.112",
52
+ "@mastra/core": "1.71.0",
53
+ "@mastra/memory": "1.32.1",
54
+ "@mastra/libsql": "1.23.3",
55
+ "@mastra/observability": "1.18.1"
55
56
  },
56
57
  "peerDependencies": {
57
58
  "@mastra/core": ">=1.58.0-0 <2.0.0-0",