@mastra/mcp-docs-server 1.0.0-beta.11 → 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 +29 -29
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +51 -51
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +180 -180
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +68 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +331 -331
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +31 -31
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +41 -41
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +24 -24
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +24 -24
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +39 -39
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +96 -96
- package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Freact.md +49 -2
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +122 -122
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +39 -39
- package/.docs/organized/changelogs/create-mastra.md +31 -31
- package/.docs/organized/changelogs/mastra.md +51 -51
- package/.docs/organized/code-examples/agent-v6.md +151 -0
- package/.docs/organized/code-examples/ai-elements.md +1 -1
- package/.docs/organized/code-examples/quick-start.md +0 -4
- package/.docs/organized/code-examples/stock-price-tool.md +21 -2
- package/.docs/raw/agents/adding-voice.mdx +2 -3
- package/.docs/raw/agents/agent-approval.mdx +139 -6
- package/.docs/raw/agents/agent-memory.mdx +24 -32
- package/.docs/raw/agents/guardrails.mdx +61 -51
- package/.docs/raw/agents/networks.mdx +9 -13
- package/.docs/raw/agents/overview.mdx +40 -24
- package/.docs/raw/agents/processors.mdx +20 -19
- package/.docs/raw/agents/structured-output.mdx +11 -7
- package/.docs/raw/agents/using-tools.mdx +5 -6
- package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
- package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
- package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -2
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
- package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +3 -4
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -3
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +2 -3
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -2
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +2 -3
- package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
- package/.docs/raw/deployment/cloud-providers.mdx +20 -0
- package/.docs/raw/deployment/{building-mastra.mdx → mastra-server.mdx} +5 -5
- package/.docs/raw/deployment/monorepo.mdx +23 -44
- package/.docs/raw/deployment/overview.mdx +32 -50
- package/.docs/raw/deployment/web-framework.mdx +15 -19
- package/.docs/raw/evals/custom-scorers.mdx +9 -6
- package/.docs/raw/evals/overview.mdx +3 -6
- package/.docs/raw/evals/running-in-ci.mdx +2 -2
- package/.docs/raw/getting-started/manual-install.mdx +20 -20
- package/.docs/raw/getting-started/mcp-docs-server.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +10 -1
- package/.docs/raw/getting-started/studio.mdx +1 -1
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +4 -4
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1033 -79
- 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/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +12 -15
- package/.docs/raw/guides/deployment/index.mdx +32 -0
- package/.docs/raw/guides/deployment/inngest.mdx +386 -0
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
- package/.docs/raw/guides/getting-started/astro.mdx +292 -451
- package/.docs/raw/guides/getting-started/express.mdx +72 -153
- package/.docs/raw/guides/getting-started/hono.mdx +227 -0
- package/.docs/raw/guides/getting-started/next-js.mdx +170 -61
- 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 +317 -147
- package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
- package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
- package/.docs/raw/guides/guide/research-assistant.mdx +17 -17
- 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/client.mdx +17 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +6 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +0 -2
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
- package/.docs/raw/index.mdx +2 -2
- package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/dashboard.mdx +2 -6
- package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/observability.mdx +1 -5
- package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/overview.mdx +2 -6
- package/.docs/raw/{deployment/mastra-cloud → mastra-cloud}/setting-up.mdx +8 -7
- 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 +10 -11
- package/.docs/raw/observability/overview.mdx +0 -1
- package/.docs/raw/observability/tracing/bridges/otel.mdx +2 -2
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +1 -1
- 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 +18 -31
- package/.docs/raw/rag/graph-rag.mdx +220 -0
- package/.docs/raw/rag/overview.mdx +2 -3
- package/.docs/raw/rag/retrieval.mdx +34 -51
- package/.docs/raw/rag/vector-databases.mdx +29 -25
- 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 +3 -3
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +3 -3
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +3 -3
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +3 -3
- package/.docs/raw/reference/agents/getLLM.mdx +3 -3
- package/.docs/raw/reference/agents/getMemory.mdx +3 -3
- package/.docs/raw/reference/agents/getModel.mdx +3 -3
- 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 +3 -3
- 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 +3 -3
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/network-route.mdx +3 -3
- 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 +127 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +107 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +3 -3
- package/.docs/raw/reference/auth/auth0.mdx +2 -3
- package/.docs/raw/reference/auth/clerk.mdx +2 -3
- package/.docs/raw/reference/auth/firebase.mdx +3 -5
- package/.docs/raw/reference/auth/jwt.mdx +2 -3
- package/.docs/raw/reference/auth/supabase.mdx +2 -3
- package/.docs/raw/reference/auth/workos.mdx +2 -3
- package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
- package/.docs/raw/reference/cli/mastra.mdx +10 -10
- package/.docs/raw/reference/client-js/agents.mdx +1 -2
- package/.docs/raw/reference/client-js/mastra-client.mdx +2 -2
- package/.docs/raw/reference/client-js/workflows.mdx +20 -0
- 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 +3 -3
- package/.docs/raw/reference/core/getStorage.mdx +2 -2
- package/.docs/raw/reference/core/getStoredAgentById.mdx +3 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
- package/.docs/raw/reference/core/getVector.mdx +1 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listLogs.mdx +1 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
- package/.docs/raw/reference/core/listMCPServers.mdx +1 -1
- package/.docs/raw/reference/core/listMemory.mdx +2 -2
- package/.docs/raw/reference/core/listStoredAgents.mdx +4 -4
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/setLogger.mdx +1 -1
- package/.docs/raw/reference/core/setStorage.mdx +2 -2
- package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -2
- package/.docs/raw/reference/deployer/deployer.mdx +0 -1
- package/.docs/raw/reference/deployer/netlify.mdx +1 -1
- package/.docs/raw/reference/deployer/vercel.mdx +2 -4
- package/.docs/raw/reference/evals/answer-relevancy.mdx +1 -1
- package/.docs/raw/reference/evals/answer-similarity.mdx +1 -1
- package/.docs/raw/reference/evals/bias.mdx +1 -1
- package/.docs/raw/reference/evals/completeness.mdx +1 -1
- package/.docs/raw/reference/evals/content-similarity.mdx +1 -1
- package/.docs/raw/reference/evals/context-precision.mdx +1 -1
- package/.docs/raw/reference/evals/faithfulness.mdx +1 -1
- package/.docs/raw/reference/evals/hallucination.mdx +1 -1
- package/.docs/raw/reference/evals/keyword-coverage.mdx +1 -1
- package/.docs/raw/reference/evals/prompt-alignment.mdx +7 -7
- package/.docs/raw/reference/evals/textual-difference.mdx +1 -1
- package/.docs/raw/reference/evals/tone-consistency.mdx +1 -1
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +10 -10
- package/.docs/raw/reference/evals/toxicity.mdx +1 -1
- package/.docs/raw/reference/logging/pino-logger.mdx +7 -8
- package/.docs/raw/reference/memory/createThread.mdx +2 -2
- package/.docs/raw/reference/memory/deleteMessages.mdx +2 -2
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +2 -2
- package/.docs/raw/reference/memory/memory-class.mdx +3 -3
- package/.docs/raw/reference/memory/query.mdx +2 -2
- package/.docs/raw/reference/memory/recall.mdx +2 -2
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
- package/.docs/raw/reference/processors/language-detector.mdx +2 -2
- package/.docs/raw/reference/processors/message-history-processor.mdx +2 -2
- package/.docs/raw/reference/processors/moderation-processor.mdx +3 -3
- package/.docs/raw/reference/processors/pii-detector.mdx +3 -3
- package/.docs/raw/reference/processors/processor-interface.mdx +13 -13
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +2 -2
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +2 -2
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +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/database-config.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 +14 -14
- package/.docs/raw/reference/server/express-adapter.mdx +10 -11
- package/.docs/raw/reference/server/hono-adapter.mdx +10 -11
- package/.docs/raw/reference/server/mastra-server.mdx +22 -22
- package/.docs/raw/reference/server/routes.mdx +28 -1
- 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/{server-db/storage.mdx → reference/storage/overview.mdx} +13 -111
- 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 +27 -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 +35 -22
- 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 +24 -5
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +3 -3
- package/.docs/raw/reference/tools/vector-query-tool.mdx +4 -4
- 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 +143 -0
- 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 +37 -2
- 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 +17 -3
- package/.docs/raw/{auth → server/auth}/auth0.mdx +20 -14
- package/.docs/raw/{auth → server/auth}/clerk.mdx +16 -9
- package/.docs/raw/{auth → server/auth}/firebase.mdx +21 -15
- package/.docs/raw/{auth → server/auth}/index.mdx +6 -6
- package/.docs/raw/{auth → server/auth}/jwt.mdx +14 -7
- package/.docs/raw/{auth → server/auth}/supabase.mdx +16 -9
- package/.docs/raw/{auth → server/auth}/workos.mdx +19 -13
- package/.docs/raw/{server-db → server}/custom-adapters.mdx +13 -13
- package/.docs/raw/{server-db → server}/custom-api-routes.mdx +3 -5
- package/.docs/raw/{server-db → server}/mastra-client.mdx +26 -15
- package/.docs/raw/{server-db → server}/mastra-server.mdx +8 -8
- package/.docs/raw/{server-db → server}/middleware.mdx +9 -9
- package/.docs/raw/{server-db → server}/request-context.mdx +33 -32
- package/.docs/raw/{server-db → server}/server-adapters.mdx +12 -12
- 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 +10 -11
- 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 +172 -18
- 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 +34 -23
- 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 +23 -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/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
- package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
- 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
|
@@ -35,18 +35,17 @@ Mastra includes several processors for common use cases. You can also create cus
|
|
|
35
35
|
|
|
36
36
|
Import and instantiate the processor, then pass it to the agent's `inputProcessors` or `outputProcessors` array:
|
|
37
37
|
|
|
38
|
-
```typescript {
|
|
39
|
-
import { openai } from "@ai-sdk/openai";
|
|
38
|
+
```typescript {2,8-14} title="src/mastra/agents/moderated-agent.ts"
|
|
40
39
|
import { Agent } from "@mastra/core/agent";
|
|
41
40
|
import { ModerationProcessor } from "@mastra/core/processors";
|
|
42
41
|
|
|
43
42
|
export const moderatedAgent = new Agent({
|
|
44
43
|
name: "moderated-agent",
|
|
45
44
|
instructions: "You are a helpful assistant",
|
|
46
|
-
model: openai
|
|
45
|
+
model: "openai/gpt-4o-mini",
|
|
47
46
|
inputProcessors: [
|
|
48
47
|
new ModerationProcessor({
|
|
49
|
-
model: openai
|
|
48
|
+
model: "openai/gpt-4.1-nano",
|
|
50
49
|
categories: ["hate", "harassment", "violence"],
|
|
51
50
|
threshold: 0.7,
|
|
52
51
|
strategy: "block",
|
|
@@ -77,7 +76,7 @@ When memory is enabled on an agent, memory processors are automatically added to
|
|
|
77
76
|
```
|
|
78
77
|
[Memory Processors] → [Your inputProcessors]
|
|
79
78
|
```
|
|
80
|
-
Memory loads
|
|
79
|
+
Memory loads message history first, then your processors run.
|
|
81
80
|
|
|
82
81
|
**Output processors:**
|
|
83
82
|
```
|
|
@@ -93,7 +92,7 @@ Custom processors implement the `Processor` interface:
|
|
|
93
92
|
|
|
94
93
|
### Custom input processor
|
|
95
94
|
|
|
96
|
-
```typescript title="src/mastra/processors/custom-input.ts"
|
|
95
|
+
```typescript title="src/mastra/processors/custom-input.ts"
|
|
97
96
|
import type {
|
|
98
97
|
Processor,
|
|
99
98
|
MastraDBMessage,
|
|
@@ -141,7 +140,7 @@ The framework handles both return formats, so modifying system messages is optio
|
|
|
141
140
|
|
|
142
141
|
To modify system messages (e.g., trim verbose prompts for smaller models), return an object with both `messages` and `systemMessages`:
|
|
143
142
|
|
|
144
|
-
```typescript title="src/mastra/processors/system-trimmer.ts"
|
|
143
|
+
```typescript title="src/mastra/processors/system-trimmer.ts"
|
|
145
144
|
import type { Processor, CoreMessage, MastraDBMessage } from "@mastra/core";
|
|
146
145
|
|
|
147
146
|
export class SystemTrimmer implements Processor {
|
|
@@ -174,7 +173,7 @@ This is useful for:
|
|
|
174
173
|
|
|
175
174
|
While `processInput` runs once at the start of agent execution, `processInputStep` runs at **each step** of the agentic loop (including tool call continuations). This enables per-step configuration changes like dynamic model switching or tool choice modifications.
|
|
176
175
|
|
|
177
|
-
```typescript title="src/mastra/processors/step-processor.ts"
|
|
176
|
+
```typescript title="src/mastra/processors/step-processor.ts"
|
|
178
177
|
import type { Processor, ProcessInputStepArgs, ProcessInputStepResult } from "@mastra/core";
|
|
179
178
|
|
|
180
179
|
export class DynamicModelProcessor implements Processor {
|
|
@@ -247,7 +246,7 @@ await agent.generate({
|
|
|
247
246
|
|
|
248
247
|
### Custom output processor
|
|
249
248
|
|
|
250
|
-
```typescript title="src/mastra/processors/custom-output.ts"
|
|
249
|
+
```typescript title="src/mastra/processors/custom-output.ts"
|
|
251
250
|
import type {
|
|
252
251
|
Processor,
|
|
253
252
|
MastraDBMessage,
|
|
@@ -292,14 +291,13 @@ Mastra provides utility processors for common tasks:
|
|
|
292
291
|
|
|
293
292
|
Prevents context window overflow by removing older messages when the total token count exceeds a specified limit.
|
|
294
293
|
|
|
295
|
-
```typescript
|
|
294
|
+
```typescript {7-10}
|
|
296
295
|
import { Agent } from "@mastra/core/agent";
|
|
297
296
|
import { TokenLimiter } from "@mastra/core/processors";
|
|
298
|
-
import { openai } from "@ai-sdk/openai";
|
|
299
297
|
|
|
300
298
|
const agent = new Agent({
|
|
301
299
|
name: "my-agent",
|
|
302
|
-
model: openai
|
|
300
|
+
model: "openai/gpt-4o",
|
|
303
301
|
inputProcessors: [
|
|
304
302
|
// Ensure the total tokens don't exceed ~127k
|
|
305
303
|
new TokenLimiter(127000),
|
|
@@ -309,7 +307,7 @@ const agent = new Agent({
|
|
|
309
307
|
|
|
310
308
|
The `TokenLimiter` uses the `o200k_base` encoding by default (suitable for GPT-4o). You can specify other encodings for different models:
|
|
311
309
|
|
|
312
|
-
```typescript
|
|
310
|
+
```typescript {6-9}
|
|
313
311
|
import cl100k_base from "js-tiktoken/ranks/cl100k_base";
|
|
314
312
|
|
|
315
313
|
const agent = new Agent({
|
|
@@ -327,14 +325,13 @@ const agent = new Agent({
|
|
|
327
325
|
|
|
328
326
|
Removes tool calls from messages sent to the LLM, saving tokens by excluding potentially verbose tool interactions.
|
|
329
327
|
|
|
330
|
-
```typescript
|
|
328
|
+
```typescript {7-16}
|
|
331
329
|
import { Agent } from "@mastra/core/agent";
|
|
332
330
|
import { ToolCallFilter, TokenLimiter } from "@mastra/core/processors";
|
|
333
|
-
import { openai } from "@ai-sdk/openai";
|
|
334
331
|
|
|
335
332
|
const agent = new Agent({
|
|
336
333
|
name: "my-agent",
|
|
337
|
-
model: openai
|
|
334
|
+
model: "openai/gpt-4o",
|
|
338
335
|
inputProcessors: [
|
|
339
336
|
// Example 1: Remove all tool calls/results
|
|
340
337
|
new ToolCallFilter(),
|
|
@@ -348,13 +345,17 @@ const agent = new Agent({
|
|
|
348
345
|
});
|
|
349
346
|
```
|
|
350
347
|
|
|
351
|
-
|
|
348
|
+
:::note
|
|
349
|
+
|
|
350
|
+
The example above filters tool calls and limits tokens for the LLM, but these filtered messages will still be saved to memory. To also filter messages before they're saved to memory, manually add memory processors before utility processors. See [Memory Processors](/docs/v1/memory/memory-processors#manual-control-and-deduplication) for details.
|
|
351
|
+
|
|
352
|
+
:::
|
|
352
353
|
|
|
353
354
|
## Using workflows as processors
|
|
354
355
|
|
|
355
356
|
You can use Mastra workflows as processors to create complex processing pipelines with parallel execution, conditional branching, and error handling:
|
|
356
357
|
|
|
357
|
-
```typescript title="src/mastra/processors/moderation-workflow.ts"
|
|
358
|
+
```typescript title="src/mastra/processors/moderation-workflow.ts"
|
|
358
359
|
import { createWorkflow, createStep } from "@mastra/core/workflows";
|
|
359
360
|
import { ProcessorStepSchema } from "@mastra/core/processors";
|
|
360
361
|
import { Agent } from "@mastra/core/agent";
|
|
@@ -387,7 +388,7 @@ When an agent is registered with Mastra, processor workflows are automatically r
|
|
|
387
388
|
|
|
388
389
|
Processors can request that the LLM retry its response with feedback. This is useful for implementing quality checks, output validation, or iterative refinement:
|
|
389
390
|
|
|
390
|
-
```typescript title="src/mastra/processors/quality-checker.ts"
|
|
391
|
+
```typescript title="src/mastra/processors/quality-checker.ts"
|
|
391
392
|
import type { Processor } from "@mastra/core";
|
|
392
393
|
|
|
393
394
|
export class QualityChecker implements Processor {
|
|
@@ -23,7 +23,7 @@ Agents can return structured data by defining the expected output with either [Z
|
|
|
23
23
|
|
|
24
24
|
Define the `output` shape using [Zod](https://zod.dev/):
|
|
25
25
|
|
|
26
|
-
```typescript
|
|
26
|
+
```typescript
|
|
27
27
|
import { z } from "zod";
|
|
28
28
|
|
|
29
29
|
const response = await testAgent.generate("Help me plan my day.", {
|
|
@@ -45,7 +45,7 @@ console.log(response.object);
|
|
|
45
45
|
|
|
46
46
|
You can also use JSON Schema to define your output structure:
|
|
47
47
|
|
|
48
|
-
```typescript
|
|
48
|
+
```typescript
|
|
49
49
|
const response = await testAgent.generate("Help me plan my day.", {
|
|
50
50
|
structuredOutput: {
|
|
51
51
|
schema: {
|
|
@@ -72,7 +72,11 @@ console.log(response.object);
|
|
|
72
72
|
</Tabs>
|
|
73
73
|
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
:::info
|
|
76
|
+
|
|
77
|
+
Visit [.generate()](/reference/v1/agents/generate#structuredoutput) for a full list of configuration options.
|
|
78
|
+
|
|
79
|
+
:::
|
|
76
80
|
|
|
77
81
|
### Example output
|
|
78
82
|
|
|
@@ -99,7 +103,7 @@ The `response.object` will contain the structured data as defined by the schema.
|
|
|
99
103
|
|
|
100
104
|
Streaming also supports structured output. The final structured object is available on `stream.fullStream` and after the stream completes on `stream.object`. Text stream chunks are still emitted, but they contain natural language text rather than structured data.
|
|
101
105
|
|
|
102
|
-
```typescript
|
|
106
|
+
```typescript
|
|
103
107
|
import { z } from "zod";
|
|
104
108
|
|
|
105
109
|
const stream = await testAgent.stream("Help me plan my day.", {
|
|
@@ -131,7 +135,7 @@ for await (const chunk of stream.textStream) {
|
|
|
131
135
|
|
|
132
136
|
When your main agent isn't proficient at creating structured output you can provide a `model` to `structuredOutput`. In this case, Mastra uses a second agent under the hood to extract structured data from the main agent's natural language response. This makes two LLM calls, one to generate the response and another to turn that response into the structured object, which adds some latency and cost but can improve accuracy for complex structuring tasks.
|
|
133
137
|
|
|
134
|
-
```typescript
|
|
138
|
+
```typescript
|
|
135
139
|
import { z } from "zod";
|
|
136
140
|
|
|
137
141
|
const response = await testAgent.generate("Analyze the TypeScript programming language.", {
|
|
@@ -162,7 +166,7 @@ By default, Mastra passes the schema to the model provider using the `response_f
|
|
|
162
166
|
|
|
163
167
|
If your model provider doesn't support `response_format`, you'll get an error from the API. When this happens, set `jsonPromptInjection: true`. This adds the schema to the system prompt instead, instructing the model to output JSON. This is less reliable than the API parameter approach.
|
|
164
168
|
|
|
165
|
-
```typescript
|
|
169
|
+
```typescript
|
|
166
170
|
import { z } from "zod";
|
|
167
171
|
|
|
168
172
|
const response = await testAgent.generate("Help me plan my day.", {
|
|
@@ -198,7 +202,7 @@ const response = await agentWithTools.generate("Your prompt", {
|
|
|
198
202
|
|
|
199
203
|
When schema validation fails, you can control how errors are handled using `errorStrategy`. The default `strict` strategy throws an error, while `warn` logs a warning and continues. The `fallback` strategy returns the values provided using `fallbackValue`.
|
|
200
204
|
|
|
201
|
-
```typescript
|
|
205
|
+
```typescript
|
|
202
206
|
import { z } from "zod";
|
|
203
207
|
|
|
204
208
|
const response = await testAgent.generate("Tell me about TypeScript.", {
|
|
@@ -17,7 +17,7 @@ When creating tools, keep descriptions simple and focused on what the tool does,
|
|
|
17
17
|
|
|
18
18
|
This example shows how to create a tool that fetches weather data from an API. When the agent calls the tool, it provides the required input as defined by the tool's `inputSchema`. The tool accesses this data through its `inputData` parameter, which in this example includes the `location` used in the weather API query.
|
|
19
19
|
|
|
20
|
-
```typescript
|
|
20
|
+
```typescript title="src/mastra/tools/weather-tool.ts"
|
|
21
21
|
import { createTool } from "@mastra/core/tools";
|
|
22
22
|
import { z } from "zod";
|
|
23
23
|
|
|
@@ -47,7 +47,7 @@ To make a tool available to an agent, add it to `tools`. Mentioning available to
|
|
|
47
47
|
|
|
48
48
|
An agent can use multiple tools to handle more complex tasks by delegating specific parts to individual tools. The agent decides which tools to use based on the user's message, the agent's instructions, and the tool descriptions and schemas.
|
|
49
49
|
|
|
50
|
-
```typescript {
|
|
50
|
+
```typescript {11} title="src/mastra/agents/weather-agent.ts"
|
|
51
51
|
import { Agent } from "@mastra/core/agent";
|
|
52
52
|
import { weatherTool } from "../tools/weather-tool";
|
|
53
53
|
|
|
@@ -66,7 +66,7 @@ export const weatherAgent = new Agent({
|
|
|
66
66
|
|
|
67
67
|
The agent uses the tool's `inputSchema` to infer what data the tool expects. In this case, it extracts `London` as the `location` from the message and passes it to the tool's inputData parameter.
|
|
68
68
|
|
|
69
|
-
```typescript title="src/test-tool.ts"
|
|
69
|
+
```typescript title="src/test-tool.ts"
|
|
70
70
|
import { mastra } from "./mastra";
|
|
71
71
|
|
|
72
72
|
const agent = mastra.getAgent("weatherAgent");
|
|
@@ -78,14 +78,13 @@ const result = await agent.generate("What's the weather in London?");
|
|
|
78
78
|
|
|
79
79
|
When multiple tools are available, the agent may choose to use one, several, or none, depending on what's needed to answer the query.
|
|
80
80
|
|
|
81
|
-
```typescript {
|
|
81
|
+
```typescript {7} title="src/mastra/agents/weather-agent.ts"
|
|
82
82
|
import { weatherTool } from "../tools/weather-tool";
|
|
83
83
|
import { activitiesTool } from "../tools/activities-tool";
|
|
84
84
|
|
|
85
85
|
export const weatherAgent = new Agent({
|
|
86
86
|
id: "weather-agent",
|
|
87
87
|
name: "Weather Agent",
|
|
88
|
-
// ..
|
|
89
88
|
tools: { weatherTool, activitiesTool },
|
|
90
89
|
});
|
|
91
90
|
```
|
|
@@ -94,4 +93,4 @@ export const weatherAgent = new Agent({
|
|
|
94
93
|
|
|
95
94
|
- [MCP Overview](/docs/v1/mcp/overview)
|
|
96
95
|
- [Agent Memory](/docs/v1/agents/agent-memory)
|
|
97
|
-
- [Request Context](/docs/v1/server
|
|
96
|
+
- [Request Context](/docs/v1/server/request-context)
|
|
@@ -8,7 +8,6 @@ Now add the necessary imports at the top of your file:
|
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
10
|
import { Agent } from "@mastra/core/agent";
|
|
11
|
-
import { openai } from "@ai-sdk/openai";
|
|
12
11
|
// We'll import our tool in a later step
|
|
13
12
|
```
|
|
14
13
|
|
|
@@ -43,7 +42,7 @@ SUCCESS CRITERIA
|
|
|
43
42
|
- Deliver accurate and helpful analysis of transaction data.
|
|
44
43
|
- Achieve high user satisfaction through clear and helpful responses.
|
|
45
44
|
- Maintain user trust by ensuring data privacy and security.`,
|
|
46
|
-
model: openai
|
|
45
|
+
model: "openai/gpt-4.1-mini",
|
|
47
46
|
tools: {}, // We'll add tools in a later step
|
|
48
47
|
});
|
|
49
48
|
```
|
|
@@ -19,7 +19,7 @@ export const financialAgent = new Agent({
|
|
|
19
19
|
TOOLS
|
|
20
20
|
- Use the getTransactions tool to fetch financial transaction data.
|
|
21
21
|
- Analyze the transaction data to answer user questions about their spending.`,
|
|
22
|
-
model: openai
|
|
22
|
+
model: "openai/gpt-4.1-mini",
|
|
23
23
|
tools: { getTransactionsTool }, // Add our tool here
|
|
24
24
|
});
|
|
25
25
|
```
|
|
@@ -6,7 +6,6 @@ Now, let's update our agent to include memory. Open your `agents/index.ts` file
|
|
|
6
6
|
|
|
7
7
|
```typescript
|
|
8
8
|
import { Agent } from "@mastra/core/agent";
|
|
9
|
-
import { openai } from "@ai-sdk/openai";
|
|
10
9
|
import { Memory } from "@mastra/memory";
|
|
11
10
|
import { LibSQLStore } from "@mastra/libsql";
|
|
12
11
|
import { getTransactionsTool } from "../tools";
|
|
@@ -20,7 +19,7 @@ export const financialAgent = new Agent({
|
|
|
20
19
|
instructions: `ROLE DEFINITION
|
|
21
20
|
// ... existing instructions ...
|
|
22
21
|
`,
|
|
23
|
-
model: openai
|
|
22
|
+
model: "openai/gpt-4.1-mini",
|
|
24
23
|
tools: { getTransactionsTool },
|
|
25
24
|
memory: new Memory({
|
|
26
25
|
storage: new LibSQLStore({
|
|
@@ -14,7 +14,7 @@ const memory = new Memory({
|
|
|
14
14
|
id: "learning-memory-vector",
|
|
15
15
|
connectionUrl: "file:../../memory.db",
|
|
16
16
|
}),
|
|
17
|
-
embedder: openai
|
|
17
|
+
embedder: "openai/text-embedding-3-small",
|
|
18
18
|
options: {
|
|
19
19
|
// Keep last 20 messages in context
|
|
20
20
|
lastMessages: 20,
|
|
@@ -61,7 +61,7 @@ export const personalAssistantAgent = new Agent({
|
|
|
61
61
|
Always maintain a helpful and professional tone.
|
|
62
62
|
Use the stored information to provide more personalized responses.
|
|
63
63
|
`,
|
|
64
|
-
model: openai
|
|
64
|
+
model: "openai/gpt-4.1-mini",
|
|
65
65
|
tools: { ...mcpTools },
|
|
66
66
|
memory,
|
|
67
67
|
});
|
|
@@ -8,7 +8,6 @@ Create or update your `src/mastra/agents/index.ts` file:
|
|
|
8
8
|
import { Agent } from "@mastra/core/agent";
|
|
9
9
|
import { Memory } from "@mastra/memory";
|
|
10
10
|
import { LibSQLStore } from "@mastra/libsql";
|
|
11
|
-
import { openai } from "@ai-sdk/openai";
|
|
12
11
|
|
|
13
12
|
// Create a basic memory instance
|
|
14
13
|
const memory = new Memory({
|
|
@@ -27,7 +26,7 @@ export const memoryAgent = new Agent({
|
|
|
27
26
|
When a user shares information about themselves, acknowledge it and remember it for future reference.
|
|
28
27
|
If asked about something mentioned earlier in the conversation, recall it accurately.
|
|
29
28
|
`,
|
|
30
|
-
model: openai
|
|
29
|
+
model: "openai/gpt-4.1-mini",
|
|
31
30
|
memory: memory,
|
|
32
31
|
});
|
|
33
32
|
```
|
|
@@ -5,7 +5,6 @@ By default, the `Memory` instance includes the last 10 messages from the current
|
|
|
5
5
|
```typescript
|
|
6
6
|
import { Agent } from "@mastra/core/agent";
|
|
7
7
|
import { Memory } from "@mastra/memory";
|
|
8
|
-
import { openai } from "@ai-sdk/openai";
|
|
9
8
|
import { LibSQLStore } from "@mastra/libsql";
|
|
10
9
|
|
|
11
10
|
// Create a memory instance with custom conversation history settings
|
|
@@ -27,7 +26,7 @@ export const memoryAgent = new Agent({
|
|
|
27
26
|
When a user shares information about themselves, acknowledge it and remember it for future reference.
|
|
28
27
|
If asked about something mentioned earlier in the conversation, recall it accurately.
|
|
29
28
|
`,
|
|
30
|
-
model: openai
|
|
29
|
+
model: "openai/gpt-4.1-mini",
|
|
31
30
|
memory: memory,
|
|
32
31
|
});
|
|
33
32
|
```
|
|
@@ -5,7 +5,6 @@ Let's update our agent with custom semantic recall settings:
|
|
|
5
5
|
```typescript
|
|
6
6
|
import { Agent } from "@mastra/core/agent";
|
|
7
7
|
import { Memory } from "@mastra/memory";
|
|
8
|
-
import { openai } from "@ai-sdk/openai";
|
|
9
8
|
import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
|
|
10
9
|
|
|
11
10
|
// Create a memory instance with semantic recall configuration
|
|
@@ -18,7 +17,7 @@ const memory = new Memory({
|
|
|
18
17
|
id: "learning-memory-vector",
|
|
19
18
|
connectionUrl: "file:../../vector.db", // relative path from the `.mastra/output` directory
|
|
20
19
|
}), // Vector database for semantic search
|
|
21
|
-
embedder: openai
|
|
20
|
+
embedder: "openai/text-embedding-3-small", // Embedder for message embeddings
|
|
22
21
|
options: {
|
|
23
22
|
lastMessages: 20, // Include the last 20 messages in the context
|
|
24
23
|
semanticRecall: true, // Enable semantic recall with default settings
|
|
@@ -35,9 +34,9 @@ export const memoryAgent = new Agent({
|
|
|
35
34
|
If asked about something mentioned earlier in the conversation, recall it accurately.
|
|
36
35
|
You can also recall relevant information from older conversations when appropriate.
|
|
37
36
|
`,
|
|
38
|
-
model: openai
|
|
37
|
+
model: "openai/gpt-4.1-mini",
|
|
39
38
|
memory: memory,
|
|
40
39
|
});
|
|
41
40
|
```
|
|
42
41
|
|
|
43
|
-
For semantic recall to work, you need to have a **vector store** configured. You also need to have an **embedder** configured. You may use any
|
|
42
|
+
For semantic recall to work, you need to have a **vector store** configured. You also need to have an **embedder** configured. You may use any compatible embedding model for this. In this example, we're using OpenAI's `openai/text-embedding-3-small` model.
|
|
@@ -5,7 +5,6 @@ Let's update our agent with working memory capabilities:
|
|
|
5
5
|
```typescript
|
|
6
6
|
import { Agent } from "@mastra/core/agent";
|
|
7
7
|
import { Memory } from "@mastra/memory";
|
|
8
|
-
import { openai } from "@ai-sdk/openai";
|
|
9
8
|
import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
|
|
10
9
|
|
|
11
10
|
// Create a memory instance with working memory configuration
|
|
@@ -18,7 +17,7 @@ const memory = new Memory({
|
|
|
18
17
|
id: "learning-memory-vector",
|
|
19
18
|
connectionUrl: "file:../../vector.db", // relative path from the `.mastra/output` directory
|
|
20
19
|
}), // Vector database for semantic search
|
|
21
|
-
embedder: openai
|
|
20
|
+
embedder: "openai/text-embedding-3-small", // Embedder for message embeddings
|
|
22
21
|
options: {
|
|
23
22
|
semanticRecall: {
|
|
24
23
|
topK: 3,
|
|
@@ -52,7 +51,7 @@ export const memoryAgent = new Agent({
|
|
|
52
51
|
Always refer to your working memory before asking for information the user has already provided.
|
|
53
52
|
Use the information in your working memory to provide personalized responses.
|
|
54
53
|
`,
|
|
55
|
-
model: openai
|
|
54
|
+
model: "openai/gpt-4.1-mini",
|
|
56
55
|
memory: memory,
|
|
57
56
|
});
|
|
58
57
|
```
|
|
@@ -7,7 +7,6 @@ Let's update our agent with a custom working memory template:
|
|
|
7
7
|
```typescript
|
|
8
8
|
import { Agent } from "@mastra/core/agent";
|
|
9
9
|
import { Memory } from "@mastra/memory";
|
|
10
|
-
import { openai } from "@ai-sdk/openai";
|
|
11
10
|
|
|
12
11
|
// Create a memory instance with a custom working memory template
|
|
13
12
|
const memory = new Memory({
|
|
@@ -18,7 +17,7 @@ const memory = new Memory({
|
|
|
18
17
|
vector: new LibSQLVector({
|
|
19
18
|
connectionUrl: "file:../../vector.db", // relative path from the `.mastra/output` directory
|
|
20
19
|
}), // Vector database for semantic search
|
|
21
|
-
embedder: openai
|
|
20
|
+
embedder: "openai/text-embedding-3-small", // Embedder for message embeddings
|
|
22
21
|
options: {
|
|
23
22
|
semanticRecall: {
|
|
24
23
|
topK: 3,
|
|
@@ -74,7 +73,7 @@ export const memoryAgent = new Agent({
|
|
|
74
73
|
When the user shares personal information such as their name, location, or preferences,
|
|
75
74
|
acknowledge it and update your working memory accordingly.
|
|
76
75
|
`,
|
|
77
|
-
model: openai
|
|
76
|
+
model: "openai/gpt-4.1-mini",
|
|
78
77
|
memory: memory,
|
|
79
78
|
});
|
|
80
79
|
```
|
|
@@ -10,7 +10,6 @@ Let's create a comprehensive agent that utilizes conversation history, semantic
|
|
|
10
10
|
// src/mastra/agents/memory-agent.ts
|
|
11
11
|
import { Agent } from "@mastra/core/agent";
|
|
12
12
|
import { Memory } from "@mastra/memory";
|
|
13
|
-
import { openai } from "@ai-sdk/openai";
|
|
14
13
|
import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
|
|
15
14
|
|
|
16
15
|
// Create a comprehensive memory configuration
|
|
@@ -22,7 +21,7 @@ const memory = new Memory({
|
|
|
22
21
|
vector: new LibSQLVector({
|
|
23
22
|
connectionUrl: "file:../../vector.db", // relative path from the `.mastra/output` directory
|
|
24
23
|
}),
|
|
25
|
-
embedder: openai
|
|
24
|
+
embedder: "openai/text-embedding-3-small",
|
|
26
25
|
options: {
|
|
27
26
|
// Conversation history configuration
|
|
28
27
|
lastMessages: 20, // Include the last 20 messages in the context
|
|
@@ -6,7 +6,6 @@ Let's create a practical example of a memory-enhanced agent: a Personal Learning
|
|
|
6
6
|
// src/mastra/agents/learning-assistant.ts
|
|
7
7
|
import { Agent } from "@mastra/core/agent";
|
|
8
8
|
import { Memory } from "@mastra/memory";
|
|
9
|
-
import { openai } from "@ai-sdk/openai";
|
|
10
9
|
import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
|
|
11
10
|
|
|
12
11
|
// Create a specialized memory configuration for the learning assistant
|
|
@@ -18,7 +17,7 @@ const learningMemory = new Memory({
|
|
|
18
17
|
vector: new LibSQLVector({
|
|
19
18
|
connectionUrl: "file:../../vector.db", // relative path from the `.mastra/output` directory
|
|
20
19
|
}),
|
|
21
|
-
embedder: openai
|
|
20
|
+
embedder: "openai/text-embedding-3-small",
|
|
22
21
|
options: {
|
|
23
22
|
lastMessages: 20,
|
|
24
23
|
semanticRecall: {
|
|
@@ -88,7 +87,7 @@ export const learningAssistantAgent = new Agent({
|
|
|
88
87
|
Always be encouraging and supportive. Focus on building the user's confidence
|
|
89
88
|
and celebrating their progress.
|
|
90
89
|
`,
|
|
91
|
-
model: openai
|
|
90
|
+
model: "openai/gpt-4.1-mini",
|
|
92
91
|
memory: learningMemory,
|
|
93
92
|
});
|
|
94
93
|
|
|
@@ -8,7 +8,6 @@ Create a new file for your agent in the `src/mastra/agents` directory. Use `cont
|
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
10
|
// src/mastra/agents/content-agent.ts
|
|
11
|
-
import { openai } from "@ai-sdk/openai";
|
|
12
11
|
import { Agent } from "@mastra/core/agent";
|
|
13
12
|
|
|
14
13
|
export const contentAgent = new Agent({
|
|
@@ -23,7 +22,7 @@ export const contentAgent = new Agent({
|
|
|
23
22
|
|
|
24
23
|
Always provide constructive, actionable feedback.
|
|
25
24
|
`,
|
|
26
|
-
model: openai
|
|
25
|
+
model: "openai/gpt-4.1-mini",
|
|
27
26
|
});
|
|
28
27
|
```
|
|
29
28
|
|
|
@@ -32,7 +31,7 @@ export const contentAgent = new Agent({
|
|
|
32
31
|
- **Name**: Unique identifier for the agent
|
|
33
32
|
- **Description**: What the agent does
|
|
34
33
|
- **Instructions**: Detailed prompts that guide the AI's behavior
|
|
35
|
-
- **Model**: Which AI model to use (GPT-
|
|
34
|
+
- **Model**: Which AI model to use (GPT-4.1-mini is fast and cost-effective)
|
|
36
35
|
|
|
37
36
|
## Registering and Testing Your Agent
|
|
38
37
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Deploy to Cloud Providers | Deployment"
|
|
3
|
+
description: Deploy your Mastra applications to cloud providers
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Deploy to Cloud Providers
|
|
7
|
+
|
|
8
|
+
Mastra applications can be deployed to cloud providers and serverless platforms. Mastra includes optional built-in deployers for Vercel, Netlify, and Cloudflare to automate the deployment process.
|
|
9
|
+
|
|
10
|
+
## Supported Cloud Providers
|
|
11
|
+
|
|
12
|
+
The following guides show how to deploy Mastra to specific cloud providers:
|
|
13
|
+
|
|
14
|
+
- [Amazon EC2](/guides/v1/deployment/amazon-ec2)
|
|
15
|
+
- [AWS Lambda](/guides/v1/deployment/aws-lambda)
|
|
16
|
+
- [Azure App Services](/guides/v1/deployment/azure-app-services)
|
|
17
|
+
- [Cloudflare](/guides/v1/deployment/cloudflare-deployer)
|
|
18
|
+
- [Digital Ocean](/guides/v1/deployment/digital-ocean)
|
|
19
|
+
- [Netlify](/guides/v1/deployment/netlify-deployer)
|
|
20
|
+
- [Vercel](/guides/v1/deployment/vercel-deployer)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "Deploy a Mastra Server | Deployment"
|
|
3
3
|
description: "Learn how to build a Mastra server with build settings and deployment options."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Deploy a Mastra Server
|
|
7
7
|
|
|
8
8
|
Mastra runs as a standard Node.js server and can be deployed across a wide range of environments.
|
|
9
9
|
|
|
@@ -26,7 +26,7 @@ tsconfig.json
|
|
|
26
26
|
|
|
27
27
|
The `mastra build` command starts the build process:
|
|
28
28
|
|
|
29
|
-
```bash
|
|
29
|
+
```bash
|
|
30
30
|
mastra build
|
|
31
31
|
```
|
|
32
32
|
|
|
@@ -34,7 +34,7 @@ mastra build
|
|
|
34
34
|
|
|
35
35
|
If your Mastra files are located elsewhere, use the `--dir` flag to specify the custom location. The `--dir` flag tells Mastra where to find your entry point file (`index.ts` or `index.js`) and related directories.
|
|
36
36
|
|
|
37
|
-
```bash
|
|
37
|
+
```bash
|
|
38
38
|
mastra build --dir ./my-project/mastra
|
|
39
39
|
```
|
|
40
40
|
|
|
@@ -68,6 +68,6 @@ If a `public` folder exists in `src/mastra`, its contents are copied into the `.
|
|
|
68
68
|
|
|
69
69
|
Start the HTTP server:
|
|
70
70
|
|
|
71
|
-
```bash
|
|
71
|
+
```bash
|
|
72
72
|
node .mastra/output/index.mjs
|
|
73
73
|
```
|