UNPKG

@mastra/core

Version:

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

1 lines • 54.5 kB
{"version":3,"sources":["../src/mastra/hooks.ts","../src/mastra/index.ts"],"names":["MastraError","InstrumentClass","Mastra","noopLogger","LogLevel","ConsoleLogger","augmentWithInit","Telemetry","registerHook","__decoratorStart","__decorateElement","__runInitializers"],"mappings":"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","file":"chunk-VP22CDTX.cjs","sourcesContent":["import type { Mastra } from '..';\nimport { ErrorCategory, ErrorDomain, MastraError } from '../error';\nimport type { ScoringHookInput } from '../scores';\n\nexport function createOnScorerHook(mastra: Mastra) {\n return async (hookData: ScoringHookInput) => {\n if (!mastra.getStorage()) {\n return;\n }\n\n const storage = mastra.getStorage();\n const entityId = hookData.entity.id;\n const entityType = hookData.entityType;\n const scorer = hookData.scorer;\n\n let scorerToUse;\n\n if (entityType === 'AGENT') {\n const agent = mastra.getAgentById(entityId);\n const scorers = await agent.getScorers();\n scorerToUse = scorers[scorer.id];\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n const scorers = await workflow.getScorers();\n scorerToUse = scorers[scorer.id];\n } else {\n return;\n }\n\n if (!scorerToUse) {\n throw new MastraError({\n id: 'MASTRA_SCORER_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Scorer with ID ${hookData.scorer.id} not found`,\n });\n }\n\n let input = hookData.input;\n let output = hookData.output;\n\n if (entityType === 'AGENT') {\n input = hookData.input.filter(m => m.role === 'user');\n } else {\n output = { object: hookData.output };\n }\n\n const score = await scorerToUse.scorer.run({\n ...hookData,\n input,\n output,\n });\n\n const { structuredOutput, ...rest } = hookData;\n await storage?.saveScore({\n ...rest,\n ...score,\n entityId,\n scorerId: hookData.scorer.id,\n metadata: {\n structuredOutput: !!structuredOutput,\n },\n });\n };\n}\n","import type { Agent } from '../agent';\nimport type { BundlerConfig } from '../bundler/types';\nimport type { MastraDeployer } from '../deployer';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport { AvailableHooks, registerHook } from '../hooks';\nimport { LogLevel, noopLogger, ConsoleLogger } from '../logger';\nimport type { IMastraLogger } from '../logger';\nimport type { MCPServerBase } from '../mcp';\nimport type { MastraMemory } from '../memory/memory';\nimport type { AgentNetwork } from '../network';\nimport type { NewAgentNetwork } from '../network/vNext';\nimport type { Middleware, ServerConfig } from '../server/types';\nimport type { MastraStorage } from '../storage';\nimport { augmentWithInit } from '../storage/storageWithInit';\nimport { InstrumentClass, Telemetry } from '../telemetry';\nimport type { OtelConfig } from '../telemetry';\nimport type { MastraTTS } from '../tts';\nimport type { MastraVector } from '../vector';\nimport type { Workflow } from '../workflows';\nimport type { LegacyWorkflow } from '../workflows/legacy';\nimport { createOnScorerHook } from './hooks';\n\ntype NonEmpty<T extends string> = T extends '' ? never : T;\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> = Record<string, Workflow>,\n TVectors extends Record<string, MastraVector> = Record<string, MastraVector>,\n TTTS extends Record<string, MastraTTS> = Record<string, MastraTTS>,\n TLogger extends IMastraLogger = IMastraLogger,\n TNetworks extends Record<string, AgentNetwork> = Record<string, AgentNetwork>,\n TVNextNetworks extends Record<string, NewAgentNetwork> = Record<string, NewAgentNetwork>,\n TMCPServers extends Record<string, MCPServerBase> = Record<string, MCPServerBase>,\n> {\n agents?: TAgents;\n networks?: TNetworks;\n vnext_networks?: TVNextNetworks;\n storage?: MastraStorage;\n vectors?: TVectors;\n logger?: TLogger | false;\n legacy_workflows?: TLegacyWorkflows;\n workflows?: TWorkflows;\n tts?: TTTS;\n telemetry?: OtelConfig;\n idGenerator?: () => NonEmpty<string>;\n deployer?: MastraDeployer;\n server?: ServerConfig;\n mcpServers?: TMCPServers;\n bundler?: BundlerConfig;\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@InstrumentClass({\n prefix: 'mastra',\n excludeMethods: ['getLogger', 'getTelemetry'],\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> = Record<string, Workflow>,\n TVectors extends Record<string, MastraVector> = Record<string, MastraVector>,\n TTTS extends Record<string, MastraTTS> = Record<string, MastraTTS>,\n TLogger extends IMastraLogger = IMastraLogger,\n TNetworks extends Record<string, AgentNetwork> = Record<string, AgentNetwork>,\n TVNextNetworks extends Record<string, NewAgentNetwork> = Record<string, NewAgentNetwork>,\n TMCPServers extends Record<string, MCPServerBase> = Record<string, MCPServerBase>,\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 #telemetry?: Telemetry;\n #storage?: MastraStorage;\n #memory?: MastraMemory;\n #networks?: TNetworks;\n #vnext_networks?: TVNextNetworks;\n #server?: ServerConfig;\n #mcpServers?: TMCPServers;\n #bundler?: BundlerConfig;\n #idGenerator?: () => NonEmpty<string>;\n\n /**\n * @deprecated use getTelemetry() 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 public getIdGenerator() {\n return this.#idGenerator;\n }\n\n /**\n * Generate a unique identifier using the configured generator or default to crypto.randomUUID()\n * @returns A unique string ID\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 crypto.randomUUID();\n }\n\n public setIdGenerator(idGenerator: () => NonEmpty<string>) {\n this.#idGenerator = idGenerator;\n }\n\n constructor(\n config?: Config<\n TAgents,\n TLegacyWorkflows,\n TWorkflows,\n TVectors,\n TTTS,\n TLogger,\n TNetworks,\n TVNextNetworks,\n TMCPServers\n >,\n ) {\n // Store server middleware with default path\n if (config?.serverMiddleware) {\n this.#serverMiddleware = config.serverMiddleware.map(m => ({\n handler: m.handler,\n path: m.path || '/api/*',\n }));\n }\n\n /*\n Logger\n */\n\n let logger: TLogger;\n if (config?.logger === false) {\n logger = noopLogger as unknown as TLogger;\n } else {\n if (config?.logger) {\n logger = config.logger;\n } else {\n const levelOnEnv =\n process.env.NODE_ENV === 'production' && process.env.MASTRA_DEV !== 'true' ? LogLevel.WARN : LogLevel.INFO;\n logger = new ConsoleLogger({ name: 'Mastra', level: levelOnEnv }) as unknown as TLogger;\n }\n }\n this.#logger = logger;\n\n this.#idGenerator = config?.idGenerator;\n\n let storage = config?.storage;\n\n if (storage) {\n storage = augmentWithInit(storage);\n }\n\n /*\n Telemetry\n */\n\n this.#telemetry = Telemetry.init(config?.telemetry);\n\n // Warn if telemetry is enabled but the instrumentation global is not set\n if (\n config?.telemetry?.enabled !== false &&\n typeof globalThis !== 'undefined' &&\n (globalThis as any).___MASTRA_TELEMETRY___ !== true\n ) {\n this.#logger?.warn(\n `Mastra telemetry is enabled, but the required instrumentation file was not loaded. ` +\n `If you are using Mastra outside of the mastra server environment, see: https://mastra.ai/en/docs/observability/tracing#tracing-outside-mastra-server-environment`,\n `If you are using a custom instrumentation file or want to disable this warning, set the globalThis.___MASTRA_TELEMETRY___ variable to true in your instrumentation file.`,\n );\n }\n\n /*\n Storage\n */\n if (this.#telemetry && storage) {\n this.#storage = this.#telemetry.traceClass(storage, {\n excludeMethods: ['__setTelemetry', '__getTelemetry', 'batchTraceInsert', 'getTraces', 'getEvalsByAgentName'],\n });\n this.#storage.__setTelemetry(this.#telemetry);\n } else {\n this.#storage = storage;\n }\n\n /*\n Vectors\n */\n if (config?.vectors) {\n let vectors: Record<string, MastraVector> = {};\n Object.entries(config.vectors).forEach(([key, vector]) => {\n if (this.#telemetry) {\n vectors[key] = this.#telemetry.traceClass(vector, {\n excludeMethods: ['__setTelemetry', '__getTelemetry'],\n });\n vectors[key].__setTelemetry(this.#telemetry);\n } else {\n vectors[key] = vector;\n }\n });\n\n this.#vectors = vectors as TVectors;\n }\n\n if (config?.networks) {\n this.#networks = config.networks;\n }\n\n if (config?.vnext_networks) {\n this.#vnext_networks = config.vnext_networks;\n }\n\n if (config?.mcpServers) {\n this.#mcpServers = config.mcpServers;\n\n // Set logger/telemetry/Mastra instance/id for MCP servers\n Object.entries(this.#mcpServers).forEach(([key, server]) => {\n server.setId(key);\n if (this.#telemetry) {\n server.__setTelemetry(this.#telemetry);\n }\n\n server.__registerMastra(this);\n server.__setLogger(this.getLogger());\n });\n }\n\n if (config && `memory` in config) {\n const error = new MastraError({\n id: 'MASTRA_CONSTRUCTOR_INVALID_MEMORY_CONFIG',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `\n Memory should be added to Agents, not to Mastra.\n\nInstead of:\n new Mastra({ memory: new Memory() })\n\ndo:\n new Agent({ memory: new Memory() })\n`,\n });\n this.#logger?.trackException(error);\n throw error;\n }\n\n if (config?.tts) {\n this.#tts = config.tts;\n Object.entries(this.#tts).forEach(([key, ttsCl]) => {\n if (this.#tts?.[key]) {\n if (this.#telemetry) {\n // @ts-ignore\n this.#tts[key] = this.#telemetry.traceClass(ttsCl, {\n excludeMethods: ['__setTelemetry', '__getTelemetry'],\n });\n this.#tts[key].__setTelemetry(this.#telemetry);\n }\n }\n });\n }\n\n /*\n Agents\n */\n const agents: Record<string, Agent> = {};\n if (config?.agents) {\n Object.entries(config.agents).forEach(([key, agent]) => {\n if (agents[key]) {\n const error = new MastraError({\n id: 'MASTRA_AGENT_REGISTRATION_DUPLICATE_ID',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Agent with name ID:${key} already exists`,\n details: {\n agentId: key,\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n agent.__registerMastra(this);\n\n agent.__registerPrimitives({\n logger: this.getLogger(),\n telemetry: this.#telemetry,\n storage: this.storage,\n memory: this.memory,\n agents: agents,\n tts: this.#tts,\n vectors: this.#vectors,\n });\n\n agents[key] = agent;\n });\n }\n\n this.#agents = agents as TAgents;\n\n /*\n Networks\n */\n this.#networks = {} as TNetworks;\n this.#vnext_networks = {} as TVNextNetworks;\n\n if (config?.networks) {\n Object.entries(config.networks).forEach(([key, network]) => {\n network.__registerMastra(this);\n // @ts-ignore\n this.#networks[key] = network;\n });\n }\n\n if (config?.vnext_networks) {\n Object.entries(config.vnext_networks).forEach(([key, network]) => {\n network.__registerMastra(this);\n // @ts-ignore\n this.#vnext_networks[key] = network;\n });\n }\n\n /*\n Legacy Workflows\n */\n this.#legacy_workflows = {} as TLegacyWorkflows;\n\n if (config?.legacy_workflows) {\n Object.entries(config.legacy_workflows).forEach(([key, workflow]) => {\n workflow.__registerMastra(this);\n workflow.__registerPrimitives({\n logger: this.getLogger(),\n telemetry: this.#telemetry,\n storage: this.storage,\n memory: this.memory,\n agents: agents,\n tts: this.#tts,\n vectors: this.#vectors,\n });\n // @ts-ignore\n this.#legacy_workflows[key] = workflow;\n\n const workflowSteps = Object.values(workflow.steps).filter(step => !!step.workflowId && !!step.workflow);\n if (workflowSteps.length > 0) {\n workflowSteps.forEach(step => {\n // @ts-ignore\n this.#legacy_workflows[step.workflowId] = step.workflow;\n });\n }\n });\n }\n\n this.#workflows = {} as TWorkflows;\n if (config?.workflows) {\n Object.entries(config.workflows).forEach(([key, workflow]) => {\n workflow.__registerMastra(this);\n workflow.__registerPrimitives({\n logger: this.getLogger(),\n telemetry: this.#telemetry,\n storage: this.storage,\n memory: this.memory,\n agents: agents,\n tts: this.#tts,\n vectors: this.#vectors,\n });\n // @ts-ignore\n this.#workflows[key] = workflow;\n });\n }\n\n if (config?.server) {\n this.#server = config.server;\n }\n\n registerHook(AvailableHooks.ON_SCORER_RUN, createOnScorerHook(this));\n\n this.setLogger({ logger });\n }\n\n public getAgent<TAgentName extends keyof TAgents>(name: TAgentName): TAgents[TAgentName] {\n const agent = this.#agents?.[name];\n if (!agent) {\n const error = new MastraError({\n id: 'MASTRA_GET_AGENT_BY_NAME_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Agent with name ${String(name)} not found`,\n details: {\n status: 404,\n agentName: String(name),\n agents: Object.keys(this.#agents ?? {}).join(', '),\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n return this.#agents[name];\n }\n\n public getAgentById(id: string): Agent {\n let agent = Object.values(this.#agents).find(a => a.id === id);\n\n if (!agent) {\n try {\n agent = this.getAgent(id as any);\n } catch {\n // do nothing\n }\n }\n\n if (!agent) {\n const error = new MastraError({\n id: 'MASTRA_GET_AGENT_BY_AGENT_ID_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Agent with id ${String(id)} not found`,\n details: {\n status: 404,\n agentId: String(id),\n agents: Object.keys(this.#agents ?? {}).join(', '),\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n\n return agent;\n }\n\n public getAgents() {\n return this.#agents;\n }\n\n public getVector<TVectorName extends keyof TVectors>(name: TVectorName): TVectors[TVectorName] {\n const vector = this.#vectors?.[name];\n if (!vector) {\n const error = new MastraError({\n id: 'MASTRA_GET_VECTOR_BY_NAME_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Vector with name ${String(name)} not found`,\n details: {\n status: 404,\n vectorName: String(name),\n vectors: Object.keys(this.#vectors ?? {}).join(', '),\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n return vector;\n }\n\n public getVectors() {\n return this.#vectors;\n }\n\n public getDeployer() {\n return this.#deployer;\n }\n\n public legacy_getWorkflow<TWorkflowId extends keyof TLegacyWorkflows>(\n id: TWorkflowId,\n { serialized }: { serialized?: boolean } = {},\n ): TLegacyWorkflows[TWorkflowId] {\n const workflow = this.#legacy_workflows?.[id];\n if (!workflow) {\n const error = new MastraError({\n id: 'MASTRA_GET_LEGACY_WORKFLOW_BY_ID_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Workflow with ID ${String(id)} not found`,\n details: {\n status: 404,\n workflowId: String(id),\n workflows: Object.keys(this.#legacy_workflows ?? {}).join(', '),\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n\n if (serialized) {\n return { name: workflow.name } as TLegacyWorkflows[TWorkflowId];\n }\n\n return workflow;\n }\n\n public getWorkflow<TWorkflowId extends keyof TWorkflows>(\n id: TWorkflowId,\n { serialized }: { serialized?: boolean } = {},\n ): TWorkflows[TWorkflowId] {\n const workflow = this.#workflows?.[id];\n if (!workflow) {\n const error = new MastraError({\n id: 'MASTRA_GET_WORKFLOW_BY_ID_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Workflow with ID ${String(id)} not found`,\n details: {\n status: 404,\n workflowId: String(id),\n workflows: Object.keys(this.#workflows ?? {}).join(', '),\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n\n if (serialized) {\n return { name: workflow.name } as TWorkflows[TWorkflowId];\n }\n\n return workflow;\n }\n\n public getWorkflowById(id: string): Workflow {\n let workflow = Object.values(this.#workflows).find(a => a.id === id);\n\n if (!workflow) {\n try {\n workflow = this.getWorkflow(id as any);\n } catch {\n // do nothing\n }\n }\n\n if (!workflow) {\n const error = new MastraError({\n id: 'MASTRA_GET_WORKFLOW_BY_ID_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Workflow with id ${String(id)} not found`,\n details: {\n status: 404,\n workflowId: String(id),\n workflows: Object.keys(this.#workflows ?? {}).join(', '),\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n\n return workflow;\n }\n\n public legacy_getWorkflows(props: { serialized?: boolean } = {}): Record<string, LegacyWorkflow> {\n if (props.serialized) {\n return Object.entries(this.#legacy_workflows).reduce((acc, [k, v]) => {\n return {\n ...acc,\n [k]: { name: v.name },\n };\n }, {});\n }\n return this.#legacy_workflows;\n }\n\n public getWorkflows(props: { serialized?: boolean } = {}): Record<string, Workflow> {\n if (props.serialized) {\n return Object.entries(this.#workflows).reduce((acc, [k, v]) => {\n return {\n ...acc,\n [k]: { name: v.name },\n };\n }, {});\n }\n return this.#workflows;\n }\n\n public setStorage(storage: MastraStorage) {\n this.#storage = augmentWithInit(storage);\n }\n\n public setLogger({ logger }: { logger: TLogger }) {\n this.#logger = logger;\n\n if (this.#agents) {\n Object.keys(this.#agents).forEach(key => {\n this.#agents?.[key]?.__setLogger(this.#logger);\n });\n }\n\n if (this.#memory) {\n this.#memory.__setLogger(this.#logger);\n }\n\n if (this.#deployer) {\n this.#deployer.__setLogger(this.#logger);\n }\n\n if (this.#tts) {\n Object.keys(this.#tts).forEach(key => {\n this.#tts?.[key]?.__setLogger(this.#logger);\n });\n }\n\n if (this.#storage) {\n this.#storage.__setLogger(this.#logger);\n }\n\n if (this.#vectors) {\n Object.keys(this.#vectors).forEach(key => {\n this.#vectors?.[key]?.__setLogger(this.#logger);\n });\n }\n\n if (this.#mcpServers) {\n Object.keys(this.#mcpServers).forEach(key => {\n this.#mcpServers?.[key]?.__setLogger(this.#logger);\n });\n }\n }\n\n public setTelemetry(telemetry: OtelConfig) {\n this.#telemetry = Telemetry.init(telemetry);\n\n if (this.#agents) {\n Object.keys(this.#agents).forEach(key => {\n if (this.#telemetry) {\n this.#agents?.[key]?.__setTelemetry(this.#telemetry);\n }\n });\n }\n\n if (this.#memory) {\n this.#memory = this.#telemetry.traceClass(this.#memory, {\n excludeMethods: ['__setTelemetry', '__getTelemetry'],\n });\n this.#memory.__setTelemetry(this.#telemetry);\n }\n\n if (this.#deployer) {\n this.#deployer = this.#telemetry.traceClass(this.#deployer, {\n excludeMethods: ['__setTelemetry', '__getTelemetry'],\n });\n this.#deployer.__setTelemetry(this.#telemetry);\n }\n\n if (this.#tts) {\n let tts = {} as Record<string, MastraTTS>;\n Object.entries(this.#tts).forEach(([key, ttsCl]) => {\n if (this.#telemetry) {\n tts[key] = this.#telemetry.traceClass(ttsCl, {\n excludeMethods: ['__setTelemetry', '__getTelemetry'],\n });\n tts[key].__setTelemetry(this.#telemetry);\n }\n });\n this.#tts = tts as TTTS;\n }\n\n if (this.#storage) {\n this.#storage = this.#telemetry.traceClass(this.#storage, {\n excludeMethods: ['__setTelemetry', '__getTelemetry'],\n });\n this.#storage.__setTelemetry(this.#telemetry);\n }\n\n if (this.#vectors) {\n let vectors = {} as Record<string, MastraVector>;\n Object.entries(this.#vectors).forEach(([key, vector]) => {\n if (this.#telemetry) {\n vectors[key] = this.#telemetry.traceClass(vector, {\n excludeMethods: ['__setTelemetry', '__getTelemetry'],\n });\n vectors[key].__setTelemetry(this.#telemetry);\n }\n });\n this.#vectors = vectors as TVectors;\n }\n }\n\n public getTTS() {\n return this.#tts;\n }\n\n public getLogger() {\n return this.#logger;\n }\n\n public getTelemetry() {\n return this.#telemetry;\n }\n\n public getMemory() {\n return this.#memory;\n }\n\n public getStorage() {\n return this.#storage;\n }\n\n public getServerMiddleware() {\n return this.#serverMiddleware;\n }\n\n public setServerMiddleware(serverMiddleware: Middleware | Middleware[]) {\n if (typeof serverMiddleware === 'function') {\n this.#serverMiddleware = [\n {\n handler: serverMiddleware,\n path: '/api/*',\n },\n ];\n return;\n }\n\n if (!Array.isArray(serverMiddleware)) {\n const error = new MastraError({\n id: 'MASTRA_SET_SERVER_MIDDLEWARE_INVALID_TYPE',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Invalid middleware: expected a function or array, received ${typeof serverMiddleware}`,\n });\n this.#logger?.trackException(error);\n throw error;\n }\n\n this.#serverMiddleware = serverMiddleware.map(m => {\n if (typeof m === 'function') {\n return {\n handler: m,\n path: '/api/*',\n };\n }\n return {\n handler: m.handler,\n path: m.path || '/api/*',\n };\n });\n }\n\n public getNetworks() {\n return Object.values(this.#networks || {});\n }\n\n public vnext_getNetworks() {\n return Object.values(this.#vnext_networks || {});\n }\n\n public getServer() {\n return this.#server;\n }\n\n public getBundlerConfig() {\n return this.#bundler;\n }\n\n /**\n * Get a specific network by ID\n * @param networkId - The ID of the network to retrieve\n * @returns The network with the specified ID, or undefined if not found\n */\n public getNetwork(networkId: string): AgentNetwork | undefined {\n const networks = this.getNetworks();\n return networks.find(network => {\n const routingAgent = network.getRoutingAgent();\n return network.formatAgentId(routingAgent.name) === networkId;\n });\n }\n\n public vnext_getNetwork(networkId: string): NewAgentNetwork | undefined {\n const networks = this.vnext_getNetworks();\n return networks.find(network => network.id === networkId);\n }\n\n public async getLogsByRunId({\n runId,\n transportId,\n fromDate,\n toDate,\n logLevel,\n filters,\n page,\n perPage,\n }: {\n runId: string;\n transportId: 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) {\n const error = new MastraError({\n id: 'MASTRA_GET_LOGS_BY_RUN_ID_MISSING_TRANSPORT',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: 'Transport ID is required',\n details: {\n runId,\n transportId,\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n\n if (!this.#logger?.getLogsByRunId) {\n const error = new MastraError({\n id: 'MASTRA_GET_LOGS_BY_RUN_ID_LOGGER_NOT_CONFIGURED',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.SYSTEM,\n text: 'Logger is not configured or does not support getLogsByRunId operation',\n details: {\n runId,\n transportId,\n },\n });\n this.#logger?.trackException(error);\n throw error;\n }\n\n return await this.#logger.getLogsByRunId({\n runId,