@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
1 lines • 105 kB
Source Map (JSON)
{"version":3,"sources":["../src/mastra/index.ts","../src/events/event-emitter.ts","../src/mastra/hooks.ts"],"names":["MastraError","saveScorePayloadSchema","InstrumentClass","Mastra","randomUUID","InMemoryServerCache","WorkflowEventProcessor","noopLogger","LogLevel","ConsoleLogger","augmentWithInit","Telemetry","setupAITracing","registerHook","getAllAITracing","shutdownAITracingRegistry","__decoratorStart","__decorateElement","__runInitializers"],"mappings":"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","file":"chunk-CNIM7N4E.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { Agent } from '../agent';\nimport { getAllAITracing, setupAITracing, shutdownAITracingRegistry } from '../ai-tracing';\nimport type { ObservabilityRegistryConfig } from '../ai-tracing';\nimport type { BundlerConfig } from '../bundler/types';\nimport { InMemoryServerCache } from '../cache';\nimport type { MastraServerCache } from '../cache';\nimport type { MastraDeployer } from '../deployer';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport { EventEmitterPubSub } from '../events/event-emitter';\nimport type { PubSub } from '../events/pubsub';\nimport type { Event } from '../events/types';\nimport { AvailableHooks, registerHook } from '../hooks';\nimport type { MastraModelGateway } from '../llm/model/gateways';\nimport { LogLevel, noopLogger, ConsoleLogger } from '../logger';\nimport type { IMastraLogger } from '../logger';\nimport type { MCPServerBase } from '../mcp';\nimport type { MastraMemory } from '../memory/memory';\nimport type { MastraScorer } from '../scores';\nimport type { Middleware, ServerConfig } from '../server/types';\nimport type { MastraStorage, WorkflowRuns } from '../storage';\nimport { augmentWithInit } from '../storage/storageWithInit';\nimport { InstrumentClass, Telemetry } from '../telemetry';\nimport type { OtelConfig } from '../telemetry';\nimport type { MastraTTS } from '../tts';\nimport type { MastraIdGenerator } from '../types';\nimport type { MastraVector } from '../vector';\nimport type { Workflow } from '../workflows';\nimport { WorkflowEventProcessor } from '../workflows/evented/workflow-event-processor';\nimport type { LegacyWorkflow } from '../workflows/legacy';\nimport { createOnScorerHook } from './hooks';\n\n/**\n * Configuration interface for initializing a Mastra instance.\n *\n * The Config interface defines all the optional components that can be registered\n * with a Mastra instance, including agents, workflows, storage, logging, and more.\n *\n * @template TAgents - Record of agent instances keyed by their names\n * @template TLegacyWorkflows - Record of legacy workflow instances\n * @template TWorkflows - Record of workflow instances\n * @template TVectors - Record of vector store instances\n * @template TTTS - Record of text-to-speech instances\n * @template TLogger - Logger implementation type\n * @template TVNextNetworks - Record of agent network instances\n * @template TMCPServers - Record of MCP server instances\n * @template TScorers - Record of scorer instances\n *\n * @example\n * ```typescript\n * const mastra = new Mastra({\n * agents: {\n * weatherAgent: new Agent({\n * name: 'weather-agent',\n * instructions: 'You help with weather information',\n * model: 'openai/gpt-5'\n * })\n * },\n * storage: new LibSQLStore({ url: ':memory:' }),\n * logger: new PinoLogger({ name: 'MyApp' })\n * });\n * ```\n */\nexport interface Config<\n TAgents extends Record<string, Agent<any>> = Record<string, Agent<any>>,\n TLegacyWorkflows extends Record<string, LegacyWorkflow> = Record<string, LegacyWorkflow>,\n TWorkflows extends Record<string, Workflow<any, any, any, any, any, any>> = Record<\n string,\n Workflow<any, any, any, any, any, any>\n >,\n TVectors extends Record<string, MastraVector<any>> = Record<string, MastraVector<any>>,\n TTTS extends Record<string, MastraTTS> = Record<string, MastraTTS>,\n TLogger extends IMastraLogger = IMastraLogger,\n TMCPServers extends Record<string, MCPServerBase> = Record<string, MCPServerBase>,\n TScorers extends Record<string, MastraScorer<any, any, any, any>> = Record<string, MastraScorer<any, any, any, any>>,\n> {\n /**\n * Agents are autonomous systems that can make decisions and take actions.\n */\n agents?: TAgents;\n\n /**\n * Storage provider for persisting data, conversation history, and workflow state.\n * Required for agent memory and workflow persistence.\n */\n storage?: MastraStorage;\n\n /**\n * Vector stores for semantic search and retrieval-augmented generation (RAG).\n * Used for storing and querying embeddings.\n */\n vectors?: TVectors;\n\n /**\n * Logger implementation for application logging and debugging.\n * Set to `false` to disable logging entirely.\n * @default `INFO` level in development, `WARN` in production.\n */\n logger?: TLogger | false;\n\n /**\n * Legacy workflow definitions for backward compatibility.\n * @deprecated Use `workflows` instead.\n */\n legacy_workflows?: TLegacyWorkflows;\n\n /**\n * Workflows provide type-safe, composable task execution with built-in error handling.\n */\n workflows?: TWorkflows;\n\n /**\n * Text-to-speech providers for voice synthesis capabilities.\n */\n tts?: TTTS;\n\n /**\n * OpenTelemetry configuration for distributed tracing and observability.\n *\n * @deprecated Use {@link observability} instead.\n */\n telemetry?: OtelConfig;\n\n /**\n * AI-specific observability configuration for tracking model interactions.\n */\n observability?: ObservabilityRegistryConfig;\n\n /**\n * Custom ID generator function for creating unique identifiers.\n * @default `crypto.randomUUID()`\n */\n idGenerator?: MastraIdGenerator;\n\n /**\n * Deployment provider for publishing applications to cloud platforms.\n */\n deployer?: MastraDeployer;\n\n /**\n * Server configuration for HTTP endpoints and middleware.\n */\n server?: ServerConfig;\n\n /**\n * MCP servers provide tools and resources that agents can use.\n */\n mcpServers?: TMCPServers;\n\n /**\n * Bundler configuration for packaging and deployment.\n */\n bundler?: BundlerConfig;\n\n /**\n * Pub/sub system for event-driven communication between components.\n * @default EventEmitterPubSub\n */\n pubsub?: PubSub;\n\n /**\n * Scorers help assess the quality of agent responses and workflow outputs.\n */\n scorers?: TScorers;\n\n /**\n * Server middleware functions to be applied to API routes\n * Each middleware can specify a path pattern (defaults to '/api/*')\n * @deprecated use server.middleware instead\n */\n serverMiddleware?: Array<{\n handler: (c: any, next: () => Promise<void>) => Promise<Response | void>;\n path?: string;\n }>;\n\n // @deprecated add memory to your Agent directly instead\n memory?: never;\n\n /**\n * Custom model router gateways for accessing LLM providers.\n * Gateways handle provider-specific authentication, URL construction, and model resolution.\n */\n gateways?: Record<string, MastraModelGateway>;\n\n /**\n * Event handlers for custom application events.\n * Maps event topics to handler functions for event-driven architectures.\n */\n events?: {\n [topic: string]: (\n event: Event,\n cb?: () => Promise<void>,\n ) => Promise<void> | ((event: Event, cb?: () => Promise<void>) => Promise<void>)[];\n };\n}\n\n@InstrumentClass({\n prefix: 'mastra',\n excludeMethods: ['getLogger', 'getTelemetry'],\n})\n/**\n * The central orchestrator for Mastra applications, managing agents, workflows, storage, logging, telemetry, and more.\n *\n * The `Mastra` class serves as the main entry point and registry for all components in a Mastra application.\n * It coordinates the interaction between agents, workflows, storage systems, and other services.\n\n * @template TAgents - Record of agent instances keyed by their names\n * @template TLegacyWorkflows - Record of legacy workflow instances for backward compatibility\n * @template TWorkflows - Record of modern workflow instances\n * @template TVectors - Record of vector store instances for semantic search and RAG\n * @template TTTS - Record of text-to-speech provider instances\n * @template TLogger - Logger implementation type for application logging\n * @template TVNextNetworks - Record of next-generation agent network instances\n * @template TMCPServers - Record of Model Context Protocol server instances\n * @template TScorers - Record of evaluation scorer instances for measuring AI performance\n *\n * @example\n * ```typescript\n * const mastra = new Mastra({\n * agents: {\n * weatherAgent: new Agent({\n * name: 'weather-agent',\n * instructions: 'You provide weather information',\n * model: 'openai/gpt-5',\n * tools: [getWeatherTool]\n * })\n * },\n * workflows: { dataWorkflow },\n * storage: new LibSQLStore({ url: ':memory:' }),\n * logger: new PinoLogger({ name: 'MyApp' })\n * });\n * ```\n */\nexport class Mastra<\n TAgents extends Record<string, Agent<any>> = Record<string, Agent<any>>,\n TLegacyWorkflows extends Record<string, LegacyWorkflow> = Record<string, LegacyWorkflow>,\n TWorkflows extends Record<string, Workflow<any, any, any, any, any, any>> = Record<\n string,\n Workflow<any, any, any, any, any, any>\n >,\n TVectors extends Record<string, MastraVector<any>> = Record<string, MastraVector<any>>,\n TTTS extends Record<string, MastraTTS> = Record<string, MastraTTS>,\n TLogger extends IMastraLogger = IMastraLogger,\n TMCPServers extends Record<string, MCPServerBase> = Record<string, MCPServerBase>,\n TScorers extends Record<string, MastraScorer<any, any, any, any>> = Record<string, MastraScorer<any, any, any, any>>,\n> {\n #vectors?: TVectors;\n #agents: TAgents;\n #logger: TLogger;\n #legacy_workflows: TLegacyWorkflows;\n #workflows: TWorkflows;\n #tts?: TTTS;\n #deployer?: MastraDeployer;\n #serverMiddleware: Array<{\n handler: (c: any, next: () => Promise<void>) => Promise<Response | void>;\n path: string;\n }> = [];\n\n /**\n * @deprecated Use {@link getAITracing()} instead.\n */\n #telemetry?: Telemetry;\n #storage?: MastraStorage;\n #memory?: MastraMemory;\n #scorers?: TScorers;\n #server?: ServerConfig;\n #mcpServers?: TMCPServers;\n #bundler?: BundlerConfig;\n #idGenerator?: MastraIdGenerator;\n #pubsub: PubSub;\n #gateways?: Record<string, MastraModelGateway>;\n #events: {\n [topic: string]: ((event: Event, cb?: () => Promise<void>) => Promise<void>)[];\n } = {};\n #internalMastraWorkflows: Record<string, Workflow> = {};\n // This is only used internally for server handlers that require temporary persistence\n #serverCache: MastraServerCache;\n\n /**\n * @deprecated use {@link getAITracing()} instead\n */\n get telemetry() {\n return this.#telemetry;\n }\n\n /**\n * @deprecated use getStorage() instead\n */\n get storage() {\n return this.#storage;\n }\n\n /**\n * @deprecated use getMemory() instead\n */\n get memory() {\n return this.#memory;\n }\n\n get pubsub() {\n return this.#pubsub;\n }\n\n /**\n * Gets the currently configured ID generator function.\n *\n * @example\n * ```typescript\n * const mastra = new Mastra({\n * idGenerator: () => `custom-${Date.now()}`\n * });\n * const generator = mastra.getIdGenerator();\n * console.log(generator?.()); // \"custom-1234567890\"\n * ```\n */\n public getIdGenerator() {\n return this.#idGenerator;\n }\n\n /**\n * Generates a unique identifier using the configured generator or defaults to `crypto.randomUUID()`.\n *\n * This method is used internally by Mastra for creating unique IDs for various entities\n * like workflow runs, agent conversations, and other resources that need unique identification.\n *\n * @throws {MastraError} When the custom ID generator returns an empty string\n *\n * @example\n * ```typescript\n * const mastra = new Mastra();\n * const id = mastra.generateId();\n * console.log(id); // \"550e8400-e29b-41d4-a716-446655440000\"\n * ```\n */\n public generateId(): string {\n if (this.#idGenerator) {\n const id = this.#idGenerator();\n if (!id) {\n const error = new MastraError({\n id: 'MASTRA_ID_GENERATOR_RETURNED_EMPTY_STRING',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: 'ID generator returned an empty string, which is not allowed',\n });\n this.#logger?.trackException(error);\n throw error;\n }\n return id;\n }\n return randomUUID();\n }\n\n /**\n * Sets a custom ID generator function for creating unique identifiers.\n *\n * The ID generator function will be used by `generateId()` instead of the default\n * `crypto.randomUUID()`. This is useful for creating application-specific ID formats\n * or integrating with existing ID generation systems.\n *\n * @example\n * ```typescript\n * const mastra = new Mastra();\n * mastra.setIdGenerator(() => `custom-${Date.now()}`);\n * const id = mastra.generateId();\n * console.log(id); // \"custom-1234567890\"\n * ```\n */\n public setIdGenerator(idGenerator: MastraIdGenerator) {\n this.#idGenerator = idGenerator;\n }\n\n /**\n * Creates a new Mastra instance with the provided configuration.\n *\n * The constructor initializes all the components specified in the config, sets up\n * internal systems like logging and telemetry, and registers components with each other.\n *\n * @example\n * ```typescript\n * const mastra = new Mastra({\n * agents: {\n * assistant: new Agent({\n * name: 'assistant',\n * instructions: 'You are a helpful assistant',\n * model: 'openai/gpt-5'\n * })\n * },\n * storage: new PostgresStore({\n * connectionString: process.env.DATABASE_URL\n * }),\n * logger: new PinoLogger({ name: 'MyApp' })\n * });\n * ```\n */\n constructor(config?: Config<TAgents, TLegacyWorkflows, TWorkflows, TVectors,