@mastra/mcp-docs-server 1.1.5 → 1.1.6-alpha.0
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/docs/agents/adding-voice.md +349 -0
- package/.docs/docs/agents/agent-approval.md +558 -0
- package/.docs/docs/agents/agent-memory.md +209 -0
- package/.docs/docs/agents/guardrails.md +374 -0
- package/.docs/docs/agents/network-approval.md +275 -0
- package/.docs/docs/agents/networks.md +299 -0
- package/.docs/docs/agents/overview.md +304 -0
- package/.docs/docs/agents/processors.md +622 -0
- package/.docs/docs/agents/structured-output.md +273 -0
- package/.docs/docs/agents/supervisor-agents.md +304 -0
- package/.docs/docs/agents/using-tools.md +214 -0
- package/.docs/docs/build-with-ai/mcp-docs-server.md +238 -0
- package/.docs/docs/build-with-ai/skills.md +35 -0
- package/.docs/docs/community/contributing-templates.md +3 -0
- package/.docs/docs/community/discord.md +9 -0
- package/.docs/docs/community/licensing.md +66 -0
- package/.docs/docs/deployment/cloud-providers.md +15 -0
- package/.docs/docs/deployment/mastra-server.md +122 -0
- package/.docs/docs/deployment/monorepo.md +142 -0
- package/.docs/docs/deployment/overview.md +62 -0
- package/.docs/docs/deployment/studio.md +239 -0
- package/.docs/docs/deployment/web-framework.md +52 -0
- package/.docs/docs/deployment/workflow-runners.md +9 -0
- package/.docs/docs/evals/built-in-scorers.md +47 -0
- package/.docs/docs/evals/custom-scorers.md +519 -0
- package/.docs/docs/evals/overview.md +141 -0
- package/.docs/docs/evals/running-in-ci.md +124 -0
- package/.docs/docs/getting-started/build-with-ai.md +68 -0
- package/.docs/docs/getting-started/manual-install.md +226 -0
- package/.docs/docs/getting-started/project-structure.md +60 -0
- package/.docs/docs/getting-started/start.md +28 -0
- package/.docs/docs/getting-started/studio.md +101 -0
- package/.docs/docs/index.md +43 -0
- package/.docs/docs/mastra-cloud/deployment.md +77 -0
- package/.docs/docs/mastra-cloud/observability.md +38 -0
- package/.docs/docs/mastra-cloud/overview.md +23 -0
- package/.docs/docs/mastra-cloud/setup.md +42 -0
- package/.docs/docs/mastra-cloud/studio.md +24 -0
- package/.docs/docs/mastra-code/configuration.md +299 -0
- package/.docs/docs/mastra-code/customization.md +228 -0
- package/.docs/docs/mastra-code/modes.md +104 -0
- package/.docs/docs/mastra-code/overview.md +135 -0
- package/.docs/docs/mastra-code/tools.md +229 -0
- package/.docs/docs/mcp/overview.md +373 -0
- package/.docs/docs/mcp/publishing-mcp-server.md +95 -0
- package/.docs/docs/memory/memory-processors.md +314 -0
- package/.docs/docs/memory/message-history.md +260 -0
- package/.docs/docs/memory/observational-memory.md +248 -0
- package/.docs/docs/memory/overview.md +45 -0
- package/.docs/docs/memory/semantic-recall.md +272 -0
- package/.docs/docs/memory/storage.md +261 -0
- package/.docs/docs/memory/working-memory.md +400 -0
- package/.docs/docs/observability/datasets/overview.md +198 -0
- package/.docs/docs/observability/datasets/running-experiments.md +274 -0
- package/.docs/docs/observability/logging.md +99 -0
- package/.docs/docs/observability/overview.md +70 -0
- package/.docs/docs/observability/tracing/bridges/otel.md +209 -0
- package/.docs/docs/observability/tracing/exporters/arize.md +272 -0
- package/.docs/docs/observability/tracing/exporters/braintrust.md +111 -0
- package/.docs/docs/observability/tracing/exporters/cloud.md +127 -0
- package/.docs/docs/observability/tracing/exporters/datadog.md +187 -0
- package/.docs/docs/observability/tracing/exporters/default.md +209 -0
- package/.docs/docs/observability/tracing/exporters/laminar.md +100 -0
- package/.docs/docs/observability/tracing/exporters/langfuse.md +213 -0
- package/.docs/docs/observability/tracing/exporters/langsmith.md +198 -0
- package/.docs/docs/observability/tracing/exporters/otel.md +476 -0
- package/.docs/docs/observability/tracing/exporters/posthog.md +148 -0
- package/.docs/docs/observability/tracing/exporters/sentry.md +208 -0
- package/.docs/docs/observability/tracing/overview.md +1112 -0
- package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +300 -0
- package/.docs/docs/rag/chunking-and-embedding.md +183 -0
- package/.docs/docs/rag/graph-rag.md +215 -0
- package/.docs/docs/rag/overview.md +72 -0
- package/.docs/docs/rag/retrieval.md +515 -0
- package/.docs/docs/rag/vector-databases.md +645 -0
- package/.docs/docs/server/auth/auth0.md +220 -0
- package/.docs/docs/server/auth/better-auth.md +203 -0
- package/.docs/docs/server/auth/clerk.md +132 -0
- package/.docs/docs/server/auth/composite-auth.md +234 -0
- package/.docs/docs/server/auth/custom-auth-provider.md +513 -0
- package/.docs/docs/server/auth/firebase.md +272 -0
- package/.docs/docs/server/auth/jwt.md +110 -0
- package/.docs/docs/server/auth/simple-auth.md +180 -0
- package/.docs/docs/server/auth/supabase.md +117 -0
- package/.docs/docs/server/auth/workos.md +186 -0
- package/.docs/docs/server/auth.md +38 -0
- package/.docs/docs/server/custom-adapters.md +378 -0
- package/.docs/docs/server/custom-api-routes.md +267 -0
- package/.docs/docs/server/mastra-client.md +243 -0
- package/.docs/docs/server/mastra-server.md +71 -0
- package/.docs/docs/server/middleware.md +225 -0
- package/.docs/docs/server/request-context.md +471 -0
- package/.docs/docs/server/server-adapters.md +547 -0
- package/.docs/docs/streaming/events.md +237 -0
- package/.docs/docs/streaming/overview.md +175 -0
- package/.docs/docs/streaming/tool-streaming.md +175 -0
- package/.docs/docs/streaming/workflow-streaming.md +109 -0
- package/.docs/docs/voice/overview.md +959 -0
- package/.docs/docs/voice/speech-to-speech.md +102 -0
- package/.docs/docs/voice/speech-to-text.md +79 -0
- package/.docs/docs/voice/text-to-speech.md +83 -0
- package/.docs/docs/workflows/agents-and-tools.md +166 -0
- package/.docs/docs/workflows/control-flow.md +822 -0
- package/.docs/docs/workflows/error-handling.md +360 -0
- package/.docs/docs/workflows/human-in-the-loop.md +215 -0
- package/.docs/docs/workflows/overview.md +370 -0
- package/.docs/docs/workflows/snapshots.md +238 -0
- package/.docs/docs/workflows/suspend-and-resume.md +205 -0
- package/.docs/docs/workflows/time-travel.md +309 -0
- package/.docs/docs/workflows/workflow-state.md +181 -0
- package/.docs/docs/workspace/filesystem.md +164 -0
- package/.docs/docs/workspace/overview.md +239 -0
- package/.docs/docs/workspace/sandbox.md +63 -0
- package/.docs/docs/workspace/search.md +243 -0
- package/.docs/docs/workspace/skills.md +169 -0
- package/.docs/guides/agent-frameworks/ai-sdk.md +140 -0
- package/.docs/guides/build-your-ui/ai-sdk-ui.md +1499 -0
- package/.docs/guides/build-your-ui/assistant-ui.md +156 -0
- package/.docs/guides/build-your-ui/copilotkit.md +289 -0
- package/.docs/guides/deployment/amazon-ec2.md +130 -0
- package/.docs/guides/deployment/aws-lambda.md +248 -0
- package/.docs/guides/deployment/azure-app-services.md +114 -0
- package/.docs/guides/deployment/cloudflare.md +99 -0
- package/.docs/guides/deployment/digital-ocean.md +168 -0
- package/.docs/guides/deployment/inngest.md +682 -0
- package/.docs/guides/deployment/netlify.md +77 -0
- package/.docs/guides/deployment/vercel.md +101 -0
- package/.docs/guides/getting-started/astro.md +398 -0
- package/.docs/guides/getting-started/electron.md +504 -0
- package/.docs/guides/getting-started/express.md +251 -0
- package/.docs/guides/getting-started/hono.md +190 -0
- package/.docs/guides/getting-started/next-js.md +347 -0
- package/.docs/guides/getting-started/nuxt.md +497 -0
- package/.docs/guides/getting-started/quickstart.md +67 -0
- package/.docs/guides/getting-started/sveltekit.md +296 -0
- package/.docs/guides/getting-started/vite-react.md +425 -0
- package/.docs/guides/guide/ai-recruiter.md +226 -0
- package/.docs/guides/guide/chef-michel.md +211 -0
- package/.docs/guides/guide/code-review-bot.md +226 -0
- package/.docs/guides/guide/dev-assistant.md +307 -0
- package/.docs/guides/guide/docs-manager.md +238 -0
- package/.docs/guides/guide/github-actions-pr-description.md +236 -0
- package/.docs/guides/guide/notes-mcp-server.md +416 -0
- package/.docs/guides/guide/research-assistant.md +348 -0
- package/.docs/guides/guide/research-coordinator.md +416 -0
- package/.docs/guides/guide/stock-agent.md +132 -0
- package/.docs/guides/guide/web-search.md +320 -0
- package/.docs/guides/guide/whatsapp-chat-bot.md +405 -0
- package/.docs/guides/index.md +3 -0
- package/.docs/guides/migrations/agentnetwork.md +97 -0
- package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +112 -0
- package/.docs/guides/migrations/network-to-supervisor.md +261 -0
- package/.docs/guides/migrations/upgrade-to-v1/agent.md +404 -0
- package/.docs/guides/migrations/upgrade-to-v1/cli.md +57 -0
- package/.docs/guides/migrations/upgrade-to-v1/client.md +337 -0
- package/.docs/guides/migrations/upgrade-to-v1/deployment.md +37 -0
- package/.docs/guides/migrations/upgrade-to-v1/evals.md +239 -0
- package/.docs/guides/migrations/upgrade-to-v1/mastra.md +143 -0
- package/.docs/guides/migrations/upgrade-to-v1/mcp.md +97 -0
- package/.docs/guides/migrations/upgrade-to-v1/memory.md +285 -0
- package/.docs/guides/migrations/upgrade-to-v1/overview.md +119 -0
- package/.docs/guides/migrations/upgrade-to-v1/processors.md +68 -0
- package/.docs/guides/migrations/upgrade-to-v1/rag.md +42 -0
- package/.docs/guides/migrations/upgrade-to-v1/storage.md +553 -0
- package/.docs/guides/migrations/upgrade-to-v1/tools.md +180 -0
- package/.docs/guides/migrations/upgrade-to-v1/tracing.md +412 -0
- package/.docs/guides/migrations/upgrade-to-v1/vectors.md +87 -0
- package/.docs/guides/migrations/upgrade-to-v1/voice.md +30 -0
- package/.docs/guides/migrations/upgrade-to-v1/workflows.md +341 -0
- package/.docs/guides/migrations/vnext-to-standard-apis.md +362 -0
- package/.docs/models/embeddings.md +161 -0
- package/.docs/models/gateways/azure-openai.md +128 -0
- package/.docs/models/gateways/custom-gateways.md +545 -0
- package/.docs/models/gateways/netlify.md +88 -0
- package/.docs/models/gateways/openrouter.md +219 -0
- package/.docs/models/gateways/vercel.md +225 -0
- package/.docs/models/gateways.md +14 -0
- package/.docs/models/index.md +286 -0
- package/.docs/models/providers/302ai.md +134 -0
- package/.docs/models/providers/abacus.md +125 -0
- package/.docs/models/providers/agentrouter.md +90 -0
- package/.docs/models/providers/aihubmix.md +107 -0
- package/.docs/models/providers/alibaba-cn.md +135 -0
- package/.docs/models/providers/alibaba.md +111 -0
- package/.docs/models/providers/amazon-bedrock.md +33 -0
- package/.docs/models/providers/anthropic.md +153 -0
- package/.docs/models/providers/azure.md +33 -0
- package/.docs/models/providers/bailing.md +72 -0
- package/.docs/models/providers/baseten.md +77 -0
- package/.docs/models/providers/berget.md +78 -0
- package/.docs/models/providers/cerebras.md +101 -0
- package/.docs/models/providers/chutes.md +136 -0
- package/.docs/models/providers/cloudflare-ai-gateway.md +33 -0
- package/.docs/models/providers/cloudflare-workers-ai.md +109 -0
- package/.docs/models/providers/cohere.md +33 -0
- package/.docs/models/providers/cortecs.md +91 -0
- package/.docs/models/providers/deepinfra.md +112 -0
- package/.docs/models/providers/deepseek.md +88 -0
- package/.docs/models/providers/fastrouter.md +84 -0
- package/.docs/models/providers/fireworks-ai.md +89 -0
- package/.docs/models/providers/firmware.md +85 -0
- package/.docs/models/providers/friendli.md +78 -0
- package/.docs/models/providers/github-models.md +125 -0
- package/.docs/models/providers/google-vertex.md +33 -0
- package/.docs/models/providers/google.md +159 -0
- package/.docs/models/providers/groq.md +107 -0
- package/.docs/models/providers/helicone.md +161 -0
- package/.docs/models/providers/huggingface.md +90 -0
- package/.docs/models/providers/iflowcn.md +84 -0
- package/.docs/models/providers/inception.md +72 -0
- package/.docs/models/providers/inference.md +79 -0
- package/.docs/models/providers/io-intelligence.md +87 -0
- package/.docs/models/providers/io-net.md +87 -0
- package/.docs/models/providers/jiekou.md +131 -0
- package/.docs/models/providers/kilo.md +333 -0
- package/.docs/models/providers/kimi-for-coding.md +100 -0
- package/.docs/models/providers/kuae-cloud-coding-plan.md +71 -0
- package/.docs/models/providers/llama.md +77 -0
- package/.docs/models/providers/lmstudio.md +73 -0
- package/.docs/models/providers/lucidquery.md +72 -0
- package/.docs/models/providers/minimax-cn-coding-plan.md +102 -0
- package/.docs/models/providers/minimax-cn.md +102 -0
- package/.docs/models/providers/minimax-coding-plan.md +102 -0
- package/.docs/models/providers/minimax.md +104 -0
- package/.docs/models/providers/mistral.md +124 -0
- package/.docs/models/providers/moark.md +72 -0
- package/.docs/models/providers/modelscope.md +77 -0
- package/.docs/models/providers/moonshotai-cn.md +76 -0
- package/.docs/models/providers/moonshotai.md +76 -0
- package/.docs/models/providers/morph.md +73 -0
- package/.docs/models/providers/nano-gpt.md +103 -0
- package/.docs/models/providers/nebius.md +116 -0
- package/.docs/models/providers/nova.md +72 -0
- package/.docs/models/providers/novita-ai.md +154 -0
- package/.docs/models/providers/nvidia.md +141 -0
- package/.docs/models/providers/ollama-cloud.md +103 -0
- package/.docs/models/providers/ollama.md +33 -0
- package/.docs/models/providers/openai.md +193 -0
- package/.docs/models/providers/opencode.md +100 -0
- package/.docs/models/providers/ovhcloud.md +83 -0
- package/.docs/models/providers/perplexity.md +100 -0
- package/.docs/models/providers/poe.md +183 -0
- package/.docs/models/providers/privatemode-ai.md +75 -0
- package/.docs/models/providers/requesty.md +90 -0
- package/.docs/models/providers/scaleway.md +84 -0
- package/.docs/models/providers/siliconflow-cn.md +138 -0
- package/.docs/models/providers/siliconflow.md +140 -0
- package/.docs/models/providers/stackit.md +78 -0
- package/.docs/models/providers/stepfun.md +73 -0
- package/.docs/models/providers/submodel.md +79 -0
- package/.docs/models/providers/synthetic.md +96 -0
- package/.docs/models/providers/togetherai.md +115 -0
- package/.docs/models/providers/upstage.md +73 -0
- package/.docs/models/providers/venice.md +95 -0
- package/.docs/models/providers/vivgrid.md +106 -0
- package/.docs/models/providers/vultr.md +75 -0
- package/.docs/models/providers/wandb.md +80 -0
- package/.docs/models/providers/xai.md +141 -0
- package/.docs/models/providers/xiaomi.md +71 -0
- package/.docs/models/providers/zai-coding-plan.md +80 -0
- package/.docs/models/providers/zai.md +79 -0
- package/.docs/models/providers/zenmux.md +161 -0
- package/.docs/models/providers/zhipuai-coding-plan.md +79 -0
- package/.docs/models/providers/zhipuai.md +79 -0
- package/.docs/models/providers.md +81 -0
- package/.docs/reference/agents/agent.md +141 -0
- package/.docs/reference/agents/generate.md +186 -0
- package/.docs/reference/agents/generateLegacy.md +173 -0
- package/.docs/reference/agents/getDefaultGenerateOptions.md +36 -0
- package/.docs/reference/agents/getDefaultOptions.md +34 -0
- package/.docs/reference/agents/getDefaultStreamOptions.md +36 -0
- package/.docs/reference/agents/getDescription.md +21 -0
- package/.docs/reference/agents/getInstructions.md +34 -0
- package/.docs/reference/agents/getLLM.md +37 -0
- package/.docs/reference/agents/getMemory.md +34 -0
- package/.docs/reference/agents/getModel.md +34 -0
- package/.docs/reference/agents/getTools.md +29 -0
- package/.docs/reference/agents/getVoice.md +34 -0
- package/.docs/reference/agents/listAgents.md +35 -0
- package/.docs/reference/agents/listScorers.md +34 -0
- package/.docs/reference/agents/listTools.md +34 -0
- package/.docs/reference/agents/listWorkflows.md +34 -0
- package/.docs/reference/agents/network.md +133 -0
- package/.docs/reference/ai-sdk/chat-route.md +82 -0
- package/.docs/reference/ai-sdk/handle-chat-stream.md +53 -0
- package/.docs/reference/ai-sdk/handle-network-stream.md +37 -0
- package/.docs/reference/ai-sdk/handle-workflow-stream.md +55 -0
- package/.docs/reference/ai-sdk/network-route.md +74 -0
- package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +231 -0
- package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +79 -0
- package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +76 -0
- package/.docs/reference/ai-sdk/with-mastra.md +59 -0
- package/.docs/reference/ai-sdk/workflow-route.md +79 -0
- package/.docs/reference/auth/auth0.md +73 -0
- package/.docs/reference/auth/better-auth.md +71 -0
- package/.docs/reference/auth/clerk.md +36 -0
- package/.docs/reference/auth/firebase.md +80 -0
- package/.docs/reference/auth/jwt.md +26 -0
- package/.docs/reference/auth/supabase.md +33 -0
- package/.docs/reference/auth/workos.md +84 -0
- package/.docs/reference/cli/create-mastra.md +137 -0
- package/.docs/reference/cli/mastra.md +336 -0
- package/.docs/reference/client-js/agents.md +437 -0
- package/.docs/reference/client-js/error-handling.md +16 -0
- package/.docs/reference/client-js/logs.md +24 -0
- package/.docs/reference/client-js/mastra-client.md +63 -0
- package/.docs/reference/client-js/memory.md +221 -0
- package/.docs/reference/client-js/observability.md +72 -0
- package/.docs/reference/client-js/telemetry.md +20 -0
- package/.docs/reference/client-js/tools.md +44 -0
- package/.docs/reference/client-js/vectors.md +79 -0
- package/.docs/reference/client-js/workflows.md +199 -0
- package/.docs/reference/configuration.md +752 -0
- package/.docs/reference/core/addGateway.md +42 -0
- package/.docs/reference/core/getAgent.md +21 -0
- package/.docs/reference/core/getAgentById.md +21 -0
- package/.docs/reference/core/getDeployer.md +22 -0
- package/.docs/reference/core/getGateway.md +38 -0
- package/.docs/reference/core/getGatewayById.md +41 -0
- package/.docs/reference/core/getLogger.md +22 -0
- package/.docs/reference/core/getMCPServer.md +47 -0
- package/.docs/reference/core/getMCPServerById.md +55 -0
- package/.docs/reference/core/getMemory.md +50 -0
- package/.docs/reference/core/getScorer.md +54 -0
- package/.docs/reference/core/getScorerById.md +54 -0
- package/.docs/reference/core/getServer.md +22 -0
- package/.docs/reference/core/getStorage.md +22 -0
- package/.docs/reference/core/getStoredAgentById.md +89 -0
- package/.docs/reference/core/getTelemetry.md +22 -0
- package/.docs/reference/core/getVector.md +22 -0
- package/.docs/reference/core/getWorkflow.md +42 -0
- package/.docs/reference/core/listAgents.md +21 -0
- package/.docs/reference/core/listGateways.md +40 -0
- package/.docs/reference/core/listLogs.md +38 -0
- package/.docs/reference/core/listLogsByRunId.md +36 -0
- package/.docs/reference/core/listMCPServers.md +55 -0
- package/.docs/reference/core/listMemory.md +56 -0
- package/.docs/reference/core/listScorers.md +29 -0
- package/.docs/reference/core/listStoredAgents.md +93 -0
- package/.docs/reference/core/listVectors.md +22 -0
- package/.docs/reference/core/listWorkflows.md +21 -0
- package/.docs/reference/core/mastra-class.md +66 -0
- package/.docs/reference/core/mastra-model-gateway.md +153 -0
- package/.docs/reference/core/setLogger.md +26 -0
- package/.docs/reference/core/setStorage.md +27 -0
- package/.docs/reference/datasets/addItem.md +37 -0
- package/.docs/reference/datasets/addItems.md +35 -0
- package/.docs/reference/datasets/compareExperiments.md +52 -0
- package/.docs/reference/datasets/create.md +51 -0
- package/.docs/reference/datasets/dataset.md +82 -0
- package/.docs/reference/datasets/datasets-manager.md +94 -0
- package/.docs/reference/datasets/delete.md +25 -0
- package/.docs/reference/datasets/deleteExperiment.md +27 -0
- package/.docs/reference/datasets/deleteItem.md +27 -0
- package/.docs/reference/datasets/deleteItems.md +29 -0
- package/.docs/reference/datasets/get.md +31 -0
- package/.docs/reference/datasets/getDetails.md +47 -0
- package/.docs/reference/datasets/getExperiment.md +30 -0
- package/.docs/reference/datasets/getItem.md +33 -0
- package/.docs/reference/datasets/getItemHistory.md +31 -0
- package/.docs/reference/datasets/list.md +31 -0
- package/.docs/reference/datasets/listExperimentResults.md +39 -0
- package/.docs/reference/datasets/listExperiments.md +33 -0
- package/.docs/reference/datasets/listItems.md +46 -0
- package/.docs/reference/datasets/listVersions.md +33 -0
- package/.docs/reference/datasets/startExperiment.md +62 -0
- package/.docs/reference/datasets/startExperimentAsync.md +43 -0
- package/.docs/reference/datasets/update.md +48 -0
- package/.docs/reference/datasets/updateItem.md +38 -0
- package/.docs/reference/deployer/cloudflare.md +79 -0
- package/.docs/reference/deployer/netlify.md +80 -0
- package/.docs/reference/deployer/vercel.md +91 -0
- package/.docs/reference/deployer.md +100 -0
- package/.docs/reference/evals/answer-relevancy.md +105 -0
- package/.docs/reference/evals/answer-similarity.md +99 -0
- package/.docs/reference/evals/bias.md +120 -0
- package/.docs/reference/evals/completeness.md +136 -0
- package/.docs/reference/evals/content-similarity.md +101 -0
- package/.docs/reference/evals/context-precision.md +196 -0
- package/.docs/reference/evals/context-relevance.md +531 -0
- package/.docs/reference/evals/create-scorer.md +270 -0
- package/.docs/reference/evals/faithfulness.md +114 -0
- package/.docs/reference/evals/hallucination.md +213 -0
- package/.docs/reference/evals/keyword-coverage.md +128 -0
- package/.docs/reference/evals/mastra-scorer.md +123 -0
- package/.docs/reference/evals/noise-sensitivity.md +675 -0
- package/.docs/reference/evals/prompt-alignment.md +614 -0
- package/.docs/reference/evals/run-evals.md +179 -0
- package/.docs/reference/evals/scorer-utils.md +326 -0
- package/.docs/reference/evals/textual-difference.md +113 -0
- package/.docs/reference/evals/tone-consistency.md +119 -0
- package/.docs/reference/evals/tool-call-accuracy.md +533 -0
- package/.docs/reference/evals/toxicity.md +123 -0
- package/.docs/reference/harness/harness-class.md +708 -0
- package/.docs/reference/index.md +277 -0
- package/.docs/reference/logging/pino-logger.md +117 -0
- package/.docs/reference/mastra-code/createMastraCode.md +108 -0
- package/.docs/reference/memory/clone-utilities.md +199 -0
- package/.docs/reference/memory/cloneThread.md +130 -0
- package/.docs/reference/memory/createThread.md +68 -0
- package/.docs/reference/memory/deleteMessages.md +38 -0
- package/.docs/reference/memory/getThreadById.md +24 -0
- package/.docs/reference/memory/listThreads.md +145 -0
- package/.docs/reference/memory/memory-class.md +147 -0
- package/.docs/reference/memory/observational-memory.md +565 -0
- package/.docs/reference/memory/recall.md +91 -0
- package/.docs/reference/observability/tracing/bridges/otel.md +131 -0
- package/.docs/reference/observability/tracing/configuration.md +178 -0
- package/.docs/reference/observability/tracing/exporters/arize.md +141 -0
- package/.docs/reference/observability/tracing/exporters/braintrust.md +93 -0
- package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +163 -0
- package/.docs/reference/observability/tracing/exporters/console-exporter.md +138 -0
- package/.docs/reference/observability/tracing/exporters/datadog.md +116 -0
- package/.docs/reference/observability/tracing/exporters/default-exporter.md +174 -0
- package/.docs/reference/observability/tracing/exporters/laminar.md +78 -0
- package/.docs/reference/observability/tracing/exporters/langfuse.md +134 -0
- package/.docs/reference/observability/tracing/exporters/langsmith.md +108 -0
- package/.docs/reference/observability/tracing/exporters/otel.md +199 -0
- package/.docs/reference/observability/tracing/exporters/posthog.md +92 -0
- package/.docs/reference/observability/tracing/exporters/sentry.md +184 -0
- package/.docs/reference/observability/tracing/instances.md +107 -0
- package/.docs/reference/observability/tracing/interfaces.md +743 -0
- package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +144 -0
- package/.docs/reference/observability/tracing/spans.md +224 -0
- package/.docs/reference/processors/batch-parts-processor.md +61 -0
- package/.docs/reference/processors/language-detector.md +82 -0
- package/.docs/reference/processors/message-history-processor.md +85 -0
- package/.docs/reference/processors/moderation-processor.md +104 -0
- package/.docs/reference/processors/pii-detector.md +108 -0
- package/.docs/reference/processors/processor-interface.md +521 -0
- package/.docs/reference/processors/prompt-injection-detector.md +72 -0
- package/.docs/reference/processors/semantic-recall-processor.md +117 -0
- package/.docs/reference/processors/system-prompt-scrubber.md +80 -0
- package/.docs/reference/processors/token-limiter-processor.md +115 -0
- package/.docs/reference/processors/tool-call-filter.md +85 -0
- package/.docs/reference/processors/tool-search-processor.md +111 -0
- package/.docs/reference/processors/unicode-normalizer.md +62 -0
- package/.docs/reference/processors/working-memory-processor.md +152 -0
- package/.docs/reference/rag/chunk.md +221 -0
- package/.docs/reference/rag/database-config.md +261 -0
- package/.docs/reference/rag/document.md +114 -0
- package/.docs/reference/rag/embeddings.md +92 -0
- package/.docs/reference/rag/extract-params.md +168 -0
- package/.docs/reference/rag/graph-rag.md +111 -0
- package/.docs/reference/rag/metadata-filters.md +216 -0
- package/.docs/reference/rag/rerank.md +75 -0
- package/.docs/reference/rag/rerankWithScorer.md +80 -0
- package/.docs/reference/server/create-route.md +262 -0
- package/.docs/reference/server/express-adapter.md +176 -0
- package/.docs/reference/server/fastify-adapter.md +90 -0
- package/.docs/reference/server/hono-adapter.md +162 -0
- package/.docs/reference/server/koa-adapter.md +127 -0
- package/.docs/reference/server/mastra-server.md +298 -0
- package/.docs/reference/server/register-api-route.md +249 -0
- package/.docs/reference/server/routes.md +306 -0
- package/.docs/reference/storage/cloudflare-d1.md +218 -0
- package/.docs/reference/storage/cloudflare.md +88 -0
- package/.docs/reference/storage/composite.md +235 -0
- package/.docs/reference/storage/convex.md +161 -0
- package/.docs/reference/storage/dynamodb.md +282 -0
- package/.docs/reference/storage/lance.md +131 -0
- package/.docs/reference/storage/libsql.md +135 -0
- package/.docs/reference/storage/mongodb.md +262 -0
- package/.docs/reference/storage/mssql.md +157 -0
- package/.docs/reference/storage/overview.md +121 -0
- package/.docs/reference/storage/postgresql.md +526 -0
- package/.docs/reference/storage/upstash.md +160 -0
- package/.docs/reference/streaming/ChunkType.md +292 -0
- package/.docs/reference/streaming/agents/MastraModelOutput.md +182 -0
- package/.docs/reference/streaming/agents/stream.md +221 -0
- package/.docs/reference/streaming/agents/streamLegacy.md +142 -0
- package/.docs/reference/streaming/workflows/observeStream.md +42 -0
- package/.docs/reference/streaming/workflows/resumeStream.md +61 -0
- package/.docs/reference/streaming/workflows/stream.md +88 -0
- package/.docs/reference/streaming/workflows/timeTravelStream.md +142 -0
- package/.docs/reference/templates/overview.md +194 -0
- package/.docs/reference/tools/create-tool.md +237 -0
- package/.docs/reference/tools/document-chunker-tool.md +89 -0
- package/.docs/reference/tools/graph-rag-tool.md +182 -0
- package/.docs/reference/tools/mcp-client.md +954 -0
- package/.docs/reference/tools/mcp-server.md +1271 -0
- package/.docs/reference/tools/vector-query-tool.md +459 -0
- package/.docs/reference/vectors/astra.md +121 -0
- package/.docs/reference/vectors/chroma.md +264 -0
- package/.docs/reference/vectors/convex.md +300 -0
- package/.docs/reference/vectors/couchbase.md +226 -0
- package/.docs/reference/vectors/duckdb.md +318 -0
- package/.docs/reference/vectors/elasticsearch.md +189 -0
- package/.docs/reference/vectors/lance.md +220 -0
- package/.docs/reference/vectors/libsql.md +305 -0
- package/.docs/reference/vectors/mongodb.md +295 -0
- package/.docs/reference/vectors/opensearch.md +99 -0
- package/.docs/reference/vectors/pg.md +408 -0
- package/.docs/reference/vectors/pinecone.md +168 -0
- package/.docs/reference/vectors/qdrant.md +222 -0
- package/.docs/reference/vectors/s3vectors.md +277 -0
- package/.docs/reference/vectors/turbopuffer.md +157 -0
- package/.docs/reference/vectors/upstash.md +294 -0
- package/.docs/reference/vectors/vectorize.md +147 -0
- package/.docs/reference/voice/azure.md +148 -0
- package/.docs/reference/voice/cloudflare.md +83 -0
- package/.docs/reference/voice/composite-voice.md +121 -0
- package/.docs/reference/voice/deepgram.md +79 -0
- package/.docs/reference/voice/elevenlabs.md +98 -0
- package/.docs/reference/voice/google-gemini-live.md +378 -0
- package/.docs/reference/voice/google.md +228 -0
- package/.docs/reference/voice/mastra-voice.md +311 -0
- package/.docs/reference/voice/murf.md +122 -0
- package/.docs/reference/voice/openai-realtime.md +203 -0
- package/.docs/reference/voice/openai.md +88 -0
- package/.docs/reference/voice/playai.md +80 -0
- package/.docs/reference/voice/sarvam.md +126 -0
- package/.docs/reference/voice/speechify.md +75 -0
- package/.docs/reference/voice/voice.addInstructions.md +55 -0
- package/.docs/reference/voice/voice.addTools.md +67 -0
- package/.docs/reference/voice/voice.answer.md +54 -0
- package/.docs/reference/voice/voice.close.md +51 -0
- package/.docs/reference/voice/voice.connect.md +94 -0
- package/.docs/reference/voice/voice.events.md +37 -0
- package/.docs/reference/voice/voice.getSpeakers.md +129 -0
- package/.docs/reference/voice/voice.listen.md +164 -0
- package/.docs/reference/voice/voice.off.md +54 -0
- package/.docs/reference/voice/voice.on.md +111 -0
- package/.docs/reference/voice/voice.send.md +65 -0
- package/.docs/reference/voice/voice.speak.md +157 -0
- package/.docs/reference/voice/voice.updateConfig.md +60 -0
- package/.docs/reference/workflows/run-methods/cancel.md +86 -0
- package/.docs/reference/workflows/run-methods/restart.md +33 -0
- package/.docs/reference/workflows/run-methods/resume.md +59 -0
- package/.docs/reference/workflows/run-methods/start.md +58 -0
- package/.docs/reference/workflows/run-methods/startAsync.md +67 -0
- package/.docs/reference/workflows/run-methods/timeTravel.md +142 -0
- package/.docs/reference/workflows/run.md +59 -0
- package/.docs/reference/workflows/step.md +119 -0
- package/.docs/reference/workflows/workflow-methods/branch.md +25 -0
- package/.docs/reference/workflows/workflow-methods/commit.md +17 -0
- package/.docs/reference/workflows/workflow-methods/create-run.md +63 -0
- package/.docs/reference/workflows/workflow-methods/dountil.md +25 -0
- package/.docs/reference/workflows/workflow-methods/dowhile.md +25 -0
- package/.docs/reference/workflows/workflow-methods/foreach.md +118 -0
- package/.docs/reference/workflows/workflow-methods/map.md +93 -0
- package/.docs/reference/workflows/workflow-methods/parallel.md +21 -0
- package/.docs/reference/workflows/workflow-methods/sleep.md +35 -0
- package/.docs/reference/workflows/workflow-methods/sleepUntil.md +35 -0
- package/.docs/reference/workflows/workflow-methods/then.md +21 -0
- package/.docs/reference/workflows/workflow.md +157 -0
- package/.docs/reference/workspace/e2b-sandbox.md +289 -0
- package/.docs/reference/workspace/filesystem.md +255 -0
- package/.docs/reference/workspace/gcs-filesystem.md +174 -0
- package/.docs/reference/workspace/local-filesystem.md +343 -0
- package/.docs/reference/workspace/local-sandbox.md +301 -0
- package/.docs/reference/workspace/s3-filesystem.md +175 -0
- package/.docs/reference/workspace/sandbox.md +87 -0
- package/.docs/reference/workspace/workspace-class.md +244 -0
- package/CHANGELOG.md +8 -0
- package/package.json +5 -5
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Tools
|
|
2
|
+
|
|
3
|
+
Tool execution signatures have been updated to use separate input and context parameters with reorganized context properties.
|
|
4
|
+
|
|
5
|
+
## Changed
|
|
6
|
+
|
|
7
|
+
### `createTool` execute signature to `(inputData, context)` format
|
|
8
|
+
|
|
9
|
+
All `createTool` execute functions now use a new signature with separate `inputData` and `context` parameters instead of a single destructured object. This change provides clearer separation between tool inputs and execution context.
|
|
10
|
+
|
|
11
|
+
**Note:** This change only applies to `createTool`. If you're using `createStep` for workflows, the signature remains `async (inputData, context)` and does not need to be changed.
|
|
12
|
+
|
|
13
|
+
To migrate, update `createTool` signatures to use `inputData` as the first parameter (typed from `inputSchema`) and `context` as the second parameter.
|
|
14
|
+
|
|
15
|
+
```diff
|
|
16
|
+
createTool({
|
|
17
|
+
id: 'weather-tool',
|
|
18
|
+
- execute: async ({ context, requestContext, mastra }) => {
|
|
19
|
+
- const location = context.location;
|
|
20
|
+
- const userTier = requestContext.get('userTier');
|
|
21
|
+
- return getWeather(location, userTier);
|
|
22
|
+
- },
|
|
23
|
+
+ execute: async (inputData, context) => {
|
|
24
|
+
+ const location = inputData.location;
|
|
25
|
+
+ const userTier = context?.requestContext?.get('userTier');
|
|
26
|
+
+ return getWeather(location, userTier);
|
|
27
|
+
+ },
|
|
28
|
+
});
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### `createTool` context properties organization
|
|
32
|
+
|
|
33
|
+
Context properties in `createTool` are now organized into namespaces. Agent-specific properties are under `context.agent`, workflow-specific properties are under `context.workflow`, and MCP-specific properties are under `context.mcp`. This change provides better organization and clearer API surface.
|
|
34
|
+
|
|
35
|
+
For tools that are executed inside an agent, access agent-specific properties through `context.agent`.
|
|
36
|
+
|
|
37
|
+
```diff
|
|
38
|
+
createTool({
|
|
39
|
+
id: 'suspendable-tool',
|
|
40
|
+
suspendSchema: z.object({ message: z.string() }),
|
|
41
|
+
resumeSchema: z.object({ approval: z.boolean() }),
|
|
42
|
+
- execute: async ({ context, suspend, resumeData }) => {
|
|
43
|
+
- if (!resumeData) {
|
|
44
|
+
- return await suspend({ message: 'Waiting for approval' });
|
|
45
|
+
- }
|
|
46
|
+
- if (resumeData.approval) {
|
|
47
|
+
- return { success: true };
|
|
48
|
+
- }
|
|
49
|
+
- },
|
|
50
|
+
+ execute: async (inputData, context) => {
|
|
51
|
+
+ if (!context?.agent?.resumeData) {
|
|
52
|
+
+ return await context?.agent?.suspend({
|
|
53
|
+
+ message: 'Waiting for approval',
|
|
54
|
+
+ });
|
|
55
|
+
+ }
|
|
56
|
+
+ if (context.agent.resumeData.approval) {
|
|
57
|
+
+ return { success: true };
|
|
58
|
+
+ }
|
|
59
|
+
+ },
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
For tools that are executed inside a workflow, access workflow-specific properties through `context.workflow`.
|
|
64
|
+
|
|
65
|
+
```diff
|
|
66
|
+
createTool({
|
|
67
|
+
id: 'workflow-tool',
|
|
68
|
+
- execute: async ({ workflowId, runId, state, setState }) => {
|
|
69
|
+
- const currentState = state;
|
|
70
|
+
- setState({ step: 'completed' });
|
|
71
|
+
- return { result: 'done' };
|
|
72
|
+
- },
|
|
73
|
+
+ execute: async (inputData, context) => {
|
|
74
|
+
+ const currentState = context?.workflow?.state;
|
|
75
|
+
+ context?.workflow?.setState({ step: 'completed' });
|
|
76
|
+
+ return { result: 'done' };
|
|
77
|
+
+ },
|
|
78
|
+
});
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
The `suspendPayload` gets validated against the `suspendSchema` when the tool is executed. If the suspendPayload doesn't match the `suspendSchema`, a warning is logged and the error is returned as tool output, but suspension continues. Also, when the tool is resumed, the `resumeData` gets validated against the `resumeSchema`. If the resumeData doesn't match the `resumeSchema`, the tool will return a `ValidationError`, preventing the tool resumption.
|
|
82
|
+
|
|
83
|
+
To skip the `suspendSchema` or `resumeSchema` validation, do not define `suspendSchema` or `resumeSchema` in the tool creation.
|
|
84
|
+
|
|
85
|
+
> **Note:** For MCP-specific tool context changes, see the [MCP migration guide](https://mastra.ai/guides/migrations/upgrade-to-v1/mcp).
|
|
86
|
+
|
|
87
|
+
### `RuntimeContext` to `RequestContext`
|
|
88
|
+
|
|
89
|
+
The `RuntimeContext` class has been renamed to `RequestContext` throughout the tool execution context. This change provides clearer naming that better describes its purpose as request-specific data.
|
|
90
|
+
|
|
91
|
+
To migrate, update references from `runtimeContext` to `requestContext` in tool execution functions.
|
|
92
|
+
|
|
93
|
+
```diff
|
|
94
|
+
createTool({
|
|
95
|
+
id: 'my-tool',
|
|
96
|
+
execute: async (inputData, context) => {
|
|
97
|
+
- const userTier = context?.runtimeContext?.get('userTier');
|
|
98
|
+
+ const userTier = context?.requestContext?.get('userTier');
|
|
99
|
+
return { result: userTier };
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
> **Codemod:** You can use Mastra's codemod CLI to update your imports automatically:
|
|
105
|
+
>
|
|
106
|
+
> ```bash
|
|
107
|
+
> npx @mastra/codemod@latest v1/runtime-context .
|
|
108
|
+
> ```
|
|
109
|
+
|
|
110
|
+
This applies to all tool executions, whether called directly or through agents and workflows. The type narrowing ensures you handle validation errors appropriately and prevents runtime errors when accessing output properties.
|
|
111
|
+
|
|
112
|
+
### Tool output validation with `outputSchema`
|
|
113
|
+
|
|
114
|
+
Tools with an `outputSchema` now validate their return values at runtime. Previously, `outputSchema` was only used for type inference - the output was never validated.
|
|
115
|
+
|
|
116
|
+
If your tool returns data that doesn't match its `outputSchema`, it will now return a `ValidationError` instead of the invalid data.
|
|
117
|
+
|
|
118
|
+
To fix validation errors, ensure the tool's output matches the schema definition:
|
|
119
|
+
|
|
120
|
+
```diff
|
|
121
|
+
const getUserTool = createTool({
|
|
122
|
+
id: "get-user",
|
|
123
|
+
outputSchema: z.object({
|
|
124
|
+
id: z.string(),
|
|
125
|
+
name: z.string(),
|
|
126
|
+
email: z.string().email(),
|
|
127
|
+
}),
|
|
128
|
+
execute: async (inputData) => {
|
|
129
|
+
- return { id: "123", name: "John" }; // Missing email
|
|
130
|
+
+ return { id: "123", name: "John", email: "john@example.com" };
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
When validation fails, the tool returns a `ValidationError`:
|
|
136
|
+
|
|
137
|
+
```diff
|
|
138
|
+
+ // Before v1 - invalid output would silently pass through
|
|
139
|
+
await getUserTool.execute({});
|
|
140
|
+
- // { id: "123", name: "John" } - missing email
|
|
141
|
+
+ // {
|
|
142
|
+
+ // error: true,
|
|
143
|
+
+ // message: "Tool output validation failed for get-user. The tool returned invalid output:\n- email: Required\n\nReturned output: {...}",
|
|
144
|
+
+ // validationErrors: { ... }
|
|
145
|
+
+ // }
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### `tool.execute` return type includes `ValidationError`
|
|
149
|
+
|
|
150
|
+
The return type of `tool.execute` now includes `ValidationError` to handle validation failures. You must narrow the result type before accessing output schema properties to satisfy TypeScript's type checking.
|
|
151
|
+
|
|
152
|
+
When calling `tool.execute`, check if the result contains an error before accessing output properties:
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
const result = await getUserTool.execute({})
|
|
156
|
+
|
|
157
|
+
// Type-safe check for validation errors
|
|
158
|
+
if ('error' in result && result.error) {
|
|
159
|
+
console.error('Validation failed:', result.message)
|
|
160
|
+
console.error('Details:', result.validationErrors)
|
|
161
|
+
return
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// TypeScript knows result is valid here
|
|
165
|
+
console.log(result.id, result.name, result.email)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Alternatively, update the `outputSchema` to match your actual output, or remove `outputSchema` entirely if you don't need validation.
|
|
169
|
+
|
|
170
|
+
### Direct tool execution
|
|
171
|
+
|
|
172
|
+
The `tool.execute` property is optional in the type system to support client-side tool definitions where execution logic is handled separately. When calling `execute` directly on a tool instance (rather than through agents or workflows), use optional chaining or non-null assertion:
|
|
173
|
+
|
|
174
|
+
```typescript
|
|
175
|
+
// Optional chaining (recommended)
|
|
176
|
+
const result = await weatherTool.execute?.({ location: 'New York' }, {})
|
|
177
|
+
|
|
178
|
+
// Non-null assertion (when you know execute exists)
|
|
179
|
+
const result = await weatherTool.execute!({ location: 'New York' }, {})
|
|
180
|
+
```
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
# Tracing
|
|
2
|
+
|
|
3
|
+
The observability system has been restructured in v1 with a dedicated `@mastra/observability` package. This guide covers two migration paths depending on which version you're upgrading from.
|
|
4
|
+
|
|
5
|
+
## Migration Paths
|
|
6
|
+
|
|
7
|
+
### From OTEL-based Telemetry (0.x)
|
|
8
|
+
|
|
9
|
+
If you're using the old `telemetry:` configuration in Mastra, the system has been completely redesigned.
|
|
10
|
+
|
|
11
|
+
**Before (0.x with OTEL telemetry):**
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { Mastra } from '@mastra/core'
|
|
15
|
+
|
|
16
|
+
export const mastra = new Mastra({
|
|
17
|
+
telemetry: {
|
|
18
|
+
serviceName: 'my-app',
|
|
19
|
+
enabled: true,
|
|
20
|
+
sampling: {
|
|
21
|
+
type: 'always_on',
|
|
22
|
+
},
|
|
23
|
+
export: {
|
|
24
|
+
type: 'otlp',
|
|
25
|
+
endpoint: 'http://localhost:4318',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
})
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**After (v1 with observability):**
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import { Mastra } from '@mastra/core'
|
|
35
|
+
import {
|
|
36
|
+
Observability,
|
|
37
|
+
DefaultExporter,
|
|
38
|
+
CloudExporter,
|
|
39
|
+
SensitiveDataFilter,
|
|
40
|
+
} from '@mastra/observability'
|
|
41
|
+
|
|
42
|
+
export const mastra = new Mastra({
|
|
43
|
+
observability: new Observability({
|
|
44
|
+
configs: {
|
|
45
|
+
default: {
|
|
46
|
+
serviceName: 'mastra',
|
|
47
|
+
exporters: [
|
|
48
|
+
new DefaultExporter(), // Persists traces to storage for Mastra Studio
|
|
49
|
+
new CloudExporter(), // Sends traces to Mastra Cloud (if MASTRA_CLOUD_ACCESS_TOKEN is set)
|
|
50
|
+
],
|
|
51
|
+
spanOutputProcessors: [
|
|
52
|
+
new SensitiveDataFilter(), // Redacts sensitive data like passwords, tokens, keys
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
}),
|
|
57
|
+
})
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
This configuration includes `DefaultExporter`, `CloudExporter`, and `SensitiveDataFilter` processor. See the [observability tracing documentation](https://mastra.ai/docs/observability/tracing/overview) for full configuration options.
|
|
61
|
+
|
|
62
|
+
#### After (v1 with custom configuration)
|
|
63
|
+
|
|
64
|
+
If you need to configure specific exporters (like OTLP), install the exporter package and configure it:
|
|
65
|
+
|
|
66
|
+
**npm**:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npm install @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-proto
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**pnpm**:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
pnpm add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-proto
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Yarn**:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
yarn add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-proto
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Bun**:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
bun add @mastra/otel-exporter@latest @opentelemetry/exporter-trace-otlp-proto
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import { Mastra } from '@mastra/core'
|
|
92
|
+
import { Observability } from '@mastra/observability'
|
|
93
|
+
import { OtelExporter } from '@mastra/otel-exporter'
|
|
94
|
+
|
|
95
|
+
export const mastra = new Mastra({
|
|
96
|
+
observability: new Observability({
|
|
97
|
+
configs: {
|
|
98
|
+
production: {
|
|
99
|
+
serviceName: 'my-app',
|
|
100
|
+
sampling: { type: 'always' },
|
|
101
|
+
exporters: [
|
|
102
|
+
new OtelExporter({
|
|
103
|
+
provider: {
|
|
104
|
+
custom: {
|
|
105
|
+
endpoint: 'http://localhost:4318/v1/traces',
|
|
106
|
+
protocol: 'http/protobuf',
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
}),
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
}),
|
|
114
|
+
})
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Key changes:
|
|
118
|
+
|
|
119
|
+
1. Install `@mastra/observability` package
|
|
120
|
+
2. Replace `telemetry:` with `observability: new Observability()`
|
|
121
|
+
3. Use explicit `configs:` with `DefaultExporter`, `CloudExporter`, and `SensitiveDataFilter`
|
|
122
|
+
4. Export types change from string literals (`'otlp'`) to exporter class instances (`new OtelExporter()`)
|
|
123
|
+
|
|
124
|
+
See the [exporters documentation](https://mastra.ai/docs/observability/tracing/overview) for all available exporters.
|
|
125
|
+
|
|
126
|
+
### From AI Tracing
|
|
127
|
+
|
|
128
|
+
If you already upgraded to AI tracing (the intermediate system), you need to install the new package and use the explicit configuration.
|
|
129
|
+
|
|
130
|
+
**Before (AI tracing):**
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
import { Mastra } from '@mastra/core'
|
|
134
|
+
|
|
135
|
+
export const mastra = new Mastra({
|
|
136
|
+
observability: {
|
|
137
|
+
default: { enabled: true },
|
|
138
|
+
},
|
|
139
|
+
})
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**After (v1 observability):**
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import { Mastra } from '@mastra/core'
|
|
146
|
+
import {
|
|
147
|
+
Observability,
|
|
148
|
+
DefaultExporter,
|
|
149
|
+
CloudExporter,
|
|
150
|
+
SensitiveDataFilter,
|
|
151
|
+
} from '@mastra/observability'
|
|
152
|
+
|
|
153
|
+
export const mastra = new Mastra({
|
|
154
|
+
observability: new Observability({
|
|
155
|
+
configs: {
|
|
156
|
+
default: {
|
|
157
|
+
serviceName: 'mastra',
|
|
158
|
+
exporters: [new DefaultExporter(), new CloudExporter()],
|
|
159
|
+
spanOutputProcessors: [new SensitiveDataFilter()],
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
}),
|
|
163
|
+
})
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Key changes:
|
|
167
|
+
|
|
168
|
+
1. Install `@mastra/observability` package
|
|
169
|
+
2. Import `Observability`, exporters, and processors from `@mastra/observability`
|
|
170
|
+
3. Use explicit `configs` with `DefaultExporter`, `CloudExporter`, and `SensitiveDataFilter`
|
|
171
|
+
|
|
172
|
+
## Changed
|
|
173
|
+
|
|
174
|
+
### Package import path
|
|
175
|
+
|
|
176
|
+
The observability functionality has moved to a dedicated `@mastra/observability` package.
|
|
177
|
+
|
|
178
|
+
To migrate, install the package and update your import statements:
|
|
179
|
+
|
|
180
|
+
**npm**:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npm install @mastra/observability@latest
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**pnpm**:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
pnpm add @mastra/observability@latest
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Yarn**:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
yarn add @mastra/observability@latest
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Bun**:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
bun add @mastra/observability@latest
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
```diff
|
|
205
|
+
- import { Tracing } from '@mastra/core/observability';
|
|
206
|
+
+ import { Observability } from '@mastra/observability';
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Registry configuration
|
|
210
|
+
|
|
211
|
+
The observability registry is now configured using an `Observability` class instance with explicit configs instead of a plain object.
|
|
212
|
+
|
|
213
|
+
To migrate, use `new Observability()` with explicit exporters and processors.
|
|
214
|
+
|
|
215
|
+
```diff
|
|
216
|
+
+ import {
|
|
217
|
+
+ Observability,
|
|
218
|
+
+ DefaultExporter,
|
|
219
|
+
+ CloudExporter,
|
|
220
|
+
+ SensitiveDataFilter,
|
|
221
|
+
+ } from '@mastra/observability';
|
|
222
|
+
|
|
223
|
+
export const mastra = new Mastra({
|
|
224
|
+
- observability: {
|
|
225
|
+
- default: { enabled: true },
|
|
226
|
+
- },
|
|
227
|
+
+ observability: new Observability({
|
|
228
|
+
+ configs: {
|
|
229
|
+
+ default: {
|
|
230
|
+
+ serviceName: 'mastra',
|
|
231
|
+
+ exporters: [new DefaultExporter(), new CloudExporter()],
|
|
232
|
+
+ spanOutputProcessors: [new SensitiveDataFilter()],
|
|
233
|
+
+ },
|
|
234
|
+
+ },
|
|
235
|
+
+ }),
|
|
236
|
+
});
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Configuration property `processors` to `spanOutputProcessors`
|
|
240
|
+
|
|
241
|
+
The configuration property for span processors has been renamed from `processors` to `spanOutputProcessors`.
|
|
242
|
+
|
|
243
|
+
To migrate, rename the property in your configuration objects.
|
|
244
|
+
|
|
245
|
+
```diff
|
|
246
|
+
+ import { SensitiveDataFilter } from '@mastra/observability';
|
|
247
|
+
|
|
248
|
+
export const mastra = new Mastra({
|
|
249
|
+
observability: new Observability({
|
|
250
|
+
configs: {
|
|
251
|
+
production: {
|
|
252
|
+
serviceName: 'my-app',
|
|
253
|
+
- processors: [new SensitiveDataFilter()],
|
|
254
|
+
+ spanOutputProcessors: [new SensitiveDataFilter()],
|
|
255
|
+
exporters: [...],
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
}),
|
|
259
|
+
});
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Exporter method `exportEvent` to `exportTracingEvent`
|
|
263
|
+
|
|
264
|
+
If you built custom exporters, the exporter method has been renamed from `exportEvent` to `exportTracingEvent`.
|
|
265
|
+
|
|
266
|
+
To migrate, update method implementations in custom exporters.
|
|
267
|
+
|
|
268
|
+
```diff
|
|
269
|
+
export class MyExporter implements ObservabilityExporter {
|
|
270
|
+
- exportEvent(event: TracingEvent): void {
|
|
271
|
+
+ exportTracingEvent(event: TracingEvent): void {
|
|
272
|
+
// export logic
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## Removed
|
|
278
|
+
|
|
279
|
+
### OTEL-based `telemetry` configuration
|
|
280
|
+
|
|
281
|
+
The OTEL-based `telemetry` configuration from 0.x has been removed. The old system with `serviceName`, `sampling.type`, and `export.type` properties is no longer supported.
|
|
282
|
+
|
|
283
|
+
To migrate, follow the "From OTEL-based Telemetry" section above. For detailed configuration options, see the [observability tracing documentation](https://mastra.ai/docs/observability/tracing/overview).
|
|
284
|
+
|
|
285
|
+
### Custom instrumentation files
|
|
286
|
+
|
|
287
|
+
The automatic detection of instrumentation files in `/mastra` (with `.ts`, `.js`, or `.mjs` extensions) has been removed. Custom instrumentation is no longer supported through separate files.
|
|
288
|
+
|
|
289
|
+
To migrate, use the built-in exporter system or implement custom exporters using the `ObservabilityExporter` interface. See the [exporters documentation](https://mastra.ai/docs/observability/tracing/overview) for details.
|
|
290
|
+
|
|
291
|
+
### `instrumentation.mjs` files
|
|
292
|
+
|
|
293
|
+
If you were using `instrumentation.mjs` files to initialize OpenTelemetry instrumentation (common in deployment setups like AWS Lambda), these are no longer needed. The new observability system is configured directly in your Mastra instance.
|
|
294
|
+
|
|
295
|
+
#### Before (0.x)
|
|
296
|
+
|
|
297
|
+
You needed an instrumentation file:
|
|
298
|
+
|
|
299
|
+
```javascript
|
|
300
|
+
// instrumentation.mjs
|
|
301
|
+
import { NodeSDK } from '@opentelemetry/sdk-node'
|
|
302
|
+
// ... OTEL setup
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
And had to import it when starting your process:
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
node --import=./.mastra/output/instrumentation.mjs --env-file=".env" .mastra/output/index.mjs
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
#### After (v1)
|
|
312
|
+
|
|
313
|
+
Simply remove the `instrumentation.mjs` file and configure observability in your Mastra instance:
|
|
314
|
+
|
|
315
|
+
```typescript
|
|
316
|
+
// src/mastra/index.ts
|
|
317
|
+
import {
|
|
318
|
+
Observability,
|
|
319
|
+
DefaultExporter,
|
|
320
|
+
CloudExporter,
|
|
321
|
+
SensitiveDataFilter,
|
|
322
|
+
} from '@mastra/observability'
|
|
323
|
+
|
|
324
|
+
export const mastra = new Mastra({
|
|
325
|
+
observability: new Observability({
|
|
326
|
+
configs: {
|
|
327
|
+
default: {
|
|
328
|
+
serviceName: 'mastra',
|
|
329
|
+
exporters: [new DefaultExporter(), new CloudExporter()],
|
|
330
|
+
spanOutputProcessors: [new SensitiveDataFilter()],
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
}),
|
|
334
|
+
})
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
Start your process normally without the `--import` flag:
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
node --env-file=".env" .mastra/output/index.mjs
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
No separate instrumentation files or special startup flags required.
|
|
344
|
+
|
|
345
|
+
## Provider Migration Reference
|
|
346
|
+
|
|
347
|
+
If you were using OTEL-based telemetry with specific providers in 0.x, here's how to configure them in v1:
|
|
348
|
+
|
|
349
|
+
| Provider | Exporter | Guide | Reference |
|
|
350
|
+
| --------------------------------------------------------- | ----------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
|
351
|
+
| Arize AX, Arize Phoenix | **Arize** | [Guide](https://mastra.ai/docs/observability/tracing/exporters/arize) | [Reference](https://mastra.ai/reference/observability/tracing/exporters/arize) |
|
|
352
|
+
| Braintrust | **Braintrust** | [Guide](https://mastra.ai/docs/observability/tracing/exporters/braintrust) | [Reference](https://mastra.ai/reference/observability/tracing/exporters/braintrust) |
|
|
353
|
+
| Langfuse | **Langfuse** | [Guide](https://mastra.ai/docs/observability/tracing/exporters/langfuse) | [Reference](https://mastra.ai/reference/observability/tracing/exporters/langfuse) |
|
|
354
|
+
| LangSmith | **LangSmith** | [Guide](https://mastra.ai/docs/observability/tracing/exporters/langsmith) | [Reference](https://mastra.ai/reference/observability/tracing/exporters/langsmith) |
|
|
355
|
+
| Dash0, Laminar, New Relic, SigNoz, Traceloop, Custom OTEL | **OpenTelemetry** | [Guide](https://mastra.ai/docs/observability/tracing/exporters/otel) | [Reference](https://mastra.ai/reference/observability/tracing/exporters/otel) |
|
|
356
|
+
| LangWatch | \<coming soon> | - | - |
|
|
357
|
+
|
|
358
|
+
### Installation
|
|
359
|
+
|
|
360
|
+
**Dedicated exporters** (Arize, Braintrust, Langfuse, LangSmith):
|
|
361
|
+
|
|
362
|
+
**npm**:
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
npm install @mastra/[exporter-name]-exporter
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**pnpm**:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
pnpm add @mastra/[exporter-name]-exporter
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
**Yarn**:
|
|
375
|
+
|
|
376
|
+
```bash
|
|
377
|
+
yarn add @mastra/[exporter-name]-exporter
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
**Bun**:
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
bun add @mastra/[exporter-name]-exporter
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**OpenTelemetry exporter** (Dash0, Laminar, New Relic, SigNoz, Traceloop):
|
|
387
|
+
|
|
388
|
+
**npm**:
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
npm install @mastra/otel-exporter@latest
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
**pnpm**:
|
|
395
|
+
|
|
396
|
+
```bash
|
|
397
|
+
pnpm add @mastra/otel-exporter@latest
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
**Yarn**:
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
yarn add @mastra/otel-exporter@latest
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**Bun**:
|
|
407
|
+
|
|
408
|
+
```bash
|
|
409
|
+
bun add @mastra/otel-exporter@latest
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
Plus the required protocol package for your provider (see [OTEL guide](https://mastra.ai/docs/observability/tracing/exporters/otel)).
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Vectors
|
|
2
|
+
|
|
3
|
+
Vector store constructors now require an `id` property, and vector store methods have been renamed to follow consistent naming conventions.
|
|
4
|
+
|
|
5
|
+
## Changed
|
|
6
|
+
|
|
7
|
+
### Required `id` property for vector store instances
|
|
8
|
+
|
|
9
|
+
Vector store instances now require an `id` property. This unique identifier is used for tracking and managing vector store instances within Mastra. The `id` should be a descriptive, unique string for each vector store in your application.
|
|
10
|
+
|
|
11
|
+
To migrate, add an `id` field to your vector store constructor.
|
|
12
|
+
|
|
13
|
+
```diff
|
|
14
|
+
const vectorStore = new PgVector({
|
|
15
|
+
+ id: 'main-vector-store',
|
|
16
|
+
connectionString: process.env.POSTGRES_CONNECTION_STRING,
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const chromaStore = new ChromaVector({
|
|
20
|
+
+ id: 'chroma-embeddings',
|
|
21
|
+
url: process.env.CHROMA_URL,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const pineconeStore = new PineconeVector({
|
|
25
|
+
+ id: 'pinecone-production',
|
|
26
|
+
apiKey: process.env.PINECONE_API_KEY,
|
|
27
|
+
});
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### `getVectors` to `listVectors`
|
|
31
|
+
|
|
32
|
+
The `getVectors()` method has been renamed to `listVectors()`. This change aligns with the naming convention used across the API where plural getter methods use the `list` prefix.
|
|
33
|
+
|
|
34
|
+
To migrate, replace all calls to `getVectors()` with `listVectors()`.
|
|
35
|
+
|
|
36
|
+
```diff
|
|
37
|
+
const vectorStore = new VectorStore({ ... });
|
|
38
|
+
|
|
39
|
+
- const vectors = await vectorStore.getVectors({ ... });
|
|
40
|
+
+ const vectors = await vectorStore.listVectors({ ... });
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### LibSQLVector: `connectionUrl` to `url`
|
|
44
|
+
|
|
45
|
+
The `connectionUrl` parameter has been renamed to `url` to align with the `@libsql/client` API and match LibSQLStorage.
|
|
46
|
+
|
|
47
|
+
```diff
|
|
48
|
+
const vectorStore = new LibSQLVector({
|
|
49
|
+
id: 'my-vector',
|
|
50
|
+
- connectionUrl: 'file:./db.sqlite',
|
|
51
|
+
+ url: 'file:./db.sqlite',
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### OpenSearchVector: `url` to `node`
|
|
56
|
+
|
|
57
|
+
The `url` parameter has been renamed to `node` to match the OpenSearch `ClientOptions` API. The constructor now accepts all OpenSearch client options including authentication, SSL, and compression.
|
|
58
|
+
|
|
59
|
+
```diff
|
|
60
|
+
const vectorStore = new OpenSearchVector({
|
|
61
|
+
id: 'my-vector',
|
|
62
|
+
- url: 'http://localhost:9200',
|
|
63
|
+
+ node: 'http://localhost:9200',
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### PineconeVector: `environment` removed
|
|
68
|
+
|
|
69
|
+
The `environment` parameter has been removed. Use `controllerHostUrl` instead if you need to specify a custom controller host. The constructor now accepts all Pinecone configuration options.
|
|
70
|
+
|
|
71
|
+
```diff
|
|
72
|
+
const vectorStore = new PineconeVector({
|
|
73
|
+
id: 'my-vector',
|
|
74
|
+
apiKey: process.env.PINECONE_API_KEY,
|
|
75
|
+
- environment: process.env.PINECONE_ENVIRONMENT,
|
|
76
|
+
});
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
If you need a custom controller host:
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
const vectorStore = new PineconeVector({
|
|
83
|
+
id: 'my-vector',
|
|
84
|
+
apiKey: process.env.PINECONE_API_KEY,
|
|
85
|
+
controllerHostUrl: 'https://api.pinecone.io',
|
|
86
|
+
})
|
|
87
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Voice Packages
|
|
2
|
+
|
|
3
|
+
Voice packages have been renamed from speech to voice with updated class names and API methods.
|
|
4
|
+
|
|
5
|
+
## Changed
|
|
6
|
+
|
|
7
|
+
### Voice configuration property names
|
|
8
|
+
|
|
9
|
+
Voice configuration properties have been renamed for consistency. `speakProvider` is now `output`, `listenProvider` is now `input`, and `realtimeProvider` is now `realtime`. This change provides more intuitive property names.
|
|
10
|
+
|
|
11
|
+
To migrate, update configuration property names when configuring agents with voice capabilities.
|
|
12
|
+
|
|
13
|
+
```diff
|
|
14
|
+
const agent = new Agent({
|
|
15
|
+
voice: {
|
|
16
|
+
- speakProvider: murfVoice,
|
|
17
|
+
- listenProvider: deepgramVoice,
|
|
18
|
+
- realtimeProvider: openaiRealtime,
|
|
19
|
+
+ output: murfVoice,
|
|
20
|
+
+ input: deepgramVoice,
|
|
21
|
+
+ realtime: openaiRealtime,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
> **Codemod:** You can use Mastra's codemod CLI to update your code automatically:
|
|
27
|
+
>
|
|
28
|
+
> ```bash
|
|
29
|
+
> npx @mastra/codemod@latest v1/voice-property-names .
|
|
30
|
+
> ```
|