@mastra/mcp-docs-server 1.0.0-beta.0 → 1.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -15
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -7
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -55
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +250 -50
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +396 -196
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +200 -0
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +251 -51
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Freact.md +128 -1
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +251 -51
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
- package/.docs/organized/changelogs/create-mastra.md +201 -1
- package/.docs/organized/changelogs/mastra.md +201 -1
- package/.docs/organized/code-examples/agui.md +1 -0
- package/.docs/organized/code-examples/ai-elements.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -2
- package/.docs/organized/code-examples/assistant-ui.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +2 -2
- package/.docs/organized/code-examples/client-side-tools.md +1 -1
- package/.docs/organized/code-examples/crypto-chatbot.md +2 -2
- package/.docs/organized/code-examples/fireworks-r1.md +1 -1
- package/.docs/organized/code-examples/heads-up-game.md +1 -1
- package/.docs/organized/code-examples/mcp-configuration.md +0 -3
- package/.docs/organized/code-examples/mcp-server-adapters.md +720 -0
- package/.docs/organized/code-examples/memory-per-resource-example.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +1 -1
- package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
- package/.docs/organized/code-examples/quick-start.md +2 -2
- package/.docs/organized/code-examples/server-app-access.md +342 -0
- package/.docs/organized/code-examples/server-express-adapter.md +87 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
- package/.docs/organized/code-examples/stock-price-tool.md +1 -21
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +56 -10
- package/.docs/raw/agents/agent-approval.mdx +189 -0
- package/.docs/raw/agents/agent-memory.mdx +2 -2
- package/.docs/raw/agents/guardrails.mdx +27 -24
- package/.docs/raw/agents/networks.mdx +3 -3
- package/.docs/raw/agents/overview.mdx +19 -168
- package/.docs/raw/agents/processors.mdx +279 -0
- package/.docs/raw/agents/structured-output.mdx +224 -0
- package/.docs/raw/agents/using-tools.mdx +14 -14
- package/.docs/raw/auth/auth0.mdx +2 -2
- package/.docs/raw/auth/clerk.mdx +2 -2
- package/.docs/raw/auth/firebase.mdx +2 -2
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +2 -2
- package/.docs/raw/auth/supabase.mdx +2 -2
- package/.docs/raw/auth/workos.mdx +2 -2
- package/.docs/raw/community/contributing-templates.mdx +1 -1
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/01-first-agent/03-verifying-installation.md +1 -1
- package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
- package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
- package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
- package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
- package/.docs/raw/course/02-agent-tools-mcp/02-installing-mcp.md +1 -1
- package/.docs/raw/course/03-agent-memory/03-installing-memory.md +1 -1
- package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
- package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +4 -4
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +4 -4
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +2 -2
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +46 -15
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +2 -2
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
- package/.docs/raw/deployment/monorepo.mdx +3 -3
- package/.docs/raw/deployment/overview.mdx +7 -7
- package/.docs/raw/deployment/web-framework.mdx +6 -6
- package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
- package/.docs/raw/evals/custom-scorers.mdx +4 -6
- package/.docs/raw/evals/overview.mdx +6 -7
- package/.docs/raw/evals/running-in-ci.mdx +2 -4
- package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +15 -89
- package/.docs/raw/getting-started/mcp-docs-server.mdx +6 -6
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +72 -0
- package/.docs/raw/getting-started/studio.mdx +8 -6
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
- package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +72 -20
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +28 -30
- package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
- package/.docs/raw/guides/getting-started/next-js.mdx +276 -0
- package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +28 -30
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +12 -12
- package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
- package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +3 -3
- package/.docs/raw/guides/guide/research-assistant.mdx +8 -18
- package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
- package/.docs/raw/guides/guide/web-search.mdx +12 -10
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
- package/.docs/raw/guides/index.mdx +3 -35
- package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +56 -6
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +29 -5
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +3 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +59 -37
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +70 -5
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +13 -13
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +175 -2
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
- package/.docs/raw/index.mdx +4 -4
- package/.docs/raw/mcp/overview.mdx +358 -0
- package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
- package/.docs/raw/memory/conversation-history.mdx +1 -1
- package/.docs/raw/memory/memory-processors.mdx +265 -80
- package/.docs/raw/memory/overview.mdx +3 -3
- package/.docs/raw/memory/semantic-recall.mdx +10 -10
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +5 -10
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
- package/.docs/raw/memory/storage/memory-with-pg.mdx +5 -10
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +5 -10
- package/.docs/raw/memory/threads-and-resources.mdx +4 -4
- package/.docs/raw/memory/working-memory.mdx +16 -8
- package/.docs/raw/{logging.mdx → observability/logging.mdx} +8 -8
- package/.docs/raw/observability/overview.mdx +5 -6
- package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
- package/.docs/raw/observability/tracing/exporters/arize.mdx +39 -3
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +22 -3
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +4 -4
- package/.docs/raw/observability/tracing/exporters/default.mdx +6 -6
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +86 -3
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +15 -3
- package/.docs/raw/observability/tracing/exporters/otel.mdx +128 -30
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
- package/.docs/raw/observability/tracing/overview.mdx +100 -29
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +2 -3
- package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
- package/.docs/raw/rag/overview.mdx +5 -4
- package/.docs/raw/rag/retrieval.mdx +44 -39
- package/.docs/raw/rag/vector-databases.mdx +94 -3
- package/.docs/raw/reference/agents/agent.mdx +10 -14
- package/.docs/raw/reference/agents/generate.mdx +67 -99
- package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
- package/.docs/raw/reference/agents/getLLM.mdx +2 -2
- package/.docs/raw/reference/agents/getMemory.mdx +1 -1
- package/.docs/raw/reference/agents/getModel.mdx +1 -1
- package/.docs/raw/reference/agents/getTools.mdx +69 -0
- package/.docs/raw/reference/agents/getVoice.mdx +1 -1
- package/.docs/raw/reference/agents/listAgents.mdx +1 -1
- package/.docs/raw/reference/agents/listScorers.mdx +1 -1
- package/.docs/raw/reference/agents/listTools.mdx +2 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/agents/network.mdx +33 -72
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
- package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
- package/.docs/raw/reference/auth/auth0.mdx +1 -1
- package/.docs/raw/reference/auth/clerk.mdx +1 -1
- package/.docs/raw/reference/auth/firebase.mdx +1 -1
- package/.docs/raw/reference/auth/jwt.mdx +1 -1
- package/.docs/raw/reference/auth/supabase.mdx +1 -1
- package/.docs/raw/reference/auth/workos.mdx +1 -1
- package/.docs/raw/reference/cli/create-mastra.mdx +11 -11
- package/.docs/raw/reference/cli/mastra.mdx +25 -12
- package/.docs/raw/reference/client-js/agents.mdx +252 -68
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +4 -4
- package/.docs/raw/reference/client-js/memory.mdx +48 -2
- package/.docs/raw/reference/client-js/observability.mdx +1 -1
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +93 -64
- package/.docs/raw/reference/core/addGateway.mdx +59 -0
- package/.docs/raw/reference/core/getAgent.mdx +1 -1
- package/.docs/raw/reference/core/getAgentById.mdx +1 -1
- package/.docs/raw/reference/core/getDeployer.mdx +1 -1
- package/.docs/raw/reference/core/getGateway.mdx +59 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
- package/.docs/raw/reference/core/getLogger.mdx +3 -3
- package/.docs/raw/reference/core/getMCPServer.mdx +4 -4
- package/.docs/raw/reference/core/getMCPServerById.mdx +5 -5
- package/.docs/raw/reference/core/getMemory.mdx +73 -0
- package/.docs/raw/reference/core/getScorer.mdx +1 -1
- package/.docs/raw/reference/core/getScorerById.mdx +1 -1
- package/.docs/raw/reference/core/getServer.mdx +2 -2
- package/.docs/raw/reference/core/getStorage.mdx +1 -1
- package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
- package/.docs/raw/reference/core/getTelemetry.mdx +3 -3
- package/.docs/raw/reference/core/getVector.mdx +1 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listGateways.mdx +53 -0
- package/.docs/raw/reference/core/listLogs.mdx +3 -3
- package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -3
- package/.docs/raw/reference/core/listMCPServers.mdx +5 -5
- package/.docs/raw/reference/core/listMemory.mdx +70 -0
- package/.docs/raw/reference/core/listScorers.mdx +1 -1
- package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/mastra-class.mdx +17 -1
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
- package/.docs/raw/reference/core/setLogger.mdx +3 -3
- package/.docs/raw/reference/core/setStorage.mdx +1 -1
- package/.docs/raw/reference/core/setTelemetry.mdx +3 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
- package/.docs/raw/reference/deployer/deployer.mdx +1 -1
- package/.docs/raw/reference/deployer/netlify.mdx +2 -3
- package/.docs/raw/reference/deployer/vercel.mdx +1 -1
- package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
- package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
- package/.docs/raw/reference/evals/bias.mdx +30 -88
- package/.docs/raw/reference/evals/completeness.mdx +32 -91
- package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
- package/.docs/raw/reference/evals/context-precision.mdx +29 -131
- package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
- package/.docs/raw/reference/evals/create-scorer.mdx +59 -50
- package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
- package/.docs/raw/reference/evals/hallucination.mdx +29 -104
- package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
- package/.docs/raw/reference/evals/mastra-scorer.mdx +3 -1
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
- package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
- package/.docs/raw/reference/evals/run-evals.mdx +1 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
- package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
- package/.docs/raw/reference/evals/toxicity.mdx +30 -93
- package/.docs/raw/reference/index.mdx +1 -0
- package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +1 -1
- package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
- package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
- package/.docs/raw/reference/memory/memory-class.mdx +6 -8
- package/.docs/raw/reference/memory/query.mdx +1 -1
- package/.docs/raw/reference/memory/recall.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +12 -16
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +31 -2
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +9 -9
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +9 -9
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +9 -9
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +8 -12
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +36 -11
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/spans.mdx +7 -11
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +10 -4
- package/.docs/raw/reference/processors/language-detector.mdx +19 -6
- package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
- package/.docs/raw/reference/processors/moderation-processor.mdx +21 -8
- package/.docs/raw/reference/processors/pii-detector.mdx +21 -8
- package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +19 -6
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +12 -7
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +11 -5
- package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +10 -4
- package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
- package/.docs/raw/reference/rag/chunk.mdx +1 -1
- package/.docs/raw/reference/rag/database-config.mdx +1 -1
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +6 -6
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +1 -1
- package/.docs/raw/reference/rag/rerank.mdx +2 -3
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
- package/.docs/raw/reference/server/create-route.mdx +328 -0
- package/.docs/raw/reference/server/express-adapter.mdx +260 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
- package/.docs/raw/reference/server/mastra-server.mdx +345 -0
- package/.docs/raw/reference/server/routes.mdx +250 -0
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +39 -2
- package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
- package/.docs/raw/reference/storage/convex.mdx +164 -0
- package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
- package/.docs/raw/reference/storage/lance.mdx +35 -2
- package/.docs/raw/reference/storage/libsql.mdx +39 -2
- package/.docs/raw/reference/storage/mongodb.mdx +41 -2
- package/.docs/raw/reference/storage/mssql.mdx +39 -2
- package/.docs/raw/reference/storage/postgresql.mdx +39 -2
- package/.docs/raw/reference/storage/upstash.mdx +2 -2
- package/.docs/raw/reference/streaming/ChunkType.mdx +2 -2
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +68 -95
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
- package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
- package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
- package/.docs/raw/reference/templates/overview.mdx +3 -6
- package/.docs/raw/reference/tools/client.mdx +2 -3
- package/.docs/raw/reference/tools/create-tool.mdx +135 -4
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
- package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
- package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
- package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +82 -2
- package/.docs/raw/reference/vectors/convex.mdx +429 -0
- package/.docs/raw/reference/vectors/couchbase.mdx +33 -20
- package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
- package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
- package/.docs/raw/reference/vectors/lance.mdx +39 -23
- package/.docs/raw/reference/vectors/libsql.mdx +37 -4
- package/.docs/raw/reference/vectors/mongodb.mdx +43 -4
- package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
- package/.docs/raw/reference/vectors/pg.mdx +44 -37
- package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
- package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
- package/.docs/raw/reference/vectors/s3vectors.mdx +2 -2
- package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
- package/.docs/raw/reference/vectors/upstash.mdx +1 -1
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +96 -81
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
- package/.docs/raw/reference/voice/google.mdx +160 -21
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +3 -3
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -4
- package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
- package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
- package/.docs/raw/reference/voice/voice.close.mdx +2 -2
- package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
- package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
- package/.docs/raw/reference/voice/voice.off.mdx +2 -2
- package/.docs/raw/reference/voice/voice.on.mdx +2 -2
- package/.docs/raw/reference/voice/voice.send.mdx +2 -2
- package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
- package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
- package/.docs/raw/reference/workflows/run.mdx +28 -6
- package/.docs/raw/reference/workflows/step.mdx +65 -1
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow.mdx +21 -2
- package/.docs/raw/server-db/custom-adapters.mdx +386 -0
- package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
- package/.docs/raw/server-db/mastra-client.mdx +7 -8
- package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +16 -8
- package/.docs/raw/server-db/middleware.mdx +31 -31
- package/.docs/raw/server-db/request-context.mdx +3 -4
- package/.docs/raw/server-db/server-adapters.mdx +312 -0
- package/.docs/raw/server-db/storage.mdx +12 -1
- package/.docs/raw/streaming/events.mdx +1 -1
- package/.docs/raw/streaming/overview.mdx +27 -16
- package/.docs/raw/streaming/tool-streaming.mdx +58 -19
- package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
- package/.docs/raw/tools-mcp/mcp-overview.mdx +5 -7
- package/.docs/raw/tools-mcp/overview.mdx +1 -1
- package/.docs/raw/voice/overview.mdx +88 -41
- package/.docs/raw/voice/speech-to-speech.mdx +5 -5
- package/.docs/raw/voice/speech-to-text.mdx +3 -4
- package/.docs/raw/voice/text-to-speech.mdx +3 -4
- package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
- package/.docs/raw/workflows/control-flow.mdx +186 -1
- package/.docs/raw/workflows/error-handling.mdx +5 -4
- package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
- package/.docs/raw/workflows/inngest-workflow.mdx +2 -2
- package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
- package/.docs/raw/workflows/overview.mdx +67 -47
- package/.docs/raw/workflows/snapshots.mdx +5 -3
- package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
- package/.docs/raw/workflows/time-travel.mdx +313 -0
- package/.docs/raw/workflows/workflow-state.mdx +190 -0
- package/CHANGELOG.md +88 -0
- package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
- package/dist/prepare-docs/package-changes.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/stdio.js +17 -19
- package/package.json +11 -15
- package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
- package/.docs/raw/getting-started/templates.mdx +0 -73
- package/.docs/raw/mastra-cloud/observability.mdx +0 -51
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
|
@@ -1,42 +1,61 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "OpenTelemetry Exporter | Tracing | Observability
|
|
2
|
+
title: "OpenTelemetry Exporter | Tracing | Observability"
|
|
3
3
|
description: "Send traces to any OpenTelemetry-compatible observability platform"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# OpenTelemetry Exporter
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
The OpenTelemetry (OTEL) exporter sends your traces to any OTEL-compatible observability platform using standardized [OpenTelemetry Semantic Conventions for GenAI](https://opentelemetry.io/docs/specs/semconv/gen-ai/). This ensures broad compatibility with platforms like Datadog, New Relic, SigNoz, MLflow, Dash0, Traceloop, Laminar, and more.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
:::info Looking for bidirectional OTEL integration?
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
If you have existing OpenTelemetry instrumentation and want Mastra traces to inherit context from active OTEL spans, see the [OpenTelemetry Bridge](/docs/v1/observability/tracing/bridges/otel) instead.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
:::
|
|
15
15
|
|
|
16
16
|
## Installation
|
|
17
17
|
|
|
18
18
|
Each provider requires specific protocol packages. Install the base exporter plus the protocol package for your provider:
|
|
19
19
|
|
|
20
|
-
### For HTTP/Protobuf Providers (SigNoz, New Relic, Laminar)
|
|
20
|
+
### For HTTP/Protobuf Providers (SigNoz, New Relic, Laminar, MLflow)
|
|
21
21
|
|
|
22
22
|
```bash npm2yarn
|
|
23
|
-
npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-proto
|
|
23
|
+
npm install @mastra/otel-exporter@beta @opentelemetry/exporter-trace-otlp-proto
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
### For gRPC Providers (Dash0)
|
|
26
|
+
### For gRPC Providers (Dash0, Datadog)
|
|
27
27
|
|
|
28
28
|
```bash npm2yarn
|
|
29
|
-
npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-grpc @grpc/grpc-js
|
|
29
|
+
npm install @mastra/otel-exporter@beta @opentelemetry/exporter-trace-otlp-grpc @grpc/grpc-js
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
### For HTTP/JSON Providers (Traceloop)
|
|
33
33
|
|
|
34
34
|
```bash npm2yarn
|
|
35
|
-
npm install @mastra/otel-exporter @opentelemetry/exporter-trace-otlp-http
|
|
35
|
+
npm install @mastra/otel-exporter@beta @opentelemetry/exporter-trace-otlp-http
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
## Provider Configurations
|
|
39
39
|
|
|
40
|
+
|
|
41
|
+
### MLflow
|
|
42
|
+
|
|
43
|
+
[MLflow](https://mlflow.org/docs/latest/genai/tracing/integrations/listing/mastra) supports native Mastra tracing through its OTLP endpoint at `/v1/traces`. Use the `custom` provider with HTTP/Protobuf and include the experiment header so traces land in the correct MLflow experiment:
|
|
44
|
+
|
|
45
|
+
```typescript title="src/mastra/index.ts"
|
|
46
|
+
new OtelExporter({
|
|
47
|
+
provider: {
|
|
48
|
+
custom: {
|
|
49
|
+
endpoint: `${process.env.MLFLOW_TRACKING_URI}/v1/traces`,
|
|
50
|
+
protocol: "http/protobuf",
|
|
51
|
+
headers: {
|
|
52
|
+
"x-mlflow-experiment-id": process.env.MLFLOW_EXPERIMENT_ID,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
})
|
|
57
|
+
```
|
|
58
|
+
|
|
40
59
|
### Dash0
|
|
41
60
|
|
|
42
61
|
[Dash0](https://www.dash0.com/) provides real-time observability with automatic insights.
|
|
@@ -139,6 +158,72 @@ new OtelExporter({
|
|
|
139
158
|
});
|
|
140
159
|
```
|
|
141
160
|
|
|
161
|
+
### Datadog
|
|
162
|
+
|
|
163
|
+
[Datadog](https://www.datadoghq.com/) APM provides application performance monitoring with distributed tracing. To send traces to Datadog via OTLP, you need the Datadog Agent running with OTLP ingestion enabled.
|
|
164
|
+
|
|
165
|
+
Datadog uses gRPC for OTLP ingestion, which requires explicit imports and bundler configuration to work correctly:
|
|
166
|
+
|
|
167
|
+
```typescript title="src/mastra/index.ts"
|
|
168
|
+
// Explicitly import gRPC dependencies for the bundler
|
|
169
|
+
import "@grpc/grpc-js";
|
|
170
|
+
import "@opentelemetry/exporter-trace-otlp-grpc";
|
|
171
|
+
import { Mastra } from "@mastra/core";
|
|
172
|
+
import { Observability } from "@mastra/observability";
|
|
173
|
+
import { OtelExporter, type ExportProtocol } from "@mastra/otel-exporter";
|
|
174
|
+
|
|
175
|
+
export const mastra = new Mastra({
|
|
176
|
+
// Add grpc-js to externals so it's handled at runtime
|
|
177
|
+
bundler: {
|
|
178
|
+
externals: ["@grpc/grpc-js"],
|
|
179
|
+
},
|
|
180
|
+
|
|
181
|
+
observability: new Observability({
|
|
182
|
+
configs: {
|
|
183
|
+
default: {
|
|
184
|
+
serviceName: "my-service",
|
|
185
|
+
exporters: [
|
|
186
|
+
new OtelExporter({
|
|
187
|
+
provider: {
|
|
188
|
+
custom: {
|
|
189
|
+
endpoint:
|
|
190
|
+
process.env.OTEL_EXPORTER_OTLP_ENDPOINT ||
|
|
191
|
+
"http://localhost:4317",
|
|
192
|
+
protocol: (process.env.OTEL_EXPORTER_OTLP_PROTOCOL ||
|
|
193
|
+
"grpc") as ExportProtocol,
|
|
194
|
+
headers: {},
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
}),
|
|
198
|
+
],
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
}),
|
|
202
|
+
});
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
:::info
|
|
206
|
+
|
|
207
|
+
The Datadog Agent must be configured with OTLP ingestion enabled. Add the following to your `datadog.yaml`:
|
|
208
|
+
|
|
209
|
+
```yaml
|
|
210
|
+
otlp_config:
|
|
211
|
+
receiver:
|
|
212
|
+
protocols:
|
|
213
|
+
grpc:
|
|
214
|
+
endpoint: 0.0.0.0:4317
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
The default OTLP endpoint is `http://localhost:4317` when running the Datadog Agent locally.
|
|
218
|
+
|
|
219
|
+
:::
|
|
220
|
+
|
|
221
|
+
:::warning
|
|
222
|
+
|
|
223
|
+
The explicit imports of `@grpc/grpc-js` and `@opentelemetry/exporter-trace-otlp-grpc` at the top of the file, along with the `bundler.externals` configuration, are required for the gRPC transport to work correctly. Without these, you may encounter connection issues.
|
|
224
|
+
|
|
225
|
+
:::
|
|
226
|
+
|
|
142
227
|
### Custom/Generic OTEL Endpoints
|
|
143
228
|
|
|
144
229
|
For other OTEL-compatible platforms or custom collectors:
|
|
@@ -179,33 +264,26 @@ new OtelExporter({
|
|
|
179
264
|
|
|
180
265
|
## OpenTelemetry Semantic Conventions
|
|
181
266
|
|
|
182
|
-
The exporter follows [OpenTelemetry Semantic Conventions for GenAI](https://
|
|
267
|
+
The exporter follows [OpenTelemetry Semantic Conventions for GenAI v1.38.0](https://github.com/open-telemetry/semantic-conventions/tree/v1.38.0/docs/gen-ai), ensuring compatibility with observability platforms:
|
|
183
268
|
|
|
184
269
|
### Span Naming
|
|
185
270
|
|
|
186
|
-
- **LLM Operations**: `chat {model}`
|
|
187
|
-
- **Tool Execution**: `
|
|
188
|
-
- **Agent Runs**: `
|
|
189
|
-
- **Workflow Runs**: `
|
|
271
|
+
- **LLM Operations**: `chat {model}`
|
|
272
|
+
- **Tool Execution**: `execute_tool {tool_name}`
|
|
273
|
+
- **Agent Runs**: `invoke_agent {agent_id}`
|
|
274
|
+
- **Workflow Runs**: `invoke_workflow {workflow_id}`
|
|
190
275
|
|
|
191
276
|
### Key Attributes
|
|
192
277
|
|
|
193
278
|
- `gen_ai.operation.name` - Operation type (chat, tool.execute, etc.)
|
|
194
|
-
- `gen_ai.
|
|
279
|
+
- `gen_ai.provider.name` - AI provider (openai, anthropic, etc.)
|
|
195
280
|
- `gen_ai.request.model` - Model identifier
|
|
281
|
+
- `gen_ai.input.messages` - Chat history provided to the model
|
|
282
|
+
- `gen_ai.output.messages` - Messages returned by the model
|
|
196
283
|
- `gen_ai.usage.input_tokens` - Number of input tokens
|
|
197
284
|
- `gen_ai.usage.output_tokens` - Number of output tokens
|
|
198
285
|
- `gen_ai.request.temperature` - Sampling temperature
|
|
199
|
-
- `gen_ai.response.finish_reasons` - Completion
|
|
200
|
-
|
|
201
|
-
## Buffering Strategy
|
|
202
|
-
|
|
203
|
-
The exporter buffers spans until a trace is complete:
|
|
204
|
-
|
|
205
|
-
1. Collects all spans for a trace
|
|
206
|
-
2. Waits 5 seconds after root span completes
|
|
207
|
-
3. Exports complete trace with preserved parent-child relationships
|
|
208
|
-
4. Ensures no orphaned spans
|
|
286
|
+
- `gen_ai.response.finish_reasons` - Completion reasons
|
|
209
287
|
|
|
210
288
|
## Protocol Selection Guide
|
|
211
289
|
|
|
@@ -214,6 +292,7 @@ Choose the right protocol package based on your provider:
|
|
|
214
292
|
| Provider | Protocol | Required Package |
|
|
215
293
|
| --------- | ------------- | ------------------------------------------ |
|
|
216
294
|
| Dash0 | gRPC | `@opentelemetry/exporter-trace-otlp-grpc` |
|
|
295
|
+
| Datadog | gRPC | `@opentelemetry/exporter-trace-otlp-grpc` |
|
|
217
296
|
| SigNoz | HTTP/Protobuf | `@opentelemetry/exporter-trace-otlp-proto` |
|
|
218
297
|
| New Relic | HTTP/Protobuf | `@opentelemetry/exporter-trace-otlp-proto` |
|
|
219
298
|
| Traceloop | HTTP/JSON | `@opentelemetry/exporter-trace-otlp-http` |
|
|
@@ -245,10 +324,29 @@ Install the suggested package for your provider.
|
|
|
245
324
|
1. **Wrong protocol package**: Verify you installed the correct exporter for your provider
|
|
246
325
|
2. **Invalid endpoint**: Check endpoint format matches provider requirements
|
|
247
326
|
3. **Authentication failures**: Verify API keys and headers are correct
|
|
248
|
-
|
|
327
|
+
|
|
328
|
+
## Using Tags
|
|
329
|
+
|
|
330
|
+
Tags help you categorize and filter traces in your observability platform. Add tags when executing agents or workflows:
|
|
331
|
+
|
|
332
|
+
```typescript
|
|
333
|
+
const result = await agent.generate({
|
|
334
|
+
messages: [{ role: "user", content: "Hello" }],
|
|
335
|
+
tracingOptions: {
|
|
336
|
+
tags: ["production", "experiment-v2", "user-request"],
|
|
337
|
+
},
|
|
338
|
+
});
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
Tags are exported as a JSON string in the `mastra.tags` span attribute for broad backend compatibility. Common use cases include:
|
|
342
|
+
|
|
343
|
+
- Environment labels: `"production"`, `"staging"`
|
|
344
|
+
- Experiment tracking: `"experiment-v1"`, `"control-group"`
|
|
345
|
+
- Priority levels: `"priority-high"`, `"batch-job"`
|
|
249
346
|
|
|
250
347
|
## Related
|
|
251
348
|
|
|
252
|
-
- [Tracing Overview]/docs/v1/observability/tracing/overview)
|
|
253
|
-
- [OpenTelemetry
|
|
254
|
-
- [
|
|
349
|
+
- [Tracing Overview](/docs/v1/observability/tracing/overview)
|
|
350
|
+
- [OpenTelemetry Bridge](/docs/v1/observability/tracing/bridges/otel)
|
|
351
|
+
- [OpenTelemetry Semantic Conventions for GenAI v1.38.0](https://github.com/open-telemetry/semantic-conventions/tree/v1.38.0/docs/gen-ai)
|
|
352
|
+
- [OTEL Exporter Reference](/reference/v1/observability/tracing/exporters/otel)
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "PostHog Exporter | Tracing | Observability"
|
|
3
|
+
description: "Send traces to PostHog for AI observability and analytics"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PostHog Exporter
|
|
7
|
+
|
|
8
|
+
[PostHog](https://posthog.com/) is an analytics platform with AI observability features for monitoring LLM applications. The PostHog exporter sends your traces to PostHog as structured events, providing insights into token usage, costs, latency, and conversation flows.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash npm2yarn
|
|
13
|
+
npm install @mastra/posthog@beta
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Configuration
|
|
17
|
+
|
|
18
|
+
### Prerequisites
|
|
19
|
+
|
|
20
|
+
1. **PostHog Account**: Sign up at [posthog.com](https://posthog.com/)
|
|
21
|
+
2. **Project API Key**: Get your project API key from PostHog Settings → Project API Key
|
|
22
|
+
3. **Environment Variables**: Set your credentials
|
|
23
|
+
|
|
24
|
+
```bash title=".env"
|
|
25
|
+
POSTHOG_API_KEY=phc_xxxxxxxxxxxxxxxx
|
|
26
|
+
POSTHOG_HOST=https://us.i.posthog.com # Optional: EU region or self-hosted URL
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Basic Setup
|
|
30
|
+
|
|
31
|
+
```typescript title="src/mastra/index.ts"
|
|
32
|
+
import { Mastra } from "@mastra/core";
|
|
33
|
+
import { Observability } from "@mastra/observability";
|
|
34
|
+
import { PosthogExporter } from "@mastra/posthog";
|
|
35
|
+
|
|
36
|
+
export const mastra = new Mastra({
|
|
37
|
+
observability: new Observability({
|
|
38
|
+
configs: {
|
|
39
|
+
posthog: {
|
|
40
|
+
serviceName: "my-service",
|
|
41
|
+
exporters: [
|
|
42
|
+
new PosthogExporter({
|
|
43
|
+
apiKey: process.env.POSTHOG_API_KEY,
|
|
44
|
+
}),
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
});
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Configuration Options
|
|
53
|
+
|
|
54
|
+
### Complete Configuration
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
new PosthogExporter({
|
|
58
|
+
// Required credentials
|
|
59
|
+
apiKey: process.env.POSTHOG_API_KEY!,
|
|
60
|
+
|
|
61
|
+
// Optional settings
|
|
62
|
+
host: "https://us.i.posthog.com", // Default: US region
|
|
63
|
+
// or "https://eu.i.posthog.com" for EU region
|
|
64
|
+
// or your self-hosted URL
|
|
65
|
+
|
|
66
|
+
// Batching configuration
|
|
67
|
+
flushAt: 20, // Batch size (default: 20)
|
|
68
|
+
flushInterval: 10000, // Flush interval in ms (default: 10000)
|
|
69
|
+
serverless: false, // Serverless mode: flushAt=10, flushInterval=2000
|
|
70
|
+
|
|
71
|
+
// User identification
|
|
72
|
+
defaultDistinctId: "anonymous", // Fallback if no userId in metadata
|
|
73
|
+
|
|
74
|
+
// Privacy settings
|
|
75
|
+
enablePrivacyMode: false, // Excludes input/output from generation events
|
|
76
|
+
|
|
77
|
+
// Diagnostic logging
|
|
78
|
+
logLevel: "info", // debug | info | warn | error
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Serverless Mode
|
|
83
|
+
|
|
84
|
+
Optimized batching for serverless environments:
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
new PosthogExporter({
|
|
88
|
+
apiKey: process.env.POSTHOG_API_KEY!,
|
|
89
|
+
serverless: true, // Configures smaller batches for faster flushing
|
|
90
|
+
});
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Privacy Mode
|
|
94
|
+
|
|
95
|
+
Exclude input/output data from generation events while preserving token metrics:
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
new PosthogExporter({
|
|
99
|
+
apiKey: process.env.POSTHOG_API_KEY!,
|
|
100
|
+
enablePrivacyMode: true, // Removes $ai_input and $ai_output_choices
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Using Tags
|
|
105
|
+
|
|
106
|
+
Tags help you categorize and filter traces in PostHog's AI analytics. Add tags when executing agents or workflows:
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
const result = await agent.generate({
|
|
110
|
+
messages: [{ role: "user", content: "Hello" }],
|
|
111
|
+
tracingOptions: {
|
|
112
|
+
tags: ["production", "experiment-v2", "user-request"],
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Tags are added as event properties where the tag name is the key and the value is set to `true`. In PostHog's trace view, filter by a tag using the `is set` filter (e.g., "production is set" shows all traces with the production tag). Common use cases include:
|
|
118
|
+
|
|
119
|
+
- Environment labels: `"production"`, `"staging"`
|
|
120
|
+
- Experiment tracking: `"experiment-v1"`, `"control-group"`
|
|
121
|
+
- Priority levels: `"priority-high"`, `"batch-job"`
|
|
122
|
+
- User segments: `"beta-user"`, `"enterprise"`
|
|
123
|
+
|
|
124
|
+
## Related
|
|
125
|
+
|
|
126
|
+
- [Tracing Overview](/docs/v1/observability/tracing/overview)
|
|
127
|
+
- [PostHog Documentation](https://posthog.com/docs)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Tracing | Observability
|
|
2
|
+
title: "Tracing | Observability"
|
|
3
3
|
description: "Set up Tracing for Mastra applications"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -85,19 +85,36 @@ Exporters determine where your trace data is sent and how it's stored. Choosing
|
|
|
85
85
|
|
|
86
86
|
Mastra provides two built-in exporters that work out of the box:
|
|
87
87
|
|
|
88
|
-
- **[Default]/docs/v1/observability/tracing/exporters/default)** - Persists traces to local storage for viewing in Studio
|
|
89
|
-
- **[Cloud]/docs/v1/observability/tracing/exporters/cloud)** - Sends traces to Mastra Cloud for production monitoring and collaboration
|
|
88
|
+
- **[Default](/docs/v1/observability/tracing/exporters/default)** - Persists traces to local storage for viewing in Studio
|
|
89
|
+
- **[Cloud](/docs/v1/observability/tracing/exporters/cloud)** - Sends traces to Mastra Cloud for production monitoring and collaboration
|
|
90
90
|
|
|
91
91
|
### External Exporters
|
|
92
92
|
|
|
93
93
|
In addition to the internal exporters, Mastra supports integration with popular observability platforms. These exporters allow you to leverage your existing monitoring infrastructure and take advantage of platform-specific features like alerting, dashboards, and correlation with other application metrics.
|
|
94
94
|
|
|
95
|
-
- **[Arize]/docs/v1/observability/tracing/exporters/arize)** - Exports traces to Arize Phoenix or Arize AX using OpenInference semantic conventions
|
|
96
|
-
- **[Braintrust]/docs/v1/observability/tracing/exporters/braintrust)** - Exports traces to Braintrust's eval and observability platform
|
|
97
|
-
- **[Langfuse]/docs/v1/observability/tracing/exporters/langfuse)** - Sends traces to the Langfuse open-source LLM engineering platform
|
|
98
|
-
- **[LangSmith]/docs/v1/observability/tracing/exporters/langsmith)** - Pushes traces into LangSmith's observability and evaluation toolkit
|
|
99
|
-
- **[OpenTelemetry]/docs/v1/observability/tracing/exporters/otel)** - Deliver traces to any OpenTelemetry-compatible observability system
|
|
100
|
-
- Supports: Dash0, Laminar, New Relic, SigNoz, Traceloop, Zipkin, and others!
|
|
95
|
+
- **[Arize](/docs/v1/observability/tracing/exporters/arize)** - Exports traces to Arize Phoenix or Arize AX using OpenInference semantic conventions
|
|
96
|
+
- **[Braintrust](/docs/v1/observability/tracing/exporters/braintrust)** - Exports traces to Braintrust's eval and observability platform
|
|
97
|
+
- **[Langfuse](/docs/v1/observability/tracing/exporters/langfuse)** - Sends traces to the Langfuse open-source LLM engineering platform
|
|
98
|
+
- **[LangSmith](/docs/v1/observability/tracing/exporters/langsmith)** - Pushes traces into LangSmith's observability and evaluation toolkit
|
|
99
|
+
- **[OpenTelemetry](/docs/v1/observability/tracing/exporters/otel)** - Deliver traces to any OpenTelemetry-compatible observability system
|
|
100
|
+
- Supports: Dash0, Datadog, MLflow, Laminar, New Relic, SigNoz, Traceloop, Zipkin, and others!
|
|
101
|
+
|
|
102
|
+
## Bridges
|
|
103
|
+
|
|
104
|
+
Bridges provide bidirectional integration with external tracing systems. Unlike exporters that send trace data to external platforms, bridges create native spans in external systems and inherit context from them. This enables Mastra operations to participate in existing distributed traces.
|
|
105
|
+
|
|
106
|
+
- **[OpenTelemetry Bridge](/docs/v1/observability/tracing/bridges/otel)** - Integrate with existing OpenTelemetry infrastructure
|
|
107
|
+
|
|
108
|
+
### Bridges vs Exporters
|
|
109
|
+
|
|
110
|
+
| Feature | Bridges | Exporters |
|
|
111
|
+
| --- | --- | --- |
|
|
112
|
+
| Creates native spans in external systems | Yes | No |
|
|
113
|
+
| Inherits context from external systems | Yes | No |
|
|
114
|
+
| Sends data to backends | Via external SDK | Directly |
|
|
115
|
+
| Use case | Existing distributed tracing | Standalone Mastra tracing |
|
|
116
|
+
|
|
117
|
+
You can use both together — a bridge for context propagation and exporters to send traces to additional destinations.
|
|
101
118
|
|
|
102
119
|
## Sampling Strategies
|
|
103
120
|
|
|
@@ -200,7 +217,6 @@ Use `configSelector` to choose the appropriate tracing configuration based on re
|
|
|
200
217
|
```ts title="src/mastra/index.ts" showLineNumbers copy
|
|
201
218
|
export const mastra = new Mastra({
|
|
202
219
|
observability: new Observability({
|
|
203
|
-
default: { enabled: true }, // Provides 'default' instance
|
|
204
220
|
configs: {
|
|
205
221
|
langfuse: {
|
|
206
222
|
serviceName: "langfuse-service",
|
|
@@ -233,7 +249,7 @@ export const mastra = new Mastra({
|
|
|
233
249
|
return "langfuse";
|
|
234
250
|
}
|
|
235
251
|
|
|
236
|
-
|
|
252
|
+
throw new Error('no config found')
|
|
237
253
|
},
|
|
238
254
|
}),
|
|
239
255
|
});
|
|
@@ -448,6 +464,60 @@ requestContext.set("session", { data: { experimentId: "exp-999" } });
|
|
|
448
464
|
3. **Child Span Extraction**: Child spans can also extract metadata if you pass `requestContext` when creating them
|
|
449
465
|
4. **Metadata Precedence**: Explicit metadata passed to span options always takes precedence over extracted metadata
|
|
450
466
|
|
|
467
|
+
### Adding Tags to Traces
|
|
468
|
+
|
|
469
|
+
Tags are string labels that help you categorize and filter traces. Unlike metadata (which contains structured key-value data), tags are simple strings designed for quick filtering and organization.
|
|
470
|
+
|
|
471
|
+
Use `tracingOptions.tags` to add tags when executing agents or workflows:
|
|
472
|
+
|
|
473
|
+
```ts showLineNumbers copy
|
|
474
|
+
// With agents
|
|
475
|
+
const result = await agent.generate({
|
|
476
|
+
messages: [{ role: "user", content: "Hello" }],
|
|
477
|
+
tracingOptions: {
|
|
478
|
+
tags: ["production", "experiment-v2", "user-request"],
|
|
479
|
+
},
|
|
480
|
+
});
|
|
481
|
+
|
|
482
|
+
// With workflows
|
|
483
|
+
const run = await mastra.getWorkflow("myWorkflow").createRun();
|
|
484
|
+
const result = await run.start({
|
|
485
|
+
inputData: { data: "process this" },
|
|
486
|
+
tracingOptions: {
|
|
487
|
+
tags: ["batch-processing", "priority-high"],
|
|
488
|
+
},
|
|
489
|
+
});
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
#### How Tags Work
|
|
493
|
+
|
|
494
|
+
- **Root span only**: Tags are applied only to the root span of a trace (the agent run or workflow run span)
|
|
495
|
+
- **Widely supported**: Tags are supported by most exporters for filtering and searching traces:
|
|
496
|
+
- **Braintrust** - Native `tags` field
|
|
497
|
+
- **Langfuse** - Native `tags` field on traces
|
|
498
|
+
- **ArizeExporter** - `tag.tags` OpenInference attribute
|
|
499
|
+
- **OtelExporter** - `mastra.tags` span attribute
|
|
500
|
+
- **OtelBridge** - `mastra.tags` span attribute
|
|
501
|
+
- **Combinable with metadata**: You can use both `tags` and `metadata` in the same `tracingOptions`
|
|
502
|
+
|
|
503
|
+
```ts showLineNumbers copy
|
|
504
|
+
const result = await agent.generate({
|
|
505
|
+
messages: [{ role: "user", content: "Analyze this" }],
|
|
506
|
+
tracingOptions: {
|
|
507
|
+
tags: ["production", "analytics"],
|
|
508
|
+
metadata: { userId: "user-123", experimentId: "exp-456" },
|
|
509
|
+
},
|
|
510
|
+
});
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
#### Common Tag Patterns
|
|
514
|
+
|
|
515
|
+
- **Environment**: `"production"`, `"staging"`, `"development"`
|
|
516
|
+
- **Feature flags**: `"feature-x-enabled"`, `"beta-user"`
|
|
517
|
+
- **Request types**: `"user-request"`, `"batch-job"`, `"scheduled-task"`
|
|
518
|
+
- **Priority levels**: `"priority-high"`, `"priority-low"`
|
|
519
|
+
- **Experiments**: `"experiment-v1"`, `"control-group"`, `"treatment-a"`
|
|
520
|
+
|
|
451
521
|
#### Child Spans and Metadata Extraction
|
|
452
522
|
|
|
453
523
|
When creating child spans within tools or workflow steps, you can pass the `requestContext` parameter to enable metadata extraction:
|
|
@@ -522,7 +592,7 @@ Span processors allow you to transform, filter, or enrich trace data before it's
|
|
|
522
592
|
|
|
523
593
|
### Built-in Processors
|
|
524
594
|
|
|
525
|
-
- [Sensitive Data Filter]/docs/v1/observability/tracing/processors/sensitive-data-filter) redacts sensitive information. It is enabled in the default observability config.
|
|
595
|
+
- [Sensitive Data Filter](/docs/v1/observability/tracing/processors/sensitive-data-filter) redacts sensitive information. It is enabled in the default observability config.
|
|
526
596
|
|
|
527
597
|
### Creating Custom Processors
|
|
528
598
|
|
|
@@ -619,7 +689,7 @@ console.log("Trace ID:", finalState.traceId);
|
|
|
619
689
|
Once you have a trace ID, you can:
|
|
620
690
|
|
|
621
691
|
1. **Look up traces in Studio**: Navigate to the traces view and search by ID
|
|
622
|
-
2. **Query traces in external platforms**: Use the ID in Langfuse, Braintrust, or your observability platform
|
|
692
|
+
2. **Query traces in external platforms**: Use the ID in Langfuse, Braintrust, MLflow, or your observability platform
|
|
623
693
|
3. **Correlate with logs**: Include the trace ID in your application logs for cross-referencing
|
|
624
694
|
4. **Share for debugging**: Provide trace IDs to support teams or developers for investigation
|
|
625
695
|
|
|
@@ -751,27 +821,28 @@ Mastra automatically creates spans for:
|
|
|
751
821
|
|
|
752
822
|
## See Also
|
|
753
823
|
|
|
754
|
-
### Examples
|
|
755
|
-
|
|
756
|
-
- [Basic Tracing Example]/examples/v1/observability/basic-tracing) - Working implementation
|
|
757
|
-
|
|
758
824
|
### Reference Documentation
|
|
759
825
|
|
|
760
|
-
- [Configuration API]/reference/v1/observability/tracing/configuration) - ObservabilityConfig details
|
|
761
|
-
- [Tracing Classes]/reference/v1/observability/tracing/instances) - Core classes and methods
|
|
762
|
-
- [Span Interfaces]/reference/v1/observability/tracing/spans) - Span types and lifecycle
|
|
763
|
-
- [Type Definitions]/reference/v1/observability/tracing/interfaces) - Complete interface reference
|
|
826
|
+
- [Configuration API](/reference/v1/observability/tracing/configuration) - ObservabilityConfig details
|
|
827
|
+
- [Tracing Classes](/reference/v1/observability/tracing/instances) - Core classes and methods
|
|
828
|
+
- [Span Interfaces](/reference/v1/observability/tracing/spans) - Span types and lifecycle
|
|
829
|
+
- [Type Definitions](/reference/v1/observability/tracing/interfaces) - Complete interface reference
|
|
764
830
|
|
|
765
831
|
### Exporters
|
|
766
832
|
|
|
767
|
-
- [DefaultExporter]/reference/v1/observability/tracing/exporters/default-exporter) - Storage persistence
|
|
768
|
-
- [CloudExporter]/reference/v1/observability/tracing/exporters/cloud-exporter) - Mastra Cloud integration
|
|
769
|
-
- [ConsoleExporter]/reference/v1/observability/tracing/exporters/console-exporter) - Debug output
|
|
770
|
-
- [Arize]/reference/v1/observability/tracing/exporters/arize) - Arize Phoenix and Arize AX integration
|
|
771
|
-
- [Braintrust]/reference/v1/observability/tracing/exporters/braintrust) - Braintrust integration
|
|
772
|
-
- [Langfuse]/reference/v1/observability/tracing/exporters/langfuse) - Langfuse integration
|
|
773
|
-
- [
|
|
833
|
+
- [DefaultExporter](/reference/v1/observability/tracing/exporters/default-exporter) - Storage persistence
|
|
834
|
+
- [CloudExporter](/reference/v1/observability/tracing/exporters/cloud-exporter) - Mastra Cloud integration
|
|
835
|
+
- [ConsoleExporter](/reference/v1/observability/tracing/exporters/console-exporter) - Debug output
|
|
836
|
+
- [Arize](/reference/v1/observability/tracing/exporters/arize) - Arize Phoenix and Arize AX integration
|
|
837
|
+
- [Braintrust](/reference/v1/observability/tracing/exporters/braintrust) - Braintrust integration
|
|
838
|
+
- [Langfuse](/reference/v1/observability/tracing/exporters/langfuse) - Langfuse integration
|
|
839
|
+
- [MLflow](/reference/v1/observability/tracing/exporters/otel#mlflow) - MLflow OTLP endpoint setup
|
|
840
|
+
- [OpenTelemetry](/reference/v1/observability/tracing/exporters/otel) - OTEL-compatible platforms
|
|
841
|
+
|
|
842
|
+
### Bridges
|
|
843
|
+
|
|
844
|
+
- [OpenTelemetry Bridge](/reference/v1/observability/tracing/bridges/otel) - OTEL context integration
|
|
774
845
|
|
|
775
846
|
### Processors
|
|
776
847
|
|
|
777
|
-
- [Sensitive Data Filter]/docs/v1/observability/tracing/processors/sensitive-data-filter) - Data redaction
|
|
848
|
+
- [Sensitive Data Filter](/docs/v1/observability/tracing/processors/sensitive-data-filter) - Data redaction
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Sensitive Data Filter | Processors | Observability
|
|
2
|
+
title: "Sensitive Data Filter | Processors | Observability"
|
|
3
3
|
description: "Protect sensitive information in your traces with automatic data redaction"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -292,5 +292,4 @@ This ensures that processing errors don't prevent traces from being exported or
|
|
|
292
292
|
|
|
293
293
|
## Related
|
|
294
294
|
|
|
295
|
-
- [SensitiveDataFilter API]/reference/v1/observability/tracing/processors/sensitive-data-filter)
|
|
296
|
-
- [Basic Tracing Example]/examples/v1/observability/basic-tracing)
|
|
295
|
+
- [SensitiveDataFilter API](/reference/v1/observability/tracing/processors/sensitive-data-filter)
|
|
@@ -83,12 +83,8 @@ The simplest way is to use Mastra's model router with `provider/model` strings:
|
|
|
83
83
|
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
84
84
|
import { embedMany } from "ai";
|
|
85
85
|
|
|
86
|
-
const embeddingModel = new ModelRouterEmbeddingModel(
|
|
87
|
-
"openai/text-embedding-3-small",
|
|
88
|
-
);
|
|
89
|
-
|
|
90
86
|
const { embeddings } = await embedMany({
|
|
91
|
-
model:
|
|
87
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
92
88
|
values: chunks.map((chunk) => chunk.text),
|
|
93
89
|
});
|
|
94
90
|
```
|
|
@@ -105,11 +101,11 @@ The model router automatically handles API key detection from environment variab
|
|
|
105
101
|
You can also use AI SDK embedding models directly:
|
|
106
102
|
|
|
107
103
|
```ts showLineNumbers copy
|
|
108
|
-
import { openai } from "@ai-sdk/openai";
|
|
109
104
|
import { embedMany } from "ai";
|
|
105
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
110
106
|
|
|
111
107
|
const { embeddings } = await embedMany({
|
|
112
|
-
model:
|
|
108
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
113
109
|
values: chunks.map((chunk) => chunk.text),
|
|
114
110
|
});
|
|
115
111
|
```
|
|
@@ -129,19 +125,22 @@ Here are some supported models:
|
|
|
129
125
|
OpenAI (text-embedding-3 models):
|
|
130
126
|
|
|
131
127
|
```ts
|
|
128
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
129
|
+
|
|
132
130
|
const { embeddings } = await embedMany({
|
|
133
|
-
model:
|
|
131
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
132
|
+
options: {
|
|
134
133
|
dimensions: 256, // Only supported in text-embedding-3 and later
|
|
135
|
-
}
|
|
134
|
+
},
|
|
136
135
|
values: chunks.map((chunk) => chunk.text),
|
|
137
136
|
});
|
|
138
137
|
```
|
|
139
138
|
|
|
140
|
-
Google (text-embedding-
|
|
139
|
+
Google (text-embedding-001):
|
|
141
140
|
|
|
142
141
|
```ts
|
|
143
142
|
const { embeddings } = await embedMany({
|
|
144
|
-
model: google
|
|
143
|
+
model: "google/gemini-embedding-001", {
|
|
145
144
|
outputDimensionality: 256, // Truncates excessive values from the end
|
|
146
145
|
}),
|
|
147
146
|
values: chunks.map((chunk) => chunk.text),
|
|
@@ -158,8 +157,6 @@ Here's an example showing document processing and embedding generation with both
|
|
|
158
157
|
|
|
159
158
|
```ts showLineNumbers copy
|
|
160
159
|
import { embedMany } from "ai";
|
|
161
|
-
import { openai } from "@ai-sdk/openai";
|
|
162
|
-
import { cohere } from "@ai-sdk/cohere";
|
|
163
160
|
|
|
164
161
|
import { MDocument } from "@mastra/rag";
|
|
165
162
|
|
|
@@ -177,16 +174,18 @@ const chunks = await doc.chunk({
|
|
|
177
174
|
});
|
|
178
175
|
|
|
179
176
|
// Generate embeddings with OpenAI
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
178
|
+
|
|
179
|
+
const { embeddings } = await embedMany({
|
|
180
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
182
181
|
values: chunks.map((chunk) => chunk.text),
|
|
183
182
|
});
|
|
184
183
|
|
|
185
184
|
// OR
|
|
186
185
|
|
|
187
186
|
// Generate embeddings with Cohere
|
|
188
|
-
const { embeddings
|
|
189
|
-
model: cohere
|
|
187
|
+
const { embeddings } = await embedMany({
|
|
188
|
+
model: "cohere/embed-english-v3.0",
|
|
190
189
|
values: chunks.map((chunk) => chunk.text),
|
|
191
190
|
});
|
|
192
191
|
|