UNPKG

@mastra/core

Version:

The core foundation of the Mastra framework, providing essential components and interfaces for building AI-powered applications.

160 lines • 7.74 kB
import type { Agent } from '../agent'; import type { BundlerConfig } from '../bundler/types'; import type { MastraDeployer } from '../deployer'; import { LogLevel } from '../logger'; import type { IMastraLogger } from '../logger'; import type { MCPServerBase } from '../mcp'; import type { MastraMemory } from '../memory/memory'; import type { AgentNetwork } from '../network'; import type { NewAgentNetwork } from '../network/vNext'; import type { Middleware, ServerConfig } from '../server/types'; import type { MastraStorage } from '../storage'; import { Telemetry } from '../telemetry'; import type { OtelConfig } from '../telemetry'; import type { MastraTTS } from '../tts'; import type { MastraVector } from '../vector'; import type { Workflow } from '../workflows'; import type { LegacyWorkflow } from '../workflows/legacy'; type NonEmpty<T extends string> = T extends '' ? never : T; export interface Config<TAgents extends Record<string, Agent<any>> = Record<string, Agent<any>>, TLegacyWorkflows extends Record<string, LegacyWorkflow> = Record<string, LegacyWorkflow>, TWorkflows extends Record<string, Workflow> = Record<string, Workflow>, TVectors extends Record<string, MastraVector> = Record<string, MastraVector>, TTTS extends Record<string, MastraTTS> = Record<string, MastraTTS>, TLogger extends IMastraLogger = IMastraLogger, TNetworks extends Record<string, AgentNetwork> = Record<string, AgentNetwork>, TVNextNetworks extends Record<string, NewAgentNetwork> = Record<string, NewAgentNetwork>, TMCPServers extends Record<string, MCPServerBase> = Record<string, MCPServerBase>> { agents?: TAgents; networks?: TNetworks; vnext_networks?: TVNextNetworks; storage?: MastraStorage; vectors?: TVectors; logger?: TLogger | false; legacy_workflows?: TLegacyWorkflows; workflows?: TWorkflows; tts?: TTTS; telemetry?: OtelConfig; idGenerator?: () => NonEmpty<string>; deployer?: MastraDeployer; server?: ServerConfig; mcpServers?: TMCPServers; bundler?: BundlerConfig; /** * Server middleware functions to be applied to API routes * Each middleware can specify a path pattern (defaults to '/api/*') * @deprecated use server.middleware instead */ serverMiddleware?: Array<{ handler: (c: any, next: () => Promise<void>) => Promise<Response | void>; path?: string; }>; memory?: never; } export declare class Mastra<TAgents extends Record<string, Agent<any>> = Record<string, Agent<any>>, TLegacyWorkflows extends Record<string, LegacyWorkflow> = Record<string, LegacyWorkflow>, TWorkflows extends Record<string, Workflow> = Record<string, Workflow>, TVectors extends Record<string, MastraVector> = Record<string, MastraVector>, TTTS extends Record<string, MastraTTS> = Record<string, MastraTTS>, TLogger extends IMastraLogger = IMastraLogger, TNetworks extends Record<string, AgentNetwork> = Record<string, AgentNetwork>, TVNextNetworks extends Record<string, NewAgentNetwork> = Record<string, NewAgentNetwork>, TMCPServers extends Record<string, MCPServerBase> = Record<string, MCPServerBase>> { #private; /** * @deprecated use getTelemetry() instead */ get telemetry(): Telemetry | undefined; /** * @deprecated use getStorage() instead */ get storage(): MastraStorage | undefined; /** * @deprecated use getMemory() instead */ get memory(): MastraMemory | undefined; getIdGenerator(): (() => NonEmpty<string>) | undefined; /** * Generate a unique identifier using the configured generator or default to crypto.randomUUID() * @returns A unique string ID */ generateId(): string; setIdGenerator(idGenerator: () => NonEmpty<string>): void; constructor(config?: Config<TAgents, TLegacyWorkflows, TWorkflows, TVectors, TTTS, TLogger, TNetworks, TVNextNetworks, TMCPServers>); getAgent<TAgentName extends keyof TAgents>(name: TAgentName): TAgents[TAgentName]; getAgentById(id: string): Agent; getAgents(): TAgents; getVector<TVectorName extends keyof TVectors>(name: TVectorName): TVectors[TVectorName]; getVectors(): TVectors | undefined; getDeployer(): MastraDeployer | undefined; legacy_getWorkflow<TWorkflowId extends keyof TLegacyWorkflows>(id: TWorkflowId, { serialized }?: { serialized?: boolean; }): TLegacyWorkflows[TWorkflowId]; getWorkflow<TWorkflowId extends keyof TWorkflows>(id: TWorkflowId, { serialized }?: { serialized?: boolean; }): TWorkflows[TWorkflowId]; getWorkflowById(id: string): Workflow; legacy_getWorkflows(props?: { serialized?: boolean; }): Record<string, LegacyWorkflow>; getWorkflows(props?: { serialized?: boolean; }): Record<string, Workflow>; setStorage(storage: MastraStorage): void; setLogger({ logger }: { logger: TLogger; }): void; setTelemetry(telemetry: OtelConfig): void; getTTS(): TTTS | undefined; getLogger(): TLogger; getTelemetry(): Telemetry | undefined; getMemory(): MastraMemory | undefined; getStorage(): MastraStorage | undefined; getServerMiddleware(): { handler: (c: any, next: () => Promise<void>) => Promise<Response | void>; path: string; }[]; setServerMiddleware(serverMiddleware: Middleware | Middleware[]): void; getNetworks(): AgentNetwork[]; vnext_getNetworks(): NewAgentNetwork[]; getServer(): ServerConfig | undefined; getBundlerConfig(): BundlerConfig | undefined; /** * Get a specific network by ID * @param networkId - The ID of the network to retrieve * @returns The network with the specified ID, or undefined if not found */ getNetwork(networkId: string): AgentNetwork | undefined; vnext_getNetwork(networkId: string): NewAgentNetwork | undefined; getLogsByRunId({ runId, transportId, fromDate, toDate, logLevel, filters, page, perPage, }: { runId: string; transportId: string; fromDate?: Date; toDate?: Date; logLevel?: LogLevel; filters?: Record<string, any>; page?: number; perPage?: number; }): Promise<{ logs: import("../logger").BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean; }>; getLogs(transportId: string, params?: { fromDate?: Date; toDate?: Date; logLevel?: LogLevel; filters?: Record<string, any>; page?: number; perPage?: number; }): Promise<{ logs: import("../logger").BaseLogMessage[]; total: number; page: number; perPage: number; hasMore: boolean; }>; /** * Get all registered MCP server instances. * @returns A record of MCP server ID to MCPServerBase instance, or undefined if none are registered. */ getMCPServers(): Record<string, MCPServerBase> | undefined; /** * Get a specific MCP server instance. * If a version is provided, it attempts to find the server with that exact logical ID and version. * If no version is provided, it returns the server with the specified logical ID that has the most recent releaseDate. * The logical ID should match the `id` property of the MCPServer instance (typically set via MCPServerConfig.id). * @param serverId - The logical ID of the MCP server to retrieve. * @param version - Optional specific version of the MCP server to retrieve. * @returns The MCP server instance, or undefined if not found or if the specific version is not found. */ getMCPServer(serverId: string, version?: string): MCPServerBase | undefined; } export {}; //# sourceMappingURL=index.d.ts.map