@mastra/mcp-docs-server 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -13
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -5
- package/.docs/organized/changelogs/%40internal%2Fplayground.md +40 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -53
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +315 -315
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +38 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +66 -66
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +522 -212
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +658 -196
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +439 -234
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +450 -211
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +208 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +3341 -271
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +289 -289
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +90 -90
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +74 -74
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +247 -220
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +70 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +403 -225
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +72 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +145 -145
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +54 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +456 -226
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +604 -208
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +247 -247
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +285 -285
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +354 -156
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +545 -212
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +481 -202
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +194 -194
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +759 -213
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +636 -229
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +163 -163
- package/.docs/organized/changelogs/%40mastra%2Frag.md +310 -310
- package/.docs/organized/changelogs/%40mastra%2Freact.md +328 -230
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +64 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +160 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +829 -218
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +57 -57
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +479 -232
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +110 -110
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +15 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +98 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +54 -54
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +46 -46
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +93 -93
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +45 -45
- package/.docs/organized/changelogs/create-mastra.md +227 -227
- package/.docs/organized/changelogs/mastra.md +277 -277
- package/.docs/organized/code-examples/a2a.md +2 -2
- package/.docs/organized/code-examples/agent-v6.md +221 -0
- package/.docs/organized/code-examples/agui.md +4 -4
- package/.docs/organized/code-examples/ai-elements.md +3 -3
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -3
- package/.docs/organized/code-examples/assistant-ui.md +5 -5
- 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 +3 -3
- package/.docs/organized/code-examples/client-side-tools.md +4 -4
- package/.docs/organized/code-examples/crypto-chatbot.md +5 -5
- package/.docs/organized/code-examples/experimental-auth-weather-agent.md +1 -1
- package/.docs/organized/code-examples/fireworks-r1.md +2 -2
- package/.docs/organized/code-examples/heads-up-game.md +7 -7
- package/.docs/organized/code-examples/inngest.md +1075 -0
- package/.docs/organized/code-examples/mcp-configuration.md +1 -1
- package/.docs/organized/code-examples/mcp-server-adapters.md +3 -4
- package/.docs/organized/code-examples/memory-per-resource-example.md +3 -3
- package/.docs/organized/code-examples/memory-todo-agent.md +1 -1
- package/.docs/organized/code-examples/memory-with-context.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +3 -3
- package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
- package/.docs/organized/code-examples/quick-start.md +1 -5
- package/.docs/organized/code-examples/server-app-access.md +3 -3
- package/.docs/organized/code-examples/server-express-adapter.md +1 -1
- package/.docs/organized/code-examples/server-fastify-adapter.md +83 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +3 -3
- package/.docs/organized/code-examples/server-koa-adapter.md +94 -0
- package/.docs/organized/code-examples/stock-price-tool.md +21 -2
- 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 +24 -6
- package/.docs/raw/agents/agent-approval.mdx +209 -12
- package/.docs/raw/agents/agent-memory.mdx +36 -32
- package/.docs/raw/agents/guardrails.mdx +105 -56
- package/.docs/raw/agents/network-approval.mdx +281 -0
- package/.docs/raw/agents/networks.mdx +69 -13
- package/.docs/raw/agents/overview.mdx +43 -25
- package/.docs/raw/agents/processors.mdx +234 -17
- package/.docs/raw/agents/structured-output.mdx +78 -8
- package/.docs/raw/agents/using-tools.mdx +67 -6
- package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
- package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
- package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +3 -3
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
- package/.docs/raw/course/03-agent-memory/07-understanding-memory-threads.md +35 -0
- package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
- package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +1 -1
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +4 -5
- package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -1
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +3 -4
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +3 -4
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +3 -4
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +3 -4
- package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
- package/.docs/raw/deployment/cloud-providers.mdx +22 -0
- package/.docs/raw/deployment/mastra-server.mdx +140 -0
- package/.docs/raw/deployment/monorepo.mdx +106 -42
- package/.docs/raw/deployment/overview.mdx +35 -48
- package/.docs/raw/deployment/web-framework.mdx +17 -19
- package/.docs/raw/deployment/workflow-runners.mdx +16 -0
- package/.docs/raw/evals/built-in-scorers.mdx +2 -0
- package/.docs/raw/evals/custom-scorers.mdx +60 -12
- package/.docs/raw/evals/overview.mdx +6 -6
- package/.docs/raw/evals/running-in-ci.mdx +4 -2
- package/.docs/raw/getting-started/manual-install.mdx +20 -20
- package/.docs/raw/getting-started/mcp-docs-server.mdx +59 -2
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +17 -1
- package/.docs/raw/getting-started/studio.mdx +10 -37
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +151 -0
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1034 -80
- package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +32 -11
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +18 -23
- package/.docs/raw/guides/deployment/index.mdx +32 -0
- package/.docs/raw/guides/deployment/inngest.mdx +673 -0
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
- package/.docs/raw/guides/getting-started/astro.mdx +292 -451
- package/.docs/raw/guides/getting-started/express.mdx +72 -153
- package/.docs/raw/guides/getting-started/hono.mdx +227 -0
- package/.docs/raw/guides/getting-started/next-js.mdx +173 -61
- package/.docs/raw/guides/getting-started/nuxt.mdx +505 -0
- package/.docs/raw/guides/getting-started/quickstart.mdx +5 -5
- package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
- package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
- package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
- package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
- package/.docs/raw/guides/guide/research-assistant.mdx +20 -20
- package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
- package/.docs/raw/guides/guide/web-search.mdx +38 -38
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
- package/.docs/raw/guides/index.mdx +0 -1
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +105 -4
- package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +15 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +170 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/deployment.mdx +42 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +0 -35
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +40 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +17 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/rag.mdx +47 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +271 -25
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +3 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +72 -17
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +46 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +50 -7
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
- package/.docs/raw/index.mdx +2 -2
- package/.docs/raw/mastra-cloud/deployment.mdx +86 -0
- package/.docs/raw/mastra-cloud/observability.mdx +43 -0
- package/.docs/raw/mastra-cloud/overview.mdx +31 -0
- package/.docs/raw/mastra-cloud/setup.mdx +64 -0
- package/.docs/raw/mastra-cloud/studio.mdx +35 -0
- package/.docs/raw/mcp/overview.mdx +60 -25
- package/.docs/raw/mcp/publishing-mcp-server.mdx +7 -4
- package/.docs/raw/memory/memory-processors.mdx +17 -12
- package/.docs/raw/memory/message-history.mdx +72 -0
- package/.docs/raw/memory/overview.mdx +38 -76
- package/.docs/raw/memory/semantic-recall.mdx +65 -52
- package/.docs/raw/memory/storage.mdx +248 -0
- package/.docs/raw/memory/working-memory.mdx +24 -13
- package/.docs/raw/observability/logging.mdx +16 -15
- package/.docs/raw/observability/overview.mdx +27 -7
- package/.docs/raw/observability/tracing/bridges/otel.mdx +7 -4
- package/.docs/raw/observability/tracing/exporters/arize.mdx +61 -24
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +32 -22
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +24 -5
- package/.docs/raw/observability/tracing/exporters/datadog.mdx +175 -0
- package/.docs/raw/observability/tracing/exporters/default.mdx +28 -7
- package/.docs/raw/observability/tracing/exporters/laminar.mdx +89 -0
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +31 -22
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +33 -3
- package/.docs/raw/observability/tracing/exporters/otel.mdx +194 -22
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +32 -22
- package/.docs/raw/observability/tracing/exporters/sentry.mdx +198 -0
- package/.docs/raw/observability/tracing/overview.mdx +388 -108
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +27 -7
- package/.docs/raw/rag/chunking-and-embedding.mdx +22 -33
- package/.docs/raw/rag/graph-rag.mdx +223 -0
- package/.docs/raw/rag/overview.mdx +6 -3
- package/.docs/raw/rag/retrieval.mdx +53 -57
- package/.docs/raw/rag/vector-databases.mdx +55 -31
- package/.docs/raw/reference/agents/agent.mdx +17 -14
- package/.docs/raw/reference/agents/generate.mdx +172 -44
- package/.docs/raw/reference/agents/generateLegacy.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDescription.mdx +3 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +5 -3
- package/.docs/raw/reference/agents/getLLM.mdx +5 -3
- package/.docs/raw/reference/agents/getMemory.mdx +5 -3
- package/.docs/raw/reference/agents/getModel.mdx +5 -3
- package/.docs/raw/reference/agents/getTools.mdx +4 -2
- package/.docs/raw/reference/agents/getVoice.mdx +4 -2
- package/.docs/raw/reference/agents/listAgents.mdx +4 -2
- package/.docs/raw/reference/agents/listScorers.mdx +5 -3
- package/.docs/raw/reference/agents/listTools.mdx +4 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +4 -2
- package/.docs/raw/reference/agents/network.mdx +113 -1
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +6 -3
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +4 -2
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +4 -2
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +5 -3
- package/.docs/raw/reference/ai-sdk/network-route.mdx +6 -3
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +10 -6
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +130 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +110 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +122 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +7 -4
- package/.docs/raw/reference/auth/auth0.mdx +5 -3
- package/.docs/raw/reference/auth/clerk.mdx +5 -3
- package/.docs/raw/reference/auth/firebase.mdx +6 -5
- package/.docs/raw/reference/auth/jwt.mdx +5 -3
- package/.docs/raw/reference/auth/supabase.mdx +5 -3
- package/.docs/raw/reference/auth/workos.mdx +5 -3
- package/.docs/raw/reference/cli/create-mastra.mdx +12 -10
- package/.docs/raw/reference/cli/mastra.mdx +63 -15
- package/.docs/raw/reference/client-js/agents.mdx +311 -85
- package/.docs/raw/reference/client-js/error-handling.mdx +3 -3
- package/.docs/raw/reference/client-js/logs.mdx +2 -0
- package/.docs/raw/reference/client-js/mastra-client.mdx +6 -4
- package/.docs/raw/reference/client-js/memory.mdx +47 -2
- package/.docs/raw/reference/client-js/observability.mdx +2 -0
- package/.docs/raw/reference/client-js/telemetry.mdx +2 -0
- package/.docs/raw/reference/client-js/tools.mdx +2 -0
- package/.docs/raw/reference/client-js/vectors.mdx +2 -0
- package/.docs/raw/reference/client-js/workflows.mdx +47 -3
- package/.docs/raw/reference/configuration.mdx +761 -0
- package/.docs/raw/reference/core/addGateway.mdx +2 -0
- package/.docs/raw/reference/core/getAgent.mdx +3 -1
- package/.docs/raw/reference/core/getAgentById.mdx +3 -1
- package/.docs/raw/reference/core/getDeployer.mdx +3 -1
- package/.docs/raw/reference/core/getGateway.mdx +2 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +2 -0
- package/.docs/raw/reference/core/getLogger.mdx +3 -1
- package/.docs/raw/reference/core/getMCPServer.mdx +3 -1
- package/.docs/raw/reference/core/getMCPServerById.mdx +3 -1
- package/.docs/raw/reference/core/getMemory.mdx +77 -0
- package/.docs/raw/reference/core/getScorer.mdx +2 -0
- package/.docs/raw/reference/core/getScorerById.mdx +2 -0
- package/.docs/raw/reference/core/getServer.mdx +6 -4
- package/.docs/raw/reference/core/getStorage.mdx +5 -3
- package/.docs/raw/reference/core/getStoredAgentById.mdx +185 -0
- package/.docs/raw/reference/core/getTelemetry.mdx +3 -1
- package/.docs/raw/reference/core/getVector.mdx +3 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +3 -1
- package/.docs/raw/reference/core/listAgents.mdx +3 -1
- package/.docs/raw/reference/core/listGateways.mdx +2 -0
- package/.docs/raw/reference/core/listLogs.mdx +3 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -1
- package/.docs/raw/reference/core/listMCPServers.mdx +3 -1
- package/.docs/raw/reference/core/listMemory.mdx +74 -0
- package/.docs/raw/reference/core/listScorers.mdx +2 -0
- package/.docs/raw/reference/core/listStoredAgents.mdx +153 -0
- package/.docs/raw/reference/core/listVectors.mdx +3 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +3 -1
- package/.docs/raw/reference/core/mastra-class.mdx +35 -20
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +2 -0
- package/.docs/raw/reference/core/setLogger.mdx +3 -1
- package/.docs/raw/reference/core/setStorage.mdx +6 -4
- package/.docs/raw/reference/deployer/cloudflare.mdx +22 -53
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -1
- package/.docs/raw/reference/deployer/vercel.mdx +5 -4
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -1
- package/.docs/raw/reference/evals/answer-similarity.mdx +4 -1
- package/.docs/raw/reference/evals/bias.mdx +4 -1
- package/.docs/raw/reference/evals/completeness.mdx +4 -1
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -1
- package/.docs/raw/reference/evals/context-precision.mdx +4 -1
- package/.docs/raw/reference/evals/context-relevance.mdx +2 -0
- package/.docs/raw/reference/evals/create-scorer.mdx +11 -3
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -1
- package/.docs/raw/reference/evals/hallucination.mdx +4 -1
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -1
- package/.docs/raw/reference/evals/mastra-scorer.mdx +2 -0
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +2 -0
- package/.docs/raw/reference/evals/prompt-alignment.mdx +9 -7
- package/.docs/raw/reference/evals/run-evals.mdx +3 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +3 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -1
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -1
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +25 -23
- package/.docs/raw/reference/evals/toxicity.mdx +4 -1
- package/.docs/raw/reference/index.mdx +2 -1
- package/.docs/raw/reference/logging/pino-logger.mdx +10 -8
- package/.docs/raw/reference/memory/clone-utilities.mdx +345 -0
- package/.docs/raw/reference/memory/cloneThread.mdx +237 -0
- package/.docs/raw/reference/memory/createThread.mdx +6 -4
- package/.docs/raw/reference/memory/deleteMessages.mdx +4 -2
- package/.docs/raw/reference/memory/getThreadById.mdx +3 -1
- package/.docs/raw/reference/memory/listThreads.mdx +187 -0
- package/.docs/raw/reference/memory/memory-class.mdx +27 -20
- package/.docs/raw/reference/memory/recall.mdx +6 -4
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +6 -2
- package/.docs/raw/reference/observability/tracing/configuration.mdx +51 -0
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +25 -6
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +23 -2
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +3 -0
- package/.docs/raw/reference/observability/tracing/exporters/datadog.mdx +172 -0
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/laminar.mdx +139 -0
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +26 -4
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +51 -34
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +25 -4
- package/.docs/raw/reference/observability/tracing/exporters/sentry.mdx +224 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +2 -0
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +20 -0
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +2 -0
- package/.docs/raw/reference/observability/tracing/spans.mdx +2 -0
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +4 -2
- package/.docs/raw/reference/processors/language-detector.mdx +6 -3
- package/.docs/raw/reference/processors/message-history-processor.mdx +5 -2
- package/.docs/raw/reference/processors/moderation-processor.mdx +6 -4
- package/.docs/raw/reference/processors/pii-detector.mdx +6 -4
- package/.docs/raw/reference/processors/processor-interface.mdx +326 -23
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +5 -3
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +7 -2
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +5 -3
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +62 -19
- package/.docs/raw/reference/processors/tool-call-filter.mdx +5 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +6 -3
- package/.docs/raw/reference/processors/working-memory-processor.mdx +6 -3
- package/.docs/raw/reference/rag/chunk.mdx +7 -6
- package/.docs/raw/reference/rag/database-config.mdx +8 -6
- package/.docs/raw/reference/rag/document.mdx +2 -0
- package/.docs/raw/reference/rag/embeddings.mdx +2 -0
- package/.docs/raw/reference/rag/extract-params.mdx +57 -3
- package/.docs/raw/reference/rag/graph-rag.mdx +2 -0
- package/.docs/raw/reference/rag/metadata-filters.mdx +27 -7
- package/.docs/raw/reference/rag/rerank.mdx +2 -0
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -0
- package/.docs/raw/reference/server/create-route.mdx +34 -18
- package/.docs/raw/reference/server/express-adapter.mdx +78 -50
- package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +78 -48
- package/.docs/raw/reference/server/koa-adapter.mdx +129 -0
- package/.docs/raw/reference/server/mastra-server.mdx +52 -34
- package/.docs/raw/reference/server/routes.mdx +73 -10
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +10 -5
- package/.docs/raw/reference/storage/cloudflare.mdx +12 -2
- package/.docs/raw/reference/storage/composite.mdx +245 -0
- package/.docs/raw/reference/storage/convex.mdx +8 -6
- package/.docs/raw/reference/storage/dynamodb.mdx +134 -8
- package/.docs/raw/reference/storage/lance.mdx +9 -5
- package/.docs/raw/reference/storage/libsql.mdx +76 -54
- package/.docs/raw/reference/storage/mongodb.mdx +115 -16
- package/.docs/raw/reference/storage/mssql.mdx +11 -6
- package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +15 -111
- package/.docs/raw/reference/storage/postgresql.mdx +228 -83
- package/.docs/raw/reference/storage/upstash.mdx +78 -2
- package/.docs/raw/reference/streaming/ChunkType.mdx +31 -3
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +67 -6
- package/.docs/raw/reference/streaming/agents/stream.mdx +48 -51
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +5 -3
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -1
- package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +3 -1
- package/.docs/raw/reference/streaming/workflows/stream.mdx +37 -22
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +6 -4
- package/.docs/raw/reference/templates/overview.mdx +3 -2
- package/.docs/raw/reference/tools/client.mdx +3 -0
- package/.docs/raw/reference/tools/create-tool.mdx +127 -5
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -0
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +40 -3
- package/.docs/raw/reference/tools/mcp-client.mdx +110 -1
- package/.docs/raw/reference/tools/mcp-server.mdx +278 -24
- package/.docs/raw/reference/tools/vector-query-tool.mdx +68 -4
- package/.docs/raw/reference/vectors/astra.mdx +5 -3
- package/.docs/raw/reference/vectors/chroma.mdx +5 -3
- package/.docs/raw/reference/vectors/convex.mdx +14 -12
- package/.docs/raw/reference/vectors/couchbase.mdx +7 -5
- package/.docs/raw/reference/vectors/duckdb.mdx +12 -10
- package/.docs/raw/reference/vectors/elasticsearch.mdx +12 -4
- package/.docs/raw/reference/vectors/lance.mdx +6 -4
- package/.docs/raw/reference/vectors/libsql.mdx +66 -13
- package/.docs/raw/reference/vectors/mongodb.mdx +90 -10
- package/.docs/raw/reference/vectors/opensearch.mdx +30 -3
- package/.docs/raw/reference/vectors/pg.mdx +58 -6
- package/.docs/raw/reference/vectors/pinecone.mdx +23 -8
- package/.docs/raw/reference/vectors/qdrant.mdx +148 -4
- package/.docs/raw/reference/vectors/s3vectors.mdx +8 -6
- package/.docs/raw/reference/vectors/turbopuffer.mdx +6 -4
- package/.docs/raw/reference/vectors/upstash.mdx +60 -6
- package/.docs/raw/reference/vectors/vectorize.mdx +5 -3
- package/.docs/raw/reference/voice/azure.mdx +2 -0
- package/.docs/raw/reference/voice/cloudflare.mdx +2 -0
- package/.docs/raw/reference/voice/composite-voice.mdx +4 -0
- package/.docs/raw/reference/voice/deepgram.mdx +2 -0
- package/.docs/raw/reference/voice/elevenlabs.mdx +2 -0
- package/.docs/raw/reference/voice/google-gemini-live.mdx +3 -0
- package/.docs/raw/reference/voice/google.mdx +2 -0
- package/.docs/raw/reference/voice/mastra-voice.mdx +2 -0
- package/.docs/raw/reference/voice/murf.mdx +2 -0
- package/.docs/raw/reference/voice/openai-realtime.mdx +3 -0
- package/.docs/raw/reference/voice/openai.mdx +2 -0
- package/.docs/raw/reference/voice/playai.mdx +2 -0
- package/.docs/raw/reference/voice/sarvam.mdx +2 -0
- package/.docs/raw/reference/voice/speechify.mdx +2 -0
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -0
- package/.docs/raw/reference/voice/voice.addTools.mdx +3 -0
- package/.docs/raw/reference/voice/voice.answer.mdx +4 -0
- package/.docs/raw/reference/voice/voice.close.mdx +3 -0
- package/.docs/raw/reference/voice/voice.connect.mdx +5 -1
- package/.docs/raw/reference/voice/voice.events.mdx +2 -0
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +3 -0
- package/.docs/raw/reference/voice/voice.listen.mdx +6 -0
- package/.docs/raw/reference/voice/voice.off.mdx +2 -0
- package/.docs/raw/reference/voice/voice.on.mdx +5 -1
- package/.docs/raw/reference/voice/voice.send.mdx +4 -0
- package/.docs/raw/reference/voice/voice.speak.mdx +6 -0
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -0
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +55 -5
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +6 -4
- package/.docs/raw/reference/workflows/run-methods/start.mdx +7 -5
- package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +145 -0
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +10 -8
- package/.docs/raw/reference/workflows/run.mdx +11 -3
- package/.docs/raw/reference/workflows/step.mdx +56 -3
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +39 -2
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +71 -4
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +9 -7
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +4 -6
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +4 -6
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow.mdx +193 -2
- package/.docs/raw/{auth → server/auth}/auth0.mdx +40 -21
- package/.docs/raw/{auth → server/auth}/clerk.mdx +37 -16
- package/.docs/raw/{auth → server/auth}/firebase.mdx +47 -25
- package/.docs/raw/{auth → server/auth}/index.mdx +8 -6
- package/.docs/raw/{auth → server/auth}/jwt.mdx +22 -10
- package/.docs/raw/{auth → server/auth}/supabase.mdx +45 -25
- package/.docs/raw/{auth → server/auth}/workos.mdx +39 -20
- package/.docs/raw/{server-db → server}/custom-adapters.mdx +40 -24
- package/.docs/raw/{server-db → server}/custom-api-routes.mdx +6 -6
- package/.docs/raw/{server-db → server}/mastra-client.mdx +35 -38
- package/.docs/raw/server/mastra-server.mdx +86 -0
- package/.docs/raw/{server-db → server}/middleware.mdx +11 -9
- package/.docs/raw/{server-db → server}/request-context.mdx +85 -43
- package/.docs/raw/server/server-adapters.mdx +410 -0
- package/.docs/raw/streaming/events.mdx +16 -7
- package/.docs/raw/streaming/overview.mdx +30 -17
- package/.docs/raw/streaming/tool-streaming.mdx +15 -17
- package/.docs/raw/streaming/workflow-streaming.mdx +8 -8
- package/.docs/raw/tools-mcp/advanced-usage.mdx +4 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +46 -12
- package/.docs/raw/tools-mcp/overview.mdx +14 -13
- package/.docs/raw/voice/overview.mdx +17 -2
- package/.docs/raw/voice/speech-to-speech.mdx +5 -0
- package/.docs/raw/voice/speech-to-text.mdx +4 -0
- package/.docs/raw/voice/text-to-speech.mdx +3 -0
- package/.docs/raw/workflows/agents-and-tools.mdx +70 -21
- package/.docs/raw/workflows/control-flow.mdx +369 -34
- package/.docs/raw/workflows/error-handling.mdx +192 -18
- package/.docs/raw/workflows/human-in-the-loop.mdx +8 -7
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -7
- package/.docs/raw/workflows/overview.mdx +80 -34
- package/.docs/raw/workflows/snapshots.mdx +19 -45
- package/.docs/raw/workflows/suspend-and-resume.mdx +14 -14
- package/.docs/raw/workflows/time-travel.mdx +25 -21
- package/.docs/raw/workflows/workflow-state.mdx +7 -8
- package/CHANGELOG.md +254 -0
- package/README.md +36 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/stdio.js +746 -49
- package/dist/tools/course.d.ts.map +1 -1
- package/dist/tools/embedded-docs.d.ts +276 -0
- package/dist/tools/embedded-docs.d.ts.map +1 -0
- package/package.json +9 -8
- package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
- package/.docs/raw/deployment/building-mastra.mdx +0 -73
- package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
- package/.docs/raw/deployment/mastra-cloud/dashboard.mdx +0 -100
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +0 -53
- package/.docs/raw/deployment/mastra-cloud/overview.mdx +0 -65
- package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +0 -105
- package/.docs/raw/memory/conversation-history.mdx +0 -24
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
- package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
- package/.docs/raw/memory/threads-and-resources.mdx +0 -95
- package/.docs/raw/reference/core/setTelemetry.mdx +0 -36
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +0 -110
- package/.docs/raw/reference/memory/query.mdx +0 -189
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +0 -70
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +0 -66
- package/.docs/raw/server-db/mastra-server.mdx +0 -97
- package/.docs/raw/server-db/server-adapters.mdx +0 -286
- package/.docs/raw/workflows/inngest-workflow.mdx +0 -363
|
@@ -1,20 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Sensitive Data Filter | Processors | Observability"
|
|
3
3
|
description: "Protect sensitive information in your traces with automatic data redaction"
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/observability"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Sensitive Data Filter
|
|
7
9
|
|
|
8
|
-
The Sensitive Data Filter is a span processor that
|
|
10
|
+
The Sensitive Data Filter is a span processor that redacts sensitive information from your traces during the processing pipeline before export. This ensures that passwords, API keys, tokens, and other confidential data never leave your application or get stored in observability platforms.
|
|
9
11
|
|
|
10
12
|
## Default Configuration
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
The Sensitive Data Filter is included in the recommended observability configuration:
|
|
15
|
+
|
|
16
|
+
```ts title="src/mastra/index.ts"
|
|
17
|
+
import {
|
|
18
|
+
Observability,
|
|
19
|
+
DefaultExporter,
|
|
20
|
+
CloudExporter,
|
|
21
|
+
SensitiveDataFilter,
|
|
22
|
+
} from "@mastra/observability";
|
|
13
23
|
|
|
14
|
-
```ts title="src/mastra/index.ts" showLineNumbers copy
|
|
15
24
|
export const mastra = new Mastra({
|
|
16
25
|
observability: new Observability({
|
|
17
|
-
|
|
26
|
+
configs: {
|
|
27
|
+
default: {
|
|
28
|
+
serviceName: "mastra",
|
|
29
|
+
exporters: [
|
|
30
|
+
new DefaultExporter(),
|
|
31
|
+
new CloudExporter(),
|
|
32
|
+
],
|
|
33
|
+
spanOutputProcessors: [
|
|
34
|
+
new SensitiveDataFilter(), // Redacts sensitive fields before export
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
},
|
|
18
38
|
}),
|
|
19
39
|
storage: new LibSQLStore({
|
|
20
40
|
id: 'mastra-storage',
|
|
@@ -23,7 +43,7 @@ export const mastra = new Mastra({
|
|
|
23
43
|
});
|
|
24
44
|
```
|
|
25
45
|
|
|
26
|
-
With the default configuration, the filter
|
|
46
|
+
With the default configuration, the filter redacts these common sensitive field names:
|
|
27
47
|
|
|
28
48
|
- `password`
|
|
29
49
|
- `token`
|
|
@@ -63,7 +83,7 @@ When a sensitive field is detected, its value is replaced with `[REDACTED]` by d
|
|
|
63
83
|
|
|
64
84
|
You can customize which fields are redacted and how redaction appears:
|
|
65
85
|
|
|
66
|
-
```ts title="src/mastra/index.ts"
|
|
86
|
+
```ts title="src/mastra/index.ts"
|
|
67
87
|
import { SensitiveDataFilter, DefaultExporter, Observability } from "@mastra/observability";
|
|
68
88
|
|
|
69
89
|
export const mastra = new Mastra({
|
|
@@ -210,7 +230,7 @@ The Sensitive Data Filter is designed to be lightweight and efficient:
|
|
|
210
230
|
|
|
211
231
|
If you need to disable sensitive data filtering (not recommended for production):
|
|
212
232
|
|
|
213
|
-
```ts title="src/mastra/index.ts"
|
|
233
|
+
```ts title="src/mastra/index.ts"
|
|
214
234
|
export const mastra = new Mastra({
|
|
215
235
|
observability: new Observability({
|
|
216
236
|
configs: {
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Chunking and Embedding Documents | RAG
|
|
2
|
+
title: Chunking and Embedding Documents | RAG
|
|
3
3
|
description: Guide on chunking and embedding documents in Mastra for efficient processing and retrieval.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
6
|
+
- "@mastra/rag"
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Chunking and Embedding Documents
|
|
7
10
|
|
|
8
11
|
Before processing, create a MDocument instance from your content. You can initialize it from various formats:
|
|
9
12
|
|
|
10
|
-
```ts
|
|
13
|
+
```ts
|
|
11
14
|
const docFromText = MDocument.fromText("Your plain text content...");
|
|
12
15
|
const docFromHTML = MDocument.fromHTML("<html>Your HTML content...</html>");
|
|
13
16
|
const docFromMarkdown = MDocument.fromMarkdown("# Your Markdown content...");
|
|
@@ -28,11 +31,13 @@ Use `chunk` to split documents into manageable pieces. Mastra supports multiple
|
|
|
28
31
|
- `latex`: LaTeX structure-aware splitting
|
|
29
32
|
- `sentence`: Sentence-aware splitting
|
|
30
33
|
|
|
31
|
-
|
|
34
|
+
:::note
|
|
35
|
+
Each strategy accepts different parameters optimized for its chunking approach.
|
|
36
|
+
:::
|
|
32
37
|
|
|
33
38
|
Here's an example of how to use the `recursive` strategy:
|
|
34
39
|
|
|
35
|
-
```ts
|
|
40
|
+
```ts
|
|
36
41
|
const chunks = await doc.chunk({
|
|
37
42
|
strategy: "recursive",
|
|
38
43
|
maxSize: 512,
|
|
@@ -46,20 +51,19 @@ const chunks = await doc.chunk({
|
|
|
46
51
|
|
|
47
52
|
For text where preserving sentence structure is important, here's an example of how to use the `sentence` strategy:
|
|
48
53
|
|
|
49
|
-
```ts
|
|
54
|
+
```ts
|
|
50
55
|
const chunks = await doc.chunk({
|
|
51
56
|
strategy: "sentence",
|
|
52
57
|
maxSize: 450,
|
|
53
58
|
minSize: 50,
|
|
54
59
|
overlap: 0,
|
|
55
60
|
sentenceEnders: ["."],
|
|
56
|
-
keepSeparator: true,
|
|
57
61
|
});
|
|
58
62
|
```
|
|
59
63
|
|
|
60
64
|
For markdown documents where preserving the semantic relationships between sections is important, here's an example of how to use the `semantic-markdown` strategy:
|
|
61
65
|
|
|
62
|
-
```ts
|
|
66
|
+
```ts
|
|
63
67
|
const chunks = await doc.chunk({
|
|
64
68
|
strategy: "semantic-markdown",
|
|
65
69
|
joinThreshold: 500,
|
|
@@ -67,19 +71,21 @@ const chunks = await doc.chunk({
|
|
|
67
71
|
});
|
|
68
72
|
```
|
|
69
73
|
|
|
70
|
-
|
|
74
|
+
:::note
|
|
75
|
+
Metadata extraction may use LLM calls, so ensure your API key is set.
|
|
76
|
+
:::
|
|
71
77
|
|
|
72
|
-
We go deeper into chunking strategies in our [chunk documentation](/reference/v1/rag/chunk).
|
|
78
|
+
We go deeper into chunking strategies in our [`chunk()` reference documentation](/reference/v1/rag/chunk).
|
|
73
79
|
|
|
74
80
|
## Step 2: Embedding Generation
|
|
75
81
|
|
|
76
|
-
Transform chunks into embeddings using your preferred provider. Mastra supports embedding models through the model router
|
|
82
|
+
Transform chunks into embeddings using your preferred provider. Mastra supports embedding models through the model router.
|
|
77
83
|
|
|
78
|
-
### Using the Model Router
|
|
84
|
+
### Using the Model Router
|
|
79
85
|
|
|
80
86
|
The simplest way is to use Mastra's model router with `provider/model` strings:
|
|
81
87
|
|
|
82
|
-
```ts
|
|
88
|
+
```ts
|
|
83
89
|
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
84
90
|
import { embedMany } from "ai";
|
|
85
91
|
|
|
@@ -89,27 +95,10 @@ const { embeddings } = await embedMany({
|
|
|
89
95
|
});
|
|
90
96
|
```
|
|
91
97
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
- **OpenAI**: `text-embedding-3-small`, `text-embedding-3-large`, `text-embedding-ada-002`
|
|
95
|
-
- **Google**: `gemini-embedding-001`, `text-embedding-004`
|
|
98
|
+
Mastra supports OpenAI and Google embedding models. For a complete list of supported embedding models, see the [embeddings reference](/reference/v1/rag/embeddings).
|
|
96
99
|
|
|
97
100
|
The model router automatically handles API key detection from environment variables.
|
|
98
101
|
|
|
99
|
-
### Using AI SDK Packages
|
|
100
|
-
|
|
101
|
-
You can also use AI SDK embedding models directly:
|
|
102
|
-
|
|
103
|
-
```ts showLineNumbers copy
|
|
104
|
-
import { embedMany } from "ai";
|
|
105
|
-
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
106
|
-
|
|
107
|
-
const { embeddings } = await embedMany({
|
|
108
|
-
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
109
|
-
values: chunks.map((chunk) => chunk.text),
|
|
110
|
-
});
|
|
111
|
-
```
|
|
112
|
-
|
|
113
102
|
The embedding functions return vectors, arrays of numbers representing the semantic meaning of your text, ready for similarity searches in your vector database.
|
|
114
103
|
|
|
115
104
|
### Configuring Embedding Dimensions
|
|
@@ -147,15 +136,15 @@ const { embeddings } = await embedMany({
|
|
|
147
136
|
});
|
|
148
137
|
```
|
|
149
138
|
|
|
150
|
-
|
|
151
|
-
|
|
139
|
+
:::important[Vector Database Compatibility]
|
|
152
140
|
When storing embeddings, the vector database index must be configured to match the output size of your embedding model. If the dimensions do not match, you may get errors or data corruption.
|
|
141
|
+
:::
|
|
153
142
|
|
|
154
143
|
## Example: Complete Pipeline
|
|
155
144
|
|
|
156
145
|
Here's an example showing document processing and embedding generation with both providers:
|
|
157
146
|
|
|
158
|
-
```ts
|
|
147
|
+
```ts
|
|
159
148
|
import { embedMany } from "ai";
|
|
160
149
|
|
|
161
150
|
import { MDocument } from "@mastra/rag";
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "GraphRAG | RAG"
|
|
3
|
+
description: Guide on graph-based retrieval in Mastra's RAG systems for documents with complex relationships.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
6
|
+
- "@mastra/rag"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# GraphRAG
|
|
10
|
+
|
|
11
|
+
Graph-based retrieval enhances traditional vector search by following relationships between chunks of information. This approach is useful when information is spread across multiple documents or when documents reference each other.
|
|
12
|
+
|
|
13
|
+
## When to use GraphRAG
|
|
14
|
+
|
|
15
|
+
GraphRAG is particularly effective when:
|
|
16
|
+
|
|
17
|
+
- Information is spread across multiple documents
|
|
18
|
+
- Documents reference each other
|
|
19
|
+
- You need to traverse relationships to find complete answers
|
|
20
|
+
- Understanding connections between concepts is important
|
|
21
|
+
- Simple vector similarity misses important contextual relationships
|
|
22
|
+
|
|
23
|
+
For straightforward semantic search without relationship traversal, use [standard retrieval methods](/docs/v1/rag/retrieval).
|
|
24
|
+
|
|
25
|
+
## How GraphRAG works
|
|
26
|
+
|
|
27
|
+
GraphRAG combines vector similarity with knowledge graph traversal:
|
|
28
|
+
|
|
29
|
+
1. Initial vector search retrieves relevant chunks based on semantic similarity
|
|
30
|
+
2. A knowledge graph is constructed from the retrieved chunks
|
|
31
|
+
3. The graph is traversed to find connected information
|
|
32
|
+
4. Results include both directly relevant chunks and related content
|
|
33
|
+
|
|
34
|
+
This process helps surface information that might not be semantically similar to the query but is contextually relevant through connections.
|
|
35
|
+
|
|
36
|
+
## Creating a graph query tool
|
|
37
|
+
|
|
38
|
+
The Graph Query Tool provides agents with the ability to perform graph-based retrieval:
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
import { createGraphRAGTool } from "@mastra/rag";
|
|
42
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
43
|
+
|
|
44
|
+
const graphQueryTool = createGraphRAGTool({
|
|
45
|
+
vectorStoreName: "pgVector",
|
|
46
|
+
indexName: "embeddings",
|
|
47
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
48
|
+
graphOptions: {
|
|
49
|
+
threshold: 0.7,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Configuration options
|
|
55
|
+
|
|
56
|
+
The `graphOptions` parameter controls how the knowledge graph is built and traversed:
|
|
57
|
+
|
|
58
|
+
- `threshold`: Similarity threshold (0-1) for determining which chunks are related. Higher values create sparser graphs with stronger connections; lower values create denser graphs with more potential relationships.
|
|
59
|
+
- `dimension`: Vector embedding dimension. Must match the embedding model's output dimension (e.g., 1536 for OpenAI's text-embedding-3-small).
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
const graphQueryTool = createGraphRAGTool({
|
|
63
|
+
vectorStoreName: "pgVector",
|
|
64
|
+
indexName: "embeddings",
|
|
65
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
66
|
+
graphOptions: {
|
|
67
|
+
dimension: 1536,
|
|
68
|
+
threshold: 0.7,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Using GraphRAG with agents
|
|
74
|
+
|
|
75
|
+
Integrate the graph query tool with an agent to enable graph-based retrieval:
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import { Agent } from "@mastra/core/agent";
|
|
79
|
+
|
|
80
|
+
const ragAgent = new Agent({
|
|
81
|
+
id: "rag-agent",
|
|
82
|
+
name: "GraphRAG Agent",
|
|
83
|
+
instructions: `You are a helpful assistant that answers questions based on the provided context.
|
|
84
|
+
When answering questions, use the graph query tool to find relevant information and relationships.
|
|
85
|
+
Base your answers on the context provided by the tool, and clearly state if the context doesn't contain enough information.`,
|
|
86
|
+
model: "openai/gpt-5.1",
|
|
87
|
+
tools: {
|
|
88
|
+
graphQueryTool,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Document processing and storage
|
|
94
|
+
|
|
95
|
+
Before using graph-based retrieval, process documents into chunks and store their embeddings:
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
import { MDocument } from "@mastra/rag";
|
|
99
|
+
import { embedMany } from "ai";
|
|
100
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
101
|
+
|
|
102
|
+
// Create and chunk document
|
|
103
|
+
const doc = MDocument.fromText("Your document content here...");
|
|
104
|
+
|
|
105
|
+
const chunks = await doc.chunk({
|
|
106
|
+
strategy: "recursive",
|
|
107
|
+
size: 512,
|
|
108
|
+
overlap: 50,
|
|
109
|
+
separator: "\n",
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
// Generate embeddings
|
|
113
|
+
const { embeddings } = await embedMany({
|
|
114
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
115
|
+
values: chunks.map((chunk) => chunk.text),
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
// Store in vector database
|
|
119
|
+
const vectorStore = mastra.getVector("pgVector");
|
|
120
|
+
await vectorStore.createIndex({
|
|
121
|
+
indexName: "embeddings",
|
|
122
|
+
dimension: 1536,
|
|
123
|
+
});
|
|
124
|
+
await vectorStore.upsert({
|
|
125
|
+
indexName: "embeddings",
|
|
126
|
+
vectors: embeddings,
|
|
127
|
+
metadata: chunks?.map((chunk) => ({ text: chunk.text })),
|
|
128
|
+
});
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Querying with GraphRAG
|
|
132
|
+
|
|
133
|
+
Once configured, the agent can perform graph-based queries:
|
|
134
|
+
|
|
135
|
+
```ts
|
|
136
|
+
const query = "What are the effects of infrastructure changes on local businesses?";
|
|
137
|
+
const response = await ragAgent.generate(query);
|
|
138
|
+
console.log(response.text);
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
The agent uses the graph query tool to:
|
|
142
|
+
|
|
143
|
+
1. Convert the query to an embedding
|
|
144
|
+
2. Find semantically similar chunks in the vector store
|
|
145
|
+
3. Build a knowledge graph from related chunks
|
|
146
|
+
4. Traverse the graph to find connected information
|
|
147
|
+
5. Return comprehensive context for generating the response
|
|
148
|
+
|
|
149
|
+
## Choosing the right threshold
|
|
150
|
+
|
|
151
|
+
The threshold parameter significantly impacts retrieval quality:
|
|
152
|
+
|
|
153
|
+
- **High threshold (0.8-0.9)**: Strict connections, fewer relationships, more precise but potentially incomplete results
|
|
154
|
+
- **Medium threshold (0.6-0.8)**: Balanced approach, good for most use cases
|
|
155
|
+
- **Low threshold (0.4-0.6)**: More connections, broader context, risk of including less relevant information
|
|
156
|
+
|
|
157
|
+
Start with 0.7 and adjust based on your specific use case:
|
|
158
|
+
|
|
159
|
+
```ts
|
|
160
|
+
// Strict connections for precise answers
|
|
161
|
+
const strictGraphTool = createGraphRAGTool({
|
|
162
|
+
vectorStoreName: "pgVector",
|
|
163
|
+
indexName: "embeddings",
|
|
164
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
165
|
+
graphOptions: {
|
|
166
|
+
threshold: 0.85,
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
// Broader connections for exploratory queries
|
|
171
|
+
const broadGraphTool = createGraphRAGTool({
|
|
172
|
+
vectorStoreName: "pgVector",
|
|
173
|
+
indexName: "embeddings",
|
|
174
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
175
|
+
graphOptions: {
|
|
176
|
+
threshold: 0.5,
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Combining with other retrieval methods
|
|
182
|
+
|
|
183
|
+
GraphRAG can be used alongside other retrieval approaches:
|
|
184
|
+
|
|
185
|
+
```ts
|
|
186
|
+
import { createVectorQueryTool } from "@mastra/rag";
|
|
187
|
+
|
|
188
|
+
const vectorQueryTool = createVectorQueryTool({
|
|
189
|
+
vectorStoreName: "pgVector",
|
|
190
|
+
indexName: "embeddings",
|
|
191
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
const graphQueryTool = createGraphRAGTool({
|
|
195
|
+
vectorStoreName: "pgVector",
|
|
196
|
+
indexName: "embeddings",
|
|
197
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
198
|
+
graphOptions: {
|
|
199
|
+
threshold: 0.7,
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
const agent = new Agent({
|
|
204
|
+
id: "rag-agent",
|
|
205
|
+
name: "RAG Agent",
|
|
206
|
+
instructions: `Use vector search for simple fact-finding queries.
|
|
207
|
+
Use graph search when you need to understand relationships or find connected information.`,
|
|
208
|
+
model: "openai/gpt-5.1",
|
|
209
|
+
tools: {
|
|
210
|
+
vectorQueryTool,
|
|
211
|
+
graphQueryTool,
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
This gives the agent flexibility to choose the appropriate retrieval method based on the query.
|
|
217
|
+
|
|
218
|
+
## Reference
|
|
219
|
+
|
|
220
|
+
For detailed API documentation, see:
|
|
221
|
+
|
|
222
|
+
- [GraphRAG Class](/reference/v1/rag/graph-rag)
|
|
223
|
+
- [createGraphRAGTool()](/reference/v1/tools/graph-rag-tool)
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "RAG (Retrieval-Augmented Generation) in Mastra | RAG"
|
|
3
3
|
description: Overview of Retrieval-Augmented Generation (RAG) in Mastra, detailing its capabilities for enhancing LLM outputs with relevant context.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
6
|
+
- "@mastra/pg"
|
|
7
|
+
- "@mastra/rag"
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
# RAG (Retrieval-Augmented Generation) in Mastra
|
|
@@ -18,7 +22,7 @@ Mastra's RAG system provides:
|
|
|
18
22
|
|
|
19
23
|
To implement RAG, you process your documents into chunks, create embeddings, store them in a vector database, and then retrieve relevant context at query time.
|
|
20
24
|
|
|
21
|
-
```ts
|
|
25
|
+
```ts
|
|
22
26
|
import { embedMany } from "ai";
|
|
23
27
|
import { PgVector } from "@mastra/pg";
|
|
24
28
|
import { MDocument } from "@mastra/rag";
|
|
@@ -74,5 +78,4 @@ Mastra supports multiple vector stores for embedding persistence and similarity
|
|
|
74
78
|
|
|
75
79
|
## More resources
|
|
76
80
|
|
|
77
|
-
- [Chain of Thought RAG Example](/examples/
|
|
78
|
-
- [All RAG Examples](/examples/v1/) (including different chunking strategies, embedding models, and vector stores)
|
|
81
|
+
- [Chain of Thought RAG Example](https://github.com/mastra-ai/mastra/tree/main/examples/basics/rag/cot-rag)
|