@mastra/auth-auth0 0.0.0-declaration-maps-20250730004430 → 0.0.0-fix-9244-clickhouse-metadata-20251104220626

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/README.md +2 -6
  3. package/dist/index.cjs +12 -248
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.js +12 -248
  6. package/dist/index.js.map +1 -1
  7. package/package.json +19 -5
  8. package/dist/chunk-32EQK4OY.js +0 -974
  9. package/dist/chunk-32EQK4OY.js.map +0 -1
  10. package/dist/chunk-B2N25K77.cjs +0 -979
  11. package/dist/chunk-B2N25K77.cjs.map +0 -1
  12. package/dist/chunk-G7ML3FDV.js +0 -9
  13. package/dist/chunk-G7ML3FDV.js.map +0 -1
  14. package/dist/chunk-UYPX6MT6.cjs +0 -32
  15. package/dist/chunk-UYPX6MT6.cjs.map +0 -1
  16. package/dist/getMachineId-bsd-G4THBH3V.js +0 -23
  17. package/dist/getMachineId-bsd-G4THBH3V.js.map +0 -1
  18. package/dist/getMachineId-bsd-GQTQCD37.cjs +0 -25
  19. package/dist/getMachineId-bsd-GQTQCD37.cjs.map +0 -1
  20. package/dist/getMachineId-darwin-3P7FJFHV.js +0 -24
  21. package/dist/getMachineId-darwin-3P7FJFHV.js.map +0 -1
  22. package/dist/getMachineId-darwin-43NRSF2D.cjs +0 -26
  23. package/dist/getMachineId-darwin-43NRSF2D.cjs.map +0 -1
  24. package/dist/getMachineId-linux-H4F4I7A5.js +0 -19
  25. package/dist/getMachineId-linux-H4F4I7A5.js.map +0 -1
  26. package/dist/getMachineId-linux-TZ3NOAZ5.cjs +0 -21
  27. package/dist/getMachineId-linux-TZ3NOAZ5.cjs.map +0 -1
  28. package/dist/getMachineId-unsupported-EZLLFFYA.cjs +0 -13
  29. package/dist/getMachineId-unsupported-EZLLFFYA.cjs.map +0 -1
  30. package/dist/getMachineId-unsupported-T3AERO5R.js +0 -11
  31. package/dist/getMachineId-unsupported-T3AERO5R.js.map +0 -1
  32. package/dist/getMachineId-win-B5AEGZT7.cjs +0 -47
  33. package/dist/getMachineId-win-B5AEGZT7.cjs.map +0 -1
  34. package/dist/getMachineId-win-Z5QAASBF.js +0 -25
  35. package/dist/getMachineId-win-Z5QAASBF.js.map +0 -1
  36. package/eslint.config.js +0 -6
  37. package/src/index.test.ts +0 -112
  38. package/src/index.ts +0 -49
  39. package/tsconfig.build.json +0 -9
  40. package/tsconfig.json +0 -5
  41. package/tsup.config.ts +0 -25
  42. package/vitest.config.ts +0 -8
package/CHANGELOG.md CHANGED
@@ -1,6 +1,56 @@
1
1
  # @mastra/auth-auth0
2
2
 
3
- ## 0.0.0-declaration-maps-20250730004430
3
+ ## 0.0.0-fix-9244-clickhouse-metadata-20251104220626
4
+
5
+ ### Major Changes
6
+
7
+ - Experimental auth -> auth ([#9660](https://github.com/mastra-ai/mastra/pull/9660))
8
+
9
+ - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
10
+
11
+ ## 0.10.5
12
+
13
+ ### Patch Changes
14
+
15
+ - Update package.json and README ([#7886](https://github.com/mastra-ai/mastra/pull/7886))
16
+
17
+ ## 0.10.5-alpha.0
18
+
19
+ ### Patch Changes
20
+
21
+ - Update package.json and README ([#7886](https://github.com/mastra-ai/mastra/pull/7886))
22
+
23
+ ## 0.10.4
24
+
25
+ ### Patch Changes
26
+
27
+ - de3cbc6: Update the `package.json` file to include additional fields like `repository`, `homepage` or `files`.
28
+
29
+ ## 0.10.4-alpha.0
30
+
31
+ ### Patch Changes
32
+
33
+ - [#7343](https://github.com/mastra-ai/mastra/pull/7343) [`de3cbc6`](https://github.com/mastra-ai/mastra/commit/de3cbc61079211431bd30487982ea3653517278e) Thanks [@LekoArts](https://github.com/LekoArts)! - Update the `package.json` file to include additional fields like `repository`, `homepage` or `files`.
34
+
35
+ ## 0.10.3
36
+
37
+ ### Patch Changes
38
+
39
+ - [`c6113ed`](https://github.com/mastra-ai/mastra/commit/c6113ed7f9df297e130d94436ceee310273d6430) Thanks [@wardpeet](https://github.com/wardpeet)! - Fix peerdpes for @mastra/core
40
+
41
+ ## 0.10.2
42
+
43
+ ### Patch Changes
44
+
45
+ - 4a406ec: fixes TypeScript declaration file imports to ensure proper ESM compatibility
46
+
47
+ ## 0.10.2-alpha.0
48
+
49
+ ### Patch Changes
50
+
51
+ - 4a406ec: fixes TypeScript declaration file imports to ensure proper ESM compatibility
52
+
53
+ ## 0.10.1
4
54
 
5
55
  ### Patch Changes
6
56
 
package/README.md CHANGED
@@ -15,7 +15,7 @@ pnpm add @mastra/auth-auth0
15
15
  ## Usage
16
16
 
17
17
  ```typescript
18
- import { Mastra } from '@mastra/core';
18
+ import { Mastra } from '@mastra/core/mastra';
19
19
  import { MastraAuthAuth0 } from '@mastra/auth-auth0';
20
20
 
21
21
  // Initialize with options
@@ -31,7 +31,7 @@ const auth0Provider = new MastraAuthAuth0();
31
31
  const mastra = new Mastra({
32
32
  ...
33
33
  server: {
34
- experimental_auth: auth0Provider,
34
+ auth: auth0Provider,
35
35
  },
36
36
  });
37
37
  ```
@@ -83,7 +83,3 @@ const isAuthorized = await auth0Provider.authorizeUser(user);
83
83
  - Node.js 16 or higher
84
84
  - Auth0 account and configured application
85
85
  - Valid Auth0 domain and API identifier
86
-
87
- ## License
88
-
89
- MIT
package/dist/index.cjs CHANGED
@@ -1,154 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkB2N25K77_cjs = require('./chunk-B2N25K77.cjs');
4
3
  var jose = require('jose');
5
4
 
6
- // ../../packages/core/dist/chunk-L7I7KUJX.js
7
- function hasActiveTelemetry(tracerName = "default-tracer") {
8
- try {
9
- return !!chunkB2N25K77_cjs.trace.getTracer(tracerName);
10
- } catch {
11
- return false;
12
- }
13
- }
14
- function getBaggageValues(ctx) {
15
- const currentBaggage = chunkB2N25K77_cjs.propagation.getBaggage(ctx);
16
- const requestId = currentBaggage?.getEntry("http.request_id")?.value;
17
- const componentName = currentBaggage?.getEntry("componentName")?.value;
18
- const runId = currentBaggage?.getEntry("runId")?.value;
19
- const threadId = currentBaggage?.getEntry("threadId")?.value;
20
- const resourceId = currentBaggage?.getEntry("resourceId")?.value;
21
- return {
22
- requestId,
23
- componentName,
24
- runId,
25
- threadId,
26
- resourceId
27
- };
28
- }
29
- function withSpan(options) {
30
- return function(_target, propertyKey, descriptor) {
31
- if (!descriptor || typeof descriptor === "number") return;
32
- const originalMethod = descriptor.value;
33
- const methodName = String(propertyKey);
34
- descriptor.value = function(...args) {
35
- if (options?.skipIfNoTelemetry && !hasActiveTelemetry(options?.tracerName)) {
36
- return originalMethod.apply(this, args);
37
- }
38
- const tracer = chunkB2N25K77_cjs.trace.getTracer(options?.tracerName ?? "default-tracer");
39
- let spanName;
40
- let spanKind;
41
- if (typeof options === "string") {
42
- spanName = options;
43
- } else if (options) {
44
- spanName = options.spanName || methodName;
45
- spanKind = options.spanKind;
46
- } else {
47
- spanName = methodName;
48
- }
49
- const span = tracer.startSpan(spanName, { kind: spanKind });
50
- let ctx = chunkB2N25K77_cjs.trace.setSpan(chunkB2N25K77_cjs.context.active(), span);
51
- args.forEach((arg, index) => {
52
- try {
53
- span.setAttribute(`${spanName}.argument.${index}`, JSON.stringify(arg));
54
- } catch {
55
- span.setAttribute(`${spanName}.argument.${index}`, "[Not Serializable]");
56
- }
57
- });
58
- const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);
59
- if (requestId) {
60
- span.setAttribute("http.request_id", requestId);
61
- }
62
- if (threadId) {
63
- span.setAttribute("threadId", threadId);
64
- }
65
- if (resourceId) {
66
- span.setAttribute("resourceId", resourceId);
67
- }
68
- if (componentName) {
69
- span.setAttribute("componentName", componentName);
70
- span.setAttribute("runId", runId);
71
- } else if (this && this.name) {
72
- span.setAttribute("componentName", this.name);
73
- span.setAttribute("runId", this.runId);
74
- ctx = chunkB2N25K77_cjs.propagation.setBaggage(
75
- ctx,
76
- chunkB2N25K77_cjs.propagation.createBaggage({
77
- // @ts-ignore
78
- componentName: { value: this.name },
79
- // @ts-ignore
80
- runId: { value: this.runId },
81
- // @ts-ignore
82
- "http.request_id": { value: requestId },
83
- // @ts-ignore
84
- threadId: { value: threadId },
85
- // @ts-ignore
86
- resourceId: { value: resourceId }
87
- })
88
- );
89
- }
90
- let result;
91
- try {
92
- result = chunkB2N25K77_cjs.context.with(ctx, () => originalMethod.apply(this, args));
93
- if (result instanceof Promise) {
94
- return result.then((resolvedValue) => {
95
- try {
96
- span.setAttribute(`${spanName}.result`, JSON.stringify(resolvedValue));
97
- } catch {
98
- span.setAttribute(`${spanName}.result`, "[Not Serializable]");
99
- }
100
- return resolvedValue;
101
- }).finally(() => span.end());
102
- }
103
- try {
104
- span.setAttribute(`${spanName}.result`, JSON.stringify(result));
105
- } catch {
106
- span.setAttribute(`${spanName}.result`, "[Not Serializable]");
107
- }
108
- return result;
109
- } catch (error) {
110
- span.setStatus({
111
- code: chunkB2N25K77_cjs.SpanStatusCode.ERROR,
112
- message: error instanceof Error ? error.message : "Unknown error"
113
- });
114
- if (error instanceof Error) {
115
- span.recordException(error);
116
- }
117
- throw error;
118
- } finally {
119
- if (!(result instanceof Promise)) {
120
- span.end();
121
- }
122
- }
123
- };
124
- return descriptor;
125
- };
126
- }
127
- function InstrumentClass(options) {
128
- return function(target) {
129
- const methods = Object.getOwnPropertyNames(target.prototype);
130
- methods.forEach((method) => {
131
- if (options?.excludeMethods?.includes(method) || method === "constructor") return;
132
- if (options?.methodFilter && !options.methodFilter(method)) return;
133
- const descriptor = Object.getOwnPropertyDescriptor(target.prototype, method);
134
- if (descriptor && typeof descriptor.value === "function") {
135
- Object.defineProperty(
136
- target.prototype,
137
- method,
138
- withSpan({
139
- spanName: options?.prefix ? `${options.prefix}.${method}` : method,
140
- skipIfNoTelemetry: true,
141
- spanKind: options?.spanKind || chunkB2N25K77_cjs.SpanKind.INTERNAL,
142
- tracerName: options?.tracerName
143
- })(target, method, descriptor)
144
- );
145
- }
146
- });
147
- return target;
148
- };
149
- }
150
-
151
- // ../../packages/core/dist/chunk-R3SQUADS.js
5
+ // ../../packages/core/dist/chunk-PA2JAWSF.js
152
6
  var RegisteredLogger = {
153
7
  LLM: "LLM"};
154
8
  var LogLevel = {
@@ -170,11 +24,11 @@ var MastraLogger = class {
170
24
  }
171
25
  trackException(_error) {
172
26
  }
173
- async getLogs(transportId, params) {
27
+ async listLogs(transportId, params) {
174
28
  if (!transportId || !this.transports.has(transportId)) {
175
29
  return { logs: [], total: 0, page: params?.page ?? 1, perPage: params?.perPage ?? 100, hasMore: false };
176
30
  }
177
- return this.transports.get(transportId).getLogs(params) ?? {
31
+ return this.transports.get(transportId).listLogs(params) ?? {
178
32
  logs: [],
179
33
  total: 0,
180
34
  page: params?.page ?? 1,
@@ -182,7 +36,7 @@ var MastraLogger = class {
182
36
  hasMore: false
183
37
  };
184
38
  }
185
- async getLogsByRunId({
39
+ async listLogsByRunId({
186
40
  transportId,
187
41
  runId,
188
42
  fromDate,
@@ -195,7 +49,7 @@ var MastraLogger = class {
195
49
  if (!transportId || !this.transports.has(transportId) || !runId) {
196
50
  return { logs: [], total: 0, page: page ?? 1, perPage: perPage ?? 100, hasMore: false };
197
51
  }
198
- return this.transports.get(transportId).getLogsByRunId({ runId, fromDate, toDate, logLevel, filters, page, perPage }) ?? {
52
+ return this.transports.get(transportId).listLogsByRunId({ runId, fromDate, toDate, logLevel, filters, page, perPage }) ?? {
199
53
  logs: [],
200
54
  total: 0,
201
55
  page: page ?? 1,
@@ -210,7 +64,7 @@ var ConsoleLogger = class extends MastraLogger {
210
64
  }
211
65
  debug(message, ...args) {
212
66
  if (this.level === LogLevel.DEBUG) {
213
- console.debug(message, ...args);
67
+ console.info(message, ...args);
214
68
  }
215
69
  }
216
70
  info(message, ...args) {
@@ -220,7 +74,7 @@ var ConsoleLogger = class extends MastraLogger {
220
74
  }
221
75
  warn(message, ...args) {
222
76
  if (this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
223
- console.warn(message, ...args);
77
+ console.info(message, ...args);
224
78
  }
225
79
  }
226
80
  error(message, ...args) {
@@ -228,20 +82,19 @@ var ConsoleLogger = class extends MastraLogger {
228
82
  console.error(message, ...args);
229
83
  }
230
84
  }
231
- async getLogs(_transportId, _params) {
85
+ async listLogs(_transportId, _params) {
232
86
  return { logs: [], total: 0, page: _params?.page ?? 1, perPage: _params?.perPage ?? 100, hasMore: false };
233
87
  }
234
- async getLogsByRunId(_args) {
88
+ async listLogsByRunId(_args) {
235
89
  return { logs: [], total: 0, page: _args.page ?? 1, perPage: _args.perPage ?? 100, hasMore: false };
236
90
  }
237
91
  };
238
92
 
239
- // ../../packages/core/dist/chunk-FQ4W6KBT.js
93
+ // ../../packages/core/dist/chunk-BGX53QBI.js
240
94
  var MastraBase = class {
241
95
  component = RegisteredLogger.LLM;
242
96
  logger;
243
97
  name;
244
- telemetry;
245
98
  constructor({ component, name }) {
246
99
  this.component = component || RegisteredLogger.LLM;
247
100
  this.name = name;
@@ -257,95 +110,12 @@ var MastraBase = class {
257
110
  this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);
258
111
  }
259
112
  }
260
- /**
261
- * Set the telemetry for the
262
- * @param telemetry
263
- */
264
- __setTelemetry(telemetry) {
265
- this.telemetry = telemetry;
266
- if (this.component !== RegisteredLogger.LLM) {
267
- this.logger.debug(`Telemetry updated [component=${this.component}] [name=${this.telemetry.name}]`);
268
- }
269
- }
270
- /**
271
- * Get the telemetry on the vector
272
- * @returns telemetry
273
- */
274
- __getTelemetry() {
275
- return this.telemetry;
276
- }
277
- /*
278
- get experimental_telemetry config
279
- */
280
- get experimental_telemetry() {
281
- return this.telemetry ? {
282
- // tracer: this.telemetry.tracer,
283
- tracer: this.telemetry.getBaggageTracer(),
284
- isEnabled: !!this.telemetry.tracer
285
- } : void 0;
286
- }
287
- };
288
-
289
- // ../../packages/core/dist/chunk-3HXBPDKN.js
290
- var __create = Object.create;
291
- var __defProp = Object.defineProperty;
292
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
293
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
294
- var __typeError = (msg) => {
295
- throw TypeError(msg);
296
- };
297
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
298
- enumerable: true,
299
- configurable: true,
300
- writable: true,
301
- value
302
- }) : obj[key] = value;
303
- var __name = (target, value) => __defProp(target, "name", {
304
- value,
305
- configurable: true
306
- });
307
- var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
308
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
309
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
310
- var __decoratorContext = (kind, name, done, metadata, fns) => ({
311
- kind: __decoratorStrings[kind],
312
- name,
313
- metadata,
314
- addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null))
315
- });
316
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
317
- var __runInitializers = (array, flags, self, value) => {
318
- for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) fns[i].call(self) ;
319
- return value;
320
- };
321
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
322
- var it, done, ctx, k = flags & 7, p = false;
323
- var j = 0;
324
- var extraInitializers = array[j] || (array[j] = []);
325
- var desc = k && ((target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(target , name));
326
- __name(target, name);
327
- for (var i = decorators.length - 1; i >= 0; i--) {
328
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
329
- it = (0, decorators[i])(target, ctx), done._ = 1;
330
- __expectFn(it) && (target = it);
331
- }
332
- return __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
333
113
  };
334
114
 
335
115
  // ../../packages/core/dist/server/index.js
336
- var _MastraAuthProvider_decorators;
337
- var _init;
338
- var _a;
339
- _MastraAuthProvider_decorators = [InstrumentClass({
340
- prefix: "auth",
341
- excludeMethods: ["__setTools", "__setLogger", "__setTelemetry", "#log"]
342
- })];
343
- var MastraAuthProvider = class extends (_a = MastraBase) {
116
+ var MastraAuthProvider = class extends MastraBase {
344
117
  constructor(options) {
345
- super({
346
- component: "AUTH",
347
- name: options?.name
348
- });
118
+ super({ component: "AUTH", name: options?.name });
349
119
  if (options?.authorizeUser) {
350
120
  this.authorizeUser = options.authorizeUser.bind(this);
351
121
  }
@@ -356,12 +126,6 @@ var MastraAuthProvider = class extends (_a = MastraBase) {
356
126
  }
357
127
  }
358
128
  };
359
- MastraAuthProvider = /* @__PURE__ */ ((_) => {
360
- _init = __decoratorStart(_a);
361
- MastraAuthProvider = __decorateElement(_init, 0, "MastraAuthProvider", _MastraAuthProvider_decorators, MastraAuthProvider);
362
- __runInitializers(_init, 1, MastraAuthProvider);
363
- return MastraAuthProvider;
364
- })();
365
129
  var MastraAuthAuth0 = class extends MastraAuthProvider {
366
130
  domain;
367
131
  audience;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/telemetry/utility.ts","../../../packages/core/src/telemetry/telemetry.decorators.ts","../../../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/dist/chunk-3HXBPDKN.js","../../../packages/core/src/server/auth.ts","../src/index.ts"],"names":["trace","propagation","context","SpanStatusCode","SpanKind","createRemoteJWKSet","jwtVerify"],"mappings":"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","file":"index.cjs","sourcesContent":["import { propagation, trace } from '@opentelemetry/api';\nimport type { Context } from '@opentelemetry/api';\n\n// Helper function to check if telemetry is active\nexport function hasActiveTelemetry(tracerName: string = 'default-tracer'): boolean {\n try {\n return !!trace.getTracer(tracerName);\n } catch {\n return false;\n }\n}\n\n/**\n * Get baggage values from context\n * @param ctx The context to get baggage values from\n * @returns\n */\nexport function getBaggageValues(ctx: Context) {\n const currentBaggage = propagation.getBaggage(ctx);\n const requestId = currentBaggage?.getEntry('http.request_id')?.value;\n const componentName = currentBaggage?.getEntry('componentName')?.value;\n const runId = currentBaggage?.getEntry('runId')?.value;\n const threadId = currentBaggage?.getEntry('threadId')?.value;\n const resourceId = currentBaggage?.getEntry('resourceId')?.value;\n return {\n requestId,\n componentName,\n runId,\n threadId,\n resourceId,\n };\n}\n","import { trace, context, SpanStatusCode, SpanKind, propagation } from '@opentelemetry/api';\n\nimport { hasActiveTelemetry, getBaggageValues } from './utility';\n\n// Decorator factory that takes optional spanName\nexport function withSpan(options: {\n spanName?: string;\n skipIfNoTelemetry?: boolean;\n spanKind?: SpanKind;\n tracerName?: string;\n}): any {\n return function (_target: any, propertyKey: string | symbol, descriptor?: PropertyDescriptor | number) {\n if (!descriptor || typeof descriptor === 'number') return;\n\n const originalMethod = descriptor.value;\n const methodName = String(propertyKey);\n\n descriptor.value = function (...args: any[]) {\n // Skip if no telemetry is available and skipIfNoTelemetry is true\n if (options?.skipIfNoTelemetry && !hasActiveTelemetry(options?.tracerName)) {\n return originalMethod.apply(this, args);\n }\n\n const tracer = trace.getTracer(options?.tracerName ?? 'default-tracer');\n\n // Determine span name and kind\n let spanName: string;\n let spanKind: SpanKind | undefined;\n\n if (typeof options === 'string') {\n spanName = options;\n } else if (options) {\n spanName = options.spanName || methodName;\n spanKind = options.spanKind;\n } else {\n spanName = methodName;\n }\n\n // Start the span with optional kind\n const span = tracer.startSpan(spanName, { kind: spanKind });\n let ctx = trace.setSpan(context.active(), span);\n\n // Record input arguments as span attributes\n args.forEach((arg, index) => {\n try {\n span.setAttribute(`${spanName}.argument.${index}`, JSON.stringify(arg));\n } catch {\n span.setAttribute(`${spanName}.argument.${index}`, '[Not Serializable]');\n }\n });\n\n const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);\n if (requestId) {\n span.setAttribute('http.request_id', requestId);\n }\n\n if (threadId) {\n span.setAttribute('threadId', threadId);\n }\n\n if (resourceId) {\n span.setAttribute('resourceId', resourceId);\n }\n\n if (componentName) {\n span.setAttribute('componentName', componentName);\n // @ts-ignore\n span.setAttribute('runId', runId);\n // @ts-ignore\n } else if (this && this.name) {\n // @ts-ignore\n span.setAttribute('componentName', this.name);\n // @ts-ignore\n span.setAttribute('runId', this.runId);\n ctx = propagation.setBaggage(\n ctx,\n propagation.createBaggage({\n // @ts-ignore\n componentName: { value: this.name },\n // @ts-ignore\n runId: { value: this.runId },\n // @ts-ignore\n 'http.request_id': { value: requestId },\n // @ts-ignore\n threadId: { value: threadId },\n // @ts-ignore\n resourceId: { value: resourceId },\n }),\n );\n }\n\n let result;\n try {\n // Call the original method within the context\n result = context.with(ctx, () => originalMethod.apply(this, args));\n\n // Handle promises\n if (result instanceof Promise) {\n return result\n .then(resolvedValue => {\n try {\n span.setAttribute(`${spanName}.result`, JSON.stringify(resolvedValue));\n } catch {\n span.setAttribute(`${spanName}.result`, '[Not Serializable]');\n }\n return resolvedValue;\n })\n .finally(() => span.end());\n }\n\n // Record result for non-promise returns\n try {\n span.setAttribute(`${spanName}.result`, JSON.stringify(result));\n } catch {\n span.setAttribute(`${spanName}.result`, '[Not Serializable]');\n }\n\n // Return regular results\n return result;\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error instanceof Error ? error.message : 'Unknown error',\n });\n if (error instanceof Error) {\n span.recordException(error);\n }\n throw error;\n } finally {\n // End span for non-promise returns\n if (!(result instanceof Promise)) {\n span.end();\n }\n }\n };\n\n return descriptor;\n };\n}\n\n// class-telemetry.decorator.ts\nexport function InstrumentClass(options?: {\n prefix?: string;\n spanKind?: SpanKind;\n excludeMethods?: string[];\n methodFilter?: (methodName: string) => boolean;\n tracerName?: string;\n}) {\n return function (target: any) {\n const methods = Object.getOwnPropertyNames(target.prototype);\n\n methods.forEach(method => {\n // Skip excluded methods\n if (options?.excludeMethods?.includes(method) || method === 'constructor') return;\n // Apply method filter if provided\n if (options?.methodFilter && !options.methodFilter(method)) return;\n\n const descriptor = Object.getOwnPropertyDescriptor(target.prototype, method);\n if (descriptor && typeof descriptor.value === 'function') {\n Object.defineProperty(\n target.prototype,\n method,\n withSpan({\n spanName: options?.prefix ? `${options.prefix}.${method}` : method,\n skipIfNoTelemetry: true,\n spanKind: options?.spanKind || SpanKind.INTERNAL,\n tracerName: options?.tracerName,\n })(target, method, descriptor),\n );\n }\n });\n\n return target;\n };\n}\n","// Constants and Types (keeping from original implementation)\nexport const RegisteredLogger = {\n AGENT: 'AGENT',\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} 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 getLogs(\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 getLogsByRunId(_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 getLogs(\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)!.getLogs(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 getLogsByRunId({\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 .getLogsByRunId({ 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.debug(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.warn(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 getLogs(\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 getLogsByRunId(_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\nimport type { Telemetry } from './telemetry';\n\nexport class MastraBase {\n component: RegisteredLogger = RegisteredLogger.LLM;\n protected logger: IMastraLogger;\n name?: string;\n telemetry?: Telemetry;\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 /**\n * Set the telemetry for the\n * @param telemetry\n */\n __setTelemetry(telemetry: Telemetry) {\n this.telemetry = telemetry;\n\n if (this.component !== RegisteredLogger.LLM) {\n this.logger.debug(`Telemetry updated [component=${this.component}] [name=${this.telemetry.name}]`);\n }\n }\n\n /**\n * Get the telemetry on the vector\n * @returns telemetry\n */\n __getTelemetry() {\n return this.telemetry;\n }\n\n /* \n get experimental_telemetry config\n */\n get experimental_telemetry() {\n return this.telemetry\n ? {\n // tracer: this.telemetry.tracer,\n tracer: this.telemetry.getBaggageTracer(),\n isEnabled: !!this.telemetry.tracer,\n }\n : undefined;\n }\n}\n\nexport * from './types';\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for(\"Symbol.\" + name);\nvar __typeError = msg => {\n throw TypeError(msg);\n};\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\nvar __name = (target, value) => __defProp(target, \"name\", {\n value,\n configurable: true\n});\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {\n exports: {}\n }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n get: () => from[key],\n enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n// If the importer is in node compatibility mode or this is not an ESM\n// file that has been converted to a CommonJS file using a Babel-\n// compatible transform (i.e. \"__esModule\" has not been set), then set\n// \"default\" to the CommonJS \"module.exports\" for node compatibility.\nisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n value: mod,\n enumerable: true\n}) : target, mod));\nvar __decoratorStart = base => [,,, __create(base?.[__knownSymbol(\"metadata\")] ?? null)];\nvar __decoratorStrings = [\"class\", \"method\", \"getter\", \"setter\", \"accessor\", \"field\", \"value\", \"get\", \"set\"];\nvar __expectFn = fn => fn !== void 0 && typeof fn !== \"function\" ? __typeError(\"Function expected\") : fn;\nvar __decoratorContext = (kind, name, done, metadata, fns) => ({\n kind: __decoratorStrings[kind],\n name,\n metadata,\n addInitializer: fn => done._ ? __typeError(\"Already initialized\") : fns.push(__expectFn(fn || null))\n});\nvar __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol(\"metadata\"), array[3]);\nvar __runInitializers = (array, flags, self, value) => {\n for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);\n return value;\n};\nvar __decorateElement = (array, flags, name, decorators, target, extra) => {\n var fn,\n it,\n done,\n ctx,\n access,\n k = flags & 7,\n s = !!(flags & 8),\n p = !!(flags & 16);\n var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0,\n key = __decoratorStrings[k + 5];\n var initializers = k > 3 && (array[j - 1] = []),\n extraInitializers = array[j] || (array[j] = []);\n var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : {\n get [name]() {\n return __privateGet(this, extra);\n },\n set [name](x) {\n return __privateSet(this, extra, x);\n }\n }, name));\n k ? p && k < 4 && __name(extra, (k > 2 ? \"set \" : k > 1 ? \"get \" : \"\") + name) : __name(target, name);\n for (var i = decorators.length - 1; i >= 0; i--) {\n ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);\n if (k) {\n ctx.static = s, ctx.private = p, access = ctx.access = {\n has: p ? x => __privateIn(target, x) : x => name in x\n };\n if (k ^ 3) access.get = p ? x => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : x => x[name];\n if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;\n }\n it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : {\n get: desc.get,\n set: desc.set\n } : target, ctx), done._ = 1;\n if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);else if (typeof it !== \"object\" || it === null) __typeError(\"Object expected\");else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);\n }\n return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the \"in\" operator on this value') : member.has(obj);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar __privateMethod = (obj, member, method) => (__accessCheck(obj, member, \"access private method\"), method);\n\nexport { __commonJS, __decorateElement, __decoratorStart, __runInitializers, __toESM };\n//# sourceMappingURL=chunk-3HXBPDKN.js.map\n//# sourceMappingURL=chunk-3HXBPDKN.js.map","import type { HonoRequest } from 'hono';\nimport { MastraBase } from '../base';\nimport { InstrumentClass } from '../telemetry';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n}\n\n@InstrumentClass({\n prefix: 'auth',\n excludeMethods: ['__setTools', '__setLogger', '__setTelemetry', '#log'],\n})\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\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\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 }\n}\n","import { MastraAuthProvider } from '@mastra/core/server';\nimport type { MastraAuthProviderOptions } from '@mastra/core/server';\n\nimport { createRemoteJWKSet, jwtVerify } from 'jose';\nimport type { JWTPayload } from 'jose';\n\ntype Auth0User = JWTPayload;\n\ninterface MastraAuthAuth0Options extends MastraAuthProviderOptions<Auth0User> {\n domain?: string; // set this to your Auth0 domain\n audience?: string; // set this to your Auth0 API identifier\n}\n\nexport class MastraAuthAuth0 extends MastraAuthProvider<Auth0User> {\n protected domain: string;\n protected audience: string;\n constructor(options?: MastraAuthAuth0Options) {\n super({ name: options?.name ?? 'auth0' });\n\n const domain = options?.domain ?? process.env.AUTH0_DOMAIN;\n const audience = options?.audience ?? process.env.AUTH0_AUDIENCE;\n\n if (!domain || !audience) {\n throw new Error(\n 'Auth0 domain and audience are required, please provide them in the options or set the environment variables AUTH0_DOMAIN and AUTH0_AUDIENCE',\n );\n }\n\n this.domain = domain;\n this.audience = audience;\n\n this.registerOptions(options);\n }\n\n async authenticateToken(token: string): Promise<Auth0User | null> {\n const JWKS = createRemoteJWKSet(new URL(`https://${this.domain}/.well-known/jwks.json`));\n\n const { payload } = await jwtVerify(token, JWKS, {\n issuer: `https://${this.domain}/`,\n audience: this.audience,\n });\n\n return payload;\n }\n\n async authorizeUser(user: Auth0User) {\n return !!user;\n }\n}\n"]}
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":["createRemoteJWKSet","jwtVerify"],"mappings":"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","file":"index.cjs","sourcesContent":["// Constants and Types (keeping from original implementation)\nexport const RegisteredLogger = {\n AGENT: 'AGENT',\n AI_TRACING: 'AI_TRACING',\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';\n\nexport interface MastraAuthProviderOptions<TUser = unknown> {\n name?: string;\n authorizeUser?: (user: TUser, request: HonoRequest) => Promise<boolean> | boolean;\n}\n\nexport abstract class MastraAuthProvider<TUser = unknown> extends MastraBase {\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\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 }\n}\n","import { MastraAuthProvider } from '@mastra/core/server';\nimport type { MastraAuthProviderOptions } from '@mastra/core/server';\n\nimport { createRemoteJWKSet, jwtVerify } from 'jose';\nimport type { JWTPayload } from 'jose';\n\ntype Auth0User = JWTPayload;\n\ninterface MastraAuthAuth0Options extends MastraAuthProviderOptions<Auth0User> {\n domain?: string; // set this to your Auth0 domain\n audience?: string; // set this to your Auth0 API identifier\n}\n\nexport class MastraAuthAuth0 extends MastraAuthProvider<Auth0User> {\n protected domain: string;\n protected audience: string;\n constructor(options?: MastraAuthAuth0Options) {\n super({ name: options?.name ?? 'auth0' });\n\n const domain = options?.domain ?? process.env.AUTH0_DOMAIN;\n const audience = options?.audience ?? process.env.AUTH0_AUDIENCE;\n\n if (!domain || !audience) {\n throw new Error(\n 'Auth0 domain and audience are required, please provide them in the options or set the environment variables AUTH0_DOMAIN and AUTH0_AUDIENCE',\n );\n }\n\n this.domain = domain;\n this.audience = audience;\n\n this.registerOptions(options);\n }\n\n async authenticateToken(token: string): Promise<Auth0User | null> {\n const JWKS = createRemoteJWKSet(new URL(`https://${this.domain}/.well-known/jwks.json`));\n\n const { payload } = await jwtVerify(token, JWKS, {\n issuer: `https://${this.domain}/`,\n audience: this.audience,\n });\n\n return payload;\n }\n\n async authorizeUser(user: Auth0User) {\n return !!user;\n }\n}\n"]}