@mastra/mcp-docs-server 1.1.5 → 1.1.6
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 +16 -0
- package/package.json +6 -6
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# OpenTelemetry Bridge
|
|
2
|
+
|
|
3
|
+
> **Warning:** The OpenTelemetry Bridge is currently **experimental**. APIs and configuration options may change in future releases.
|
|
4
|
+
|
|
5
|
+
The OpenTelemetry (OTEL) Bridge enables bidirectional integration between Mastra's tracing system and existing OpenTelemetry infrastructure. Unlike exporters that send trace data to external platforms, the bridge creates native OTEL spans that participate in your distributed tracing context.
|
|
6
|
+
|
|
7
|
+
> **Looking to send traces without existing OTEL infrastructure?:** If you don't have existing OpenTelemetry instrumentation, the [OpenTelemetry Exporter](https://mastra.ai/docs/observability/tracing/exporters/otel) may be simpler — it sends traces directly without requiring an OTEL SDK setup.
|
|
8
|
+
|
|
9
|
+
## When to Use the Bridge
|
|
10
|
+
|
|
11
|
+
Use the OtelBridge when you:
|
|
12
|
+
|
|
13
|
+
- Have existing OTEL instrumentation in your application (HTTP servers, database clients, etc.)
|
|
14
|
+
- Want Mastra operations to appear as child spans of your existing OTEL traces
|
|
15
|
+
- Need OTEL-instrumented code inside Mastra tools to maintain proper parent-child relationships
|
|
16
|
+
- Are building a distributed system where trace context must propagate across services
|
|
17
|
+
|
|
18
|
+
## How It Works
|
|
19
|
+
|
|
20
|
+
The OtelBridge provides two-way integration:
|
|
21
|
+
|
|
22
|
+
**From OTEL to Mastra:**
|
|
23
|
+
|
|
24
|
+
- Reads from OTEL ambient context (AsyncLocalStorage) automatically
|
|
25
|
+
- Inherits trace ID and parent span ID from active OTEL spans
|
|
26
|
+
- Respects OTEL sampling decisions — if a trace is not sampled, Mastra won't create spans for it
|
|
27
|
+
- No manual trace ID passing required when OTEL auto-instrumentation is active
|
|
28
|
+
|
|
29
|
+
**From Mastra to OTEL:**
|
|
30
|
+
|
|
31
|
+
- Creates native OTEL spans for Mastra operations (agents, LLM calls, tools, workflows)
|
|
32
|
+
- Maintains proper parent-child relationships in distributed traces
|
|
33
|
+
- Allows OTEL-instrumented code (HTTP clients, database calls) within Mastra operations to nest correctly
|
|
34
|
+
|
|
35
|
+
## Installation
|
|
36
|
+
|
|
37
|
+
**npm**:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install @mastra/otel-bridge
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**pnpm**:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pnpm add @mastra/otel-bridge
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Yarn**:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
yarn add @mastra/otel-bridge
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Bun**:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
bun add @mastra/otel-bridge
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The bridge works with your existing OpenTelemetry setup. Depending on your configuration, you may also need some of these packages:
|
|
62
|
+
|
|
63
|
+
- `@opentelemetry/sdk-node` - Core Node.js SDK for OTEL
|
|
64
|
+
- `@opentelemetry/auto-instrumentations-node` - Auto-instrumentation for common libraries
|
|
65
|
+
- `@opentelemetry/exporter-trace-otlp-proto` - OTLP exporter (Protobuf over HTTP)
|
|
66
|
+
- `@opentelemetry/exporter-trace-otlp-http` - OTLP exporter (JSON over HTTP)
|
|
67
|
+
- `@opentelemetry/exporter-trace-otlp-grpc` - OTLP exporter (gRPC)
|
|
68
|
+
- `@opentelemetry/sdk-trace-base` - Base tracing SDK (for BatchSpanProcessor, etc.)
|
|
69
|
+
- `@opentelemetry/core` - Core utilities (for W3CTraceContextPropagator, etc.)
|
|
70
|
+
|
|
71
|
+
## Configuration
|
|
72
|
+
|
|
73
|
+
Using the OtelBridge requires two steps:
|
|
74
|
+
|
|
75
|
+
1. Configure OpenTelemetry instrumentation in your application
|
|
76
|
+
2. Add the OtelBridge to your Mastra observability config
|
|
77
|
+
|
|
78
|
+
### Step 1: OpenTelemetry Instrumentation
|
|
79
|
+
|
|
80
|
+
Create an instrumentation file that initializes OTEL. This must run before your application code:
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
import { NodeSDK } from '@opentelemetry/sdk-node'
|
|
84
|
+
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node'
|
|
85
|
+
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto'
|
|
86
|
+
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base'
|
|
87
|
+
import { W3CTraceContextPropagator } from '@opentelemetry/core'
|
|
88
|
+
|
|
89
|
+
const sdk = new NodeSDK({
|
|
90
|
+
serviceName: 'my-service',
|
|
91
|
+
spanProcessors: [
|
|
92
|
+
new BatchSpanProcessor(
|
|
93
|
+
new OTLPTraceExporter({
|
|
94
|
+
url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://localhost:4318/v1/traces',
|
|
95
|
+
}),
|
|
96
|
+
),
|
|
97
|
+
],
|
|
98
|
+
instrumentations: [getNodeAutoInstrumentations()],
|
|
99
|
+
textMapPropagator: new W3CTraceContextPropagator(),
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
sdk.start()
|
|
103
|
+
|
|
104
|
+
export { sdk }
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Step 2: Mastra Configuration
|
|
108
|
+
|
|
109
|
+
Add the OtelBridge to your Mastra observability config:
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
import { Mastra } from '@mastra/core'
|
|
113
|
+
import { Observability } from '@mastra/observability'
|
|
114
|
+
import { OtelBridge } from '@mastra/otel-bridge'
|
|
115
|
+
|
|
116
|
+
export const mastra = new Mastra({
|
|
117
|
+
observability: new Observability({
|
|
118
|
+
configs: {
|
|
119
|
+
default: {
|
|
120
|
+
serviceName: 'my-service',
|
|
121
|
+
bridge: new OtelBridge(),
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
}),
|
|
125
|
+
agents: {
|
|
126
|
+
/* your agents */
|
|
127
|
+
},
|
|
128
|
+
})
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
No Mastra exporters are required when using the bridge — traces are sent via your OTEL SDK configuration. You can optionally add Mastra exporters if you want to send traces to additional destinations.
|
|
132
|
+
|
|
133
|
+
### Running Your Application
|
|
134
|
+
|
|
135
|
+
Use the `--import` flag to ensure instrumentation loads before your application:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
tsx --import ./instrumentation.ts ./src/index.ts
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Semantic Conventions
|
|
142
|
+
|
|
143
|
+
The OtelBridge exports Mastra spans using [OpenTelemetry Semantic Conventions for GenAI v1.38.0](https://github.com/open-telemetry/semantic-conventions/tree/v1.38.0/docs/gen-ai). This includes standardized span names (`chat {model}`, `execute_tool {tool_name}`, etc.) and attributes (`gen_ai.usage.input_tokens`, `gen_ai.request.model`, etc.).
|
|
144
|
+
|
|
145
|
+
For details on span naming and attributes, see the [OpenTelemetry Exporter semantic conventions](https://mastra.ai/docs/observability/tracing/exporters/otel).
|
|
146
|
+
|
|
147
|
+
## Trace Hierarchy
|
|
148
|
+
|
|
149
|
+
With the OtelBridge, your traces maintain proper hierarchy across OTEL and Mastra boundaries:
|
|
150
|
+
|
|
151
|
+
```text
|
|
152
|
+
HTTP POST /api/chat (from Hono middleware)
|
|
153
|
+
└── agent.assistant (from Mastra via OtelBridge)
|
|
154
|
+
├── chat gpt-4o (LLM call)
|
|
155
|
+
├── tool.execute search (tool execution)
|
|
156
|
+
│ └── HTTP GET api.example.com (from OTEL auto-instrumentation)
|
|
157
|
+
└── chat gpt-4o (follow-up LLM call)
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Multi-Service Distributed Tracing
|
|
161
|
+
|
|
162
|
+
The OtelBridge enables trace propagation across service boundaries. When Service A calls Service B via HTTP, trace context propagates automatically:
|
|
163
|
+
|
|
164
|
+
```text
|
|
165
|
+
Service A: HTTP POST /api/process
|
|
166
|
+
└── HTTP POST service-b/api/analyze (outgoing call)
|
|
167
|
+
|
|
168
|
+
Service B: HTTP POST /api/analyze (incoming call - same trace!)
|
|
169
|
+
└── agent.analyzer (Mastra agent inherits trace context)
|
|
170
|
+
└── chat gpt-4o
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Both services must have:
|
|
174
|
+
|
|
175
|
+
1. OTEL instrumentation configured
|
|
176
|
+
2. W3C Trace Context propagator enabled
|
|
177
|
+
3. Mastra with OtelBridge configured
|
|
178
|
+
|
|
179
|
+
## Using Tags
|
|
180
|
+
|
|
181
|
+
Tags help you categorize and filter traces in your OTEL backend. Add tags when executing agents or workflows:
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
const result = await agent.generate('Hello', {
|
|
185
|
+
tracingOptions: {
|
|
186
|
+
tags: ['production', 'experiment-v2', 'user-request'],
|
|
187
|
+
},
|
|
188
|
+
})
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Tags are exported as a JSON string in the `mastra.tags` span attribute for broad backend compatibility. Common use cases include:
|
|
192
|
+
|
|
193
|
+
- Environment labels: `"production"`, `"staging"`
|
|
194
|
+
- Experiment tracking: `"experiment-v1"`, `"control-group"`
|
|
195
|
+
- Priority levels: `"priority-high"`, `"batch-job"`
|
|
196
|
+
|
|
197
|
+
## Troubleshooting
|
|
198
|
+
|
|
199
|
+
If traces aren't appearing or connecting as expected:
|
|
200
|
+
|
|
201
|
+
- Verify OTEL SDK is initialized before Mastra (use `--import` flag or import at top of entry point)
|
|
202
|
+
- Ensure the OtelBridge is added to your observability config
|
|
203
|
+
- Check that your OTEL backend is running and accessible
|
|
204
|
+
|
|
205
|
+
## Related
|
|
206
|
+
|
|
207
|
+
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
|
|
208
|
+
- [OpenTelemetry Exporter](https://mastra.ai/docs/observability/tracing/exporters/otel) - For sending traces to OTEL backends
|
|
209
|
+
- [OtelBridge Reference](https://mastra.ai/reference/observability/tracing/bridges/otel) - API documentation
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
# Arize Exporter
|
|
2
|
+
|
|
3
|
+
[Arize](https://arize.com/) provides observability platforms for AI applications through [Phoenix](https://phoenix.arize.com/) (open-source) and [Arize AX](https://arize.com/generative-ai/) (enterprise). The Arize exporter sends traces using OpenTelemetry and [OpenInference](https://github.com/Arize-ai/openinference/tree/main/spec) semantic conventions, compatible with any OpenTelemetry platform that supports OpenInference.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
**npm**:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @mastra/arize@latest
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**pnpm**:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm add @mastra/arize@latest
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Yarn**:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
yarn add @mastra/arize@latest
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Bun**:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
bun add @mastra/arize@latest
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
### Phoenix Setup
|
|
34
|
+
|
|
35
|
+
Phoenix is an open-source observability platform that can be self-hosted or used via Phoenix Cloud.
|
|
36
|
+
|
|
37
|
+
#### Prerequisites
|
|
38
|
+
|
|
39
|
+
1. **Phoenix Instance**: Deploy using Docker or sign up at [Phoenix Cloud](https://app.phoenix.arize.com/login)
|
|
40
|
+
2. **Endpoint**: Your Phoenix endpoint URL (ends in `/v1/traces`)
|
|
41
|
+
3. **API Key**: Optional for unauthenticated instances, required for Phoenix Cloud
|
|
42
|
+
4. **Environment Variables**: Set your configuration
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Required
|
|
46
|
+
PHOENIX_ENDPOINT=http://localhost:6006/v1/traces # Or your Phoenix Cloud URL
|
|
47
|
+
|
|
48
|
+
# Optional
|
|
49
|
+
PHOENIX_API_KEY=your-api-key # For authenticated Phoenix instances
|
|
50
|
+
PHOENIX_PROJECT_NAME=mastra-service # Defaults to 'mastra-service'
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### Zero-Config Setup
|
|
54
|
+
|
|
55
|
+
With environment variables set, use the exporter with no configuration:
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
import { Mastra } from '@mastra/core'
|
|
59
|
+
import { Observability } from '@mastra/observability'
|
|
60
|
+
import { ArizeExporter } from '@mastra/arize'
|
|
61
|
+
|
|
62
|
+
export const mastra = new Mastra({
|
|
63
|
+
observability: new Observability({
|
|
64
|
+
configs: {
|
|
65
|
+
arize: {
|
|
66
|
+
serviceName: 'mastra-service',
|
|
67
|
+
exporters: [new ArizeExporter()],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
}),
|
|
71
|
+
})
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
#### Explicit Configuration
|
|
75
|
+
|
|
76
|
+
You can also pass credentials directly (takes precedence over environment variables):
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
import { Mastra } from '@mastra/core'
|
|
80
|
+
import { Observability } from '@mastra/observability'
|
|
81
|
+
import { ArizeExporter } from '@mastra/arize'
|
|
82
|
+
|
|
83
|
+
export const mastra = new Mastra({
|
|
84
|
+
observability: new Observability({
|
|
85
|
+
configs: {
|
|
86
|
+
arize: {
|
|
87
|
+
serviceName: process.env.PHOENIX_PROJECT_NAME || 'mastra-service',
|
|
88
|
+
exporters: [
|
|
89
|
+
new ArizeExporter({
|
|
90
|
+
endpoint: process.env.PHOENIX_ENDPOINT!,
|
|
91
|
+
apiKey: process.env.PHOENIX_API_KEY,
|
|
92
|
+
projectName: process.env.PHOENIX_PROJECT_NAME,
|
|
93
|
+
}),
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
}),
|
|
98
|
+
})
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
> **Quick Start with Docker:** Test locally with an in-memory Phoenix instance:
|
|
102
|
+
>
|
|
103
|
+
> ```bash
|
|
104
|
+
> docker run --pull=always -d --name arize-phoenix -p 6006:6006 \
|
|
105
|
+
> -e PHOENIX_SQL_DATABASE_URL="sqlite:///:memory:" \
|
|
106
|
+
> arizephoenix/phoenix:latest
|
|
107
|
+
> ```
|
|
108
|
+
>
|
|
109
|
+
> Set `PHOENIX_ENDPOINT=http://localhost:6006/v1/traces` and run your Mastra agent to see traces at [localhost:6006](http://localhost:6006).
|
|
110
|
+
|
|
111
|
+
### Arize AX Setup
|
|
112
|
+
|
|
113
|
+
Arize AX is an enterprise observability platform with advanced features for production AI systems.
|
|
114
|
+
|
|
115
|
+
#### Prerequisites
|
|
116
|
+
|
|
117
|
+
1. **Arize AX Account**: Sign up at [app.arize.com](https://app.arize.com/)
|
|
118
|
+
2. **Space ID**: Your organization's space identifier
|
|
119
|
+
3. **API Key**: Generate in Arize AX settings
|
|
120
|
+
4. **Environment Variables**: Set your credentials
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Required
|
|
124
|
+
ARIZE_SPACE_ID=your-space-id
|
|
125
|
+
ARIZE_API_KEY=your-api-key
|
|
126
|
+
|
|
127
|
+
# Optional
|
|
128
|
+
ARIZE_PROJECT_NAME=mastra-service
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
#### Zero-Config Setup
|
|
132
|
+
|
|
133
|
+
With environment variables set, use the exporter with no configuration:
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
import { Mastra } from '@mastra/core'
|
|
137
|
+
import { Observability } from '@mastra/observability'
|
|
138
|
+
import { ArizeExporter } from '@mastra/arize'
|
|
139
|
+
|
|
140
|
+
export const mastra = new Mastra({
|
|
141
|
+
observability: new Observability({
|
|
142
|
+
configs: {
|
|
143
|
+
arize: {
|
|
144
|
+
serviceName: 'mastra-service',
|
|
145
|
+
exporters: [new ArizeExporter()],
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
}),
|
|
149
|
+
})
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### Explicit Configuration
|
|
153
|
+
|
|
154
|
+
You can also pass credentials directly (takes precedence over environment variables):
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
import { Mastra } from '@mastra/core'
|
|
158
|
+
import { Observability } from '@mastra/observability'
|
|
159
|
+
import { ArizeExporter } from '@mastra/arize'
|
|
160
|
+
|
|
161
|
+
export const mastra = new Mastra({
|
|
162
|
+
observability: new Observability({
|
|
163
|
+
configs: {
|
|
164
|
+
arize: {
|
|
165
|
+
serviceName: process.env.ARIZE_PROJECT_NAME || 'mastra-service',
|
|
166
|
+
exporters: [
|
|
167
|
+
new ArizeExporter({
|
|
168
|
+
apiKey: process.env.ARIZE_API_KEY!,
|
|
169
|
+
spaceId: process.env.ARIZE_SPACE_ID!,
|
|
170
|
+
projectName: process.env.ARIZE_PROJECT_NAME,
|
|
171
|
+
}),
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
}),
|
|
176
|
+
})
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Configuration Options
|
|
180
|
+
|
|
181
|
+
The Arize exporter supports advanced configuration for fine-tuning OpenTelemetry behavior:
|
|
182
|
+
|
|
183
|
+
### Complete Configuration
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
new ArizeExporter({
|
|
187
|
+
// Phoenix Configuration
|
|
188
|
+
endpoint: 'https://your-collector.example.com/v1/traces', // Required for Phoenix
|
|
189
|
+
|
|
190
|
+
// Arize AX Configuration
|
|
191
|
+
spaceId: 'your-space-id', // Required for Arize AX
|
|
192
|
+
|
|
193
|
+
// Shared Configuration
|
|
194
|
+
apiKey: 'your-api-key', // Required for authenticated endpoints
|
|
195
|
+
projectName: 'mastra-service', // Optional project name
|
|
196
|
+
|
|
197
|
+
// Optional OTLP settings
|
|
198
|
+
headers: {
|
|
199
|
+
'x-custom-header': 'value', // Additional headers for OTLP requests
|
|
200
|
+
},
|
|
201
|
+
|
|
202
|
+
// Debug and performance tuning
|
|
203
|
+
logLevel: 'debug', // Logging: debug | info | warn | error
|
|
204
|
+
batchSize: 512, // Batch size before exporting spans
|
|
205
|
+
timeout: 30000, // Timeout in ms before exporting spans
|
|
206
|
+
|
|
207
|
+
// Custom resource attributes
|
|
208
|
+
resourceAttributes: {
|
|
209
|
+
'deployment.environment': process.env.NODE_ENV,
|
|
210
|
+
'service.version': process.env.APP_VERSION,
|
|
211
|
+
},
|
|
212
|
+
})
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Batch Processing Options
|
|
216
|
+
|
|
217
|
+
Control how traces are batched and exported:
|
|
218
|
+
|
|
219
|
+
```typescript
|
|
220
|
+
new ArizeExporter({
|
|
221
|
+
endpoint: process.env.PHOENIX_ENDPOINT!,
|
|
222
|
+
apiKey: process.env.PHOENIX_API_KEY,
|
|
223
|
+
|
|
224
|
+
// Batch processing configuration
|
|
225
|
+
batchSize: 512, // Number of spans to batch (default: 512)
|
|
226
|
+
timeout: 30000, // Max time in ms to wait before export (default: 30000)
|
|
227
|
+
})
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Resource Attributes
|
|
231
|
+
|
|
232
|
+
Add custom attributes to all exported spans:
|
|
233
|
+
|
|
234
|
+
```typescript
|
|
235
|
+
new ArizeExporter({
|
|
236
|
+
endpoint: process.env.PHOENIX_ENDPOINT!,
|
|
237
|
+
resourceAttributes: {
|
|
238
|
+
'deployment.environment': process.env.NODE_ENV,
|
|
239
|
+
'service.namespace': 'production',
|
|
240
|
+
'service.instance.id': process.env.HOSTNAME,
|
|
241
|
+
'custom.attribute': 'value',
|
|
242
|
+
},
|
|
243
|
+
})
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Custom metadata
|
|
247
|
+
|
|
248
|
+
Non-reserved span attributes are serialized into the OpenInference `metadata` payload and surface in Arize/Phoenix. You can add them via `tracingOptions.metadata`:
|
|
249
|
+
|
|
250
|
+
```ts
|
|
251
|
+
await agent.generate(input, {
|
|
252
|
+
tracingOptions: {
|
|
253
|
+
metadata: {
|
|
254
|
+
companyId: 'acme-co',
|
|
255
|
+
tier: 'enterprise',
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
})
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Reserved fields such as `input`, `output`, `sessionId`, thread/user IDs, and OpenInference IDs are excluded automatically.
|
|
262
|
+
|
|
263
|
+
## OpenInference Semantic Conventions
|
|
264
|
+
|
|
265
|
+
This exporter implements the [OpenInference Semantic Conventions](https://github.com/Arize-ai/openinference/tree/main/spec) for generative AI applications, providing standardized trace structure across different observability platforms.
|
|
266
|
+
|
|
267
|
+
## Related
|
|
268
|
+
|
|
269
|
+
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
|
|
270
|
+
- [Phoenix Documentation](https://docs.arize.com/phoenix)
|
|
271
|
+
- [Arize AX Documentation](https://docs.arize.com/)
|
|
272
|
+
- [OpenInference Specification](https://github.com/Arize-ai/openinference/tree/main/spec)
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Braintrust Exporter
|
|
2
|
+
|
|
3
|
+
[Braintrust](https://www.braintrust.dev/) is an evaluation and monitoring platform that helps you measure and improve LLM application quality. The Braintrust exporter sends your traces to Braintrust, enabling systematic evaluation, scoring, and experimentation.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
**npm**:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @mastra/braintrust@latest
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**pnpm**:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm add @mastra/braintrust@latest
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Yarn**:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
yarn add @mastra/braintrust@latest
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Bun**:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
bun add @mastra/braintrust@latest
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
### Prerequisites
|
|
34
|
+
|
|
35
|
+
1. **Braintrust Account**: Sign up at [braintrust.dev](https://www.braintrust.dev/)
|
|
36
|
+
2. **Project**: Create or select a project for your traces
|
|
37
|
+
3. **API Key**: Generate in Braintrust Settings → API Keys
|
|
38
|
+
4. **Environment Variables**: Set your credentials:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
BRAINTRUST_API_KEY=sk-xxxxxxxxxxxxxxxx
|
|
42
|
+
|
|
43
|
+
# Optional
|
|
44
|
+
BRAINTRUST_ENDPOINT=https://api.braintrust.dev # Custom endpoint if needed
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Zero-Config Setup
|
|
48
|
+
|
|
49
|
+
With environment variables set, use the exporter with no configuration:
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
import { Mastra } from '@mastra/core'
|
|
53
|
+
import { Observability } from '@mastra/observability'
|
|
54
|
+
import { BraintrustExporter } from '@mastra/braintrust'
|
|
55
|
+
|
|
56
|
+
export const mastra = new Mastra({
|
|
57
|
+
observability: new Observability({
|
|
58
|
+
configs: {
|
|
59
|
+
braintrust: {
|
|
60
|
+
serviceName: 'my-service',
|
|
61
|
+
exporters: [new BraintrustExporter()],
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
}),
|
|
65
|
+
})
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Explicit Configuration
|
|
69
|
+
|
|
70
|
+
You can also pass credentials directly (takes precedence over environment variables):
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
import { Mastra } from '@mastra/core'
|
|
74
|
+
import { Observability } from '@mastra/observability'
|
|
75
|
+
import { BraintrustExporter } from '@mastra/braintrust'
|
|
76
|
+
|
|
77
|
+
export const mastra = new Mastra({
|
|
78
|
+
observability: new Observability({
|
|
79
|
+
configs: {
|
|
80
|
+
braintrust: {
|
|
81
|
+
serviceName: 'my-service',
|
|
82
|
+
exporters: [
|
|
83
|
+
new BraintrustExporter({
|
|
84
|
+
apiKey: process.env.BRAINTRUST_API_KEY,
|
|
85
|
+
projectName: 'my-project',
|
|
86
|
+
}),
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
}),
|
|
91
|
+
})
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Complete Configuration
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
new BraintrustExporter({
|
|
98
|
+
// Required
|
|
99
|
+
apiKey: process.env.BRAINTRUST_API_KEY!,
|
|
100
|
+
|
|
101
|
+
// Optional settings
|
|
102
|
+
projectName: 'my-project', // Default: 'mastra-tracing'
|
|
103
|
+
endpoint: 'https://api.braintrust.dev', // Custom endpoint if needed
|
|
104
|
+
logLevel: 'info', // Diagnostic logging: debug | info | warn | error
|
|
105
|
+
})
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Related
|
|
109
|
+
|
|
110
|
+
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview)
|
|
111
|
+
- [Braintrust Documentation](https://www.braintrust.dev/docs)
|