{"version":3,"sources":["../../_internal-core/src/error/utils.ts","../../_internal-core/src/error/index.ts","../../_internal-core/src/routes/index.ts","../../_internals/voice/src/routes/index.ts"],"names":["ErrorDomain","z","Readable"],"mappings":"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","file":"chunk-47PVLKIL.cjs","sourcesContent":["/**\n * Safely converts an object to a string representation.\n * Uses JSON.stringify first, but falls back to String() if:\n * - JSON.stringify fails (e.g., circular references)\n * - JSON.stringify returns \"{}\" (e.g., Error objects with no enumerable properties)\n */\nexport function safeParseErrorObject(obj: unknown): string {\n if (typeof obj !== 'object' || obj === null) {\n return String(obj);\n }\n\n try {\n const stringified = JSON.stringify(obj);\n // If JSON.stringify returns \"{}\", fall back to String() for better representation\n if (stringified === '{}') {\n return String(obj);\n }\n return stringified;\n } catch {\n // Fallback to String() if JSON.stringify fails (e.g., circular references)\n return String(obj);\n }\n}\n\n/**\n * Represents a serialized error structure for JSON output.\n */\nexport type SerializedError = {\n name: string;\n message: string;\n stack?: string;\n cause?: SerializedError | unknown;\n} & Record;\n\n/**\n * An Error instance with a toJSON method for proper serialization.\n */\nexport type SerializableError = Error & {\n toJSON: () => SerializedError;\n};\n\n/**\n * Safely converts an unknown error to an Error instance.\n */\nexport function getErrorFromUnknown(\n unknown: unknown,\n options: {\n /**\n * The fallback error message to use if the unknown error cannot be parsed.\n */\n fallbackMessage?: string;\n /**\n * The maximum depth to parse the cause of the error.\n */\n maxDepth?: number;\n /**\n * Whether to add .toJSON() method to the error instance to support serialization. (JSON.stringify)\n * @example\n * const error = getErrorFromUnknown(new Error('test'), { supportSerialization: true });\n * JSON.stringify(error) // { message: 'test', name: 'Error', stack: 'Error: test\\n at ...' }\n */\n supportSerialization?: SERIALIZABLE;\n /**\n * Whether to include the stack in JSON serialization.\n * The stack is always preserved on the Error instance for debugging.\n * This option only controls whether it appears in toJSON() output.\n * @default true\n */\n serializeStack?: boolean;\n } = {},\n): SERIALIZABLE extends true ? SerializableError : Error {\n const defaultOptions = {\n fallbackMessage: 'Unknown error',\n maxDepth: 5,\n supportSerialization: true,\n serializeStack: true,\n };\n const mergedOptions = options ? { ...defaultOptions, ...options } : defaultOptions;\n const { fallbackMessage, maxDepth, supportSerialization, serializeStack } = mergedOptions;\n\n if (unknown && unknown instanceof Error) {\n // Stack is always preserved on the instance for debugging\n // serializeStack only controls whether it appears in toJSON() output\n if (supportSerialization) {\n addErrorToJSON(unknown, serializeStack, { maxDepth });\n }\n return unknown as SERIALIZABLE extends true ? SerializableError : Error;\n }\n\n let error: Error | undefined;\n\n if (unknown && typeof unknown === 'object') {\n const errorMessage =\n unknown && 'message' in unknown && typeof unknown.message === 'string'\n ? unknown.message\n : safeParseErrorObject(unknown);\n\n const errorCause =\n 'cause' in unknown && unknown.cause !== undefined\n ? unknown.cause instanceof Error\n ? unknown.cause\n : maxDepth > 0 // Only process cause if we haven't exceeded max depth\n ? getErrorFromUnknown(unknown.cause, { ...mergedOptions, maxDepth: maxDepth - 1 })\n : undefined\n : undefined;\n\n error = new Error(errorMessage, errorCause ? { cause: errorCause } : undefined);\n\n Object.assign(error as Error, unknown);\n error.stack = 'stack' in unknown && typeof unknown.stack === 'string' ? unknown.stack : undefined;\n } else if (unknown && typeof unknown === 'string') {\n error = new Error(unknown);\n error.stack = undefined;\n } else {\n error = new Error(fallbackMessage);\n }\n\n if (supportSerialization) {\n addErrorToJSON(error, serializeStack, { maxDepth });\n }\n return error as SERIALIZABLE extends true ? SerializableError : Error;\n}\n\nconst DEFAULT_MAX_DEPTH = 5;\n\n/**\n * Adds a toJSON method to an Error instance for proper serialization.\n * Ensures that message, name, cause, and custom properties are all serialized.\n * Stack is only included in JSON output if serializeStack is true.\n * Recursively adds toJSON to the cause chain for proper nested error serialization.\n */\nfunction addErrorToJSON(\n error: Error,\n serializeStack: boolean = true,\n options?: { maxDepth?: number; currentDepth?: number },\n): void {\n const maxDepth = options?.maxDepth ?? DEFAULT_MAX_DEPTH;\n const currentDepth = options?.currentDepth ?? 0;\n\n // Skip if error already has toJSON - preserves custom implementations\n // and avoids re-processing (first call's options win)\n if ((error as SerializableError).toJSON) {\n return;\n }\n\n // Recursively add toJSON to cause chain (with depth protection)\n if (error.cause instanceof Error && currentDepth < maxDepth) {\n addErrorToJSON(error.cause, serializeStack, { maxDepth, currentDepth: currentDepth + 1 });\n }\n\n // Define toJSON as non-enumerable to avoid interfering with object comparisons\n Object.defineProperty(error, 'toJSON', {\n value: function (this: Error) {\n const json: SerializedError = {\n message: this.message,\n name: this.name,\n };\n // Only include stack in JSON if serializeStack is true\n if (serializeStack && this.stack !== undefined) {\n json.stack = this.stack;\n }\n\n // Serialize cause if it's an Error and has a toJSON method, else include as is\n if (this.cause !== undefined) {\n if (this.cause instanceof Error && 'toJSON' in this.cause && typeof this.cause.toJSON === 'function') {\n json.cause = this.cause.toJSON();\n } else {\n json.cause = this.cause;\n }\n }\n\n // Include all enumerable custom properties\n const errorAsAny = this as any;\n for (const key in errorAsAny) {\n if (errorAsAny.hasOwnProperty(key) && !(key in json) && key !== 'toJSON') {\n json[key] = errorAsAny[key];\n }\n }\n\n return json;\n },\n enumerable: false,\n writable: true,\n configurable: true,\n });\n}\n","import { getErrorFromUnknown } from './utils.js';\nimport type { SerializableError, SerializedError } from './utils.js';\n\nexport { getErrorFromUnknown, safeParseErrorObject } from './utils.js';\nexport type { SerializableError, SerializedError };\n\nexport enum ErrorDomain {\n TOOL = 'TOOL',\n AGENT = 'AGENT',\n MCP = 'MCP',\n AGENT_NETWORK = 'AGENT_NETWORK',\n MASTRA_SERVER = 'MASTRA_SERVER',\n MASTRA_OBSERVABILITY = 'MASTRA_OBSERVABILITY',\n MASTRA_WORKFLOW = 'MASTRA_WORKFLOW',\n MASTRA_VOICE = 'MASTRA_VOICE',\n MASTRA_VECTOR = 'MASTRA_VECTOR',\n MASTRA_MEMORY = 'MASTRA_MEMORY',\n LLM = 'LLM',\n EVAL = 'EVAL',\n SCORER = 'SCORER',\n A2A = 'A2A',\n MASTRA_INSTANCE = 'MASTRA_INSTANCE',\n MASTRA = 'MASTRA',\n DEPLOYER = 'DEPLOYER',\n STORAGE = 'STORAGE',\n MODEL_ROUTER = 'MODEL_ROUTER',\n}\n\nexport enum ErrorCategory {\n UNKNOWN = 'UNKNOWN',\n USER = 'USER',\n SYSTEM = 'SYSTEM',\n THIRD_PARTY = 'THIRD_PARTY',\n}\n\ntype Scalar = null | boolean | number | string;\n\ntype Json = [T] extends [Scalar | undefined]\n ? Scalar\n : [T] extends [{ [x: number]: unknown }]\n ? { [K in keyof T]: Json }\n : never;\n\n/**\n * Defines the structure for an error's metadata.\n * This is used to create instances of MastraError.\n */\nexport interface IErrorDefinition {\n /** Unique identifier for the error. */\n id: Uppercase;\n /**\n * Optional custom error message that overrides the original error message.\n * If not provided, the original error message will be used, or 'Unknown error' if no error is provided.\n */\n text?: string;\n /**\n * Functional domain of the error (e.g., CONFIG, BUILD, API).\n */\n domain: DOMAIN;\n /** Broad category of the error (e.g., USER, SYSTEM, THIRD_PARTY). */\n category: CATEGORY;\n\n details?: Record>;\n}\n\n/**\n * JSON representation of a MastraError for serialization\n */\nexport interface MastraErrorJSON {\n message: string;\n code: Uppercase;\n category: CATEGORY;\n domain: DOMAIN;\n details?: Record>;\n cause?: ReturnType;\n}\n\n/**\n * Base error class for the Mastra ecosystem.\n * It standardizes error reporting and can be extended for more specific error types.\n */\nexport class MastraBaseError extends Error {\n public readonly id: Uppercase;\n public readonly domain: DOMAIN;\n public readonly category: CATEGORY;\n public readonly details?: Record> = {};\n public readonly message: string;\n public cause?: SerializableError;\n\n constructor(\n errorDefinition: IErrorDefinition,\n originalError?: string | Error | MastraBaseError | unknown,\n ) {\n const error = originalError\n ? getErrorFromUnknown(originalError, {\n serializeStack: false,\n fallbackMessage: 'Unknown error',\n })\n : undefined;\n\n const message = errorDefinition.text ?? error?.message ?? 'Unknown error';\n\n super(message, { cause: error });\n this.id = errorDefinition.id;\n this.domain = errorDefinition.domain;\n this.category = errorDefinition.category;\n this.details = errorDefinition.details ?? {};\n this.message = message;\n this.cause = error;\n\n Object.setPrototypeOf(this, new.target.prototype);\n }\n\n /**\n * Returns a structured representation of the error, useful for logging or API responses.\n */\n public toJSONDetails() {\n return {\n message: this.message,\n domain: this.domain,\n category: this.category,\n details: this.details,\n };\n }\n\n public toJSON(): MastraErrorJSON {\n return {\n message: this.message,\n domain: this.domain,\n category: this.category,\n code: this.id,\n details: this.details,\n cause: this.cause?.toJSON?.(),\n };\n }\n\n public toString() {\n return JSON.stringify(this.toJSON());\n }\n}\n\nexport class MastraError extends MastraBaseError<`${ErrorDomain}`, `${ErrorCategory}`> {}\n","import type * as z from 'zod/v4';\nimport type { RequestContext } from '../request-context';\nimport type { ToolsInput } from '../types';\n\nexport interface OpenAPIRoute {\n summary?: string;\n description?: string;\n tags?: string[];\n deprecated?: boolean;\n requestParams?: {\n path?: z.ZodSchema;\n query?: z.ZodSchema;\n };\n requestBody?: {\n content: {\n 'application/json': {\n schema: z.ZodSchema;\n };\n };\n };\n responses: {\n [statusCode: string]: {\n description: string;\n content?: {\n 'application/json': {\n schema: z.ZodSchema;\n };\n };\n };\n };\n}\n\ninterface RouteOpenAPIConfig {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n summary?: string;\n description?: string;\n tags?: string[];\n pathParamSchema?: z.ZodSchema;\n queryParamSchema?: z.ZodSchema;\n bodySchema?: z.ZodSchema;\n responseSchema?: z.ZodSchema;\n deprecated?: boolean;\n}\n\nexport function generateRouteOpenAPI({\n method,\n path,\n summary,\n description,\n tags = [],\n pathParamSchema,\n queryParamSchema,\n bodySchema,\n responseSchema,\n deprecated,\n}: RouteOpenAPIConfig): OpenAPIRoute {\n const route: OpenAPIRoute = {\n summary: summary || `${method} ${path}`,\n description,\n tags,\n deprecated,\n responses: {\n 200: {\n description: 'Successful response',\n },\n },\n };\n\n if (pathParamSchema || queryParamSchema) {\n route.requestParams = {};\n\n if (pathParamSchema) {\n route.requestParams.path = pathParamSchema;\n }\n\n if (queryParamSchema) {\n route.requestParams.query = queryParamSchema;\n }\n }\n\n if (bodySchema) {\n route.requestBody = {\n content: {\n 'application/json': {\n schema: bodySchema,\n },\n },\n };\n }\n\n if (responseSchema) {\n route.responses[200] = {\n description: 'Successful response',\n content: {\n 'application/json': {\n schema: responseSchema,\n },\n },\n };\n }\n\n return route;\n}\n\nexport type ResponseType = 'stream' | 'json' | 'datastream-response' | 'mcp-http' | 'mcp-sse';\n\nexport type InferParams<\n TPathSchema extends z.ZodTypeAny | undefined,\n TQuerySchema extends z.ZodTypeAny | undefined,\n TBodySchema extends z.ZodTypeAny | undefined,\n> = (TPathSchema extends z.ZodTypeAny ? z.infer : {}) &\n (TQuerySchema extends z.ZodTypeAny ? z.infer : {}) &\n (TBodySchema extends z.ZodTypeAny ? z.infer : {});\n\nexport interface RouteSchemas<\n TPathSchema = unknown,\n TQuerySchema = unknown,\n TBodySchema = unknown,\n TResponseSchema = unknown,\n> {\n readonly pathParams: TPathSchema;\n readonly queryParams: TQuerySchema;\n readonly body: TBodySchema;\n readonly response: TResponseSchema;\n}\n\nexport type ServerContext = {\n mastra: any;\n requestContext: RequestContext;\n registeredTools?: ToolsInput;\n taskStore?: unknown;\n abortSignal: AbortSignal;\n routePrefix?: string;\n};\n\nexport type ServerRouteHandler<\n TParams = Record,\n TResponse = unknown,\n TResponseType extends ResponseType = 'json',\n> = (\n params: TParams & ServerContext,\n) => Promise<\n TResponseType extends 'stream' ? ReadableStream : TResponseType extends 'datastream-response' ? Response : TResponse\n>;\n\nexport type ValidationErrorHook = (error: z.ZodError) => { status?: number; body?: unknown } | void;\n\nexport type ServerRoute<\n TParams = Record,\n TResponse = unknown,\n TResponseType extends ResponseType = ResponseType,\n TSchemas extends RouteSchemas = RouteSchemas,\n TMethod extends string = string,\n TPath extends string = string,\n> = {\n method: TMethod;\n path: TPath;\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream';\n sseFlushOnConnect?: boolean;\n handler(params: TParams & ServerContext): ReturnType>;\n pathParamSchema?: z.ZodSchema;\n queryParamSchema?: z.ZodSchema;\n bodySchema?: z.ZodSchema;\n responseSchema?: z.ZodSchema;\n openapi?: OpenAPIRoute;\n maxBodySize?: number;\n deprecated?: boolean;\n requiresAuth?: boolean;\n requiresPermission?: any;\n fga?: any;\n onValidationError?: ValidationErrorHook;\n readonly __schemas?: TSchemas;\n};\n\ninterface RouteConfig<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n TMethod extends string = string,\n TPath extends string = string,\n> {\n method: TMethod;\n path: TPath;\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream';\n sseFlushOnConnect?: boolean;\n handler: ServerRouteHandler<\n InferParams,\n TResponseSchema extends z.ZodTypeAny ? z.infer : unknown,\n TResponseType\n >;\n pathParamSchema?: TPathSchema;\n queryParamSchema?: TQuerySchema;\n bodySchema?: TBodySchema;\n responseSchema?: TResponseSchema;\n summary?: string;\n description?: string;\n tags?: string[];\n deprecated?: boolean;\n maxBodySize?: number;\n requiresAuth?: boolean;\n requiresPermission?: any;\n fga?: any;\n onValidationError?: ValidationErrorHook;\n}\n\nexport function createRoute<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n TMethod extends string = string,\n TPath extends string = string,\n>(\n config: RouteConfig,\n): ServerRoute<\n InferParams,\n TResponseSchema extends z.ZodTypeAny ? z.infer : unknown,\n TResponseType,\n RouteSchemas,\n TMethod,\n TPath\n> {\n const { summary, description, tags, deprecated, requiresAuth, requiresPermission, onValidationError, ...baseRoute } =\n config;\n\n const openapi =\n config.method !== 'ALL'\n ? generateRouteOpenAPI({\n method: config.method as 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH',\n path: config.path,\n summary,\n description,\n tags,\n pathParamSchema: config.pathParamSchema,\n queryParamSchema: config.queryParamSchema,\n bodySchema: config.bodySchema,\n responseSchema: config.responseSchema,\n deprecated,\n })\n : undefined;\n\n return {\n ...baseRoute,\n openapi,\n deprecated,\n requiresAuth,\n requiresPermission,\n onValidationError,\n };\n}\n\nexport function createPublicRoute<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n TMethod extends string = string,\n TPath extends string = string,\n>(\n config: Omit<\n RouteConfig,\n 'requiresAuth'\n >,\n): ServerRoute<\n InferParams,\n TResponseSchema extends z.ZodTypeAny ? z.infer : unknown,\n TResponseType,\n RouteSchemas,\n TMethod,\n TPath\n> {\n return createRoute({\n ...config,\n requiresAuth: false,\n });\n}\n","import { Readable } from 'node:stream';\nimport { ErrorDomain, MastraError } from '@internal/core/error';\nimport type { RequestContext } from '@internal/core/request-context';\nimport { createRoute } from '@internal/core/routes';\nimport { z } from 'zod/v4';\n\nexport const voiceSpeakersResponseSchema = z.array(\n z\n .object({\n voiceId: z.string(),\n })\n .passthrough(),\n);\n\nexport const generateSpeechBodySchema = z.object({\n text: z.string(),\n speakerId: z.string().optional(),\n});\n\nexport const transcribeSpeechBodySchema = z.object({\n audio: z.any(),\n options: z.record(z.string(), z.any()).optional(),\n});\n\nexport const transcribeSpeechResponseSchema = z.object({\n text: z.string(),\n});\n\nexport const getListenerResponseSchema = z.any();\nexport const speakResponseSchema = z.any();\n\nconst agentIdPathParams = z.object({\n agentId: z.string().describe('Agent ID'),\n});\n\ntype StatusCode = 400 | 404 | 500;\n\nclass HTTPException extends Error {\n readonly status: StatusCode;\n\n constructor(status: StatusCode, options: { message?: string; cause?: unknown; stack?: string } = {}) {\n super(options.message, { cause: options.cause });\n this.status = status;\n this.stack = options.stack || this.stack;\n }\n}\n\ntype ApiError = Error & {\n status?: number;\n details?: {\n status?: number;\n };\n};\n\nfunction isMastraVoiceError(error: unknown): error is MastraError {\n return (\n error instanceof MastraError ||\n (typeof error === 'object' && error !== null && 'domain' in error && error.domain === ErrorDomain.MASTRA_VOICE) ||\n (error instanceof Error && error.message === 'No voice provider configured')\n );\n}\n\nfunction handleError(error: unknown, defaultMessage: string): never {\n const apiError = error as ApiError;\n const status = apiError.status || apiError.details?.status || 500;\n\n throw new HTTPException(status as StatusCode, {\n message: apiError.message || defaultMessage,\n stack: apiError.stack,\n cause: apiError.cause,\n });\n}\n\nfunction validateBody(data: Record): void {\n for (const [key, value] of Object.entries(data)) {\n if (value === undefined || value === null || value === '') {\n throw new HTTPException(400, { message: `${key} is required` });\n }\n }\n}\n\nasync function getAgentFromSystem({\n mastra,\n agentId,\n requestContext,\n}: {\n mastra: any;\n agentId: string;\n requestContext?: RequestContext;\n}): Promise {\n const logger = mastra.getLogger?.();\n\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n let agent: any;\n\n try {\n agent = mastra.getAgentById(agentId);\n } catch (error) {\n logger?.debug?.('Error getting agent from mastra, searching agents for agent', error);\n }\n\n if (!agent) {\n logger?.debug?.('Agent not found, looking through sub-agents', { agentId });\n const agents = mastra.listAgents?.();\n if (Object.keys(agents || {}).length) {\n for (const ag of Object.values(agents)) {\n try {\n const subAgents = await (ag as any).listAgents();\n const subAgent = subAgents[agentId];\n if (subAgent) {\n agent = subAgent;\n break;\n }\n } catch (error) {\n logger?.debug?.('Error getting agent from agent', error);\n }\n }\n }\n }\n\n if (agent && mastra.getEditor) {\n try {\n const editorAgent = mastra.getEditor()?.agent;\n if (editorAgent) {\n agent = await editorAgent.applyStoredOverrides(agent, { status: 'published' }, requestContext);\n }\n } catch (error) {\n logger?.debug?.('Error applying stored overrides to code agent', error);\n }\n }\n\n if (!agent) {\n logger?.debug?.('Agent not found in code-defined agents, looking in stored agents', { agentId });\n try {\n agent = (await mastra.getEditor?.()?.agent.getById(agentId)) ?? null;\n } catch (error) {\n logger?.debug?.('Error getting stored agent', error);\n }\n }\n\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n\n return agent;\n}\n\nexport const GET_SPEAKERS_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/voice/speakers',\n responseType: 'json',\n summary: 'Get voice speakers',\n description: 'Returns available voice speakers for the specified agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId, requestContext });\n const voice = await agent.getVoice({ requestContext });\n\n const speakers = await Promise.resolve()\n .then(() => voice.getSpeakers())\n .catch(err => {\n if (isMastraVoiceError(err)) {\n return [];\n }\n throw err;\n });\n\n return speakers;\n } catch (error) {\n return handleError(error, 'Error getting speakers');\n }\n },\n});\n\nexport const GET_SPEAKERS_DEPRECATED_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/speakers',\n responseType: 'json',\n summary: 'Get available speakers for an agent',\n description: '[DEPRECATED] Use /agents/:agentId/voice/speakers instead. Get available speakers for an agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n deprecated: true,\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n handler: GET_SPEAKERS_ROUTE.handler,\n});\n\nexport const GENERATE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/voice/speak',\n responseType: 'datastream-response',\n summary: 'Generate speech',\n description: 'Generates speech audio from text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n validateBody({ text });\n\n const agent = await getAgentFromSystem({ mastra, agentId, requestContext });\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = await Promise.resolve()\n .then(() => voice.speak(text!, { speaker: speakerId! }))\n .catch(err => {\n if (isMastraVoiceError(err)) {\n throw new HTTPException(400, { message: err.message });\n }\n\n throw err;\n });\n\n if (!audioStream) {\n throw new HTTPException(500, { message: 'Failed to generate speech' });\n }\n\n const webStream =\n audioStream instanceof ReadableStream\n ? audioStream\n : audioStream instanceof Readable\n ? (Readable.toWeb(audioStream) as unknown as ReadableStream)\n : (audioStream as unknown as ReadableStream);\n\n return new Response(webStream, {\n headers: { 'Content-Type': 'audio/mpeg' },\n });\n } catch (error) {\n return handleError(error, 'Error generating speech');\n }\n },\n});\n\nexport const GENERATE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/speak',\n responseType: 'datastream-response',\n summary: 'Convert text to speech',\n description:\n \"[DEPRECATED] Use /agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider\",\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n deprecated: true,\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n handler: GENERATE_SPEECH_ROUTE.handler,\n});\n\nexport const TRANSCRIBE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/voice/listen',\n responseType: 'json',\n summary: 'Transcribe speech',\n description: 'Transcribes speech audio to text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n handler: async ({ mastra, agentId, audio, options, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n if (!audio) {\n throw new HTTPException(400, { message: 'Audio data is required' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId, requestContext });\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = new Readable();\n audioStream.push(audio);\n audioStream.push(null);\n\n const text = await voice.listen(audioStream, options);\n return { text: text as string };\n } catch (error) {\n return handleError(error, 'Error transcribing speech');\n }\n },\n});\n\nexport const TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/agents/:agentId/listen',\n responseType: 'json',\n summary: 'Convert speech to text',\n description:\n \"[DEPRECATED] Use /agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.\",\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n deprecated: true,\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n handler: TRANSCRIBE_SPEECH_ROUTE.handler,\n});\n\nexport const GET_LISTENER_ROUTE = createRoute({\n method: 'GET',\n path: '/agents/:agentId/voice/listener',\n responseType: 'json',\n summary: 'Get voice listener',\n description: 'Returns the voice listener configuration for the agent',\n tags: ['Agents', 'Voice'],\n requiresAuth: true,\n pathParamSchema: agentIdPathParams,\n responseSchema: getListenerResponseSchema,\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n const listeners = await Promise.resolve()\n .then(() => voice.getListener())\n .catch(err => {\n if (isMastraVoiceError(err)) {\n return { enabled: false };\n }\n throw err;\n });\n\n return listeners;\n } catch (error) {\n return handleError(error, 'Error getting listeners');\n }\n },\n});\n"]}