@mastra/auth-firebase 1.0.0-beta.1 → 1.0.2
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 +14 -0
- package/LICENSE.md +15 -0
- package/dist/index.cjs +3 -135
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -134
- package/dist/index.js.map +1 -1
- package/package.json +15 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @mastra/auth-firebase
|
|
2
2
|
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
|
|
8
|
+
|
|
9
|
+
- Experimental auth -> auth ([#9660](https://github.com/mastra-ai/mastra/pull/9660))
|
|
10
|
+
|
|
11
|
+
- Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Allow provider to pass through options to the auth config ([#10284](https://github.com/mastra-ai/mastra/pull/10284))
|
|
16
|
+
|
|
3
17
|
## 1.0.0-beta.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/LICENSE.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
Portions of this software are licensed as follows:
|
|
2
|
+
|
|
3
|
+
- All content that resides under any directory named "ee/" within this
|
|
4
|
+
repository, including but not limited to:
|
|
5
|
+
- `packages/core/src/auth/ee/`
|
|
6
|
+
- `packages/server/src/server/auth/ee/`
|
|
7
|
+
is licensed under the license defined in `ee/LICENSE`.
|
|
8
|
+
|
|
9
|
+
- All third-party components incorporated into the Mastra Software are
|
|
10
|
+
licensed under the original license provided by the owner of the
|
|
11
|
+
applicable component.
|
|
12
|
+
|
|
13
|
+
- Content outside of the above-mentioned directories or restrictions is
|
|
14
|
+
available under the "Apache License 2.0" as defined below.
|
|
15
|
+
|
|
1
16
|
# Apache License 2.0
|
|
2
17
|
|
|
3
18
|
Copyright (c) 2025 Kepler Software, Inc.
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var server = require('@mastra/core/server');
|
|
3
4
|
var admin = require('firebase-admin');
|
|
4
5
|
var firestore = require('firebase-admin/firestore');
|
|
5
6
|
|
|
@@ -7,141 +8,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
7
8
|
|
|
8
9
|
var admin__default = /*#__PURE__*/_interopDefault(admin);
|
|
9
10
|
|
|
10
|
-
//
|
|
11
|
-
var
|
|
12
|
-
LLM: "LLM"};
|
|
13
|
-
var LogLevel = {
|
|
14
|
-
DEBUG: "debug",
|
|
15
|
-
INFO: "info",
|
|
16
|
-
WARN: "warn",
|
|
17
|
-
ERROR: "error"};
|
|
18
|
-
var MastraLogger = class {
|
|
19
|
-
name;
|
|
20
|
-
level;
|
|
21
|
-
transports;
|
|
22
|
-
constructor(options = {}) {
|
|
23
|
-
this.name = options.name || "Mastra";
|
|
24
|
-
this.level = options.level || LogLevel.ERROR;
|
|
25
|
-
this.transports = new Map(Object.entries(options.transports || {}));
|
|
26
|
-
}
|
|
27
|
-
getTransports() {
|
|
28
|
-
return this.transports;
|
|
29
|
-
}
|
|
30
|
-
trackException(_error) {
|
|
31
|
-
}
|
|
32
|
-
async listLogs(transportId, params) {
|
|
33
|
-
if (!transportId || !this.transports.has(transportId)) {
|
|
34
|
-
return { logs: [], total: 0, page: params?.page ?? 1, perPage: params?.perPage ?? 100, hasMore: false };
|
|
35
|
-
}
|
|
36
|
-
return this.transports.get(transportId).listLogs(params) ?? {
|
|
37
|
-
logs: [],
|
|
38
|
-
total: 0,
|
|
39
|
-
page: params?.page ?? 1,
|
|
40
|
-
perPage: params?.perPage ?? 100,
|
|
41
|
-
hasMore: false
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
async listLogsByRunId({
|
|
45
|
-
transportId,
|
|
46
|
-
runId,
|
|
47
|
-
fromDate,
|
|
48
|
-
toDate,
|
|
49
|
-
logLevel,
|
|
50
|
-
filters,
|
|
51
|
-
page,
|
|
52
|
-
perPage
|
|
53
|
-
}) {
|
|
54
|
-
if (!transportId || !this.transports.has(transportId) || !runId) {
|
|
55
|
-
return { logs: [], total: 0, page: page ?? 1, perPage: perPage ?? 100, hasMore: false };
|
|
56
|
-
}
|
|
57
|
-
return this.transports.get(transportId).listLogsByRunId({ runId, fromDate, toDate, logLevel, filters, page, perPage }) ?? {
|
|
58
|
-
logs: [],
|
|
59
|
-
total: 0,
|
|
60
|
-
page: page ?? 1,
|
|
61
|
-
perPage: perPage ?? 100,
|
|
62
|
-
hasMore: false
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
var ConsoleLogger = class extends MastraLogger {
|
|
67
|
-
constructor(options = {}) {
|
|
68
|
-
super(options);
|
|
69
|
-
}
|
|
70
|
-
debug(message, ...args) {
|
|
71
|
-
if (this.level === LogLevel.DEBUG) {
|
|
72
|
-
console.info(message, ...args);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
info(message, ...args) {
|
|
76
|
-
if (this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
|
|
77
|
-
console.info(message, ...args);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
warn(message, ...args) {
|
|
81
|
-
if (this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
|
|
82
|
-
console.info(message, ...args);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
error(message, ...args) {
|
|
86
|
-
if (this.level === LogLevel.ERROR || this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
|
|
87
|
-
console.error(message, ...args);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
async listLogs(_transportId, _params) {
|
|
91
|
-
return { logs: [], total: 0, page: _params?.page ?? 1, perPage: _params?.perPage ?? 100, hasMore: false };
|
|
92
|
-
}
|
|
93
|
-
async listLogsByRunId(_args) {
|
|
94
|
-
return { logs: [], total: 0, page: _args.page ?? 1, perPage: _args.perPage ?? 100, hasMore: false };
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
// ../../packages/core/dist/chunk-S6URFGCZ.js
|
|
99
|
-
var MastraBase = class {
|
|
100
|
-
component = RegisteredLogger.LLM;
|
|
101
|
-
logger;
|
|
102
|
-
name;
|
|
103
|
-
constructor({ component, name }) {
|
|
104
|
-
this.component = component || RegisteredLogger.LLM;
|
|
105
|
-
this.name = name;
|
|
106
|
-
this.logger = new ConsoleLogger({ name: `${this.component} - ${this.name}` });
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Set the logger for the agent
|
|
110
|
-
* @param logger
|
|
111
|
-
*/
|
|
112
|
-
__setLogger(logger) {
|
|
113
|
-
this.logger = logger;
|
|
114
|
-
if (this.component !== RegisteredLogger.LLM) {
|
|
115
|
-
this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
// ../../packages/core/dist/server/index.js
|
|
121
|
-
var MastraAuthProvider = class extends MastraBase {
|
|
122
|
-
protected;
|
|
123
|
-
public;
|
|
124
|
-
constructor(options) {
|
|
125
|
-
super({ component: "AUTH", name: options?.name });
|
|
126
|
-
if (options?.authorizeUser) {
|
|
127
|
-
this.authorizeUser = options.authorizeUser.bind(this);
|
|
128
|
-
}
|
|
129
|
-
this.protected = options?.protected;
|
|
130
|
-
this.public = options?.public;
|
|
131
|
-
}
|
|
132
|
-
registerOptions(opts) {
|
|
133
|
-
if (opts?.authorizeUser) {
|
|
134
|
-
this.authorizeUser = opts.authorizeUser.bind(this);
|
|
135
|
-
}
|
|
136
|
-
if (opts?.protected) {
|
|
137
|
-
this.protected = opts.protected;
|
|
138
|
-
}
|
|
139
|
-
if (opts?.public) {
|
|
140
|
-
this.public = opts.public;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
var MastraAuthFirebase = class extends MastraAuthProvider {
|
|
11
|
+
// src/index.ts
|
|
12
|
+
var MastraAuthFirebase = class extends server.MastraAuthProvider {
|
|
145
13
|
serviceAccount;
|
|
146
14
|
databaseId;
|
|
147
15
|
constructor(options) {
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/core/src/logger/constants.ts","../../../packages/core/src/logger/logger.ts","../../../packages/core/src/logger/default-logger.ts","../../../packages/core/src/base.ts","../../../packages/core/src/server/auth.ts","../src/index.ts"],"names":["admin","getFirestore"],"mappings":"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","file":"index.cjs","sourcesContent":["// Constants and Types (keeping from original implementation)\nexport const RegisteredLogger = {\n AGENT: 'AGENT',\n OBSERVABILITY: 'OBSERVABILITY',\n AUTH: 'AUTH',\n NETWORK: 'NETWORK',\n WORKFLOW: 'WORKFLOW',\n LLM: 'LLM',\n TTS: 'TTS',\n VOICE: 'VOICE',\n VECTOR: 'VECTOR',\n BUNDLER: 'BUNDLER',\n DEPLOYER: 'DEPLOYER',\n MEMORY: 'MEMORY',\n STORAGE: 'STORAGE',\n EMBEDDINGS: 'EMBEDDINGS',\n MCP_SERVER: 'MCP_SERVER',\n SERVER_CACHE: 'SERVER_CACHE',\n} as const;\n\nexport type RegisteredLogger = (typeof RegisteredLogger)[keyof typeof RegisteredLogger];\n\nexport const LogLevel = {\n DEBUG: 'debug',\n INFO: 'info',\n WARN: 'warn',\n ERROR: 'error',\n NONE: 'silent',\n} as const;\n\nexport type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];\n","import type { MastraError } from '../error';\nimport { LogLevel } from './constants';\nimport type { BaseLogMessage, LoggerTransport } from './transport';\n\nexport interface IMastraLogger {\n debug(message: string, ...args: any[]): void;\n info(message: string, ...args: any[]): void;\n warn(message: string, ...args: any[]): void;\n error(message: string, ...args: any[]): void;\n trackException(error: MastraError): void;\n\n getTransports(): Map<string, LoggerTransport>;\n listLogs(\n _transportId: string,\n _params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n },\n ): Promise<{ logs: BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean }>;\n listLogsByRunId(_args: {\n transportId: string;\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }): Promise<{ logs: BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean }>;\n}\n\nexport abstract class MastraLogger implements IMastraLogger {\n protected name: string;\n protected level: LogLevel;\n protected transports: Map<string, LoggerTransport>;\n\n constructor(\n options: {\n name?: string;\n level?: LogLevel;\n transports?: Record<string, LoggerTransport>;\n } = {},\n ) {\n this.name = options.name || 'Mastra';\n this.level = options.level || LogLevel.ERROR;\n this.transports = new Map(Object.entries(options.transports || {}));\n }\n\n abstract debug(message: string, ...args: any[]): void;\n abstract info(message: string, ...args: any[]): void;\n abstract warn(message: string, ...args: any[]): void;\n abstract error(message: string, ...args: any[]): void;\n\n getTransports() {\n return this.transports;\n }\n\n trackException(_error: MastraError) {}\n\n async listLogs(\n transportId: string,\n params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n },\n ) {\n if (!transportId || !this.transports.has(transportId)) {\n return { logs: [], total: 0, page: params?.page ?? 1, perPage: params?.perPage ?? 100, hasMore: false };\n }\n\n return (\n this.transports.get(transportId)!.listLogs(params) ?? {\n logs: [],\n total: 0,\n page: params?.page ?? 1,\n perPage: params?.perPage ?? 100,\n hasMore: false,\n }\n );\n }\n\n async listLogsByRunId({\n transportId,\n runId,\n fromDate,\n toDate,\n logLevel,\n filters,\n page,\n perPage,\n }: {\n transportId: string;\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }) {\n if (!transportId || !this.transports.has(transportId) || !runId) {\n return { logs: [], total: 0, page: page ?? 1, perPage: perPage ?? 100, hasMore: false };\n }\n\n return (\n this.transports\n .get(transportId)!\n .listLogsByRunId({ runId, fromDate, toDate, logLevel, filters, page, perPage }) ?? {\n logs: [],\n total: 0,\n page: page ?? 1,\n perPage: perPage ?? 100,\n hasMore: false,\n }\n );\n }\n}\n","import { LogLevel } from './constants';\nimport { MastraLogger } from './logger';\nimport type { LoggerTransport } from './transport';\n\nexport const createLogger = (options: {\n name?: string;\n level?: LogLevel;\n transports?: Record<string, LoggerTransport>;\n}) => {\n const logger = new ConsoleLogger(options);\n\n logger.warn(`createLogger is deprecated. Please use \"new ConsoleLogger()\" from \"@mastra/core/logger\" instead.`);\n\n return logger;\n};\n\nexport class ConsoleLogger extends MastraLogger {\n constructor(\n options: {\n name?: string;\n level?: LogLevel;\n } = {},\n ) {\n super(options);\n }\n\n debug(message: string, ...args: any[]): void {\n if (this.level === LogLevel.DEBUG) {\n console.info(message, ...args);\n }\n }\n\n info(message: string, ...args: any[]): void {\n if (this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {\n console.info(message, ...args);\n }\n }\n\n warn(message: string, ...args: any[]): void {\n if (this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {\n console.info(message, ...args);\n }\n }\n\n error(message: string, ...args: any[]): void {\n if (\n this.level === LogLevel.ERROR ||\n this.level === LogLevel.WARN ||\n this.level === LogLevel.INFO ||\n this.level === LogLevel.DEBUG\n ) {\n console.error(message, ...args);\n }\n }\n\n async listLogs(\n _transportId: string,\n _params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n },\n ) {\n return { logs: [], total: 0, page: _params?.page ?? 1, perPage: _params?.perPage ?? 100, hasMore: false };\n }\n\n async listLogsByRunId(_args: {\n transportId: string;\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }) {\n return { logs: [], total: 0, page: _args.page ?? 1, perPage: _args.perPage ?? 100, hasMore: false };\n }\n}\n","import type { IMastraLogger } from './logger';\nimport { RegisteredLogger } from './logger/constants';\nimport { ConsoleLogger } from './logger/default-logger';\n\nexport class MastraBase {\n component: RegisteredLogger = RegisteredLogger.LLM;\n protected logger: IMastraLogger;\n name?: string;\n\n constructor({ component, name }: { component?: RegisteredLogger; name?: string }) {\n this.component = component || RegisteredLogger.LLM;\n this.name = name;\n this.logger = new ConsoleLogger({ name: `${this.component} - ${this.name}` });\n }\n\n /**\n * Set the logger for the agent\n * @param logger\n */\n __setLogger(logger: IMastraLogger) {\n this.logger = logger;\n\n if (this.component !== RegisteredLogger.LLM) {\n this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);\n }\n }\n}\n\nexport * from './types';\n","import type { HonoRequest } from 'hono';\nimport { MastraBase } from '../base';\nimport type { MastraAuthConfig } from './types';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n /**\n * Protected paths for the auth provider\n */\n protected?: MastraAuthConfig['protected'];\n /**\n * Public paths for the auth provider\n */\n public?: MastraAuthConfig['public'];\n}\n\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\n public protected?: MastraAuthConfig['protected'];\n public public?: MastraAuthConfig['public'];\n\n constructor(options?: MastraAuthProviderOptions<TUser>) {\n super({ component: 'AUTH', name: options?.name });\n\n if (options?.authorizeUser) {\n this.authorizeUser = options.authorizeUser.bind(this);\n }\n\n this.protected = options?.protected;\n this.public = options?.public;\n }\n\n /**\n * Authenticate a token and return the payload\n * @param token - The token to authenticate\n * @param request - The request\n * @returns The payload\n */\n abstract authenticateToken(token: string, request: HonoRequest): Promise<TUser | null>;\n\n /**\n * Authorize a user for a path and method\n * @param user - The user to authorize\n * @param request - The request\n * @returns The authorization result\n */\n abstract authorizeUser(user: TUser, request: HonoRequest): Promise<boolean> | boolean;\n\n protected registerOptions(opts?: MastraAuthProviderOptions<TUser>) {\n if (opts?.authorizeUser) {\n this.authorizeUser = opts.authorizeUser.bind(this);\n }\n if (opts?.protected) {\n this.protected = opts.protected;\n }\n if (opts?.public) {\n this.public = opts.public;\n }\n }\n}\n","import type { MastraAuthProviderOptions } from '@mastra/core/server';\nimport { MastraAuthProvider } from '@mastra/core/server';\n\nimport admin from 'firebase-admin';\nimport { getFirestore } from 'firebase-admin/firestore';\n\ntype FirebaseUser = admin.auth.DecodedIdToken;\n\ninterface MastraAuthFirebaseOptions extends MastraAuthProviderOptions<FirebaseUser> {\n databaseId?: string;\n serviceAccount?: string;\n}\n\nexport class MastraAuthFirebase extends MastraAuthProvider<FirebaseUser> {\n private serviceAccount: string | undefined;\n private databaseId: string | undefined;\n\n constructor(options?: MastraAuthFirebaseOptions) {\n super({ name: options?.name ?? 'firebase' });\n\n this.serviceAccount = options?.serviceAccount ?? process.env.FIREBASE_SERVICE_ACCOUNT;\n this.databaseId = options?.databaseId ?? process.env.FIRESTORE_DATABASE_ID ?? process.env.FIREBASE_DATABASE_ID;\n\n if (!admin.apps.length) {\n admin.initializeApp({\n credential: this.serviceAccount\n ? admin.credential.cert(this.serviceAccount)\n : admin.credential.applicationDefault(),\n });\n }\n\n this.registerOptions(options);\n }\n\n async authenticateToken(token: string): Promise<FirebaseUser | null> {\n const decoded = await admin.auth().verifyIdToken(token);\n return decoded;\n }\n\n async authorizeUser(user: FirebaseUser) {\n const db = this.databaseId ? getFirestore(this.databaseId) : getFirestore();\n const userAccess = await db.doc(`/user_access/${user.uid}`).get();\n const userAccessData = userAccess.data();\n\n if (!userAccessData) {\n return false;\n }\n\n return true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["MastraAuthProvider","admin","getFirestore"],"mappings":";;;;;;;;;;;AAaO,IAAM,kBAAA,GAAN,cAAiCA,yBAAA,CAAiC;AAAA,EAC/D,cAAA;AAAA,EACA,UAAA;AAAA,EAER,YAAY,OAAA,EAAqC;AAC/C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,IAAQ,YAAY,CAAA;AAE3C,IAAA,IAAA,CAAK,cAAA,GAAiB,OAAA,EAAS,cAAA,IAAkB,OAAA,CAAQ,GAAA,CAAI,wBAAA;AAC7D,IAAA,IAAA,CAAK,aAAa,OAAA,EAAS,UAAA,IAAc,QAAQ,GAAA,CAAI,qBAAA,IAAyB,QAAQ,GAAA,CAAI,oBAAA;AAE1F,IAAA,IAAI,CAACC,sBAAA,CAAM,IAAA,CAAK,MAAA,EAAQ;AACtB,MAAAA,sBAAA,CAAM,aAAA,CAAc;AAAA,QAClB,UAAA,EAAY,IAAA,CAAK,cAAA,GACbA,sBAAA,CAAM,UAAA,CAAW,IAAA,CAAK,IAAA,CAAK,cAAc,CAAA,GACzCA,sBAAA,CAAM,UAAA,CAAW,kBAAA;AAAmB,OACzC,CAAA;AAAA,IACH;AAEA,IAAA,IAAA,CAAK,gBAAgB,OAAO,CAAA;AAAA,EAC9B;AAAA,EAEA,MAAM,kBAAkB,KAAA,EAA6C;AACnE,IAAA,MAAM,UAAU,MAAMA,sBAAA,CAAM,IAAA,EAAK,CAAE,cAAc,KAAK,CAAA;AACtD,IAAA,OAAO,OAAA;AAAA,EACT;AAAA,EAEA,MAAM,cAAc,IAAA,EAAoB;AACtC,IAAA,MAAM,KAAK,IAAA,CAAK,UAAA,GAAaC,uBAAa,IAAA,CAAK,UAAU,IAAIA,sBAAA,EAAa;AAC1E,IAAA,MAAM,UAAA,GAAa,MAAM,EAAA,CAAG,GAAA,CAAI,gBAAgB,IAAA,CAAK,GAAG,CAAA,CAAE,CAAA,CAAE,GAAA,EAAI;AAChE,IAAA,MAAM,cAAA,GAAiB,WAAW,IAAA,EAAK;AAEvC,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AACF","file":"index.cjs","sourcesContent":["import type { MastraAuthProviderOptions } from '@mastra/core/server';\nimport { MastraAuthProvider } from '@mastra/core/server';\n\nimport admin from 'firebase-admin';\nimport { getFirestore } from 'firebase-admin/firestore';\n\ntype FirebaseUser = admin.auth.DecodedIdToken;\n\ninterface MastraAuthFirebaseOptions extends MastraAuthProviderOptions<FirebaseUser> {\n databaseId?: string;\n serviceAccount?: string;\n}\n\nexport class MastraAuthFirebase extends MastraAuthProvider<FirebaseUser> {\n private serviceAccount: string | undefined;\n private databaseId: string | undefined;\n\n constructor(options?: MastraAuthFirebaseOptions) {\n super({ name: options?.name ?? 'firebase' });\n\n this.serviceAccount = options?.serviceAccount ?? process.env.FIREBASE_SERVICE_ACCOUNT;\n this.databaseId = options?.databaseId ?? process.env.FIRESTORE_DATABASE_ID ?? process.env.FIREBASE_DATABASE_ID;\n\n if (!admin.apps.length) {\n admin.initializeApp({\n credential: this.serviceAccount\n ? admin.credential.cert(this.serviceAccount)\n : admin.credential.applicationDefault(),\n });\n }\n\n this.registerOptions(options);\n }\n\n async authenticateToken(token: string): Promise<FirebaseUser | null> {\n const decoded = await admin.auth().verifyIdToken(token);\n return decoded;\n }\n\n async authorizeUser(user: FirebaseUser) {\n const db = this.databaseId ? getFirestore(this.databaseId) : getFirestore();\n const userAccess = await db.doc(`/user_access/${user.uid}`).get();\n const userAccessData = userAccess.data();\n\n if (!userAccessData) {\n return false;\n }\n\n return true;\n }\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -1,140 +1,8 @@
|
|
|
1
|
+
import { MastraAuthProvider } from '@mastra/core/server';
|
|
1
2
|
import admin from 'firebase-admin';
|
|
2
3
|
import { getFirestore } from 'firebase-admin/firestore';
|
|
3
4
|
|
|
4
|
-
//
|
|
5
|
-
var RegisteredLogger = {
|
|
6
|
-
LLM: "LLM"};
|
|
7
|
-
var LogLevel = {
|
|
8
|
-
DEBUG: "debug",
|
|
9
|
-
INFO: "info",
|
|
10
|
-
WARN: "warn",
|
|
11
|
-
ERROR: "error"};
|
|
12
|
-
var MastraLogger = class {
|
|
13
|
-
name;
|
|
14
|
-
level;
|
|
15
|
-
transports;
|
|
16
|
-
constructor(options = {}) {
|
|
17
|
-
this.name = options.name || "Mastra";
|
|
18
|
-
this.level = options.level || LogLevel.ERROR;
|
|
19
|
-
this.transports = new Map(Object.entries(options.transports || {}));
|
|
20
|
-
}
|
|
21
|
-
getTransports() {
|
|
22
|
-
return this.transports;
|
|
23
|
-
}
|
|
24
|
-
trackException(_error) {
|
|
25
|
-
}
|
|
26
|
-
async listLogs(transportId, params) {
|
|
27
|
-
if (!transportId || !this.transports.has(transportId)) {
|
|
28
|
-
return { logs: [], total: 0, page: params?.page ?? 1, perPage: params?.perPage ?? 100, hasMore: false };
|
|
29
|
-
}
|
|
30
|
-
return this.transports.get(transportId).listLogs(params) ?? {
|
|
31
|
-
logs: [],
|
|
32
|
-
total: 0,
|
|
33
|
-
page: params?.page ?? 1,
|
|
34
|
-
perPage: params?.perPage ?? 100,
|
|
35
|
-
hasMore: false
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
async listLogsByRunId({
|
|
39
|
-
transportId,
|
|
40
|
-
runId,
|
|
41
|
-
fromDate,
|
|
42
|
-
toDate,
|
|
43
|
-
logLevel,
|
|
44
|
-
filters,
|
|
45
|
-
page,
|
|
46
|
-
perPage
|
|
47
|
-
}) {
|
|
48
|
-
if (!transportId || !this.transports.has(transportId) || !runId) {
|
|
49
|
-
return { logs: [], total: 0, page: page ?? 1, perPage: perPage ?? 100, hasMore: false };
|
|
50
|
-
}
|
|
51
|
-
return this.transports.get(transportId).listLogsByRunId({ runId, fromDate, toDate, logLevel, filters, page, perPage }) ?? {
|
|
52
|
-
logs: [],
|
|
53
|
-
total: 0,
|
|
54
|
-
page: page ?? 1,
|
|
55
|
-
perPage: perPage ?? 100,
|
|
56
|
-
hasMore: false
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
var ConsoleLogger = class extends MastraLogger {
|
|
61
|
-
constructor(options = {}) {
|
|
62
|
-
super(options);
|
|
63
|
-
}
|
|
64
|
-
debug(message, ...args) {
|
|
65
|
-
if (this.level === LogLevel.DEBUG) {
|
|
66
|
-
console.info(message, ...args);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
info(message, ...args) {
|
|
70
|
-
if (this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
|
|
71
|
-
console.info(message, ...args);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
warn(message, ...args) {
|
|
75
|
-
if (this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
|
|
76
|
-
console.info(message, ...args);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
error(message, ...args) {
|
|
80
|
-
if (this.level === LogLevel.ERROR || this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
|
|
81
|
-
console.error(message, ...args);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
async listLogs(_transportId, _params) {
|
|
85
|
-
return { logs: [], total: 0, page: _params?.page ?? 1, perPage: _params?.perPage ?? 100, hasMore: false };
|
|
86
|
-
}
|
|
87
|
-
async listLogsByRunId(_args) {
|
|
88
|
-
return { logs: [], total: 0, page: _args.page ?? 1, perPage: _args.perPage ?? 100, hasMore: false };
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
// ../../packages/core/dist/chunk-S6URFGCZ.js
|
|
93
|
-
var MastraBase = class {
|
|
94
|
-
component = RegisteredLogger.LLM;
|
|
95
|
-
logger;
|
|
96
|
-
name;
|
|
97
|
-
constructor({ component, name }) {
|
|
98
|
-
this.component = component || RegisteredLogger.LLM;
|
|
99
|
-
this.name = name;
|
|
100
|
-
this.logger = new ConsoleLogger({ name: `${this.component} - ${this.name}` });
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Set the logger for the agent
|
|
104
|
-
* @param logger
|
|
105
|
-
*/
|
|
106
|
-
__setLogger(logger) {
|
|
107
|
-
this.logger = logger;
|
|
108
|
-
if (this.component !== RegisteredLogger.LLM) {
|
|
109
|
-
this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
// ../../packages/core/dist/server/index.js
|
|
115
|
-
var MastraAuthProvider = class extends MastraBase {
|
|
116
|
-
protected;
|
|
117
|
-
public;
|
|
118
|
-
constructor(options) {
|
|
119
|
-
super({ component: "AUTH", name: options?.name });
|
|
120
|
-
if (options?.authorizeUser) {
|
|
121
|
-
this.authorizeUser = options.authorizeUser.bind(this);
|
|
122
|
-
}
|
|
123
|
-
this.protected = options?.protected;
|
|
124
|
-
this.public = options?.public;
|
|
125
|
-
}
|
|
126
|
-
registerOptions(opts) {
|
|
127
|
-
if (opts?.authorizeUser) {
|
|
128
|
-
this.authorizeUser = opts.authorizeUser.bind(this);
|
|
129
|
-
}
|
|
130
|
-
if (opts?.protected) {
|
|
131
|
-
this.protected = opts.protected;
|
|
132
|
-
}
|
|
133
|
-
if (opts?.public) {
|
|
134
|
-
this.public = opts.public;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
};
|
|
5
|
+
// src/index.ts
|
|
138
6
|
var MastraAuthFirebase = class extends MastraAuthProvider {
|
|
139
7
|
serviceAccount;
|
|
140
8
|
databaseId;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/core/src/logger/constants.ts","../../../packages/core/src/logger/logger.ts","../../../packages/core/src/logger/default-logger.ts","../../../packages/core/src/base.ts","../../../packages/core/src/server/auth.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["// Constants and Types (keeping from original implementation)\nexport const RegisteredLogger = {\n AGENT: 'AGENT',\n OBSERVABILITY: 'OBSERVABILITY',\n AUTH: 'AUTH',\n NETWORK: 'NETWORK',\n WORKFLOW: 'WORKFLOW',\n LLM: 'LLM',\n TTS: 'TTS',\n VOICE: 'VOICE',\n VECTOR: 'VECTOR',\n BUNDLER: 'BUNDLER',\n DEPLOYER: 'DEPLOYER',\n MEMORY: 'MEMORY',\n STORAGE: 'STORAGE',\n EMBEDDINGS: 'EMBEDDINGS',\n MCP_SERVER: 'MCP_SERVER',\n SERVER_CACHE: 'SERVER_CACHE',\n} as const;\n\nexport type RegisteredLogger = (typeof RegisteredLogger)[keyof typeof RegisteredLogger];\n\nexport const LogLevel = {\n DEBUG: 'debug',\n INFO: 'info',\n WARN: 'warn',\n ERROR: 'error',\n NONE: 'silent',\n} as const;\n\nexport type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];\n","import type { MastraError } from '../error';\nimport { LogLevel } from './constants';\nimport type { BaseLogMessage, LoggerTransport } from './transport';\n\nexport interface IMastraLogger {\n debug(message: string, ...args: any[]): void;\n info(message: string, ...args: any[]): void;\n warn(message: string, ...args: any[]): void;\n error(message: string, ...args: any[]): void;\n trackException(error: MastraError): void;\n\n getTransports(): Map<string, LoggerTransport>;\n listLogs(\n _transportId: string,\n _params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n },\n ): Promise<{ logs: BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean }>;\n listLogsByRunId(_args: {\n transportId: string;\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }): Promise<{ logs: BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean }>;\n}\n\nexport abstract class MastraLogger implements IMastraLogger {\n protected name: string;\n protected level: LogLevel;\n protected transports: Map<string, LoggerTransport>;\n\n constructor(\n options: {\n name?: string;\n level?: LogLevel;\n transports?: Record<string, LoggerTransport>;\n } = {},\n ) {\n this.name = options.name || 'Mastra';\n this.level = options.level || LogLevel.ERROR;\n this.transports = new Map(Object.entries(options.transports || {}));\n }\n\n abstract debug(message: string, ...args: any[]): void;\n abstract info(message: string, ...args: any[]): void;\n abstract warn(message: string, ...args: any[]): void;\n abstract error(message: string, ...args: any[]): void;\n\n getTransports() {\n return this.transports;\n }\n\n trackException(_error: MastraError) {}\n\n async listLogs(\n transportId: string,\n params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n },\n ) {\n if (!transportId || !this.transports.has(transportId)) {\n return { logs: [], total: 0, page: params?.page ?? 1, perPage: params?.perPage ?? 100, hasMore: false };\n }\n\n return (\n this.transports.get(transportId)!.listLogs(params) ?? {\n logs: [],\n total: 0,\n page: params?.page ?? 1,\n perPage: params?.perPage ?? 100,\n hasMore: false,\n }\n );\n }\n\n async listLogsByRunId({\n transportId,\n runId,\n fromDate,\n toDate,\n logLevel,\n filters,\n page,\n perPage,\n }: {\n transportId: string;\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }) {\n if (!transportId || !this.transports.has(transportId) || !runId) {\n return { logs: [], total: 0, page: page ?? 1, perPage: perPage ?? 100, hasMore: false };\n }\n\n return (\n this.transports\n .get(transportId)!\n .listLogsByRunId({ runId, fromDate, toDate, logLevel, filters, page, perPage }) ?? {\n logs: [],\n total: 0,\n page: page ?? 1,\n perPage: perPage ?? 100,\n hasMore: false,\n }\n );\n }\n}\n","import { LogLevel } from './constants';\nimport { MastraLogger } from './logger';\nimport type { LoggerTransport } from './transport';\n\nexport const createLogger = (options: {\n name?: string;\n level?: LogLevel;\n transports?: Record<string, LoggerTransport>;\n}) => {\n const logger = new ConsoleLogger(options);\n\n logger.warn(`createLogger is deprecated. Please use \"new ConsoleLogger()\" from \"@mastra/core/logger\" instead.`);\n\n return logger;\n};\n\nexport class ConsoleLogger extends MastraLogger {\n constructor(\n options: {\n name?: string;\n level?: LogLevel;\n } = {},\n ) {\n super(options);\n }\n\n debug(message: string, ...args: any[]): void {\n if (this.level === LogLevel.DEBUG) {\n console.info(message, ...args);\n }\n }\n\n info(message: string, ...args: any[]): void {\n if (this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {\n console.info(message, ...args);\n }\n }\n\n warn(message: string, ...args: any[]): void {\n if (this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {\n console.info(message, ...args);\n }\n }\n\n error(message: string, ...args: any[]): void {\n if (\n this.level === LogLevel.ERROR ||\n this.level === LogLevel.WARN ||\n this.level === LogLevel.INFO ||\n this.level === LogLevel.DEBUG\n ) {\n console.error(message, ...args);\n }\n }\n\n async listLogs(\n _transportId: string,\n _params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n },\n ) {\n return { logs: [], total: 0, page: _params?.page ?? 1, perPage: _params?.perPage ?? 100, hasMore: false };\n }\n\n async listLogsByRunId(_args: {\n transportId: string;\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }) {\n return { logs: [], total: 0, page: _args.page ?? 1, perPage: _args.perPage ?? 100, hasMore: false };\n }\n}\n","import type { IMastraLogger } from './logger';\nimport { RegisteredLogger } from './logger/constants';\nimport { ConsoleLogger } from './logger/default-logger';\n\nexport class MastraBase {\n component: RegisteredLogger = RegisteredLogger.LLM;\n protected logger: IMastraLogger;\n name?: string;\n\n constructor({ component, name }: { component?: RegisteredLogger; name?: string }) {\n this.component = component || RegisteredLogger.LLM;\n this.name = name;\n this.logger = new ConsoleLogger({ name: `${this.component} - ${this.name}` });\n }\n\n /**\n * Set the logger for the agent\n * @param logger\n */\n __setLogger(logger: IMastraLogger) {\n this.logger = logger;\n\n if (this.component !== RegisteredLogger.LLM) {\n this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);\n }\n }\n}\n\nexport * from './types';\n","import type { HonoRequest } from 'hono';\nimport { MastraBase } from '../base';\nimport type { MastraAuthConfig } from './types';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n /**\n * Protected paths for the auth provider\n */\n protected?: MastraAuthConfig['protected'];\n /**\n * Public paths for the auth provider\n */\n public?: MastraAuthConfig['public'];\n}\n\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\n public protected?: MastraAuthConfig['protected'];\n public public?: MastraAuthConfig['public'];\n\n constructor(options?: MastraAuthProviderOptions<TUser>) {\n super({ component: 'AUTH', name: options?.name });\n\n if (options?.authorizeUser) {\n this.authorizeUser = options.authorizeUser.bind(this);\n }\n\n this.protected = options?.protected;\n this.public = options?.public;\n }\n\n /**\n * Authenticate a token and return the payload\n * @param token - The token to authenticate\n * @param request - The request\n * @returns The payload\n */\n abstract authenticateToken(token: string, request: HonoRequest): Promise<TUser | null>;\n\n /**\n * Authorize a user for a path and method\n * @param user - The user to authorize\n * @param request - The request\n * @returns The authorization result\n */\n abstract authorizeUser(user: TUser, request: HonoRequest): Promise<boolean> | boolean;\n\n protected registerOptions(opts?: MastraAuthProviderOptions<TUser>) {\n if (opts?.authorizeUser) {\n this.authorizeUser = opts.authorizeUser.bind(this);\n }\n if (opts?.protected) {\n this.protected = opts.protected;\n }\n if (opts?.public) {\n this.public = opts.public;\n }\n }\n}\n","import type { MastraAuthProviderOptions } from '@mastra/core/server';\nimport { MastraAuthProvider } from '@mastra/core/server';\n\nimport admin from 'firebase-admin';\nimport { getFirestore } from 'firebase-admin/firestore';\n\ntype FirebaseUser = admin.auth.DecodedIdToken;\n\ninterface MastraAuthFirebaseOptions extends MastraAuthProviderOptions<FirebaseUser> {\n databaseId?: string;\n serviceAccount?: string;\n}\n\nexport class MastraAuthFirebase extends MastraAuthProvider<FirebaseUser> {\n private serviceAccount: string | undefined;\n private databaseId: string | undefined;\n\n constructor(options?: MastraAuthFirebaseOptions) {\n super({ name: options?.name ?? 'firebase' });\n\n this.serviceAccount = options?.serviceAccount ?? process.env.FIREBASE_SERVICE_ACCOUNT;\n this.databaseId = options?.databaseId ?? process.env.FIRESTORE_DATABASE_ID ?? process.env.FIREBASE_DATABASE_ID;\n\n if (!admin.apps.length) {\n admin.initializeApp({\n credential: this.serviceAccount\n ? admin.credential.cert(this.serviceAccount)\n : admin.credential.applicationDefault(),\n });\n }\n\n this.registerOptions(options);\n }\n\n async authenticateToken(token: string): Promise<FirebaseUser | null> {\n const decoded = await admin.auth().verifyIdToken(token);\n return decoded;\n }\n\n async authorizeUser(user: FirebaseUser) {\n const db = this.databaseId ? getFirestore(this.databaseId) : getFirestore();\n const userAccess = await db.doc(`/user_access/${user.uid}`).get();\n const userAccessData = userAccess.data();\n\n if (!userAccessData) {\n return false;\n }\n\n return true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAaO,IAAM,kBAAA,GAAN,cAAiC,kBAAA,CAAiC;AAAA,EAC/D,cAAA;AAAA,EACA,UAAA;AAAA,EAER,YAAY,OAAA,EAAqC;AAC/C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,IAAQ,YAAY,CAAA;AAE3C,IAAA,IAAA,CAAK,cAAA,GAAiB,OAAA,EAAS,cAAA,IAAkB,OAAA,CAAQ,GAAA,CAAI,wBAAA;AAC7D,IAAA,IAAA,CAAK,aAAa,OAAA,EAAS,UAAA,IAAc,QAAQ,GAAA,CAAI,qBAAA,IAAyB,QAAQ,GAAA,CAAI,oBAAA;AAE1F,IAAA,IAAI,CAAC,KAAA,CAAM,IAAA,CAAK,MAAA,EAAQ;AACtB,MAAA,KAAA,CAAM,aAAA,CAAc;AAAA,QAClB,UAAA,EAAY,IAAA,CAAK,cAAA,GACb,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,IAAA,CAAK,cAAc,CAAA,GACzC,KAAA,CAAM,UAAA,CAAW,kBAAA;AAAmB,OACzC,CAAA;AAAA,IACH;AAEA,IAAA,IAAA,CAAK,gBAAgB,OAAO,CAAA;AAAA,EAC9B;AAAA,EAEA,MAAM,kBAAkB,KAAA,EAA6C;AACnE,IAAA,MAAM,UAAU,MAAM,KAAA,CAAM,IAAA,EAAK,CAAE,cAAc,KAAK,CAAA;AACtD,IAAA,OAAO,OAAA;AAAA,EACT;AAAA,EAEA,MAAM,cAAc,IAAA,EAAoB;AACtC,IAAA,MAAM,KAAK,IAAA,CAAK,UAAA,GAAa,aAAa,IAAA,CAAK,UAAU,IAAI,YAAA,EAAa;AAC1E,IAAA,MAAM,UAAA,GAAa,MAAM,EAAA,CAAG,GAAA,CAAI,gBAAgB,IAAA,CAAK,GAAG,CAAA,CAAE,CAAA,CAAE,GAAA,EAAI;AAChE,IAAA,MAAM,cAAA,GAAiB,WAAW,IAAA,EAAK;AAEvC,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AACF","file":"index.js","sourcesContent":["import type { MastraAuthProviderOptions } from '@mastra/core/server';\nimport { MastraAuthProvider } from '@mastra/core/server';\n\nimport admin from 'firebase-admin';\nimport { getFirestore } from 'firebase-admin/firestore';\n\ntype FirebaseUser = admin.auth.DecodedIdToken;\n\ninterface MastraAuthFirebaseOptions extends MastraAuthProviderOptions<FirebaseUser> {\n databaseId?: string;\n serviceAccount?: string;\n}\n\nexport class MastraAuthFirebase extends MastraAuthProvider<FirebaseUser> {\n private serviceAccount: string | undefined;\n private databaseId: string | undefined;\n\n constructor(options?: MastraAuthFirebaseOptions) {\n super({ name: options?.name ?? 'firebase' });\n\n this.serviceAccount = options?.serviceAccount ?? process.env.FIREBASE_SERVICE_ACCOUNT;\n this.databaseId = options?.databaseId ?? process.env.FIRESTORE_DATABASE_ID ?? process.env.FIREBASE_DATABASE_ID;\n\n if (!admin.apps.length) {\n admin.initializeApp({\n credential: this.serviceAccount\n ? admin.credential.cert(this.serviceAccount)\n : admin.credential.applicationDefault(),\n });\n }\n\n this.registerOptions(options);\n }\n\n async authenticateToken(token: string): Promise<FirebaseUser | null> {\n const decoded = await admin.auth().verifyIdToken(token);\n return decoded;\n }\n\n async authorizeUser(user: FirebaseUser) {\n const db = this.databaseId ? getFirestore(this.databaseId) : getFirestore();\n const userAccess = await db.doc(`/user_access/${user.uid}`).get();\n const userAccessData = userAccess.data();\n\n if (!userAccessData) {\n return false;\n }\n\n return true;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/auth-firebase",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Mastra Firebase Auth integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,19 +20,22 @@
|
|
|
20
20
|
},
|
|
21
21
|
"license": "Apache-2.0",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"firebase-admin": "^13.
|
|
23
|
+
"firebase-admin": "^13.7.0"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"@mastra/core": ">=1.0.0-0 <2.0.0-0"
|
|
24
27
|
},
|
|
25
28
|
"devDependencies": {
|
|
26
|
-
"@types/node": "22.
|
|
27
|
-
"@vitest/coverage-v8": "4.
|
|
28
|
-
"@vitest/ui": "4.
|
|
29
|
-
"eslint": "^
|
|
30
|
-
"tsup": "^8.5.
|
|
31
|
-
"typescript": "^
|
|
32
|
-
"vitest": "
|
|
33
|
-
"@internal/
|
|
34
|
-
"@mastra/core": "1.
|
|
35
|
-
"@internal/
|
|
29
|
+
"@types/node": "22.19.21",
|
|
30
|
+
"@vitest/coverage-v8": "4.1.8",
|
|
31
|
+
"@vitest/ui": "4.1.8",
|
|
32
|
+
"eslint": "^10.4.1",
|
|
33
|
+
"tsup": "^8.5.1",
|
|
34
|
+
"typescript": "^6.0.3",
|
|
35
|
+
"vitest": "4.1.8",
|
|
36
|
+
"@internal/lint": "0.0.105",
|
|
37
|
+
"@mastra/core": "1.43.0",
|
|
38
|
+
"@internal/types-builder": "0.0.80"
|
|
36
39
|
},
|
|
37
40
|
"files": [
|
|
38
41
|
"dist",
|