@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
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: Hono Adapter | Server"
|
|
3
|
+
description: "API reference for the @mastra/hono 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
|
+
# Hono Adapter
|
|
11
|
+
|
|
12
|
+
The `@mastra/hono` package provides a server adapter for running Mastra with [Hono](https://hono.dev).
|
|
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 Hono adapter and Hono framework:
|
|
27
|
+
|
|
28
|
+
```bash copy
|
|
29
|
+
npm install @mastra/hono hono
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
</StepItem>
|
|
33
|
+
|
|
34
|
+
<StepItem>
|
|
35
|
+
|
|
36
|
+
Create your server file:
|
|
37
|
+
|
|
38
|
+
```typescript title="server.ts" copy
|
|
39
|
+
import { Hono } from 'hono';
|
|
40
|
+
import { HonoBindings, HonoVariables, MastraServer } from '@mastra/hono';
|
|
41
|
+
import { mastra } from './mastra';
|
|
42
|
+
|
|
43
|
+
const app = new Hono<{ Bindings: HonoBindings; Variables: HonoVariables }>();
|
|
44
|
+
const server = new MastraServer({ app, mastra });
|
|
45
|
+
|
|
46
|
+
await server.init();
|
|
47
|
+
|
|
48
|
+
export default app;
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
</StepItem>
|
|
52
|
+
|
|
53
|
+
</Steps>
|
|
54
|
+
|
|
55
|
+
## Full example
|
|
56
|
+
|
|
57
|
+
```typescript title="server.ts" copy
|
|
58
|
+
import { Hono } from 'hono';
|
|
59
|
+
import { HonoBindings, HonoVariables, MastraServer } from '@mastra/hono';
|
|
60
|
+
import { mastra } from './mastra';
|
|
61
|
+
|
|
62
|
+
const app = new Hono<{ Bindings: HonoBindings; Variables: HonoVariables }>();
|
|
63
|
+
|
|
64
|
+
const server = new MastraServer({
|
|
65
|
+
app,
|
|
66
|
+
mastra,
|
|
67
|
+
prefix: '/api/v2',
|
|
68
|
+
openapiPath: '/openapi.json',
|
|
69
|
+
bodyLimitOptions: {
|
|
70
|
+
maxSize: 10 * 1024 * 1024, // 10MB
|
|
71
|
+
onError: (err) => ({ error: 'Payload too large', maxSize: '10MB' }),
|
|
72
|
+
},
|
|
73
|
+
streamOptions: { redact: true },
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
await server.init();
|
|
77
|
+
|
|
78
|
+
export default app;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Constructor parameters
|
|
82
|
+
|
|
83
|
+
<PropertiesTable
|
|
84
|
+
content={[
|
|
85
|
+
{
|
|
86
|
+
name: "app",
|
|
87
|
+
type: "Hono",
|
|
88
|
+
description: "Hono app instance",
|
|
89
|
+
isOptional: false,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: "mastra",
|
|
93
|
+
type: "Mastra",
|
|
94
|
+
description: "Mastra instance",
|
|
95
|
+
isOptional: false,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: "prefix",
|
|
99
|
+
type: "string",
|
|
100
|
+
description: "Route path prefix (e.g., `/api/v2`)",
|
|
101
|
+
isOptional: true,
|
|
102
|
+
defaultValue: "''",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "openapiPath",
|
|
106
|
+
type: "string",
|
|
107
|
+
description: "Path to serve OpenAPI spec (e.g., `/openapi.json`)",
|
|
108
|
+
isOptional: true,
|
|
109
|
+
defaultValue: "''",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: "bodyLimitOptions",
|
|
113
|
+
type: "{ maxSize: number, onError: (err) => unknown }",
|
|
114
|
+
description: "Request body size limits",
|
|
115
|
+
isOptional: true,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: "streamOptions",
|
|
119
|
+
type: "{ redact?: boolean }",
|
|
120
|
+
description: "Stream redaction config. When true, redacts sensitive data from streams.",
|
|
121
|
+
isOptional: true,
|
|
122
|
+
defaultValue: "{ redact: true }",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "customRouteAuthConfig",
|
|
126
|
+
type: "Map<string, boolean>",
|
|
127
|
+
description: "Per-route auth overrides. Keys are `METHOD:PATH` (e.g., `GET:/api/health`). Value `false` makes route public, `true` requires auth.",
|
|
128
|
+
isOptional: true,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
name: "tools",
|
|
132
|
+
type: "Record<string, Tool>",
|
|
133
|
+
description: "Available tools for the server",
|
|
134
|
+
isOptional: true,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: "taskStore",
|
|
138
|
+
type: "InMemoryTaskStore",
|
|
139
|
+
description: "Task store for A2A (Agent-to-Agent) operations",
|
|
140
|
+
isOptional: true,
|
|
141
|
+
},
|
|
142
|
+
]}
|
|
143
|
+
/>
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
## Adding custom routes
|
|
147
|
+
|
|
148
|
+
Add routes directly to the Hono app:
|
|
149
|
+
|
|
150
|
+
```typescript title="server.ts" copy
|
|
151
|
+
import { Hono } from 'hono';
|
|
152
|
+
import { HonoBindings, HonoVariables, MastraServer } from '@mastra/hono';
|
|
153
|
+
|
|
154
|
+
const app = new Hono<{ Bindings: HonoBindings; Variables: HonoVariables }>();
|
|
155
|
+
const server = new MastraServer({ app, mastra });
|
|
156
|
+
|
|
157
|
+
// Before init - runs before Mastra middleware
|
|
158
|
+
app.get('/early-health', (c) => c.json({ status: 'ok' }));
|
|
159
|
+
|
|
160
|
+
await server.init();
|
|
161
|
+
|
|
162
|
+
// After init - has access to Mastra context
|
|
163
|
+
app.get('/custom', (c) => {
|
|
164
|
+
const mastraInstance = c.get('mastra');
|
|
165
|
+
return c.json({ agents: Object.keys(mastraInstance.listAgents()) });
|
|
166
|
+
});
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
:::tip
|
|
170
|
+
|
|
171
|
+
Routes added before `init()` run without Mastra context. Add routes after `init()` to access the Mastra instance and request context.
|
|
172
|
+
|
|
173
|
+
:::
|
|
174
|
+
|
|
175
|
+
## Accessing context
|
|
176
|
+
|
|
177
|
+
In Hono middleware and route handlers, access Mastra context via `c.get()`:
|
|
178
|
+
|
|
179
|
+
```typescript copy
|
|
180
|
+
app.get('/custom', async (c) => {
|
|
181
|
+
const mastra = c.get('mastra');
|
|
182
|
+
const requestContext = c.get('requestContext');
|
|
183
|
+
const abortSignal = c.get('abortSignal');
|
|
184
|
+
|
|
185
|
+
const agent = mastra.getAgent('myAgent');
|
|
186
|
+
return c.json({ agent: agent.name });
|
|
187
|
+
});
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Available context keys:
|
|
191
|
+
|
|
192
|
+
| Key | Description |
|
|
193
|
+
|-----|-------------|
|
|
194
|
+
| `mastra` | Mastra instance |
|
|
195
|
+
| `requestContext` | Request context map |
|
|
196
|
+
| `abortSignal` | Request cancellation signal |
|
|
197
|
+
| `tools` | Available tools |
|
|
198
|
+
| `taskStore` | Task store for A2A operations |
|
|
199
|
+
| `customRouteAuthConfig` | Per-route auth overrides |
|
|
200
|
+
| `user` | Authenticated user (if auth configured) |
|
|
201
|
+
|
|
202
|
+
## Adding middleware
|
|
203
|
+
|
|
204
|
+
Add Hono middleware before or after `init()`:
|
|
205
|
+
|
|
206
|
+
```typescript title="server.ts" copy
|
|
207
|
+
import { Hono } from 'hono';
|
|
208
|
+
import { HonoBindings, HonoVariables, MastraServer } from '@mastra/hono';
|
|
209
|
+
|
|
210
|
+
const app = new Hono<{ Bindings: HonoBindings; Variables: HonoVariables }>();
|
|
211
|
+
|
|
212
|
+
// Middleware before init
|
|
213
|
+
app.use('*', async (c, next) => {
|
|
214
|
+
console.log(`${c.req.method} ${c.req.url}`);
|
|
215
|
+
await next();
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
const server = new MastraServer({ app, mastra });
|
|
219
|
+
await server.init();
|
|
220
|
+
|
|
221
|
+
// Middleware after init has access to Mastra context
|
|
222
|
+
app.use('*', async (c, next) => {
|
|
223
|
+
const mastra = c.get('mastra');
|
|
224
|
+
// ...
|
|
225
|
+
await next();
|
|
226
|
+
});
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Manual initialization
|
|
230
|
+
|
|
231
|
+
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.
|
|
232
|
+
|
|
233
|
+
## Examples
|
|
234
|
+
|
|
235
|
+
- [Hono Adapter](https://github.com/mastra-ai/mastra/tree/main/examples/server-hono-adapter) - Basic Hono server setup
|
|
236
|
+
|
|
237
|
+
## Related
|
|
238
|
+
|
|
239
|
+
- [Server Adapters](/docs/v1/server-db/server-adapters) - Shared adapter concepts
|
|
240
|
+
- [Express Adapter](/reference/v1/server/express-adapter) - Alternative adapter
|
|
241
|
+
- [MastraServer Reference](/reference/v1/server/mastra-server) - Full API reference
|
|
242
|
+
- [createRoute() Reference](/reference/v1/server/create-route) - Creating type-safe custom routes
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: MastraServer | Server"
|
|
3
|
+
description: "API reference for the MastraServer abstract class used to create server adapters."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import PropertiesTable from "@site/src/components/PropertiesTable";
|
|
7
|
+
|
|
8
|
+
# MastraServer
|
|
9
|
+
|
|
10
|
+
The `MastraServer` abstract class is the base for all server adapters. Extend this class to create adapters for frameworks other than Hono or Express.
|
|
11
|
+
|
|
12
|
+
## Import
|
|
13
|
+
|
|
14
|
+
```typescript copy
|
|
15
|
+
import { MastraServer } from '@mastra/server/server-adapter';
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Type parameters
|
|
19
|
+
|
|
20
|
+
```typescript copy
|
|
21
|
+
MastraServer<TApp, TRequest, TResponse>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
| Parameter | Description |
|
|
25
|
+
|-----------|-------------|
|
|
26
|
+
| `TApp` | Framework app type (e.g., `Hono`, `Application`) |
|
|
27
|
+
| `TRequest` | Framework request type |
|
|
28
|
+
| `TResponse` | Framework response/context type |
|
|
29
|
+
|
|
30
|
+
## Constructor
|
|
31
|
+
|
|
32
|
+
```typescript copy
|
|
33
|
+
constructor(options: MastraServerOptions<TApp>)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Options
|
|
37
|
+
|
|
38
|
+
<PropertiesTable
|
|
39
|
+
content={[
|
|
40
|
+
{
|
|
41
|
+
name: "app",
|
|
42
|
+
type: "TApp",
|
|
43
|
+
description: "Framework app instance",
|
|
44
|
+
isOptional: false,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "mastra",
|
|
48
|
+
type: "Mastra",
|
|
49
|
+
description: "Mastra instance",
|
|
50
|
+
isOptional: false,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "prefix",
|
|
54
|
+
type: "string",
|
|
55
|
+
description: "Route path prefix (e.g., `/api/v2`)",
|
|
56
|
+
isOptional: true,
|
|
57
|
+
defaultValue: "''",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "openapiPath",
|
|
61
|
+
type: "string",
|
|
62
|
+
description: "Path to serve OpenAPI spec",
|
|
63
|
+
isOptional: true,
|
|
64
|
+
defaultValue: "''",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "bodyLimitOptions",
|
|
68
|
+
type: "BodyLimitOptions",
|
|
69
|
+
description: "Request body size limits",
|
|
70
|
+
isOptional: true,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "streamOptions",
|
|
74
|
+
type: "StreamOptions",
|
|
75
|
+
description: "Stream redaction config",
|
|
76
|
+
isOptional: true,
|
|
77
|
+
defaultValue: "{ redact: true }",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "customRouteAuthConfig",
|
|
81
|
+
type: "Map<string, boolean>",
|
|
82
|
+
description: "Per-route auth overrides",
|
|
83
|
+
isOptional: true,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: "tools",
|
|
87
|
+
type: "Record<string, Tool>",
|
|
88
|
+
description: "Available tools for the server",
|
|
89
|
+
isOptional: true,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: "taskStore",
|
|
93
|
+
type: "InMemoryTaskStore",
|
|
94
|
+
description: "Task store for A2A (Agent-to-Agent) operations",
|
|
95
|
+
isOptional: true,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: "playground",
|
|
99
|
+
type: "boolean",
|
|
100
|
+
description: "Can be read to set context values in adapters implementing the MastraServer",
|
|
101
|
+
isOptional: true,
|
|
102
|
+
defaultValue: "false",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "isDev",
|
|
106
|
+
type: "boolean",
|
|
107
|
+
description: "Development mode flag",
|
|
108
|
+
isOptional: true,
|
|
109
|
+
defaultValue: "false",
|
|
110
|
+
},
|
|
111
|
+
]}
|
|
112
|
+
/>
|
|
113
|
+
|
|
114
|
+
## Abstract methods
|
|
115
|
+
|
|
116
|
+
These methods must be implemented by adapters:
|
|
117
|
+
|
|
118
|
+
### registerContextMiddleware()
|
|
119
|
+
|
|
120
|
+
Attach Mastra context to every request.
|
|
121
|
+
|
|
122
|
+
```typescript copy
|
|
123
|
+
abstract registerContextMiddleware(): void
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Context to attach:**
|
|
127
|
+
- `mastra` - Mastra instance
|
|
128
|
+
- `requestContext` - Request-scoped context
|
|
129
|
+
- `tools` - Available tools
|
|
130
|
+
- `abortSignal` - Request cancellation signal
|
|
131
|
+
|
|
132
|
+
### registerAuthMiddleware()
|
|
133
|
+
|
|
134
|
+
Register authentication and authorization middleware.
|
|
135
|
+
|
|
136
|
+
```typescript copy
|
|
137
|
+
abstract registerAuthMiddleware(): void
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### registerRoute()
|
|
141
|
+
|
|
142
|
+
Register a single route with the framework.
|
|
143
|
+
|
|
144
|
+
```typescript copy
|
|
145
|
+
abstract registerRoute(
|
|
146
|
+
app: TApp,
|
|
147
|
+
route: ServerRoute,
|
|
148
|
+
options: { prefix?: string }
|
|
149
|
+
): Promise<void>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### getParams()
|
|
153
|
+
|
|
154
|
+
Extract parameters from the request.
|
|
155
|
+
|
|
156
|
+
```typescript copy
|
|
157
|
+
abstract getParams(
|
|
158
|
+
route: ServerRoute,
|
|
159
|
+
request: TRequest
|
|
160
|
+
): Promise<{
|
|
161
|
+
urlParams: Record<string, string>;
|
|
162
|
+
queryParams: Record<string, string>;
|
|
163
|
+
body: unknown;
|
|
164
|
+
}>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### sendResponse()
|
|
168
|
+
|
|
169
|
+
Send response based on route type.
|
|
170
|
+
|
|
171
|
+
```typescript copy
|
|
172
|
+
abstract sendResponse(
|
|
173
|
+
route: ServerRoute,
|
|
174
|
+
response: TResponse,
|
|
175
|
+
result: unknown
|
|
176
|
+
): Promise<unknown>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### stream()
|
|
180
|
+
|
|
181
|
+
Handle streaming responses.
|
|
182
|
+
|
|
183
|
+
```typescript copy
|
|
184
|
+
abstract stream(
|
|
185
|
+
route: ServerRoute,
|
|
186
|
+
response: TResponse,
|
|
187
|
+
result: unknown
|
|
188
|
+
): Promise<unknown>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Instance methods
|
|
192
|
+
|
|
193
|
+
### init()
|
|
194
|
+
|
|
195
|
+
Initialize the server by registering all middleware and routes.
|
|
196
|
+
|
|
197
|
+
```typescript copy
|
|
198
|
+
async init(): Promise<void>
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Calls in order:
|
|
202
|
+
1. `registerContextMiddleware()`
|
|
203
|
+
2. `registerAuthMiddleware()`
|
|
204
|
+
3. `registerRoutes()`
|
|
205
|
+
|
|
206
|
+
### registerRoutes()
|
|
207
|
+
|
|
208
|
+
Register all Mastra routes.
|
|
209
|
+
|
|
210
|
+
```typescript copy
|
|
211
|
+
async registerRoutes(): Promise<void>
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### getApp()
|
|
215
|
+
|
|
216
|
+
Get the framework app instance.
|
|
217
|
+
|
|
218
|
+
```typescript copy
|
|
219
|
+
getApp<T = TApp>(): T
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### parsePathParams()
|
|
223
|
+
|
|
224
|
+
Validate path parameters with the route's Zod schema.
|
|
225
|
+
|
|
226
|
+
```typescript copy
|
|
227
|
+
async parsePathParams(
|
|
228
|
+
route: ServerRoute,
|
|
229
|
+
params: Record<string, string>
|
|
230
|
+
): Promise<Record<string, unknown>>
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### parseQueryParams()
|
|
234
|
+
|
|
235
|
+
Validate query parameters with the route's Zod schema.
|
|
236
|
+
|
|
237
|
+
```typescript copy
|
|
238
|
+
async parseQueryParams(
|
|
239
|
+
route: ServerRoute,
|
|
240
|
+
params: Record<string, string>
|
|
241
|
+
): Promise<Record<string, unknown>>
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### parseBody()
|
|
245
|
+
|
|
246
|
+
Validate request body with the route's Zod schema.
|
|
247
|
+
|
|
248
|
+
```typescript copy
|
|
249
|
+
async parseBody(
|
|
250
|
+
route: ServerRoute,
|
|
251
|
+
body: unknown
|
|
252
|
+
): Promise<unknown>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### registerOpenAPIRoute()
|
|
256
|
+
|
|
257
|
+
Register an endpoint that serves the OpenAPI specification.
|
|
258
|
+
|
|
259
|
+
```typescript copy
|
|
260
|
+
async registerOpenAPIRoute(
|
|
261
|
+
app: TApp,
|
|
262
|
+
config: OpenAPIConfig,
|
|
263
|
+
options: { prefix?: string }
|
|
264
|
+
): Promise<void>
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Protected methods
|
|
268
|
+
|
|
269
|
+
### mergeRequestContext()
|
|
270
|
+
|
|
271
|
+
Merge request context from multiple sources (query params and body).
|
|
272
|
+
|
|
273
|
+
```typescript copy
|
|
274
|
+
protected mergeRequestContext(options: {
|
|
275
|
+
paramsRequestContext?: Record<string, any>;
|
|
276
|
+
bodyRequestContext?: Record<string, any>;
|
|
277
|
+
}): RequestContext
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## Types
|
|
281
|
+
|
|
282
|
+
### BodyLimitOptions
|
|
283
|
+
|
|
284
|
+
```typescript copy
|
|
285
|
+
interface BodyLimitOptions {
|
|
286
|
+
maxSize: number;
|
|
287
|
+
onError: (error: unknown) => unknown;
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### StreamOptions
|
|
292
|
+
|
|
293
|
+
```typescript copy
|
|
294
|
+
interface StreamOptions {
|
|
295
|
+
redact?: boolean;
|
|
296
|
+
}
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
## Example
|
|
300
|
+
|
|
301
|
+
```typescript copy
|
|
302
|
+
import { MastraServer, ServerRoute } from '@mastra/server/server-adapter';
|
|
303
|
+
import type { Mastra } from '@mastra/core';
|
|
304
|
+
|
|
305
|
+
export class MyServer extends MastraServer<MyApp, MyRequest, MyResponse> {
|
|
306
|
+
registerContextMiddleware(): void {
|
|
307
|
+
this.app.use('*', (req, res, next) => {
|
|
308
|
+
res.locals.mastra = this.mastra;
|
|
309
|
+
next();
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
registerAuthMiddleware(): void {
|
|
314
|
+
const auth = this.mastra.getServer()?.auth;
|
|
315
|
+
if (!auth) return;
|
|
316
|
+
// Implement auth
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
async registerRoute(app, route, { prefix }) {
|
|
320
|
+
// Implement route registration
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
async getParams(route, request) {
|
|
324
|
+
return {
|
|
325
|
+
urlParams: request.params,
|
|
326
|
+
queryParams: request.query,
|
|
327
|
+
body: request.body,
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
async sendResponse(route, response, result) {
|
|
332
|
+
return response.json(result);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
async stream(route, response, result) {
|
|
336
|
+
// Implement streaming
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Related
|
|
342
|
+
|
|
343
|
+
- [Server Adapters](/docs/v1/server-db/server-adapters) - Using adapters
|
|
344
|
+
- [Custom Adapters](/docs/v1/server-db/custom-adapters) - Creating custom adapters
|
|
345
|
+
- [createRoute()](/reference/v1/server/create-route) - Creating custom routes
|