@mastra/auth-studio 1.3.3-alpha.0 → 1.3.4-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @mastra/auth-studio
2
2
 
3
+ ## 1.3.4-alpha.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Fixed reading request headers from Express-style plain header objects so cookie-based auth providers no longer throw and fail with a misleading 401. ([#21261](https://github.com/mastra-ai/mastra/pull/21261))
8
+
9
+ Related to https://github.com/mastra-ai/mastra/issues/21253
10
+
11
+ ## 1.3.3
12
+
13
+ ### Patch Changes
14
+
15
+ - Speed up Factory hot paths: ([#20261](https://github.com/mastra-ai/mastra/pull/20261))
16
+
17
+ - Much lower latency on authenticated requests — successful auth verifications are cached briefly instead of hitting the platform on every request, and credential verification requests time out after 15 seconds instead of hanging
18
+ - Faster GitHub repository listing and connecting
19
+ - Opening the same session concurrently no longer provisions duplicate sandboxes, and stuck sandbox commands now fail with a clear error instead of hanging
20
+ - Factory run dispatching stays fast as work-item history grows
21
+
3
22
  ## 1.3.3-alpha.0
4
23
 
5
24
  ### Patch Changes
@@ -1,31 +1,31 @@
1
- import { RegisteredLogger, IMastraLogger } from '../logger/index.js';
2
- import 'node:stream';
3
-
1
+ import { i as IMastraLogger, u as RegisteredLogger } from "../index-S1lgaKO7.js";
2
+ //#region src/base/MastraBase.d.ts
4
3
  declare class MastraBase {
5
- #private;
6
- component: RegisteredLogger;
7
- protected logger: IMastraLogger;
4
+ #private;
5
+ component: RegisteredLogger;
6
+ protected logger: IMastraLogger;
7
+ name?: string;
8
+ constructor({ component, name, rawConfig }: {
9
+ component?: RegisteredLogger;
8
10
  name?: string;
9
- constructor({ component, name, rawConfig, }: {
10
- component?: RegisteredLogger;
11
- name?: string;
12
- rawConfig?: Record<string, unknown>;
13
- });
14
- /**
15
- * Returns the raw storage configuration this primitive was created from,
16
- * or undefined if it was created from code.
17
- */
18
- toRawConfig(): Record<string, unknown> | undefined;
19
- /**
20
- * Sets the raw storage configuration for this primitive.
21
- * @internal
22
- */
23
- __setRawConfig(rawConfig: Record<string, unknown>): void;
24
- /**
25
- * Set the logger for the agent
26
- * @param logger
27
- */
28
- __setLogger(logger: IMastraLogger): void;
11
+ rawConfig?: Record<string, unknown>;
12
+ });
13
+ /**
14
+ * Returns the raw storage configuration this primitive was created from,
15
+ * or undefined if it was created from code.
16
+ */
17
+ toRawConfig(): Record<string, unknown> | undefined;
18
+ /**
19
+ * Sets the raw storage configuration for this primitive.
20
+ * @internal
21
+ */
22
+ __setRawConfig(rawConfig: Record<string, unknown>): void;
23
+ /**
24
+ * Set the logger for the agent
25
+ * @param logger
26
+ */
27
+ __setLogger(logger: IMastraLogger): void;
29
28
  }
30
-
29
+ //#endregion
31
30
  export { MastraBase };
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,218 @@
1
+ import { Transform } from "stream";
2
+ //#region src/logger/index.d.ts
3
+ declare const RegisteredLogger: {
4
+ readonly AGENT: "AGENT";
5
+ readonly OBSERVABILITY: "OBSERVABILITY";
6
+ readonly AUTH: "AUTH";
7
+ readonly BROWSER: "BROWSER";
8
+ readonly NETWORK: "NETWORK";
9
+ readonly WORKFLOW: "WORKFLOW";
10
+ readonly LLM: "LLM";
11
+ readonly TTS: "TTS";
12
+ readonly VOICE: "VOICE";
13
+ readonly VECTOR: "VECTOR";
14
+ readonly BUNDLER: "BUNDLER";
15
+ readonly DEPLOYER: "DEPLOYER";
16
+ readonly MEMORY: "MEMORY";
17
+ readonly STORAGE: "STORAGE";
18
+ readonly EMBEDDINGS: "EMBEDDINGS";
19
+ readonly MCP_SERVER: "MCP_SERVER";
20
+ readonly SERVER_CACHE: "SERVER_CACHE";
21
+ readonly SERVER: "SERVER";
22
+ readonly WORKSPACE: "WORKSPACE";
23
+ readonly CHANNEL: "CHANNEL";
24
+ };
25
+ type RegisteredLogger = (typeof RegisteredLogger)[keyof typeof RegisteredLogger];
26
+ declare const LogLevel: {
27
+ readonly DEBUG: "debug";
28
+ readonly INFO: "info";
29
+ readonly WARN: "warn";
30
+ readonly ERROR: "error";
31
+ readonly NONE: "silent";
32
+ };
33
+ type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
34
+ interface BaseLogMessage {
35
+ runId?: string;
36
+ msg: string;
37
+ level: LogLevel;
38
+ time: Date;
39
+ pid: number;
40
+ hostname: string;
41
+ name: string;
42
+ }
43
+ declare abstract class LoggerTransport extends Transform {
44
+ constructor(opts?: any);
45
+ listLogsByRunId(_args: {
46
+ runId: string;
47
+ fromDate?: Date;
48
+ toDate?: Date;
49
+ logLevel?: LogLevel;
50
+ filters?: Record<string, any>;
51
+ page?: number;
52
+ perPage?: number;
53
+ }): Promise<{
54
+ logs: BaseLogMessage[];
55
+ total: number;
56
+ page: number;
57
+ perPage: number;
58
+ hasMore: boolean;
59
+ }>;
60
+ listLogs(_args?: {
61
+ fromDate?: Date;
62
+ toDate?: Date;
63
+ logLevel?: LogLevel;
64
+ filters?: Record<string, any>;
65
+ returnPaginationResults?: boolean;
66
+ page?: number;
67
+ perPage?: number;
68
+ }): Promise<{
69
+ logs: BaseLogMessage[];
70
+ total: number;
71
+ page: number;
72
+ perPage: number;
73
+ hasMore: boolean;
74
+ }>;
75
+ }
76
+ declare const createCustomTransport: (stream: Transform, listLogs?: LoggerTransport["listLogs"], listLogsByRunId?: LoggerTransport["listLogsByRunId"]) => LoggerTransport;
77
+ interface IMastraLogger {
78
+ debug(message: string, ...args: any[]): void;
79
+ info(message: string, ...args: any[]): void;
80
+ warn(message: string, ...args: any[]): void;
81
+ error(message: string, ...args: any[]): void;
82
+ trackException(error: Error, metadata?: Record<string, unknown>): void;
83
+ getTransports(): Map<string, LoggerTransport>;
84
+ listLogs(_transportId: string, _params?: {
85
+ fromDate?: Date;
86
+ toDate?: Date;
87
+ logLevel?: LogLevel;
88
+ filters?: Record<string, any>;
89
+ page?: number;
90
+ perPage?: number;
91
+ }): Promise<{
92
+ logs: BaseLogMessage[];
93
+ total: number;
94
+ page: number;
95
+ perPage: number;
96
+ hasMore: boolean;
97
+ }>;
98
+ listLogsByRunId(_args: {
99
+ transportId: string;
100
+ runId: string;
101
+ fromDate?: Date;
102
+ toDate?: Date;
103
+ logLevel?: LogLevel;
104
+ filters?: Record<string, any>;
105
+ page?: number;
106
+ perPage?: number;
107
+ }): Promise<{
108
+ logs: BaseLogMessage[];
109
+ total: number;
110
+ page: number;
111
+ perPage: number;
112
+ hasMore: boolean;
113
+ }>;
114
+ }
115
+ declare abstract class MastraLogger implements IMastraLogger {
116
+ protected name: string;
117
+ protected level: LogLevel;
118
+ protected transports: Map<string, LoggerTransport>;
119
+ constructor(options?: {
120
+ name?: string;
121
+ level?: LogLevel;
122
+ transports?: Record<string, LoggerTransport>;
123
+ });
124
+ abstract debug(message: string, ...args: any[]): void;
125
+ abstract info(message: string, ...args: any[]): void;
126
+ abstract warn(message: string, ...args: any[]): void;
127
+ abstract error(message: string, ...args: any[]): void;
128
+ getTransports(): Map<string, LoggerTransport>;
129
+ trackException(_error: Error, _metadata?: Record<string, unknown>): void;
130
+ listLogs(transportId: string, params?: {
131
+ fromDate?: Date;
132
+ toDate?: Date;
133
+ logLevel?: LogLevel;
134
+ filters?: Record<string, any>;
135
+ page?: number;
136
+ perPage?: number;
137
+ }): Promise<{
138
+ logs: BaseLogMessage[];
139
+ total: number;
140
+ page: number;
141
+ perPage: number;
142
+ hasMore: boolean;
143
+ }>;
144
+ listLogsByRunId({ transportId, runId, fromDate, toDate, logLevel, filters, page, perPage }: {
145
+ transportId: string;
146
+ runId: string;
147
+ fromDate?: Date;
148
+ toDate?: Date;
149
+ logLevel?: LogLevel;
150
+ filters?: Record<string, any>;
151
+ page?: number;
152
+ perPage?: number;
153
+ }): Promise<{
154
+ logs: BaseLogMessage[];
155
+ total: number;
156
+ page: number;
157
+ perPage: number;
158
+ hasMore: boolean;
159
+ }>;
160
+ }
161
+ type LogFilterContext = {
162
+ component?: RegisteredLogger;
163
+ level: LogLevel;
164
+ message: string;
165
+ args: unknown[];
166
+ };
167
+ type LogFilter = (ctx: LogFilterContext) => boolean;
168
+ interface ConsoleLoggerOptions {
169
+ name?: string;
170
+ level?: LogLevel;
171
+ component?: RegisteredLogger;
172
+ filter?: LogFilter;
173
+ }
174
+ declare class ConsoleLogger extends MastraLogger {
175
+ protected component?: RegisteredLogger;
176
+ protected filter?: LogFilter;
177
+ constructor(options?: ConsoleLoggerOptions);
178
+ child(componentOrBindings: RegisteredLogger | Record<string, unknown>): ConsoleLogger;
179
+ private shouldLog;
180
+ private prefix;
181
+ debug(message: string, ...args: any[]): void;
182
+ info(message: string, ...args: any[]): void;
183
+ warn(message: string, ...args: any[]): void;
184
+ error(message: string, ...args: any[]): void;
185
+ listLogs(_transportId: string, _params?: {
186
+ fromDate?: Date;
187
+ toDate?: Date;
188
+ logLevel?: LogLevel;
189
+ filters?: Record<string, any>;
190
+ page?: number;
191
+ perPage?: number;
192
+ }): Promise<{
193
+ logs: never[];
194
+ total: number;
195
+ page: number;
196
+ perPage: number;
197
+ hasMore: boolean;
198
+ }>;
199
+ listLogsByRunId(_args: {
200
+ transportId: string;
201
+ runId: string;
202
+ fromDate?: Date;
203
+ toDate?: Date;
204
+ logLevel?: LogLevel;
205
+ filters?: Record<string, any>;
206
+ page?: number;
207
+ perPage?: number;
208
+ }): Promise<{
209
+ logs: never[];
210
+ total: number;
211
+ page: number;
212
+ perPage: number;
213
+ hasMore: boolean;
214
+ }>;
215
+ }
216
+ //#endregion
217
+ export { LogFilter as a, LoggerTransport as c, createCustomTransport as d, IMastraLogger as i, MastraLogger as l, ConsoleLogger as n, LogFilterContext as o, ConsoleLoggerOptions as r, LogLevel as s, BaseLogMessage as t, RegisteredLogger as u };
218
+ //# sourceMappingURL=index-S1lgaKO7.d.ts.map
@@ -10,7 +10,7 @@
10
10
  * All known API resources.
11
11
  * Derived from SERVER_ROUTES paths in @mastra/server.
12
12
  */
13
- export declare const RESOURCES: readonly ["a2a", "agent-builder", "agent-controller", "agents", "auth", "background-tasks", "channels", "datasets", "embedders", "experiments", "infrastructure", "logs", "mcp", "memory", "observability", "processor-providers", "processors", "schedules", "scores", "stored-agents", "stored-mcp-clients", "stored-prompt-blocks", "stored-scorers", "stored-skills", "stored-workspaces", "system", "tool-providers", "tools", "vector", "vectors", "workflows", "workspaces"];
13
+ export declare const RESOURCES: readonly ["a2a", "agent-builder", "agent-controller", "agents", "auth", "background-tasks", "channels", "datasets", "embedders", "experiments", "infrastructure", "logs", "mcp", "memory", "observability", "processor-providers", "processors", "schedules", "scores", "stored-agents", "stored-mcp-clients", "stored-prompt-blocks", "stored-scorers", "stored-skills", "stored-workflows", "stored-workspaces", "system", "tool-providers", "tools", "vector", "vectors", "workflows", "workspaces"];
14
14
  /**
15
15
  * Resource type union.
16
16
  */
@@ -98,6 +98,8 @@ export declare const PERMISSION_PATTERNS: {
98
98
  readonly 'stored-scorers:*': "stored-scorers:*";
99
99
  /** Full access to stored skills */
100
100
  readonly 'stored-skills:*': "stored-skills:*";
101
+ /** Full access to stored workflows */
102
+ readonly 'stored-workflows:*': "stored-workflows:*";
101
103
  /** Full access to stored workspaces */
102
104
  readonly 'stored-workspaces:*': "stored-workspaces:*";
103
105
  /** Full access to system info */
@@ -238,6 +240,10 @@ export declare const PERMISSION_PATTERNS: {
238
240
  readonly 'stored-skills:read': "stored-skills:read";
239
241
  /** Create and modify stored skills */
240
242
  readonly 'stored-skills:write': "stored-skills:write";
243
+ /** View stored workflows */
244
+ readonly 'stored-workflows:read': "stored-workflows:read";
245
+ /** Create and modify stored workflows */
246
+ readonly 'stored-workflows:write': "stored-workflows:write";
241
247
  /** Delete stored workspaces */
242
248
  readonly 'stored-workspaces:delete': "stored-workspaces:delete";
243
249
  /** View stored workspaces */
@@ -305,7 +311,7 @@ export type PermissionPattern = keyof typeof PERMISSION_PATTERNS;
305
311
  /**
306
312
  * All valid resource:action permission combinations (excludes wildcards).
307
313
  */
308
- export declare const PERMISSIONS: readonly ["a2a:read", "a2a:write", "agent-builder:execute", "agent-builder:read", "agent-builder:write", "agent-controller:execute", "agent-controller:read", "agents:create", "agents:delete", "agents:execute", "agents:read", "agents:write", "auth:read", "background-tasks:read", "channels:read", "channels:write", "datasets:delete", "datasets:execute", "datasets:read", "datasets:write", "embedders:read", "experiments:read", "infrastructure:read", "logs:read", "mcp:execute", "mcp:read", "mcp:write", "memory:delete", "memory:execute", "memory:read", "memory:write", "observability:read", "observability:write", "processor-providers:read", "processors:execute", "processors:read", "schedules:delete", "schedules:execute", "schedules:read", "schedules:write", "scores:read", "scores:write", "stored-agents:delete", "stored-agents:publish", "stored-agents:read", "stored-agents:write", "stored-mcp-clients:delete", "stored-mcp-clients:publish", "stored-mcp-clients:read", "stored-mcp-clients:write", "stored-prompt-blocks:delete", "stored-prompt-blocks:publish", "stored-prompt-blocks:read", "stored-prompt-blocks:write", "stored-scorers:delete", "stored-scorers:publish", "stored-scorers:read", "stored-scorers:write", "stored-skills:delete", "stored-skills:publish", "stored-skills:read", "stored-skills:write", "stored-workspaces:delete", "stored-workspaces:read", "stored-workspaces:write", "system:read", "tool-providers:delete", "tool-providers:read", "tool-providers:write", "tools:execute", "tools:read", "vector:delete", "vector:execute", "vector:read", "vector:write", "vectors:read", "workflows:delete", "workflows:execute", "workflows:read", "workflows:write", "workspaces:delete", "workspaces:read", "workspaces:write"];
314
+ export declare const PERMISSIONS: readonly ["a2a:read", "a2a:write", "agent-builder:execute", "agent-builder:read", "agent-builder:write", "agent-controller:execute", "agent-controller:read", "agents:create", "agents:delete", "agents:execute", "agents:read", "agents:write", "auth:read", "background-tasks:read", "channels:read", "channels:write", "datasets:delete", "datasets:execute", "datasets:read", "datasets:write", "embedders:read", "experiments:read", "infrastructure:read", "logs:read", "mcp:execute", "mcp:read", "mcp:write", "memory:delete", "memory:execute", "memory:read", "memory:write", "observability:read", "observability:write", "processor-providers:read", "processors:execute", "processors:read", "schedules:delete", "schedules:execute", "schedules:read", "schedules:write", "scores:read", "scores:write", "stored-agents:delete", "stored-agents:publish", "stored-agents:read", "stored-agents:write", "stored-mcp-clients:delete", "stored-mcp-clients:publish", "stored-mcp-clients:read", "stored-mcp-clients:write", "stored-prompt-blocks:delete", "stored-prompt-blocks:publish", "stored-prompt-blocks:read", "stored-prompt-blocks:write", "stored-scorers:delete", "stored-scorers:publish", "stored-scorers:read", "stored-scorers:write", "stored-skills:delete", "stored-skills:publish", "stored-skills:read", "stored-skills:write", "stored-workflows:read", "stored-workflows:write", "stored-workspaces:delete", "stored-workspaces:read", "stored-workspaces:write", "system:read", "tool-providers:delete", "tool-providers:read", "tool-providers:write", "tools:execute", "tools:read", "vector:delete", "vector:execute", "vector:read", "vector:write", "vectors:read", "workflows:delete", "workflows:execute", "workflows:read", "workflows:write", "workspaces:delete", "workspaces:read", "workspaces:write"];
309
315
  /**
310
316
  * Specific permission type (e.g., 'agents:read', 'workflows:execute').
311
317
  */
@@ -441,6 +447,10 @@ export declare const MastraFGAPermissions: {
441
447
  readonly STORED_SKILLS_READ: "stored-skills:read";
442
448
  /** Create and modify stored skills */
443
449
  readonly STORED_SKILLS_WRITE: "stored-skills:write";
450
+ /** View stored workflows */
451
+ readonly STORED_WORKFLOWS_READ: "stored-workflows:read";
452
+ /** Create and modify stored workflows */
453
+ readonly STORED_WORKFLOWS_WRITE: "stored-workflows:write";
444
454
  /** Delete stored workspaces */
445
455
  readonly STORED_WORKSPACES_DELETE: "stored-workspaces:delete";
446
456
  /** View stored workspaces */
@@ -1,7 +1,7 @@
1
1
  export interface HonoRequestLike {
2
2
  raw?: Request;
3
- headers?: Headers;
4
- header(name: string): string | undefined;
3
+ headers?: Headers | Record<string, string | string[] | undefined>;
4
+ header?(name: string): string | undefined;
5
5
  }
6
6
  export type MastraAuthRequest = Request | HonoRequestLike;
7
7
  export type AuthenticateTokenFn<TUser, TResult = Promise<TUser | null>> = {
@@ -10,6 +10,10 @@ export type AuthenticateTokenFn<TUser, TResult = Promise<TUser | null>> = {
10
10
  export type AuthorizeUserFn<TUser, TResult = Promise<boolean> | boolean> = {
11
11
  bivarianceHack(user: TUser, request: MastraAuthRequest): TResult;
12
12
  }['bivarianceHack'];
13
+ /**
14
+ * Read a request header across fetch, Hono, and Express-style request shapes.
15
+ * Must not throw when `headers` is a plain object (Express `IncomingHttpHeaders`).
16
+ */
13
17
  export declare function getRequestHeader(request: MastraAuthRequest, name: string): string | null;
14
18
  export declare function getWebRequest(request: MastraAuthRequest): Request | undefined;
15
19
  export type Methods = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'ALL';