@mastra/auth-auth0 0.0.0-toolOptionTypes-20250917085558 → 0.0.0-vnext-20251104230439

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 (35) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +2 -2
  3. package/dist/index.cjs +12 -310
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.js +12 -310
  6. package/dist/index.js.map +1 -1
  7. package/package.json +5 -5
  8. package/dist/chunk-FID6GZ7C.cjs +0 -979
  9. package/dist/chunk-FID6GZ7C.cjs.map +0 -1
  10. package/dist/chunk-G7ML3FDV.js +0 -9
  11. package/dist/chunk-G7ML3FDV.js.map +0 -1
  12. package/dist/chunk-NFPWCYXA.js +0 -974
  13. package/dist/chunk-NFPWCYXA.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-33IUL36D.js +0 -23
  17. package/dist/getMachineId-bsd-33IUL36D.js.map +0 -1
  18. package/dist/getMachineId-bsd-7LX32PWC.cjs +0 -25
  19. package/dist/getMachineId-bsd-7LX32PWC.cjs.map +0 -1
  20. package/dist/getMachineId-darwin-2GRB6VRE.cjs +0 -26
  21. package/dist/getMachineId-darwin-2GRB6VRE.cjs.map +0 -1
  22. package/dist/getMachineId-darwin-Y4EF6EE5.js +0 -24
  23. package/dist/getMachineId-darwin-Y4EF6EE5.js.map +0 -1
  24. package/dist/getMachineId-linux-6PTMU7AF.cjs +0 -21
  25. package/dist/getMachineId-linux-6PTMU7AF.cjs.map +0 -1
  26. package/dist/getMachineId-linux-ZMMZL7AP.js +0 -19
  27. package/dist/getMachineId-linux-ZMMZL7AP.js.map +0 -1
  28. package/dist/getMachineId-unsupported-AM53N2Q3.js +0 -11
  29. package/dist/getMachineId-unsupported-AM53N2Q3.js.map +0 -1
  30. package/dist/getMachineId-unsupported-VSEGAZUW.cjs +0 -13
  31. package/dist/getMachineId-unsupported-VSEGAZUW.cjs.map +0 -1
  32. package/dist/getMachineId-win-GHQJSLHS.cjs +0 -47
  33. package/dist/getMachineId-win-GHQJSLHS.cjs.map +0 -1
  34. package/dist/getMachineId-win-RSU6GP4O.js +0 -25
  35. package/dist/getMachineId-win-RSU6GP4O.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # @mastra/auth-auth0
2
2
 
3
- ## 0.0.0-toolOptionTypes-20250917085558
3
+ ## 0.0.0-vnext-20251104230439
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
4
12
 
5
13
  ### Patch Changes
6
14
 
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
  ```
package/dist/index.cjs CHANGED
@@ -1,216 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkFID6GZ7C_cjs = require('./chunk-FID6GZ7C.cjs');
4
3
  var jose = require('jose');
5
4
 
6
- // ../../packages/core/dist/chunk-TLJPVRO5.js
7
- function hasActiveTelemetry(tracerName = "default-tracer") {
8
- try {
9
- return !!chunkFID6GZ7C_cjs.trace.getTracer(tracerName);
10
- } catch {
11
- return false;
12
- }
13
- }
14
- function getBaggageValues(ctx) {
15
- const currentBaggage = chunkFID6GZ7C_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 isStreamingResult(result, methodName) {
30
- if (methodName === "stream" || methodName === "streamVNext") {
31
- return true;
32
- }
33
- if (result && typeof result === "object" && result !== null) {
34
- const obj = result;
35
- return "textStream" in obj || "objectStream" in obj || "usagePromise" in obj || "finishReasonPromise" in obj;
36
- }
37
- return false;
38
- }
39
- function enhanceStreamingArgumentsWithTelemetry(args, span, spanName, methodName) {
40
- if (methodName === "stream" || methodName === "streamVNext") {
41
- const enhancedArgs = [...args];
42
- const streamOptions = enhancedArgs.length > 1 && enhancedArgs[1] || {};
43
- const enhancedStreamOptions = { ...streamOptions };
44
- const originalOnFinish = enhancedStreamOptions.onFinish;
45
- enhancedStreamOptions.onFinish = async (finishData) => {
46
- try {
47
- const telemetryData = {
48
- text: finishData.text,
49
- usage: finishData.usage,
50
- finishReason: finishData.finishReason,
51
- toolCalls: finishData.toolCalls,
52
- toolResults: finishData.toolResults,
53
- warnings: finishData.warnings,
54
- ...finishData.object !== void 0 && { object: finishData.object }
55
- };
56
- span.setAttribute(`${spanName}.result`, JSON.stringify(telemetryData));
57
- span.setStatus({ code: chunkFID6GZ7C_cjs.SpanStatusCode.OK });
58
- span.end();
59
- } catch (error) {
60
- debugger;
61
- console.warn("Telemetry capture failed:", error);
62
- span.setAttribute(`${spanName}.result`, "[Telemetry Capture Error]");
63
- span.setStatus({ code: chunkFID6GZ7C_cjs.SpanStatusCode.ERROR });
64
- span.end();
65
- }
66
- if (originalOnFinish) {
67
- return await originalOnFinish(finishData);
68
- }
69
- };
70
- enhancedStreamOptions.onFinish.__hasOriginalOnFinish = !!originalOnFinish;
71
- enhancedArgs[1] = enhancedStreamOptions;
72
- span.__mastraStreamingSpan = true;
73
- return enhancedArgs;
74
- }
75
- return args;
76
- }
77
- function withSpan(options) {
78
- return function(_target, propertyKey, descriptor) {
79
- if (!descriptor || typeof descriptor === "number") return;
80
- const originalMethod = descriptor.value;
81
- const methodName = String(propertyKey);
82
- descriptor.value = function(...args) {
83
- if (options?.skipIfNoTelemetry && !hasActiveTelemetry(options?.tracerName)) {
84
- return originalMethod.apply(this, args);
85
- }
86
- const tracer = chunkFID6GZ7C_cjs.trace.getTracer(options?.tracerName ?? "default-tracer");
87
- let spanName;
88
- let spanKind;
89
- if (typeof options === "string") {
90
- spanName = options;
91
- } else if (options) {
92
- spanName = options.spanName || methodName;
93
- spanKind = options.spanKind;
94
- } else {
95
- spanName = methodName;
96
- }
97
- const span = tracer.startSpan(spanName, { kind: spanKind });
98
- let ctx = chunkFID6GZ7C_cjs.trace.setSpan(chunkFID6GZ7C_cjs.context.active(), span);
99
- args.forEach((arg, index) => {
100
- try {
101
- span.setAttribute(`${spanName}.argument.${index}`, JSON.stringify(arg));
102
- } catch {
103
- span.setAttribute(`${spanName}.argument.${index}`, "[Not Serializable]");
104
- }
105
- });
106
- const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);
107
- if (requestId) {
108
- span.setAttribute("http.request_id", requestId);
109
- }
110
- if (threadId) {
111
- span.setAttribute("threadId", threadId);
112
- }
113
- if (resourceId) {
114
- span.setAttribute("resourceId", resourceId);
115
- }
116
- if (componentName) {
117
- span.setAttribute("componentName", componentName);
118
- span.setAttribute("runId", runId);
119
- } else if (this && typeof this === "object" && "name" in this) {
120
- const contextObj = this;
121
- span.setAttribute("componentName", contextObj.name);
122
- if (contextObj.runId) {
123
- span.setAttribute("runId", contextObj.runId);
124
- }
125
- ctx = chunkFID6GZ7C_cjs.propagation.setBaggage(
126
- ctx,
127
- chunkFID6GZ7C_cjs.propagation.createBaggage({
128
- // @ts-ignore
129
- componentName: { value: this.name },
130
- // @ts-ignore
131
- runId: { value: this.runId },
132
- // @ts-ignore
133
- "http.request_id": { value: requestId },
134
- // @ts-ignore
135
- threadId: { value: threadId },
136
- // @ts-ignore
137
- resourceId: { value: resourceId }
138
- })
139
- );
140
- }
141
- let result;
142
- try {
143
- const enhancedArgs = isStreamingResult(result, methodName) ? enhanceStreamingArgumentsWithTelemetry(args, span, spanName, methodName) : args;
144
- result = chunkFID6GZ7C_cjs.context.with(ctx, () => originalMethod.apply(this, enhancedArgs));
145
- if (result instanceof Promise) {
146
- return result.then((resolvedValue) => {
147
- if (isStreamingResult(resolvedValue, methodName)) {
148
- return resolvedValue;
149
- } else {
150
- try {
151
- span.setAttribute(`${spanName}.result`, JSON.stringify(resolvedValue));
152
- } catch {
153
- span.setAttribute(`${spanName}.result`, "[Not Serializable]");
154
- }
155
- return resolvedValue;
156
- }
157
- }).finally(() => {
158
- if (!span.__mastraStreamingSpan) {
159
- span.end();
160
- }
161
- });
162
- }
163
- if (!isStreamingResult(result, methodName)) {
164
- try {
165
- span.setAttribute(`${spanName}.result`, JSON.stringify(result));
166
- } catch {
167
- span.setAttribute(`${spanName}.result`, "[Not Serializable]");
168
- }
169
- }
170
- return result;
171
- } catch (error) {
172
- span.setStatus({
173
- code: chunkFID6GZ7C_cjs.SpanStatusCode.ERROR,
174
- message: error instanceof Error ? error.message : "Unknown error"
175
- });
176
- if (error instanceof Error) {
177
- span.recordException(error);
178
- }
179
- throw error;
180
- } finally {
181
- if (!(result instanceof Promise) && !isStreamingResult(result, methodName)) {
182
- span.end();
183
- }
184
- }
185
- };
186
- return descriptor;
187
- };
188
- }
189
- function InstrumentClass(options) {
190
- return function(target) {
191
- const methods = Object.getOwnPropertyNames(target.prototype);
192
- methods.forEach((method) => {
193
- if (options?.excludeMethods?.includes(method) || method === "constructor") return;
194
- if (options?.methodFilter && !options.methodFilter(method)) return;
195
- const descriptor = Object.getOwnPropertyDescriptor(target.prototype, method);
196
- if (descriptor && typeof descriptor.value === "function") {
197
- Object.defineProperty(
198
- target.prototype,
199
- method,
200
- withSpan({
201
- spanName: options?.prefix ? `${options.prefix}.${method}` : method,
202
- skipIfNoTelemetry: true,
203
- spanKind: options?.spanKind || chunkFID6GZ7C_cjs.SpanKind.INTERNAL,
204
- tracerName: options?.tracerName
205
- })(target, method, descriptor)
206
- );
207
- }
208
- });
209
- return target;
210
- };
211
- }
212
-
213
- // ../../packages/core/dist/chunk-X3GXU6TZ.js
5
+ // ../../packages/core/dist/chunk-PA2JAWSF.js
214
6
  var RegisteredLogger = {
215
7
  LLM: "LLM"};
216
8
  var LogLevel = {
@@ -232,11 +24,11 @@ var MastraLogger = class {
232
24
  }
233
25
  trackException(_error) {
234
26
  }
235
- async getLogs(transportId, params) {
27
+ async listLogs(transportId, params) {
236
28
  if (!transportId || !this.transports.has(transportId)) {
237
29
  return { logs: [], total: 0, page: params?.page ?? 1, perPage: params?.perPage ?? 100, hasMore: false };
238
30
  }
239
- return this.transports.get(transportId).getLogs(params) ?? {
31
+ return this.transports.get(transportId).listLogs(params) ?? {
240
32
  logs: [],
241
33
  total: 0,
242
34
  page: params?.page ?? 1,
@@ -244,7 +36,7 @@ var MastraLogger = class {
244
36
  hasMore: false
245
37
  };
246
38
  }
247
- async getLogsByRunId({
39
+ async listLogsByRunId({
248
40
  transportId,
249
41
  runId,
250
42
  fromDate,
@@ -257,7 +49,7 @@ var MastraLogger = class {
257
49
  if (!transportId || !this.transports.has(transportId) || !runId) {
258
50
  return { logs: [], total: 0, page: page ?? 1, perPage: perPage ?? 100, hasMore: false };
259
51
  }
260
- 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 }) ?? {
261
53
  logs: [],
262
54
  total: 0,
263
55
  page: page ?? 1,
@@ -272,7 +64,7 @@ var ConsoleLogger = class extends MastraLogger {
272
64
  }
273
65
  debug(message, ...args) {
274
66
  if (this.level === LogLevel.DEBUG) {
275
- console.debug(message, ...args);
67
+ console.info(message, ...args);
276
68
  }
277
69
  }
278
70
  info(message, ...args) {
@@ -282,7 +74,7 @@ var ConsoleLogger = class extends MastraLogger {
282
74
  }
283
75
  warn(message, ...args) {
284
76
  if (this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
285
- console.warn(message, ...args);
77
+ console.info(message, ...args);
286
78
  }
287
79
  }
288
80
  error(message, ...args) {
@@ -290,20 +82,19 @@ var ConsoleLogger = class extends MastraLogger {
290
82
  console.error(message, ...args);
291
83
  }
292
84
  }
293
- async getLogs(_transportId, _params) {
85
+ async listLogs(_transportId, _params) {
294
86
  return { logs: [], total: 0, page: _params?.page ?? 1, perPage: _params?.perPage ?? 100, hasMore: false };
295
87
  }
296
- async getLogsByRunId(_args) {
88
+ async listLogsByRunId(_args) {
297
89
  return { logs: [], total: 0, page: _args.page ?? 1, perPage: _args.perPage ?? 100, hasMore: false };
298
90
  }
299
91
  };
300
92
 
301
- // ../../packages/core/dist/chunk-6GF5M4GX.js
93
+ // ../../packages/core/dist/chunk-BGX53QBI.js
302
94
  var MastraBase = class {
303
95
  component = RegisteredLogger.LLM;
304
96
  logger;
305
97
  name;
306
- telemetry;
307
98
  constructor({ component, name }) {
308
99
  this.component = component || RegisteredLogger.LLM;
309
100
  this.name = name;
@@ -319,95 +110,12 @@ var MastraBase = class {
319
110
  this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);
320
111
  }
321
112
  }
322
- /**
323
- * Set the telemetry for the
324
- * @param telemetry
325
- */
326
- __setTelemetry(telemetry) {
327
- this.telemetry = telemetry;
328
- if (this.component !== RegisteredLogger.LLM) {
329
- this.logger.debug(`Telemetry updated [component=${this.component}] [name=${this.telemetry.name}]`);
330
- }
331
- }
332
- /**
333
- * Get the telemetry on the vector
334
- * @returns telemetry
335
- */
336
- __getTelemetry() {
337
- return this.telemetry;
338
- }
339
- /*
340
- get experimental_telemetry config
341
- */
342
- get experimental_telemetry() {
343
- return this.telemetry ? {
344
- // tracer: this.telemetry.tracer,
345
- tracer: this.telemetry.getBaggageTracer(),
346
- isEnabled: !!this.telemetry.tracer
347
- } : void 0;
348
- }
349
- };
350
-
351
- // ../../packages/core/dist/chunk-3HXBPDKN.js
352
- var __create = Object.create;
353
- var __defProp = Object.defineProperty;
354
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
355
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
356
- var __typeError = (msg) => {
357
- throw TypeError(msg);
358
- };
359
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
360
- enumerable: true,
361
- configurable: true,
362
- writable: true,
363
- value
364
- }) : obj[key] = value;
365
- var __name = (target, value) => __defProp(target, "name", {
366
- value,
367
- configurable: true
368
- });
369
- var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
370
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
371
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
372
- var __decoratorContext = (kind, name, done, metadata, fns) => ({
373
- kind: __decoratorStrings[kind],
374
- name,
375
- metadata,
376
- addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null))
377
- });
378
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
379
- var __runInitializers = (array, flags, self, value) => {
380
- for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) fns[i].call(self) ;
381
- return value;
382
- };
383
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
384
- var it, done, ctx, k = flags & 7, p = false;
385
- var j = 0;
386
- var extraInitializers = array[j] || (array[j] = []);
387
- var desc = k && ((target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(target , name));
388
- __name(target, name);
389
- for (var i = decorators.length - 1; i >= 0; i--) {
390
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
391
- it = (0, decorators[i])(target, ctx), done._ = 1;
392
- __expectFn(it) && (target = it);
393
- }
394
- return __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
395
113
  };
396
114
 
397
115
  // ../../packages/core/dist/server/index.js
398
- var _MastraAuthProvider_decorators;
399
- var _init;
400
- var _a;
401
- _MastraAuthProvider_decorators = [InstrumentClass({
402
- prefix: "auth",
403
- excludeMethods: ["__setTools", "__setLogger", "__setTelemetry", "#log"]
404
- })];
405
- var MastraAuthProvider = class extends (_a = MastraBase) {
116
+ var MastraAuthProvider = class extends MastraBase {
406
117
  constructor(options) {
407
- super({
408
- component: "AUTH",
409
- name: options?.name
410
- });
118
+ super({ component: "AUTH", name: options?.name });
411
119
  if (options?.authorizeUser) {
412
120
  this.authorizeUser = options.authorizeUser.bind(this);
413
121
  }
@@ -418,12 +126,6 @@ var MastraAuthProvider = class extends (_a = MastraBase) {
418
126
  }
419
127
  }
420
128
  };
421
- MastraAuthProvider = /* @__PURE__ */ ((_) => {
422
- _init = __decoratorStart(_a);
423
- MastraAuthProvider = __decorateElement(_init, 0, "MastraAuthProvider", _MastraAuthProvider_decorators, MastraAuthProvider);
424
- __runInitializers(_init, 1, MastraAuthProvider);
425
- return MastraAuthProvider;
426
- })();
427
129
  var MastraAuthAuth0 = class extends MastraAuthProvider {
428
130
  domain;
429
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","SpanStatusCode","context","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';\nimport type { Span } from '@opentelemetry/api';\n\nimport { hasActiveTelemetry, getBaggageValues } from './utility';\n\n// Type interfaces for better type safety\ninterface StreamFinishData {\n text?: string;\n usage?: {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n };\n finishReason?: string;\n toolCalls?: unknown[];\n toolResults?: unknown[];\n warnings?: unknown;\n object?: unknown; // For structured output\n}\n\ninterface StreamOptions {\n onFinish?: (data: StreamFinishData) => Promise<void> | void;\n [key: string]: unknown;\n}\n\ninterface EnhancedSpan extends Span {\n __mastraStreamingSpan?: boolean;\n}\n\nfunction isStreamingResult(result: unknown, methodName: string): boolean {\n if (methodName === 'stream' || methodName === 'streamVNext') {\n return true;\n }\n\n if (result && typeof result === 'object' && result !== null) {\n const obj = result as Record<string, unknown>;\n return 'textStream' in obj || 'objectStream' in obj || 'usagePromise' in obj || 'finishReasonPromise' in obj;\n }\n\n return false;\n}\n\nfunction enhanceStreamingArgumentsWithTelemetry(\n args: unknown[],\n span: EnhancedSpan,\n spanName: string,\n methodName: string,\n): unknown[] {\n if (methodName === 'stream' || methodName === 'streamVNext') {\n const enhancedArgs = [...args];\n const streamOptions = (enhancedArgs.length > 1 && (enhancedArgs[1] as StreamOptions)) || ({} as StreamOptions);\n const enhancedStreamOptions: StreamOptions = { ...streamOptions };\n const originalOnFinish = enhancedStreamOptions.onFinish;\n\n enhancedStreamOptions.onFinish = async (finishData: StreamFinishData) => {\n try {\n const telemetryData = {\n text: finishData.text,\n usage: finishData.usage,\n finishReason: finishData.finishReason,\n toolCalls: finishData.toolCalls,\n toolResults: finishData.toolResults,\n warnings: finishData.warnings,\n ...(finishData.object !== undefined && { object: finishData.object }),\n };\n\n span.setAttribute(`${spanName}.result`, JSON.stringify(telemetryData));\n span.setStatus({ code: SpanStatusCode.OK });\n span.end();\n } catch (error) {\n debugger;\n console.warn('Telemetry capture failed:', error);\n span.setAttribute(`${spanName}.result`, '[Telemetry Capture Error]');\n span.setStatus({ code: SpanStatusCode.ERROR });\n span.end();\n }\n\n if (originalOnFinish) {\n return await originalOnFinish(finishData);\n }\n };\n\n // Check if an original onFinish was passed\n (enhancedStreamOptions.onFinish as any).__hasOriginalOnFinish = !!originalOnFinish;\n\n enhancedArgs[1] = enhancedStreamOptions;\n span.__mastraStreamingSpan = true;\n\n return enhancedArgs;\n }\n\n return args;\n}\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 as Function;\n const methodName = String(propertyKey);\n\n descriptor.value = function (this: unknown, ...args: unknown[]) {\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 }) as EnhancedSpan;\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 - These properties may exist on the context\n span.setAttribute('runId', runId);\n } else if (this && typeof this === 'object' && 'name' in this) {\n const contextObj = this as { name: string; runId?: string };\n span.setAttribute('componentName', contextObj.name);\n if (contextObj.runId) {\n span.setAttribute('runId', contextObj.runId);\n }\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: unknown;\n try {\n // For streaming methods, enhance arguments with telemetry capture before calling\n const enhancedArgs = isStreamingResult(result, methodName)\n ? enhanceStreamingArgumentsWithTelemetry(args, span, spanName, methodName)\n : args;\n\n // Call the original method within the context\n result = context.with(ctx, () => originalMethod.apply(this, enhancedArgs));\n\n // Handle promises\n if (result instanceof Promise) {\n return result\n .then(resolvedValue => {\n if (isStreamingResult(resolvedValue, methodName)) {\n return resolvedValue;\n } else {\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 })\n .finally(() => {\n if (!span.__mastraStreamingSpan) {\n span.end();\n }\n });\n }\n\n // Record result for non-promise returns\n if (!isStreamingResult(result, methodName)) {\n try {\n span.setAttribute(`${spanName}.result`, JSON.stringify(result));\n } catch {\n span.setAttribute(`${spanName}.result`, '[Not Serializable]');\n }\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) && !isStreamingResult(result, methodName)) {\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 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} 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"]}