@mastra/mcp-docs-server 1.0.0-beta.9 → 1.0.1
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 +3 -1
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +3 -1
- package/.docs/organized/changelogs/%40internal%2Fplayground.md +60 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +15 -15
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +3 -1
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +302 -302
- 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 +239 -239
- 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 +202 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +348 -348
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +106 -106
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +90 -90
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +86 -86
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +221 -221
- 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 +625 -229
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +245 -245
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +281 -281
- 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 +781 -235
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +282 -282
- 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 -237
- 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 +230 -230
- 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 +219 -219
- package/.docs/organized/changelogs/mastra.md +276 -276
- 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 +2 -2
- 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/quick-start.md +1 -5
- package/.docs/organized/code-examples/server-app-access.md +2 -2
- 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 +2 -2
- 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 +6 -35
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +23 -33
- 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/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 +77 -35
- 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 +4 -2
- package/.docs/raw/reference/client-js/memory.mdx +43 -1
- 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 +7 -3
- 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 +6 -4
- 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 +8 -4
- package/.docs/raw/reference/core/listScorers.mdx +2 -0
- package/.docs/raw/reference/core/listStoredAgents.mdx +7 -5
- 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 +27 -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 +27 -51
- package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +27 -51
- 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-db → server}/server-adapters.mdx +154 -33
- package/.docs/raw/streaming/events.mdx +16 -7
- package/.docs/raw/streaming/overview.mdx +30 -17
- package/.docs/raw/streaming/tool-streaming.mdx +8 -6
- 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 +260 -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/workflows/inngest-workflow.mdx +0 -363
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: Composite Storage | Storage"
|
|
3
|
+
description: Documentation for combining multiple storage backends in Mastra.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/clickhouse"
|
|
6
|
+
- "@mastra/core"
|
|
7
|
+
- "@mastra/libsql"
|
|
8
|
+
- "@mastra/pg"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Composite Storage
|
|
12
|
+
|
|
13
|
+
`MastraCompositeStore` can compose storage domains from different providers. Use it when you need different databases for different purposes. For example, use LibSQL for memory and PostgreSQL for workflows.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
`MastraCompositeStore` is included in `@mastra/core`:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install @mastra/core@beta
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
You'll also need to install the storage providers you want to compose:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm install @mastra/pg@beta @mastra/libsql@beta
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Storage domains
|
|
30
|
+
|
|
31
|
+
Mastra organizes storage into five specialized domains, each handling a specific type of data. Each domain can be backed by a different storage adapter, and domain classes are exported from each storage package.
|
|
32
|
+
|
|
33
|
+
| Domain | Description |
|
|
34
|
+
|--------|-------------|
|
|
35
|
+
| `memory` | Conversation persistence for agents. Stores threads (conversation sessions), messages, resources (user identities), and working memory (persistent context across conversations). |
|
|
36
|
+
| `workflows` | Workflow execution state. When workflows suspend for human input, external events, or scheduled resumption, their state is persisted here to enable resumption after server restarts. |
|
|
37
|
+
| `scores` | Evaluation results from Mastra's evals system. Scores and metrics are persisted here for analysis and comparison over time. |
|
|
38
|
+
| `observability` | Telemetry data including traces and spans. Agent interactions, tool calls, and LLM requests generate spans collected into traces for debugging and performance analysis. |
|
|
39
|
+
| `agents` | Agent configurations for stored agents. Enables agents to be defined and updated at runtime without code deployments. |
|
|
40
|
+
|
|
41
|
+
## Usage
|
|
42
|
+
|
|
43
|
+
### Basic composition
|
|
44
|
+
|
|
45
|
+
Import domain classes directly from each store package and compose them:
|
|
46
|
+
|
|
47
|
+
```typescript title="src/mastra/index.ts"
|
|
48
|
+
import { MastraCompositeStore } from "@mastra/core/storage";
|
|
49
|
+
import { WorkflowsPG, ScoresPG } from "@mastra/pg";
|
|
50
|
+
import { MemoryLibSQL } from "@mastra/libsql";
|
|
51
|
+
import { Mastra } from "@mastra/core";
|
|
52
|
+
|
|
53
|
+
export const mastra = new Mastra({
|
|
54
|
+
storage: new MastraCompositeStore({
|
|
55
|
+
id: "composite",
|
|
56
|
+
domains: {
|
|
57
|
+
memory: new MemoryLibSQL({ url: "file:./local.db" }),
|
|
58
|
+
workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
|
|
59
|
+
scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
|
|
60
|
+
},
|
|
61
|
+
}),
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### With a default storage
|
|
66
|
+
|
|
67
|
+
Use `default` to specify a fallback storage, then override specific domains:
|
|
68
|
+
|
|
69
|
+
```typescript title="src/mastra/index.ts"
|
|
70
|
+
import { MastraCompositeStore } from "@mastra/core/storage";
|
|
71
|
+
import { PostgresStore } from "@mastra/pg";
|
|
72
|
+
import { MemoryLibSQL } from "@mastra/libsql";
|
|
73
|
+
import { Mastra } from "@mastra/core";
|
|
74
|
+
|
|
75
|
+
const pgStore = new PostgresStore({
|
|
76
|
+
id: "pg",
|
|
77
|
+
connectionString: process.env.DATABASE_URL,
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
export const mastra = new Mastra({
|
|
81
|
+
storage: new MastraCompositeStore({
|
|
82
|
+
id: "composite",
|
|
83
|
+
default: pgStore,
|
|
84
|
+
domains: {
|
|
85
|
+
memory: new MemoryLibSQL({ url: "file:./local.db" }),
|
|
86
|
+
},
|
|
87
|
+
}),
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Options
|
|
92
|
+
|
|
93
|
+
<PropertiesTable
|
|
94
|
+
content={[
|
|
95
|
+
{
|
|
96
|
+
name: "id",
|
|
97
|
+
type: "string",
|
|
98
|
+
description: "Unique identifier for this storage instance.",
|
|
99
|
+
isOptional: false,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: "default",
|
|
103
|
+
type: "MastraCompositeStore",
|
|
104
|
+
description:
|
|
105
|
+
"Default storage adapter. Domains not explicitly specified in `domains` will use this storage's domains as fallbacks.",
|
|
106
|
+
isOptional: true,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "domains",
|
|
110
|
+
type: "object",
|
|
111
|
+
description:
|
|
112
|
+
"Individual domain overrides. Each domain can come from a different storage adapter. These take precedence over the default storage.",
|
|
113
|
+
isOptional: true,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: "domains.memory",
|
|
117
|
+
type: "MemoryStorage",
|
|
118
|
+
description: "Storage for threads, messages, and resources.",
|
|
119
|
+
isOptional: true,
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: "domains.workflows",
|
|
123
|
+
type: "WorkflowsStorage",
|
|
124
|
+
description: "Storage for workflow snapshots.",
|
|
125
|
+
isOptional: true,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: "domains.scores",
|
|
129
|
+
type: "ScoresStorage",
|
|
130
|
+
description: "Storage for evaluation scores.",
|
|
131
|
+
isOptional: true,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
name: "domains.observability",
|
|
135
|
+
type: "ObservabilityStorage",
|
|
136
|
+
description: "Storage for traces and spans.",
|
|
137
|
+
isOptional: true,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
name: "domains.agents",
|
|
141
|
+
type: "AgentsStorage",
|
|
142
|
+
description: "Storage for stored agent configurations.",
|
|
143
|
+
isOptional: true,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
name: "disableInit",
|
|
147
|
+
type: "boolean",
|
|
148
|
+
description:
|
|
149
|
+
"When true, automatic initialization is disabled. You must call init() explicitly.",
|
|
150
|
+
isOptional: true,
|
|
151
|
+
},
|
|
152
|
+
]}
|
|
153
|
+
/>
|
|
154
|
+
|
|
155
|
+
## Initialization
|
|
156
|
+
|
|
157
|
+
`MastraCompositeStore` initializes each configured domain independently. When passed to the Mastra class, `init()` is called automatically:
|
|
158
|
+
|
|
159
|
+
```typescript title="src/mastra/index.ts"
|
|
160
|
+
import { MastraCompositeStore } from "@mastra/core/storage";
|
|
161
|
+
import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
|
|
162
|
+
import { Mastra } from "@mastra/core";
|
|
163
|
+
|
|
164
|
+
const storage = new MastraCompositeStore({
|
|
165
|
+
id: "composite",
|
|
166
|
+
domains: {
|
|
167
|
+
memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
|
|
168
|
+
workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
|
|
169
|
+
scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
export const mastra = new Mastra({
|
|
174
|
+
storage, // init() called automatically
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
If using storage directly, call `init()` explicitly:
|
|
179
|
+
|
|
180
|
+
```typescript
|
|
181
|
+
import { MastraCompositeStore } from "@mastra/core/storage";
|
|
182
|
+
import { MemoryPG } from "@mastra/pg";
|
|
183
|
+
|
|
184
|
+
const storage = new MastraCompositeStore({
|
|
185
|
+
id: "composite",
|
|
186
|
+
domains: {
|
|
187
|
+
memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
|
|
188
|
+
},
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
await storage.init();
|
|
192
|
+
|
|
193
|
+
// Access domain-specific stores via getStore()
|
|
194
|
+
const memoryStore = await storage.getStore("memory");
|
|
195
|
+
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Use cases
|
|
199
|
+
|
|
200
|
+
### Separate databases for different workloads
|
|
201
|
+
|
|
202
|
+
Use a local database for development while keeping production data in a managed service:
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
import { MastraCompositeStore } from "@mastra/core/storage";
|
|
206
|
+
import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
|
|
207
|
+
import { MemoryLibSQL } from "@mastra/libsql";
|
|
208
|
+
|
|
209
|
+
const storage = new MastraCompositeStore({
|
|
210
|
+
id: "composite",
|
|
211
|
+
domains: {
|
|
212
|
+
// Use local SQLite for development, PostgreSQL for production
|
|
213
|
+
memory:
|
|
214
|
+
process.env.NODE_ENV === "development"
|
|
215
|
+
? new MemoryLibSQL({ url: "file:./dev.db" })
|
|
216
|
+
: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
|
|
217
|
+
workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
|
|
218
|
+
scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Specialized storage for observability
|
|
224
|
+
|
|
225
|
+
Use a time-series database for traces while keeping other data in PostgreSQL:
|
|
226
|
+
|
|
227
|
+
```typescript
|
|
228
|
+
import { MastraCompositeStore } from "@mastra/core/storage";
|
|
229
|
+
import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
|
|
230
|
+
import { ObservabilityStorageClickhouse } from "@mastra/clickhouse";
|
|
231
|
+
|
|
232
|
+
const storage = new MastraCompositeStore({
|
|
233
|
+
id: "composite",
|
|
234
|
+
domains: {
|
|
235
|
+
memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
|
|
236
|
+
workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
|
|
237
|
+
scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
|
|
238
|
+
observability: new ObservabilityStorageClickhouse({
|
|
239
|
+
url: process.env.CLICKHOUSE_URL,
|
|
240
|
+
username: process.env.CLICKHOUSE_USERNAME,
|
|
241
|
+
password: process.env.CLICKHOUSE_PASSWORD,
|
|
242
|
+
}),
|
|
243
|
+
},
|
|
244
|
+
});
|
|
245
|
+
```
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Reference: Convex Storage | Storage"
|
|
3
3
|
description: Documentation for the Convex storage implementation in Mastra.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/convex"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Convex Storage
|
|
@@ -9,7 +11,7 @@ The Convex storage implementation provides a serverless storage solution using [
|
|
|
9
11
|
|
|
10
12
|
## Installation
|
|
11
13
|
|
|
12
|
-
```bash
|
|
14
|
+
```bash
|
|
13
15
|
npm install @mastra/convex@beta
|
|
14
16
|
```
|
|
15
17
|
|
|
@@ -21,7 +23,7 @@ Before using `ConvexStore`, you need to set up the Convex schema and storage han
|
|
|
21
23
|
|
|
22
24
|
In `convex/schema.ts`:
|
|
23
25
|
|
|
24
|
-
```typescript
|
|
26
|
+
```typescript
|
|
25
27
|
import { defineSchema } from 'convex/server';
|
|
26
28
|
import {
|
|
27
29
|
mastraThreadsTable,
|
|
@@ -32,7 +34,7 @@ import {
|
|
|
32
34
|
mastraVectorIndexesTable,
|
|
33
35
|
mastraVectorsTable,
|
|
34
36
|
mastraDocumentsTable,
|
|
35
|
-
} from '@mastra/convex/
|
|
37
|
+
} from '@mastra/convex/schema';
|
|
36
38
|
|
|
37
39
|
export default defineSchema({
|
|
38
40
|
mastra_threads: mastraThreadsTable,
|
|
@@ -50,7 +52,7 @@ export default defineSchema({
|
|
|
50
52
|
|
|
51
53
|
In `convex/mastra/storage.ts`:
|
|
52
54
|
|
|
53
|
-
```typescript
|
|
55
|
+
```typescript
|
|
54
56
|
import { mastraStorage } from '@mastra/convex/server';
|
|
55
57
|
|
|
56
58
|
export const handle = mastraStorage;
|
|
@@ -58,7 +60,7 @@ export const handle = mastraStorage;
|
|
|
58
60
|
|
|
59
61
|
### 3. Deploy to Convex
|
|
60
62
|
|
|
61
|
-
```bash
|
|
63
|
+
```bash
|
|
62
64
|
npx convex dev
|
|
63
65
|
# or for production
|
|
64
66
|
npx convex deploy
|
|
@@ -66,7 +68,7 @@ npx convex deploy
|
|
|
66
68
|
|
|
67
69
|
## Usage
|
|
68
70
|
|
|
69
|
-
```typescript
|
|
71
|
+
```typescript
|
|
70
72
|
import { ConvexStore } from "@mastra/convex";
|
|
71
73
|
|
|
72
74
|
const storage = new ConvexStore({
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Reference: DynamoDB Storage | Storage"
|
|
3
3
|
description: "Documentation for the DynamoDB storage implementation in Mastra, using a single-table design with ElectroDB."
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/dynamodb"
|
|
6
|
+
- "@mastra/libsql"
|
|
7
|
+
- "@mastra/memory"
|
|
8
|
+
- "@mastra/pg"
|
|
4
9
|
---
|
|
5
10
|
|
|
6
11
|
# DynamoDB Storage
|
|
@@ -15,10 +20,11 @@ The DynamoDB storage implementation provides a scalable and performant NoSQL dat
|
|
|
15
20
|
- Compatible with AWS DynamoDB Local for development
|
|
16
21
|
- Stores Thread, Message, Trace, Eval, and Workflow data
|
|
17
22
|
- Optimized for serverless environments
|
|
23
|
+
- Configurable TTL (Time To Live) for automatic data expiration per entity type
|
|
18
24
|
|
|
19
25
|
## Installation
|
|
20
26
|
|
|
21
|
-
```bash
|
|
27
|
+
```bash
|
|
22
28
|
npm install @mastra/dynamodb@beta
|
|
23
29
|
# or
|
|
24
30
|
pnpm add @mastra/dynamodb@beta
|
|
@@ -36,13 +42,13 @@ Detailed instructions for setting up the table using AWS CloudFormation or AWS C
|
|
|
36
42
|
|
|
37
43
|
### Basic Usage
|
|
38
44
|
|
|
39
|
-
```typescript
|
|
45
|
+
```typescript
|
|
40
46
|
import { Memory } from "@mastra/memory";
|
|
41
47
|
import { DynamoDBStore } from "@mastra/dynamodb";
|
|
42
48
|
|
|
43
49
|
// Initialize the DynamoDB storage
|
|
44
50
|
const storage = new DynamoDBStore({
|
|
45
|
-
|
|
51
|
+
id: "dynamodb", // Unique identifier for this storage instance
|
|
46
52
|
config: {
|
|
47
53
|
tableName: "mastra-single-table", // Name of your DynamoDB table
|
|
48
54
|
region: "us-east-1", // Optional: AWS region, defaults to 'us-east-1'
|
|
@@ -72,11 +78,11 @@ For local development, you can use [DynamoDB Local](https://docs.aws.amazon.com/
|
|
|
72
78
|
|
|
73
79
|
2. **Configure `DynamoDBStore` to use the local endpoint:**
|
|
74
80
|
|
|
75
|
-
```typescript copy
|
|
81
|
+
```typescript copy
|
|
76
82
|
import { DynamoDBStore } from "@mastra/dynamodb";
|
|
77
83
|
|
|
78
84
|
const storage = new DynamoDBStore({
|
|
79
|
-
|
|
85
|
+
id: "dynamodb-local",
|
|
80
86
|
config: {
|
|
81
87
|
tableName: "mastra-single-table", // Ensure this table is created in your local DynamoDB
|
|
82
88
|
region: "localhost", // Can be any string for local, 'localhost' is common
|
|
@@ -95,9 +101,9 @@ For local development, you can use [DynamoDB Local](https://docs.aws.amazon.com/
|
|
|
95
101
|
<PropertiesTable
|
|
96
102
|
content={[
|
|
97
103
|
{
|
|
98
|
-
name: "
|
|
104
|
+
name: "id",
|
|
99
105
|
type: "string",
|
|
100
|
-
description: "
|
|
106
|
+
description: "Unique identifier for this storage instance.",
|
|
101
107
|
isOptional: false,
|
|
102
108
|
},
|
|
103
109
|
{
|
|
@@ -127,14 +133,134 @@ For local development, you can use [DynamoDB Local](https://docs.aws.amazon.com/
|
|
|
127
133
|
"AWS credentials object with `accessKeyId` and `secretAccessKey`. If not provided, the AWS SDK will attempt to source credentials from environment variables, IAM roles (e.g., for EC2/Lambda), or the shared AWS credentials file.",
|
|
128
134
|
isOptional: true,
|
|
129
135
|
},
|
|
136
|
+
{
|
|
137
|
+
name: "config.ttl",
|
|
138
|
+
type: "object",
|
|
139
|
+
description:
|
|
140
|
+
"TTL (Time To Live) configuration for automatic data expiration. Configure per entity type: thread, message, trace, eval, workflow_snapshot, resource, score. Each entity config includes: enabled (boolean), attributeName (string, default: 'ttl'), defaultTtlSeconds (number).",
|
|
141
|
+
isOptional: true,
|
|
142
|
+
},
|
|
143
|
+
]}
|
|
144
|
+
/>
|
|
145
|
+
|
|
146
|
+
## TTL (Time To Live) Configuration
|
|
147
|
+
|
|
148
|
+
DynamoDB TTL allows you to automatically delete items after a specified time period. This is useful for:
|
|
149
|
+
|
|
150
|
+
- **Cost optimization**: Automatically remove old data to reduce storage costs
|
|
151
|
+
- **Data lifecycle management**: Implement retention policies for compliance
|
|
152
|
+
- **Performance**: Prevent tables from growing indefinitely
|
|
153
|
+
- **Privacy compliance**: Automatically purge personal data after specified periods
|
|
154
|
+
|
|
155
|
+
### Enabling TTL
|
|
156
|
+
|
|
157
|
+
To use TTL, you must:
|
|
158
|
+
|
|
159
|
+
1. **Configure TTL in DynamoDBStore** (shown below)
|
|
160
|
+
2. **Enable TTL on your DynamoDB table** via AWS Console or CLI, specifying the attribute name (default: `ttl`)
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
import { DynamoDBStore } from "@mastra/dynamodb";
|
|
164
|
+
|
|
165
|
+
const storage = new DynamoDBStore({
|
|
166
|
+
name: "dynamodb",
|
|
167
|
+
config: {
|
|
168
|
+
tableName: "mastra-single-table",
|
|
169
|
+
region: "us-east-1",
|
|
170
|
+
ttl: {
|
|
171
|
+
// Messages expire after 30 days
|
|
172
|
+
message: {
|
|
173
|
+
enabled: true,
|
|
174
|
+
defaultTtlSeconds: 30 * 24 * 60 * 60, // 30 days
|
|
175
|
+
},
|
|
176
|
+
// Threads expire after 90 days
|
|
177
|
+
thread: {
|
|
178
|
+
enabled: true,
|
|
179
|
+
defaultTtlSeconds: 90 * 24 * 60 * 60, // 90 days
|
|
180
|
+
},
|
|
181
|
+
// Traces expire after 7 days with custom attribute name
|
|
182
|
+
trace: {
|
|
183
|
+
enabled: true,
|
|
184
|
+
attributeName: "expiresAt", // Custom TTL attribute
|
|
185
|
+
defaultTtlSeconds: 7 * 24 * 60 * 60, // 7 days
|
|
186
|
+
},
|
|
187
|
+
// Workflow snapshots don't expire
|
|
188
|
+
workflow_snapshot: {
|
|
189
|
+
enabled: false,
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Supported Entity Types
|
|
197
|
+
|
|
198
|
+
TTL can be configured for these entity types:
|
|
199
|
+
|
|
200
|
+
| Entity | Description |
|
|
201
|
+
|--------|-------------|
|
|
202
|
+
| `thread` | Conversation threads |
|
|
203
|
+
| `message` | Messages within threads |
|
|
204
|
+
| `trace` | Observability traces |
|
|
205
|
+
| `eval` | Evaluation results |
|
|
206
|
+
| `workflow_snapshot` | Workflow state snapshots |
|
|
207
|
+
| `resource` | User/resource data |
|
|
208
|
+
| `score` | Scoring results |
|
|
209
|
+
|
|
210
|
+
### TTL Entity Configuration
|
|
211
|
+
|
|
212
|
+
Each entity type accepts the following configuration:
|
|
213
|
+
|
|
214
|
+
<PropertiesTable
|
|
215
|
+
content={[
|
|
216
|
+
{
|
|
217
|
+
name: "enabled",
|
|
218
|
+
type: "boolean",
|
|
219
|
+
description: "Whether TTL is enabled for this entity type.",
|
|
220
|
+
isOptional: false,
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
name: "attributeName",
|
|
224
|
+
type: "string",
|
|
225
|
+
description: "The DynamoDB attribute name to use for TTL. Must match the TTL attribute configured on your DynamoDB table. Defaults to 'ttl'.",
|
|
226
|
+
isOptional: true,
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
name: "defaultTtlSeconds",
|
|
230
|
+
type: "number",
|
|
231
|
+
description: "Default TTL in seconds from item creation time. Items will be automatically deleted by DynamoDB after this duration.",
|
|
232
|
+
isOptional: true,
|
|
233
|
+
},
|
|
130
234
|
]}
|
|
131
235
|
/>
|
|
132
236
|
|
|
237
|
+
### Enabling TTL on Your DynamoDB Table
|
|
238
|
+
|
|
239
|
+
After configuring TTL in your code, you must enable TTL on the DynamoDB table itself:
|
|
240
|
+
|
|
241
|
+
**Using AWS CLI:**
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
aws dynamodb update-time-to-live \
|
|
245
|
+
--table-name mastra-single-table \
|
|
246
|
+
--time-to-live-specification "Enabled=true, AttributeName=ttl"
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Using AWS Console:**
|
|
250
|
+
|
|
251
|
+
1. Go to the DynamoDB console
|
|
252
|
+
2. Select your table
|
|
253
|
+
3. Go to "Additional settings" tab
|
|
254
|
+
4. Under "Time to Live (TTL)", click "Manage TTL"
|
|
255
|
+
5. Enable TTL and specify the attribute name (default: `ttl`)
|
|
256
|
+
|
|
257
|
+
> **Note**: DynamoDB deletes expired items within 48 hours after expiration. Items remain queryable until actually deleted.
|
|
258
|
+
|
|
133
259
|
## AWS IAM Permissions
|
|
134
260
|
|
|
135
261
|
The IAM role or user executing the code needs appropriate permissions to interact with the specified DynamoDB table and its indexes. Below is a sample policy. Replace `${YOUR_TABLE_NAME}` with your actual table name and `${YOUR_AWS_REGION}` and `${YOUR_AWS_ACCOUNT_ID}` with appropriate values.
|
|
136
262
|
|
|
137
|
-
```json
|
|
263
|
+
```json
|
|
138
264
|
{
|
|
139
265
|
"Version": "2012-10-17",
|
|
140
266
|
"Statement": [
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Reference: LanceDB Storage | Storage"
|
|
3
3
|
description: Documentation for the LanceDB storage implementation in Mastra.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
6
|
+
- "@mastra/lance"
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# LanceDB Storage
|
|
@@ -17,7 +20,7 @@ npm install @mastra/lance@beta
|
|
|
17
20
|
|
|
18
21
|
### Basic Storage Usage
|
|
19
22
|
|
|
20
|
-
```typescript
|
|
23
|
+
```typescript
|
|
21
24
|
import { LanceStorage } from "@mastra/lance";
|
|
22
25
|
|
|
23
26
|
// Connect to a local database
|
|
@@ -77,7 +80,7 @@ The LanceStorage implementation automatically handles schema creation and update
|
|
|
77
80
|
|
|
78
81
|
When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
|
|
79
82
|
|
|
80
|
-
```typescript
|
|
83
|
+
```typescript
|
|
81
84
|
import { Mastra } from "@mastra/core";
|
|
82
85
|
import { LanceStorage } from "@mastra/lance";
|
|
83
86
|
|
|
@@ -90,7 +93,7 @@ const mastra = new Mastra({
|
|
|
90
93
|
|
|
91
94
|
If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
|
|
92
95
|
|
|
93
|
-
```typescript
|
|
96
|
+
```typescript
|
|
94
97
|
import { LanceStorage } from "@mastra/lance";
|
|
95
98
|
|
|
96
99
|
const storage = await LanceStorage.create("my-storage", "/path/to/db");
|
|
@@ -98,8 +101,9 @@ const storage = await LanceStorage.create("my-storage", "/path/to/db");
|
|
|
98
101
|
// Required when using storage directly
|
|
99
102
|
await storage.init();
|
|
100
103
|
|
|
101
|
-
//
|
|
102
|
-
await storage.
|
|
104
|
+
// Access domain-specific stores via getStore()
|
|
105
|
+
const memoryStore = await storage.getStore('memory');
|
|
106
|
+
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
103
107
|
```
|
|
104
108
|
|
|
105
109
|
:::warning
|