UNPKG

@mastra/core

Version:

Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.

475 lines 21.6 kB
/** * AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY * * This file is generated by packages/server/scripts/generate-permissions.ts * Run `pnpm generate:permissions` from packages/server to regenerate. * * Source of truth: SERVER_ROUTES in @mastra/server */ /** * All known API resources. * Derived from SERVER_ROUTES paths in @mastra/server. */ export declare const RESOURCES: readonly ["a2a", "agents", "background-tasks", "channels", "datasets", "embedders", "experiments", "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"]; /** * Resource type union. */ export type Resource = (typeof RESOURCES)[number]; /** * All permission actions. * Derived from HTTP methods and route overrides: * - GET → read * - POST → write or execute (context-dependent) * - PUT/PATCH → write * - DELETE → delete * - Additional actions from explicit requiresPermission overrides */ export declare const ACTIONS: readonly ["create", "delete", "execute", "publish", "read", "share", "write"]; /** * Action type union. */ export type Action = (typeof ACTIONS)[number]; /** * All valid permission patterns. * Use `keyof typeof PERMISSION_PATTERNS` or the `PermissionPattern` type. */ export declare const PERMISSION_PATTERNS: { /** Full access to all resources and actions */ readonly '*': "*"; /** Create all resources */ readonly '*:create': "*:create"; /** Delete all resources */ readonly '*:delete': "*:delete"; /** Execute all resources */ readonly '*:execute': "*:execute"; /** Publish, activate, or restore all resources */ readonly '*:publish': "*:publish"; /** View all resources */ readonly '*:read': "*:read"; /** Change visibility/audience all resources */ readonly '*:share': "*:share"; /** Create and modify all resources */ readonly '*:write': "*:write"; /** Full access to agent-to-agent communication */ readonly 'a2a:*': "a2a:*"; /** Full access to agents */ readonly 'agents:*': "agents:*"; /** Full access to background tasks */ readonly 'background-tasks:*': "background-tasks:*"; /** Full access to channels */ readonly 'channels:*': "channels:*"; /** Full access to datasets */ readonly 'datasets:*': "datasets:*"; /** Full access to embedders */ readonly 'embedders:*': "embedders:*"; /** Full access to experiments */ readonly 'experiments:*': "experiments:*"; /** Full access to logs */ readonly 'logs:*': "logs:*"; /** Full access to MCP servers */ readonly 'mcp:*': "mcp:*"; /** Full access to memory and threads */ readonly 'memory:*': "memory:*"; /** Full access to traces and spans */ readonly 'observability:*': "observability:*"; /** Full access to processor-providers */ readonly 'processor-providers:*': "processor-providers:*"; /** Full access to processors */ readonly 'processors:*': "processors:*"; /** Full access to schedules */ readonly 'schedules:*': "schedules:*"; /** Full access to evaluation scores */ readonly 'scores:*': "scores:*"; /** Full access to stored agents */ readonly 'stored-agents:*': "stored-agents:*"; /** Full access to stored MCP clients */ readonly 'stored-mcp-clients:*': "stored-mcp-clients:*"; /** Full access to stored prompt blocks */ readonly 'stored-prompt-blocks:*': "stored-prompt-blocks:*"; /** Full access to stored scorers */ readonly 'stored-scorers:*': "stored-scorers:*"; /** Full access to stored skills */ readonly 'stored-skills:*': "stored-skills:*"; /** Full access to stored workspaces */ readonly 'stored-workspaces:*': "stored-workspaces:*"; /** Full access to system info */ readonly 'system:*': "system:*"; /** Full access to tool-providers */ readonly 'tool-providers:*': "tool-providers:*"; /** Full access to tools */ readonly 'tools:*': "tools:*"; /** Full access to vector stores */ readonly 'vector:*': "vector:*"; /** Full access to vectors */ readonly 'vectors:*': "vectors:*"; /** Full access to workflows */ readonly 'workflows:*': "workflows:*"; /** Full access to workspaces */ readonly 'workspaces:*': "workspaces:*"; /** View agent-to-agent communication */ readonly 'a2a:read': "a2a:read"; /** Create and modify agent-to-agent communication */ readonly 'a2a:write': "a2a:write"; /** Create agents */ readonly 'agents:create': "agents:create"; /** Delete agents */ readonly 'agents:delete': "agents:delete"; /** Execute agents */ readonly 'agents:execute': "agents:execute"; /** View agents */ readonly 'agents:read': "agents:read"; /** Create and modify agents */ readonly 'agents:write': "agents:write"; /** View background tasks */ readonly 'background-tasks:read': "background-tasks:read"; /** View channels */ readonly 'channels:read': "channels:read"; /** Create and modify channels */ readonly 'channels:write': "channels:write"; /** Delete datasets */ readonly 'datasets:delete': "datasets:delete"; /** Execute datasets */ readonly 'datasets:execute': "datasets:execute"; /** View datasets */ readonly 'datasets:read': "datasets:read"; /** Create and modify datasets */ readonly 'datasets:write': "datasets:write"; /** View embedders */ readonly 'embedders:read': "embedders:read"; /** View experiments */ readonly 'experiments:read': "experiments:read"; /** View logs */ readonly 'logs:read': "logs:read"; /** Execute MCP servers */ readonly 'mcp:execute': "mcp:execute"; /** View MCP servers */ readonly 'mcp:read': "mcp:read"; /** Create and modify MCP servers */ readonly 'mcp:write': "mcp:write"; /** Delete memory and threads */ readonly 'memory:delete': "memory:delete"; /** Execute memory and threads */ readonly 'memory:execute': "memory:execute"; /** View memory and threads */ readonly 'memory:read': "memory:read"; /** Create and modify memory and threads */ readonly 'memory:write': "memory:write"; /** View traces and spans */ readonly 'observability:read': "observability:read"; /** Create and modify traces and spans */ readonly 'observability:write': "observability:write"; /** View processor-providers */ readonly 'processor-providers:read': "processor-providers:read"; /** Execute processors */ readonly 'processors:execute': "processors:execute"; /** View processors */ readonly 'processors:read': "processors:read"; /** Execute schedules */ readonly 'schedules:execute': "schedules:execute"; /** View schedules */ readonly 'schedules:read': "schedules:read"; /** Create and modify schedules */ readonly 'schedules:write': "schedules:write"; /** View evaluation scores */ readonly 'scores:read': "scores:read"; /** Create and modify evaluation scores */ readonly 'scores:write': "scores:write"; /** Delete stored agents */ readonly 'stored-agents:delete': "stored-agents:delete"; /** Publish, activate, or restore stored agents */ readonly 'stored-agents:publish': "stored-agents:publish"; /** View stored agents */ readonly 'stored-agents:read': "stored-agents:read"; /** Create and modify stored agents */ readonly 'stored-agents:write': "stored-agents:write"; /** Delete stored MCP clients */ readonly 'stored-mcp-clients:delete': "stored-mcp-clients:delete"; /** Publish, activate, or restore stored MCP clients */ readonly 'stored-mcp-clients:publish': "stored-mcp-clients:publish"; /** View stored MCP clients */ readonly 'stored-mcp-clients:read': "stored-mcp-clients:read"; /** Create and modify stored MCP clients */ readonly 'stored-mcp-clients:write': "stored-mcp-clients:write"; /** Delete stored prompt blocks */ readonly 'stored-prompt-blocks:delete': "stored-prompt-blocks:delete"; /** Publish, activate, or restore stored prompt blocks */ readonly 'stored-prompt-blocks:publish': "stored-prompt-blocks:publish"; /** View stored prompt blocks */ readonly 'stored-prompt-blocks:read': "stored-prompt-blocks:read"; /** Create and modify stored prompt blocks */ readonly 'stored-prompt-blocks:write': "stored-prompt-blocks:write"; /** Delete stored scorers */ readonly 'stored-scorers:delete': "stored-scorers:delete"; /** Publish, activate, or restore stored scorers */ readonly 'stored-scorers:publish': "stored-scorers:publish"; /** View stored scorers */ readonly 'stored-scorers:read': "stored-scorers:read"; /** Create and modify stored scorers */ readonly 'stored-scorers:write': "stored-scorers:write"; /** Delete stored skills */ readonly 'stored-skills:delete': "stored-skills:delete"; /** Publish, activate, or restore stored skills */ readonly 'stored-skills:publish': "stored-skills:publish"; /** View stored skills */ readonly 'stored-skills:read': "stored-skills:read"; /** Create and modify stored skills */ readonly 'stored-skills:write': "stored-skills:write"; /** Delete stored workspaces */ readonly 'stored-workspaces:delete': "stored-workspaces:delete"; /** View stored workspaces */ readonly 'stored-workspaces:read': "stored-workspaces:read"; /** Create and modify stored workspaces */ readonly 'stored-workspaces:write': "stored-workspaces:write"; /** View system info */ readonly 'system:read': "system:read"; /** View tool-providers */ readonly 'tool-providers:read': "tool-providers:read"; /** Execute tools */ readonly 'tools:execute': "tools:execute"; /** View tools */ readonly 'tools:read': "tools:read"; /** Delete vector stores */ readonly 'vector:delete': "vector:delete"; /** Execute vector stores */ readonly 'vector:execute': "vector:execute"; /** View vector stores */ readonly 'vector:read': "vector:read"; /** Create and modify vector stores */ readonly 'vector:write': "vector:write"; /** View vectors */ readonly 'vectors:read': "vectors:read"; /** Delete workflows */ readonly 'workflows:delete': "workflows:delete"; /** Execute workflows */ readonly 'workflows:execute': "workflows:execute"; /** View workflows */ readonly 'workflows:read': "workflows:read"; /** Create and modify workflows */ readonly 'workflows:write': "workflows:write"; /** Delete workspaces */ readonly 'workspaces:delete': "workspaces:delete"; /** View workspaces */ readonly 'workspaces:read': "workspaces:read"; /** Create and modify workspaces */ readonly 'workspaces:write': "workspaces:write"; /** Full access to all stored resource families */ readonly 'stored:*': "stored:*"; /** View all stored resource families */ readonly 'stored:read': "stored:read"; /** Create and modify all stored resource families */ readonly 'stored:write': "stored:write"; /** Delete all stored resource families */ readonly 'stored:delete': "stored:delete"; /** Change visibility/audience stored agents */ readonly 'stored-agents:share': "stored-agents:share"; /** Change visibility/audience stored skills */ readonly 'stored-skills:share': "stored-skills:share"; }; /** * Permission pattern that can be used in role definitions. * Supports: * - Specific permissions: 'agents:read', 'workflows:execute' * - Resource wildcards: 'agents:*', 'workflows:*' (all actions on a resource) * - Action wildcards: '*:read', '*:write' (an action across all resources) * - Global wildcard: '*' (full access) */ export type PermissionPattern = keyof typeof PERMISSION_PATTERNS; /** * All valid resource:action permission combinations (excludes wildcards). */ export declare const PERMISSIONS: readonly ["a2a:read", "a2a:write", "agents:create", "agents:delete", "agents:execute", "agents:read", "agents:write", "background-tasks:read", "channels:read", "channels:write", "datasets:delete", "datasets:execute", "datasets:read", "datasets:write", "embedders:read", "experiments: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: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:read", "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"]; /** * Specific permission type (e.g., 'agents:read', 'workflows:execute'). */ export type Permission = (typeof PERMISSIONS)[number]; /** * Type-safe constants for Mastra-owned FGA permissions. * * These values are generated from server routes and can be used wherever * Mastra checks or maps FGA permissions. */ export declare const MastraFGAPermissions: { /** View agent-to-agent communication */ readonly A2A_READ: "a2a:read"; /** Create and modify agent-to-agent communication */ readonly A2A_WRITE: "a2a:write"; /** Create agents */ readonly AGENTS_CREATE: "agents:create"; /** Delete agents */ readonly AGENTS_DELETE: "agents:delete"; /** Execute agents */ readonly AGENTS_EXECUTE: "agents:execute"; /** View agents */ readonly AGENTS_READ: "agents:read"; /** Create and modify agents */ readonly AGENTS_WRITE: "agents:write"; /** View background tasks */ readonly BACKGROUND_TASKS_READ: "background-tasks:read"; /** View channels */ readonly CHANNELS_READ: "channels:read"; /** Create and modify channels */ readonly CHANNELS_WRITE: "channels:write"; /** Delete datasets */ readonly DATASETS_DELETE: "datasets:delete"; /** Execute datasets */ readonly DATASETS_EXECUTE: "datasets:execute"; /** View datasets */ readonly DATASETS_READ: "datasets:read"; /** Create and modify datasets */ readonly DATASETS_WRITE: "datasets:write"; /** View embedders */ readonly EMBEDDERS_READ: "embedders:read"; /** View experiments */ readonly EXPERIMENTS_READ: "experiments:read"; /** View logs */ readonly LOGS_READ: "logs:read"; /** Execute MCP servers */ readonly MCP_EXECUTE: "mcp:execute"; /** View MCP servers */ readonly MCP_READ: "mcp:read"; /** Create and modify MCP servers */ readonly MCP_WRITE: "mcp:write"; /** Delete memory and threads */ readonly MEMORY_DELETE: "memory:delete"; /** Execute memory and threads */ readonly MEMORY_EXECUTE: "memory:execute"; /** View memory and threads */ readonly MEMORY_READ: "memory:read"; /** Create and modify memory and threads */ readonly MEMORY_WRITE: "memory:write"; /** View traces and spans */ readonly OBSERVABILITY_READ: "observability:read"; /** Create and modify traces and spans */ readonly OBSERVABILITY_WRITE: "observability:write"; /** View processor-providers */ readonly PROCESSOR_PROVIDERS_READ: "processor-providers:read"; /** Execute processors */ readonly PROCESSORS_EXECUTE: "processors:execute"; /** View processors */ readonly PROCESSORS_READ: "processors:read"; /** Execute schedules */ readonly SCHEDULES_EXECUTE: "schedules:execute"; /** View schedules */ readonly SCHEDULES_READ: "schedules:read"; /** Create and modify schedules */ readonly SCHEDULES_WRITE: "schedules:write"; /** View evaluation scores */ readonly SCORES_READ: "scores:read"; /** Create and modify evaluation scores */ readonly SCORES_WRITE: "scores:write"; /** Delete stored agents */ readonly STORED_AGENTS_DELETE: "stored-agents:delete"; /** Publish, activate, or restore stored agents */ readonly STORED_AGENTS_PUBLISH: "stored-agents:publish"; /** View stored agents */ readonly STORED_AGENTS_READ: "stored-agents:read"; /** Create and modify stored agents */ readonly STORED_AGENTS_WRITE: "stored-agents:write"; /** Delete stored MCP clients */ readonly STORED_MCP_CLIENTS_DELETE: "stored-mcp-clients:delete"; /** Publish, activate, or restore stored MCP clients */ readonly STORED_MCP_CLIENTS_PUBLISH: "stored-mcp-clients:publish"; /** View stored MCP clients */ readonly STORED_MCP_CLIENTS_READ: "stored-mcp-clients:read"; /** Create and modify stored MCP clients */ readonly STORED_MCP_CLIENTS_WRITE: "stored-mcp-clients:write"; /** Delete stored prompt blocks */ readonly STORED_PROMPT_BLOCKS_DELETE: "stored-prompt-blocks:delete"; /** Publish, activate, or restore stored prompt blocks */ readonly STORED_PROMPT_BLOCKS_PUBLISH: "stored-prompt-blocks:publish"; /** View stored prompt blocks */ readonly STORED_PROMPT_BLOCKS_READ: "stored-prompt-blocks:read"; /** Create and modify stored prompt blocks */ readonly STORED_PROMPT_BLOCKS_WRITE: "stored-prompt-blocks:write"; /** Delete stored scorers */ readonly STORED_SCORERS_DELETE: "stored-scorers:delete"; /** Publish, activate, or restore stored scorers */ readonly STORED_SCORERS_PUBLISH: "stored-scorers:publish"; /** View stored scorers */ readonly STORED_SCORERS_READ: "stored-scorers:read"; /** Create and modify stored scorers */ readonly STORED_SCORERS_WRITE: "stored-scorers:write"; /** Delete stored skills */ readonly STORED_SKILLS_DELETE: "stored-skills:delete"; /** Publish, activate, or restore stored skills */ readonly STORED_SKILLS_PUBLISH: "stored-skills:publish"; /** View stored skills */ readonly STORED_SKILLS_READ: "stored-skills:read"; /** Create and modify stored skills */ readonly STORED_SKILLS_WRITE: "stored-skills:write"; /** Delete stored workspaces */ readonly STORED_WORKSPACES_DELETE: "stored-workspaces:delete"; /** View stored workspaces */ readonly STORED_WORKSPACES_READ: "stored-workspaces:read"; /** Create and modify stored workspaces */ readonly STORED_WORKSPACES_WRITE: "stored-workspaces:write"; /** View system info */ readonly SYSTEM_READ: "system:read"; /** View tool-providers */ readonly TOOL_PROVIDERS_READ: "tool-providers:read"; /** Execute tools */ readonly TOOLS_EXECUTE: "tools:execute"; /** View tools */ readonly TOOLS_READ: "tools:read"; /** Delete vector stores */ readonly VECTOR_DELETE: "vector:delete"; /** Execute vector stores */ readonly VECTOR_EXECUTE: "vector:execute"; /** View vector stores */ readonly VECTOR_READ: "vector:read"; /** Create and modify vector stores */ readonly VECTOR_WRITE: "vector:write"; /** View vectors */ readonly VECTORS_READ: "vectors:read"; /** Delete workflows */ readonly WORKFLOWS_DELETE: "workflows:delete"; /** Execute workflows */ readonly WORKFLOWS_EXECUTE: "workflows:execute"; /** View workflows */ readonly WORKFLOWS_READ: "workflows:read"; /** Create and modify workflows */ readonly WORKFLOWS_WRITE: "workflows:write"; /** Delete workspaces */ readonly WORKSPACES_DELETE: "workspaces:delete"; /** View workspaces */ readonly WORKSPACES_READ: "workspaces:read"; /** Create and modify workspaces */ readonly WORKSPACES_WRITE: "workspaces:write"; }; /** * Mastra-owned FGA permission values. */ export type MastraFGAPermission = (typeof MastraFGAPermissions)[keyof typeof MastraFGAPermissions]; /** * FGA permission input accepted by public config and provider APIs. * Keeps autocomplete for Mastra-owned permissions while allowing custom provider strings. */ export type MastraFGAPermissionInput = MastraFGAPermission | (string & {}); /** * Type-safe role mapping configuration. * * Maps role names (from your identity provider) to Mastra permission patterns. * * @example * ```typescript * const roleMapping: TypedRoleMapping = { * "Engineering": ["agents:*", "workflows:*"], * "Product": ["agents:read", "workflows:read"], * "Admin": ["*"], * "_default": [], * }; * ``` */ export type TypedRoleMapping = { [role: string]: PermissionPattern[]; }; /** * Validates that a string is a valid permission pattern. * Useful for runtime validation of permission strings. */ export declare function isValidPermissionPattern(pattern: string): pattern is PermissionPattern; /** * Validates that all permissions in an array are valid patterns. */ export declare function validatePermissions(permissions: string[]): permissions is PermissionPattern[]; //# sourceMappingURL=permissions.generated.d.ts.map