@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,127 @@
|
|
|
1
|
+
# Cloud Exporter
|
|
2
|
+
|
|
3
|
+
The `CloudExporter` sends traces to Mastra Cloud for centralized monitoring and team collaboration. It's automatically enabled when using the default observability configuration with a valid access token.
|
|
4
|
+
|
|
5
|
+
## Configuration
|
|
6
|
+
|
|
7
|
+
### Prerequisites
|
|
8
|
+
|
|
9
|
+
1. **Mastra Cloud Account**: Sign up at [cloud.mastra.ai](https://cloud.mastra.ai)
|
|
10
|
+
2. **Mastra Cloud Project**: Create a project in Mastra Cloud. Traces are scoped per project, so even if you only want observability, you need a project to act as the destination for your traces.
|
|
11
|
+
3. **Access Token**: Generate in your project's sidebar under **Project Settings → Access Tokens**
|
|
12
|
+
4. **Environment Variables**: Set your credentials:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
MASTRA_CLOUD_ACCESS_TOKEN=mst_xxxxxxxxxxxxxxxx
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Basic Setup
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { Mastra } from '@mastra/core'
|
|
22
|
+
import { Observability, CloudExporter } from '@mastra/observability'
|
|
23
|
+
|
|
24
|
+
export const mastra = new Mastra({
|
|
25
|
+
observability: new Observability({
|
|
26
|
+
configs: {
|
|
27
|
+
production: {
|
|
28
|
+
serviceName: 'my-service',
|
|
29
|
+
exporters: [
|
|
30
|
+
new CloudExporter(), // Uses MASTRA_CLOUD_ACCESS_TOKEN env var
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
}),
|
|
35
|
+
})
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Recommended Configuration
|
|
39
|
+
|
|
40
|
+
Include CloudExporter in your observability configuration:
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
import { Mastra } from '@mastra/core'
|
|
44
|
+
import {
|
|
45
|
+
Observability,
|
|
46
|
+
DefaultExporter,
|
|
47
|
+
CloudExporter,
|
|
48
|
+
SensitiveDataFilter,
|
|
49
|
+
} from '@mastra/observability'
|
|
50
|
+
|
|
51
|
+
export const mastra = new Mastra({
|
|
52
|
+
observability: new Observability({
|
|
53
|
+
configs: {
|
|
54
|
+
default: {
|
|
55
|
+
serviceName: 'mastra',
|
|
56
|
+
exporters: [
|
|
57
|
+
new DefaultExporter(),
|
|
58
|
+
new CloudExporter(), // Sends traces to Mastra Cloud (requires MASTRA_CLOUD_ACCESS_TOKEN)
|
|
59
|
+
],
|
|
60
|
+
spanOutputProcessors: [new SensitiveDataFilter()],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
}),
|
|
64
|
+
})
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Complete Configuration
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
new CloudExporter({
|
|
71
|
+
// Optional - defaults to env var
|
|
72
|
+
accessToken: process.env.MASTRA_CLOUD_ACCESS_TOKEN,
|
|
73
|
+
|
|
74
|
+
// Optional - for self-hosted Mastra Cloud
|
|
75
|
+
endpoint: 'https://cloud.your-domain.com',
|
|
76
|
+
|
|
77
|
+
// Batching configuration
|
|
78
|
+
maxBatchSize: 1000, // Max spans per batch
|
|
79
|
+
maxBatchWaitMs: 5000, // Max wait before sending batch
|
|
80
|
+
|
|
81
|
+
// Diagnostic logging
|
|
82
|
+
logLevel: 'info', // debug | info | warn | error
|
|
83
|
+
})
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Viewing Traces
|
|
87
|
+
|
|
88
|
+
### Mastra Cloud Dashboard
|
|
89
|
+
|
|
90
|
+
1. Navigate to [cloud.mastra.ai](https://cloud.mastra.ai)
|
|
91
|
+
|
|
92
|
+
2. Select the project associated with your access token
|
|
93
|
+
|
|
94
|
+
3. Go to **Observability → Traces**
|
|
95
|
+
|
|
96
|
+
4. Use filters to find specific traces:
|
|
97
|
+
|
|
98
|
+
- Service name
|
|
99
|
+
- Time range
|
|
100
|
+
- Trace ID
|
|
101
|
+
- Error status
|
|
102
|
+
|
|
103
|
+
> **Note:** Traces are scoped to the project that issued the access token. To view traces, make sure you're viewing the same project you generated the token from.
|
|
104
|
+
|
|
105
|
+
### Features
|
|
106
|
+
|
|
107
|
+
- **Trace Timeline** - Visual execution flow
|
|
108
|
+
- **Span Details** - Inputs, outputs, metadata
|
|
109
|
+
- **Performance Metrics** - Latency, token usage
|
|
110
|
+
- **Team Collaboration** - Share trace links
|
|
111
|
+
|
|
112
|
+
## Performance
|
|
113
|
+
|
|
114
|
+
> **Info:** CloudExporter uses intelligent batching to optimize network usage. Traces are buffered and sent in batches, reducing overhead while maintaining near real-time visibility.
|
|
115
|
+
|
|
116
|
+
### Batching Behavior
|
|
117
|
+
|
|
118
|
+
- Traces are batched up to `maxBatchSize` (default: 1000)
|
|
119
|
+
- Batches are sent when full or after `maxBatchWaitMs` (default: 5 seconds)
|
|
120
|
+
- Failed batches are retried with exponential backoff
|
|
121
|
+
- Graceful degradation if Mastra Cloud is unreachable
|
|
122
|
+
|
|
123
|
+
## Related
|
|
124
|
+
|
|
125
|
+
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
|
|
126
|
+
- [DefaultExporter](https://mastra.ai/docs/observability/tracing/exporters/default)
|
|
127
|
+
- [Mastra Cloud Documentation](https://mastra.ai/docs/mastra-cloud/overview)
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Datadog Exporter
|
|
2
|
+
|
|
3
|
+
[Datadog](https://datadoghq.com/) is a comprehensive monitoring platform with dedicated LLM Observability features. The Datadog exporter sends your traces to Datadog's LLM Observability product, providing insights into model performance, token usage, and conversation flows.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
**npm**:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @mastra/datadog@latest
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**pnpm**:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm add @mastra/datadog@latest
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Yarn**:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
yarn add @mastra/datadog@latest
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Bun**:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
bun add @mastra/datadog@latest
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
### Prerequisites
|
|
34
|
+
|
|
35
|
+
1. **Datadog Account**: Sign up at [datadoghq.com](https://datadoghq.com/) with LLM Observability enabled
|
|
36
|
+
2. **API Key**: Get your API key from Datadog Organization Settings → API Keys
|
|
37
|
+
3. **Environment Variables**: Set your credentials
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
DD_API_KEY=your-datadog-api-key
|
|
41
|
+
DD_LLMOBS_ML_APP=my-llm-app
|
|
42
|
+
DD_SITE=datadoghq.com # Optional: defaults to datadoghq.com
|
|
43
|
+
DD_ENV=production # Optional: environment name
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Zero-Config Setup
|
|
47
|
+
|
|
48
|
+
With environment variables set, use the exporter with no configuration:
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { Mastra } from '@mastra/core'
|
|
52
|
+
import { Observability } from '@mastra/observability'
|
|
53
|
+
import { DatadogExporter } from '@mastra/datadog'
|
|
54
|
+
|
|
55
|
+
export const mastra = new Mastra({
|
|
56
|
+
observability: new Observability({
|
|
57
|
+
configs: {
|
|
58
|
+
datadog: {
|
|
59
|
+
serviceName: 'my-service',
|
|
60
|
+
exporters: [new DatadogExporter()],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
}),
|
|
64
|
+
})
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Explicit Configuration
|
|
68
|
+
|
|
69
|
+
You can also pass credentials directly (takes precedence over environment variables):
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
import { Mastra } from '@mastra/core'
|
|
73
|
+
import { Observability } from '@mastra/observability'
|
|
74
|
+
import { DatadogExporter } from '@mastra/datadog'
|
|
75
|
+
|
|
76
|
+
export const mastra = new Mastra({
|
|
77
|
+
observability: new Observability({
|
|
78
|
+
configs: {
|
|
79
|
+
datadog: {
|
|
80
|
+
serviceName: 'my-service',
|
|
81
|
+
exporters: [
|
|
82
|
+
new DatadogExporter({
|
|
83
|
+
mlApp: process.env.DD_LLMOBS_ML_APP!,
|
|
84
|
+
apiKey: process.env.DD_API_KEY!,
|
|
85
|
+
}),
|
|
86
|
+
],
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
}),
|
|
90
|
+
})
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Configuration Options
|
|
94
|
+
|
|
95
|
+
### Complete Configuration
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
new DatadogExporter({
|
|
99
|
+
// Required settings
|
|
100
|
+
mlApp: process.env.DD_LLMOBS_ML_APP!, // Groups traces under this ML app name
|
|
101
|
+
apiKey: process.env.DD_API_KEY!, // Required for agentless mode (default)
|
|
102
|
+
|
|
103
|
+
// Optional settings
|
|
104
|
+
site: 'datadoghq.com', // Datadog site (datadoghq.eu, us3.datadoghq.com, etc.)
|
|
105
|
+
service: 'my-service', // Service name (defaults to mlApp)
|
|
106
|
+
env: 'production', // Environment name
|
|
107
|
+
agentless: true, // true = direct HTTPS, false = local Datadog Agent
|
|
108
|
+
|
|
109
|
+
// Advanced settings
|
|
110
|
+
integrationsEnabled: false, // Enable dd-trace auto-instrumentation
|
|
111
|
+
|
|
112
|
+
// Diagnostic logging
|
|
113
|
+
logLevel: 'info', // debug | info | warn | error
|
|
114
|
+
})
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### With Local Datadog Agent
|
|
118
|
+
|
|
119
|
+
If you have a Datadog Agent running locally, you can route traces through it instead of direct HTTPS:
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
new DatadogExporter({
|
|
123
|
+
mlApp: process.env.DD_LLMOBS_ML_APP!,
|
|
124
|
+
agentless: false, // Use local Datadog Agent
|
|
125
|
+
env: 'production',
|
|
126
|
+
})
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Note: When using agent mode, the API key is read from the local agent's configuration.
|
|
130
|
+
|
|
131
|
+
## Span Type Mapping
|
|
132
|
+
|
|
133
|
+
Mastra span types are automatically mapped to Datadog LLMObs span kinds:
|
|
134
|
+
|
|
135
|
+
| Mastra SpanType | Datadog Kind |
|
|
136
|
+
| -------------------- | ------------ |
|
|
137
|
+
| `AGENT_RUN` | `agent` |
|
|
138
|
+
| `MODEL_GENERATION` | `workflow` |
|
|
139
|
+
| `MODEL_STEP` | `llm` |
|
|
140
|
+
| `TOOL_CALL` | `tool` |
|
|
141
|
+
| `MCP_TOOL_CALL` | `tool` |
|
|
142
|
+
| `WORKFLOW_RUN` | `workflow` |
|
|
143
|
+
| Other workflow types | `task` |
|
|
144
|
+
| `GENERIC` | `task` |
|
|
145
|
+
|
|
146
|
+
Other/future Mastra span types will default to 'task' when mapped unless specified.
|
|
147
|
+
|
|
148
|
+
## Troubleshooting
|
|
149
|
+
|
|
150
|
+
### Native module ABI mismatch
|
|
151
|
+
|
|
152
|
+
If you see errors like:
|
|
153
|
+
|
|
154
|
+
```text
|
|
155
|
+
Error: No native build was found for runtime=node abi=137 platform=linuxglibc arch=x64
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
This indicates a Node.js version compatibility issue with `dd-trace`'s native modules. These native modules are **optional** and provide performance monitoring features.
|
|
159
|
+
|
|
160
|
+
**Solutions:**
|
|
161
|
+
|
|
162
|
+
1. **Use Node.js 22.x**: Native modules have the best compatibility with Node.js 22.x.
|
|
163
|
+
|
|
164
|
+
2. **Ignore native module warnings**: The native modules (`@datadog/native-metrics`, `@datadog/native-appsec`, etc.) are optional. If they fail to load, core tracing functionality still works.
|
|
165
|
+
|
|
166
|
+
### Bundler externals configuration
|
|
167
|
+
|
|
168
|
+
When using bundlers like esbuild, webpack, or the Mastra CLI bundler, you may need to mark `dd-trace` and its dependencies as external:
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
export const mastra = new Mastra({
|
|
172
|
+
bundler: {
|
|
173
|
+
externals: [
|
|
174
|
+
'dd-trace',
|
|
175
|
+
'@datadog/native-metrics',
|
|
176
|
+
'@datadog/native-appsec',
|
|
177
|
+
'@datadog/native-iast-taint-tracking',
|
|
178
|
+
'@datadog/pprof',
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
})
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Related
|
|
185
|
+
|
|
186
|
+
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
|
|
187
|
+
- [Datadog LLM Observability Documentation](https://docs.datadoghq.com/llm_observability/)
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Default Exporter
|
|
2
|
+
|
|
3
|
+
The `DefaultExporter` persists traces to your configured storage backend, making them accessible through Studio. It's automatically enabled when using the default observability configuration and requires no external services.
|
|
4
|
+
|
|
5
|
+
> **Production Observability:** Observability data can quickly overwhelm general-purpose databases in production. For high-traffic applications, we recommend using **ClickHouse** for the observability storage domain via [composite storage](https://mastra.ai/reference/storage/composite). See [Production Recommendations](#production-recommendations) for details.
|
|
6
|
+
|
|
7
|
+
## Configuration
|
|
8
|
+
|
|
9
|
+
### Prerequisites
|
|
10
|
+
|
|
11
|
+
1. **Storage Backend**: Configure a storage provider (libSQL, PostgreSQL, etc.)
|
|
12
|
+
2. **Studio**: Install for viewing traces locally
|
|
13
|
+
|
|
14
|
+
### Basic Setup
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { Mastra } from '@mastra/core'
|
|
18
|
+
import { Observability, DefaultExporter } from '@mastra/observability'
|
|
19
|
+
import { LibSQLStore } from '@mastra/libsql'
|
|
20
|
+
|
|
21
|
+
export const mastra = new Mastra({
|
|
22
|
+
storage: new LibSQLStore({
|
|
23
|
+
id: 'mastra-storage',
|
|
24
|
+
url: 'file:./mastra.db', // Required for trace persistence
|
|
25
|
+
}),
|
|
26
|
+
observability: new Observability({
|
|
27
|
+
configs: {
|
|
28
|
+
local: {
|
|
29
|
+
serviceName: 'my-service',
|
|
30
|
+
exporters: [new DefaultExporter()],
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
}),
|
|
34
|
+
})
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Recommended Configuration
|
|
38
|
+
|
|
39
|
+
Include DefaultExporter in your observability configuration:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
import { Mastra } from '@mastra/core'
|
|
43
|
+
import {
|
|
44
|
+
Observability,
|
|
45
|
+
DefaultExporter,
|
|
46
|
+
CloudExporter,
|
|
47
|
+
SensitiveDataFilter,
|
|
48
|
+
} from '@mastra/observability'
|
|
49
|
+
import { LibSQLStore } from '@mastra/libsql'
|
|
50
|
+
|
|
51
|
+
export const mastra = new Mastra({
|
|
52
|
+
storage: new LibSQLStore({
|
|
53
|
+
id: 'mastra-storage',
|
|
54
|
+
url: 'file:./mastra.db',
|
|
55
|
+
}),
|
|
56
|
+
observability: new Observability({
|
|
57
|
+
configs: {
|
|
58
|
+
default: {
|
|
59
|
+
serviceName: 'mastra',
|
|
60
|
+
exporters: [
|
|
61
|
+
new DefaultExporter(), // Persists traces to storage for Mastra Studio
|
|
62
|
+
new CloudExporter(), // Sends traces to Mastra Cloud (requires MASTRA_CLOUD_ACCESS_TOKEN)
|
|
63
|
+
],
|
|
64
|
+
spanOutputProcessors: [new SensitiveDataFilter()],
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
}),
|
|
68
|
+
})
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Viewing Traces
|
|
72
|
+
|
|
73
|
+
### Studio
|
|
74
|
+
|
|
75
|
+
Access your traces through Studio:
|
|
76
|
+
|
|
77
|
+
1. Start Studio
|
|
78
|
+
2. Navigate to Observability
|
|
79
|
+
3. Filter and search your local traces
|
|
80
|
+
4. Inspect detailed span information
|
|
81
|
+
|
|
82
|
+
## Tracing Strategies
|
|
83
|
+
|
|
84
|
+
DefaultExporter automatically selects the optimal tracing strategy based on your storage provider. You can also override this selection if needed.
|
|
85
|
+
|
|
86
|
+
### Available Strategies
|
|
87
|
+
|
|
88
|
+
| Strategy | Description | Use Case |
|
|
89
|
+
| ---------------------- | --------------------------------------------------------- | ----------------------------------- |
|
|
90
|
+
| **realtime** | Process each event immediately | Development, debugging, low traffic |
|
|
91
|
+
| **batch-with-updates** | Buffer events and batch write with full lifecycle support | Low volume Production |
|
|
92
|
+
| **insert-only** | Only process completed spans, ignore updates | High volume Production |
|
|
93
|
+
|
|
94
|
+
### Strategy Configuration
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
new DefaultExporter({
|
|
98
|
+
strategy: 'auto', // Default - let storage provider decide
|
|
99
|
+
// or explicitly set:
|
|
100
|
+
// strategy: 'realtime' | 'batch-with-updates' | 'insert-only'
|
|
101
|
+
|
|
102
|
+
// Batching configuration (applies to both batch-with-updates and insert-only)
|
|
103
|
+
maxBatchSize: 1000, // Max spans per batch
|
|
104
|
+
maxBatchWaitMs: 5000, // Max wait before flushing
|
|
105
|
+
maxBufferSize: 10000, // Max spans to buffer
|
|
106
|
+
})
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Storage Provider Support
|
|
110
|
+
|
|
111
|
+
Different storage providers support different tracing strategies. Some providers support observability for production workloads, while others are intended primarily for local development.
|
|
112
|
+
|
|
113
|
+
If you set the strategy to `'auto'`, the `DefaultExporter` automatically selects the optimal strategy for the storage provider. If you set the strategy to a mode that the storage provider doesn't support, you will get an error message.
|
|
114
|
+
|
|
115
|
+
### Providers with Observability Support
|
|
116
|
+
|
|
117
|
+
| Storage Provider | Preferred Strategy | Supported Strategies | Recommended Use |
|
|
118
|
+
| ---------------------------------------------------------------- | ------------------ | ------------------------------- | ------------------------------------- |
|
|
119
|
+
| **ClickHouse** (`@mastra/clickhouse`) | insert-only | insert-only | Production (high-volume) |
|
|
120
|
+
| **[PostgreSQL](https://mastra.ai/reference/storage/postgresql)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
|
|
121
|
+
| **[MSSQL](https://mastra.ai/reference/storage/mssql)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
|
|
122
|
+
| **[MongoDB](https://mastra.ai/reference/storage/mongodb)** | batch-with-updates | batch-with-updates, insert-only | Production (low volume) |
|
|
123
|
+
| **[libSQL](https://mastra.ai/reference/storage/libsql)** | batch-with-updates | batch-with-updates, insert-only | Default storage, good for development |
|
|
124
|
+
|
|
125
|
+
### Providers without Observability Support
|
|
126
|
+
|
|
127
|
+
The following storage providers **do not support** the observability domain. If you're using one of these providers and need observability, use [composite storage](https://mastra.ai/reference/storage/composite) to route observability data to a supported provider:
|
|
128
|
+
|
|
129
|
+
- [Convex](https://mastra.ai/reference/storage/convex)
|
|
130
|
+
- [DynamoDB](https://mastra.ai/reference/storage/dynamodb)
|
|
131
|
+
- [Cloudflare D1](https://mastra.ai/reference/storage/cloudflare-d1)
|
|
132
|
+
- [Cloudflare Durable Objects](https://mastra.ai/reference/storage/cloudflare)
|
|
133
|
+
- [Upstash](https://mastra.ai/reference/storage/upstash)
|
|
134
|
+
- [LanceDB](https://mastra.ai/reference/storage/lance)
|
|
135
|
+
|
|
136
|
+
### Strategy Benefits
|
|
137
|
+
|
|
138
|
+
- **realtime**: Immediate visibility, best for debugging
|
|
139
|
+
- **batch-with-updates**: 10-100x throughput improvement, full span lifecycle
|
|
140
|
+
- **insert-only**: Additional 70% reduction in database operations, perfect for analytics
|
|
141
|
+
|
|
142
|
+
## Production Recommendations
|
|
143
|
+
|
|
144
|
+
Observability data grows quickly in production environments. A single agent interaction can generate hundreds of spans, and high-traffic applications can produce thousands of traces per day. Most general-purpose databases aren't optimized for this write-heavy, append-only workload.
|
|
145
|
+
|
|
146
|
+
### Recommended: ClickHouse for High-Volume Production
|
|
147
|
+
|
|
148
|
+
[ClickHouse](https://mastra.ai/reference/storage/composite) is a columnar database designed for high-volume analytics workloads. It's the recommended choice for production observability because:
|
|
149
|
+
|
|
150
|
+
- **Optimized for writes**: Handles millions of inserts per second
|
|
151
|
+
- **Efficient compression**: Reduces storage costs for trace data
|
|
152
|
+
- **Fast queries**: Columnar storage enables quick trace lookups and aggregations
|
|
153
|
+
- **Time-series native**: Built-in support for time-based data retention and partitioning
|
|
154
|
+
|
|
155
|
+
### Using Composite Storage
|
|
156
|
+
|
|
157
|
+
If you're using a provider without observability support (like Convex or DynamoDB) or want to optimize performance, use [composite storage](https://mastra.ai/reference/storage/composite) to route observability data to ClickHouse while keeping other data in your primary database.
|
|
158
|
+
|
|
159
|
+
## Batching Behavior
|
|
160
|
+
|
|
161
|
+
### Flush Triggers
|
|
162
|
+
|
|
163
|
+
For both batch strategies (`batch-with-updates` and `insert-only`), traces are flushed to storage when any of these conditions are met:
|
|
164
|
+
|
|
165
|
+
1. **Size trigger**: Buffer reaches `maxBatchSize` spans
|
|
166
|
+
2. **Time trigger**: `maxBatchWaitMs` elapsed since first event
|
|
167
|
+
3. **Emergency flush**: Buffer approaches `maxBufferSize` limit
|
|
168
|
+
4. **Shutdown**: Force flush all pending events
|
|
169
|
+
|
|
170
|
+
### Error Handling
|
|
171
|
+
|
|
172
|
+
The DefaultExporter includes robust error handling for production use:
|
|
173
|
+
|
|
174
|
+
- **Retry Logic**: Exponential backoff (500ms, 1s, 2s, 4s)
|
|
175
|
+
- **Transient Failures**: Automatic retry with backoff
|
|
176
|
+
- **Persistent Failures**: Drop batch after 4 failed attempts
|
|
177
|
+
- **Buffer Overflow**: Prevent memory issues during storage outages
|
|
178
|
+
|
|
179
|
+
### Configuration Examples
|
|
180
|
+
|
|
181
|
+
```typescript
|
|
182
|
+
// Zero config - recommended for most users
|
|
183
|
+
new DefaultExporter()
|
|
184
|
+
|
|
185
|
+
// Development override
|
|
186
|
+
new DefaultExporter({
|
|
187
|
+
strategy: 'realtime', // Immediate visibility for debugging
|
|
188
|
+
})
|
|
189
|
+
|
|
190
|
+
// High-throughput production
|
|
191
|
+
new DefaultExporter({
|
|
192
|
+
maxBatchSize: 2000, // Larger batches
|
|
193
|
+
maxBatchWaitMs: 10000, // Wait longer to fill batches
|
|
194
|
+
maxBufferSize: 50000, // Handle longer outages
|
|
195
|
+
})
|
|
196
|
+
|
|
197
|
+
// Low-latency production
|
|
198
|
+
new DefaultExporter({
|
|
199
|
+
maxBatchSize: 100, // Smaller batches
|
|
200
|
+
maxBatchWaitMs: 1000, // Flush quickly
|
|
201
|
+
})
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Related
|
|
205
|
+
|
|
206
|
+
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
|
|
207
|
+
- [CloudExporter](https://mastra.ai/docs/observability/tracing/exporters/cloud)
|
|
208
|
+
- [Composite Storage](https://mastra.ai/reference/storage/composite) - Combine multiple storage providers
|
|
209
|
+
- [Storage Configuration](https://mastra.ai/docs/memory/storage)
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Laminar Exporter
|
|
2
|
+
|
|
3
|
+
[Laminar](https://laminar.sh/) is an open-source platform for engineering LLM products. The Laminar exporter sends your Mastra traces to Laminar via OTLP/HTTP (protobuf), with Laminar-native span attributes for correct rendering (paths, inputs/outputs, tags, metadata).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
**npm**:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @mastra/laminar@beta
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**pnpm**:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm add @mastra/laminar@beta
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Yarn**:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
yarn add @mastra/laminar@beta
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Bun**:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
bun add @mastra/laminar@beta
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
### Prerequisites
|
|
34
|
+
|
|
35
|
+
1. **Laminar Project**: Create/select a project in Laminar
|
|
36
|
+
2. **Project API Key**: Copy from Laminar Project Settings
|
|
37
|
+
3. **Environment Variables**: Set your credentials
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Required
|
|
41
|
+
LMNR_PROJECT_API_KEY=lmnr_...
|
|
42
|
+
|
|
43
|
+
# Optional
|
|
44
|
+
LMNR_BASE_URL=https://api.lmnr.ai
|
|
45
|
+
LAMINAR_ENDPOINT=https://api.lmnr.ai/v1/traces
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Zero-Config Setup
|
|
49
|
+
|
|
50
|
+
With environment variables set, use the exporter with no configuration:
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
import { Mastra } from '@mastra/core'
|
|
54
|
+
import { Observability } from '@mastra/observability'
|
|
55
|
+
import { LaminarExporter } from '@mastra/laminar'
|
|
56
|
+
|
|
57
|
+
export const mastra = new Mastra({
|
|
58
|
+
observability: new Observability({
|
|
59
|
+
configs: {
|
|
60
|
+
laminar: {
|
|
61
|
+
serviceName: 'my-service',
|
|
62
|
+
exporters: [new LaminarExporter()],
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
}),
|
|
66
|
+
})
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Explicit Configuration
|
|
70
|
+
|
|
71
|
+
You can also pass credentials directly (takes precedence over environment variables):
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import { Mastra } from '@mastra/core'
|
|
75
|
+
import { Observability } from '@mastra/observability'
|
|
76
|
+
import { LaminarExporter } from '@mastra/laminar'
|
|
77
|
+
|
|
78
|
+
export const mastra = new Mastra({
|
|
79
|
+
observability: new Observability({
|
|
80
|
+
configs: {
|
|
81
|
+
laminar: {
|
|
82
|
+
serviceName: 'my-service',
|
|
83
|
+
exporters: [
|
|
84
|
+
new LaminarExporter({
|
|
85
|
+
apiKey: process.env.LMNR_PROJECT_API_KEY!,
|
|
86
|
+
baseUrl: process.env.LMNR_BASE_URL, // Optional
|
|
87
|
+
endpoint: process.env.LAMINAR_ENDPOINT, // Optional
|
|
88
|
+
realtime: process.env.NODE_ENV === 'development', // Optional
|
|
89
|
+
}),
|
|
90
|
+
],
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
}),
|
|
94
|
+
})
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Related
|
|
98
|
+
|
|
99
|
+
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
|
|
100
|
+
- [Laminar Documentation](https://docs.laminar.sh)
|