@mastra/auth 0.0.0-consolidate-changesets-20250904042643 → 0.0.0-fix-9244-clickhouse-metadata-20251104213434

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 (34) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/dist/index.cjs +13 -310
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.js +13 -310
  5. package/dist/index.js.map +1 -1
  6. package/package.json +5 -5
  7. package/dist/chunk-32EQK4OY.js +0 -974
  8. package/dist/chunk-32EQK4OY.js.map +0 -1
  9. package/dist/chunk-B2N25K77.cjs +0 -979
  10. package/dist/chunk-B2N25K77.cjs.map +0 -1
  11. package/dist/chunk-G7ML3FDV.js +0 -9
  12. package/dist/chunk-G7ML3FDV.js.map +0 -1
  13. package/dist/chunk-UYPX6MT6.cjs +0 -32
  14. package/dist/chunk-UYPX6MT6.cjs.map +0 -1
  15. package/dist/getMachineId-bsd-G4THBH3V.js +0 -23
  16. package/dist/getMachineId-bsd-G4THBH3V.js.map +0 -1
  17. package/dist/getMachineId-bsd-GQTQCD37.cjs +0 -25
  18. package/dist/getMachineId-bsd-GQTQCD37.cjs.map +0 -1
  19. package/dist/getMachineId-darwin-3P7FJFHV.js +0 -24
  20. package/dist/getMachineId-darwin-3P7FJFHV.js.map +0 -1
  21. package/dist/getMachineId-darwin-43NRSF2D.cjs +0 -26
  22. package/dist/getMachineId-darwin-43NRSF2D.cjs.map +0 -1
  23. package/dist/getMachineId-linux-H4F4I7A5.js +0 -19
  24. package/dist/getMachineId-linux-H4F4I7A5.js.map +0 -1
  25. package/dist/getMachineId-linux-TZ3NOAZ5.cjs +0 -21
  26. package/dist/getMachineId-linux-TZ3NOAZ5.cjs.map +0 -1
  27. package/dist/getMachineId-unsupported-EZLLFFYA.cjs +0 -13
  28. package/dist/getMachineId-unsupported-EZLLFFYA.cjs.map +0 -1
  29. package/dist/getMachineId-unsupported-T3AERO5R.js +0 -11
  30. package/dist/getMachineId-unsupported-T3AERO5R.js.map +0 -1
  31. package/dist/getMachineId-win-B5AEGZT7.cjs +0 -47
  32. package/dist/getMachineId-win-B5AEGZT7.cjs.map +0 -1
  33. package/dist/getMachineId-win-Z5QAASBF.js +0 -25
  34. package/dist/getMachineId-win-Z5QAASBF.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { trace, context, propagation, SpanStatusCode, SpanKind } from './chunk-32EQK4OY.js';
2
1
  import jwt from 'jsonwebtoken';
3
2
  import jwksClient from 'jwks-rsa';
4
3
 
4
+ // src/utils.ts
5
5
  async function decodeToken(accessToken) {
6
6
  const decoded = jwt.decode(accessToken, { complete: true });
7
7
  return decoded;
@@ -26,214 +26,7 @@ async function verifyJwks(accessToken, jwksUri) {
26
26
  return jwt.verify(accessToken, signingKey);
27
27
  }
28
28
 
29
- // ../core/dist/chunk-R7K2QO7M.js
30
- function hasActiveTelemetry(tracerName = "default-tracer") {
31
- try {
32
- return !!trace.getTracer(tracerName);
33
- } catch {
34
- return false;
35
- }
36
- }
37
- function getBaggageValues(ctx) {
38
- const currentBaggage = propagation.getBaggage(ctx);
39
- const requestId = currentBaggage?.getEntry("http.request_id")?.value;
40
- const componentName = currentBaggage?.getEntry("componentName")?.value;
41
- const runId = currentBaggage?.getEntry("runId")?.value;
42
- const threadId = currentBaggage?.getEntry("threadId")?.value;
43
- const resourceId = currentBaggage?.getEntry("resourceId")?.value;
44
- return {
45
- requestId,
46
- componentName,
47
- runId,
48
- threadId,
49
- resourceId
50
- };
51
- }
52
- function isStreamingResult(result, methodName) {
53
- if (methodName === "stream" || methodName === "streamVNext") {
54
- return true;
55
- }
56
- if (result && typeof result === "object" && result !== null) {
57
- const obj = result;
58
- return "textStream" in obj || "objectStream" in obj || "usagePromise" in obj || "finishReasonPromise" in obj;
59
- }
60
- return false;
61
- }
62
- function enhanceStreamingArgumentsWithTelemetry(args, span, spanName, methodName) {
63
- if (methodName === "stream" || methodName === "streamVNext") {
64
- const enhancedArgs = [...args];
65
- const streamOptions = enhancedArgs.length > 1 && enhancedArgs[1] || {};
66
- const enhancedStreamOptions = { ...streamOptions };
67
- const originalOnFinish = enhancedStreamOptions.onFinish;
68
- enhancedStreamOptions.onFinish = async (finishData) => {
69
- try {
70
- const telemetryData = {
71
- text: finishData.text,
72
- usage: finishData.usage,
73
- finishReason: finishData.finishReason,
74
- toolCalls: finishData.toolCalls,
75
- toolResults: finishData.toolResults,
76
- warnings: finishData.warnings,
77
- ...finishData.object !== void 0 && { object: finishData.object }
78
- };
79
- span.setAttribute(`${spanName}.result`, JSON.stringify(telemetryData));
80
- span.setStatus({ code: SpanStatusCode.OK });
81
- span.end();
82
- } catch (error) {
83
- debugger;
84
- console.warn("Telemetry capture failed:", error);
85
- span.setAttribute(`${spanName}.result`, "[Telemetry Capture Error]");
86
- span.setStatus({ code: SpanStatusCode.ERROR });
87
- span.end();
88
- }
89
- if (originalOnFinish) {
90
- return await originalOnFinish(finishData);
91
- }
92
- };
93
- enhancedStreamOptions.onFinish.__hasOriginalOnFinish = !!originalOnFinish;
94
- enhancedArgs[1] = enhancedStreamOptions;
95
- span.__mastraStreamingSpan = true;
96
- return enhancedArgs;
97
- }
98
- return args;
99
- }
100
- function withSpan(options) {
101
- return function(_target, propertyKey, descriptor) {
102
- if (!descriptor || typeof descriptor === "number") return;
103
- const originalMethod = descriptor.value;
104
- const methodName = String(propertyKey);
105
- descriptor.value = function(...args) {
106
- if (options?.skipIfNoTelemetry && !hasActiveTelemetry(options?.tracerName)) {
107
- return originalMethod.apply(this, args);
108
- }
109
- const tracer = trace.getTracer(options?.tracerName ?? "default-tracer");
110
- let spanName;
111
- let spanKind;
112
- if (typeof options === "string") {
113
- spanName = options;
114
- } else if (options) {
115
- spanName = options.spanName || methodName;
116
- spanKind = options.spanKind;
117
- } else {
118
- spanName = methodName;
119
- }
120
- const span = tracer.startSpan(spanName, { kind: spanKind });
121
- let ctx = trace.setSpan(context.active(), span);
122
- args.forEach((arg, index) => {
123
- try {
124
- span.setAttribute(`${spanName}.argument.${index}`, JSON.stringify(arg));
125
- } catch {
126
- span.setAttribute(`${spanName}.argument.${index}`, "[Not Serializable]");
127
- }
128
- });
129
- const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);
130
- if (requestId) {
131
- span.setAttribute("http.request_id", requestId);
132
- }
133
- if (threadId) {
134
- span.setAttribute("threadId", threadId);
135
- }
136
- if (resourceId) {
137
- span.setAttribute("resourceId", resourceId);
138
- }
139
- if (componentName) {
140
- span.setAttribute("componentName", componentName);
141
- span.setAttribute("runId", runId);
142
- } else if (this && typeof this === "object" && "name" in this) {
143
- const contextObj = this;
144
- span.setAttribute("componentName", contextObj.name);
145
- if (contextObj.runId) {
146
- span.setAttribute("runId", contextObj.runId);
147
- }
148
- ctx = propagation.setBaggage(
149
- ctx,
150
- propagation.createBaggage({
151
- // @ts-ignore
152
- componentName: { value: this.name },
153
- // @ts-ignore
154
- runId: { value: this.runId },
155
- // @ts-ignore
156
- "http.request_id": { value: requestId },
157
- // @ts-ignore
158
- threadId: { value: threadId },
159
- // @ts-ignore
160
- resourceId: { value: resourceId }
161
- })
162
- );
163
- }
164
- let result;
165
- try {
166
- const enhancedArgs = isStreamingResult(result, methodName) ? enhanceStreamingArgumentsWithTelemetry(args, span, spanName, methodName) : args;
167
- result = context.with(ctx, () => originalMethod.apply(this, enhancedArgs));
168
- if (result instanceof Promise) {
169
- return result.then((resolvedValue) => {
170
- if (isStreamingResult(resolvedValue, methodName)) {
171
- return resolvedValue;
172
- } else {
173
- try {
174
- span.setAttribute(`${spanName}.result`, JSON.stringify(resolvedValue));
175
- } catch {
176
- span.setAttribute(`${spanName}.result`, "[Not Serializable]");
177
- }
178
- return resolvedValue;
179
- }
180
- }).finally(() => {
181
- if (!span.__mastraStreamingSpan) {
182
- span.end();
183
- }
184
- });
185
- }
186
- if (!isStreamingResult(result, methodName)) {
187
- try {
188
- span.setAttribute(`${spanName}.result`, JSON.stringify(result));
189
- } catch {
190
- span.setAttribute(`${spanName}.result`, "[Not Serializable]");
191
- }
192
- }
193
- return result;
194
- } catch (error) {
195
- span.setStatus({
196
- code: SpanStatusCode.ERROR,
197
- message: error instanceof Error ? error.message : "Unknown error"
198
- });
199
- if (error instanceof Error) {
200
- span.recordException(error);
201
- }
202
- throw error;
203
- } finally {
204
- if (!(result instanceof Promise) && !isStreamingResult(result, methodName)) {
205
- span.end();
206
- }
207
- }
208
- };
209
- return descriptor;
210
- };
211
- }
212
- function InstrumentClass(options) {
213
- return function(target) {
214
- const methods = Object.getOwnPropertyNames(target.prototype);
215
- methods.forEach((method) => {
216
- if (options?.excludeMethods?.includes(method) || method === "constructor") return;
217
- if (options?.methodFilter && !options.methodFilter(method)) return;
218
- const descriptor = Object.getOwnPropertyDescriptor(target.prototype, method);
219
- if (descriptor && typeof descriptor.value === "function") {
220
- Object.defineProperty(
221
- target.prototype,
222
- method,
223
- withSpan({
224
- spanName: options?.prefix ? `${options.prefix}.${method}` : method,
225
- skipIfNoTelemetry: true,
226
- spanKind: options?.spanKind || SpanKind.INTERNAL,
227
- tracerName: options?.tracerName
228
- })(target, method, descriptor)
229
- );
230
- }
231
- });
232
- return target;
233
- };
234
- }
235
-
236
- // ../core/dist/chunk-X3GXU6TZ.js
29
+ // ../core/dist/chunk-PA2JAWSF.js
237
30
  var RegisteredLogger = {
238
31
  LLM: "LLM"};
239
32
  var LogLevel = {
@@ -255,11 +48,11 @@ var MastraLogger = class {
255
48
  }
256
49
  trackException(_error) {
257
50
  }
258
- async getLogs(transportId, params) {
51
+ async listLogs(transportId, params) {
259
52
  if (!transportId || !this.transports.has(transportId)) {
260
53
  return { logs: [], total: 0, page: params?.page ?? 1, perPage: params?.perPage ?? 100, hasMore: false };
261
54
  }
262
- return this.transports.get(transportId).getLogs(params) ?? {
55
+ return this.transports.get(transportId).listLogs(params) ?? {
263
56
  logs: [],
264
57
  total: 0,
265
58
  page: params?.page ?? 1,
@@ -267,7 +60,7 @@ var MastraLogger = class {
267
60
  hasMore: false
268
61
  };
269
62
  }
270
- async getLogsByRunId({
63
+ async listLogsByRunId({
271
64
  transportId,
272
65
  runId,
273
66
  fromDate,
@@ -280,7 +73,7 @@ var MastraLogger = class {
280
73
  if (!transportId || !this.transports.has(transportId) || !runId) {
281
74
  return { logs: [], total: 0, page: page ?? 1, perPage: perPage ?? 100, hasMore: false };
282
75
  }
283
- return this.transports.get(transportId).getLogsByRunId({ runId, fromDate, toDate, logLevel, filters, page, perPage }) ?? {
76
+ return this.transports.get(transportId).listLogsByRunId({ runId, fromDate, toDate, logLevel, filters, page, perPage }) ?? {
284
77
  logs: [],
285
78
  total: 0,
286
79
  page: page ?? 1,
@@ -295,7 +88,7 @@ var ConsoleLogger = class extends MastraLogger {
295
88
  }
296
89
  debug(message, ...args) {
297
90
  if (this.level === LogLevel.DEBUG) {
298
- console.debug(message, ...args);
91
+ console.info(message, ...args);
299
92
  }
300
93
  }
301
94
  info(message, ...args) {
@@ -305,7 +98,7 @@ var ConsoleLogger = class extends MastraLogger {
305
98
  }
306
99
  warn(message, ...args) {
307
100
  if (this.level === LogLevel.WARN || this.level === LogLevel.INFO || this.level === LogLevel.DEBUG) {
308
- console.warn(message, ...args);
101
+ console.info(message, ...args);
309
102
  }
310
103
  }
311
104
  error(message, ...args) {
@@ -313,20 +106,19 @@ var ConsoleLogger = class extends MastraLogger {
313
106
  console.error(message, ...args);
314
107
  }
315
108
  }
316
- async getLogs(_transportId, _params) {
109
+ async listLogs(_transportId, _params) {
317
110
  return { logs: [], total: 0, page: _params?.page ?? 1, perPage: _params?.perPage ?? 100, hasMore: false };
318
111
  }
319
- async getLogsByRunId(_args) {
112
+ async listLogsByRunId(_args) {
320
113
  return { logs: [], total: 0, page: _args.page ?? 1, perPage: _args.perPage ?? 100, hasMore: false };
321
114
  }
322
115
  };
323
116
 
324
- // ../core/dist/chunk-6GF5M4GX.js
117
+ // ../core/dist/chunk-BGX53QBI.js
325
118
  var MastraBase = class {
326
119
  component = RegisteredLogger.LLM;
327
120
  logger;
328
121
  name;
329
- telemetry;
330
122
  constructor({ component, name }) {
331
123
  this.component = component || RegisteredLogger.LLM;
332
124
  this.name = name;
@@ -342,95 +134,12 @@ var MastraBase = class {
342
134
  this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);
343
135
  }
344
136
  }
345
- /**
346
- * Set the telemetry for the
347
- * @param telemetry
348
- */
349
- __setTelemetry(telemetry) {
350
- this.telemetry = telemetry;
351
- if (this.component !== RegisteredLogger.LLM) {
352
- this.logger.debug(`Telemetry updated [component=${this.component}] [name=${this.telemetry.name}]`);
353
- }
354
- }
355
- /**
356
- * Get the telemetry on the vector
357
- * @returns telemetry
358
- */
359
- __getTelemetry() {
360
- return this.telemetry;
361
- }
362
- /*
363
- get experimental_telemetry config
364
- */
365
- get experimental_telemetry() {
366
- return this.telemetry ? {
367
- // tracer: this.telemetry.tracer,
368
- tracer: this.telemetry.getBaggageTracer(),
369
- isEnabled: !!this.telemetry.tracer
370
- } : void 0;
371
- }
372
- };
373
-
374
- // ../core/dist/chunk-3HXBPDKN.js
375
- var __create = Object.create;
376
- var __defProp = Object.defineProperty;
377
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
378
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
379
- var __typeError = (msg) => {
380
- throw TypeError(msg);
381
- };
382
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
383
- enumerable: true,
384
- configurable: true,
385
- writable: true,
386
- value
387
- }) : obj[key] = value;
388
- var __name = (target, value) => __defProp(target, "name", {
389
- value,
390
- configurable: true
391
- });
392
- var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
393
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
394
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
395
- var __decoratorContext = (kind, name, done, metadata, fns) => ({
396
- kind: __decoratorStrings[kind],
397
- name,
398
- metadata,
399
- addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null))
400
- });
401
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
402
- var __runInitializers = (array, flags, self, value) => {
403
- for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) fns[i].call(self) ;
404
- return value;
405
- };
406
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
407
- var it, done, ctx, k = flags & 7, p = false;
408
- var j = 0;
409
- var extraInitializers = array[j] || (array[j] = []);
410
- var desc = k && ((target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(target , name));
411
- __name(target, name);
412
- for (var i = decorators.length - 1; i >= 0; i--) {
413
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
414
- it = (0, decorators[i])(target, ctx), done._ = 1;
415
- __expectFn(it) && (target = it);
416
- }
417
- return __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
418
137
  };
419
138
 
420
139
  // ../core/dist/server/index.js
421
- var _MastraAuthProvider_decorators;
422
- var _init;
423
- var _a;
424
- _MastraAuthProvider_decorators = [InstrumentClass({
425
- prefix: "auth",
426
- excludeMethods: ["__setTools", "__setLogger", "__setTelemetry", "#log"]
427
- })];
428
- var MastraAuthProvider = class extends (_a = MastraBase) {
140
+ var MastraAuthProvider = class extends MastraBase {
429
141
  constructor(options) {
430
- super({
431
- component: "AUTH",
432
- name: options?.name
433
- });
142
+ super({ component: "AUTH", name: options?.name });
434
143
  if (options?.authorizeUser) {
435
144
  this.authorizeUser = options.authorizeUser.bind(this);
436
145
  }
@@ -441,12 +150,6 @@ var MastraAuthProvider = class extends (_a = MastraBase) {
441
150
  }
442
151
  }
443
152
  };
444
- MastraAuthProvider = /* @__PURE__ */ ((_) => {
445
- _init = __decoratorStart(_a);
446
- MastraAuthProvider = __decorateElement(_init, 0, "MastraAuthProvider", _MastraAuthProvider_decorators, MastraAuthProvider);
447
- __runInitializers(_init, 1, MastraAuthProvider);
448
- return MastraAuthProvider;
449
- })();
450
153
  var MastraJwtAuth = class extends MastraAuthProvider {
451
154
  secret;
452
155
  constructor(options) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.ts","../../core/src/telemetry/utility.ts","../../core/src/telemetry/telemetry.decorators.ts","../../core/src/logger/constants.ts","../../core/src/logger/logger.ts","../../core/src/logger/default-logger.ts","../../core/src/base.ts","../../core/dist/chunk-3HXBPDKN.js","../../core/src/server/auth.ts","../src/jwt.ts"],"names":["trace","propagation","jwt"],"mappings":"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","file":"index.js","sourcesContent":["import jwt from 'jsonwebtoken';\nimport jwksClient from 'jwks-rsa';\n\nexport type JwtPayload = jwt.JwtPayload;\n\nexport async function decodeToken(accessToken: string) {\n const decoded = jwt.decode(accessToken, { complete: true });\n return decoded;\n}\n\nexport function getTokenIssuer(decoded: jwt.JwtPayload | null) {\n if (!decoded) throw new Error('Invalid token');\n if (!decoded.payload || typeof decoded.payload !== 'object') throw new Error('Invalid token payload');\n if (!decoded.payload.iss) throw new Error('Invalid token header');\n return decoded.payload.iss;\n}\n\nexport async function verifyHmac(accessToken: string, secret: string) {\n const decoded = jwt.decode(accessToken, { complete: true });\n\n if (!decoded) throw new Error('Invalid token');\n\n return jwt.verify(accessToken, secret) as jwt.JwtPayload;\n}\n\nexport async function verifyJwks(accessToken: string, jwksUri: string) {\n const decoded = jwt.decode(accessToken, { complete: true });\n\n if (!decoded) throw new Error('Invalid token');\n\n const client = jwksClient({ jwksUri });\n const key = await client.getSigningKey(decoded.header.kid);\n const signingKey = key.getPublicKey();\n return jwt.verify(accessToken, signingKey) as jwt.JwtPayload;\n}\n","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 jwt from 'jsonwebtoken';\n\ntype JwtUser = jwt.JwtPayload;\n\ninterface MastraJwtAuthOptions extends MastraAuthProviderOptions<JwtUser> {\n secret?: string;\n}\n\nexport class MastraJwtAuth extends MastraAuthProvider<JwtUser> {\n protected secret: string;\n\n constructor(options?: MastraJwtAuthOptions) {\n super({ name: options?.name ?? 'jwt' });\n\n this.secret = options?.secret ?? process.env.JWT_AUTH_SECRET ?? '';\n\n if (!this.secret) {\n throw new Error('JWT auth secret is required');\n }\n\n this.registerOptions(options);\n }\n\n async authenticateToken(token: string): Promise<JwtUser> {\n return jwt.verify(token, this.secret) as JwtUser;\n }\n\n async authorizeUser(user: JwtUser) {\n return !!user;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/utils.ts","../../core/src/logger/constants.ts","../../core/src/logger/logger.ts","../../core/src/logger/default-logger.ts","../../core/src/base.ts","../../core/src/server/auth.ts","../src/jwt.ts"],"names":["jwt"],"mappings":"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","file":"index.js","sourcesContent":["import jwt from 'jsonwebtoken';\nimport jwksClient from 'jwks-rsa';\n\nexport type JwtPayload = jwt.JwtPayload;\n\nexport async function decodeToken(accessToken: string) {\n const decoded = jwt.decode(accessToken, { complete: true });\n return decoded;\n}\n\nexport function getTokenIssuer(decoded: jwt.JwtPayload | null) {\n if (!decoded) throw new Error('Invalid token');\n if (!decoded.payload || typeof decoded.payload !== 'object') throw new Error('Invalid token payload');\n if (!decoded.payload.iss) throw new Error('Invalid token header');\n return decoded.payload.iss;\n}\n\nexport async function verifyHmac(accessToken: string, secret: string) {\n const decoded = jwt.decode(accessToken, { complete: true });\n\n if (!decoded) throw new Error('Invalid token');\n\n return jwt.verify(accessToken, secret) as jwt.JwtPayload;\n}\n\nexport async function verifyJwks(accessToken: string, jwksUri: string) {\n const decoded = jwt.decode(accessToken, { complete: true });\n\n if (!decoded) throw new Error('Invalid token');\n\n const client = jwksClient({ jwksUri });\n const key = await client.getSigningKey(decoded.header.kid);\n const signingKey = key.getPublicKey();\n return jwt.verify(accessToken, signingKey) as jwt.JwtPayload;\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 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 jwt from 'jsonwebtoken';\n\ntype JwtUser = jwt.JwtPayload;\n\ninterface MastraJwtAuthOptions extends MastraAuthProviderOptions<JwtUser> {\n secret?: string;\n}\n\nexport class MastraJwtAuth extends MastraAuthProvider<JwtUser> {\n protected secret: string;\n\n constructor(options?: MastraJwtAuthOptions) {\n super({ name: options?.name ?? 'jwt' });\n\n this.secret = options?.secret ?? process.env.JWT_AUTH_SECRET ?? '';\n\n if (!this.secret) {\n throw new Error('JWT auth secret is required');\n }\n\n this.registerOptions(options);\n }\n\n async authenticateToken(token: string): Promise<JwtUser> {\n return jwt.verify(token, this.secret) as JwtUser;\n }\n\n async authorizeUser(user: JwtUser) {\n return !!user;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/auth",
3
- "version": "0.0.0-consolidate-changesets-20250904042643",
3
+ "version": "0.0.0-fix-9244-clickhouse-metadata-20251104213434",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -31,13 +31,13 @@
31
31
  "devDependencies": {
32
32
  "@types/jsonwebtoken": "^9.0.10",
33
33
  "@types/node": "^20.19.0",
34
- "eslint": "^9.30.1",
34
+ "eslint": "^9.37.0",
35
35
  "tsup": "^8.5.0",
36
36
  "typescript": "^5.8.3",
37
37
  "vitest": "^3.2.4",
38
- "@mastra/core": "0.0.0-consolidate-changesets-20250904042643",
39
- "@internal/types-builder": "0.0.0-consolidate-changesets-20250904042643",
40
- "@internal/lint": "0.0.0-consolidate-changesets-20250904042643"
38
+ "@internal/lint": "0.0.0-fix-9244-clickhouse-metadata-20251104213434",
39
+ "@internal/types-builder": "0.0.0-fix-9244-clickhouse-metadata-20251104213434",
40
+ "@mastra/core": "0.0.0-fix-9244-clickhouse-metadata-20251104213434"
41
41
  },
42
42
  "homepage": "https://mastra.ai",
43
43
  "repository": {