@mastra/server 1.0.0-beta.23 → 1.0.0-beta.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +107 -0
- package/dist/{chunk-FALSDBPK.js → chunk-2CLS2PYJ.js} +88 -12
- package/dist/chunk-2CLS2PYJ.js.map +1 -0
- package/dist/{chunk-VZ5UM5FQ.js → chunk-2CYGIE3E.js} +50 -17
- package/dist/chunk-2CYGIE3E.js.map +1 -0
- package/dist/{chunk-U7IJEAF4.cjs → chunk-6RK355EK.cjs} +5 -5
- package/dist/{chunk-U7IJEAF4.cjs.map → chunk-6RK355EK.cjs.map} +1 -1
- package/dist/{chunk-GWLR6K3H.cjs → chunk-6YJSJADT.cjs} +26 -3
- package/dist/chunk-6YJSJADT.cjs.map +1 -0
- package/dist/chunk-7XPMKW4Y.cjs +447 -0
- package/dist/chunk-7XPMKW4Y.cjs.map +1 -0
- package/dist/{chunk-TENMF4X2.cjs → chunk-BWTZRFFE.cjs} +135 -86
- package/dist/chunk-BWTZRFFE.cjs.map +1 -0
- package/dist/{chunk-NETDNGUZ.js → chunk-DETP54TH.js} +3 -3
- package/dist/{chunk-NETDNGUZ.js.map → chunk-DETP54TH.js.map} +1 -1
- package/dist/{chunk-ILV5M6C7.cjs → chunk-DZ56VWXH.cjs} +6 -6
- package/dist/{chunk-ILV5M6C7.cjs.map → chunk-DZ56VWXH.cjs.map} +1 -1
- package/dist/{chunk-CGMTK3PI.js → chunk-GHSITOX6.js} +60 -11
- package/dist/chunk-GHSITOX6.js.map +1 -0
- package/dist/chunk-I27H7BEB.js +439 -0
- package/dist/chunk-I27H7BEB.js.map +1 -0
- package/dist/{chunk-BW3BLTCG.cjs → chunk-NUO7HPOV.cjs} +50 -17
- package/dist/chunk-NUO7HPOV.cjs.map +1 -0
- package/dist/{chunk-QKXZF7YS.js → chunk-THLCYTVI.js} +26 -3
- package/dist/chunk-THLCYTVI.js.map +1 -0
- package/dist/{chunk-63NFBEYY.cjs → chunk-YK63KHHB.cjs} +89 -11
- package/dist/chunk-YK63KHHB.cjs.map +1 -0
- package/dist/{chunk-DCEXXMOH.js → chunk-ZXD5P2BC.js} +3 -3
- package/dist/{chunk-DCEXXMOH.js.map → chunk-ZXD5P2BC.js.map} +1 -1
- package/dist/docs/README.md +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/SOURCE_MAP.json +1 -1
- package/dist/docs/server/02-reference.md +1 -1
- package/dist/server/handlers/a2a.cjs +9 -9
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +34 -26
- package/dist/server/handlers/agents.d.ts +44 -0
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/memory.cjs +25 -25
- package/dist/server/handlers/memory.d.ts +44 -12
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/processors.cjs +20 -0
- package/dist/server/handlers/processors.cjs.map +1 -0
- package/dist/server/handlers/processors.d.ts +181 -0
- package/dist/server/handlers/processors.d.ts.map +1 -0
- package/dist/server/handlers/processors.js +3 -0
- package/dist/server/handlers/processors.js.map +1 -0
- package/dist/server/handlers/workflows.cjs +24 -24
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +10 -10
- package/dist/server/handlers.js +5 -5
- package/dist/server/schemas/memory.d.ts +48 -12
- package/dist/server/schemas/memory.d.ts.map +1 -1
- package/dist/server/schemas/processors.d.ts +519 -0
- package/dist/server/schemas/processors.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +102 -91
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.js +17 -6
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/processors.d.ts +3 -0
- package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
- package/dist/server/utils.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-63NFBEYY.cjs.map +0 -1
- package/dist/chunk-BW3BLTCG.cjs.map +0 -1
- package/dist/chunk-CGMTK3PI.js.map +0 -1
- package/dist/chunk-FALSDBPK.js.map +0 -1
- package/dist/chunk-GWLR6K3H.cjs.map +0 -1
- package/dist/chunk-QKXZF7YS.js.map +0 -1
- package/dist/chunk-TENMF4X2.cjs.map +0 -1
- package/dist/chunk-VZ5UM5FQ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/server-adapter/routes/a2a.ts","../../../src/server/server-adapter/routes/agent-builder.ts","../../../src/server/server-adapter/routes/agents.ts","../../../src/server/server-adapter/routes/legacy.ts","../../../src/server/server-adapter/routes/logs.ts","../../../src/server/server-adapter/routes/mcp.ts","../../../src/server/server-adapter/routes/memory.ts","../../../src/server/server-adapter/routes/observability.ts","../../../src/server/server-adapter/routes/scorers.ts","../../../src/server/server-adapter/routes/stored-agents.ts","../../../src/server/server-adapter/routes/system.ts","../../../src/server/server-adapter/routes/tools.ts","../../../src/server/server-adapter/routes/vectors.ts","../../../src/server/server-adapter/routes/workflows.ts","../../../src/server/server-adapter/routes/index.ts","../../../src/server/server-adapter/redact.ts","../../../src/server/server-adapter/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE } from '../../handlers/a2a';\nimport type { ServerRoute } from '.';\n\nexport const A2A_ROUTES: ServerRoute<any, any, any>[] = [GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE];\n","import {\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n} from '../../handlers/agent-builder';\nimport type { ServerRoute } from '.';\n\nexport const AGENT_BUILDER_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n];\n","import {\n // Agent route objects\n LIST_AGENTS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n GET_PROVIDERS_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n STREAM_NETWORK_ROUTE,\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n ENHANCE_INSTRUCTIONS_ROUTE,\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n} from '../../handlers/agents';\nimport { GET_AGENT_TOOL_ROUTE, EXECUTE_AGENT_TOOL_ROUTE } from '../../handlers/tools';\nimport {\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n} from '../../handlers/voice';\nimport type { ServerRoute } from '.';\n\nexport const AGENTS_ROUTES: ServerRoute<any, any, any>[] = [\n // ============================================================================\n // Agent Core Routes\n // ============================================================================\n LIST_AGENTS_ROUTE,\n GET_PROVIDERS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n\n // ============================================================================\n // Voice Routes\n // ============================================================================\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Agent Execution Routes\n // ============================================================================\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Tool Routes\n // ============================================================================\n EXECUTE_AGENT_TOOL_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n\n // ============================================================================\n // Network Routes\n // ============================================================================\n STREAM_NETWORK_ROUTE,\n\n // ============================================================================\n // Model Management Routes\n // ============================================================================\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n\n // ============================================================================\n // Instruction Enhancement Routes\n // ============================================================================\n ENHANCE_INSTRUCTIONS_ROUTE,\n\n // ============================================================================\n // Agent Tool Routes\n // ============================================================================\n GET_AGENT_TOOL_ROUTE,\n\n // ============================================================================\n // Voice/Speech Routes\n // ============================================================================\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n\n // ============================================================================\n // Deprecated Routes\n // ============================================================================\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n];\n","/**\n * Legacy routes that are deprecated but still exist in deployer for backward compatibility.\n * These routes should not be used in new code and will be removed in a future version.\n */\n\nimport {\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n} from '../../handlers/agent-builder';\nimport { GENERATE_LEGACY_ROUTE, STREAM_GENERATE_LEGACY_ROUTE } from '../../handlers/agents';\nimport { STREAM_LEGACY_WORKFLOW_ROUTE, OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE } from '../../handlers/workflows';\nimport type { ServerRoute } from '.';\n\nexport const LEGACY_ROUTES: ServerRoute<any, any, any>[] = [\n // ============================================================================\n // Legacy Agent Routes\n // ============================================================================\n GENERATE_LEGACY_ROUTE,\n STREAM_GENERATE_LEGACY_ROUTE,\n\n // ============================================================================\n // Legacy Workflow Routes\n // ============================================================================\n STREAM_LEGACY_WORKFLOW_ROUTE,\n OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE,\n\n // ============================================================================\n // Legacy Agent Builder Routes\n // ============================================================================\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n];\n","import { LIST_LOG_TRANSPORTS_ROUTE, LIST_LOGS_ROUTE, LIST_LOGS_BY_RUN_ID_ROUTE } from '../../handlers/logs';\nimport type { ServerRoute } from '.';\n\nexport const LOGS_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_LOG_TRANSPORTS_ROUTE,\n LIST_LOGS_ROUTE,\n LIST_LOGS_BY_RUN_ID_ROUTE,\n];\n","import {\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n} from '../../handlers/mcp';\nimport type { ServerRoute } from '.';\n\n/**\n * MCP Routes\n *\n * Registry routes provide access to the MCP server registry and tools.\n * Transport routes handle the MCP protocol communication (HTTP and SSE).\n */\nexport const MCP_ROUTES: ServerRoute<any, any, any>[] = [\n // ============================================================================\n // MCP Server Registry Routes\n // ============================================================================\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n\n // ============================================================================\n // MCP Server Tool Routes\n // ============================================================================\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n\n // ============================================================================\n // MCP Transport Routes (handled by adapters)\n // ============================================================================\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n];\n","import {\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n} from '../../handlers/memory';\nimport type { ServerRoute } from '.';\n\nexport const MEMORY_ROUTES: ServerRoute<any, any, any>[] = [\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n];\n","import {\n LIST_TRACES_ROUTE,\n GET_TRACE_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n} from '../../handlers/observability';\nimport type { ServerRoute } from '.';\n\nexport const OBSERVABILITY_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_TRACES_ROUTE,\n GET_TRACE_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n];\n","import {\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n} from '../../handlers/scores';\nimport type { ServerRoute } from '.';\n\nexport const SCORES_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n];\n","import {\n LIST_STORED_AGENTS_ROUTE,\n GET_STORED_AGENT_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n} from '../../handlers/stored-agents';\nimport type { ServerRoute } from '.';\n\n/**\n * Routes for stored agents CRUD operations.\n * These routes provide API access to agent configurations stored in the database,\n * enabling dynamic creation and management of agents via Mastra Studio.\n */\nexport const STORED_AGENTS_ROUTES: ServerRoute<any, any, any>[] = [\n // ============================================================================\n // Stored Agents CRUD Routes\n // ============================================================================\n LIST_STORED_AGENTS_ROUTE,\n GET_STORED_AGENT_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n];\n","import { GET_SYSTEM_PACKAGES_ROUTE } from '../../handlers/system';\n\n/**\n * System Routes\n *\n * Routes for system information and diagnostics.\n */\nexport const SYSTEM_ROUTES = [GET_SYSTEM_PACKAGES_ROUTE] as const;\n","import { LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE } from '../../handlers/tools';\nimport type { ServerRoute } from '.';\n\nexport const TOOLS_ROUTES: ServerRoute<any, any, any>[] = [LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE];\n","import {\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n} from '../../handlers/vector';\nimport type { ServerRoute } from '.';\n\nexport const VECTORS_ROUTES: ServerRoute<any, any, any>[] = [\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n];\n","import {\n LIST_WORKFLOWS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n} from '../../handlers/workflows';\nimport type { ServerRoute } from '.';\n\nexport const WORKFLOWS_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_WORKFLOWS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n];\n","import type { Mastra } from '@mastra/core';\nimport type { ToolsInput } from '@mastra/core/agent';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { ApiRoute } from '@mastra/core/server';\nimport type z from 'zod';\nimport type { InMemoryTaskStore } from '../../a2a/store';\nimport { A2A_ROUTES } from './a2a';\nimport { AGENT_BUILDER_ROUTES } from './agent-builder';\nimport { AGENTS_ROUTES } from './agents';\nimport { LEGACY_ROUTES } from './legacy';\nimport { LOGS_ROUTES } from './logs';\nimport { MCP_ROUTES } from './mcp';\nimport { MEMORY_ROUTES } from './memory';\nimport { OBSERVABILITY_ROUTES } from './observability';\nimport { SCORES_ROUTES } from './scorers';\nimport { STORED_AGENTS_ROUTES } from './stored-agents';\nimport type { MastraStreamReturn } from './stream-types';\nimport { SYSTEM_ROUTES } from './system';\nimport { TOOLS_ROUTES } from './tools';\nimport { VECTORS_ROUTES } from './vectors';\nimport { WORKFLOWS_ROUTES } from './workflows';\n\n/**\n * Server context fields that are available to route handlers.\n * These are injected by the server adapters (Express, Hono, etc.)\n * Fields other than `mastra` are optional to allow direct handler testing.\n */\nexport type ServerContext = {\n mastra: Mastra;\n requestContext: RequestContext;\n tools?: ToolsInput;\n taskStore?: InMemoryTaskStore;\n abortSignal: AbortSignal;\n};\n\n/**\n * Utility type to infer parameters from Zod schemas.\n * Merges path params, query params, and body params into a single type.\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<TPathSchema> : {}) &\n (TQuerySchema extends z.ZodTypeAny ? z.infer<TQuerySchema> : {}) &\n (TBodySchema extends z.ZodTypeAny ? z.infer<TBodySchema> : {});\n\n/**\n * All supported response types for server routes.\n * - 'json': Standard JSON response\n * - 'stream': Streaming response (SSE or raw stream)\n * - 'datastream-response': Pre-built Response object for data streams\n * - 'mcp-http': MCP Streamable HTTP transport (handled by adapter)\n * - 'mcp-sse': MCP SSE transport (handled by adapter)\n */\nexport type ResponseType = 'stream' | 'json' | 'datastream-response' | 'mcp-http' | 'mcp-sse';\n\nexport type ServerRouteHandler<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = 'json',\n> = (\n params: TParams & ServerContext,\n) => Promise<\n TResponseType extends 'stream'\n ? MastraStreamReturn\n : TResponseType extends 'datastream-response'\n ? Response\n : TResponse\n>;\n\nexport type ServerRoute<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = 'json',\n> = Omit<ApiRoute, 'handler' | 'createHandler'> & {\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream'; // Only used when responseType is 'stream', defaults to 'stream'\n handler: ServerRouteHandler<TParams, TResponse, TResponseType>;\n pathParamSchema?: z.ZodSchema;\n queryParamSchema?: z.ZodSchema;\n bodySchema?: z.ZodSchema;\n responseSchema?: z.ZodSchema;\n openapi?: any; // Auto-generated OpenAPI spec for this route\n maxBodySize?: number; // Optional route-specific body size limit in bytes\n deprecated?: boolean; // Flag for deprecated routes (used for route parity, skipped in tests)\n};\n\nexport const SERVER_ROUTES: ServerRoute<any, any, any>[] = [\n ...AGENTS_ROUTES,\n ...WORKFLOWS_ROUTES,\n ...TOOLS_ROUTES,\n ...MEMORY_ROUTES,\n ...SCORES_ROUTES,\n ...OBSERVABILITY_ROUTES,\n ...LOGS_ROUTES,\n ...VECTORS_ROUTES,\n ...A2A_ROUTES,\n ...AGENT_BUILDER_ROUTES,\n ...LEGACY_ROUTES,\n ...MCP_ROUTES,\n ...STORED_AGENTS_ROUTES,\n ...SYSTEM_ROUTES,\n];\n\n// Export route builder and OpenAPI utilities\nexport { createRoute, pickParams, jsonQueryParam, wrapSchemaForQueryParams } from './route-builder';\nexport { generateOpenAPIDocument } from '../openapi-utils';\n","import type { ChunkType } from '@mastra/core/stream';\n\n/**\n * Redacts request data from a v2 format payload.\n * Removes `metadata.request` and `output.steps[].request` from the payload.\n */\nfunction redactV2Payload(payload: Record<string, unknown>): Record<string, unknown> {\n const redactedPayload = { ...payload };\n\n // Remove metadata.request\n if (redactedPayload.metadata && typeof redactedPayload.metadata === 'object') {\n const { request, ...metadataRest } = redactedPayload.metadata as Record<string, unknown>;\n redactedPayload.metadata = metadataRest;\n }\n\n // Remove request from output.steps[]\n if (redactedPayload.output && typeof redactedPayload.output === 'object') {\n const output = { ...(redactedPayload.output as Record<string, unknown>) };\n if (Array.isArray(output.steps)) {\n output.steps = output.steps.map((step: Record<string, unknown>) => {\n if (step && typeof step === 'object') {\n const { request, ...stepRest } = step;\n return stepRest;\n }\n return step;\n });\n }\n redactedPayload.output = output;\n }\n\n return redactedPayload;\n}\n\n/**\n * Redacts sensitive data from stream chunks before they are sent to clients.\n *\n * This function strips out request bodies that may contain sensitive information\n * such as system prompts, tool definitions, API keys, and other configuration data.\n *\n * Handles both v1 (legacy) and v2 stream formats:\n *\n * v1 format (fields at root level):\n * - `step-start.request` - Contains the full LLM request body\n * - `step-finish.request` - Contains the request body\n * - `finish.request` - Contains the request body (if present)\n *\n * v2 format (fields nested in payload):\n * - `step-start.payload.request` - Contains the full LLM request body\n * - `step-finish.payload.metadata.request` - Contains the request metadata\n * - `step-finish.payload.output.steps[].request` - Contains request data for each step\n * - `finish.payload.metadata.request` - Contains the request metadata\n * - `finish.payload.output.steps[].request` - Contains request data for each step\n *\n * @param chunk - The stream chunk to redact\n * @returns A new chunk with sensitive data removed, or the original chunk if no redaction needed\n */\nexport function redactStreamChunk<OUTPUT = undefined>(chunk: ChunkType<OUTPUT>): ChunkType<OUTPUT> {\n if (!chunk || typeof chunk !== 'object') {\n return chunk;\n }\n\n const typedChunk = chunk as Record<string, unknown>;\n\n switch (chunk.type) {\n case 'step-start': {\n // Check if this is v2 format (has payload) or v1 format (request at root)\n if ('payload' in typedChunk && typedChunk.payload && typeof typedChunk.payload === 'object') {\n // v2 format: Remove request from payload\n const { payload, ...rest } = typedChunk;\n const { request, ...payloadRest } = payload as Record<string, unknown>;\n return {\n ...rest,\n type: 'step-start',\n payload: {\n ...payloadRest,\n // Keep an empty request object to maintain structure but remove body\n request: {},\n },\n } as ChunkType<OUTPUT>;\n } else if ('request' in typedChunk) {\n // v1 format: Remove request at root level\n const { request, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'step-start',\n // Keep an empty request object to maintain structure\n request: {},\n } as unknown as ChunkType<OUTPUT>;\n }\n return chunk;\n }\n\n case 'step-finish': {\n // Check if this is v2 format (has payload) or v1 format (request at root)\n if ('payload' in typedChunk && typedChunk.payload && typeof typedChunk.payload === 'object') {\n // v2 format: Remove request from metadata and output.steps[].request\n const { payload, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'step-finish',\n payload: redactV2Payload(payload as Record<string, unknown>),\n } as ChunkType<OUTPUT>;\n } else if ('request' in typedChunk) {\n // v1 format: Remove request at root level\n const { request, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'step-finish',\n } as unknown as ChunkType<OUTPUT>;\n }\n return chunk;\n }\n\n case 'finish': {\n // Check if this is v2 format (has payload) or v1 format (request at root)\n if ('payload' in typedChunk && typedChunk.payload && typeof typedChunk.payload === 'object') {\n // v2 format: Remove request from metadata and output.steps[].request\n const { payload, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'finish',\n payload: redactV2Payload(payload as Record<string, unknown>),\n } as ChunkType<OUTPUT>;\n } else if ('request' in typedChunk) {\n // v1 format: Remove request at root level\n const { request, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'finish',\n } as unknown as ChunkType<OUTPUT>;\n }\n return chunk;\n }\n\n default:\n // Other chunk types don't contain sensitive request data\n return chunk;\n }\n}\n","import type { ToolsInput } from '@mastra/core/agent';\nimport type { Mastra } from '@mastra/core/mastra';\nimport { RequestContext } from '@mastra/core/request-context';\nimport { MastraServerBase } from '@mastra/core/server';\nimport type { InMemoryTaskStore } from '../a2a/store';\nimport { generateOpenAPIDocument } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes';\nimport type { ServerRoute } from './routes';\n\nexport * from './routes';\nexport { redactStreamChunk } from './redact';\n\nexport { WorkflowRegistry } from '../utils';\n\nexport interface OpenAPIConfig {\n title?: string;\n version?: string;\n description?: string;\n path?: string;\n}\n\nexport interface BodyLimitOptions {\n maxSize: number;\n onError: (error: unknown) => unknown;\n}\n\nexport interface StreamOptions {\n /**\n * When true (default), redacts sensitive data from stream chunks\n * (system prompts, tool definitions, API keys) before sending to clients.\n *\n * Set to false to include full request data in stream chunks (useful for\n * debugging or internal services that need access to this data).\n *\n * @default true\n */\n redact?: boolean;\n}\n\n/**\n * Query parameter values parsed from HTTP requests.\n * Supports both single values and arrays (for repeated query params like ?tag=a&tag=b).\n */\nexport type QueryParamValue = string | string[];\n\n/**\n * Parsed request parameters returned by getParams().\n */\nexport interface ParsedRequestParams {\n urlParams: Record<string, string>;\n queryParams: Record<string, QueryParamValue>;\n body: unknown;\n}\n\n/**\n * Normalizes query parameters from various HTTP framework formats to a consistent structure.\n * Handles both single string values and arrays (for repeated query params like ?tag=a&tag=b).\n * Filters out non-string values that some frameworks may include.\n *\n * @param rawQuery - Raw query parameters from the HTTP framework (may contain strings, arrays, or nested objects)\n * @returns Normalized query parameters as Record<string, string | string[]>\n */\nexport function normalizeQueryParams(rawQuery: Record<string, unknown>): Record<string, QueryParamValue> {\n const queryParams: Record<string, QueryParamValue> = {};\n for (const [key, value] of Object.entries(rawQuery)) {\n if (typeof value === 'string') {\n queryParams[key] = value;\n } else if (Array.isArray(value)) {\n // Filter to only string values (some frameworks include nested objects)\n const stringValues = value.filter((v): v is string => typeof v === 'string');\n // Convert single-value arrays back to strings for compatibility\n queryParams[key] = stringValues.length === 1 ? stringValues[0]! : stringValues;\n }\n }\n return queryParams;\n}\n\n/**\n * Abstract base class for server adapters that handle HTTP requests.\n *\n * This class extends `MastraServerBase` to inherit app storage functionality\n * and provides the framework for registering routes, middleware, and handling requests.\n *\n * Framework-specific adapters in @mastra/hono and @mastra/express extend this class\n * (both named `MastraServer` in their respective packages) and implement the abstract\n * methods for their specific framework.\n *\n * @template TApp - The type of the server app (e.g., Hono, Express Application)\n * @template TRequest - The type of the request object\n * @template TResponse - The type of the response object\n */\nexport abstract class MastraServer<TApp, TRequest, TResponse> extends MastraServerBase<TApp> {\n protected mastra: Mastra;\n protected bodyLimitOptions?: BodyLimitOptions;\n protected tools?: ToolsInput;\n protected prefix?: string;\n protected openapiPath?: string;\n protected taskStore?: InMemoryTaskStore;\n protected customRouteAuthConfig?: Map<string, boolean>;\n protected streamOptions: StreamOptions;\n\n constructor({\n app,\n mastra,\n bodyLimitOptions,\n tools,\n prefix = '',\n openapiPath = '',\n taskStore,\n customRouteAuthConfig,\n streamOptions,\n }: {\n app: TApp;\n mastra: Mastra;\n bodyLimitOptions?: BodyLimitOptions;\n tools?: ToolsInput;\n prefix?: string;\n openapiPath?: string;\n taskStore?: InMemoryTaskStore;\n customRouteAuthConfig?: Map<string, boolean>;\n streamOptions?: StreamOptions;\n }) {\n super({ app, name: 'MastraServer' });\n this.mastra = mastra;\n this.bodyLimitOptions = bodyLimitOptions;\n this.tools = tools;\n this.prefix = prefix;\n this.openapiPath = openapiPath;\n this.taskStore = taskStore;\n this.customRouteAuthConfig = customRouteAuthConfig;\n this.streamOptions = { redact: true, ...streamOptions };\n\n // Automatically register this adapter with Mastra so getServerApp() works\n mastra.setMastraServer(this);\n }\n\n protected mergeRequestContext({\n paramsRequestContext,\n bodyRequestContext,\n }: {\n paramsRequestContext?: Record<string, any>;\n bodyRequestContext?: Record<string, any>;\n }): RequestContext {\n const requestContext = new RequestContext();\n if (bodyRequestContext) {\n for (const [key, value] of Object.entries(bodyRequestContext)) {\n requestContext.set(key, value);\n }\n }\n if (paramsRequestContext) {\n for (const [key, value] of Object.entries(paramsRequestContext)) {\n requestContext.set(key, value);\n }\n }\n return requestContext;\n }\n\n abstract stream(route: ServerRoute, response: TResponse, result: unknown): Promise<unknown>;\n abstract getParams(route: ServerRoute, request: TRequest): Promise<ParsedRequestParams>;\n abstract sendResponse(route: ServerRoute, response: TResponse, result: unknown): Promise<unknown>;\n abstract registerRoute(app: TApp, route: ServerRoute, { prefix }: { prefix?: string }): Promise<void>;\n abstract registerContextMiddleware(): void;\n abstract registerAuthMiddleware(): void;\n\n async init() {\n this.registerContextMiddleware();\n this.registerAuthMiddleware();\n await this.registerRoutes();\n }\n\n async registerOpenAPIRoute(app: TApp, config: OpenAPIConfig = {}, { prefix }: { prefix?: string }): Promise<void> {\n const {\n title = 'Mastra API',\n version = '1.0.0',\n description = 'Mastra Server API',\n path = '/openapi.json',\n } = config;\n\n const openApiSpec = generateOpenAPIDocument(SERVER_ROUTES, {\n title,\n version,\n description,\n });\n\n const openApiRoute: ServerRoute = {\n method: 'GET',\n path,\n responseType: 'json',\n handler: async () => openApiSpec,\n };\n\n await this.registerRoute(app, openApiRoute, { prefix });\n }\n\n async registerRoutes(): Promise<void> {\n await Promise.all(SERVER_ROUTES.map(route => this.registerRoute(this.app, route, { prefix: this.prefix })));\n\n if (this.openapiPath) {\n await this.registerOpenAPIRoute(\n this.app,\n {\n title: 'Mastra API',\n version: '1.0.0',\n description: 'Mastra Server API',\n path: this.openapiPath,\n },\n { prefix: this.prefix },\n );\n }\n }\n\n async parsePathParams(route: ServerRoute, params: Record<string, string>): Promise<Record<string, any>> {\n const pathParamSchema = route.pathParamSchema;\n if (!pathParamSchema) {\n return params;\n }\n\n return pathParamSchema.parseAsync(params);\n }\n\n async parseQueryParams(route: ServerRoute, params: Record<string, QueryParamValue>): Promise<Record<string, any>> {\n const queryParamSchema = route.queryParamSchema;\n if (!queryParamSchema) {\n return params;\n }\n\n return queryParamSchema.parseAsync(params);\n }\n\n async parseBody(route: ServerRoute, body: unknown): Promise<unknown> {\n const bodySchema = route.bodySchema;\n if (!bodySchema) {\n return body;\n }\n\n return bodySchema.parseAsync(body);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/server/server-adapter/routes/a2a.ts","../../../src/server/server-adapter/routes/agent-builder.ts","../../../src/server/server-adapter/routes/agents.ts","../../../src/server/server-adapter/routes/legacy.ts","../../../src/server/server-adapter/routes/logs.ts","../../../src/server/server-adapter/routes/mcp.ts","../../../src/server/server-adapter/routes/memory.ts","../../../src/server/server-adapter/routes/observability.ts","../../../src/server/server-adapter/routes/processors.ts","../../../src/server/server-adapter/routes/scorers.ts","../../../src/server/server-adapter/routes/stored-agents.ts","../../../src/server/server-adapter/routes/system.ts","../../../src/server/server-adapter/routes/tools.ts","../../../src/server/server-adapter/routes/vectors.ts","../../../src/server/server-adapter/routes/workflows.ts","../../../src/server/server-adapter/routes/index.ts","../../../src/server/server-adapter/redact.ts","../../../src/server/server-adapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,UAAA,GAA2C,CAAC,oBAAA,EAAsB,qBAAqB,CAAA;;;ACc7F,IAAM,oBAAA,GAAqD;AAAA,EAChE,gCAAA;AAAA,EACA,oCAAA;AAAA,EACA,oCAAA;AAAA,EACA,wCAAA;AAAA,EACA,qCAAA;AAAA,EACA,iCAAA;AAAA,EACA,sCAAA;AAAA,EACA,oCAAA;AAAA,EACA,yCAAA;AAAA,EACA,uCAAA;AAAA,EACA,iCAAA;AAAA,EACA,wCAAA;AAAA,EACA;AACF,CAAA;;;ACMO,IAAM,aAAA,GAA8C;AAAA;AAAA;AAAA;AAAA,EAIzD,iBAAA;AAAA,EACA,mBAAA;AAAA,EACA,qBAAA;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAA;AAAA,EACA,6BAAA;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAA;AAAA,EACA,0BAAA;AAAA,EACA,qBAAA;AAAA,EACA,sCAAA;AAAA;AAAA;AAAA;AAAA,EAKA,wBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,gCAAA;AAAA,EACA,gCAAA;AAAA,EACA,+BAAA;AAAA,EACA,+BAAA;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAA;AAAA;AAAA;AAAA;AAAA,EAKA,wBAAA;AAAA,EACA,uBAAA;AAAA,EACA,8BAAA;AAAA,EACA,sCAAA;AAAA;AAAA;AAAA;AAAA,EAKA,0BAAA;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAA;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAA;AAAA,EACA,gCAAA;AAAA,EACA,uBAAA;AAAA,EACA,kCAAA;AAAA,EACA,kBAAA;AAAA;AAAA;AAAA;AAAA,EAKA,6BAAA;AAAA,EACA,wCAAA;AAAA,EACA;AACF,CAAA;;;AC/FO,IAAM,aAAA,GAA8C;AAAA;AAAA;AAAA;AAAA,EAIzD,qBAAA;AAAA,EACA,4BAAA;AAAA;AAAA;AAAA;AAAA,EAKA,4BAAA;AAAA,EACA,oCAAA;AAAA;AAAA;AAAA;AAAA,EAKA,wCAAA;AAAA,EACA;AACF,CAAA;;;AC5BO,IAAM,WAAA,GAA4C;AAAA,EACvD,yBAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA;;;ACWO,IAAM,UAAA,GAA2C;AAAA;AAAA;AAAA;AAAA,EAItD,sBAAA;AAAA,EACA,2BAAA;AAAA;AAAA;AAAA;AAAA,EAKA,2BAAA;AAAA,EACA,gCAAA;AAAA,EACA,6BAAA;AAAA;AAAA;AAAA;AAAA,EAKA,wBAAA;AAAA,EACA,uBAAA;AAAA,EACA;AACF,CAAA;;;ACXO,IAAM,aAAA,GAA8C;AAAA,EACzD,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,kBAAA;AAAA,EACA,sBAAA;AAAA,EACA,mBAAA;AAAA,EACA,wBAAA;AAAA,EACA,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,2BAAA;AAAA,EACA,qBAAA;AAAA,EACA,mBAAA;AAAA,EACA,+BAAA;AAAA,EACA,0BAAA;AAAA,EACA,8BAAA;AAAA,EACA,2BAAA;AAAA,EACA,2BAAA;AAAA,EACA,2BAAA;AAAA,EACA,2BAAA;AAAA,EACA,2BAAA;AAAA,EACA;AACF,CAAA;;;AC3CO,IAAM,oBAAA,GAAqD;AAAA,EAChE,iBAAA;AAAA,EACA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAA;;;ACVO,IAAM,iBAAA,GAAkD;AAAA,EAC7D,qBAAA;AAAA,EACA,yBAAA;AAAA,EACA;AACF,CAAA;;;ACGO,IAAM,aAAA,GAA8C;AAAA,EACzD,kBAAA;AAAA,EACA,gBAAA;AAAA,EACA,2BAAA;AAAA,EACA,8BAAA;AAAA,EACA,8BAAA;AAAA,EACA;AACF,CAAA;;;ACHO,IAAM,oBAAA,GAAqD;AAAA;AAAA;AAAA;AAAA,EAIhE,wBAAA;AAAA,EACA,sBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AAAA,EACA;AACF,CAAA;;;AChBO,IAAM,aAAA,GAAgB,CAAC,yBAAyB,CAAA;;;ACJhD,IAAM,YAAA,GAA6C,CAAC,gBAAA,EAAkB,oBAAA,EAAsB,kBAAkB,CAAA;;;ACO9G,IAAM,cAAA,GAA+C;AAAA,EAC1D,oBAAA;AAAA,EACA,kBAAA;AAAA,EACA,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF,CAAA;;;ACQO,IAAM,gBAAA,GAAiD;AAAA,EAC5D,oBAAA;AAAA,EACA,wBAAA;AAAA,EACA,wBAAA;AAAA,EACA,4BAAA;AAAA,EACA,+BAAA;AAAA,EACA,yBAAA;AAAA,EACA,qBAAA;AAAA,EACA,4BAAA;AAAA,EACA,0BAAA;AAAA,EACA,wBAAA;AAAA,EACA,6BAAA;AAAA,EACA,2BAAA;AAAA,EACA,qBAAA;AAAA,EACA,yBAAA;AAAA,EACA,0BAAA;AAAA,EACA,gCAAA;AAAA,EACA,iCAAA;AAAA,EACA,sBAAA;AAAA,EACA,4BAAA;AAAA,EACA,sCAAA;AAAA,EACA;AACF,CAAA;;;AC0CO,IAAM,aAAA,GAA8C;AAAA,EACzD,GAAG,aAAA;AAAA,EACH,GAAG,gBAAA;AAAA,EACH,GAAG,YAAA;AAAA,EACH,GAAG,iBAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG,oBAAA;AAAA,EACH,GAAG,WAAA;AAAA,EACH,GAAG,cAAA;AAAA,EACH,GAAG,UAAA;AAAA,EACH,GAAG,oBAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG,UAAA;AAAA,EACH,GAAG,oBAAA;AAAA,EACH,GAAG;AACL;;;ACnGA,SAAS,gBAAgB,OAAA,EAA2D;AAClF,EAAA,MAAM,eAAA,GAAkB,EAAE,GAAG,OAAA,EAAQ;AAGrC,EAAA,IAAI,eAAA,CAAgB,QAAA,IAAY,OAAO,eAAA,CAAgB,aAAa,QAAA,EAAU;AAC5E,IAAA,MAAM,EAAE,OAAA,EAAS,GAAG,YAAA,KAAiB,eAAA,CAAgB,QAAA;AACrD,IAAA,eAAA,CAAgB,QAAA,GAAW,YAAA;AAAA,EAC7B;AAGA,EAAA,IAAI,eAAA,CAAgB,MAAA,IAAU,OAAO,eAAA,CAAgB,WAAW,QAAA,EAAU;AACxE,IAAA,MAAM,MAAA,GAAS,EAAE,GAAI,eAAA,CAAgB,MAAA,EAAmC;AACxE,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAA,EAAG;AAC/B,MAAA,MAAA,CAAO,KAAA,GAAQ,MAAA,CAAO,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAkC;AACjE,QAAA,IAAI,IAAA,IAAQ,OAAO,IAAA,KAAS,QAAA,EAAU;AACpC,UAAA,MAAM,EAAE,OAAA,EAAS,GAAG,QAAA,EAAS,GAAI,IAAA;AACjC,UAAA,OAAO,QAAA;AAAA,QACT;AACA,QAAA,OAAO,IAAA;AAAA,MACT,CAAC,CAAA;AAAA,IACH;AACA,IAAA,eAAA,CAAgB,MAAA,GAAS,MAAA;AAAA,EAC3B;AAEA,EAAA,OAAO,eAAA;AACT;AAyBO,SAAS,kBAAsC,KAAA,EAA6C;AACjG,EAAA,IAAI,CAAC,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,EAAU;AACvC,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAM,UAAA,GAAa,KAAA;AAEnB,EAAA,QAAQ,MAAM,IAAA;AAAM,IAClB,KAAK,YAAA,EAAc;AAEjB,MAAA,IAAI,aAAa,UAAA,IAAc,UAAA,CAAW,WAAW,OAAO,UAAA,CAAW,YAAY,QAAA,EAAU;AAE3F,QAAA,MAAM,EAAE,OAAA,EAAS,GAAG,IAAA,EAAK,GAAI,UAAA;AAC7B,QAAA,MAAM,EAAE,OAAA,EAAS,GAAG,WAAA,EAAY,GAAI,OAAA;AACpC,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,IAAA,EAAM,YAAA;AAAA,UACN,OAAA,EAAS;AAAA,YACP,GAAG,WAAA;AAAA;AAAA,YAEH,SAAS;AAAC;AACZ,SACF;AAAA,MACF,CAAA,MAAA,IAAW,aAAa,UAAA,EAAY;AAElC,QAAA,MAAM,EAAE,OAAA,EAAS,GAAG,IAAA,EAAK,GAAI,UAAA;AAC7B,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,IAAA,EAAM,YAAA;AAAA;AAAA,UAEN,SAAS;AAAC,SACZ;AAAA,MACF;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,IAEA,KAAK,aAAA,EAAe;AAElB,MAAA,IAAI,aAAa,UAAA,IAAc,UAAA,CAAW,WAAW,OAAO,UAAA,CAAW,YAAY,QAAA,EAAU;AAE3F,QAAA,MAAM,EAAE,OAAA,EAAS,GAAG,IAAA,EAAK,GAAI,UAAA;AAC7B,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,IAAA,EAAM,aAAA;AAAA,UACN,OAAA,EAAS,gBAAgB,OAAkC;AAAA,SAC7D;AAAA,MACF,CAAA,MAAA,IAAW,aAAa,UAAA,EAAY;AAElC,QAAA,MAAM,EAAE,OAAA,EAAS,GAAG,IAAA,EAAK,GAAI,UAAA;AAC7B,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,IAAA,EAAM;AAAA,SACR;AAAA,MACF;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,IAEA,KAAK,QAAA,EAAU;AAEb,MAAA,IAAI,aAAa,UAAA,IAAc,UAAA,CAAW,WAAW,OAAO,UAAA,CAAW,YAAY,QAAA,EAAU;AAE3F,QAAA,MAAM,EAAE,OAAA,EAAS,GAAG,IAAA,EAAK,GAAI,UAAA;AAC7B,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,IAAA,EAAM,QAAA;AAAA,UACN,OAAA,EAAS,gBAAgB,OAAkC;AAAA,SAC7D;AAAA,MACF,CAAA,MAAA,IAAW,aAAa,UAAA,EAAY;AAElC,QAAA,MAAM,EAAE,OAAA,EAAS,GAAG,IAAA,EAAK,GAAI,UAAA;AAC7B,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,IAAA,EAAM;AAAA,SACR;AAAA,MACF;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,IAEA;AAEE,MAAA,OAAO,KAAA;AAAA;AAEb;;;AC5EO,SAAS,qBAAqB,QAAA,EAAoE;AACvG,EAAA,MAAM,cAA+C,EAAC;AACtD,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA,EAAG;AACnD,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,MAAA,WAAA,CAAY,GAAG,CAAA,GAAI,KAAA;AAAA,IACrB,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AAE/B,MAAA,MAAM,eAAe,KAAA,CAAM,MAAA,CAAO,CAAC,CAAA,KAAmB,OAAO,MAAM,QAAQ,CAAA;AAE3E,MAAA,WAAA,CAAY,GAAG,CAAA,GAAI,YAAA,CAAa,WAAW,CAAA,GAAI,YAAA,CAAa,CAAC,CAAA,GAAK,YAAA;AAAA,IACpE;AAAA,EACF;AACA,EAAA,OAAO,WAAA;AACT;AAgBO,IAAe,YAAA,GAAf,cAA+D,gBAAA,CAAuB;AAAA,EACjF,MAAA;AAAA,EACA,gBAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,qBAAA;AAAA,EACA,aAAA;AAAA,EAEV,WAAA,CAAY;AAAA,IACV,GAAA;AAAA,IACA,MAAA;AAAA,IACA,gBAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA,GAAS,EAAA;AAAA,IACT,WAAA,GAAc,EAAA;AAAA,IACd,SAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF,EAUG;AACD,IAAA,KAAA,CAAM,EAAE,GAAA,EAAK,IAAA,EAAM,cAAA,EAAgB,CAAA;AACnC,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,gBAAA,GAAmB,gBAAA;AACxB,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,WAAA,GAAc,WAAA;AACnB,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AACjB,IAAA,IAAA,CAAK,qBAAA,GAAwB,qBAAA;AAC7B,IAAA,IAAA,CAAK,aAAA,GAAgB,EAAE,MAAA,EAAQ,IAAA,EAAM,GAAG,aAAA,EAAc;AAGtD,IAAA,MAAA,CAAO,gBAAgB,IAAI,CAAA;AAAA,EAC7B;AAAA,EAEU,mBAAA,CAAoB;AAAA,IAC5B,oBAAA;AAAA,IACA;AAAA,GACF,EAGmB;AACjB,IAAA,MAAM,cAAA,GAAiB,IAAI,cAAA,EAAe;AAC1C,IAAA,IAAI,kBAAA,EAAoB;AACtB,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,kBAAkB,CAAA,EAAG;AAC7D,QAAA,cAAA,CAAe,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,MAC/B;AAAA,IACF;AACA,IAAA,IAAI,oBAAA,EAAsB;AACxB,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,oBAAoB,CAAA,EAAG;AAC/D,QAAA,cAAA,CAAe,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,MAC/B;AAAA,IACF;AACA,IAAA,OAAO,cAAA;AAAA,EACT;AAAA,EASA,MAAM,IAAA,GAAO;AACX,IAAA,IAAA,CAAK,yBAAA,EAA0B;AAC/B,IAAA,IAAA,CAAK,sBAAA,EAAuB;AAC5B,IAAA,MAAM,KAAK,cAAA,EAAe;AAAA,EAC5B;AAAA,EAEA,MAAM,qBAAqB,GAAA,EAAW,MAAA,GAAwB,EAAC,EAAG,EAAE,QAAO,EAAuC;AAChH,IAAA,MAAM;AAAA,MACJ,KAAA,GAAQ,YAAA;AAAA,MACR,OAAA,GAAU,OAAA;AAAA,MACV,WAAA,GAAc,mBAAA;AAAA,MACd,IAAA,GAAO;AAAA,KACT,GAAI,MAAA;AAEJ,IAAA,MAAM,WAAA,GAAc,wBAAwB,aAAA,EAAe;AAAA,MACzD,KAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,YAAA,GAA4B;AAAA,MAChC,MAAA,EAAQ,KAAA;AAAA,MACR,IAAA;AAAA,MACA,YAAA,EAAc,MAAA;AAAA,MACd,SAAS,YAAY;AAAA,KACvB;AAEA,IAAA,MAAM,KAAK,aAAA,CAAc,GAAA,EAAK,YAAA,EAAc,EAAE,QAAQ,CAAA;AAAA,EACxD;AAAA,EAEA,MAAM,cAAA,GAAgC;AACpC,IAAA,MAAM,QAAQ,GAAA,CAAI,aAAA,CAAc,GAAA,CAAI,CAAA,KAAA,KAAS,KAAK,aAAA,CAAc,IAAA,CAAK,GAAA,EAAK,KAAA,EAAO,EAAE,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,CAAC,CAAC,CAAA;AAE1G,IAAA,IAAI,KAAK,WAAA,EAAa;AACpB,MAAA,MAAM,IAAA,CAAK,oBAAA;AAAA,QACT,IAAA,CAAK,GAAA;AAAA,QACL;AAAA,UACE,KAAA,EAAO,YAAA;AAAA,UACP,OAAA,EAAS,OAAA;AAAA,UACT,WAAA,EAAa,mBAAA;AAAA,UACb,MAAM,IAAA,CAAK;AAAA,SACb;AAAA,QACA,EAAE,MAAA,EAAQ,IAAA,CAAK,MAAA;AAAO,OACxB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,eAAA,CAAgB,KAAA,EAAoB,MAAA,EAA8D;AACtG,IAAA,MAAM,kBAAkB,KAAA,CAAM,eAAA;AAC9B,IAAA,IAAI,CAAC,eAAA,EAAiB;AACpB,MAAA,OAAO,MAAA;AAAA,IACT;AAEA,IAAA,OAAO,eAAA,CAAgB,WAAW,MAAM,CAAA;AAAA,EAC1C;AAAA,EAEA,MAAM,gBAAA,CAAiB,KAAA,EAAoB,MAAA,EAAuE;AAChH,IAAA,MAAM,mBAAmB,KAAA,CAAM,gBAAA;AAC/B,IAAA,IAAI,CAAC,gBAAA,EAAkB;AACrB,MAAA,OAAO,MAAA;AAAA,IACT;AAEA,IAAA,OAAO,gBAAA,CAAiB,WAAW,MAAM,CAAA;AAAA,EAC3C;AAAA,EAEA,MAAM,SAAA,CAAU,KAAA,EAAoB,IAAA,EAAiC;AACnE,IAAA,MAAM,aAAa,KAAA,CAAM,UAAA;AACzB,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,OAAO,UAAA,CAAW,WAAW,IAAI,CAAA;AAAA,EACnC;AACF","file":"index.js","sourcesContent":["import { GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE } from '../../handlers/a2a';\nimport type { ServerRoute } from '.';\n\nexport const A2A_ROUTES: ServerRoute<any, any, any>[] = [GET_AGENT_CARD_ROUTE, AGENT_EXECUTION_ROUTE];\n","import {\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n} from '../../handlers/agent-builder';\nimport type { ServerRoute } from '.';\n\nexport const AGENT_BUILDER_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_AGENT_BUILDER_ACTIONS_ROUTE,\n GET_AGENT_BUILDER_ACTION_BY_ID_ROUTE,\n LIST_AGENT_BUILDER_ACTION_RUNS_ROUTE,\n GET_AGENT_BUILDER_ACTION_RUN_BY_ID_ROUTE,\n CREATE_AGENT_BUILDER_ACTION_RUN_ROUTE,\n STREAM_AGENT_BUILDER_ACTION_ROUTE,\n START_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n START_AGENT_BUILDER_ACTION_RUN_ROUTE,\n OBSERVE_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_ASYNC_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_AGENT_BUILDER_ACTION_ROUTE,\n RESUME_STREAM_AGENT_BUILDER_ACTION_ROUTE,\n CANCEL_AGENT_BUILDER_ACTION_RUN_ROUTE,\n];\n","import {\n // Agent route objects\n LIST_AGENTS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n GET_PROVIDERS_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n APPROVE_TOOL_CALL_GENERATE_ROUTE,\n DECLINE_TOOL_CALL_GENERATE_ROUTE,\n STREAM_NETWORK_ROUTE,\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n ENHANCE_INSTRUCTIONS_ROUTE,\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n} from '../../handlers/agents';\nimport { GET_AGENT_TOOL_ROUTE, EXECUTE_AGENT_TOOL_ROUTE } from '../../handlers/tools';\nimport {\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n} from '../../handlers/voice';\nimport type { ServerRoute } from '.';\n\nexport const AGENTS_ROUTES: ServerRoute<any, any, any>[] = [\n // ============================================================================\n // Agent Core Routes\n // ============================================================================\n LIST_AGENTS_ROUTE,\n GET_PROVIDERS_ROUTE,\n GET_AGENT_BY_ID_ROUTE,\n\n // ============================================================================\n // Voice Routes\n // ============================================================================\n GET_SPEAKERS_ROUTE,\n GET_SPEAKERS_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Agent Execution Routes\n // ============================================================================\n GENERATE_AGENT_ROUTE,\n GENERATE_AGENT_VNEXT_ROUTE,\n STREAM_GENERATE_ROUTE,\n STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE,\n\n // ============================================================================\n // Tool Routes\n // ============================================================================\n EXECUTE_AGENT_TOOL_ROUTE,\n APPROVE_TOOL_CALL_ROUTE,\n DECLINE_TOOL_CALL_ROUTE,\n APPROVE_TOOL_CALL_GENERATE_ROUTE,\n DECLINE_TOOL_CALL_GENERATE_ROUTE,\n APPROVE_NETWORK_TOOL_CALL_ROUTE,\n DECLINE_NETWORK_TOOL_CALL_ROUTE,\n\n // ============================================================================\n // Network Routes\n // ============================================================================\n STREAM_NETWORK_ROUTE,\n\n // ============================================================================\n // Model Management Routes\n // ============================================================================\n UPDATE_AGENT_MODEL_ROUTE,\n RESET_AGENT_MODEL_ROUTE,\n REORDER_AGENT_MODEL_LIST_ROUTE,\n UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE,\n\n // ============================================================================\n // Instruction Enhancement Routes\n // ============================================================================\n ENHANCE_INSTRUCTIONS_ROUTE,\n\n // ============================================================================\n // Agent Tool Routes\n // ============================================================================\n GET_AGENT_TOOL_ROUTE,\n\n // ============================================================================\n // Voice/Speech Routes\n // ============================================================================\n GENERATE_SPEECH_ROUTE,\n GENERATE_SPEECH_DEPRECATED_ROUTE,\n TRANSCRIBE_SPEECH_ROUTE,\n TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,\n GET_LISTENER_ROUTE,\n\n // ============================================================================\n // Deprecated Routes\n // ============================================================================\n STREAM_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE,\n STREAM_UI_MESSAGE_DEPRECATED_ROUTE,\n];\n","/**\n * Legacy routes that are deprecated but still exist in deployer for backward compatibility.\n * These routes should not be used in new code and will be removed in a future version.\n */\n\nimport {\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n} from '../../handlers/agent-builder';\nimport { GENERATE_LEGACY_ROUTE, STREAM_GENERATE_LEGACY_ROUTE } from '../../handlers/agents';\nimport { STREAM_LEGACY_WORKFLOW_ROUTE, OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE } from '../../handlers/workflows';\nimport type { ServerRoute } from '.';\n\nexport const LEGACY_ROUTES: ServerRoute<any, any, any>[] = [\n // ============================================================================\n // Legacy Agent Routes\n // ============================================================================\n GENERATE_LEGACY_ROUTE,\n STREAM_GENERATE_LEGACY_ROUTE,\n\n // ============================================================================\n // Legacy Workflow Routes\n // ============================================================================\n STREAM_LEGACY_WORKFLOW_ROUTE,\n OBSERVE_STREAM_LEGACY_WORKFLOW_ROUTE,\n\n // ============================================================================\n // Legacy Agent Builder Routes\n // ============================================================================\n STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n OBSERVE_STREAM_LEGACY_AGENT_BUILDER_ACTION_ROUTE,\n];\n","import { LIST_LOG_TRANSPORTS_ROUTE, LIST_LOGS_ROUTE, LIST_LOGS_BY_RUN_ID_ROUTE } from '../../handlers/logs';\nimport type { ServerRoute } from '.';\n\nexport const LOGS_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_LOG_TRANSPORTS_ROUTE,\n LIST_LOGS_ROUTE,\n LIST_LOGS_BY_RUN_ID_ROUTE,\n];\n","import {\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n} from '../../handlers/mcp';\nimport type { ServerRoute } from '.';\n\n/**\n * MCP Routes\n *\n * Registry routes provide access to the MCP server registry and tools.\n * Transport routes handle the MCP protocol communication (HTTP and SSE).\n */\nexport const MCP_ROUTES: ServerRoute<any, any, any>[] = [\n // ============================================================================\n // MCP Server Registry Routes\n // ============================================================================\n LIST_MCP_SERVERS_ROUTE,\n GET_MCP_SERVER_DETAIL_ROUTE,\n\n // ============================================================================\n // MCP Server Tool Routes\n // ============================================================================\n LIST_MCP_SERVER_TOOLS_ROUTE,\n GET_MCP_SERVER_TOOL_DETAIL_ROUTE,\n EXECUTE_MCP_SERVER_TOOL_ROUTE,\n\n // ============================================================================\n // MCP Transport Routes (handled by adapters)\n // ============================================================================\n MCP_HTTP_TRANSPORT_ROUTE,\n MCP_SSE_TRANSPORT_ROUTE,\n MCP_SSE_MESSAGES_ROUTE,\n];\n","import {\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n} from '../../handlers/memory';\nimport type { ServerRoute } from '.';\n\nexport const MEMORY_ROUTES: ServerRoute<any, any, any>[] = [\n GET_MEMORY_STATUS_ROUTE,\n GET_MEMORY_CONFIG_ROUTE,\n LIST_THREADS_ROUTE,\n GET_THREAD_BY_ID_ROUTE,\n LIST_MESSAGES_ROUTE,\n GET_WORKING_MEMORY_ROUTE,\n SAVE_MESSAGES_ROUTE,\n CREATE_THREAD_ROUTE,\n UPDATE_THREAD_ROUTE,\n DELETE_THREAD_ROUTE,\n CLONE_THREAD_ROUTE,\n UPDATE_WORKING_MEMORY_ROUTE,\n DELETE_MESSAGES_ROUTE,\n SEARCH_MEMORY_ROUTE,\n GET_MEMORY_STATUS_NETWORK_ROUTE,\n LIST_THREADS_NETWORK_ROUTE,\n GET_THREAD_BY_ID_NETWORK_ROUTE,\n LIST_MESSAGES_NETWORK_ROUTE,\n SAVE_MESSAGES_NETWORK_ROUTE,\n CREATE_THREAD_NETWORK_ROUTE,\n UPDATE_THREAD_NETWORK_ROUTE,\n DELETE_THREAD_NETWORK_ROUTE,\n DELETE_MESSAGES_NETWORK_ROUTE,\n];\n","import {\n LIST_TRACES_ROUTE,\n GET_TRACE_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n} from '../../handlers/observability';\nimport type { ServerRoute } from '.';\n\nexport const OBSERVABILITY_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_TRACES_ROUTE,\n GET_TRACE_ROUTE,\n SCORE_TRACES_ROUTE,\n LIST_SCORES_BY_SPAN_ROUTE,\n];\n","import { LIST_PROCESSORS_ROUTE, GET_PROCESSOR_BY_ID_ROUTE, EXECUTE_PROCESSOR_ROUTE } from '../../handlers/processors';\nimport type { ServerRoute } from '.';\n\nexport const PROCESSORS_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_PROCESSORS_ROUTE,\n GET_PROCESSOR_BY_ID_ROUTE,\n EXECUTE_PROCESSOR_ROUTE,\n];\n","import {\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n} from '../../handlers/scores';\nimport type { ServerRoute } from '.';\n\nexport const SCORES_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_SCORERS_ROUTE,\n GET_SCORER_ROUTE,\n LIST_SCORES_BY_RUN_ID_ROUTE,\n LIST_SCORES_BY_SCORER_ID_ROUTE,\n LIST_SCORES_BY_ENTITY_ID_ROUTE,\n SAVE_SCORE_ROUTE,\n];\n","import {\n LIST_STORED_AGENTS_ROUTE,\n GET_STORED_AGENT_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n} from '../../handlers/stored-agents';\nimport type { ServerRoute } from '.';\n\n/**\n * Routes for stored agents CRUD operations.\n * These routes provide API access to agent configurations stored in the database,\n * enabling dynamic creation and management of agents via Mastra Studio.\n */\nexport const STORED_AGENTS_ROUTES: ServerRoute<any, any, any>[] = [\n // ============================================================================\n // Stored Agents CRUD Routes\n // ============================================================================\n LIST_STORED_AGENTS_ROUTE,\n GET_STORED_AGENT_ROUTE,\n CREATE_STORED_AGENT_ROUTE,\n UPDATE_STORED_AGENT_ROUTE,\n DELETE_STORED_AGENT_ROUTE,\n];\n","import { GET_SYSTEM_PACKAGES_ROUTE } from '../../handlers/system';\n\n/**\n * System Routes\n *\n * Routes for system information and diagnostics.\n */\nexport const SYSTEM_ROUTES = [GET_SYSTEM_PACKAGES_ROUTE] as const;\n","import { LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE } from '../../handlers/tools';\nimport type { ServerRoute } from '.';\n\nexport const TOOLS_ROUTES: ServerRoute<any, any, any>[] = [LIST_TOOLS_ROUTE, GET_TOOL_BY_ID_ROUTE, EXECUTE_TOOL_ROUTE];\n","import {\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n} from '../../handlers/vector';\nimport type { ServerRoute } from '.';\n\nexport const VECTORS_ROUTES: ServerRoute<any, any, any>[] = [\n UPSERT_VECTORS_ROUTE,\n CREATE_INDEX_ROUTE,\n QUERY_VECTORS_ROUTE,\n LIST_INDEXES_ROUTE,\n DESCRIBE_INDEX_ROUTE,\n DELETE_INDEX_ROUTE,\n];\n","import {\n LIST_WORKFLOWS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n} from '../../handlers/workflows';\nimport type { ServerRoute } from '.';\n\nexport const WORKFLOWS_ROUTES: ServerRoute<any, any, any>[] = [\n LIST_WORKFLOWS_ROUTE,\n GET_WORKFLOW_BY_ID_ROUTE,\n LIST_WORKFLOW_RUNS_ROUTE,\n GET_WORKFLOW_RUN_BY_ID_ROUTE,\n DELETE_WORKFLOW_RUN_BY_ID_ROUTE,\n CREATE_WORKFLOW_RUN_ROUTE,\n STREAM_WORKFLOW_ROUTE,\n RESUME_STREAM_WORKFLOW_ROUTE,\n START_ASYNC_WORKFLOW_ROUTE,\n START_WORKFLOW_RUN_ROUTE,\n OBSERVE_STREAM_WORKFLOW_ROUTE,\n RESUME_ASYNC_WORKFLOW_ROUTE,\n RESUME_WORKFLOW_ROUTE,\n CANCEL_WORKFLOW_RUN_ROUTE,\n TIME_TRAVEL_WORKFLOW_ROUTE,\n TIME_TRAVEL_ASYNC_WORKFLOW_ROUTE,\n TIME_TRAVEL_STREAM_WORKFLOW_ROUTE,\n RESTART_WORKFLOW_ROUTE,\n RESTART_ASYNC_WORKFLOW_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ROUTE,\n RESTART_ALL_ACTIVE_WORKFLOW_RUNS_ASYNC_ROUTE,\n];\n","import type { Mastra } from '@mastra/core';\nimport type { ToolsInput } from '@mastra/core/agent';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { ApiRoute } from '@mastra/core/server';\nimport type z from 'zod';\nimport type { InMemoryTaskStore } from '../../a2a/store';\nimport { A2A_ROUTES } from './a2a';\nimport { AGENT_BUILDER_ROUTES } from './agent-builder';\nimport { AGENTS_ROUTES } from './agents';\nimport { LEGACY_ROUTES } from './legacy';\nimport { LOGS_ROUTES } from './logs';\nimport { MCP_ROUTES } from './mcp';\nimport { MEMORY_ROUTES } from './memory';\nimport { OBSERVABILITY_ROUTES } from './observability';\nimport { PROCESSORS_ROUTES } from './processors';\nimport { SCORES_ROUTES } from './scorers';\nimport { STORED_AGENTS_ROUTES } from './stored-agents';\nimport type { MastraStreamReturn } from './stream-types';\nimport { SYSTEM_ROUTES } from './system';\nimport { TOOLS_ROUTES } from './tools';\nimport { VECTORS_ROUTES } from './vectors';\nimport { WORKFLOWS_ROUTES } from './workflows';\n\n/**\n * Server context fields that are available to route handlers.\n * These are injected by the server adapters (Express, Hono, etc.)\n * Fields other than `mastra` are optional to allow direct handler testing.\n */\nexport type ServerContext = {\n mastra: Mastra;\n requestContext: RequestContext;\n tools?: ToolsInput;\n taskStore?: InMemoryTaskStore;\n abortSignal: AbortSignal;\n};\n\n/**\n * Utility type to infer parameters from Zod schemas.\n * Merges path params, query params, and body params into a single type.\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<TPathSchema> : {}) &\n (TQuerySchema extends z.ZodTypeAny ? z.infer<TQuerySchema> : {}) &\n (TBodySchema extends z.ZodTypeAny ? z.infer<TBodySchema> : {});\n\n/**\n * All supported response types for server routes.\n * - 'json': Standard JSON response\n * - 'stream': Streaming response (SSE or raw stream)\n * - 'datastream-response': Pre-built Response object for data streams\n * - 'mcp-http': MCP Streamable HTTP transport (handled by adapter)\n * - 'mcp-sse': MCP SSE transport (handled by adapter)\n */\nexport type ResponseType = 'stream' | 'json' | 'datastream-response' | 'mcp-http' | 'mcp-sse';\n\nexport type ServerRouteHandler<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = 'json',\n> = (\n params: TParams & ServerContext,\n) => Promise<\n TResponseType extends 'stream'\n ? MastraStreamReturn\n : TResponseType extends 'datastream-response'\n ? Response\n : TResponse\n>;\n\nexport type ServerRoute<\n TParams = Record<string, unknown>,\n TResponse = unknown,\n TResponseType extends ResponseType = 'json',\n> = Omit<ApiRoute, 'handler' | 'createHandler'> & {\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream'; // Only used when responseType is 'stream', defaults to 'stream'\n handler: ServerRouteHandler<TParams, TResponse, TResponseType>;\n pathParamSchema?: z.ZodSchema;\n queryParamSchema?: z.ZodSchema;\n bodySchema?: z.ZodSchema;\n responseSchema?: z.ZodSchema;\n openapi?: any; // Auto-generated OpenAPI spec for this route\n maxBodySize?: number; // Optional route-specific body size limit in bytes\n deprecated?: boolean; // Flag for deprecated routes (used for route parity, skipped in tests)\n};\n\nexport const SERVER_ROUTES: ServerRoute<any, any, any>[] = [\n ...AGENTS_ROUTES,\n ...WORKFLOWS_ROUTES,\n ...TOOLS_ROUTES,\n ...PROCESSORS_ROUTES,\n ...MEMORY_ROUTES,\n ...SCORES_ROUTES,\n ...OBSERVABILITY_ROUTES,\n ...LOGS_ROUTES,\n ...VECTORS_ROUTES,\n ...A2A_ROUTES,\n ...AGENT_BUILDER_ROUTES,\n ...LEGACY_ROUTES,\n ...MCP_ROUTES,\n ...STORED_AGENTS_ROUTES,\n ...SYSTEM_ROUTES,\n];\n\n// Export route builder and OpenAPI utilities\nexport { createRoute, pickParams, jsonQueryParam, wrapSchemaForQueryParams } from './route-builder';\nexport { generateOpenAPIDocument } from '../openapi-utils';\n","import type { ChunkType } from '@mastra/core/stream';\n\n/**\n * Redacts request data from a v2 format payload.\n * Removes `metadata.request` and `output.steps[].request` from the payload.\n */\nfunction redactV2Payload(payload: Record<string, unknown>): Record<string, unknown> {\n const redactedPayload = { ...payload };\n\n // Remove metadata.request\n if (redactedPayload.metadata && typeof redactedPayload.metadata === 'object') {\n const { request, ...metadataRest } = redactedPayload.metadata as Record<string, unknown>;\n redactedPayload.metadata = metadataRest;\n }\n\n // Remove request from output.steps[]\n if (redactedPayload.output && typeof redactedPayload.output === 'object') {\n const output = { ...(redactedPayload.output as Record<string, unknown>) };\n if (Array.isArray(output.steps)) {\n output.steps = output.steps.map((step: Record<string, unknown>) => {\n if (step && typeof step === 'object') {\n const { request, ...stepRest } = step;\n return stepRest;\n }\n return step;\n });\n }\n redactedPayload.output = output;\n }\n\n return redactedPayload;\n}\n\n/**\n * Redacts sensitive data from stream chunks before they are sent to clients.\n *\n * This function strips out request bodies that may contain sensitive information\n * such as system prompts, tool definitions, API keys, and other configuration data.\n *\n * Handles both v1 (legacy) and v2 stream formats:\n *\n * v1 format (fields at root level):\n * - `step-start.request` - Contains the full LLM request body\n * - `step-finish.request` - Contains the request body\n * - `finish.request` - Contains the request body (if present)\n *\n * v2 format (fields nested in payload):\n * - `step-start.payload.request` - Contains the full LLM request body\n * - `step-finish.payload.metadata.request` - Contains the request metadata\n * - `step-finish.payload.output.steps[].request` - Contains request data for each step\n * - `finish.payload.metadata.request` - Contains the request metadata\n * - `finish.payload.output.steps[].request` - Contains request data for each step\n *\n * @param chunk - The stream chunk to redact\n * @returns A new chunk with sensitive data removed, or the original chunk if no redaction needed\n */\nexport function redactStreamChunk<OUTPUT = undefined>(chunk: ChunkType<OUTPUT>): ChunkType<OUTPUT> {\n if (!chunk || typeof chunk !== 'object') {\n return chunk;\n }\n\n const typedChunk = chunk as Record<string, unknown>;\n\n switch (chunk.type) {\n case 'step-start': {\n // Check if this is v2 format (has payload) or v1 format (request at root)\n if ('payload' in typedChunk && typedChunk.payload && typeof typedChunk.payload === 'object') {\n // v2 format: Remove request from payload\n const { payload, ...rest } = typedChunk;\n const { request, ...payloadRest } = payload as Record<string, unknown>;\n return {\n ...rest,\n type: 'step-start',\n payload: {\n ...payloadRest,\n // Keep an empty request object to maintain structure but remove body\n request: {},\n },\n } as ChunkType<OUTPUT>;\n } else if ('request' in typedChunk) {\n // v1 format: Remove request at root level\n const { request, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'step-start',\n // Keep an empty request object to maintain structure\n request: {},\n } as unknown as ChunkType<OUTPUT>;\n }\n return chunk;\n }\n\n case 'step-finish': {\n // Check if this is v2 format (has payload) or v1 format (request at root)\n if ('payload' in typedChunk && typedChunk.payload && typeof typedChunk.payload === 'object') {\n // v2 format: Remove request from metadata and output.steps[].request\n const { payload, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'step-finish',\n payload: redactV2Payload(payload as Record<string, unknown>),\n } as ChunkType<OUTPUT>;\n } else if ('request' in typedChunk) {\n // v1 format: Remove request at root level\n const { request, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'step-finish',\n } as unknown as ChunkType<OUTPUT>;\n }\n return chunk;\n }\n\n case 'finish': {\n // Check if this is v2 format (has payload) or v1 format (request at root)\n if ('payload' in typedChunk && typedChunk.payload && typeof typedChunk.payload === 'object') {\n // v2 format: Remove request from metadata and output.steps[].request\n const { payload, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'finish',\n payload: redactV2Payload(payload as Record<string, unknown>),\n } as ChunkType<OUTPUT>;\n } else if ('request' in typedChunk) {\n // v1 format: Remove request at root level\n const { request, ...rest } = typedChunk;\n return {\n ...rest,\n type: 'finish',\n } as unknown as ChunkType<OUTPUT>;\n }\n return chunk;\n }\n\n default:\n // Other chunk types don't contain sensitive request data\n return chunk;\n }\n}\n","import type { ToolsInput } from '@mastra/core/agent';\nimport type { Mastra } from '@mastra/core/mastra';\nimport { RequestContext } from '@mastra/core/request-context';\nimport { MastraServerBase } from '@mastra/core/server';\nimport type { InMemoryTaskStore } from '../a2a/store';\nimport { generateOpenAPIDocument } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes';\nimport type { ServerRoute } from './routes';\n\nexport * from './routes';\nexport { redactStreamChunk } from './redact';\n\nexport { WorkflowRegistry } from '../utils';\n\nexport interface OpenAPIConfig {\n title?: string;\n version?: string;\n description?: string;\n path?: string;\n}\n\nexport interface BodyLimitOptions {\n maxSize: number;\n onError: (error: unknown) => unknown;\n}\n\nexport interface StreamOptions {\n /**\n * When true (default), redacts sensitive data from stream chunks\n * (system prompts, tool definitions, API keys) before sending to clients.\n *\n * Set to false to include full request data in stream chunks (useful for\n * debugging or internal services that need access to this data).\n *\n * @default true\n */\n redact?: boolean;\n}\n\n/**\n * Query parameter values parsed from HTTP requests.\n * Supports both single values and arrays (for repeated query params like ?tag=a&tag=b).\n */\nexport type QueryParamValue = string | string[];\n\n/**\n * Parsed request parameters returned by getParams().\n */\nexport interface ParsedRequestParams {\n urlParams: Record<string, string>;\n queryParams: Record<string, QueryParamValue>;\n body: unknown;\n}\n\n/**\n * Normalizes query parameters from various HTTP framework formats to a consistent structure.\n * Handles both single string values and arrays (for repeated query params like ?tag=a&tag=b).\n * Filters out non-string values that some frameworks may include.\n *\n * @param rawQuery - Raw query parameters from the HTTP framework (may contain strings, arrays, or nested objects)\n * @returns Normalized query parameters as Record<string, string | string[]>\n */\nexport function normalizeQueryParams(rawQuery: Record<string, unknown>): Record<string, QueryParamValue> {\n const queryParams: Record<string, QueryParamValue> = {};\n for (const [key, value] of Object.entries(rawQuery)) {\n if (typeof value === 'string') {\n queryParams[key] = value;\n } else if (Array.isArray(value)) {\n // Filter to only string values (some frameworks include nested objects)\n const stringValues = value.filter((v): v is string => typeof v === 'string');\n // Convert single-value arrays back to strings for compatibility\n queryParams[key] = stringValues.length === 1 ? stringValues[0]! : stringValues;\n }\n }\n return queryParams;\n}\n\n/**\n * Abstract base class for server adapters that handle HTTP requests.\n *\n * This class extends `MastraServerBase` to inherit app storage functionality\n * and provides the framework for registering routes, middleware, and handling requests.\n *\n * Framework-specific adapters in @mastra/hono and @mastra/express extend this class\n * (both named `MastraServer` in their respective packages) and implement the abstract\n * methods for their specific framework.\n *\n * @template TApp - The type of the server app (e.g., Hono, Express Application)\n * @template TRequest - The type of the request object\n * @template TResponse - The type of the response object\n */\nexport abstract class MastraServer<TApp, TRequest, TResponse> extends MastraServerBase<TApp> {\n protected mastra: Mastra;\n protected bodyLimitOptions?: BodyLimitOptions;\n protected tools?: ToolsInput;\n protected prefix?: string;\n protected openapiPath?: string;\n protected taskStore?: InMemoryTaskStore;\n protected customRouteAuthConfig?: Map<string, boolean>;\n protected streamOptions: StreamOptions;\n\n constructor({\n app,\n mastra,\n bodyLimitOptions,\n tools,\n prefix = '',\n openapiPath = '',\n taskStore,\n customRouteAuthConfig,\n streamOptions,\n }: {\n app: TApp;\n mastra: Mastra;\n bodyLimitOptions?: BodyLimitOptions;\n tools?: ToolsInput;\n prefix?: string;\n openapiPath?: string;\n taskStore?: InMemoryTaskStore;\n customRouteAuthConfig?: Map<string, boolean>;\n streamOptions?: StreamOptions;\n }) {\n super({ app, name: 'MastraServer' });\n this.mastra = mastra;\n this.bodyLimitOptions = bodyLimitOptions;\n this.tools = tools;\n this.prefix = prefix;\n this.openapiPath = openapiPath;\n this.taskStore = taskStore;\n this.customRouteAuthConfig = customRouteAuthConfig;\n this.streamOptions = { redact: true, ...streamOptions };\n\n // Automatically register this adapter with Mastra so getServerApp() works\n mastra.setMastraServer(this);\n }\n\n protected mergeRequestContext({\n paramsRequestContext,\n bodyRequestContext,\n }: {\n paramsRequestContext?: Record<string, any>;\n bodyRequestContext?: Record<string, any>;\n }): RequestContext {\n const requestContext = new RequestContext();\n if (bodyRequestContext) {\n for (const [key, value] of Object.entries(bodyRequestContext)) {\n requestContext.set(key, value);\n }\n }\n if (paramsRequestContext) {\n for (const [key, value] of Object.entries(paramsRequestContext)) {\n requestContext.set(key, value);\n }\n }\n return requestContext;\n }\n\n abstract stream(route: ServerRoute, response: TResponse, result: unknown): Promise<unknown>;\n abstract getParams(route: ServerRoute, request: TRequest): Promise<ParsedRequestParams>;\n abstract sendResponse(route: ServerRoute, response: TResponse, result: unknown): Promise<unknown>;\n abstract registerRoute(app: TApp, route: ServerRoute, { prefix }: { prefix?: string }): Promise<void>;\n abstract registerContextMiddleware(): void;\n abstract registerAuthMiddleware(): void;\n\n async init() {\n this.registerContextMiddleware();\n this.registerAuthMiddleware();\n await this.registerRoutes();\n }\n\n async registerOpenAPIRoute(app: TApp, config: OpenAPIConfig = {}, { prefix }: { prefix?: string }): Promise<void> {\n const {\n title = 'Mastra API',\n version = '1.0.0',\n description = 'Mastra Server API',\n path = '/openapi.json',\n } = config;\n\n const openApiSpec = generateOpenAPIDocument(SERVER_ROUTES, {\n title,\n version,\n description,\n });\n\n const openApiRoute: ServerRoute = {\n method: 'GET',\n path,\n responseType: 'json',\n handler: async () => openApiSpec,\n };\n\n await this.registerRoute(app, openApiRoute, { prefix });\n }\n\n async registerRoutes(): Promise<void> {\n await Promise.all(SERVER_ROUTES.map(route => this.registerRoute(this.app, route, { prefix: this.prefix })));\n\n if (this.openapiPath) {\n await this.registerOpenAPIRoute(\n this.app,\n {\n title: 'Mastra API',\n version: '1.0.0',\n description: 'Mastra Server API',\n path: this.openapiPath,\n },\n { prefix: this.prefix },\n );\n }\n }\n\n async parsePathParams(route: ServerRoute, params: Record<string, string>): Promise<Record<string, any>> {\n const pathParamSchema = route.pathParamSchema;\n if (!pathParamSchema) {\n return params;\n }\n\n return pathParamSchema.parseAsync(params);\n }\n\n async parseQueryParams(route: ServerRoute, params: Record<string, QueryParamValue>): Promise<Record<string, any>> {\n const queryParamSchema = route.queryParamSchema;\n if (!queryParamSchema) {\n return params;\n }\n\n return queryParamSchema.parseAsync(params);\n }\n\n async parseBody(route: ServerRoute, body: unknown): Promise<unknown> {\n const bodySchema = route.bodySchema;\n if (!bodySchema) {\n return body;\n }\n\n return bodySchema.parseAsync(body);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../../src/server/server-adapter/routes/agents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../../src/server/server-adapter/routes/agents.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAErC,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAuErD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/server-adapter/routes/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/server-adapter/routes/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processors.d.ts","sourceRoot":"","sources":["../../../../src/server/server-adapter/routes/processors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAErC,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAIzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/server/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAqB,QAAQ,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/server/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAqB,QAAQ,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAiExF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,OAAe,GAAG,YAAY,CAyC1F;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAgC;IAElE;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAItE;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC3D,IAAI;IAiBP;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI5D;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIlD;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAGzD;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,IAAI;IAKtB;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI1D;;OAEG;IACH,MAAM,CAAC,wBAAwB,IAAI,MAAM,EAAE;CAG5C;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAwB1E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/server",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.25",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -93,8 +93,8 @@
|
|
|
93
93
|
"zod": "^3.25.76",
|
|
94
94
|
"@internal/lint": "0.0.53",
|
|
95
95
|
"@internal/storage-test-utils": "0.0.49",
|
|
96
|
-
"@mastra/
|
|
97
|
-
"@mastra/
|
|
96
|
+
"@mastra/agent-builder": "1.0.0-beta.15",
|
|
97
|
+
"@mastra/core": "1.0.0-beta.25",
|
|
98
98
|
"@internal/types-builder": "0.0.28"
|
|
99
99
|
},
|
|
100
100
|
"homepage": "https://mastra.ai",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["__export","PROVIDER_REGISTRY","stringify","zodToJsonSchema","agent","HTTPException","acc","key","createRoute","z","listAgentsResponseSchema","handleError","agentIdPathParams","serializedAgentSchema","agentExecutionBodySchema","generateResponseSchema","sanitizeBody","validateBody","agentExecutionLegacyBodySchema","streamResponseSchema","providersResponseSchema","approveToolCallBodySchema","toolCallResponseSchema","declineToolCallBodySchema","approveNetworkToolCallBodySchema","declineNetworkToolCallBodySchema","updateAgentModelBodySchema","modelManagementResponseSchema","reorderAgentModelListBodySchema","modelConfigIdPathParams","updateAgentModelInModelListBodySchema","enhanceInstructionsBodySchema","enhanceInstructionsResponseSchema","Agent","MastraError","ErrorCategory","ErrorDomain"],"mappings":"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","file":"chunk-63NFBEYY.cjs","sourcesContent":["import { Agent } from '@mastra/core/agent';\nimport type { AgentModelManagerConfig } from '@mastra/core/agent';\nimport { ErrorCategory, ErrorDomain, MastraError } from '@mastra/core/error';\nimport { PROVIDER_REGISTRY } from '@mastra/core/llm';\nimport type { SystemMessage } from '@mastra/core/llm';\nimport type {\n InputProcessor,\n OutputProcessor,\n InputProcessorOrWorkflow,\n OutputProcessorOrWorkflow,\n} from '@mastra/core/processors';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { z } from 'zod';\n\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n listAgentsResponseSchema,\n serializedAgentSchema,\n agentExecutionBodySchema,\n agentExecutionLegacyBodySchema,\n generateResponseSchema,\n streamResponseSchema,\n providersResponseSchema,\n approveToolCallBodySchema,\n declineToolCallBodySchema,\n toolCallResponseSchema,\n updateAgentModelBodySchema,\n reorderAgentModelListBodySchema,\n updateAgentModelInModelListBodySchema,\n modelManagementResponseSchema,\n modelConfigIdPathParams,\n enhanceInstructionsBodySchema,\n enhanceInstructionsResponseSchema,\n approveNetworkToolCallBodySchema,\n declineNetworkToolCallBodySchema,\n} from '../schemas/agents';\nimport type { ServerRoute } from '../server-adapter/routes';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { sanitizeBody, validateBody } from './utils';\n\n/**\n * Checks if a provider has its required API key environment variable(s) configured.\n * Handles provider IDs with suffixes (e.g., \"openai.chat\" -> \"openai\").\n * @param providerId - The provider identifier (may include a suffix like \".chat\")\n * @returns true if all required environment variables are set, false otherwise\n */\nfunction isProviderConnected(providerId: string): boolean {\n // Clean provider ID (e.g., \"openai.chat\" -> \"openai\")\n const cleanId = providerId.includes('.') ? providerId.split('.')[0]! : providerId;\n const provider = PROVIDER_REGISTRY[cleanId as keyof typeof PROVIDER_REGISTRY];\n if (!provider) return false;\n\n const envVars = Array.isArray(provider.apiKeyEnvVar) ? provider.apiKeyEnvVar : [provider.apiKeyEnvVar];\n return envVars.every(envVar => !!process.env[envVar]);\n}\n\nexport interface SerializedProcessor {\n id: string;\n name?: string;\n}\n\nexport interface SerializedTool {\n id: string;\n description?: string;\n inputSchema?: string;\n outputSchema?: string;\n requireApproval?: boolean;\n}\n\ninterface SerializedToolInput {\n id?: string;\n description?: string;\n inputSchema?: { jsonSchema?: unknown } | unknown;\n outputSchema?: { jsonSchema?: unknown } | unknown;\n}\n\nexport interface SerializedWorkflow {\n name: string;\n steps?: Record<string, { id: string; description?: string }>;\n}\n\nexport interface SerializedAgent {\n name: string;\n description?: string;\n instructions?: SystemMessage;\n tools: Record<string, SerializedTool>;\n agents: Record<string, SerializedAgentDefinition>;\n workflows: Record<string, SerializedWorkflow>;\n inputProcessors: SerializedProcessor[];\n outputProcessors: SerializedProcessor[];\n provider?: string;\n modelId?: string;\n modelVersion?: string;\n modelList?: Array<\n Omit<AgentModelManagerConfig, 'model'> & {\n model: {\n modelId: string;\n provider: string;\n modelVersion: string;\n };\n }\n >;\n // We can't use the true types here because they are not serializable\n defaultOptions?: Record<string, unknown>;\n defaultGenerateOptionsLegacy?: Record<string, unknown>;\n defaultStreamOptionsLegacy?: Record<string, unknown>;\n}\n\nexport interface SerializedAgentWithId extends SerializedAgent {\n id: string;\n}\n\nexport async function getSerializedAgentTools(\n tools: Record<string, SerializedToolInput>,\n partial: boolean = false,\n): Promise<Record<string, SerializedTool>> {\n return Object.entries(tools || {}).reduce<Record<string, SerializedTool>>((acc, [key, tool]) => {\n const toolId = tool.id ?? `tool-${key}`;\n\n let inputSchemaForReturn: string | undefined = undefined;\n let outputSchemaForReturn: string | undefined = undefined;\n\n // Only process schemas if not in partial mode\n if (!partial) {\n try {\n if (tool.inputSchema) {\n if (tool.inputSchema && typeof tool.inputSchema === 'object' && 'jsonSchema' in tool.inputSchema) {\n inputSchemaForReturn = stringify(tool.inputSchema.jsonSchema);\n } else if (typeof tool.inputSchema === 'function') {\n const inputSchema = tool.inputSchema();\n if (inputSchema && inputSchema.jsonSchema) {\n inputSchemaForReturn = stringify(inputSchema.jsonSchema);\n }\n } else if (tool.inputSchema) {\n inputSchemaForReturn = stringify(\n zodToJsonSchema(tool.inputSchema as Parameters<typeof zodToJsonSchema>[0]),\n );\n }\n }\n\n if (tool.outputSchema) {\n if (tool.outputSchema && typeof tool.outputSchema === 'object' && 'jsonSchema' in tool.outputSchema) {\n outputSchemaForReturn = stringify(tool.outputSchema.jsonSchema);\n } else if (typeof tool.outputSchema === 'function') {\n const outputSchema = tool.outputSchema();\n if (outputSchema && outputSchema.jsonSchema) {\n outputSchemaForReturn = stringify(outputSchema.jsonSchema);\n }\n } else if (tool.outputSchema) {\n outputSchemaForReturn = stringify(\n zodToJsonSchema(tool.outputSchema as Parameters<typeof zodToJsonSchema>[0]),\n );\n }\n }\n } catch (error) {\n console.error(`Error getting serialized tool`, {\n toolId: tool.id,\n error,\n });\n }\n }\n\n acc[key] = {\n ...tool,\n id: toolId,\n inputSchema: inputSchemaForReturn,\n outputSchema: outputSchemaForReturn,\n };\n return acc;\n }, {});\n}\n\nexport function getSerializedProcessors(\n processors: (InputProcessor | OutputProcessor | InputProcessorOrWorkflow | OutputProcessorOrWorkflow)[],\n): SerializedProcessor[] {\n return processors.map(processor => {\n // Processors are class instances or objects with a name property\n // Use the name property if available, otherwise fall back to constructor name\n return {\n id: processor.id,\n name: processor.name || processor.constructor.name,\n };\n });\n}\n\ninterface SerializedAgentDefinition {\n id: string;\n name: string;\n}\n\nasync function getSerializedAgentDefinition({\n agent,\n requestContext,\n}: {\n agent: Agent;\n requestContext: RequestContext;\n}): Promise<Record<string, SerializedAgentDefinition>> {\n let serializedAgentAgents: Record<string, SerializedAgentDefinition> = {};\n\n if ('listAgents' in agent) {\n const agents = await agent.listAgents({ requestContext });\n serializedAgentAgents = Object.entries(agents || {}).reduce<Record<string, SerializedAgentDefinition>>(\n (acc, [key, agent]) => {\n return {\n ...acc,\n [key]: { id: agent.id, name: agent.name },\n };\n },\n {},\n );\n }\n return serializedAgentAgents;\n}\n\nasync function formatAgentList({\n id,\n mastra,\n agent,\n requestContext,\n partial = false,\n}: {\n id: string;\n mastra: Context['mastra'];\n agent: Agent;\n requestContext: RequestContext;\n partial?: boolean;\n}): Promise<SerializedAgentWithId> {\n const description = agent.getDescription();\n const instructions = await agent.getInstructions({ requestContext });\n const tools = await agent.listTools({ requestContext });\n const llm = await agent.getLLM({ requestContext });\n const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({ requestContext });\n const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext });\n const defaultOptions = await agent.getDefaultOptions({ requestContext });\n const serializedAgentTools = await getSerializedAgentTools(tools, partial);\n\n let serializedAgentWorkflows: Record<\n string,\n { name: string; steps?: Record<string, { id: string; description?: string }> }\n > = {};\n\n if ('listWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.listWorkflows({ requestContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<\n Record<string, { name: string; steps?: Record<string, { id: string; description?: string }> }>\n >((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name || 'Unnamed workflow',\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext });\n\n // Get and serialize processors\n const inputProcessors = await agent.listInputProcessors(requestContext);\n const outputProcessors = await agent.listOutputProcessors(requestContext);\n const serializedInputProcessors = getSerializedProcessors(inputProcessors);\n const serializedOutputProcessors = getSerializedProcessors(outputProcessors);\n\n const model = llm?.getModel();\n const models = await agent.getModelList(requestContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n return {\n id: agent.id || id,\n name: agent.name,\n description,\n instructions,\n agents: serializedAgentAgents,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n inputProcessors: serializedInputProcessors,\n outputProcessors: serializedOutputProcessors,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n defaultOptions,\n modelList,\n defaultGenerateOptionsLegacy,\n defaultStreamOptionsLegacy,\n };\n}\n\nexport async function getAgentFromSystem({ mastra, agentId }: { mastra: Context['mastra']; agentId: string }) {\n const logger = mastra.getLogger();\n\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n let agent;\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 ${agentId} not found, looking through sub-agents`);\n const agents = mastra.listAgents();\n if (Object.keys(agents || {}).length) {\n for (const [_, ag] of Object.entries(agents)) {\n try {\n const subAgents = await ag.listAgents();\n\n if (subAgents[agentId]) {\n agent = subAgents[agentId];\n break;\n }\n } catch (error) {\n logger.debug('Error getting agent from agent', error);\n }\n }\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\nasync function formatAgent({\n mastra,\n agent,\n requestContext,\n isStudio,\n}: {\n mastra: Context['mastra'];\n agent: Agent;\n requestContext: RequestContext;\n isStudio: boolean;\n}): Promise<SerializedAgent> {\n const description = agent.getDescription();\n const tools = await agent.listTools({ requestContext });\n\n const serializedAgentTools = await getSerializedAgentTools(tools);\n\n let serializedAgentWorkflows: Record<\n string,\n { name: string; steps: Record<string, { id: string; description?: string }> }\n > = {};\n\n if ('listWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.listWorkflows({ requestContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<\n Record<string, { name: string; steps: Record<string, { id: string; description?: string }> }>\n >((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name || 'Unnamed workflow',\n steps: Object.entries(workflow.steps).reduce<Record<string, { id: string; description?: string }>>(\n (acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n },\n {},\n ),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n let proxyRequestContext = requestContext;\n if (isStudio) {\n proxyRequestContext = new Proxy(requestContext, {\n get(target, prop) {\n if (prop === 'get') {\n return function (key: string) {\n const value = target.get(key);\n return value ?? `<${key}>`;\n };\n }\n return Reflect.get(target, prop);\n },\n });\n }\n\n const instructions = await agent.getInstructions({ requestContext: proxyRequestContext });\n const llm = await agent.getLLM({ requestContext });\n const defaultGenerateOptionsLegacy = await agent.getDefaultGenerateOptionsLegacy({\n requestContext: proxyRequestContext,\n });\n const defaultStreamOptionsLegacy = await agent.getDefaultStreamOptionsLegacy({ requestContext: proxyRequestContext });\n const defaultOptions = await agent.getDefaultOptions({ requestContext: proxyRequestContext });\n\n const model = llm?.getModel();\n const models = await agent.getModelList(requestContext);\n const modelList = models?.map(md => ({\n ...md,\n model: {\n modelId: md.model.modelId,\n provider: md.model.provider,\n modelVersion: md.model.specificationVersion,\n },\n }));\n\n const serializedAgentAgents = await getSerializedAgentDefinition({ agent, requestContext: proxyRequestContext });\n\n // Get and serialize processors\n const inputProcessors = await agent.listInputProcessors(proxyRequestContext);\n const outputProcessors = await agent.listOutputProcessors(proxyRequestContext);\n const serializedInputProcessors = getSerializedProcessors(inputProcessors);\n const serializedOutputProcessors = getSerializedProcessors(outputProcessors);\n\n return {\n name: agent.name,\n description,\n instructions,\n tools: serializedAgentTools,\n agents: serializedAgentAgents,\n workflows: serializedAgentWorkflows,\n inputProcessors: serializedInputProcessors,\n outputProcessors: serializedOutputProcessors,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n modelVersion: model?.specificationVersion,\n modelList,\n defaultOptions,\n defaultGenerateOptionsLegacy,\n defaultStreamOptionsLegacy,\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_AGENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents',\n responseType: 'json',\n queryParamSchema: z.object({\n partial: z.string().optional(),\n }),\n responseSchema: listAgentsResponseSchema,\n summary: 'List all agents',\n description: 'Returns a list of all available agents in the system',\n tags: ['Agents'],\n handler: async ({ mastra, requestContext, partial }) => {\n try {\n const agents = mastra.listAgents();\n\n const isPartial = partial === 'true';\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n return formatAgentList({ id, mastra, agent, requestContext, partial: isPartial });\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<Record<string, (typeof serializedAgentsMap)[number]>>(\n (acc, { id, ...rest }) => {\n acc[id] = { id, ...rest };\n return acc;\n },\n {},\n );\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n },\n});\n\nexport const GET_AGENT_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: serializedAgentSchema,\n summary: 'Get agent by ID',\n description: 'Returns details for a specific agent including configuration, tools, and memory settings',\n tags: ['Agents'],\n handler: async ({ agentId, mastra, requestContext }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n const isStudio = false; // TODO: Get from context if needed\n const result = await formatAgent({\n mastra,\n agent,\n requestContext,\n isStudio,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n },\n});\n\nexport const GENERATE_AGENT_ROUTE: ServerRoute<\n z.infer<typeof agentIdPathParams> & z.infer<typeof agentExecutionBodySchema>,\n unknown\n> = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Generate agent response',\n description: 'Executes an agent with the provided messages and returns the complete response',\n tags: ['Agents'],\n handler: async ({ agentId, mastra, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, ...rest } = params;\n\n validateBody({ messages });\n\n const result = await agent.generate<unknown>(messages, {\n ...rest,\n abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n },\n});\n\n// Legacy routes (deprecated)\nexport const GENERATE_LEGACY_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate-legacy',\n responseType: 'json' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionLegacyBodySchema,\n responseSchema: generateResponseSchema,\n summary: '[DEPRECATED] Generate with legacy format',\n description: 'Legacy endpoint for generating agent responses. Use /api/agents/:agentId/generate instead.',\n tags: ['Agents', 'Legacy'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, resourceId, resourceid, threadId, ...rest } = params;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n validateBody({ messages });\n\n if ((threadId && !finalResourceId) || (!threadId && finalResourceId)) {\n throw new HTTPException(400, { message: 'Both threadId or resourceId must be provided' });\n }\n\n const result = await agent.generateLegacy(messages, {\n ...rest,\n abortSignal,\n resourceId: finalResourceId ?? '',\n threadId: threadId ?? '',\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n },\n});\n\nexport const STREAM_GENERATE_LEGACY_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream-legacy',\n responseType: 'datastream-response' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionLegacyBodySchema,\n responseSchema: streamResponseSchema,\n summary: '[DEPRECATED] Stream with legacy format',\n description: 'Legacy endpoint for streaming agent responses. Use /api/agents/:agentId/stream instead.',\n tags: ['Agents', 'Legacy'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, resourceId, resourceid, threadId, ...rest } = params;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n validateBody({ messages });\n\n if ((threadId && !finalResourceId) || (!threadId && finalResourceId)) {\n throw new HTTPException(400, { message: 'Both threadId or resourceId must be provided' });\n }\n\n const streamResult = await agent.streamLegacy(messages, {\n ...rest,\n abortSignal,\n resourceId: finalResourceId ?? '',\n threadId: threadId ?? '',\n });\n\n const streamResponse = rest.output\n ? streamResult.toTextStreamResponse({\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n })\n : streamResult.toDataStreamResponse({\n sendUsage: true,\n sendReasoning: true,\n getErrorMessage: (error: any) => {\n return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;\n },\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n });\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const GET_PROVIDERS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/providers',\n responseType: 'json',\n responseSchema: providersResponseSchema,\n summary: 'List AI providers',\n description: 'Returns a list of all configured AI model providers',\n tags: ['Agents'],\n handler: async () => {\n try {\n const providers = Object.entries(PROVIDER_REGISTRY).map(([id, provider]) => {\n return {\n id,\n name: provider.name,\n label: (provider as any).label || provider.name,\n description: (provider as any).description || '',\n envVar: provider.apiKeyEnvVar,\n connected: isProviderConnected(id),\n docUrl: provider.docUrl,\n models: [...provider.models], // Convert readonly array to regular array\n };\n });\n return { providers };\n } catch (error) {\n return handleError(error, 'Error fetching providers');\n }\n },\n});\n\nexport const GENERATE_AGENT_VNEXT_ROUTE: ServerRoute<\n z.infer<typeof agentIdPathParams> & z.infer<typeof agentExecutionBodySchema>,\n unknown\n> = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/generate/vnext',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: generateResponseSchema,\n summary: 'Generate a response from an agent',\n description: 'Generate a response from an agent',\n tags: ['Agents'],\n handler: GENERATE_AGENT_ROUTE.handler,\n});\n\nexport const STREAM_GENERATE_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream agent response',\n description: 'Executes an agent with the provided messages and streams the response in real-time',\n tags: ['Agents'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const { messages, ...rest } = params;\n validateBody({ messages });\n\n const streamResult = await agent.stream<unknown>(messages, {\n ...rest,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const STREAM_GENERATE_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/vnext',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream a response from an agent',\n description: '[DEPRECATED] This endpoint is deprecated. Please use /stream instead.',\n tags: ['Agents'],\n deprecated: true,\n handler: STREAM_GENERATE_ROUTE.handler,\n});\n\nexport const APPROVE_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/approve-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: approveToolCallBodySchema,\n responseSchema: toolCallResponseSchema,\n summary: 'Approve tool call',\n description: 'Approves a pending tool call and continues agent execution',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.approveToolCall({\n ...params,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error approving tool call');\n }\n },\n});\n\nexport const DECLINE_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/decline-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: declineToolCallBodySchema,\n responseSchema: toolCallResponseSchema,\n summary: 'Decline tool call',\n description: 'Declines a pending tool call and continues agent execution without executing the tool',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, abortSignal, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n if (!params.toolCallId) {\n throw new HTTPException(400, { message: 'Tool call id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.declineToolCall({\n ...params,\n abortSignal,\n });\n\n return streamResult.fullStream;\n } catch (error) {\n return handleError(error, 'error declining tool call');\n }\n },\n});\n\nexport const STREAM_NETWORK_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/network',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream agent network',\n description: 'Executes an agent network with multiple agents and streams the response',\n tags: ['Agents'],\n handler: async ({ mastra, messages, agentId, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n validateBody({ messages });\n\n const streamResult = await agent.network(messages, {\n ...params,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent loop response');\n }\n },\n});\n\nexport const APPROVE_NETWORK_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/approve-network-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: approveNetworkToolCallBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Approve network tool call',\n description: 'Approves a pending network tool call and continues network agent execution',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.approveNetworkToolCall({\n ...params,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error approving network tool call');\n }\n },\n});\n\nexport const DECLINE_NETWORK_TOOL_CALL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/decline-network-tool-call',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n pathParamSchema: agentIdPathParams,\n bodySchema: declineNetworkToolCallBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Decline network tool call',\n description: 'Declines a pending network tool call and continues network agent execution without executing the tool',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, ...params }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n if (!params.runId) {\n throw new HTTPException(400, { message: 'Run id is required' });\n }\n\n // UI Frameworks may send \"client tools\" in the body,\n // but it interferes with llm providers tool handling, so we remove them\n sanitizeBody(params, ['tools']);\n\n const streamResult = await agent.declineNetworkToolCall({\n ...params,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error declining network tool call');\n }\n },\n});\n\nexport const UPDATE_AGENT_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/model',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: updateAgentModelBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Update agent model',\n description: 'Updates the AI model used by the agent',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, modelId, provider }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // Use the universal Mastra router format: provider/model\n const newModel = `${provider}/${modelId}`;\n\n agent.__updateModel({ model: newModel });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n },\n});\n\nexport const RESET_AGENT_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/model/reset',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: modelManagementResponseSchema,\n summary: 'Reset agent model',\n description: 'Resets the agent model to its original configuration',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n agent.__resetToOriginalModel();\n\n return { message: 'Agent model reset to original' };\n } catch (error) {\n return handleError(error, 'error resetting agent model');\n }\n },\n});\n\nexport const REORDER_AGENT_MODEL_LIST_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/models/reorder',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: reorderAgentModelListBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Reorder agent model list',\n description: 'Reorders the model list for agents with multiple model configurations',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, reorderedModelIds }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n agent.reorderModels(reorderedModelIds);\n\n return { message: 'Model list reordered' };\n } catch (error) {\n return handleError(error, 'error reordering model list');\n }\n },\n});\n\nexport const UPDATE_AGENT_MODEL_IN_MODEL_LIST_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/models/:modelConfigId',\n responseType: 'json',\n pathParamSchema: modelConfigIdPathParams,\n bodySchema: updateAgentModelInModelListBodySchema,\n responseSchema: modelManagementResponseSchema,\n summary: 'Update model in model list',\n description: 'Updates a specific model configuration in the agent model list',\n tags: ['Agents', 'Models'],\n handler: async ({ mastra, agentId, modelConfigId, model: bodyModel, maxRetries, enabled }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n const modelList = await agent.getModelList();\n if (!modelList || modelList.length === 0) {\n throw new HTTPException(400, { message: 'Agent model list is not found or empty' });\n }\n\n const modelConfig = modelList.find(config => config.id === modelConfigId);\n if (!modelConfig) {\n throw new HTTPException(404, { message: `Model config with id ${modelConfigId} not found` });\n }\n\n const newModel =\n bodyModel?.modelId && bodyModel?.provider ? `${bodyModel.provider}/${bodyModel.modelId}` : modelConfig.model;\n\n const updated = {\n ...modelConfig,\n model: newModel,\n ...(maxRetries !== undefined ? { maxRetries } : {}),\n ...(enabled !== undefined ? { enabled } : {}),\n };\n\n agent.updateModelInModelList(updated);\n\n return { message: 'Model updated in model list' };\n } catch (error) {\n return handleError(error, 'error updating model in model list');\n }\n },\n});\n\nconst ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS = `You are an expert system prompt engineer, specialized in analyzing and enhancing instructions to create clear, effective, and comprehensive system prompts. Your goal is to help users transform their basic instructions into well-structured system prompts that will guide AI behavior effectively.\n\nFollow these steps to analyze and enhance the instructions:\n\n1. ANALYSIS PHASE\n- Identify the core purpose and goals\n- Extract key constraints and requirements\n- Recognize domain-specific terminology and concepts\n- Note any implicit assumptions that should be made explicit\n\n2. PROMPT STRUCTURE\nCreate a system prompt with these components:\na) ROLE DEFINITION\n - Clear statement of the AI's role and purpose\n - Key responsibilities and scope\n - Primary stakeholders and users\nb) CORE CAPABILITIES\n - Main functions and abilities\n - Specific domain knowledge required\n - Tools and resources available\nc) BEHAVIORAL GUIDELINES\n - Communication style and tone\n - Decision-making framework\n - Error handling approach\n - Ethical considerations\nd) CONSTRAINTS & BOUNDARIES\n - Explicit limitations\n - Out-of-scope activities\n - Security and privacy considerations\ne) SUCCESS CRITERIA\n - Quality standards\n - Expected outcomes\n - Performance metrics\n\n3. QUALITY CHECKS\nEnsure the prompt is:\n- Clear and unambiguous\n- Comprehensive yet concise\n- Properly scoped\n- Technically accurate\n- Ethically sound\n\n4. OUTPUT FORMAT\nReturn a structured response with:\n- Enhanced system prompt\n- Analysis of key components\n- Identified goals and constraints\n- Core domain concepts\n\nRemember: A good system prompt should be specific enough to guide behavior but flexible enough to handle edge cases. Focus on creating prompts that are clear, actionable, and aligned with the intended use case.`;\n\n// Helper to find the first model with a connected provider\nasync function findConnectedModel(agent: Agent): Promise<Awaited<ReturnType<Agent['getModel']>> | null> {\n const modelList = await agent.getModelList();\n\n if (modelList && modelList.length > 0) {\n // Find the first enabled model with a connected provider\n for (const modelConfig of modelList) {\n if (modelConfig.enabled !== false) {\n const model = modelConfig.model;\n if (isProviderConnected(model.provider)) {\n return model;\n }\n }\n }\n return null;\n }\n\n // No model list, check the default model\n const defaultModel = await agent.getModel();\n if (isProviderConnected(defaultModel.provider)) {\n return defaultModel;\n }\n return null;\n}\n\ntype EnhanceInstructionsResponse = z.infer<typeof enhanceInstructionsResponseSchema>;\n\nexport const ENHANCE_INSTRUCTIONS_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/instructions/enhance',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: enhanceInstructionsBodySchema,\n responseSchema: enhanceInstructionsResponseSchema,\n summary: 'Enhance agent instructions',\n description: 'Uses AI to enhance or modify agent instructions based on user feedback',\n tags: ['Agents'],\n handler: async ({ mastra, agentId, instructions, comment }) => {\n try {\n const agent = await getAgentFromSystem({ mastra, agentId });\n\n // Find the first model with a connected provider (similar to how chat works)\n const model = await findConnectedModel(agent);\n if (!model) {\n throw new HTTPException(400, {\n message:\n 'No model with a configured API key found. Please set the required environment variable for your model provider.',\n });\n }\n\n const systemPromptAgent = new Agent({\n id: 'system-prompt-enhancer',\n name: 'system-prompt-enhancer',\n instructions: ENHANCE_SYSTEM_PROMPT_INSTRUCTIONS,\n model,\n });\n\n const result = await systemPromptAgent.generate(\n `We need to improve the system prompt.\nCurrent: ${instructions}\n${comment ? `User feedback: ${comment}` : ''}`,\n {\n structuredOutput: {\n schema: enhanceInstructionsResponseSchema,\n },\n },\n );\n\n return (await result.object) as unknown as EnhanceInstructionsResponse;\n } catch (error) {\n return handleError(error, 'Error enhancing instructions');\n }\n },\n});\n\nexport const STREAM_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/streamVNext',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream a response from an agent',\n description: '[DEPRECATED] This endpoint is deprecated. Please use /stream instead.',\n tags: ['Agents'],\n deprecated: true,\n handler: async () => {\n throw new HTTPException(410, { message: 'This endpoint is deprecated. Please use /stream instead.' });\n },\n});\n\nexport const STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/vnext/ui',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream UI messages from an agent',\n description:\n '[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations',\n tags: ['Agents'],\n deprecated: true,\n handler: async () => {\n try {\n throw new MastraError({\n category: ErrorCategory.USER,\n domain: ErrorDomain.MASTRA_SERVER,\n id: 'DEPRECATED_ENDPOINT',\n text: 'This endpoint is deprecated. Please use the @mastra/ai-sdk package to for uiMessage transformations',\n });\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n },\n});\n\nexport const STREAM_UI_MESSAGE_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/stream/ui',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: agentExecutionBodySchema,\n responseSchema: streamResponseSchema,\n summary: 'Stream UI messages from an agent',\n description:\n '[DEPRECATED] This endpoint is deprecated. Please use the @mastra/ai-sdk package for uiMessage transformations',\n tags: ['Agents'],\n deprecated: true,\n handler: STREAM_UI_MESSAGE_VNEXT_DEPRECATED_ROUTE.handler,\n});\n"]}
|