@mastra/mcp-docs-server 1.0.0-beta.1 → 1.0.0-beta.10
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/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -15
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -7
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -55
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +250 -50
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +393 -193
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +234 -34
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Freact.md +128 -1
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +244 -44
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
- package/.docs/organized/changelogs/create-mastra.md +201 -1
- package/.docs/organized/changelogs/mastra.md +201 -1
- package/.docs/organized/code-examples/agui.md +1 -0
- package/.docs/organized/code-examples/ai-elements.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -2
- package/.docs/organized/code-examples/assistant-ui.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +2 -2
- package/.docs/organized/code-examples/client-side-tools.md +1 -1
- package/.docs/organized/code-examples/crypto-chatbot.md +2 -2
- package/.docs/organized/code-examples/fireworks-r1.md +1 -1
- package/.docs/organized/code-examples/heads-up-game.md +1 -1
- package/.docs/organized/code-examples/mcp-configuration.md +0 -3
- package/.docs/organized/code-examples/mcp-server-adapters.md +720 -0
- package/.docs/organized/code-examples/memory-per-resource-example.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +1 -1
- package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
- package/.docs/organized/code-examples/quick-start.md +2 -2
- package/.docs/organized/code-examples/server-app-access.md +342 -0
- package/.docs/organized/code-examples/server-express-adapter.md +87 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
- package/.docs/organized/code-examples/stock-price-tool.md +1 -21
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +56 -10
- package/.docs/raw/agents/agent-approval.mdx +189 -0
- package/.docs/raw/agents/agent-memory.mdx +1 -1
- package/.docs/raw/agents/guardrails.mdx +27 -24
- package/.docs/raw/agents/networks.mdx +3 -3
- package/.docs/raw/agents/overview.mdx +18 -167
- package/.docs/raw/agents/processors.mdx +279 -0
- package/.docs/raw/agents/structured-output.mdx +224 -0
- package/.docs/raw/agents/using-tools.mdx +14 -14
- package/.docs/raw/auth/auth0.mdx +1 -1
- package/.docs/raw/auth/clerk.mdx +1 -1
- package/.docs/raw/auth/firebase.mdx +1 -1
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +1 -1
- package/.docs/raw/auth/supabase.mdx +1 -1
- package/.docs/raw/auth/workos.mdx +1 -1
- package/.docs/raw/community/contributing-templates.mdx +1 -1
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
- package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
- package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
- package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
- package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
- package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +2 -2
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +2 -2
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +1 -1
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +2 -2
- package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +45 -14
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +1 -1
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
- package/.docs/raw/deployment/monorepo.mdx +3 -3
- package/.docs/raw/deployment/overview.mdx +7 -7
- package/.docs/raw/deployment/web-framework.mdx +6 -6
- package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
- package/.docs/raw/evals/custom-scorers.mdx +4 -6
- package/.docs/raw/evals/overview.mdx +5 -6
- package/.docs/raw/evals/running-in-ci.mdx +2 -4
- package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +6 -80
- package/.docs/raw/getting-started/mcp-docs-server.mdx +6 -6
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +72 -0
- package/.docs/raw/getting-started/studio.mdx +8 -6
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
- package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +71 -19
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +24 -26
- package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
- package/.docs/raw/guides/{quickstarts/nextjs.mdx → getting-started/next-js.mdx} +26 -25
- package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +24 -26
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +7 -7
- package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
- package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +2 -2
- package/.docs/raw/guides/guide/research-assistant.mdx +7 -8
- package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
- package/.docs/raw/guides/guide/web-search.mdx +12 -10
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
- package/.docs/raw/guides/index.mdx +3 -35
- package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +51 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +27 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +25 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +68 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +174 -1
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
- package/.docs/raw/index.mdx +3 -3
- package/.docs/raw/mcp/overview.mdx +358 -0
- package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
- package/.docs/raw/memory/conversation-history.mdx +1 -1
- package/.docs/raw/memory/memory-processors.mdx +265 -80
- package/.docs/raw/memory/overview.mdx +2 -2
- package/.docs/raw/memory/semantic-recall.mdx +9 -9
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +3 -8
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
- package/.docs/raw/memory/storage/memory-with-pg.mdx +3 -8
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +3 -8
- package/.docs/raw/memory/threads-and-resources.mdx +4 -4
- package/.docs/raw/memory/working-memory.mdx +16 -8
- package/.docs/raw/{logging.mdx → observability/logging.mdx} +7 -7
- package/.docs/raw/observability/overview.mdx +3 -4
- package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
- package/.docs/raw/observability/tracing/exporters/arize.mdx +37 -1
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +20 -1
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +2 -2
- package/.docs/raw/observability/tracing/exporters/default.mdx +1 -1
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +84 -1
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +13 -1
- package/.docs/raw/observability/tracing/exporters/otel.mdx +123 -25
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
- package/.docs/raw/observability/tracing/overview.mdx +80 -9
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +1 -2
- package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
- package/.docs/raw/rag/overview.mdx +4 -3
- package/.docs/raw/rag/retrieval.mdx +44 -39
- package/.docs/raw/rag/vector-databases.mdx +94 -3
- package/.docs/raw/reference/agents/agent.mdx +8 -12
- package/.docs/raw/reference/agents/generate.mdx +67 -99
- package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
- package/.docs/raw/reference/agents/getLLM.mdx +2 -2
- package/.docs/raw/reference/agents/getMemory.mdx +1 -1
- package/.docs/raw/reference/agents/getModel.mdx +1 -1
- package/.docs/raw/reference/agents/getTools.mdx +69 -0
- package/.docs/raw/reference/agents/getVoice.mdx +1 -1
- package/.docs/raw/reference/agents/listAgents.mdx +1 -1
- package/.docs/raw/reference/agents/listScorers.mdx +1 -1
- package/.docs/raw/reference/agents/listTools.mdx +2 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/agents/network.mdx +33 -72
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
- package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
- package/.docs/raw/reference/auth/auth0.mdx +1 -1
- package/.docs/raw/reference/auth/clerk.mdx +1 -1
- package/.docs/raw/reference/auth/firebase.mdx +1 -1
- package/.docs/raw/reference/auth/jwt.mdx +1 -1
- package/.docs/raw/reference/auth/supabase.mdx +1 -1
- package/.docs/raw/reference/auth/workos.mdx +1 -1
- package/.docs/raw/reference/cli/create-mastra.mdx +1 -1
- package/.docs/raw/reference/cli/mastra.mdx +19 -6
- package/.docs/raw/reference/client-js/agents.mdx +252 -68
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +4 -4
- package/.docs/raw/reference/client-js/memory.mdx +48 -2
- package/.docs/raw/reference/client-js/observability.mdx +1 -1
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +93 -64
- package/.docs/raw/reference/core/addGateway.mdx +59 -0
- package/.docs/raw/reference/core/getAgent.mdx +1 -1
- package/.docs/raw/reference/core/getAgentById.mdx +1 -1
- package/.docs/raw/reference/core/getDeployer.mdx +1 -1
- package/.docs/raw/reference/core/getGateway.mdx +59 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
- package/.docs/raw/reference/core/getLogger.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServer.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServerById.mdx +2 -2
- package/.docs/raw/reference/core/getMemory.mdx +73 -0
- package/.docs/raw/reference/core/getScorer.mdx +1 -1
- package/.docs/raw/reference/core/getScorerById.mdx +1 -1
- package/.docs/raw/reference/core/getServer.mdx +2 -2
- package/.docs/raw/reference/core/getStorage.mdx +1 -1
- package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
- package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
- package/.docs/raw/reference/core/getVector.mdx +1 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listGateways.mdx +53 -0
- package/.docs/raw/reference/core/listLogs.mdx +2 -2
- package/.docs/raw/reference/core/listLogsByRunId.mdx +2 -2
- package/.docs/raw/reference/core/listMCPServers.mdx +2 -2
- package/.docs/raw/reference/core/listMemory.mdx +70 -0
- package/.docs/raw/reference/core/listScorers.mdx +1 -1
- package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/mastra-class.mdx +17 -1
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
- package/.docs/raw/reference/core/setLogger.mdx +2 -2
- package/.docs/raw/reference/core/setStorage.mdx +1 -1
- package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
- package/.docs/raw/reference/deployer/deployer.mdx +1 -1
- package/.docs/raw/reference/deployer/netlify.mdx +2 -3
- package/.docs/raw/reference/deployer/vercel.mdx +1 -1
- package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
- package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
- package/.docs/raw/reference/evals/bias.mdx +30 -88
- package/.docs/raw/reference/evals/completeness.mdx +32 -91
- package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
- package/.docs/raw/reference/evals/context-precision.mdx +29 -131
- package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
- package/.docs/raw/reference/evals/create-scorer.mdx +1 -1
- package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
- package/.docs/raw/reference/evals/hallucination.mdx +29 -104
- package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
- package/.docs/raw/reference/evals/mastra-scorer.mdx +1 -1
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
- package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
- package/.docs/raw/reference/evals/run-evals.mdx +1 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
- package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
- package/.docs/raw/reference/evals/toxicity.mdx +30 -93
- package/.docs/raw/reference/index.mdx +1 -0
- package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +1 -1
- package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
- package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
- package/.docs/raw/reference/memory/memory-class.mdx +6 -8
- package/.docs/raw/reference/memory/query.mdx +1 -1
- package/.docs/raw/reference/memory/recall.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +1 -5
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +30 -1
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +1 -5
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +30 -5
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/spans.mdx +1 -5
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
- package/.docs/raw/reference/processors/language-detector.mdx +11 -4
- package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
- package/.docs/raw/reference/processors/moderation-processor.mdx +13 -6
- package/.docs/raw/reference/processors/pii-detector.mdx +13 -6
- package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +11 -4
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +4 -5
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +3 -3
- package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
- package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
- package/.docs/raw/reference/rag/chunk.mdx +1 -1
- package/.docs/raw/reference/rag/database-config.mdx +1 -1
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +6 -6
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +1 -1
- package/.docs/raw/reference/rag/rerank.mdx +2 -3
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
- package/.docs/raw/reference/server/create-route.mdx +328 -0
- package/.docs/raw/reference/server/express-adapter.mdx +260 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
- package/.docs/raw/reference/server/mastra-server.mdx +345 -0
- package/.docs/raw/reference/server/routes.mdx +250 -0
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +38 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/convex.mdx +164 -0
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +34 -1
- package/.docs/raw/reference/storage/libsql.mdx +38 -1
- package/.docs/raw/reference/storage/mongodb.mdx +40 -1
- package/.docs/raw/reference/storage/mssql.mdx +38 -1
- package/.docs/raw/reference/storage/postgresql.mdx +38 -1
- package/.docs/raw/reference/storage/upstash.mdx +1 -1
- package/.docs/raw/reference/streaming/ChunkType.mdx +2 -2
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +68 -95
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
- package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
- package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
- package/.docs/raw/reference/templates/overview.mdx +2 -5
- package/.docs/raw/reference/tools/client.mdx +2 -3
- package/.docs/raw/reference/tools/create-tool.mdx +135 -4
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
- package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
- package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
- package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +82 -2
- package/.docs/raw/reference/vectors/convex.mdx +429 -0
- package/.docs/raw/reference/vectors/couchbase.mdx +25 -18
- package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
- package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
- package/.docs/raw/reference/vectors/lance.mdx +39 -23
- package/.docs/raw/reference/vectors/libsql.mdx +36 -3
- package/.docs/raw/reference/vectors/mongodb.mdx +36 -3
- package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
- package/.docs/raw/reference/vectors/pg.mdx +44 -37
- package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
- package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
- package/.docs/raw/reference/vectors/s3vectors.mdx +1 -1
- package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
- package/.docs/raw/reference/vectors/upstash.mdx +1 -1
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +96 -81
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
- package/.docs/raw/reference/voice/google.mdx +160 -21
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +3 -3
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -4
- package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
- package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
- package/.docs/raw/reference/voice/voice.close.mdx +2 -2
- package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
- package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
- package/.docs/raw/reference/voice/voice.off.mdx +2 -2
- package/.docs/raw/reference/voice/voice.on.mdx +2 -2
- package/.docs/raw/reference/voice/voice.send.mdx +2 -2
- package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
- package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
- package/.docs/raw/reference/workflows/run.mdx +28 -6
- package/.docs/raw/reference/workflows/step.mdx +65 -1
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow.mdx +21 -2
- package/.docs/raw/server-db/custom-adapters.mdx +386 -0
- package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
- package/.docs/raw/server-db/mastra-client.mdx +3 -4
- package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +16 -8
- package/.docs/raw/server-db/middleware.mdx +31 -31
- package/.docs/raw/server-db/request-context.mdx +3 -4
- package/.docs/raw/server-db/server-adapters.mdx +312 -0
- package/.docs/raw/server-db/storage.mdx +12 -1
- package/.docs/raw/streaming/events.mdx +1 -1
- package/.docs/raw/streaming/overview.mdx +27 -16
- package/.docs/raw/streaming/tool-streaming.mdx +58 -19
- package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
- package/.docs/raw/tools-mcp/mcp-overview.mdx +4 -6
- package/.docs/raw/tools-mcp/overview.mdx +1 -1
- package/.docs/raw/voice/overview.mdx +88 -41
- package/.docs/raw/voice/speech-to-speech.mdx +5 -5
- package/.docs/raw/voice/speech-to-text.mdx +2 -3
- package/.docs/raw/voice/text-to-speech.mdx +2 -3
- package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
- package/.docs/raw/workflows/control-flow.mdx +186 -1
- package/.docs/raw/workflows/error-handling.mdx +5 -4
- package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
- package/.docs/raw/workflows/inngest-workflow.mdx +1 -1
- package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
- package/.docs/raw/workflows/overview.mdx +67 -47
- package/.docs/raw/workflows/snapshots.mdx +5 -3
- package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
- package/.docs/raw/workflows/time-travel.mdx +313 -0
- package/.docs/raw/workflows/workflow-state.mdx +190 -0
- package/CHANGELOG.md +81 -0
- package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
- package/dist/prepare-docs/package-changes.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/stdio.js +17 -19
- package/package.json +11 -15
- package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
- package/.docs/raw/getting-started/templates.mdx +0 -73
- package/.docs/raw/mastra-cloud/observability.mdx +0 -51
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Metadata Filters | RAG
|
|
2
|
+
title: "Reference: Metadata Filters | RAG"
|
|
3
3
|
description: Documentation for metadata filtering capabilities in Mastra, which allow for precise querying of vector search results across different vector stores.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: rerank() | RAG
|
|
2
|
+
title: "Reference: rerank() | RAG"
|
|
3
3
|
description: Documentation for the rerank function in Mastra, which provides advanced reranking capabilities for vector search results.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -19,10 +19,9 @@ function rerank(
|
|
|
19
19
|
## Usage Example
|
|
20
20
|
|
|
21
21
|
```typescript
|
|
22
|
-
import { openai } from "@ai-sdk/openai";
|
|
23
22
|
import { rerank } from "@mastra/rag";
|
|
24
23
|
|
|
25
|
-
const model = openai
|
|
24
|
+
const model = "openai/gpt-5.1";
|
|
26
25
|
|
|
27
26
|
const rerankedResults = await rerank(
|
|
28
27
|
vectorSearchResults,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: rerankWithScorer() | RAG
|
|
2
|
+
title: "Reference: rerankWithScorer() | RAG"
|
|
3
3
|
description: Documentation for the rerank function in Mastra, which provides advanced reranking capabilities for vector search results.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -19,7 +19,6 @@ function rerankWithScorer({
|
|
|
19
19
|
## Usage Example
|
|
20
20
|
|
|
21
21
|
```typescript
|
|
22
|
-
import { openai } from "@ai-sdk/openai";
|
|
23
22
|
import { rerankWithScorer as rerank, CohereRelevanceScorer } from "@mastra/rag";
|
|
24
23
|
|
|
25
24
|
const scorer = new CohereRelevanceScorer("rerank-v3.5");
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: createRoute() | Server"
|
|
3
|
+
description: "API reference for createRoute() function used to define type-safe routes with validation and OpenAPI generation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import PropertiesTable from "@site/src/components/PropertiesTable";
|
|
7
|
+
|
|
8
|
+
# createRoute()
|
|
9
|
+
|
|
10
|
+
The `createRoute()` function creates type-safe routes with Zod validation. When an `openapiPath` is configured on the server adapter, it generates OpenAPI schema entries from the supplied Zod schemas.
|
|
11
|
+
|
|
12
|
+
## Import
|
|
13
|
+
|
|
14
|
+
```typescript copy
|
|
15
|
+
import { createRoute } from '@mastra/server/server-adapter';
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Signature
|
|
19
|
+
|
|
20
|
+
```typescript copy
|
|
21
|
+
function createRoute<TPath, TQuery, TBody, TResponse, TResponseType>(
|
|
22
|
+
config: RouteConfig<TPath, TQuery, TBody, TResponse, TResponseType>
|
|
23
|
+
): ServerRoute
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Parameters
|
|
27
|
+
|
|
28
|
+
<PropertiesTable
|
|
29
|
+
content={[
|
|
30
|
+
{
|
|
31
|
+
name: "method",
|
|
32
|
+
type: "'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'ALL'",
|
|
33
|
+
description: "HTTP method",
|
|
34
|
+
isOptional: false,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: "path",
|
|
38
|
+
type: "string",
|
|
39
|
+
description: "Route path with optional params (e.g., `/api/items/:id`)",
|
|
40
|
+
isOptional: false,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "responseType",
|
|
44
|
+
type: "'json' | 'stream'",
|
|
45
|
+
description: "Response format. Internal routes may use additional types (`datastream-response`, `mcp-http`, `mcp-sse`).",
|
|
46
|
+
isOptional: false,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "handler",
|
|
50
|
+
type: "ServerRouteHandler",
|
|
51
|
+
description: "Route handler function",
|
|
52
|
+
isOptional: false,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "pathParamSchema",
|
|
56
|
+
type: "ZodSchema",
|
|
57
|
+
description: "Validates URL path parameters",
|
|
58
|
+
isOptional: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "queryParamSchema",
|
|
62
|
+
type: "ZodSchema",
|
|
63
|
+
description: "Validates query string parameters",
|
|
64
|
+
isOptional: true,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "bodySchema",
|
|
68
|
+
type: "ZodSchema",
|
|
69
|
+
description: "Validates request body",
|
|
70
|
+
isOptional: true,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "responseSchema",
|
|
74
|
+
type: "ZodSchema",
|
|
75
|
+
description: "Documents response shape for OpenAPI",
|
|
76
|
+
isOptional: true,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: "streamFormat",
|
|
80
|
+
type: "'sse' | 'stream'",
|
|
81
|
+
description: "Stream format (when responseType is 'stream')",
|
|
82
|
+
isOptional: true,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "maxBodySize",
|
|
86
|
+
type: "number",
|
|
87
|
+
description: "Override default body size limit in bytes",
|
|
88
|
+
isOptional: true,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: "summary",
|
|
92
|
+
type: "string",
|
|
93
|
+
description: "OpenAPI summary",
|
|
94
|
+
isOptional: true,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: "description",
|
|
98
|
+
type: "string",
|
|
99
|
+
description: "OpenAPI description",
|
|
100
|
+
isOptional: true,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: "tags",
|
|
104
|
+
type: "string[]",
|
|
105
|
+
description: "OpenAPI tags",
|
|
106
|
+
isOptional: true,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "deprecated",
|
|
110
|
+
type: "boolean",
|
|
111
|
+
description: "Mark route as deprecated",
|
|
112
|
+
isOptional: true,
|
|
113
|
+
},
|
|
114
|
+
]}
|
|
115
|
+
/>
|
|
116
|
+
|
|
117
|
+
## Handler parameters
|
|
118
|
+
|
|
119
|
+
The handler receives validated parameters plus runtime context:
|
|
120
|
+
|
|
121
|
+
```typescript copy showLineNumbers
|
|
122
|
+
handler: async (params) => {
|
|
123
|
+
// From schemas (typed from Zod)
|
|
124
|
+
params.id; // From pathParamSchema
|
|
125
|
+
params.filter; // From queryParamSchema
|
|
126
|
+
params.name; // From bodySchema
|
|
127
|
+
|
|
128
|
+
// Runtime context (always available)
|
|
129
|
+
params.mastra; // Mastra instance
|
|
130
|
+
params.requestContext; // Request-scoped context
|
|
131
|
+
params.tools; // Available tools
|
|
132
|
+
params.abortSignal; // Request cancellation signal
|
|
133
|
+
params.taskStore; // A2A task storage
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Return value
|
|
138
|
+
|
|
139
|
+
Returns a `ServerRoute` object that can be registered with an adapter.
|
|
140
|
+
|
|
141
|
+
## Examples
|
|
142
|
+
|
|
143
|
+
### GET route with path params
|
|
144
|
+
|
|
145
|
+
```typescript copy showLineNumbers
|
|
146
|
+
import { createRoute } from '@mastra/server/server-adapter';
|
|
147
|
+
import { z } from 'zod';
|
|
148
|
+
|
|
149
|
+
const getAgent = createRoute({
|
|
150
|
+
method: 'GET',
|
|
151
|
+
path: '/api/agents/:agentId',
|
|
152
|
+
responseType: 'json',
|
|
153
|
+
pathParamSchema: z.object({
|
|
154
|
+
agentId: z.string(),
|
|
155
|
+
}),
|
|
156
|
+
responseSchema: z.object({
|
|
157
|
+
name: z.string(),
|
|
158
|
+
description: z.string().optional(),
|
|
159
|
+
}),
|
|
160
|
+
summary: 'Get agent by ID',
|
|
161
|
+
tags: ['Agents'],
|
|
162
|
+
handler: async ({ agentId, mastra }) => {
|
|
163
|
+
return mastra.getAgent(agentId);
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### POST route with body
|
|
169
|
+
|
|
170
|
+
```typescript copy showLineNumbers
|
|
171
|
+
const createItem = createRoute({
|
|
172
|
+
method: 'POST',
|
|
173
|
+
path: '/api/items',
|
|
174
|
+
responseType: 'json',
|
|
175
|
+
bodySchema: z.object({
|
|
176
|
+
name: z.string(),
|
|
177
|
+
value: z.number(),
|
|
178
|
+
}),
|
|
179
|
+
responseSchema: z.object({
|
|
180
|
+
id: z.string(),
|
|
181
|
+
name: z.string(),
|
|
182
|
+
value: z.number(),
|
|
183
|
+
}),
|
|
184
|
+
handler: async ({ name, value, mastra }) => {
|
|
185
|
+
// name and value are typed from bodySchema
|
|
186
|
+
return { id: 'new-id', name, value };
|
|
187
|
+
},
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Query params with coercion
|
|
192
|
+
|
|
193
|
+
```typescript copy showLineNumbers
|
|
194
|
+
const listItems = createRoute({
|
|
195
|
+
method: 'GET',
|
|
196
|
+
path: '/api/items',
|
|
197
|
+
responseType: 'json',
|
|
198
|
+
queryParamSchema: z.object({
|
|
199
|
+
page: z.coerce.number().default(0),
|
|
200
|
+
limit: z.coerce.number().default(50),
|
|
201
|
+
enabled: z.coerce.boolean().optional(),
|
|
202
|
+
}),
|
|
203
|
+
handler: async ({ page, limit, enabled, mastra }) => {
|
|
204
|
+
// page, limit, enabled are typed and coerced
|
|
205
|
+
return { items: [], page, limit };
|
|
206
|
+
},
|
|
207
|
+
});
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Streaming route
|
|
211
|
+
|
|
212
|
+
```typescript copy showLineNumbers
|
|
213
|
+
const streamAgent = createRoute({
|
|
214
|
+
method: 'POST',
|
|
215
|
+
path: '/api/agents/:agentId/stream',
|
|
216
|
+
responseType: 'stream',
|
|
217
|
+
streamFormat: 'sse',
|
|
218
|
+
pathParamSchema: z.object({
|
|
219
|
+
agentId: z.string(),
|
|
220
|
+
}),
|
|
221
|
+
bodySchema: z.object({
|
|
222
|
+
messages: z.array(z.any()),
|
|
223
|
+
}),
|
|
224
|
+
handler: async ({ agentId, messages, mastra, abortSignal }) => {
|
|
225
|
+
const agent = mastra.getAgent(agentId);
|
|
226
|
+
return agent.stream({ messages, abortSignal });
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Custom body size limit
|
|
232
|
+
|
|
233
|
+
```typescript copy showLineNumbers
|
|
234
|
+
const uploadRoute = createRoute({
|
|
235
|
+
method: 'POST',
|
|
236
|
+
path: '/api/upload',
|
|
237
|
+
responseType: 'json',
|
|
238
|
+
maxBodySize: 50 * 1024 * 1024, // 50MB
|
|
239
|
+
bodySchema: z.object({
|
|
240
|
+
file: z.string(),
|
|
241
|
+
}),
|
|
242
|
+
handler: async ({ file }) => {
|
|
243
|
+
return { uploaded: true };
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## Schema patterns
|
|
249
|
+
|
|
250
|
+
### Passthrough for extensibility
|
|
251
|
+
|
|
252
|
+
```typescript copy
|
|
253
|
+
const bodySchema = z.object({
|
|
254
|
+
required: z.string(),
|
|
255
|
+
}).passthrough(); // Allow unknown fields
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Date coercion
|
|
259
|
+
|
|
260
|
+
```typescript copy
|
|
261
|
+
const querySchema = z.object({
|
|
262
|
+
fromDate: z.coerce.date().optional(),
|
|
263
|
+
toDate: z.coerce.date().optional(),
|
|
264
|
+
});
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Union types
|
|
268
|
+
|
|
269
|
+
```typescript copy
|
|
270
|
+
const bodySchema = z.object({
|
|
271
|
+
messages: z.union([
|
|
272
|
+
z.array(z.any()),
|
|
273
|
+
z.string(),
|
|
274
|
+
]),
|
|
275
|
+
});
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Error handling
|
|
279
|
+
|
|
280
|
+
Throw an error with a `status` property to return specific HTTP status codes from handlers. If using Hono, you can use `HTTPException` from `hono/http-exception`:
|
|
281
|
+
|
|
282
|
+
```typescript copy showLineNumbers
|
|
283
|
+
import { createRoute } from '@mastra/server/server-adapter';
|
|
284
|
+
import { HTTPException } from 'hono/http-exception';
|
|
285
|
+
|
|
286
|
+
const getAgent = createRoute({
|
|
287
|
+
method: 'GET',
|
|
288
|
+
path: '/api/agents/:agentId',
|
|
289
|
+
responseType: 'json',
|
|
290
|
+
pathParamSchema: z.object({ agentId: z.string() }),
|
|
291
|
+
handler: async ({ agentId, mastra }) => {
|
|
292
|
+
const agent = mastra.getAgent(agentId);
|
|
293
|
+
if (!agent) {
|
|
294
|
+
throw new HTTPException(404, { message: `Agent '${agentId}' not found` });
|
|
295
|
+
}
|
|
296
|
+
return agent;
|
|
297
|
+
},
|
|
298
|
+
});
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
For Express or framework-agnostic code, throw an error with a `status` property:
|
|
302
|
+
|
|
303
|
+
```typescript copy showLineNumbers
|
|
304
|
+
class HttpError extends Error {
|
|
305
|
+
constructor(public status: number, message: string) {
|
|
306
|
+
super(message);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// In handler:
|
|
311
|
+
throw new HttpError(404, `Agent '${agentId}' not found`);
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Common status codes:
|
|
315
|
+
|
|
316
|
+
| Code | Meaning |
|
|
317
|
+
|------|---------|
|
|
318
|
+
| 400 | Bad Request |
|
|
319
|
+
| 401 | Unauthorized |
|
|
320
|
+
| 403 | Forbidden |
|
|
321
|
+
| 404 | Not Found |
|
|
322
|
+
| 500 | Internal Server Error |
|
|
323
|
+
|
|
324
|
+
## Related
|
|
325
|
+
|
|
326
|
+
- [Server Routes](/reference/v1/server/routes) - Default Mastra routes
|
|
327
|
+
- [MastraServer](/reference/v1/server/mastra-server) - Server adapter class
|
|
328
|
+
- [Server Adapters](/docs/v1/server-db/server-adapters) - Using adapters
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: Express Adapter | Server"
|
|
3
|
+
description: "API reference for the @mastra/express server adapter."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import Steps from "@site/src/components/Steps";
|
|
7
|
+
import StepItem from "@site/src/components/StepItem";
|
|
8
|
+
import PropertiesTable from "@site/src/components/PropertiesTable";
|
|
9
|
+
|
|
10
|
+
# Express Adapter
|
|
11
|
+
|
|
12
|
+
The `@mastra/express` package provides a server adapter for running Mastra with [Express](https://expressjs.com).
|
|
13
|
+
|
|
14
|
+
:::info
|
|
15
|
+
|
|
16
|
+
For general adapter concepts (constructor options, initialization flow, etc.), see [Server Adapters](/docs/v1/server-db/server-adapters).
|
|
17
|
+
|
|
18
|
+
:::
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
<Steps>
|
|
23
|
+
|
|
24
|
+
<StepItem>
|
|
25
|
+
|
|
26
|
+
Install the Express adapter and Express framework:
|
|
27
|
+
|
|
28
|
+
```bash copy
|
|
29
|
+
npm install @mastra/express express
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
</StepItem>
|
|
33
|
+
|
|
34
|
+
<StepItem>
|
|
35
|
+
|
|
36
|
+
Create your server file:
|
|
37
|
+
|
|
38
|
+
```typescript title="server.ts" copy
|
|
39
|
+
import express from 'express';
|
|
40
|
+
import { MastraServer } from '@mastra/express';
|
|
41
|
+
import { mastra } from './mastra';
|
|
42
|
+
|
|
43
|
+
const app = express();
|
|
44
|
+
app.use(express.json()); // Required for body parsing
|
|
45
|
+
|
|
46
|
+
const server = new MastraServer({ app, mastra });
|
|
47
|
+
await server.init();
|
|
48
|
+
|
|
49
|
+
app.listen(4111, () => {
|
|
50
|
+
console.log('Server running on port 4111');
|
|
51
|
+
});
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
</StepItem>
|
|
55
|
+
|
|
56
|
+
</Steps>
|
|
57
|
+
|
|
58
|
+
:::note
|
|
59
|
+
|
|
60
|
+
Express requires `express.json()` middleware for JSON body parsing. Add it before creating the `MastraServer`.
|
|
61
|
+
|
|
62
|
+
:::
|
|
63
|
+
|
|
64
|
+
## Full example
|
|
65
|
+
|
|
66
|
+
```typescript title="server.ts" copy
|
|
67
|
+
import express from 'express';
|
|
68
|
+
import { MastraServer } from '@mastra/express';
|
|
69
|
+
import { mastra } from './mastra';
|
|
70
|
+
|
|
71
|
+
const app = express();
|
|
72
|
+
app.use(express.json());
|
|
73
|
+
|
|
74
|
+
const server = new MastraServer({
|
|
75
|
+
app,
|
|
76
|
+
mastra,
|
|
77
|
+
prefix: '/api/v2',
|
|
78
|
+
openapiPath: '/openapi.json',
|
|
79
|
+
bodyLimitOptions: {
|
|
80
|
+
maxSize: 10 * 1024 * 1024, // 10MB
|
|
81
|
+
onError: (err) => ({ error: 'Payload too large', maxSize: '10MB' }),
|
|
82
|
+
},
|
|
83
|
+
streamOptions: { redact: true },
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
await server.init();
|
|
87
|
+
|
|
88
|
+
app.listen(4111);
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Constructor parameters
|
|
92
|
+
|
|
93
|
+
<PropertiesTable
|
|
94
|
+
content={[
|
|
95
|
+
{
|
|
96
|
+
name: "app",
|
|
97
|
+
type: "Application",
|
|
98
|
+
description: "Express app instance",
|
|
99
|
+
isOptional: false,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: "mastra",
|
|
103
|
+
type: "Mastra",
|
|
104
|
+
description: "Mastra instance",
|
|
105
|
+
isOptional: false,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: "prefix",
|
|
109
|
+
type: "string",
|
|
110
|
+
description: "Route path prefix (e.g., `/api/v2`)",
|
|
111
|
+
isOptional: true,
|
|
112
|
+
defaultValue: "''",
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: "openapiPath",
|
|
116
|
+
type: "string",
|
|
117
|
+
description: "Path to serve OpenAPI spec (e.g., `/openapi.json`)",
|
|
118
|
+
isOptional: true,
|
|
119
|
+
defaultValue: "''",
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: "bodyLimitOptions",
|
|
123
|
+
type: "{ maxSize: number, onError: (err) => unknown }",
|
|
124
|
+
description: "Request body size limits",
|
|
125
|
+
isOptional: true,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: "streamOptions",
|
|
129
|
+
type: "{ redact?: boolean }",
|
|
130
|
+
description: "Stream redaction config. When true, redacts sensitive data from streams.",
|
|
131
|
+
isOptional: true,
|
|
132
|
+
defaultValue: "{ redact: true }",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: "customRouteAuthConfig",
|
|
136
|
+
type: "Map<string, boolean>",
|
|
137
|
+
description: "Per-route auth overrides. Keys are `METHOD:PATH` (e.g., `GET:/api/health`). Value `false` makes route public, `true` requires auth.",
|
|
138
|
+
isOptional: true,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: "tools",
|
|
142
|
+
type: "Record<string, Tool>",
|
|
143
|
+
description: "Available tools for the server",
|
|
144
|
+
isOptional: true,
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: "taskStore",
|
|
148
|
+
type: "InMemoryTaskStore",
|
|
149
|
+
description: "Task store for A2A (Agent-to-Agent) operations",
|
|
150
|
+
isOptional: true,
|
|
151
|
+
},
|
|
152
|
+
]}
|
|
153
|
+
/>
|
|
154
|
+
|
|
155
|
+
## Differences from Hono
|
|
156
|
+
|
|
157
|
+
| Aspect | Express | Hono |
|
|
158
|
+
|--------|---------|------|
|
|
159
|
+
| Body parsing | Requires `express.json()` | Handled by framework |
|
|
160
|
+
| Context storage | `res.locals` | `c.get()` / `c.set()` |
|
|
161
|
+
| Middleware signature | `(req, res, next)` | `(c, next)` |
|
|
162
|
+
| Streaming | `res.write()` / `res.end()` | `stream()` helper |
|
|
163
|
+
| AbortSignal | Created from `req.on('close')` | `c.req.raw.signal` |
|
|
164
|
+
|
|
165
|
+
## Adding custom routes
|
|
166
|
+
|
|
167
|
+
Add routes directly to the Express app:
|
|
168
|
+
|
|
169
|
+
```typescript title="server.ts" copy
|
|
170
|
+
const app = express();
|
|
171
|
+
app.use(express.json());
|
|
172
|
+
|
|
173
|
+
const server = new MastraServer({ app, mastra });
|
|
174
|
+
|
|
175
|
+
// Before init - runs before Mastra middleware
|
|
176
|
+
app.get('/early-health', (req, res) => res.json({ status: 'ok' }));
|
|
177
|
+
|
|
178
|
+
await server.init();
|
|
179
|
+
|
|
180
|
+
// After init - has access to Mastra context
|
|
181
|
+
app.get('/custom', (req, res) => {
|
|
182
|
+
const mastraInstance = res.locals.mastra;
|
|
183
|
+
res.json({ agents: Object.keys(mastraInstance.listAgents()) });
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
app.listen(4111);
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
:::tip
|
|
190
|
+
|
|
191
|
+
Routes added before `init()` run without Mastra context. Add routes after `init()` to access the Mastra instance and request context.
|
|
192
|
+
|
|
193
|
+
:::
|
|
194
|
+
|
|
195
|
+
## Accessing context
|
|
196
|
+
|
|
197
|
+
In Express middleware and routes, access Mastra context via `res.locals`:
|
|
198
|
+
|
|
199
|
+
```typescript copy
|
|
200
|
+
app.get('/custom', (req, res) => {
|
|
201
|
+
const mastra = res.locals.mastra;
|
|
202
|
+
const requestContext = res.locals.requestContext;
|
|
203
|
+
const abortSignal = res.locals.abortSignal;
|
|
204
|
+
|
|
205
|
+
const agent = mastra.getAgent('myAgent');
|
|
206
|
+
res.json({ agent: agent.name });
|
|
207
|
+
});
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Available properties on `res.locals`:
|
|
211
|
+
|
|
212
|
+
| Key | Description |
|
|
213
|
+
|-----|-------------|
|
|
214
|
+
| `mastra` | Mastra instance |
|
|
215
|
+
| `requestContext` | Request context map |
|
|
216
|
+
| `abortSignal` | Request cancellation signal |
|
|
217
|
+
| `tools` | Available tools |
|
|
218
|
+
| `taskStore` | Task store for A2A operations |
|
|
219
|
+
| `customRouteAuthConfig` | Per-route auth overrides |
|
|
220
|
+
| `user` | Authenticated user (if auth configured) |
|
|
221
|
+
|
|
222
|
+
## Adding middleware
|
|
223
|
+
|
|
224
|
+
Add Express middleware before or after `init()`:
|
|
225
|
+
|
|
226
|
+
```typescript title="server.ts" copy
|
|
227
|
+
const app = express();
|
|
228
|
+
app.use(express.json());
|
|
229
|
+
|
|
230
|
+
// Middleware before init
|
|
231
|
+
app.use((req, res, next) => {
|
|
232
|
+
console.log(`${req.method} ${req.url}`);
|
|
233
|
+
next();
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
const server = new MastraServer({ app, mastra });
|
|
237
|
+
await server.init();
|
|
238
|
+
|
|
239
|
+
// Middleware after init has access to Mastra context
|
|
240
|
+
app.use((req, res, next) => {
|
|
241
|
+
const mastra = res.locals.mastra;
|
|
242
|
+
// ...
|
|
243
|
+
next();
|
|
244
|
+
});
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Manual initialization
|
|
248
|
+
|
|
249
|
+
For custom middleware ordering, call each method separately instead of `init()`. See [Server Adapters: Manual initialization](/docs/v1/server-db/server-adapters#manual-initialization) for details.
|
|
250
|
+
|
|
251
|
+
## Examples
|
|
252
|
+
|
|
253
|
+
- [Express Adapter](https://github.com/mastra-ai/mastra/tree/main/examples/server-express-adapter) - Basic Express server setup
|
|
254
|
+
|
|
255
|
+
## Related
|
|
256
|
+
|
|
257
|
+
- [Server Adapters](/docs/v1/server-db/server-adapters) - Shared adapter concepts
|
|
258
|
+
- [Hono Adapter](/reference/v1/server/hono-adapter) - Alternative adapter
|
|
259
|
+
- [MastraServer Reference](/reference/v1/server/mastra-server) - Full API reference
|
|
260
|
+
- [createRoute() Reference](/reference/v1/server/create-route) - Creating type-safe custom routes
|