@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
|
@@ -142,7 +142,7 @@ Returns an array of index names as strings.
|
|
|
142
142
|
|
|
143
143
|
Returns:
|
|
144
144
|
|
|
145
|
-
```typescript
|
|
145
|
+
```typescript
|
|
146
146
|
interface IndexStats {
|
|
147
147
|
dimension: number;
|
|
148
148
|
count: number;
|
|
@@ -219,7 +219,7 @@ interface IndexStats {
|
|
|
219
219
|
|
|
220
220
|
Query results are returned in this format:
|
|
221
221
|
|
|
222
|
-
```typescript
|
|
222
|
+
```typescript
|
|
223
223
|
interface QueryResult {
|
|
224
224
|
id: string;
|
|
225
225
|
score: number;
|
|
@@ -232,7 +232,7 @@ interface QueryResult {
|
|
|
232
232
|
|
|
233
233
|
The store throws typed errors that can be caught:
|
|
234
234
|
|
|
235
|
-
```typescript
|
|
235
|
+
```typescript
|
|
236
236
|
try {
|
|
237
237
|
await store.query({
|
|
238
238
|
indexName: "index_name",
|
|
@@ -313,7 +313,7 @@ Returns an array of index names as strings.
|
|
|
313
313
|
|
|
314
314
|
Returns:
|
|
315
315
|
|
|
316
|
-
```typescript
|
|
316
|
+
```typescript
|
|
317
317
|
interface IndexStats {
|
|
318
318
|
dimension: number;
|
|
319
319
|
count: number;
|
|
@@ -475,7 +475,7 @@ await vectorStore.deleteVectors({
|
|
|
475
475
|
|
|
476
476
|
Query results are returned in this format:
|
|
477
477
|
|
|
478
|
-
```typescript
|
|
478
|
+
```typescript
|
|
479
479
|
interface QueryResult {
|
|
480
480
|
id: string;
|
|
481
481
|
score: number;
|
|
@@ -489,7 +489,7 @@ interface QueryResult {
|
|
|
489
489
|
|
|
490
490
|
The store throws typed errors that can be caught:
|
|
491
491
|
|
|
492
|
-
```typescript
|
|
492
|
+
```typescript
|
|
493
493
|
try {
|
|
494
494
|
await store.query({
|
|
495
495
|
indexName: "index_name",
|
|
@@ -9,7 +9,7 @@ The ConvexVector class provides vector storage and similarity search using [Conv
|
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
12
|
-
```bash
|
|
12
|
+
```bash
|
|
13
13
|
npm install @mastra/convex@beta
|
|
14
14
|
```
|
|
15
15
|
|
|
@@ -94,7 +94,7 @@ const vectorStore = new ConvexVector({
|
|
|
94
94
|
]}
|
|
95
95
|
/>
|
|
96
96
|
|
|
97
|
-
```typescript
|
|
97
|
+
```typescript
|
|
98
98
|
await vectorStore.createIndex({
|
|
99
99
|
indexName: "my_vectors",
|
|
100
100
|
dimension: 1536,
|
|
@@ -130,7 +130,7 @@ await vectorStore.createIndex({
|
|
|
130
130
|
]}
|
|
131
131
|
/>
|
|
132
132
|
|
|
133
|
-
```typescript
|
|
133
|
+
```typescript
|
|
134
134
|
await vectorStore.upsert({
|
|
135
135
|
indexName: "my_vectors",
|
|
136
136
|
vectors: [[0.1, 0.2, 0.3, ...]],
|
|
@@ -176,7 +176,7 @@ await vectorStore.upsert({
|
|
|
176
176
|
]}
|
|
177
177
|
/>
|
|
178
178
|
|
|
179
|
-
```typescript
|
|
179
|
+
```typescript
|
|
180
180
|
const results = await vectorStore.query({
|
|
181
181
|
indexName: "my_vectors",
|
|
182
182
|
queryVector: [0.1, 0.2, 0.3, ...],
|
|
@@ -189,7 +189,7 @@ const results = await vectorStore.query({
|
|
|
189
189
|
|
|
190
190
|
Returns an array of index names as strings.
|
|
191
191
|
|
|
192
|
-
```typescript
|
|
192
|
+
```typescript
|
|
193
193
|
const indexes = await vectorStore.listIndexes();
|
|
194
194
|
// ["my_vectors", "embeddings", ...]
|
|
195
195
|
```
|
|
@@ -208,7 +208,7 @@ const indexes = await vectorStore.listIndexes();
|
|
|
208
208
|
|
|
209
209
|
Returns:
|
|
210
210
|
|
|
211
|
-
```typescript
|
|
211
|
+
```typescript
|
|
212
212
|
interface IndexStats {
|
|
213
213
|
dimension: number;
|
|
214
214
|
count: number;
|
|
@@ -230,7 +230,7 @@ interface IndexStats {
|
|
|
230
230
|
|
|
231
231
|
Deletes the index and all its vectors.
|
|
232
232
|
|
|
233
|
-
```typescript
|
|
233
|
+
```typescript
|
|
234
234
|
await vectorStore.deleteIndex({ indexName: "my_vectors" });
|
|
235
235
|
```
|
|
236
236
|
|
|
@@ -265,7 +265,7 @@ Update a single vector by ID or by metadata filter. Either `id` or `filter` must
|
|
|
265
265
|
]}
|
|
266
266
|
/>
|
|
267
267
|
|
|
268
|
-
```typescript
|
|
268
|
+
```typescript
|
|
269
269
|
// Update by ID
|
|
270
270
|
await vectorStore.updateVector({
|
|
271
271
|
indexName: "my_vectors",
|
|
@@ -303,7 +303,7 @@ await vectorStore.updateVector({
|
|
|
303
303
|
]}
|
|
304
304
|
/>
|
|
305
305
|
|
|
306
|
-
```typescript
|
|
306
|
+
```typescript
|
|
307
307
|
await vectorStore.deleteVector({ indexName: "my_vectors", id: "vector123" });
|
|
308
308
|
```
|
|
309
309
|
|
|
@@ -333,7 +333,7 @@ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` m
|
|
|
333
333
|
]}
|
|
334
334
|
/>
|
|
335
335
|
|
|
336
|
-
```typescript
|
|
336
|
+
```typescript
|
|
337
337
|
// Delete by IDs
|
|
338
338
|
await vectorStore.deleteVectors({
|
|
339
339
|
indexName: "my_vectors",
|
|
@@ -351,7 +351,7 @@ await vectorStore.deleteVectors({
|
|
|
351
351
|
|
|
352
352
|
Query results are returned in this format:
|
|
353
353
|
|
|
354
|
-
```typescript
|
|
354
|
+
```typescript
|
|
355
355
|
interface QueryResult {
|
|
356
356
|
id: string;
|
|
357
357
|
score: number;
|
|
@@ -364,7 +364,7 @@ interface QueryResult {
|
|
|
364
364
|
|
|
365
365
|
ConvexVector supports metadata filtering with various operators:
|
|
366
366
|
|
|
367
|
-
```typescript
|
|
367
|
+
```typescript
|
|
368
368
|
// Simple equality
|
|
369
369
|
const results = await vectorStore.query({
|
|
370
370
|
indexName: "my_vectors",
|
|
@@ -14,13 +14,13 @@ The `CouchbaseVector` class provides vector search using [Couchbase Vector Searc
|
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
16
16
|
|
|
17
|
-
```bash
|
|
17
|
+
```bash
|
|
18
18
|
npm install @mastra/couchbase@beta
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## Usage Example
|
|
22
22
|
|
|
23
|
-
```typescript
|
|
23
|
+
```typescript
|
|
24
24
|
import { CouchbaseVector } from "@mastra/couchbase";
|
|
25
25
|
|
|
26
26
|
const store = new CouchbaseVector({
|
|
@@ -209,7 +209,7 @@ Returns information about the index.
|
|
|
209
209
|
|
|
210
210
|
Returns:
|
|
211
211
|
|
|
212
|
-
```typescript
|
|
212
|
+
```typescript
|
|
213
213
|
interface IndexStats {
|
|
214
214
|
dimension: number;
|
|
215
215
|
count: number;
|
|
@@ -307,7 +307,7 @@ Closes the Couchbase client connection. Should be called when done using the sto
|
|
|
307
307
|
|
|
308
308
|
Query results are returned in this format:
|
|
309
309
|
|
|
310
|
-
```typescript
|
|
310
|
+
```typescript
|
|
311
311
|
interface QueryResult {
|
|
312
312
|
id: string;
|
|
313
313
|
score: number;
|
|
@@ -320,7 +320,7 @@ interface QueryResult {
|
|
|
320
320
|
|
|
321
321
|
The store throws typed errors that can be caught:
|
|
322
322
|
|
|
323
|
-
```typescript
|
|
323
|
+
```typescript
|
|
324
324
|
try {
|
|
325
325
|
await store.query({
|
|
326
326
|
indexName: "my_index",
|
|
@@ -11,13 +11,13 @@ It's part of the `@mastra/duckdb` package and offers efficient vector similarity
|
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
|
-
```bash
|
|
14
|
+
```bash
|
|
15
15
|
npm install @mastra/duckdb@beta
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Usage
|
|
19
19
|
|
|
20
|
-
```typescript
|
|
20
|
+
```typescript
|
|
21
21
|
import { DuckDBVector } from "@mastra/duckdb";
|
|
22
22
|
|
|
23
23
|
// Create a new vector store instance
|
|
@@ -206,7 +206,7 @@ Gets information about an index.
|
|
|
206
206
|
|
|
207
207
|
Returns:
|
|
208
208
|
|
|
209
|
-
```typescript
|
|
209
|
+
```typescript
|
|
210
210
|
interface IndexStats {
|
|
211
211
|
dimension: number;
|
|
212
212
|
count: number;
|
|
@@ -330,7 +330,7 @@ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` m
|
|
|
330
330
|
|
|
331
331
|
Closes the database connection and releases resources.
|
|
332
332
|
|
|
333
|
-
```typescript
|
|
333
|
+
```typescript
|
|
334
334
|
await store.close();
|
|
335
335
|
```
|
|
336
336
|
|
|
@@ -338,7 +338,7 @@ await store.close();
|
|
|
338
338
|
|
|
339
339
|
Query results are returned in this format:
|
|
340
340
|
|
|
341
|
-
```typescript
|
|
341
|
+
```typescript
|
|
342
342
|
interface QueryResult {
|
|
343
343
|
id: string;
|
|
344
344
|
score: number;
|
|
@@ -361,7 +361,7 @@ DuckDB vector store supports MongoDB-like filter operators:
|
|
|
361
361
|
|
|
362
362
|
### Filter Examples
|
|
363
363
|
|
|
364
|
-
```typescript
|
|
364
|
+
```typescript
|
|
365
365
|
// Allegato operators
|
|
366
366
|
const results = await store.query({
|
|
367
367
|
indexName: "docs",
|
|
@@ -394,7 +394,7 @@ const results = await store.query({
|
|
|
394
394
|
|
|
395
395
|
The store throws specific errors for different failure cases:
|
|
396
396
|
|
|
397
|
-
```typescript
|
|
397
|
+
```typescript
|
|
398
398
|
try {
|
|
399
399
|
await store.query({
|
|
400
400
|
indexName: "my-collection",
|
|
@@ -425,7 +425,7 @@ Common error cases include:
|
|
|
425
425
|
|
|
426
426
|
Build offline-capable AI applications with semantic search that runs entirely in-process:
|
|
427
427
|
|
|
428
|
-
```typescript
|
|
428
|
+
```typescript
|
|
429
429
|
const store = new DuckDBVector({
|
|
430
430
|
id: "offline-search",
|
|
431
431
|
path: "./search.duckdb",
|
|
@@ -436,7 +436,7 @@ const store = new DuckDBVector({
|
|
|
436
436
|
|
|
437
437
|
Process sensitive documents locally without sending data to cloud vector databases:
|
|
438
438
|
|
|
439
|
-
```typescript
|
|
439
|
+
```typescript
|
|
440
440
|
const store = new DuckDBVector({
|
|
441
441
|
id: "private-rag",
|
|
442
442
|
path: "./confidential.duckdb",
|
|
@@ -448,7 +448,7 @@ const store = new DuckDBVector({
|
|
|
448
448
|
|
|
449
449
|
Rapidly prototype vector search features with zero infrastructure:
|
|
450
450
|
|
|
451
|
-
```typescript
|
|
451
|
+
```typescript
|
|
452
452
|
const store = new DuckDBVector({
|
|
453
453
|
id: "dev-store",
|
|
454
454
|
path: ":memory:", // Fast in-memory for tests
|
|
@@ -10,13 +10,13 @@ It's part of the `@mastra/elasticsearch` package.
|
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
13
|
-
```bash
|
|
13
|
+
```bash
|
|
14
14
|
npm install @mastra/elasticsearch@beta
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
|
-
```typescript
|
|
19
|
+
```typescript
|
|
20
20
|
import { ElasticSearchVector } from "@mastra/elasticsearch";
|
|
21
21
|
|
|
22
22
|
const store = new ElasticSearchVector({
|
|
@@ -176,7 +176,7 @@ Gets information about an index.
|
|
|
176
176
|
|
|
177
177
|
Returns:
|
|
178
178
|
|
|
179
|
-
```typescript
|
|
179
|
+
```typescript
|
|
180
180
|
interface IndexStats {
|
|
181
181
|
dimension: number;
|
|
182
182
|
count: number;
|
|
@@ -296,7 +296,7 @@ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` m
|
|
|
296
296
|
|
|
297
297
|
Query results are returned in this format:
|
|
298
298
|
|
|
299
|
-
```typescript
|
|
299
|
+
```typescript
|
|
300
300
|
interface QueryResult {
|
|
301
301
|
id: string;
|
|
302
302
|
score: number;
|
|
@@ -263,7 +263,7 @@ const s3Store = await LanceVectorStore.create("s3://bucket/db", {
|
|
|
263
263
|
|
|
264
264
|
Returns an array of table names as strings.
|
|
265
265
|
|
|
266
|
-
```typescript
|
|
266
|
+
```typescript
|
|
267
267
|
const tables = await vectorStore.listTables();
|
|
268
268
|
// ['my_vectors', 'embeddings', 'documents']
|
|
269
269
|
```
|
|
@@ -316,7 +316,7 @@ Returns an array of index names as strings.
|
|
|
316
316
|
|
|
317
317
|
Returns information about the index:
|
|
318
318
|
|
|
319
|
-
```typescript
|
|
319
|
+
```typescript
|
|
320
320
|
interface IndexStats {
|
|
321
321
|
dimension: number;
|
|
322
322
|
count: number;
|
|
@@ -425,7 +425,7 @@ Closes the database connection.
|
|
|
425
425
|
|
|
426
426
|
Query results are returned in this format:
|
|
427
427
|
|
|
428
|
-
```typescript
|
|
428
|
+
```typescript
|
|
429
429
|
interface QueryResult {
|
|
430
430
|
id: string;
|
|
431
431
|
score: number;
|
|
@@ -439,7 +439,7 @@ interface QueryResult {
|
|
|
439
439
|
|
|
440
440
|
The store throws typed errors that can be caught:
|
|
441
441
|
|
|
442
|
-
```typescript
|
|
442
|
+
```typescript
|
|
443
443
|
try {
|
|
444
444
|
await store.query({
|
|
445
445
|
tableName: "my_vectors",
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference:
|
|
3
|
-
description: Documentation for the LibSQLVector class in Mastra, which provides vector search using
|
|
2
|
+
title: "Reference: libSQL Vector Store | Vectors"
|
|
3
|
+
description: Documentation for the LibSQLVector class in Mastra, which provides vector search using libSQL with vector extensions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# libSQL Vector Store
|
|
7
7
|
|
|
8
|
-
The
|
|
8
|
+
The libSQL storage implementation provides a SQLite-compatible vector search [libSQL](https://github.com/tursodatabase/libsql), a fork of SQLite with vector extensions, and [Turso](https://turso.tech/) with vector extensions, offering a lightweight and efficient vector database solution.
|
|
9
9
|
It's part of the `@mastra/libsql` package and offers efficient vector similarity search with metadata filtering.
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
13
|
-
```bash
|
|
13
|
+
```bash
|
|
14
14
|
npm install @mastra/libsql@beta
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
|
-
```typescript
|
|
19
|
+
```typescript
|
|
20
20
|
import { LibSQLVector } from "@mastra/libsql";
|
|
21
21
|
|
|
22
22
|
// Create a new vector store instance
|
|
@@ -63,7 +63,7 @@ const results = await store.query({
|
|
|
63
63
|
name: "connectionUrl",
|
|
64
64
|
type: "string",
|
|
65
65
|
description:
|
|
66
|
-
"
|
|
66
|
+
"libSQL database URL. Use ':memory:' for in-memory database, 'file:dbname.db' for local file, or a libSQL-compatible connection string like 'libsql://your-database.turso.io'.",
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
name: "authToken",
|
|
@@ -111,7 +111,7 @@ Creates a new vector collection. The index name must start with a letter or unde
|
|
|
111
111
|
isOptional: true,
|
|
112
112
|
defaultValue: "cosine",
|
|
113
113
|
description:
|
|
114
|
-
"Distance metric for similarity search. Note: Currently only cosine similarity is supported by
|
|
114
|
+
"Distance metric for similarity search. Note: Currently only cosine similarity is supported by libSQL.",
|
|
115
115
|
},
|
|
116
116
|
]}
|
|
117
117
|
/>
|
|
@@ -209,7 +209,7 @@ Gets information about an index.
|
|
|
209
209
|
|
|
210
210
|
Returns:
|
|
211
211
|
|
|
212
|
-
```typescript
|
|
212
|
+
```typescript
|
|
213
213
|
interface IndexStats {
|
|
214
214
|
dimension: number;
|
|
215
215
|
count: number;
|
|
@@ -343,7 +343,7 @@ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` m
|
|
|
343
343
|
|
|
344
344
|
Query results are returned in this format:
|
|
345
345
|
|
|
346
|
-
```typescript
|
|
346
|
+
```typescript
|
|
347
347
|
interface QueryResult {
|
|
348
348
|
id: string;
|
|
349
349
|
score: number;
|
|
@@ -356,7 +356,7 @@ interface QueryResult {
|
|
|
356
356
|
|
|
357
357
|
The store throws specific errors for different failure cases:
|
|
358
358
|
|
|
359
|
-
```typescript
|
|
359
|
+
```typescript
|
|
360
360
|
try {
|
|
361
361
|
await store.query({
|
|
362
362
|
indexName: "my-collection",
|
|
@@ -384,6 +384,56 @@ Common error cases include:
|
|
|
384
384
|
- Database connection issues
|
|
385
385
|
- Transaction failures during upsert
|
|
386
386
|
|
|
387
|
+
## Usage Example
|
|
388
|
+
|
|
389
|
+
### Local embeddings with fastembed
|
|
390
|
+
|
|
391
|
+
Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords). This setup uses `@mastra/fastembed` to generate vector embeddings.
|
|
392
|
+
|
|
393
|
+
Install `fastembed` to get started:
|
|
394
|
+
|
|
395
|
+
```bash
|
|
396
|
+
npm install @mastra/fastembed@beta
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
Add the following to your agent:
|
|
400
|
+
|
|
401
|
+
```typescript title="src/mastra/agents/example-libsql-agent.ts"
|
|
402
|
+
import { Memory } from "@mastra/memory";
|
|
403
|
+
import { Agent } from "@mastra/core/agent";
|
|
404
|
+
import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
|
|
405
|
+
import { fastembed } from "@mastra/fastembed";
|
|
406
|
+
|
|
407
|
+
export const libsqlAgent = new Agent({
|
|
408
|
+
id: "libsql-agent",
|
|
409
|
+
name: "libSQL Agent",
|
|
410
|
+
instructions:
|
|
411
|
+
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
412
|
+
model: "openai/gpt-5.1",
|
|
413
|
+
memory: new Memory({
|
|
414
|
+
storage: new LibSQLStore({
|
|
415
|
+
id: 'libsql-agent-storage',
|
|
416
|
+
url: "file:libsql-agent.db",
|
|
417
|
+
}),
|
|
418
|
+
vector: new LibSQLVector({
|
|
419
|
+
id: 'libsql-agent-vector',
|
|
420
|
+
connectionUrl: "file:libsql-agent.db",
|
|
421
|
+
}),
|
|
422
|
+
embedder: fastembed,
|
|
423
|
+
options: {
|
|
424
|
+
lastMessages: 10,
|
|
425
|
+
semanticRecall: {
|
|
426
|
+
topK: 3,
|
|
427
|
+
messageRange: 2,
|
|
428
|
+
},
|
|
429
|
+
threads: {
|
|
430
|
+
generateTitle: true, // Explicitly enable automatic title generation
|
|
431
|
+
},
|
|
432
|
+
},
|
|
433
|
+
}),
|
|
434
|
+
});
|
|
435
|
+
```
|
|
436
|
+
|
|
387
437
|
## Related
|
|
388
438
|
|
|
389
439
|
- [Metadata Filters](../rag/metadata-filters)
|
|
@@ -9,13 +9,13 @@ The `MongoDBVector` class provides vector search using [MongoDB Atlas Vector Sea
|
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
12
|
-
```bash
|
|
12
|
+
```bash
|
|
13
13
|
npm install @mastra/mongodb@beta
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Usage Example
|
|
17
17
|
|
|
18
|
-
```typescript
|
|
18
|
+
```typescript
|
|
19
19
|
import { MongoDBVector } from "@mastra/mongodb";
|
|
20
20
|
|
|
21
21
|
const store = new MongoDBVector({
|
|
@@ -180,7 +180,7 @@ Returns information about the index (collection).
|
|
|
180
180
|
|
|
181
181
|
Returns:
|
|
182
182
|
|
|
183
|
-
```typescript
|
|
183
|
+
```typescript
|
|
184
184
|
interface IndexStats {
|
|
185
185
|
dimension: number;
|
|
186
186
|
count: number;
|
|
@@ -304,7 +304,7 @@ Closes the MongoDB client connection. Should be called when done using the store
|
|
|
304
304
|
|
|
305
305
|
Query results are returned in this format:
|
|
306
306
|
|
|
307
|
-
```typescript
|
|
307
|
+
```typescript
|
|
308
308
|
interface QueryResult {
|
|
309
309
|
id: string;
|
|
310
310
|
score: number;
|
|
@@ -317,7 +317,7 @@ interface QueryResult {
|
|
|
317
317
|
|
|
318
318
|
The store throws typed errors that can be caught:
|
|
319
319
|
|
|
320
|
-
```typescript
|
|
320
|
+
```typescript
|
|
321
321
|
try {
|
|
322
322
|
await store.query({
|
|
323
323
|
indexName: "my_collection",
|
|
@@ -343,6 +343,59 @@ try {
|
|
|
343
343
|
- Use consistent field naming in metadata to avoid unexpected query results.
|
|
344
344
|
- Regularly monitor index and collection statistics to ensure efficient search.
|
|
345
345
|
|
|
346
|
+
## Usage Example
|
|
347
|
+
|
|
348
|
+
### Vector embeddings with MongoDB
|
|
349
|
+
|
|
350
|
+
Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords).
|
|
351
|
+
|
|
352
|
+
> Note: You must use a deployment hosted on MongoDB Atlas to successfully use the MongoDB Vector database.
|
|
353
|
+
|
|
354
|
+
This setup uses FastEmbed, a local embedding model, to generate vector embeddings.
|
|
355
|
+
To use this, install `@mastra/fastembed`:
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
npm install @mastra/fastembed@beta
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
Add the following to your agent:
|
|
362
|
+
|
|
363
|
+
```typescript title="src/mastra/agents/example-mongodb-agent.ts"
|
|
364
|
+
import { Memory } from "@mastra/memory";
|
|
365
|
+
import { Agent } from "@mastra/core/agent";
|
|
366
|
+
import { MongoDBStore, MongoDBVector } from "@mastra/mongodb";
|
|
367
|
+
import { fastembed } from "@mastra/fastembed";
|
|
368
|
+
|
|
369
|
+
export const mongodbAgent = new Agent({
|
|
370
|
+
id: "mongodb-agent",
|
|
371
|
+
name: "mongodb-agent",
|
|
372
|
+
instructions:
|
|
373
|
+
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
374
|
+
model: "openai/gpt-5.1",
|
|
375
|
+
memory: new Memory({
|
|
376
|
+
storage: new MongoDBStore({
|
|
377
|
+
url: process.env.MONGODB_URI!,
|
|
378
|
+
dbName: process.env.MONGODB_DB_NAME!,
|
|
379
|
+
}),
|
|
380
|
+
vector: new MongoDBVector({
|
|
381
|
+
uri: process.env.MONGODB_URI!,
|
|
382
|
+
dbName: process.env.MONGODB_DB_NAME!,
|
|
383
|
+
}),
|
|
384
|
+
embedder: fastembed,
|
|
385
|
+
options: {
|
|
386
|
+
lastMessages: 10,
|
|
387
|
+
semanticRecall: {
|
|
388
|
+
topK: 3,
|
|
389
|
+
messageRange: 2,
|
|
390
|
+
},
|
|
391
|
+
threads: {
|
|
392
|
+
generateTitle: true, // generates descriptive thread titles automatically
|
|
393
|
+
},
|
|
394
|
+
},
|
|
395
|
+
}),
|
|
396
|
+
});
|
|
397
|
+
```
|
|
398
|
+
|
|
346
399
|
## Related
|
|
347
400
|
|
|
348
401
|
- [Metadata Filters](../rag/metadata-filters)
|
|
@@ -374,7 +374,7 @@ Returns an array of index names as strings.
|
|
|
374
374
|
|
|
375
375
|
Returns:
|
|
376
376
|
|
|
377
|
-
```typescript
|
|
377
|
+
```typescript
|
|
378
378
|
interface PGIndexStats {
|
|
379
379
|
dimension: number;
|
|
380
380
|
count: number;
|
|
@@ -434,7 +434,7 @@ Update a single vector by ID or by metadata filter. Either `id` or `filter` must
|
|
|
434
434
|
|
|
435
435
|
Updates an existing vector by ID or filter. At least one of vector or metadata must be provided in the update object.
|
|
436
436
|
|
|
437
|
-
```typescript
|
|
437
|
+
```typescript
|
|
438
438
|
// Update by ID
|
|
439
439
|
await pgVector.updateVector({
|
|
440
440
|
indexName: "my_vectors",
|
|
@@ -474,7 +474,7 @@ await pgVector.updateVector({
|
|
|
474
474
|
|
|
475
475
|
Deletes a single vector by ID from the specified index.
|
|
476
476
|
|
|
477
|
-
```typescript
|
|
477
|
+
```typescript
|
|
478
478
|
await pgVector.deleteVector({ indexName: "my_vectors", id: "vector123" });
|
|
479
479
|
```
|
|
480
480
|
|
|
@@ -534,7 +534,7 @@ Closes the database connection pool. Should be called when done using the store.
|
|
|
534
534
|
|
|
535
535
|
Builds or rebuilds an index with specified metric and configuration. Will drop any existing index before creating the new one.
|
|
536
536
|
|
|
537
|
-
```typescript
|
|
537
|
+
```typescript
|
|
538
538
|
// Define HNSW index
|
|
539
539
|
await pgVector.buildIndex("my_vectors", "cosine", {
|
|
540
540
|
type: "hnsw",
|
|
@@ -562,7 +562,7 @@ await pgVector.buildIndex("my_vectors", "cosine", {
|
|
|
562
562
|
|
|
563
563
|
Query results are returned in this format:
|
|
564
564
|
|
|
565
|
-
```typescript
|
|
565
|
+
```typescript
|
|
566
566
|
interface QueryResult {
|
|
567
567
|
id: string;
|
|
568
568
|
score: number;
|
|
@@ -575,7 +575,7 @@ interface QueryResult {
|
|
|
575
575
|
|
|
576
576
|
The store throws typed errors that can be caught:
|
|
577
577
|
|
|
578
|
-
```typescript
|
|
578
|
+
```typescript
|
|
579
579
|
try {
|
|
580
580
|
await store.query({
|
|
581
581
|
indexName: "index_name",
|
|
@@ -641,6 +641,53 @@ This enables advanced usage such as running direct SQL queries, managing transac
|
|
|
641
641
|
|
|
642
642
|
This design supports advanced use cases but requires careful resource management by the user.
|
|
643
643
|
|
|
644
|
+
## Usage Example
|
|
645
|
+
|
|
646
|
+
### Local embeddings with fastembed
|
|
647
|
+
|
|
648
|
+
Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords). This setup uses `@mastra/fastembed` to generate vector embeddings.
|
|
649
|
+
|
|
650
|
+
Install `fastembed` to get started:
|
|
651
|
+
|
|
652
|
+
```bash
|
|
653
|
+
npm install @mastra/fastembed@beta
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
Add the following to your agent:
|
|
657
|
+
|
|
658
|
+
```typescript title="src/mastra/agents/example-pg-agent.ts"
|
|
659
|
+
import { Memory } from "@mastra/memory";
|
|
660
|
+
import { Agent } from "@mastra/core/agent";
|
|
661
|
+
import { PostgresStore, PgVector } from "@mastra/pg";
|
|
662
|
+
import { fastembed } from "@mastra/fastembed";
|
|
663
|
+
|
|
664
|
+
export const pgAgent = new Agent({
|
|
665
|
+
id: "pg-agent",
|
|
666
|
+
name: "PG Agent",
|
|
667
|
+
instructions:
|
|
668
|
+
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
669
|
+
model: "openai/gpt-5.1",
|
|
670
|
+
memory: new Memory({
|
|
671
|
+
storage: new PostgresStore({
|
|
672
|
+
id: 'pg-agent-storage',
|
|
673
|
+
connectionString: process.env.DATABASE_URL!,
|
|
674
|
+
}),
|
|
675
|
+
vector: new PgVector({
|
|
676
|
+
id: 'pg-agent-vector',
|
|
677
|
+
connectionString: process.env.DATABASE_URL!,
|
|
678
|
+
}),
|
|
679
|
+
embedder: fastembed,
|
|
680
|
+
options: {
|
|
681
|
+
lastMessages: 10,
|
|
682
|
+
semanticRecall: {
|
|
683
|
+
topK: 3,
|
|
684
|
+
messageRange: 2,
|
|
685
|
+
},
|
|
686
|
+
},
|
|
687
|
+
}),
|
|
688
|
+
});
|
|
689
|
+
```
|
|
690
|
+
|
|
644
691
|
## Related
|
|
645
692
|
|
|
646
693
|
- [Metadata Filters](../rag/metadata-filters)
|