@mastra/mcp-docs-server 1.0.0-beta.13 → 1.0.0-beta.14
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 +19 -19
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +28 -28
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +98 -98
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +30 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +171 -171
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +10 -10
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +12 -12
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +22 -22
- package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Freact.md +9 -2
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +94 -94
- package/.docs/organized/changelogs/create-mastra.md +3 -3
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/organized/code-examples/agent-v6.md +151 -0
- package/.docs/organized/code-examples/ai-elements.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +2 -3
- 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 -0
- package/.docs/raw/deployment/web-framework.mdx +4 -6
- 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/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 +386 -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/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/setting-up.mdx +6 -2
- 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 +6 -7
- 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 +2 -2
- 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 +3 -3
- 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 +3 -3
- package/.docs/raw/reference/storage/libsql.mdx +69 -54
- package/.docs/raw/reference/storage/mongodb.mdx +80 -7
- package/.docs/raw/reference/storage/mssql.mdx +4 -4
- package/.docs/raw/{memory → reference}/storage/overview.mdx +12 -110
- package/.docs/raw/reference/storage/postgresql.mdx +78 -7
- 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 +1 -1
- 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/inngest-workflow.mdx +8 -9
- package/.docs/raw/workflows/input-data-mapping.mdx +7 -7
- package/.docs/raw/workflows/overview.mdx +33 -22
- package/.docs/raw/workflows/snapshots.mdx +14 -44
- 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 +9 -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 +4 -4
- 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mcp-docs-server",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.14",
|
|
4
4
|
"description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"@modelcontextprotocol/sdk": "^1.17.5",
|
|
29
29
|
"jsdom": "^26.1.0",
|
|
30
30
|
"zod": "^3.25.76",
|
|
31
|
-
"@mastra/
|
|
32
|
-
"@mastra/
|
|
31
|
+
"@mastra/mcp": "^1.0.0-beta.6",
|
|
32
|
+
"@mastra/core": "1.0.0-beta.14"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@hono/node-server": "^1.19.6",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"typescript": "^5.8.3",
|
|
47
47
|
"vitest": "4.0.12",
|
|
48
48
|
"@internal/lint": "0.0.53",
|
|
49
|
-
"@mastra/core": "1.0.0-beta.
|
|
49
|
+
"@mastra/core": "1.0.0-beta.14"
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://mastra.ai",
|
|
52
52
|
"repository": {
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Conversation History | Memory"
|
|
3
|
-
description: "Learn how to configure conversation history in Mastra to store recent messages from the current conversation."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Conversation History
|
|
7
|
-
|
|
8
|
-
Conversation history is the simplest kind of memory. It is a list of messages from the current conversation.
|
|
9
|
-
|
|
10
|
-
By default, each request includes the last 10 messages from the current memory thread, giving the agent short-term conversational context. This limit can be increased using the `lastMessages` parameter.
|
|
11
|
-
|
|
12
|
-
You can increase this limit by passing the `lastMessages` parameter to the `Memory` instance.
|
|
13
|
-
|
|
14
|
-
```typescript {3-7} showLineNumbers
|
|
15
|
-
export const testAgent = new Agent({
|
|
16
|
-
id: "test-agent",
|
|
17
|
-
// ...
|
|
18
|
-
memory: new Memory({
|
|
19
|
-
options: {
|
|
20
|
-
lastMessages: 20,
|
|
21
|
-
},
|
|
22
|
-
}),
|
|
23
|
-
});
|
|
24
|
-
```
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Memory with LibSQL | Storage"
|
|
3
|
-
description: Example for how to use Mastra's memory system with LibSQL storage and vector database backend.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Memory with LibSQL
|
|
7
|
-
|
|
8
|
-
This example demonstrates how to use Mastra's memory system with LibSQL as the storage backend.
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
|
|
12
|
-
This example uses the `openai` model. Make sure to add `OPENAI_API_KEY` to your `.env` file.
|
|
13
|
-
|
|
14
|
-
```bash title=".env" copy
|
|
15
|
-
OPENAI_API_KEY=<your-api-key>
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
And install the following package:
|
|
19
|
-
|
|
20
|
-
```bash copy
|
|
21
|
-
npm install @mastra/libsql@beta
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Adding memory to an agent
|
|
25
|
-
|
|
26
|
-
To add LibSQL memory to an agent use the `Memory` class and create a new `storage` key using `LibSQLStore`. The `url` can either by a remote location, or a local file system resource.
|
|
27
|
-
|
|
28
|
-
```typescript title="src/mastra/agents/example-libsql-agent.ts" showLineNumbers copy
|
|
29
|
-
import { Memory } from "@mastra/memory";
|
|
30
|
-
import { Agent } from "@mastra/core/agent";
|
|
31
|
-
import { LibSQLStore } from "@mastra/libsql";
|
|
32
|
-
|
|
33
|
-
export const libsqlAgent = new Agent({
|
|
34
|
-
id: "libsql-agent",
|
|
35
|
-
name: "LibSQL Agent",
|
|
36
|
-
instructions:
|
|
37
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
38
|
-
model: "openai/gpt-5.1",
|
|
39
|
-
memory: new Memory({
|
|
40
|
-
storage: new LibSQLStore({
|
|
41
|
-
id: 'libsql-agent-storage',
|
|
42
|
-
url: "file:libsql-agent.db",
|
|
43
|
-
}),
|
|
44
|
-
options: {
|
|
45
|
-
generateTitle: true, // Explicitly enable automatic title generation
|
|
46
|
-
},
|
|
47
|
-
}),
|
|
48
|
-
});
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Local embeddings with fastembed
|
|
52
|
-
|
|
53
|
-
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.
|
|
54
|
-
|
|
55
|
-
Install `fastembed` to get started:
|
|
56
|
-
|
|
57
|
-
```bash copy
|
|
58
|
-
npm install @mastra/fastembed@beta
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Add the following to your agent:
|
|
62
|
-
|
|
63
|
-
```typescript title="src/mastra/agents/example-libsql-agent.ts" showLineNumbers copy
|
|
64
|
-
import { Memory } from "@mastra/memory";
|
|
65
|
-
import { Agent } from "@mastra/core/agent";
|
|
66
|
-
import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
|
|
67
|
-
import { fastembed } from "@mastra/fastembed";
|
|
68
|
-
|
|
69
|
-
export const libsqlAgent = new Agent({
|
|
70
|
-
id: "libsql-agent",
|
|
71
|
-
name: "LibSQL Agent",
|
|
72
|
-
instructions:
|
|
73
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
74
|
-
model: "openai/gpt-5.1",
|
|
75
|
-
memory: new Memory({
|
|
76
|
-
storage: new LibSQLStore({
|
|
77
|
-
id: 'libsql-agent-storage',
|
|
78
|
-
url: "file:libsql-agent.db",
|
|
79
|
-
}),
|
|
80
|
-
vector: new LibSQLVector({
|
|
81
|
-
id: 'libsql-agent-vector',
|
|
82
|
-
connectionUrl: "file:libsql-agent.db",
|
|
83
|
-
}),
|
|
84
|
-
embedder: fastembed,
|
|
85
|
-
options: {
|
|
86
|
-
lastMessages: 10,
|
|
87
|
-
semanticRecall: {
|
|
88
|
-
topK: 3,
|
|
89
|
-
messageRange: 2,
|
|
90
|
-
},
|
|
91
|
-
threads: {
|
|
92
|
-
generateTitle: true, // Explicitly enable automatic title generation
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
}),
|
|
96
|
-
});
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Usage example
|
|
100
|
-
|
|
101
|
-
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.
|
|
102
|
-
|
|
103
|
-
```typescript title="src/test-libsql-agent.ts" showLineNumbers copy
|
|
104
|
-
import "dotenv/config";
|
|
105
|
-
|
|
106
|
-
import { mastra } from "./mastra";
|
|
107
|
-
|
|
108
|
-
const threadId = "123";
|
|
109
|
-
const resourceId = "user-456";
|
|
110
|
-
|
|
111
|
-
const agent = mastra.getAgent("libsqlAgent");
|
|
112
|
-
|
|
113
|
-
const message = await agent.stream("My name is Mastra", {
|
|
114
|
-
memory: {
|
|
115
|
-
thread: threadId,
|
|
116
|
-
resource: resourceId,
|
|
117
|
-
},
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
await message.textStream.pipeTo(new WritableStream());
|
|
121
|
-
|
|
122
|
-
const stream = await agent.stream("What's my name?", {
|
|
123
|
-
memory: {
|
|
124
|
-
thread: threadId,
|
|
125
|
-
resource: resourceId,
|
|
126
|
-
},
|
|
127
|
-
memoryOptions: {
|
|
128
|
-
lastMessages: 5,
|
|
129
|
-
semanticRecall: {
|
|
130
|
-
topK: 3,
|
|
131
|
-
messageRange: 2,
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
for await (const chunk of stream.textStream) {
|
|
137
|
-
process.stdout.write(chunk);
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Example: Memory with MongoDB | Storage"
|
|
3
|
-
description: Example for how to use Mastra's memory system with MongoDB storage and vector capabilities.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Memory with MongoDB
|
|
7
|
-
|
|
8
|
-
This example demonstrates how to use Mastra's memory system with MongoDB as the storage backend.
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
|
|
12
|
-
This example uses the `openai` model and requires a MongoDB database. Make sure to add the following to your `.env` file:
|
|
13
|
-
|
|
14
|
-
```bash title=".env" copy
|
|
15
|
-
OPENAI_API_KEY=<your-api-key>
|
|
16
|
-
MONGODB_URI=<your-connection-string>
|
|
17
|
-
MONGODB_DB_NAME=<your-db-name>
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
And install the following package:
|
|
21
|
-
|
|
22
|
-
```bash copy
|
|
23
|
-
npm install @mastra/mongodb@beta
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Adding memory to an agent
|
|
27
|
-
|
|
28
|
-
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.
|
|
29
|
-
|
|
30
|
-
```typescript title="src/mastra/agents/example-mongodb-agent.ts" showLineNumbers copy
|
|
31
|
-
import { Memory } from "@mastra/memory";
|
|
32
|
-
import { Agent } from "@mastra/core/agent";
|
|
33
|
-
import { MongoDBStore } from "@mastra/mongodb";
|
|
34
|
-
|
|
35
|
-
export const mongodbAgent = new Agent({
|
|
36
|
-
id: "mongodb-agent",
|
|
37
|
-
name: "mongodb-agent",
|
|
38
|
-
instructions:
|
|
39
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
40
|
-
model: "openai/gpt-5.1",
|
|
41
|
-
memory: new Memory({
|
|
42
|
-
storage: new MongoDBStore({
|
|
43
|
-
url: process.env.MONGODB_URI!,
|
|
44
|
-
dbName: process.env.MONGODB_DB_NAME!,
|
|
45
|
-
}),
|
|
46
|
-
options: {
|
|
47
|
-
threads: {
|
|
48
|
-
generateTitle: true,
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
}),
|
|
52
|
-
});
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Vector embeddings with MongoDB
|
|
56
|
-
|
|
57
|
-
Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords).
|
|
58
|
-
|
|
59
|
-
> Note: You must use a deployment hosted on MongoDB Atlas to successfully use the MongoDB Vector database.
|
|
60
|
-
|
|
61
|
-
This setup uses FastEmbed, a local embedding model, to generate vector embeddings.
|
|
62
|
-
To use this, install `@mastra/fastembed`:
|
|
63
|
-
|
|
64
|
-
```bash copy
|
|
65
|
-
npm install @mastra/fastembed@beta
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Add the following to your agent:
|
|
69
|
-
|
|
70
|
-
```typescript title="src/mastra/agents/example-mongodb-agent.ts" showLineNumbers copy
|
|
71
|
-
import { Memory } from "@mastra/memory";
|
|
72
|
-
import { Agent } from "@mastra/core/agent";
|
|
73
|
-
import { MongoDBStore, MongoDBVector } from "@mastra/mongodb";
|
|
74
|
-
import { fastembed } from "@mastra/fastembed";
|
|
75
|
-
|
|
76
|
-
export const mongodbAgent = new Agent({
|
|
77
|
-
id: "mongodb-agent",
|
|
78
|
-
name: "mongodb-agent",
|
|
79
|
-
instructions:
|
|
80
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
81
|
-
model: "openai/gpt-5.1",
|
|
82
|
-
memory: new Memory({
|
|
83
|
-
storage: new MongoDBStore({
|
|
84
|
-
url: process.env.MONGODB_URI!,
|
|
85
|
-
dbName: process.env.MONGODB_DB_NAME!,
|
|
86
|
-
}),
|
|
87
|
-
vector: new MongoDBVector({
|
|
88
|
-
uri: process.env.MONGODB_URI!,
|
|
89
|
-
dbName: process.env.MONGODB_DB_NAME!,
|
|
90
|
-
}),
|
|
91
|
-
embedder: fastembed,
|
|
92
|
-
options: {
|
|
93
|
-
lastMessages: 10,
|
|
94
|
-
semanticRecall: {
|
|
95
|
-
topK: 3,
|
|
96
|
-
messageRange: 2,
|
|
97
|
-
},
|
|
98
|
-
threads: {
|
|
99
|
-
generateTitle: true, // generates descriptive thread titles automatically
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
}),
|
|
103
|
-
});
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
## Usage example
|
|
107
|
-
|
|
108
|
-
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.
|
|
109
|
-
|
|
110
|
-
```typescript title="src/test-mongodb-agent.ts" showLineNumbers copy
|
|
111
|
-
import "dotenv/config";
|
|
112
|
-
|
|
113
|
-
import { mastra } from "./mastra";
|
|
114
|
-
|
|
115
|
-
const threadId = "123";
|
|
116
|
-
const resourceId = "user-456";
|
|
117
|
-
|
|
118
|
-
const agent = mastra.getAgent("mongodbAgent");
|
|
119
|
-
|
|
120
|
-
const message = await agent.stream("My name is Mastra", {
|
|
121
|
-
memory: {
|
|
122
|
-
thread: threadId,
|
|
123
|
-
resource: resourceId,
|
|
124
|
-
},
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
await message.textStream.pipeTo(new WritableStream());
|
|
128
|
-
|
|
129
|
-
const stream = await agent.stream("What's my name?", {
|
|
130
|
-
memory: {
|
|
131
|
-
thread: threadId,
|
|
132
|
-
resource: resourceId,
|
|
133
|
-
},
|
|
134
|
-
memoryOptions: {
|
|
135
|
-
lastMessages: 5,
|
|
136
|
-
semanticRecall: {
|
|
137
|
-
topK: 3,
|
|
138
|
-
messageRange: 2,
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
for await (const chunk of stream.textStream) {
|
|
144
|
-
process.stdout.write(chunk);
|
|
145
|
-
}
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## Related
|
|
149
|
-
|
|
150
|
-
- [Calling Agents](/docs/v1/agents/overview)
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Memory with Postgres | Storage"
|
|
3
|
-
description: Example for how to use Mastra's memory system with PostgreSQL storage and vector capabilities.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Memory with Postgres
|
|
7
|
-
|
|
8
|
-
This example demonstrates how to use Mastra's memory system with PostgreSQL as the storage backend.
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
|
|
12
|
-
This example uses the `openai` model and requires a PostgreSQL database with the `pgvector` extension. Make sure to add the following to your `.env` file:
|
|
13
|
-
|
|
14
|
-
```bash title=".env" copy
|
|
15
|
-
OPENAI_API_KEY=<your-api-key>
|
|
16
|
-
DATABASE_URL=<your-connection-string>
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
And install the following package:
|
|
20
|
-
|
|
21
|
-
```bash copy
|
|
22
|
-
npm install @mastra/pg@beta
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Adding memory to an agent
|
|
26
|
-
|
|
27
|
-
To add PostgreSQL memory to an agent use the `Memory` class and create a new `storage` key using `PostgresStore`. The `connectionString` can either be a remote location, or a local database connection.
|
|
28
|
-
|
|
29
|
-
```typescript title="src/mastra/agents/example-pg-agent.ts" showLineNumbers copy
|
|
30
|
-
import { Memory } from "@mastra/memory";
|
|
31
|
-
import { Agent } from "@mastra/core/agent";
|
|
32
|
-
import { PostgresStore } from "@mastra/pg";
|
|
33
|
-
|
|
34
|
-
export const pgAgent = new Agent({
|
|
35
|
-
id: "pg-agent",
|
|
36
|
-
name: "PG Agent",
|
|
37
|
-
instructions:
|
|
38
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
39
|
-
model: "openai/gpt-5.1",
|
|
40
|
-
memory: new Memory({
|
|
41
|
-
storage: new PostgresStore({
|
|
42
|
-
id: 'pg-agent-storage',
|
|
43
|
-
connectionString: process.env.DATABASE_URL!,
|
|
44
|
-
}),
|
|
45
|
-
options: {
|
|
46
|
-
generateTitle: true, // Explicitly enable automatic title generation
|
|
47
|
-
},
|
|
48
|
-
}),
|
|
49
|
-
});
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Local embeddings with fastembed
|
|
53
|
-
|
|
54
|
-
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.
|
|
55
|
-
|
|
56
|
-
Install `fastembed` to get started:
|
|
57
|
-
|
|
58
|
-
```bash copy
|
|
59
|
-
npm install @mastra/fastembed@beta
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Add the following to your agent:
|
|
63
|
-
|
|
64
|
-
```typescript title="src/mastra/agents/example-pg-agent.ts" showLineNumbers copy
|
|
65
|
-
import { Memory } from "@mastra/memory";
|
|
66
|
-
import { Agent } from "@mastra/core/agent";
|
|
67
|
-
import { PostgresStore, PgVector } from "@mastra/pg";
|
|
68
|
-
import { fastembed } from "@mastra/fastembed";
|
|
69
|
-
|
|
70
|
-
export const pgAgent = new Agent({
|
|
71
|
-
id: "pg-agent",
|
|
72
|
-
name: "PG Agent",
|
|
73
|
-
instructions:
|
|
74
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
75
|
-
model: "openai/gpt-5.1",
|
|
76
|
-
memory: new Memory({
|
|
77
|
-
storage: new PostgresStore({
|
|
78
|
-
id: 'pg-agent-storage',
|
|
79
|
-
connectionString: process.env.DATABASE_URL!,
|
|
80
|
-
}),
|
|
81
|
-
vector: new PgVector({
|
|
82
|
-
id: 'pg-agent-vector',
|
|
83
|
-
connectionString: process.env.DATABASE_URL!,
|
|
84
|
-
}),
|
|
85
|
-
embedder: fastembed,
|
|
86
|
-
options: {
|
|
87
|
-
lastMessages: 10,
|
|
88
|
-
semanticRecall: {
|
|
89
|
-
topK: 3,
|
|
90
|
-
messageRange: 2,
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
}),
|
|
94
|
-
});
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Usage example
|
|
98
|
-
|
|
99
|
-
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.
|
|
100
|
-
|
|
101
|
-
```typescript title="src/test-pg-agent.ts" showLineNumbers copy
|
|
102
|
-
import "dotenv/config";
|
|
103
|
-
|
|
104
|
-
import { mastra } from "./mastra";
|
|
105
|
-
|
|
106
|
-
const threadId = "123";
|
|
107
|
-
const resourceId = "user-456";
|
|
108
|
-
|
|
109
|
-
const agent = mastra.getAgent("pgAgent");
|
|
110
|
-
|
|
111
|
-
const message = await agent.stream("My name is Mastra", {
|
|
112
|
-
memory: {
|
|
113
|
-
thread: threadId,
|
|
114
|
-
resource: resourceId,
|
|
115
|
-
},
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
await message.textStream.pipeTo(new WritableStream());
|
|
119
|
-
|
|
120
|
-
const stream = await agent.stream("What's my name?", {
|
|
121
|
-
memory: {
|
|
122
|
-
thread: threadId,
|
|
123
|
-
resource: resourceId,
|
|
124
|
-
},
|
|
125
|
-
memoryOptions: {
|
|
126
|
-
lastMessages: 5,
|
|
127
|
-
semanticRecall: {
|
|
128
|
-
topK: 3,
|
|
129
|
-
messageRange: 2,
|
|
130
|
-
},
|
|
131
|
-
},
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
for await (const chunk of stream.textStream) {
|
|
135
|
-
process.stdout.write(chunk);
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Memory with Upstash | Storage"
|
|
3
|
-
description: Example for how to use Mastra's memory system with Upstash Redis storage and vector capabilities.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Memory with Upstash
|
|
7
|
-
|
|
8
|
-
This example demonstrates how to use Mastra's memory system with Upstash as the storage backend.
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
|
|
12
|
-
This example uses the `openai` model and requires both Upstash Redis and Upstash Vector services. Make sure to add the following to your `.env` file:
|
|
13
|
-
|
|
14
|
-
```bash title=".env" copy
|
|
15
|
-
OPENAI_API_KEY=<your-api-key>
|
|
16
|
-
UPSTASH_REDIS_REST_URL=<your-redis-url>
|
|
17
|
-
UPSTASH_REDIS_REST_TOKEN=<your-redis-token>
|
|
18
|
-
UPSTASH_VECTOR_REST_URL=<your-vector-index-url>
|
|
19
|
-
UPSTASH_VECTOR_REST_TOKEN=<your-vector-index-token>
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
You can get your Upstash credentials by signing up at [upstash.com](https://upstash.com) and creating both Redis and Vector databases.
|
|
23
|
-
|
|
24
|
-
And install the following package:
|
|
25
|
-
|
|
26
|
-
```bash copy
|
|
27
|
-
npm install @mastra/upstash@beta
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Adding memory to an agent
|
|
31
|
-
|
|
32
|
-
To add Upstash memory to an agent use the `Memory` class and create a new `storage` key using `UpstashStore` and a new `vector` key using `UpstashVector`. The configuration can point to either a remote service or a local setup.
|
|
33
|
-
|
|
34
|
-
```typescript title="src/mastra/agents/example-upstash-agent.ts" showLineNumbers copy
|
|
35
|
-
import { Memory } from "@mastra/memory";
|
|
36
|
-
import { Agent } from "@mastra/core/agent";
|
|
37
|
-
import { UpstashStore } from "@mastra/upstash";
|
|
38
|
-
|
|
39
|
-
export const upstashAgent = new Agent({
|
|
40
|
-
id: "upstash-agent",
|
|
41
|
-
name: "Upstash Agent",
|
|
42
|
-
instructions:
|
|
43
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
44
|
-
model: "openai/gpt-5.1",
|
|
45
|
-
memory: new Memory({
|
|
46
|
-
storage: new UpstashStore({
|
|
47
|
-
id: 'upstash-agent-storage',
|
|
48
|
-
url: process.env.UPSTASH_REDIS_REST_URL!,
|
|
49
|
-
token: process.env.UPSTASH_REDIS_REST_TOKEN!,
|
|
50
|
-
}),
|
|
51
|
-
options: {
|
|
52
|
-
generateTitle: true, // Explicitly enable automatic title generation
|
|
53
|
-
},
|
|
54
|
-
}),
|
|
55
|
-
});
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Local embeddings with fastembed
|
|
59
|
-
|
|
60
|
-
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.
|
|
61
|
-
|
|
62
|
-
Install `fastembed` to get started:
|
|
63
|
-
|
|
64
|
-
```bash copy
|
|
65
|
-
npm install @mastra/fastembed@beta
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Add the following to your agent:
|
|
69
|
-
|
|
70
|
-
```typescript title="src/mastra/agents/example-upstash-agent.ts" showLineNumbers copy
|
|
71
|
-
import { Memory } from "@mastra/memory";
|
|
72
|
-
import { Agent } from "@mastra/core/agent";
|
|
73
|
-
import { UpstashStore, UpstashVector } from "@mastra/upstash";
|
|
74
|
-
import { fastembed } from "@mastra/fastembed";
|
|
75
|
-
|
|
76
|
-
export const upstashAgent = new Agent({
|
|
77
|
-
id: "upstash-agent",
|
|
78
|
-
name: "Upstash Agent",
|
|
79
|
-
instructions:
|
|
80
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
81
|
-
model: "openai/gpt-5.1",
|
|
82
|
-
memory: new Memory({
|
|
83
|
-
storage: new UpstashStore({
|
|
84
|
-
id: 'upstash-agent-storage',
|
|
85
|
-
url: process.env.UPSTASH_REDIS_REST_URL!,
|
|
86
|
-
token: process.env.UPSTASH_REDIS_REST_TOKEN!,
|
|
87
|
-
}),
|
|
88
|
-
vector: new UpstashVector({
|
|
89
|
-
id: 'upstash-agent-vector',
|
|
90
|
-
url: process.env.UPSTASH_VECTOR_REST_URL!,
|
|
91
|
-
token: process.env.UPSTASH_VECTOR_REST_TOKEN!,
|
|
92
|
-
}),
|
|
93
|
-
embedder: fastembed,
|
|
94
|
-
options: {
|
|
95
|
-
lastMessages: 10,
|
|
96
|
-
semanticRecall: {
|
|
97
|
-
topK: 3,
|
|
98
|
-
messageRange: 2,
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
}),
|
|
102
|
-
});
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## Usage example
|
|
106
|
-
|
|
107
|
-
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.
|
|
108
|
-
|
|
109
|
-
```typescript title="src/test-upstash-agent.ts" showLineNumbers copy
|
|
110
|
-
import "dotenv/config";
|
|
111
|
-
|
|
112
|
-
import { mastra } from "./mastra";
|
|
113
|
-
|
|
114
|
-
const threadId = "123";
|
|
115
|
-
const resourceId = "user-456";
|
|
116
|
-
|
|
117
|
-
const agent = mastra.getAgent("upstashAgent");
|
|
118
|
-
|
|
119
|
-
const message = await agent.stream("My name is Mastra", {
|
|
120
|
-
memory: {
|
|
121
|
-
thread: threadId,
|
|
122
|
-
resource: resourceId,
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
await message.textStream.pipeTo(new WritableStream());
|
|
127
|
-
|
|
128
|
-
const stream = await agent.stream("What's my name?", {
|
|
129
|
-
memory: {
|
|
130
|
-
thread: threadId,
|
|
131
|
-
resource: resourceId,
|
|
132
|
-
},
|
|
133
|
-
memoryOptions: {
|
|
134
|
-
lastMessages: 5,
|
|
135
|
-
semanticRecall: {
|
|
136
|
-
topK: 3,
|
|
137
|
-
messageRange: 2,
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
for await (const chunk of stream.textStream) {
|
|
143
|
-
process.stdout.write(chunk);
|
|
144
|
-
}
|
|
145
|
-
```
|
|
146
|
-
|