@mastra/mcp-docs-server 0.13.37 → 0.13.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
- package/.docs/organized/changelogs/create-mastra.md +5 -5
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/raw/agents/adding-voice.mdx +20 -9
- package/.docs/raw/agents/agent-memory.mdx +55 -39
- package/.docs/raw/agents/guardrails.mdx +68 -61
- package/.docs/raw/agents/networks.mdx +50 -46
- package/.docs/raw/agents/overview.mdx +125 -88
- package/.docs/raw/agents/using-tools.mdx +14 -15
- package/.docs/raw/auth/auth0.mdx +28 -27
- package/.docs/raw/auth/clerk.mdx +22 -20
- package/.docs/raw/auth/firebase.mdx +42 -39
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +18 -16
- package/.docs/raw/auth/supabase.mdx +20 -18
- package/.docs/raw/auth/workos.mdx +32 -26
- package/.docs/raw/community/contributing-templates.mdx +7 -7
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
- package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
- package/.docs/raw/deployment/monorepo.mdx +32 -42
- package/.docs/raw/deployment/overview.mdx +15 -15
- package/.docs/raw/deployment/server-deployment.mdx +18 -23
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
- package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
- package/.docs/raw/deployment/web-framework.mdx +14 -14
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
- package/.docs/raw/frameworks/servers/express.mdx +45 -44
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
- package/.docs/raw/getting-started/installation.mdx +164 -133
- package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
- package/.docs/raw/getting-started/project-structure.mdx +34 -42
- package/.docs/raw/getting-started/studio.mdx +40 -58
- package/.docs/raw/getting-started/templates.mdx +22 -27
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
- package/.docs/raw/mastra-cloud/observability.mdx +7 -8
- package/.docs/raw/mastra-cloud/overview.mdx +16 -22
- package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
- package/.docs/raw/memory/conversation-history.mdx +2 -2
- package/.docs/raw/memory/overview.mdx +21 -23
- package/.docs/raw/memory/semantic-recall.mdx +14 -13
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
- package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
- package/.docs/raw/memory/threads-and-resources.mdx +23 -20
- package/.docs/raw/memory/working-memory.mdx +27 -38
- package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
- package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
- package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
- package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
- package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
- package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
- package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
- package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
- package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
- package/.docs/raw/observability/logging.mdx +14 -17
- package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
- package/.docs/raw/observability/otel-tracing.mdx +17 -18
- package/.docs/raw/observability/overview.mdx +14 -10
- package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
- package/.docs/raw/rag/overview.mdx +5 -5
- package/.docs/raw/rag/retrieval.mdx +125 -107
- package/.docs/raw/rag/vector-databases.mdx +232 -223
- package/.docs/raw/reference/agents/agent.mdx +54 -41
- package/.docs/raw/reference/agents/generate.mdx +367 -261
- package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDescription.mdx +3 -2
- package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
- package/.docs/raw/reference/agents/getLLM.mdx +11 -7
- package/.docs/raw/reference/agents/getMemory.mdx +7 -5
- package/.docs/raw/reference/agents/getModel.mdx +7 -5
- package/.docs/raw/reference/agents/getScorers.mdx +7 -5
- package/.docs/raw/reference/agents/getTools.mdx +7 -5
- package/.docs/raw/reference/agents/getVoice.mdx +7 -5
- package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
- package/.docs/raw/reference/agents/listAgents.mdx +6 -4
- package/.docs/raw/reference/agents/network.mdx +171 -116
- package/.docs/raw/reference/auth/auth0.mdx +18 -14
- package/.docs/raw/reference/auth/clerk.mdx +15 -12
- package/.docs/raw/reference/auth/firebase.mdx +23 -16
- package/.docs/raw/reference/auth/jwt.mdx +7 -6
- package/.docs/raw/reference/auth/supabase.mdx +13 -10
- package/.docs/raw/reference/auth/workos.mdx +17 -13
- package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
- package/.docs/raw/reference/cli/mastra.mdx +11 -11
- package/.docs/raw/reference/client-js/agents.mdx +40 -43
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
- package/.docs/raw/reference/client-js/memory.mdx +6 -2
- package/.docs/raw/reference/client-js/observability.mdx +10 -9
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +7 -7
- package/.docs/raw/reference/core/getAgent.mdx +6 -5
- package/.docs/raw/reference/core/getAgentById.mdx +5 -4
- package/.docs/raw/reference/core/getAgents.mdx +3 -3
- package/.docs/raw/reference/core/getDeployer.mdx +4 -3
- package/.docs/raw/reference/core/getLogger.mdx +4 -3
- package/.docs/raw/reference/core/getLogs.mdx +10 -6
- package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
- package/.docs/raw/reference/core/getMemory.mdx +4 -3
- package/.docs/raw/reference/core/getScorer.mdx +15 -12
- package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
- package/.docs/raw/reference/core/getScorers.mdx +3 -2
- package/.docs/raw/reference/core/getServer.mdx +4 -3
- package/.docs/raw/reference/core/getStorage.mdx +4 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
- package/.docs/raw/reference/core/getVector.mdx +6 -4
- package/.docs/raw/reference/core/getVectors.mdx +4 -3
- package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
- package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
- package/.docs/raw/reference/core/mastra-class.mdx +16 -16
- package/.docs/raw/reference/core/setLogger.mdx +6 -4
- package/.docs/raw/reference/core/setStorage.mdx +4 -4
- package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -4
- package/.docs/raw/reference/deployer/vercel.mdx +6 -6
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/bias.mdx +4 -5
- package/.docs/raw/reference/evals/completeness.mdx +4 -5
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
- package/.docs/raw/reference/evals/context-position.mdx +4 -5
- package/.docs/raw/reference/evals/context-precision.mdx +4 -5
- package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
- package/.docs/raw/reference/evals/hallucination.mdx +4 -6
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
- package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
- package/.docs/raw/reference/evals/summarization.mdx +4 -6
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
- package/.docs/raw/reference/evals/toxicity.mdx +4 -5
- package/.docs/raw/reference/index.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
- package/.docs/raw/reference/memory/createThread.mdx +10 -10
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
- package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
- package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
- package/.docs/raw/reference/memory/query.mdx +39 -25
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
- package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
- package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
- package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
- package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
- package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
- package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
- package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
- package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
- package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
- package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
- package/.docs/raw/reference/processors/language-detector.mdx +27 -17
- package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
- package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
- package/.docs/raw/reference/rag/chunk.mdx +41 -23
- package/.docs/raw/reference/rag/database-config.mdx +56 -38
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +1 -1
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
- package/.docs/raw/reference/rag/rerank.mdx +1 -1
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
- package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
- package/.docs/raw/reference/scorers/bias.mdx +22 -19
- package/.docs/raw/reference/scorers/completeness.mdx +21 -16
- package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
- package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
- package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
- package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
- package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
- package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
- package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
- package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
- package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
- package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
- package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
- package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
- package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +2 -2
- package/.docs/raw/reference/storage/mongodb.mdx +4 -5
- package/.docs/raw/reference/storage/mssql.mdx +5 -4
- package/.docs/raw/reference/storage/postgresql.mdx +35 -33
- package/.docs/raw/reference/storage/upstash.mdx +6 -5
- package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
- package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
- package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
- package/.docs/raw/reference/templates/overview.mdx +16 -39
- package/.docs/raw/reference/tools/client.mdx +1 -1
- package/.docs/raw/reference/tools/create-tool.mdx +45 -35
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
- package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
- package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
- package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +25 -19
- package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +5 -6
- package/.docs/raw/reference/vectors/libsql.mdx +1 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
- package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
- package/.docs/raw/reference/vectors/pg.mdx +8 -4
- package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
- package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
- package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
- package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +33 -25
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +1 -1
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
- package/.docs/raw/reference/voice/google.mdx +1 -1
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
- package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
- package/.docs/raw/reference/voice/voice.close.mdx +1 -1
- package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
- package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
- package/.docs/raw/reference/voice/voice.off.mdx +1 -1
- package/.docs/raw/reference/voice/voice.on.mdx +1 -1
- package/.docs/raw/reference/voice/voice.send.mdx +1 -1
- package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
- package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
- package/.docs/raw/reference/workflows/run.mdx +7 -10
- package/.docs/raw/reference/workflows/step.mdx +15 -12
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow.mdx +13 -10
- package/.docs/raw/scorers/custom-scorers.mdx +58 -48
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
- package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
- package/.docs/raw/scorers/overview.mdx +20 -19
- package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
- package/.docs/raw/server-db/mastra-client.mdx +56 -54
- package/.docs/raw/server-db/middleware.mdx +11 -7
- package/.docs/raw/server-db/production-server.mdx +5 -7
- package/.docs/raw/server-db/runtime-context.mdx +41 -38
- package/.docs/raw/server-db/storage.mdx +82 -87
- package/.docs/raw/streaming/events.mdx +24 -16
- package/.docs/raw/streaming/overview.mdx +17 -18
- package/.docs/raw/streaming/tool-streaming.mdx +9 -10
- package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
- package/.docs/raw/tools-mcp/overview.mdx +9 -14
- package/.docs/raw/voice/overview.mdx +273 -250
- package/.docs/raw/voice/speech-to-speech.mdx +14 -12
- package/.docs/raw/voice/speech-to-text.mdx +2 -2
- package/.docs/raw/voice/text-to-speech.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
- package/.docs/raw/workflows/control-flow.mdx +24 -24
- package/.docs/raw/workflows/error-handling.mdx +15 -17
- package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
- package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
- package/.docs/raw/workflows/overview.mdx +60 -60
- package/.docs/raw/workflows/snapshots.mdx +54 -36
- package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
- package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
- package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
- package/.docs/raw/workflows-legacy/overview.mdx +28 -26
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
- package/.docs/raw/workflows-legacy/steps.mdx +5 -3
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
- package/.docs/raw/workflows-legacy/variables.mdx +10 -8
- package/CHANGELOG.md +14 -0
- package/package.json +5 -5
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Setting Up
|
|
2
|
+
title: "Setting Up and Deploying | Mastra Cloud | Mastra Docs"
|
|
3
3
|
description: Configuration steps for Mastra Cloud projects
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import { MastraCloudCallout } from
|
|
7
|
-
import
|
|
6
|
+
import { MastraCloudCallout } from "@site/src/components/MastraCloudCallout";
|
|
7
|
+
import Steps from "@site/src/components/Steps";
|
|
8
|
+
import StepItem from "@site/src/components/StepItem";
|
|
8
9
|
|
|
9
10
|
# Setting Up and Deploying
|
|
10
11
|
|
|
@@ -23,36 +24,44 @@ This page explains how to set up a project on [Mastra Cloud](https://mastra.ai/c
|
|
|
23
24
|
|
|
24
25
|
<Steps>
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
<StepItem>
|
|
27
28
|
|
|
28
29
|
Head over to [https://cloud.mastra.ai/](https://cloud.mastra.ai) and sign in with either:
|
|
29
30
|
|
|
30
31
|
- **GitHub**
|
|
31
32
|
- **Google**
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
</StepItem>
|
|
35
|
+
|
|
36
|
+
<StepItem>
|
|
34
37
|
|
|
35
38
|
When prompted, install the Mastra GitHub app.
|
|
36
39
|
|
|
37
|
-

|
|
41
|
+
|
|
42
|
+
</StepItem>
|
|
38
43
|
|
|
39
|
-
|
|
44
|
+
<StepItem>
|
|
40
45
|
|
|
41
46
|
Click the **Create new project** button to create a new project.
|
|
42
47
|
|
|
43
|
-

|
|
49
|
+
|
|
50
|
+
</StepItem>
|
|
44
51
|
|
|
45
|
-
|
|
52
|
+
<StepItem>
|
|
46
53
|
|
|
47
54
|
Search for a repository, then click **Import**.
|
|
48
55
|
|
|
49
|
-

|
|
50
57
|
|
|
51
|
-
|
|
58
|
+
</StepItem>
|
|
59
|
+
|
|
60
|
+
<StepItem>
|
|
52
61
|
|
|
53
62
|
Mastra Cloud automatically detects the right build settings, but you can customize them using the options described below.
|
|
54
63
|
|
|
55
|
-

|
|
56
65
|
|
|
57
66
|
- **Importing from GitHub**: The GitHub repository name
|
|
58
67
|
- **Project name**: Customize the project name
|
|
@@ -61,15 +70,19 @@ Mastra Cloud automatically detects the right build settings, but you can customi
|
|
|
61
70
|
- **Mastra directory**: Where Mastra files are located
|
|
62
71
|
- **Environment variables**: Add environment variables used by the application
|
|
63
72
|
- **Build and Store settings**:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
73
|
+
- **Install command**: Runs pre-build to install project dependencies
|
|
74
|
+
- **Project setup command**: Runs pre-build to prepare any external dependencies
|
|
75
|
+
- **Port**: The network port the server will use
|
|
76
|
+
- **Store settings**: Use Mastra Cloud's built-in [LibSQLStore](/docs/server-db/storage) storage
|
|
68
77
|
- **Deploy Project**: Starts the deployment process
|
|
69
78
|
|
|
70
|
-
|
|
79
|
+
</StepItem>
|
|
80
|
+
|
|
81
|
+
<StepItem>
|
|
82
|
+
|
|
83
|
+
Click **Deploy Project** to create and deploy your application using the configuration you've set.
|
|
71
84
|
|
|
72
|
-
|
|
85
|
+
</StepItem>
|
|
73
86
|
|
|
74
87
|
</Steps>
|
|
75
88
|
|
|
@@ -77,7 +90,7 @@ Click **Deploy Project** to create and deploy your application using the configu
|
|
|
77
90
|
|
|
78
91
|
After a successful deployment you'll be shown the **Overview** screen where you can view your project's status, domains, latest deployments and connected agents and workflows.
|
|
79
92
|
|
|
80
|
-

|
|
81
94
|
|
|
82
95
|
## Continuous integration
|
|
83
96
|
|
|
@@ -85,7 +98,7 @@ Your project is now configured with automatic deployments which occur whenever y
|
|
|
85
98
|
|
|
86
99
|
## Testing your application
|
|
87
100
|
|
|
88
|
-
After a successful deployment you can test your agents and workflows from the [Playground](/docs/mastra-cloud/dashboard#playground) in Mastra Cloud, or interact with them using our [Client SDK](/docs/
|
|
101
|
+
After a successful deployment you can test your agents and workflows from the [Playground](/docs/mastra-cloud/dashboard#playground) in Mastra Cloud, or interact with them using our [Client SDK](/docs/server-db/mastra-client).
|
|
89
102
|
|
|
90
103
|
## Next steps
|
|
91
104
|
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Memory
|
|
2
|
+
title: "Memory overview | Memory | Mastra Docs"
|
|
3
3
|
description: "Learn how Mastra's memory system works with working memory, conversation history, and semantic recall."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import { Steps } from "nextra/components";
|
|
7
|
-
|
|
8
6
|
# Memory overview
|
|
9
7
|
|
|
10
8
|
Memory in Mastra helps agents manage context across conversations by condensing relevant information into the language model's context window.
|
|
@@ -23,27 +21,27 @@ npm install @mastra/core @mastra/memory @mastra/libsql
|
|
|
23
21
|
|
|
24
22
|
Then add a storage adapter to the main Mastra instance. Any agent with memory enabled will use this shared storage to store and recall interactions.
|
|
25
23
|
|
|
26
|
-
```typescript {6-8}
|
|
24
|
+
```typescript {6-8} title="src/mastra/index.ts" showLineNumbers copy
|
|
27
25
|
import { Mastra } from "@mastra/core/mastra";
|
|
28
26
|
import { LibSQLStore } from "@mastra/libsql";
|
|
29
27
|
|
|
30
28
|
export const mastra = new Mastra({
|
|
31
29
|
// ...
|
|
32
30
|
storage: new LibSQLStore({
|
|
33
|
-
url: ":memory:"
|
|
34
|
-
})
|
|
31
|
+
url: ":memory:",
|
|
32
|
+
}),
|
|
35
33
|
});
|
|
36
34
|
```
|
|
37
35
|
|
|
38
36
|
Now, enable memory by passing a `Memory` instance to the agent's `memory` parameter:
|
|
39
37
|
|
|
40
|
-
```typescript {3-5}
|
|
38
|
+
```typescript {3-5} title="src/mastra/agents/test-agent.ts" showLineNumbers copy
|
|
41
39
|
import { Memory } from "@mastra/memory";
|
|
42
40
|
import { Agent } from "@mastra/core/agent";
|
|
43
41
|
|
|
44
42
|
export const testAgent = new Agent({
|
|
45
43
|
// ...
|
|
46
|
-
memory: new Memory()
|
|
44
|
+
memory: new Memory(),
|
|
47
45
|
});
|
|
48
46
|
```
|
|
49
47
|
|
|
@@ -53,23 +51,23 @@ That memory instance has options you can configure for working memory, conversat
|
|
|
53
51
|
|
|
54
52
|
Mastra supports three types of memory: working memory, conversation history, and semantic recall.
|
|
55
53
|
|
|
56
|
-
[**Working memory**](./working-memory
|
|
54
|
+
[**Working memory**](./working-memory) stores persistent user-specific details such as names, preferences, goals, and other structured data. (Compare this to ChatGPT where you can ask it to tell you about yourself). This is implemented as a block of Markdown text that the agent is able to update over time (or alternately, as a Zod schema)
|
|
57
55
|
|
|
58
|
-
[**Conversation history**](./conversation-history
|
|
56
|
+
[**Conversation history**](./conversation-history) captures recent messages from the current conversation, providing short-term continuity and maintaining dialogue flow.
|
|
59
57
|
|
|
60
|
-
[**Semantic recall**](./semantic-recall
|
|
58
|
+
[**Semantic recall**](./semantic-recall) retrieves older messages from past conversations based on semantic relevance. Matches are retrieved using vector search and can include surrounding context for better comprehension.
|
|
61
59
|
|
|
62
|
-
Mastra combines all memory types into a single context window. If the total exceeds the model’s token limit, use [memory processors](./memory-processors
|
|
60
|
+
Mastra combines all memory types into a single context window. If the total exceeds the model’s token limit, use [memory processors](./memory-processors) to trim or filter messages before sending them to the model.
|
|
63
61
|
|
|
64
62
|
## Scoping memory with threads and resources
|
|
65
63
|
|
|
66
|
-
All memory types are [
|
|
64
|
+
All memory types are [Thread-scoped](./working-memory#thread-scoped-memory-default) by default, meaning they apply only to a single conversation. [resource-scoped](./working-memory#resource-scoped-memory) configuration allows working memory and semantic recall to persist across all threads that use the same user or entity.
|
|
67
65
|
|
|
68
66
|
## Memory Storage Adapters
|
|
69
67
|
|
|
70
68
|
To persist and recall information between conversations, memory requires a storage adapter.
|
|
71
69
|
|
|
72
|
-
Supported options include [LibSQL](/docs/memory/storage/memory-with-libsql
|
|
70
|
+
Supported options include [LibSQL](/docs/memory/storage/memory-with-libsql), [MongoDB](/examples/memory/memory-with-mongodb), [Postgres](/docs/memory/storage/memory-with-pg), and [Upstash](/docs/memory/storage/memory-with-upstash)
|
|
73
71
|
|
|
74
72
|
We use LibSQL out of the box because it is file-based or in-memory, so it is easy to install and works well with the playground.
|
|
75
73
|
|
|
@@ -81,7 +79,7 @@ Agents can be configured with their own dedicated storage, keeping tasks, conver
|
|
|
81
79
|
|
|
82
80
|
To assign dedicated storage to an agent, install and import the required dependency and pass a `storage` instance to the `Memory` constructor:
|
|
83
81
|
|
|
84
|
-
```typescript {3, 9-11}
|
|
82
|
+
```typescript {3, 9-11} title="src/mastra/agents/test-agent.ts" showLineNumbers copy
|
|
85
83
|
import { Memory } from "@mastra/memory";
|
|
86
84
|
import { Agent } from "@mastra/core/agent";
|
|
87
85
|
import { LibSQLStore } from "@mastra/libsql";
|
|
@@ -91,10 +89,10 @@ export const testAgent = new Agent({
|
|
|
91
89
|
memory: new Memory({
|
|
92
90
|
// ...
|
|
93
91
|
storage: new LibSQLStore({
|
|
94
|
-
url: "file:agent-memory.db"
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
})
|
|
92
|
+
url: "file:agent-memory.db",
|
|
93
|
+
}),
|
|
94
|
+
// ...
|
|
95
|
+
}),
|
|
98
96
|
});
|
|
99
97
|
```
|
|
100
98
|
|
|
@@ -104,16 +102,16 @@ If tracing is enabled in your Mastra deployment and memory is configured either
|
|
|
104
102
|
|
|
105
103
|
This is helpful for debugging, understanding agent decisions, and verifying that the agent is retrieving the right information for each request.
|
|
106
104
|
|
|
107
|
-
For more details on enabling and configuring tracing, see [Tracing](../observability/tracing).
|
|
105
|
+
For more details on enabling and configuring tracing, see [AI Tracing](../observability/ai-tracing/overview).
|
|
108
106
|
|
|
109
107
|
## Local development with LibSQL
|
|
110
108
|
|
|
111
109
|
For local development with `LibSQLStore`, you can inspect stored memory using the [SQLite Viewer](https://marketplace.visualstudio.com/items?itemName=qwtel.sqlite-viewer) extension in VS Code.
|
|
112
110
|
|
|
113
|
-

|
|
114
112
|
|
|
115
113
|
## Next Steps
|
|
116
114
|
|
|
117
|
-
Now that you understand the core concepts, continue to [semantic recall](./semantic-recall
|
|
115
|
+
Now that you understand the core concepts, continue to [semantic recall](./semantic-recall) to learn how to add RAG memory to your Mastra agents.
|
|
118
116
|
|
|
119
|
-
Alternatively you can visit the [configuration reference](
|
|
117
|
+
Alternatively you can visit the [configuration reference](/reference/memory/memory-class) for available options.
|
|
@@ -11,13 +11,13 @@ If you ask your friend what they did last weekend, they will search in their mem
|
|
|
11
11
|
|
|
12
12
|
## How Semantic Recall Works
|
|
13
13
|
|
|
14
|
-
Semantic recall is RAG-based search that helps agents maintain context across longer interactions when messages are no longer within [recent conversation history](./
|
|
14
|
+
Semantic recall is RAG-based search that helps agents maintain context across longer interactions when messages are no longer within [recent conversation history](./conversation-history).
|
|
15
15
|
|
|
16
16
|
It uses vector embeddings of messages for similarity search, integrates with various vector stores, and has configurable context windows around retrieved messages.
|
|
17
17
|
|
|
18
18
|
<br />
|
|
19
19
|
<img
|
|
20
|
-
src="/
|
|
20
|
+
src="/img/semantic-recall.png"
|
|
21
21
|
alt="Diagram showing Mastra Memory semantic recall"
|
|
22
22
|
width={800}
|
|
23
23
|
/>
|
|
@@ -69,7 +69,7 @@ Note: currently, `scope: 'resource'` for semantic recall is supported by the fol
|
|
|
69
69
|
|
|
70
70
|
### Storage configuration
|
|
71
71
|
|
|
72
|
-
Semantic recall relies on a [storage and vector db](/reference/memory/
|
|
72
|
+
Semantic recall relies on a [storage and vector db](/reference/memory/memory-class) to store messages and their embeddings.
|
|
73
73
|
|
|
74
74
|
```ts {8-17}
|
|
75
75
|
import { Memory } from "@mastra/memory";
|
|
@@ -92,14 +92,14 @@ const agent = new Agent({
|
|
|
92
92
|
|
|
93
93
|
**Storage/vector code Examples**:
|
|
94
94
|
|
|
95
|
-
- [LibSQL](/docs/memory/storage/memory-with-libsql
|
|
96
|
-
- [MongoDB](/
|
|
97
|
-
- [Postgres](/docs/memory/storage/memory-with-pg
|
|
98
|
-
- [Upstash](/docs/memory/storage/memory-with-upstash
|
|
95
|
+
- [LibSQL](/docs/memory/storage/memory-with-libsql)
|
|
96
|
+
- [MongoDB](/examples/memory/memory-with-mongodb)
|
|
97
|
+
- [Postgres](/docs/memory/storage/memory-with-pg)
|
|
98
|
+
- [Upstash](/docs/memory/storage/memory-with-upstash)
|
|
99
99
|
|
|
100
100
|
### Embedder configuration
|
|
101
101
|
|
|
102
|
-
Semantic recall relies on an [embedding model](/reference/memory/
|
|
102
|
+
Semantic recall relies on an [embedding model](/reference/memory/memory-class) to convert messages into embeddings. Mastra supports embedding models through the model router using `provider/model` strings, or you can use any [embedding model](https://sdk.vercel.ai/docs/ai-sdk-core/embeddings) compatible with the AI SDK.
|
|
103
103
|
|
|
104
104
|
#### Using the Model Router (Recommended)
|
|
105
105
|
|
|
@@ -118,6 +118,7 @@ const agent = new Agent({
|
|
|
118
118
|
```
|
|
119
119
|
|
|
120
120
|
Supported embedding models:
|
|
121
|
+
|
|
121
122
|
- **OpenAI**: `text-embedding-3-small`, `text-embedding-3-large`, `text-embedding-ada-002`
|
|
122
123
|
- **Google**: `gemini-embedding-001`, `text-embedding-004`
|
|
123
124
|
|
|
@@ -186,10 +187,10 @@ const agent = new Agent({
|
|
|
186
187
|
topK: 5,
|
|
187
188
|
messageRange: 2,
|
|
188
189
|
indexConfig: {
|
|
189
|
-
type:
|
|
190
|
-
metric:
|
|
191
|
-
m: 16,
|
|
192
|
-
efConstruction: 64,
|
|
190
|
+
type: "hnsw", // Use HNSW for better performance
|
|
191
|
+
metric: "dotproduct", // Best for OpenAI embeddings
|
|
192
|
+
m: 16, // Number of bi-directional links (default: 16)
|
|
193
|
+
efConstruction: 64, // Size of candidate list during construction (default: 64)
|
|
193
194
|
},
|
|
194
195
|
},
|
|
195
196
|
},
|
|
@@ -224,4 +225,4 @@ You might want to disable semantic recall in scenarios like:
|
|
|
224
225
|
|
|
225
226
|
When tracing is enabled, any messages retrieved via semantic recall will appear in the agent’s trace output, alongside recent conversation history (if configured).
|
|
226
227
|
|
|
227
|
-
For more info on viewing message traces, see [Viewing Retrieved Messages](./overview
|
|
228
|
+
For more info on viewing message traces, see [Viewing Retrieved Messages](./overview#viewing-retrieved-messages).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "Memory with LibSQL | Memory | Mastra Docs"
|
|
3
3
|
description: Example for how to use Mastra's memory system with LibSQL storage and vector database backend.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -11,7 +11,7 @@ This example demonstrates how to use Mastra's memory system with LibSQL as the s
|
|
|
11
11
|
|
|
12
12
|
This example uses the `openai` model. Make sure to add `OPENAI_API_KEY` to your `.env` file.
|
|
13
13
|
|
|
14
|
-
```bash
|
|
14
|
+
```bash title=".env" copy
|
|
15
15
|
OPENAI_API_KEY=<your-api-key>
|
|
16
16
|
```
|
|
17
17
|
|
|
@@ -25,7 +25,7 @@ npm install @mastra/libsql
|
|
|
25
25
|
|
|
26
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
27
|
|
|
28
|
-
```typescript
|
|
28
|
+
```typescript title="src/mastra/agents/example-libsql-agent.ts" showLineNumbers copy
|
|
29
29
|
import { Memory } from "@mastra/memory";
|
|
30
30
|
import { Agent } from "@mastra/core/agent";
|
|
31
31
|
import { openai } from "@ai-sdk/openai";
|
|
@@ -33,18 +33,17 @@ import { LibSQLStore } from "@mastra/libsql";
|
|
|
33
33
|
|
|
34
34
|
export const libsqlAgent = new Agent({
|
|
35
35
|
name: "libsql-agent",
|
|
36
|
-
instructions:
|
|
36
|
+
instructions:
|
|
37
|
+
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
37
38
|
model: openai("gpt-4o"),
|
|
38
39
|
memory: new Memory({
|
|
39
40
|
storage: new LibSQLStore({
|
|
40
|
-
url: "file:libsql-agent.db"
|
|
41
|
+
url: "file:libsql-agent.db",
|
|
41
42
|
}),
|
|
42
43
|
options: {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
})
|
|
44
|
+
generateTitle: true,
|
|
45
|
+
},
|
|
46
|
+
}),
|
|
48
47
|
});
|
|
49
48
|
```
|
|
50
49
|
|
|
@@ -60,7 +59,7 @@ npm install @mastra/fastembed
|
|
|
60
59
|
|
|
61
60
|
Add the following to your agent:
|
|
62
61
|
|
|
63
|
-
```typescript
|
|
62
|
+
```typescript title="src/mastra/agents/example-libsql-agent.ts" showLineNumbers copy
|
|
64
63
|
import { Memory } from "@mastra/memory";
|
|
65
64
|
import { Agent } from "@mastra/core/agent";
|
|
66
65
|
import { openai } from "@ai-sdk/openai";
|
|
@@ -69,27 +68,28 @@ import { fastembed } from "@mastra/fastembed";
|
|
|
69
68
|
|
|
70
69
|
export const libsqlAgent = new Agent({
|
|
71
70
|
name: "libsql-agent",
|
|
72
|
-
instructions:
|
|
71
|
+
instructions:
|
|
72
|
+
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
73
73
|
model: openai("gpt-4o"),
|
|
74
74
|
memory: new Memory({
|
|
75
75
|
storage: new LibSQLStore({
|
|
76
|
-
url: "file:libsql-agent.db"
|
|
76
|
+
url: "file:libsql-agent.db",
|
|
77
77
|
}),
|
|
78
78
|
vector: new LibSQLVector({
|
|
79
|
-
connectionUrl: "file:libsql-agent.db"
|
|
79
|
+
connectionUrl: "file:libsql-agent.db",
|
|
80
80
|
}),
|
|
81
81
|
embedder: fastembed,
|
|
82
82
|
options: {
|
|
83
83
|
lastMessages: 10,
|
|
84
84
|
semanticRecall: {
|
|
85
85
|
topK: 3,
|
|
86
|
-
messageRange: 2
|
|
86
|
+
messageRange: 2,
|
|
87
87
|
},
|
|
88
88
|
threads: {
|
|
89
|
-
generateTitle: true
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
})
|
|
89
|
+
generateTitle: true,
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
}),
|
|
93
93
|
});
|
|
94
94
|
```
|
|
95
95
|
|
|
@@ -97,7 +97,7 @@ export const libsqlAgent = new Agent({
|
|
|
97
97
|
|
|
98
98
|
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.
|
|
99
99
|
|
|
100
|
-
```typescript
|
|
100
|
+
```typescript title="src/test-libsql-agent.ts" showLineNumbers copy
|
|
101
101
|
import "dotenv/config";
|
|
102
102
|
|
|
103
103
|
import { mastra } from "./mastra";
|
|
@@ -110,8 +110,8 @@ const agent = mastra.getAgent("libsqlAgent");
|
|
|
110
110
|
const message = await agent.stream("My name is Mastra", {
|
|
111
111
|
memory: {
|
|
112
112
|
thread: threadId,
|
|
113
|
-
resource: resourceId
|
|
114
|
-
}
|
|
113
|
+
resource: resourceId,
|
|
114
|
+
},
|
|
115
115
|
});
|
|
116
116
|
|
|
117
117
|
await message.textStream.pipeTo(new WritableStream());
|
|
@@ -119,15 +119,15 @@ await message.textStream.pipeTo(new WritableStream());
|
|
|
119
119
|
const stream = await agent.stream("What's my name?", {
|
|
120
120
|
memory: {
|
|
121
121
|
thread: threadId,
|
|
122
|
-
resource: resourceId
|
|
122
|
+
resource: resourceId,
|
|
123
123
|
},
|
|
124
124
|
memoryOptions: {
|
|
125
125
|
lastMessages: 5,
|
|
126
126
|
semanticRecall: {
|
|
127
127
|
topK: 3,
|
|
128
|
-
messageRange: 2
|
|
129
|
-
}
|
|
130
|
-
}
|
|
128
|
+
messageRange: 2,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
131
|
});
|
|
132
132
|
|
|
133
133
|
for await (const chunk of stream.textStream) {
|
|
@@ -135,7 +135,6 @@ for await (const chunk of stream.textStream) {
|
|
|
135
135
|
}
|
|
136
136
|
```
|
|
137
137
|
|
|
138
|
-
|
|
139
138
|
## Related
|
|
140
139
|
|
|
141
|
-
- [Calling Agents](
|
|
140
|
+
- [Calling Agents](/examples/agents/calling-agents)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "Memory with Postgres | Memory | Mastra Docs"
|
|
3
3
|
description: Example for how to use Mastra's memory system with PostgreSQL storage and vector capabilities.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -11,7 +11,7 @@ This example demonstrates how to use Mastra's memory system with PostgreSQL as t
|
|
|
11
11
|
|
|
12
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
13
|
|
|
14
|
-
```bash
|
|
14
|
+
```bash title=".env" copy
|
|
15
15
|
OPENAI_API_KEY=<your-api-key>
|
|
16
16
|
DATABASE_URL=<your-connection-string>
|
|
17
17
|
```
|
|
@@ -26,7 +26,7 @@ npm install @mastra/pg
|
|
|
26
26
|
|
|
27
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
28
|
|
|
29
|
-
```typescript
|
|
29
|
+
```typescript title="src/mastra/agents/example-pg-agent.ts" showLineNumbers copy
|
|
30
30
|
import { Memory } from "@mastra/memory";
|
|
31
31
|
import { Agent } from "@mastra/core/agent";
|
|
32
32
|
import { openai } from "@ai-sdk/openai";
|
|
@@ -34,18 +34,17 @@ import { PostgresStore } from "@mastra/pg";
|
|
|
34
34
|
|
|
35
35
|
export const pgAgent = new Agent({
|
|
36
36
|
name: "pg-agent",
|
|
37
|
-
instructions:
|
|
37
|
+
instructions:
|
|
38
|
+
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
38
39
|
model: openai("gpt-4o"),
|
|
39
40
|
memory: new Memory({
|
|
40
41
|
storage: new PostgresStore({
|
|
41
|
-
connectionString: process.env.DATABASE_URL
|
|
42
|
+
connectionString: process.env.DATABASE_URL!,
|
|
42
43
|
}),
|
|
43
44
|
options: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
})
|
|
45
|
+
generateTitle: true,
|
|
46
|
+
},
|
|
47
|
+
}),
|
|
49
48
|
});
|
|
50
49
|
```
|
|
51
50
|
|
|
@@ -61,7 +60,7 @@ npm install @mastra/fastembed
|
|
|
61
60
|
|
|
62
61
|
Add the following to your agent:
|
|
63
62
|
|
|
64
|
-
```typescript
|
|
63
|
+
```typescript title="src/mastra/agents/example-pg-agent.ts" showLineNumbers copy
|
|
65
64
|
import { Memory } from "@mastra/memory";
|
|
66
65
|
import { Agent } from "@mastra/core/agent";
|
|
67
66
|
import { openai } from "@ai-sdk/openai";
|
|
@@ -70,24 +69,25 @@ import { fastembed } from "@mastra/fastembed";
|
|
|
70
69
|
|
|
71
70
|
export const pgAgent = new Agent({
|
|
72
71
|
name: "pg-agent",
|
|
73
|
-
instructions:
|
|
72
|
+
instructions:
|
|
73
|
+
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
74
74
|
model: openai("gpt-4o"),
|
|
75
75
|
memory: new Memory({
|
|
76
76
|
storage: new PostgresStore({
|
|
77
|
-
connectionString: process.env.DATABASE_URL
|
|
77
|
+
connectionString: process.env.DATABASE_URL!,
|
|
78
78
|
}),
|
|
79
79
|
vector: new PgVector({
|
|
80
|
-
connectionString: process.env.DATABASE_URL
|
|
80
|
+
connectionString: process.env.DATABASE_URL!,
|
|
81
81
|
}),
|
|
82
82
|
embedder: fastembed,
|
|
83
83
|
options: {
|
|
84
84
|
lastMessages: 10,
|
|
85
85
|
semanticRecall: {
|
|
86
86
|
topK: 3,
|
|
87
|
-
messageRange: 2
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
})
|
|
87
|
+
messageRange: 2,
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
}),
|
|
91
91
|
});
|
|
92
92
|
```
|
|
93
93
|
|
|
@@ -95,7 +95,7 @@ export const pgAgent = new Agent({
|
|
|
95
95
|
|
|
96
96
|
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.
|
|
97
97
|
|
|
98
|
-
```typescript
|
|
98
|
+
```typescript title="src/test-pg-agent.ts" showLineNumbers copy
|
|
99
99
|
import "dotenv/config";
|
|
100
100
|
|
|
101
101
|
import { mastra } from "./mastra";
|
|
@@ -108,8 +108,8 @@ const agent = mastra.getAgent("pgAgent");
|
|
|
108
108
|
const message = await agent.stream("My name is Mastra", {
|
|
109
109
|
memory: {
|
|
110
110
|
thread: threadId,
|
|
111
|
-
resource: resourceId
|
|
112
|
-
}
|
|
111
|
+
resource: resourceId,
|
|
112
|
+
},
|
|
113
113
|
});
|
|
114
114
|
|
|
115
115
|
await message.textStream.pipeTo(new WritableStream());
|
|
@@ -117,15 +117,15 @@ await message.textStream.pipeTo(new WritableStream());
|
|
|
117
117
|
const stream = await agent.stream("What's my name?", {
|
|
118
118
|
memory: {
|
|
119
119
|
thread: threadId,
|
|
120
|
-
resource: resourceId
|
|
120
|
+
resource: resourceId,
|
|
121
121
|
},
|
|
122
122
|
memoryOptions: {
|
|
123
123
|
lastMessages: 5,
|
|
124
124
|
semanticRecall: {
|
|
125
125
|
topK: 3,
|
|
126
|
-
messageRange: 2
|
|
127
|
-
}
|
|
128
|
-
}
|
|
126
|
+
messageRange: 2,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
129
|
});
|
|
130
130
|
|
|
131
131
|
for await (const chunk of stream.textStream) {
|
|
@@ -135,4 +135,4 @@ for await (const chunk of stream.textStream) {
|
|
|
135
135
|
|
|
136
136
|
## Related
|
|
137
137
|
|
|
138
|
-
- [Calling Agents](
|
|
138
|
+
- [Calling Agents](/examples/agents/calling-agents)
|