@mastra/mcp-docs-server 1.0.0-beta.13 → 1.0.0-beta.15
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/%40mastra%2Fagent-builder.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +78 -78
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +173 -173
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +248 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +338 -338
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +33 -33
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +41 -41
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +10 -10
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +139 -139
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +219 -219
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +219 -219
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +235 -235
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +102 -102
- package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Freact.md +77 -70
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +218 -218
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +195 -195
- package/.docs/organized/changelogs/create-mastra.md +13 -13
- package/.docs/organized/changelogs/mastra.md +56 -56
- package/.docs/organized/code-examples/agent-v6.md +210 -0
- package/.docs/organized/code-examples/ai-elements.md +1 -1
- package/.docs/organized/code-examples/client-side-tools.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +10 -6
- package/.docs/raw/agents/agent-approval.mdx +5 -6
- package/.docs/raw/agents/agent-memory.mdx +22 -30
- package/.docs/raw/agents/guardrails.mdx +60 -50
- package/.docs/raw/agents/networks.mdx +8 -12
- package/.docs/raw/agents/overview.mdx +39 -23
- package/.docs/raw/agents/processors.mdx +20 -19
- package/.docs/raw/agents/structured-output.mdx +11 -7
- package/.docs/raw/agents/using-tools.mdx +4 -5
- package/.docs/raw/deployment/mastra-server.mdx +3 -3
- package/.docs/raw/deployment/overview.mdx +7 -1
- package/.docs/raw/deployment/web-framework.mdx +4 -6
- package/.docs/raw/deployment/workflow-runners.mdx +14 -0
- package/.docs/raw/evals/custom-scorers.mdx +9 -6
- package/.docs/raw/evals/overview.mdx +3 -6
- package/.docs/raw/evals/running-in-ci.mdx +2 -2
- package/.docs/raw/getting-started/manual-install.mdx +20 -20
- package/.docs/raw/getting-started/mcp-docs-server.mdx +2 -2
- package/.docs/raw/getting-started/studio.mdx +1 -1
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +4 -4
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +30 -30
- package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +11 -11
- package/.docs/raw/guides/deployment/amazon-ec2.mdx +9 -9
- package/.docs/raw/guides/deployment/aws-lambda.mdx +11 -11
- package/.docs/raw/guides/deployment/azure-app-services.mdx +2 -2
- package/.docs/raw/guides/deployment/cloudflare-deployer.mdx +5 -6
- package/.docs/raw/guides/deployment/digital-ocean.mdx +10 -10
- package/.docs/raw/guides/deployment/index.mdx +1 -1
- package/.docs/raw/guides/deployment/inngest.mdx +444 -0
- package/.docs/raw/guides/deployment/netlify-deployer.mdx +4 -4
- package/.docs/raw/guides/deployment/vercel-deployer.mdx +5 -6
- package/.docs/raw/guides/getting-started/astro.mdx +292 -451
- package/.docs/raw/guides/getting-started/express.mdx +7 -7
- package/.docs/raw/guides/getting-started/hono.mdx +18 -18
- package/.docs/raw/guides/getting-started/next-js.mdx +19 -20
- package/.docs/raw/guides/getting-started/quickstart.mdx +4 -4
- package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
- package/.docs/raw/guides/getting-started/vite-react.mdx +21 -21
- 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 +13 -13
- package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
- package/.docs/raw/guides/guide/web-search.mdx +8 -8
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +11 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +41 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +0 -2
- 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 +39 -0
- package/.docs/raw/mastra-cloud/observability.mdx +9 -15
- package/.docs/raw/mastra-cloud/overview.mdx +14 -44
- package/.docs/raw/mastra-cloud/setup.mdx +64 -0
- package/.docs/raw/mastra-cloud/studio.mdx +35 -0
- package/.docs/raw/mcp/overview.mdx +31 -13
- package/.docs/raw/mcp/publishing-mcp-server.mdx +2 -2
- package/.docs/raw/memory/memory-processors.mdx +9 -9
- package/.docs/raw/memory/message-history.mdx +69 -0
- package/.docs/raw/memory/overview.mdx +34 -76
- package/.docs/raw/memory/semantic-recall.mdx +58 -49
- package/.docs/raw/memory/storage.mdx +188 -0
- package/.docs/raw/memory/working-memory.mdx +7 -7
- package/.docs/raw/observability/logging.mdx +9 -10
- package/.docs/raw/observability/overview.mdx +0 -1
- package/.docs/raw/observability/tracing/bridges/otel.mdx +2 -2
- package/.docs/raw/observability/tracing/exporters/default.mdx +3 -3
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +1 -2
- package/.docs/raw/observability/tracing/overview.mdx +23 -25
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +3 -3
- package/.docs/raw/rag/chunking-and-embedding.mdx +6 -6
- package/.docs/raw/rag/graph-rag.mdx +7 -7
- package/.docs/raw/rag/overview.mdx +1 -1
- package/.docs/raw/rag/retrieval.mdx +21 -22
- package/.docs/raw/rag/vector-databases.mdx +22 -22
- package/.docs/raw/reference/agents/agent.mdx +3 -3
- package/.docs/raw/reference/agents/generate.mdx +1 -1
- package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +2 -2
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +2 -2
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +2 -2
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +2 -2
- package/.docs/raw/reference/agents/getLLM.mdx +2 -2
- package/.docs/raw/reference/agents/getMemory.mdx +2 -2
- package/.docs/raw/reference/agents/getModel.mdx +2 -2
- package/.docs/raw/reference/agents/getTools.mdx +2 -2
- package/.docs/raw/reference/agents/getVoice.mdx +2 -2
- package/.docs/raw/reference/agents/listAgents.mdx +2 -2
- package/.docs/raw/reference/agents/listScorers.mdx +2 -2
- package/.docs/raw/reference/agents/listTools.mdx +2 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +2 -2
- package/.docs/raw/reference/agents/network.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/network-route.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +6 -6
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +3 -3
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +3 -3
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +2 -2
- package/.docs/raw/reference/auth/auth0.mdx +1 -2
- package/.docs/raw/reference/auth/clerk.mdx +1 -2
- package/.docs/raw/reference/auth/firebase.mdx +2 -4
- package/.docs/raw/reference/auth/jwt.mdx +1 -2
- package/.docs/raw/reference/auth/supabase.mdx +1 -2
- package/.docs/raw/reference/auth/workos.mdx +1 -2
- package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
- package/.docs/raw/reference/cli/mastra.mdx +9 -9
- package/.docs/raw/reference/client-js/agents.mdx +1 -2
- package/.docs/raw/reference/client-js/mastra-client.mdx +1 -1
- package/.docs/raw/reference/core/getAgent.mdx +1 -1
- package/.docs/raw/reference/core/getAgentById.mdx +1 -1
- package/.docs/raw/reference/core/getDeployer.mdx +1 -1
- package/.docs/raw/reference/core/getLogger.mdx +1 -1
- package/.docs/raw/reference/core/getMCPServer.mdx +1 -1
- package/.docs/raw/reference/core/getMCPServerById.mdx +1 -1
- package/.docs/raw/reference/core/getMemory.mdx +2 -2
- package/.docs/raw/reference/core/getServer.mdx +1 -1
- package/.docs/raw/reference/core/getStorage.mdx +2 -2
- package/.docs/raw/reference/core/getStoredAgentById.mdx +3 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
- package/.docs/raw/reference/core/getVector.mdx +1 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listLogs.mdx +1 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
- package/.docs/raw/reference/core/listMCPServers.mdx +1 -1
- package/.docs/raw/reference/core/listMemory.mdx +2 -2
- package/.docs/raw/reference/core/listStoredAgents.mdx +4 -4
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/setLogger.mdx +1 -1
- package/.docs/raw/reference/core/setStorage.mdx +2 -2
- package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -2
- package/.docs/raw/reference/deployer/deployer.mdx +0 -1
- package/.docs/raw/reference/deployer/netlify.mdx +1 -1
- package/.docs/raw/reference/deployer/vercel.mdx +2 -4
- package/.docs/raw/reference/evals/answer-relevancy.mdx +1 -1
- package/.docs/raw/reference/evals/answer-similarity.mdx +1 -1
- package/.docs/raw/reference/evals/bias.mdx +1 -1
- package/.docs/raw/reference/evals/completeness.mdx +1 -1
- package/.docs/raw/reference/evals/content-similarity.mdx +1 -1
- package/.docs/raw/reference/evals/context-precision.mdx +1 -1
- package/.docs/raw/reference/evals/faithfulness.mdx +1 -1
- package/.docs/raw/reference/evals/hallucination.mdx +1 -1
- package/.docs/raw/reference/evals/keyword-coverage.mdx +1 -1
- package/.docs/raw/reference/evals/prompt-alignment.mdx +7 -7
- package/.docs/raw/reference/evals/textual-difference.mdx +1 -1
- package/.docs/raw/reference/evals/tone-consistency.mdx +1 -1
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +10 -10
- package/.docs/raw/reference/evals/toxicity.mdx +1 -1
- package/.docs/raw/reference/logging/pino-logger.mdx +7 -8
- package/.docs/raw/reference/memory/createThread.mdx +2 -2
- package/.docs/raw/reference/memory/deleteMessages.mdx +2 -2
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +2 -2
- package/.docs/raw/reference/memory/memory-class.mdx +3 -3
- package/.docs/raw/reference/memory/query.mdx +2 -2
- package/.docs/raw/reference/memory/recall.mdx +2 -2
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
- package/.docs/raw/reference/processors/language-detector.mdx +2 -2
- package/.docs/raw/reference/processors/message-history-processor.mdx +2 -2
- package/.docs/raw/reference/processors/moderation-processor.mdx +3 -3
- package/.docs/raw/reference/processors/pii-detector.mdx +3 -3
- package/.docs/raw/reference/processors/processor-interface.mdx +13 -13
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +2 -2
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +2 -2
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +40 -19
- package/.docs/raw/reference/processors/tool-call-filter.mdx +3 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
- package/.docs/raw/reference/processors/working-memory-processor.mdx +3 -3
- package/.docs/raw/reference/rag/chunk.mdx +1 -1
- package/.docs/raw/reference/rag/extract-params.mdx +2 -2
- package/.docs/raw/reference/rag/metadata-filters.mdx +7 -7
- package/.docs/raw/reference/server/create-route.mdx +13 -13
- package/.docs/raw/reference/server/express-adapter.mdx +6 -7
- package/.docs/raw/reference/server/hono-adapter.mdx +6 -7
- package/.docs/raw/reference/server/mastra-server.mdx +20 -20
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +7 -5
- package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
- package/.docs/raw/reference/storage/convex.mdx +6 -6
- package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
- package/.docs/raw/reference/storage/lance.mdx +6 -5
- package/.docs/raw/reference/storage/libsql.mdx +72 -54
- package/.docs/raw/reference/storage/mongodb.mdx +84 -9
- package/.docs/raw/reference/storage/mssql.mdx +8 -6
- package/.docs/raw/{memory → reference}/storage/overview.mdx +12 -110
- package/.docs/raw/reference/storage/postgresql.mdx +82 -9
- package/.docs/raw/reference/storage/upstash.mdx +74 -2
- package/.docs/raw/reference/streaming/agents/stream.mdx +5 -5
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +2 -2
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/stream.mdx +2 -2
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +4 -4
- package/.docs/raw/reference/templates/overview.mdx +1 -2
- package/.docs/raw/reference/tools/create-tool.mdx +1 -4
- package/.docs/raw/reference/tools/vector-query-tool.mdx +1 -1
- package/.docs/raw/reference/vectors/astra.mdx +3 -3
- package/.docs/raw/reference/vectors/chroma.mdx +3 -3
- package/.docs/raw/reference/vectors/convex.mdx +12 -12
- package/.docs/raw/reference/vectors/couchbase.mdx +5 -5
- package/.docs/raw/reference/vectors/duckdb.mdx +10 -10
- package/.docs/raw/reference/vectors/elasticsearch.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +4 -4
- package/.docs/raw/reference/vectors/libsql.mdx +61 -11
- package/.docs/raw/reference/vectors/mongodb.mdx +58 -5
- package/.docs/raw/reference/vectors/pg.mdx +53 -6
- package/.docs/raw/reference/vectors/pinecone.mdx +3 -3
- package/.docs/raw/reference/vectors/qdrant.mdx +3 -3
- package/.docs/raw/reference/vectors/s3vectors.mdx +6 -6
- package/.docs/raw/reference/vectors/turbopuffer.mdx +4 -4
- package/.docs/raw/reference/vectors/upstash.mdx +55 -6
- package/.docs/raw/reference/vectors/vectorize.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +1 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/start.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +5 -5
- package/.docs/raw/reference/workflows/run.mdx +1 -1
- package/.docs/raw/reference/workflows/step.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +6 -6
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +7 -7
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow.mdx +3 -3
- package/.docs/raw/server/auth/auth0.mdx +20 -14
- package/.docs/raw/server/auth/clerk.mdx +16 -9
- package/.docs/raw/server/auth/firebase.mdx +21 -15
- package/.docs/raw/server/auth/jwt.mdx +14 -7
- package/.docs/raw/server/auth/supabase.mdx +16 -9
- package/.docs/raw/server/auth/workos.mdx +19 -13
- package/.docs/raw/server/custom-adapters.mdx +10 -10
- package/.docs/raw/server/custom-api-routes.mdx +2 -4
- package/.docs/raw/server/mastra-client.mdx +24 -13
- package/.docs/raw/server/mastra-server.mdx +3 -3
- package/.docs/raw/server/middleware.mdx +7 -7
- package/.docs/raw/server/request-context.mdx +31 -30
- package/.docs/raw/server/server-adapters.mdx +6 -6
- package/.docs/raw/streaming/events.mdx +14 -7
- package/.docs/raw/streaming/overview.mdx +21 -10
- package/.docs/raw/streaming/tool-streaming.mdx +6 -6
- package/.docs/raw/streaming/workflow-streaming.mdx +6 -8
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +31 -12
- package/.docs/raw/tools-mcp/overview.mdx +9 -10
- package/.docs/raw/voice/overview.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +28 -19
- package/.docs/raw/workflows/control-flow.mdx +27 -40
- package/.docs/raw/workflows/error-handling.mdx +15 -22
- package/.docs/raw/workflows/human-in-the-loop.mdx +6 -7
- package/.docs/raw/workflows/input-data-mapping.mdx +7 -7
- package/.docs/raw/workflows/overview.mdx +34 -23
- package/.docs/raw/workflows/snapshots.mdx +16 -45
- package/.docs/raw/workflows/suspend-and-resume.mdx +7 -7
- package/.docs/raw/workflows/time-travel.mdx +16 -16
- package/.docs/raw/workflows/workflow-state.mdx +5 -8
- package/CHANGELOG.md +16 -0
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/stdio.js +53 -0
- package/package.json +3 -3
- package/.docs/raw/mastra-cloud/dashboard.mdx +0 -96
- package/.docs/raw/mastra-cloud/setting-up.mdx +0 -102
- 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/workflows/inngest-workflow.mdx +0 -363
|
@@ -11,13 +11,13 @@ The `MastraServer` abstract class is the base for all server adapters. Extend th
|
|
|
11
11
|
|
|
12
12
|
## Import
|
|
13
13
|
|
|
14
|
-
```typescript
|
|
14
|
+
```typescript
|
|
15
15
|
import { MastraServer } from '@mastra/server/server-adapter';
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Type parameters
|
|
19
19
|
|
|
20
|
-
```typescript
|
|
20
|
+
```typescript
|
|
21
21
|
MastraServer<TApp, TRequest, TResponse>
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -29,7 +29,7 @@ MastraServer<TApp, TRequest, TResponse>
|
|
|
29
29
|
|
|
30
30
|
## Constructor
|
|
31
31
|
|
|
32
|
-
```typescript
|
|
32
|
+
```typescript
|
|
33
33
|
constructor(options: MastraServerOptions<TApp>)
|
|
34
34
|
```
|
|
35
35
|
|
|
@@ -119,7 +119,7 @@ These methods must be implemented by adapters:
|
|
|
119
119
|
|
|
120
120
|
Attach Mastra context to every request.
|
|
121
121
|
|
|
122
|
-
```typescript
|
|
122
|
+
```typescript
|
|
123
123
|
abstract registerContextMiddleware(): void
|
|
124
124
|
```
|
|
125
125
|
|
|
@@ -133,7 +133,7 @@ abstract registerContextMiddleware(): void
|
|
|
133
133
|
|
|
134
134
|
Register authentication and authorization middleware.
|
|
135
135
|
|
|
136
|
-
```typescript
|
|
136
|
+
```typescript
|
|
137
137
|
abstract registerAuthMiddleware(): void
|
|
138
138
|
```
|
|
139
139
|
|
|
@@ -141,7 +141,7 @@ abstract registerAuthMiddleware(): void
|
|
|
141
141
|
|
|
142
142
|
Register a single route with the framework.
|
|
143
143
|
|
|
144
|
-
```typescript
|
|
144
|
+
```typescript
|
|
145
145
|
abstract registerRoute(
|
|
146
146
|
app: TApp,
|
|
147
147
|
route: ServerRoute,
|
|
@@ -153,7 +153,7 @@ abstract registerRoute(
|
|
|
153
153
|
|
|
154
154
|
Extract parameters from the request.
|
|
155
155
|
|
|
156
|
-
```typescript
|
|
156
|
+
```typescript
|
|
157
157
|
abstract getParams(
|
|
158
158
|
route: ServerRoute,
|
|
159
159
|
request: TRequest
|
|
@@ -168,7 +168,7 @@ abstract getParams(
|
|
|
168
168
|
|
|
169
169
|
Send response based on route type.
|
|
170
170
|
|
|
171
|
-
```typescript
|
|
171
|
+
```typescript
|
|
172
172
|
abstract sendResponse(
|
|
173
173
|
route: ServerRoute,
|
|
174
174
|
response: TResponse,
|
|
@@ -180,7 +180,7 @@ abstract sendResponse(
|
|
|
180
180
|
|
|
181
181
|
Handle streaming responses.
|
|
182
182
|
|
|
183
|
-
```typescript
|
|
183
|
+
```typescript
|
|
184
184
|
abstract stream(
|
|
185
185
|
route: ServerRoute,
|
|
186
186
|
response: TResponse,
|
|
@@ -194,7 +194,7 @@ abstract stream(
|
|
|
194
194
|
|
|
195
195
|
Initialize the server by registering all middleware and routes.
|
|
196
196
|
|
|
197
|
-
```typescript
|
|
197
|
+
```typescript
|
|
198
198
|
async init(): Promise<void>
|
|
199
199
|
```
|
|
200
200
|
|
|
@@ -207,7 +207,7 @@ Calls in order:
|
|
|
207
207
|
|
|
208
208
|
Register all Mastra routes.
|
|
209
209
|
|
|
210
|
-
```typescript
|
|
210
|
+
```typescript
|
|
211
211
|
async registerRoutes(): Promise<void>
|
|
212
212
|
```
|
|
213
213
|
|
|
@@ -215,7 +215,7 @@ async registerRoutes(): Promise<void>
|
|
|
215
215
|
|
|
216
216
|
Get the framework app instance.
|
|
217
217
|
|
|
218
|
-
```typescript
|
|
218
|
+
```typescript
|
|
219
219
|
getApp<T = TApp>(): T
|
|
220
220
|
```
|
|
221
221
|
|
|
@@ -223,7 +223,7 @@ getApp<T = TApp>(): T
|
|
|
223
223
|
|
|
224
224
|
Validate path parameters with the route's Zod schema.
|
|
225
225
|
|
|
226
|
-
```typescript
|
|
226
|
+
```typescript
|
|
227
227
|
async parsePathParams(
|
|
228
228
|
route: ServerRoute,
|
|
229
229
|
params: Record<string, string>
|
|
@@ -234,7 +234,7 @@ async parsePathParams(
|
|
|
234
234
|
|
|
235
235
|
Validate query parameters with the route's Zod schema.
|
|
236
236
|
|
|
237
|
-
```typescript
|
|
237
|
+
```typescript
|
|
238
238
|
async parseQueryParams(
|
|
239
239
|
route: ServerRoute,
|
|
240
240
|
params: Record<string, string>
|
|
@@ -245,7 +245,7 @@ async parseQueryParams(
|
|
|
245
245
|
|
|
246
246
|
Validate request body with the route's Zod schema.
|
|
247
247
|
|
|
248
|
-
```typescript
|
|
248
|
+
```typescript
|
|
249
249
|
async parseBody(
|
|
250
250
|
route: ServerRoute,
|
|
251
251
|
body: unknown
|
|
@@ -256,7 +256,7 @@ async parseBody(
|
|
|
256
256
|
|
|
257
257
|
Register an endpoint that serves the OpenAPI specification.
|
|
258
258
|
|
|
259
|
-
```typescript
|
|
259
|
+
```typescript
|
|
260
260
|
async registerOpenAPIRoute(
|
|
261
261
|
app: TApp,
|
|
262
262
|
config: OpenAPIConfig,
|
|
@@ -270,7 +270,7 @@ async registerOpenAPIRoute(
|
|
|
270
270
|
|
|
271
271
|
Merge request context from multiple sources (query params and body).
|
|
272
272
|
|
|
273
|
-
```typescript
|
|
273
|
+
```typescript
|
|
274
274
|
protected mergeRequestContext(options: {
|
|
275
275
|
paramsRequestContext?: Record<string, any>;
|
|
276
276
|
bodyRequestContext?: Record<string, any>;
|
|
@@ -281,7 +281,7 @@ protected mergeRequestContext(options: {
|
|
|
281
281
|
|
|
282
282
|
### BodyLimitOptions
|
|
283
283
|
|
|
284
|
-
```typescript
|
|
284
|
+
```typescript
|
|
285
285
|
interface BodyLimitOptions {
|
|
286
286
|
maxSize: number;
|
|
287
287
|
onError: (error: unknown) => unknown;
|
|
@@ -290,7 +290,7 @@ interface BodyLimitOptions {
|
|
|
290
290
|
|
|
291
291
|
### StreamOptions
|
|
292
292
|
|
|
293
|
-
```typescript
|
|
293
|
+
```typescript
|
|
294
294
|
interface StreamOptions {
|
|
295
295
|
redact?: boolean;
|
|
296
296
|
}
|
|
@@ -298,7 +298,7 @@ interface StreamOptions {
|
|
|
298
298
|
|
|
299
299
|
## Example
|
|
300
300
|
|
|
301
|
-
```typescript
|
|
301
|
+
```typescript
|
|
302
302
|
import { MastraServer, ServerRoute } from '@mastra/server/server-adapter';
|
|
303
303
|
import type { Mastra } from '@mastra/core';
|
|
304
304
|
|
|
@@ -15,7 +15,7 @@ npm install @mastra/cloudflare-d1@beta
|
|
|
15
15
|
|
|
16
16
|
## Usage
|
|
17
17
|
|
|
18
|
-
```typescript
|
|
18
|
+
```typescript
|
|
19
19
|
import { D1Store } from "@mastra/cloudflare-d1";
|
|
20
20
|
|
|
21
21
|
type Env = {
|
|
@@ -99,7 +99,7 @@ The storage implementation handles schema creation and updates automatically. It
|
|
|
99
99
|
|
|
100
100
|
When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
|
|
101
101
|
|
|
102
|
-
```typescript
|
|
102
|
+
```typescript
|
|
103
103
|
import { Mastra } from "@mastra/core";
|
|
104
104
|
import { D1Store } from "@mastra/cloudflare-d1";
|
|
105
105
|
|
|
@@ -114,18 +114,20 @@ const mastra = new Mastra({
|
|
|
114
114
|
|
|
115
115
|
If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
|
|
116
116
|
|
|
117
|
-
```typescript
|
|
117
|
+
```typescript
|
|
118
118
|
import { D1Store } from "@mastra/cloudflare-d1";
|
|
119
119
|
|
|
120
120
|
const storage = new D1Store({
|
|
121
|
+
id: 'd1-storage',
|
|
121
122
|
binding: D1Database,
|
|
122
123
|
});
|
|
123
124
|
|
|
124
125
|
// Required when using storage directly
|
|
125
126
|
await storage.init();
|
|
126
127
|
|
|
127
|
-
//
|
|
128
|
-
await storage.
|
|
128
|
+
// Access domain-specific stores via getStore()
|
|
129
|
+
const memoryStore = await storage.getStore('memory');
|
|
130
|
+
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
129
131
|
```
|
|
130
132
|
|
|
131
133
|
:::warning
|
|
@@ -9,13 +9,13 @@ The Cloudflare KV storage implementation provides a globally distributed, server
|
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
12
|
-
```bash
|
|
12
|
+
```bash
|
|
13
13
|
npm install @mastra/cloudflare@beta
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Usage
|
|
17
17
|
|
|
18
|
-
```typescript
|
|
18
|
+
```typescript
|
|
19
19
|
import { CloudflareStore } from "@mastra/cloudflare";
|
|
20
20
|
|
|
21
21
|
// --- Example 1: Using Workers Binding ---
|
|
@@ -9,7 +9,7 @@ The Convex storage implementation provides a serverless storage solution using [
|
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
12
|
-
```bash
|
|
12
|
+
```bash
|
|
13
13
|
npm install @mastra/convex@beta
|
|
14
14
|
```
|
|
15
15
|
|
|
@@ -21,7 +21,7 @@ Before using `ConvexStore`, you need to set up the Convex schema and storage han
|
|
|
21
21
|
|
|
22
22
|
In `convex/schema.ts`:
|
|
23
23
|
|
|
24
|
-
```typescript
|
|
24
|
+
```typescript
|
|
25
25
|
import { defineSchema } from 'convex/server';
|
|
26
26
|
import {
|
|
27
27
|
mastraThreadsTable,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
mastraVectorIndexesTable,
|
|
33
33
|
mastraVectorsTable,
|
|
34
34
|
mastraDocumentsTable,
|
|
35
|
-
} from '@mastra/convex/
|
|
35
|
+
} from '@mastra/convex/schema';
|
|
36
36
|
|
|
37
37
|
export default defineSchema({
|
|
38
38
|
mastra_threads: mastraThreadsTable,
|
|
@@ -50,7 +50,7 @@ export default defineSchema({
|
|
|
50
50
|
|
|
51
51
|
In `convex/mastra/storage.ts`:
|
|
52
52
|
|
|
53
|
-
```typescript
|
|
53
|
+
```typescript
|
|
54
54
|
import { mastraStorage } from '@mastra/convex/server';
|
|
55
55
|
|
|
56
56
|
export const handle = mastraStorage;
|
|
@@ -58,7 +58,7 @@ export const handle = mastraStorage;
|
|
|
58
58
|
|
|
59
59
|
### 3. Deploy to Convex
|
|
60
60
|
|
|
61
|
-
```bash
|
|
61
|
+
```bash
|
|
62
62
|
npx convex dev
|
|
63
63
|
# or for production
|
|
64
64
|
npx convex deploy
|
|
@@ -66,7 +66,7 @@ npx convex deploy
|
|
|
66
66
|
|
|
67
67
|
## Usage
|
|
68
68
|
|
|
69
|
-
```typescript
|
|
69
|
+
```typescript
|
|
70
70
|
import { ConvexStore } from "@mastra/convex";
|
|
71
71
|
|
|
72
72
|
const storage = new ConvexStore({
|
|
@@ -18,7 +18,7 @@ The DynamoDB storage implementation provides a scalable and performant NoSQL dat
|
|
|
18
18
|
|
|
19
19
|
## Installation
|
|
20
20
|
|
|
21
|
-
```bash
|
|
21
|
+
```bash
|
|
22
22
|
npm install @mastra/dynamodb@beta
|
|
23
23
|
# or
|
|
24
24
|
pnpm add @mastra/dynamodb@beta
|
|
@@ -36,7 +36,7 @@ Detailed instructions for setting up the table using AWS CloudFormation or AWS C
|
|
|
36
36
|
|
|
37
37
|
### Basic Usage
|
|
38
38
|
|
|
39
|
-
```typescript
|
|
39
|
+
```typescript
|
|
40
40
|
import { Memory } from "@mastra/memory";
|
|
41
41
|
import { DynamoDBStore } from "@mastra/dynamodb";
|
|
42
42
|
|
|
@@ -72,7 +72,7 @@ For local development, you can use [DynamoDB Local](https://docs.aws.amazon.com/
|
|
|
72
72
|
|
|
73
73
|
2. **Configure `DynamoDBStore` to use the local endpoint:**
|
|
74
74
|
|
|
75
|
-
```typescript copy
|
|
75
|
+
```typescript copy
|
|
76
76
|
import { DynamoDBStore } from "@mastra/dynamodb";
|
|
77
77
|
|
|
78
78
|
const storage = new DynamoDBStore({
|
|
@@ -134,7 +134,7 @@ For local development, you can use [DynamoDB Local](https://docs.aws.amazon.com/
|
|
|
134
134
|
|
|
135
135
|
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
136
|
|
|
137
|
-
```json
|
|
137
|
+
```json
|
|
138
138
|
{
|
|
139
139
|
"Version": "2012-10-17",
|
|
140
140
|
"Statement": [
|
|
@@ -17,7 +17,7 @@ npm install @mastra/lance@beta
|
|
|
17
17
|
|
|
18
18
|
### Basic Storage Usage
|
|
19
19
|
|
|
20
|
-
```typescript
|
|
20
|
+
```typescript
|
|
21
21
|
import { LanceStorage } from "@mastra/lance";
|
|
22
22
|
|
|
23
23
|
// Connect to a local database
|
|
@@ -77,7 +77,7 @@ The LanceStorage implementation automatically handles schema creation and update
|
|
|
77
77
|
|
|
78
78
|
When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
|
|
79
79
|
|
|
80
|
-
```typescript
|
|
80
|
+
```typescript
|
|
81
81
|
import { Mastra } from "@mastra/core";
|
|
82
82
|
import { LanceStorage } from "@mastra/lance";
|
|
83
83
|
|
|
@@ -90,7 +90,7 @@ const mastra = new Mastra({
|
|
|
90
90
|
|
|
91
91
|
If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
|
|
92
92
|
|
|
93
|
-
```typescript
|
|
93
|
+
```typescript
|
|
94
94
|
import { LanceStorage } from "@mastra/lance";
|
|
95
95
|
|
|
96
96
|
const storage = await LanceStorage.create("my-storage", "/path/to/db");
|
|
@@ -98,8 +98,9 @@ const storage = await LanceStorage.create("my-storage", "/path/to/db");
|
|
|
98
98
|
// Required when using storage directly
|
|
99
99
|
await storage.init();
|
|
100
100
|
|
|
101
|
-
//
|
|
102
|
-
await storage.
|
|
101
|
+
// Access domain-specific stores via getStore()
|
|
102
|
+
const memoryStore = await storage.getStore('memory');
|
|
103
|
+
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
103
104
|
```
|
|
104
105
|
|
|
105
106
|
:::warning
|
|
@@ -1,37 +1,81 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference:
|
|
3
|
-
description: Documentation for the
|
|
2
|
+
title: "Reference: libSQL Storage | Storage"
|
|
3
|
+
description: Documentation for the libSQL storage implementation in Mastra.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# libSQL Storage
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
[libSQL](https://docs.turso.tech/libsql) is an open-source, SQLite-compatible database that supports both local and remote deployments. It can be used to store message history, workflow snapshots, traces, and eval scores.
|
|
9
|
+
|
|
10
|
+
For vectors like semantic recall or traditional RAG, use [libSQL Vector](/reference/v1/vectors/libsql) which covers embeddings and vector search.
|
|
9
11
|
|
|
10
12
|
## Installation
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
Storage providers must be installed as separate packages:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
13
17
|
npm install @mastra/libsql@beta
|
|
14
18
|
```
|
|
15
19
|
|
|
16
20
|
## Usage
|
|
17
21
|
|
|
18
|
-
```typescript
|
|
22
|
+
```typescript
|
|
19
23
|
import { LibSQLStore } from "@mastra/libsql";
|
|
24
|
+
import { Mastra } from "@mastra/core";
|
|
20
25
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
const mastra = new Mastra({
|
|
27
|
+
storage: new LibSQLStore({
|
|
28
|
+
id: 'libsql-storage',
|
|
29
|
+
url: "file:./storage.db",
|
|
30
|
+
}),
|
|
25
31
|
});
|
|
32
|
+
```
|
|
26
33
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
Agent-level file storage:
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
import { Memory } from "@mastra/memory";
|
|
38
|
+
import { Agent } from "@mastra/core/agent";
|
|
39
|
+
import { LibSQLStore } from "@mastra/libsql";
|
|
40
|
+
|
|
41
|
+
export const agent = new Agent({
|
|
42
|
+
id: "example-agent",
|
|
43
|
+
memory: new Memory({
|
|
44
|
+
storage: new LibSQLStore({
|
|
45
|
+
id: 'libsql-storage',
|
|
46
|
+
url: "file:./agent.db",
|
|
47
|
+
}),
|
|
48
|
+
}),
|
|
31
49
|
});
|
|
32
50
|
```
|
|
33
51
|
|
|
34
|
-
|
|
52
|
+
:::warning
|
|
53
|
+
File storage doesn't work with serverless platforms that have ephemeral file systems. For serverless deployments, use [Turso](https://turso.tech) or a different database engine.
|
|
54
|
+
:::
|
|
55
|
+
|
|
56
|
+
Production with remote database:
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
storage: new LibSQLStore({
|
|
60
|
+
id: 'libsql-storage',
|
|
61
|
+
url: "libsql://your-db-name.aws-ap-northeast-1.turso.io",
|
|
62
|
+
authToken: process.env.TURSO_AUTH_TOKEN,
|
|
63
|
+
})
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
For local development and testing, you can store data in memory:
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
storage: new LibSQLStore({
|
|
70
|
+
id: 'libsql-storage',
|
|
71
|
+
url: ":memory:",
|
|
72
|
+
})
|
|
73
|
+
```
|
|
74
|
+
:::warning
|
|
75
|
+
In-memory storage resets when the process changes. Only suitable for development.
|
|
76
|
+
:::
|
|
77
|
+
|
|
78
|
+
## Options
|
|
35
79
|
|
|
36
80
|
<PropertiesTable
|
|
37
81
|
content={[
|
|
@@ -39,75 +83,49 @@ const storage = new LibSQLStore({
|
|
|
39
83
|
name: "url",
|
|
40
84
|
type: "string",
|
|
41
85
|
description:
|
|
42
|
-
"Database URL. Use
|
|
86
|
+
"Database URL. Use `:memory:` for in-memory database, `file:filename.db` for a file database, or a libSQL connection string (e.g., `libsql://your-database.turso.io`) for remote storage.",
|
|
43
87
|
isOptional: false,
|
|
44
88
|
},
|
|
45
89
|
{
|
|
46
90
|
name: "authToken",
|
|
47
91
|
type: "string",
|
|
48
|
-
description: "Authentication token for remote
|
|
92
|
+
description: "Authentication token for remote libSQL databases.",
|
|
49
93
|
isOptional: true,
|
|
50
94
|
},
|
|
51
95
|
]}
|
|
52
96
|
/>
|
|
53
97
|
|
|
54
|
-
##
|
|
55
|
-
|
|
56
|
-
### In-Memory vs Persistent Storage
|
|
57
|
-
|
|
58
|
-
The file configuration (`file:storage.db`) is useful for:
|
|
59
|
-
|
|
60
|
-
- Development and testing
|
|
61
|
-
- Temporary storage
|
|
62
|
-
- Quick prototyping
|
|
63
|
-
|
|
64
|
-
For production use cases, use a persistent database URL: `libsql://your-database.turso.io`
|
|
98
|
+
## Initialization
|
|
65
99
|
|
|
66
|
-
|
|
100
|
+
When you pass storage to the Mastra class, `init()` is called automatically to create the [core schema](/reference/v1/storage/overview#core-schema):
|
|
67
101
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
- `mastra_workflow_snapshot`: Stores workflow state and execution data
|
|
71
|
-
- `mastra_evals`: Stores evaluation results and metadata
|
|
72
|
-
- `mastra_threads`: Stores conversation threads
|
|
73
|
-
- `mastra_messages`: Stores individual messages
|
|
74
|
-
- `mastra_traces`: Stores telemetry and tracing data
|
|
75
|
-
- `mastra_scorers`: Stores scoring and evaluation data
|
|
76
|
-
- `mastra_resources`: Stores resource working memory data
|
|
77
|
-
|
|
78
|
-
### Initialization
|
|
79
|
-
|
|
80
|
-
When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
|
|
81
|
-
|
|
82
|
-
```typescript copy
|
|
102
|
+
```typescript
|
|
83
103
|
import { Mastra } from "@mastra/core";
|
|
84
104
|
import { LibSQLStore } from "@mastra/libsql";
|
|
85
105
|
|
|
86
106
|
const storage = new LibSQLStore({
|
|
107
|
+
id: 'libsql-storage',
|
|
87
108
|
url: "file:./storage.db",
|
|
88
109
|
});
|
|
89
110
|
|
|
90
111
|
const mastra = new Mastra({
|
|
91
|
-
storage, // init()
|
|
112
|
+
storage, // init() called automatically
|
|
92
113
|
});
|
|
93
114
|
```
|
|
94
115
|
|
|
95
|
-
If
|
|
116
|
+
If using storage directly without Mastra, call `init()` explicitly:
|
|
96
117
|
|
|
97
|
-
```typescript
|
|
118
|
+
```typescript
|
|
98
119
|
import { LibSQLStore } from "@mastra/libsql";
|
|
99
120
|
|
|
100
121
|
const storage = new LibSQLStore({
|
|
122
|
+
id: 'libsql-storage',
|
|
101
123
|
url: "file:./storage.db",
|
|
102
124
|
});
|
|
103
125
|
|
|
104
|
-
// Required when using storage directly
|
|
105
126
|
await storage.init();
|
|
106
127
|
|
|
107
|
-
//
|
|
108
|
-
await storage.
|
|
128
|
+
// Access domain-specific stores via getStore()
|
|
129
|
+
const memoryStore = await storage.getStore('memory');
|
|
130
|
+
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
109
131
|
```
|
|
110
|
-
|
|
111
|
-
:::warning
|
|
112
|
-
If `init()` is not called, tables won't be created and storage operations will fail silently or throw errors.
|
|
113
|
-
:::
|
|
@@ -9,7 +9,7 @@ The MongoDB storage implementation provides a scalable storage solution using Mo
|
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
12
|
-
```bash
|
|
12
|
+
```bash
|
|
13
13
|
npm install @mastra/mongodb@beta
|
|
14
14
|
```
|
|
15
15
|
|
|
@@ -17,7 +17,7 @@ npm install @mastra/mongodb@beta
|
|
|
17
17
|
|
|
18
18
|
Ensure you have a MongoDB Atlas Local (via Docker) or MongoDB Atlas Cloud instance with Atlas Search enabled. MongoDB 7.0+ is recommended.
|
|
19
19
|
|
|
20
|
-
```typescript
|
|
20
|
+
```typescript
|
|
21
21
|
import { MongoDBStore } from "@mastra/mongodb";
|
|
22
22
|
|
|
23
23
|
const storage = new MongoDBStore({
|
|
@@ -47,7 +47,7 @@ const storage = new MongoDBStore({
|
|
|
47
47
|
name: "options",
|
|
48
48
|
type: "MongoClientOptions",
|
|
49
49
|
description:
|
|
50
|
-
"MongoDB client options for advanced configuration (SSL, connection pooling, etc.).
|
|
50
|
+
"MongoDB client options for advanced configuration (SSL, connection pooling, etc.).",
|
|
51
51
|
isOptional: true,
|
|
52
52
|
},
|
|
53
53
|
]}
|
|
@@ -97,7 +97,7 @@ The storage implementation handles collection creation and management automatica
|
|
|
97
97
|
|
|
98
98
|
When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
|
|
99
99
|
|
|
100
|
-
```typescript
|
|
100
|
+
```typescript
|
|
101
101
|
import { Mastra } from "@mastra/core";
|
|
102
102
|
import { MongoDBStore } from "@mastra/mongodb";
|
|
103
103
|
|
|
@@ -113,10 +113,11 @@ const mastra = new Mastra({
|
|
|
113
113
|
|
|
114
114
|
If you're using storage directly without Mastra, you must call `init()` explicitly to create the collections:
|
|
115
115
|
|
|
116
|
-
```typescript
|
|
116
|
+
```typescript
|
|
117
117
|
import { MongoDBStore } from "@mastra/mongodb";
|
|
118
118
|
|
|
119
119
|
const storage = new MongoDBStore({
|
|
120
|
+
id: 'mongodb-storage',
|
|
120
121
|
url: process.env.MONGODB_URL,
|
|
121
122
|
dbName: process.env.MONGODB_DATABASE,
|
|
122
123
|
});
|
|
@@ -124,8 +125,9 @@ const storage = new MongoDBStore({
|
|
|
124
125
|
// Required when using storage directly
|
|
125
126
|
await storage.init();
|
|
126
127
|
|
|
127
|
-
//
|
|
128
|
-
await storage.
|
|
128
|
+
// Access domain-specific stores via getStore()
|
|
129
|
+
const memoryStore = await storage.getStore('memory');
|
|
130
|
+
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
129
131
|
```
|
|
130
132
|
|
|
131
133
|
:::warning
|
|
@@ -138,7 +140,7 @@ MongoDB storage includes built-in vector search capabilities for AI applications
|
|
|
138
140
|
|
|
139
141
|
### Vector Index Creation
|
|
140
142
|
|
|
141
|
-
```typescript
|
|
143
|
+
```typescript
|
|
142
144
|
import { MongoDBVector } from "@mastra/mongodb";
|
|
143
145
|
|
|
144
146
|
const vectorStore = new MongoDBVector({
|
|
@@ -155,7 +157,7 @@ await vectorStore.createIndex({
|
|
|
155
157
|
|
|
156
158
|
### Vector Operations
|
|
157
159
|
|
|
158
|
-
```typescript
|
|
160
|
+
```typescript
|
|
159
161
|
// Store vectors with metadata
|
|
160
162
|
await vectorStore.upsert({
|
|
161
163
|
indexName: "document_embeddings",
|
|
@@ -182,3 +184,76 @@ const results = await vectorStore.query({
|
|
|
182
184
|
},
|
|
183
185
|
});
|
|
184
186
|
```
|
|
187
|
+
|
|
188
|
+
## Usage Example
|
|
189
|
+
|
|
190
|
+
### Adding memory to an agent
|
|
191
|
+
|
|
192
|
+
To add MongoDB memory to an agent use the `Memory` class and create a new `storage` key using `MongoDBStore`. The configuration supports both local and remote MongoDB instances.
|
|
193
|
+
|
|
194
|
+
```typescript title="src/mastra/agents/example-mongodb-agent.ts"
|
|
195
|
+
import { Memory } from "@mastra/memory";
|
|
196
|
+
import { Agent } from "@mastra/core/agent";
|
|
197
|
+
import { MongoDBStore } from "@mastra/mongodb";
|
|
198
|
+
|
|
199
|
+
export const mongodbAgent = new Agent({
|
|
200
|
+
id: "mongodb-agent",
|
|
201
|
+
name: "mongodb-agent",
|
|
202
|
+
instructions:
|
|
203
|
+
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
204
|
+
model: "openai/gpt-5.1",
|
|
205
|
+
memory: new Memory({
|
|
206
|
+
storage: new MongoDBStore({
|
|
207
|
+
url: process.env.MONGODB_URI!,
|
|
208
|
+
dbName: process.env.MONGODB_DB_NAME!,
|
|
209
|
+
}),
|
|
210
|
+
options: {
|
|
211
|
+
threads: {
|
|
212
|
+
generateTitle: true,
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
}),
|
|
216
|
+
});
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Using the agent
|
|
220
|
+
|
|
221
|
+
Use `memoryOptions` to scope recall for this request. Set `lastMessages: 5` to limit recency-based recall, and use `semanticRecall` to fetch the `topK: 3` most relevant messages, including `messageRange: 2` neighboring messages for context around each match.
|
|
222
|
+
|
|
223
|
+
```typescript title="src/test-mongodb-agent.ts"
|
|
224
|
+
import "dotenv/config";
|
|
225
|
+
|
|
226
|
+
import { mastra } from "./mastra";
|
|
227
|
+
|
|
228
|
+
const threadId = "123";
|
|
229
|
+
const resourceId = "user-456";
|
|
230
|
+
|
|
231
|
+
const agent = mastra.getAgent("mongodbAgent");
|
|
232
|
+
|
|
233
|
+
const message = await agent.stream("My name is Mastra", {
|
|
234
|
+
memory: {
|
|
235
|
+
thread: threadId,
|
|
236
|
+
resource: resourceId,
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
await message.textStream.pipeTo(new WritableStream());
|
|
241
|
+
|
|
242
|
+
const stream = await agent.stream("What's my name?", {
|
|
243
|
+
memory: {
|
|
244
|
+
thread: threadId,
|
|
245
|
+
resource: resourceId,
|
|
246
|
+
},
|
|
247
|
+
memoryOptions: {
|
|
248
|
+
lastMessages: 5,
|
|
249
|
+
semanticRecall: {
|
|
250
|
+
topK: 3,
|
|
251
|
+
messageRange: 2,
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
for await (const chunk of stream.textStream) {
|
|
257
|
+
process.stdout.write(chunk);
|
|
258
|
+
}
|
|
259
|
+
```
|