@mastra/mcp-docs-server 0.13.39-alpha.0 → 1.0.0-beta.0
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%2Fai-sdk-v4.md +1 -0
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +0 -8
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +0 -8
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +29 -29
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +0 -8
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +25 -25
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +4 -8
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +223 -223
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +189 -189
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +198 -198
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +7 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +214 -214
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +63 -63
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +57 -57
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +60 -60
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +57 -57
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +209 -209
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +191 -191
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +38 -38
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +5 -7
- package/.docs/organized/changelogs/%40mastra%2Flance.md +186 -186
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +221 -221
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +206 -206
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +197 -197
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +218 -218
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Frag.md +65 -65
- package/.docs/organized/changelogs/%40mastra%2Freact.md +61 -61
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +10 -9
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -24
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +206 -206
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +191 -191
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +58 -58
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +11 -11
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +11 -11
- package/.docs/organized/changelogs/create-mastra.md +27 -27
- package/.docs/organized/changelogs/mastra.md +87 -87
- package/.docs/organized/code-examples/a2a.md +4 -2
- package/.docs/organized/code-examples/agui.md +12 -9
- package/.docs/organized/code-examples/ai-sdk-useChat.md +12 -18
- package/.docs/organized/code-examples/ai-sdk-v5.md +4 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +5 -4
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +4 -3
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +4 -3
- package/.docs/organized/code-examples/client-side-tools.md +1 -0
- package/.docs/organized/code-examples/crypto-chatbot.md +1 -1
- package/.docs/organized/code-examples/experimental-auth-weather-agent.md +8 -177
- package/.docs/organized/code-examples/fireworks-r1.md +2 -2
- package/.docs/organized/code-examples/heads-up-game.md +10 -7
- package/.docs/organized/code-examples/mcp-configuration.md +5 -3
- package/.docs/organized/code-examples/mcp-registry-registry.md +3 -2
- package/.docs/organized/code-examples/memory-per-resource-example.md +4 -2
- package/.docs/organized/code-examples/memory-todo-agent.md +1 -0
- package/.docs/organized/code-examples/memory-with-context.md +2 -1
- package/.docs/organized/code-examples/memory-with-libsql.md +4 -2
- package/.docs/organized/code-examples/memory-with-mongodb.md +4 -2
- package/.docs/organized/code-examples/memory-with-pg.md +4 -2
- package/.docs/organized/code-examples/memory-with-processors.md +13 -8
- package/.docs/organized/code-examples/memory-with-upstash.md +5 -3
- package/.docs/organized/code-examples/openapi-spec-writer.md +32 -41
- package/.docs/organized/code-examples/quick-start.md +5 -32
- package/.docs/organized/code-examples/stock-price-tool.md +6 -5
- package/.docs/organized/code-examples/weather-agent.md +21 -16
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +3 -2
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +9 -12
- package/.docs/organized/code-examples/workflow-with-memory.md +16 -15
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +2 -2
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +3 -2
- package/.docs/raw/agents/adding-voice.mdx +27 -22
- package/.docs/raw/agents/agent-memory.mdx +23 -15
- package/.docs/raw/agents/guardrails.mdx +33 -12
- package/.docs/raw/agents/networks.mdx +8 -4
- package/.docs/raw/agents/overview.mdx +21 -15
- package/.docs/raw/agents/using-tools.mdx +11 -8
- package/.docs/raw/auth/auth0.mdx +8 -8
- package/.docs/raw/auth/clerk.mdx +6 -6
- package/.docs/raw/auth/firebase.mdx +8 -8
- package/.docs/raw/auth/index.mdx +6 -6
- package/.docs/raw/auth/jwt.mdx +6 -6
- package/.docs/raw/auth/supabase.mdx +7 -7
- package/.docs/raw/auth/workos.mdx +8 -8
- package/.docs/raw/community/contributing-templates.mdx +3 -3
- package/.docs/raw/community/discord.mdx +1 -1
- package/.docs/raw/course/01-first-agent/08-exporting-your-agent.md +2 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +2 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -0
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -0
- package/.docs/raw/course/03-agent-memory/10-storage-configuration.md +2 -3
- package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +2 -0
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +2 -0
- package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -0
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -0
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +1 -0
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -0
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +1 -0
- package/.docs/raw/course/04-workflows/08-running-workflows-programmatically.md +2 -2
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +5 -5
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +7 -5
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +4 -4
- package/.docs/raw/deployment/cloud-providers/index.mdx +11 -8
- package/.docs/raw/deployment/monorepo.mdx +2 -2
- package/.docs/raw/deployment/overview.mdx +2 -2
- package/.docs/raw/deployment/server-deployment.mdx +2 -10
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +4 -4
- package/.docs/raw/deployment/serverless-platforms/index.mdx +10 -7
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +4 -4
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +4 -4
- package/.docs/raw/deployment/web-framework.mdx +8 -8
- package/.docs/raw/{scorers → evals}/custom-scorers.mdx +6 -6
- package/.docs/raw/evals/off-the-shelf-scorers.mdx +50 -0
- package/.docs/raw/{scorers → evals}/overview.mdx +8 -8
- package/.docs/raw/evals/running-in-ci.mdx +113 -0
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +22 -21
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +8 -8
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +3 -0
- package/.docs/raw/frameworks/servers/express.mdx +10 -9
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +6 -6
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +3 -3
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +4 -4
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +2 -2
- package/.docs/raw/getting-started/installation.mdx +13 -12
- package/.docs/raw/getting-started/mcp-docs-server.mdx +1 -1
- package/.docs/raw/getting-started/project-structure.mdx +4 -4
- package/.docs/raw/getting-started/studio.mdx +8 -8
- package/.docs/raw/getting-started/templates.mdx +1 -1
- package/.docs/raw/guides/guide/ai-recruiter.mdx +264 -0
- package/.docs/raw/guides/guide/chef-michel.mdx +271 -0
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +450 -0
- package/.docs/raw/guides/guide/research-assistant.mdx +389 -0
- package/.docs/raw/guides/guide/stock-agent.mdx +185 -0
- package/.docs/raw/guides/guide/web-search.mdx +291 -0
- package/.docs/raw/guides/index.mdx +43 -0
- package/.docs/raw/guides/migrations/agentnetwork.mdx +114 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/_template.mdx +50 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +265 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +48 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +153 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +230 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +171 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +114 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +241 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +83 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +62 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +270 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +115 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +280 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +23 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +39 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +178 -0
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +367 -0
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/{observability/logging.mdx → logging.mdx} +4 -4
- package/.docs/raw/mastra-cloud/dashboard.mdx +2 -2
- package/.docs/raw/mastra-cloud/observability.mdx +6 -6
- package/.docs/raw/mastra-cloud/overview.mdx +2 -2
- package/.docs/raw/mastra-cloud/setting-up.mdx +4 -4
- package/.docs/raw/memory/conversation-history.mdx +1 -0
- package/.docs/raw/memory/memory-processors.mdx +4 -3
- package/.docs/raw/memory/overview.mdx +9 -5
- package/.docs/raw/memory/semantic-recall.mdx +12 -7
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +10 -5
- package/.docs/raw/memory/storage/memory-with-pg.mdx +9 -4
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +9 -4
- package/.docs/raw/memory/threads-and-resources.mdx +11 -13
- package/.docs/raw/memory/working-memory.mdx +30 -14
- package/.docs/raw/observability/overview.mdx +13 -30
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/arize.mdx +10 -18
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +7 -16
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/cloud.mdx +11 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/default.mdx +16 -20
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +7 -16
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +7 -16
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/otel.mdx +9 -18
- package/.docs/raw/observability/{ai-tracing → tracing}/overview.mdx +107 -142
- package/.docs/raw/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +14 -13
- package/.docs/raw/rag/chunking-and-embedding.mdx +5 -5
- package/.docs/raw/rag/overview.mdx +3 -13
- package/.docs/raw/rag/retrieval.mdx +24 -12
- package/.docs/raw/rag/vector-databases.mdx +7 -1
- package/.docs/raw/reference/agents/agent.mdx +33 -28
- package/.docs/raw/reference/agents/generate.mdx +10 -10
- package/.docs/raw/reference/agents/generateLegacy.mdx +8 -8
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +21 -15
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +69 -0
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +22 -16
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +8 -8
- package/.docs/raw/reference/agents/getLLM.mdx +9 -9
- package/.docs/raw/reference/agents/getMemory.mdx +9 -9
- package/.docs/raw/reference/agents/getModel.mdx +10 -10
- package/.docs/raw/reference/agents/getVoice.mdx +8 -8
- package/.docs/raw/reference/agents/listAgents.mdx +9 -9
- package/.docs/raw/reference/agents/listScorers.mdx +7 -7
- package/.docs/raw/reference/agents/listTools.mdx +7 -7
- package/.docs/raw/reference/agents/listWorkflows.mdx +7 -7
- package/.docs/raw/reference/agents/network.mdx +11 -10
- package/.docs/raw/reference/auth/auth0.mdx +4 -4
- package/.docs/raw/reference/auth/clerk.mdx +4 -4
- package/.docs/raw/reference/auth/firebase.mdx +6 -6
- package/.docs/raw/reference/auth/jwt.mdx +4 -4
- package/.docs/raw/reference/auth/supabase.mdx +4 -4
- package/.docs/raw/reference/auth/workos.mdx +4 -4
- package/.docs/raw/reference/cli/mastra.mdx +7 -7
- package/.docs/raw/reference/client-js/agents.mdx +6 -2
- package/.docs/raw/reference/client-js/mastra-client.mdx +7 -7
- package/.docs/raw/reference/client-js/memory.mdx +24 -16
- package/.docs/raw/reference/client-js/observability.mdx +11 -11
- package/.docs/raw/reference/client-js/workflows.mdx +6 -34
- 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 +2 -2
- package/.docs/raw/reference/core/getLogger.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServer.mdx +31 -15
- package/.docs/raw/reference/core/getMCPServerById.mdx +81 -0
- package/.docs/raw/reference/core/getScorer.mdx +3 -3
- package/.docs/raw/reference/core/getScorerById.mdx +79 -0
- package/.docs/raw/reference/core/getServer.mdx +2 -2
- package/.docs/raw/reference/core/getStorage.mdx +2 -2
- package/.docs/raw/reference/core/getTelemetry.mdx +2 -2
- package/.docs/raw/reference/core/getVector.mdx +2 -2
- 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 +2 -2
- package/.docs/raw/reference/core/listLogsByRunId.mdx +2 -2
- package/.docs/raw/reference/core/listMCPServers.mdx +65 -0
- package/.docs/raw/reference/core/listScorers.mdx +3 -3
- package/.docs/raw/reference/core/listVectors.mdx +36 -0
- package/.docs/raw/reference/core/listWorkflows.mdx +6 -6
- package/.docs/raw/reference/core/mastra-class.mdx +3 -2
- package/.docs/raw/reference/core/setLogger.mdx +2 -2
- package/.docs/raw/reference/core/setStorage.mdx +3 -2
- package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
- package/.docs/raw/reference/deployer/cloudflare.mdx +2 -2
- package/.docs/raw/reference/deployer/deployer.mdx +0 -6
- package/.docs/raw/reference/deployer/netlify.mdx +2 -2
- package/.docs/raw/reference/deployer/vercel.mdx +3 -3
- package/.docs/raw/reference/evals/answer-relevancy.mdx +164 -126
- package/.docs/raw/reference/{scorers → evals}/answer-similarity.mdx +27 -27
- package/.docs/raw/reference/evals/bias.mdx +149 -115
- package/.docs/raw/reference/evals/completeness.mdx +148 -117
- package/.docs/raw/reference/evals/content-similarity.mdx +126 -113
- package/.docs/raw/reference/evals/context-precision.mdx +290 -133
- package/.docs/raw/reference/{scorers → evals}/context-relevance.mdx +6 -6
- package/.docs/raw/reference/{scorers → evals}/create-scorer.mdx +11 -11
- package/.docs/raw/reference/evals/faithfulness.mdx +163 -121
- package/.docs/raw/reference/evals/hallucination.mdx +159 -132
- package/.docs/raw/reference/evals/keyword-coverage.mdx +169 -125
- package/.docs/raw/reference/{scorers → evals}/mastra-scorer.mdx +5 -5
- package/.docs/raw/reference/{scorers → evals}/noise-sensitivity.mdx +9 -9
- package/.docs/raw/reference/evals/prompt-alignment.mdx +604 -182
- package/.docs/raw/reference/{scorers/run-experiment.mdx → evals/run-evals.mdx} +17 -18
- package/.docs/raw/reference/evals/textual-difference.mdx +149 -117
- package/.docs/raw/reference/evals/tone-consistency.mdx +149 -125
- package/.docs/raw/reference/{scorers → evals}/tool-call-accuracy.mdx +8 -6
- package/.docs/raw/reference/evals/toxicity.mdx +152 -96
- package/.docs/raw/reference/{observability/logging → logging}/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +5 -5
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -7
- package/.docs/raw/reference/memory/getThreadById.mdx +4 -4
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +110 -0
- package/.docs/raw/reference/memory/memory-class.mdx +13 -9
- package/.docs/raw/reference/memory/query.mdx +58 -57
- package/.docs/raw/reference/memory/recall.mdx +185 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +245 -0
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/arize.mdx +13 -13
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +11 -8
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/cloud-exporter.mdx +21 -19
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/console-exporter.mdx +49 -17
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/default-exporter.mdx +42 -41
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +10 -7
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +10 -7
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/otel.mdx +5 -5
- package/.docs/raw/reference/observability/tracing/instances.mdx +168 -0
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/interfaces.mdx +115 -89
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +3 -3
- package/.docs/raw/reference/observability/{ai-tracing/span.mdx → tracing/spans.mdx} +59 -41
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +1 -1
- package/.docs/raw/reference/processors/language-detector.mdx +1 -1
- package/.docs/raw/reference/processors/moderation-processor.mdx +1 -1
- package/.docs/raw/reference/processors/pii-detector.mdx +1 -1
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +1 -1
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +1 -1
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +1 -1
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +1 -1
- package/.docs/raw/reference/rag/chunk.mdx +1 -8
- package/.docs/raw/reference/rag/database-config.mdx +7 -7
- package/.docs/raw/reference/rag/metadata-filters.mdx +14 -11
- package/.docs/raw/reference/storage/libsql.mdx +2 -0
- package/.docs/raw/reference/storage/mssql.mdx +5 -0
- package/.docs/raw/reference/storage/postgresql.mdx +6 -0
- package/.docs/raw/reference/storage/upstash.mdx +1 -0
- package/.docs/raw/reference/streaming/agents/stream.mdx +12 -12
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +8 -8
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -3
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +3 -3
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +6 -6
- package/.docs/raw/reference/streaming/workflows/stream.mdx +10 -10
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +11 -11
- package/.docs/raw/reference/templates/overview.mdx +2 -2
- package/.docs/raw/reference/tools/create-tool.mdx +52 -35
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +15 -15
- package/.docs/raw/reference/tools/mcp-client.mdx +1 -1
- package/.docs/raw/reference/tools/mcp-server.mdx +119 -35
- package/.docs/raw/reference/tools/vector-query-tool.mdx +27 -26
- package/.docs/raw/reference/vectors/libsql.mdx +1 -0
- package/.docs/raw/reference/vectors/pg.mdx +3 -0
- package/.docs/raw/reference/vectors/upstash.mdx +1 -0
- package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -4
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +14 -14
- package/.docs/raw/reference/workflows/run-methods/start.mdx +17 -17
- package/.docs/raw/reference/workflows/run.mdx +1 -8
- package/.docs/raw/reference/workflows/step.mdx +5 -5
- 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 -13
- 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 +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +5 -0
- 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 +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow.mdx +1 -1
- package/.docs/raw/server-db/custom-api-routes.mdx +2 -2
- package/.docs/raw/server-db/mastra-client.mdx +19 -18
- package/.docs/raw/server-db/middleware.mdx +7 -7
- package/.docs/raw/server-db/production-server.mdx +4 -4
- package/.docs/raw/server-db/{runtime-context.mdx → request-context.mdx} +46 -45
- package/.docs/raw/server-db/storage.mdx +29 -21
- package/.docs/raw/streaming/events.mdx +3 -3
- package/.docs/raw/streaming/overview.mdx +5 -5
- package/.docs/raw/streaming/tool-streaming.mdx +18 -17
- package/.docs/raw/streaming/workflow-streaming.mdx +1 -1
- package/.docs/raw/tools-mcp/advanced-usage.mdx +5 -4
- package/.docs/raw/tools-mcp/mcp-overview.mdx +32 -19
- package/.docs/raw/tools-mcp/overview.mdx +11 -11
- package/.docs/raw/voice/overview.mdx +63 -43
- package/.docs/raw/voice/speech-to-speech.mdx +5 -3
- package/.docs/raw/voice/speech-to-text.mdx +9 -8
- package/.docs/raw/voice/text-to-speech.mdx +12 -11
- package/.docs/raw/workflows/agents-and-tools.mdx +9 -5
- package/.docs/raw/workflows/control-flow.mdx +3 -3
- package/.docs/raw/workflows/error-handling.mdx +2 -21
- package/.docs/raw/workflows/human-in-the-loop.mdx +7 -4
- package/.docs/raw/workflows/inngest-workflow.mdx +2 -2
- package/.docs/raw/workflows/input-data-mapping.mdx +107 -0
- package/.docs/raw/workflows/overview.mdx +17 -16
- package/.docs/raw/workflows/snapshots.mdx +13 -11
- package/.docs/raw/workflows/suspend-and-resume.mdx +23 -15
- package/CHANGELOG.md +52 -47
- package/README.md +11 -2
- package/dist/{chunk-TUAHUTTB.js → chunk-5NJC7NRO.js} +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/prompts/migration.d.ts +6 -0
- package/dist/prompts/migration.d.ts.map +1 -0
- package/dist/stdio.js +402 -30
- package/dist/tools/migration.d.ts +40 -0
- package/dist/tools/migration.d.ts.map +1 -0
- package/package.json +8 -12
- package/.docs/organized/changelogs/%40mastra%2Fcloud.md +0 -302
- package/.docs/raw/observability/nextjs-tracing.mdx +0 -109
- package/.docs/raw/observability/otel-tracing.mdx +0 -189
- package/.docs/raw/reference/agents/getScorers.mdx +0 -69
- package/.docs/raw/reference/agents/getTools.mdx +0 -69
- package/.docs/raw/reference/agents/getWorkflows.mdx +0 -69
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +0 -143
- package/.docs/raw/reference/core/getAgents.mdx +0 -35
- package/.docs/raw/reference/core/getLogs.mdx +0 -96
- package/.docs/raw/reference/core/getLogsByRunId.mdx +0 -87
- package/.docs/raw/reference/core/getMCPServers.mdx +0 -36
- package/.docs/raw/reference/core/getMemory.mdx +0 -36
- package/.docs/raw/reference/core/getScorerByName.mdx +0 -78
- package/.docs/raw/reference/core/getScorers.mdx +0 -43
- package/.docs/raw/reference/core/getVectors.mdx +0 -36
- package/.docs/raw/reference/core/getWorkflows.mdx +0 -45
- package/.docs/raw/reference/evals/context-position.mdx +0 -197
- package/.docs/raw/reference/evals/context-relevancy.mdx +0 -196
- package/.docs/raw/reference/evals/contextual-recall.mdx +0 -196
- package/.docs/raw/reference/evals/summarization.mdx +0 -212
- package/.docs/raw/reference/legacyWorkflows/after.mdx +0 -89
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +0 -79
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +0 -33
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +0 -76
- package/.docs/raw/reference/legacyWorkflows/else.mdx +0 -68
- package/.docs/raw/reference/legacyWorkflows/events.mdx +0 -305
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +0 -110
- package/.docs/raw/reference/legacyWorkflows/if.mdx +0 -108
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +0 -158
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +0 -133
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +0 -207
- package/.docs/raw/reference/legacyWorkflows/start.mdx +0 -87
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +0 -100
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +0 -137
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +0 -93
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +0 -69
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +0 -196
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +0 -70
- package/.docs/raw/reference/legacyWorkflows/then.mdx +0 -72
- package/.docs/raw/reference/legacyWorkflows/until.mdx +0 -168
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +0 -124
- package/.docs/raw/reference/legacyWorkflows/while.mdx +0 -168
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +0 -234
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +0 -79
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +0 -110
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +0 -185
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +0 -238
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +0 -117
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +0 -81
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +0 -121
- package/.docs/raw/reference/observability/otel-tracing/providers/braintrust.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +0 -20
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +0 -73
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +0 -41
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +0 -84
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +0 -48
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +0 -43
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +0 -40
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +0 -227
- package/.docs/raw/reference/scorers/bias.mdx +0 -228
- package/.docs/raw/reference/scorers/completeness.mdx +0 -214
- package/.docs/raw/reference/scorers/content-similarity.mdx +0 -197
- package/.docs/raw/reference/scorers/context-precision.mdx +0 -352
- package/.docs/raw/reference/scorers/faithfulness.mdx +0 -241
- package/.docs/raw/reference/scorers/hallucination.mdx +0 -252
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +0 -229
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +0 -668
- package/.docs/raw/reference/scorers/textual-difference.mdx +0 -203
- package/.docs/raw/reference/scorers/tone-consistency.mdx +0 -211
- package/.docs/raw/reference/scorers/toxicity.mdx +0 -228
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +0 -73
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +0 -24
- package/.docs/raw/scorers/evals-old-api/overview.mdx +0 -106
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +0 -85
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +0 -58
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +0 -50
- package/.docs/raw/workflows-legacy/control-flow.mdx +0 -774
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +0 -239
- package/.docs/raw/workflows-legacy/error-handling.mdx +0 -187
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +0 -360
- package/.docs/raw/workflows-legacy/overview.mdx +0 -182
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +0 -156
- package/.docs/raw/workflows-legacy/steps.mdx +0 -115
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +0 -406
- package/.docs/raw/workflows-legacy/variables.mdx +0 -318
|
@@ -22,7 +22,8 @@ const voice = new OpenAIVoice();
|
|
|
22
22
|
|
|
23
23
|
// Create an agent with voice capabilities
|
|
24
24
|
export const agent = new Agent({
|
|
25
|
-
|
|
25
|
+
id: "voice-agent",
|
|
26
|
+
name: "Voice Agent",
|
|
26
27
|
instructions: `You are a helpful assistant with both STT and TTS capabilities.`,
|
|
27
28
|
model: openai("gpt-4o"),
|
|
28
29
|
voice,
|
|
@@ -110,7 +111,8 @@ const voice = new OpenAIRealtimeVoice({
|
|
|
110
111
|
|
|
111
112
|
// Create an agent with speech-to-speech voice capabilities
|
|
112
113
|
export const agent = new Agent({
|
|
113
|
-
|
|
114
|
+
id: "speech-to-speech-agent",
|
|
115
|
+
name: "Speech-to-Speech Agent",
|
|
114
116
|
instructions: `You are a helpful assistant with speech-to-speech capabilities.`,
|
|
115
117
|
model: openai("gpt-4o"),
|
|
116
118
|
tools: {
|
|
@@ -175,7 +177,7 @@ import { createReadStream } from "fs";
|
|
|
175
177
|
import { Agent } from "@mastra/core/agent";
|
|
176
178
|
import { CompositeVoice } from "@mastra/core/voice";
|
|
177
179
|
import { OpenAIVoice } from "@mastra/voice-openai";
|
|
178
|
-
import { Mastra } from "@mastra/core
|
|
180
|
+
import { Mastra } from "@mastra/core";
|
|
179
181
|
import { openai } from "@ai-sdk/openai";
|
|
180
182
|
|
|
181
183
|
// Saves an audio stream to a file in the audio directory, creating the directory if it doesn't exist.
|
|
@@ -206,14 +208,15 @@ export const convertToText = async (
|
|
|
206
208
|
|
|
207
209
|
const chunks: Buffer[] = [];
|
|
208
210
|
return new Promise((resolve, reject) => {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
211
|
+
inputData.on("data", (chunk) => chunks.push(Buffer.from(chunk)));
|
|
212
|
+
inputData.on("error", reject);
|
|
213
|
+
inputData.on("end", () => resolve(Buffer.concat(chunks).toString("utf-8")));
|
|
212
214
|
});
|
|
213
215
|
};
|
|
214
216
|
|
|
215
217
|
export const hybridVoiceAgent = new Agent({
|
|
216
|
-
|
|
218
|
+
id: "hybrid-voice-agent",
|
|
219
|
+
name: "Hybrid Voice Agent",
|
|
217
220
|
model: openai("gpt-4o"),
|
|
218
221
|
instructions: "You can speak and listen using different providers.",
|
|
219
222
|
voice: new CompositeVoice({
|
|
@@ -223,7 +226,8 @@ export const hybridVoiceAgent = new Agent({
|
|
|
223
226
|
});
|
|
224
227
|
|
|
225
228
|
export const unifiedVoiceAgent = new Agent({
|
|
226
|
-
|
|
229
|
+
id: "unified-voice-agent",
|
|
230
|
+
name: "Unified Voice Agent",
|
|
227
231
|
instructions: "You are an agent with both STT and TTS capabilities.",
|
|
228
232
|
model: openai("gpt-4o"),
|
|
229
233
|
voice: new OpenAIVoice(),
|
|
@@ -268,7 +272,8 @@ import { PlayAIVoice } from "@mastra/voice-playai";
|
|
|
268
272
|
import { openai } from "@ai-sdk/openai";
|
|
269
273
|
|
|
270
274
|
export const agent = new Agent({
|
|
271
|
-
|
|
275
|
+
id: "voice-agent",
|
|
276
|
+
name: "Voice Agent",
|
|
272
277
|
instructions: `You are a helpful assistant with both STT and TTS capabilities.`,
|
|
273
278
|
model: openai("gpt-4o"),
|
|
274
279
|
|
|
@@ -286,16 +291,16 @@ Mastra supports multiple voice providers for text-to-speech (TTS) and speech-to-
|
|
|
286
291
|
|
|
287
292
|
| Provider | Package | Features | Reference |
|
|
288
293
|
| --------------- | ------------------------------- | ------------------------- | ------------------------------------------------- |
|
|
289
|
-
| OpenAI | `@mastra/voice-openai` | TTS, STT | [Documentation](/reference/voice/openai) |
|
|
290
|
-
| OpenAI Realtime | `@mastra/voice-openai-realtime` | Realtime speech-to-speech | [Documentation](/reference/voice/openai-realtime) |
|
|
291
|
-
| ElevenLabs | `@mastra/voice-elevenlabs` | High-quality TTS | [Documentation](/reference/voice/elevenlabs) |
|
|
292
|
-
| PlayAI | `@mastra/voice-playai` | TTS | [Documentation](/reference/voice/playai) |
|
|
293
|
-
| Google | `@mastra/voice-google` | TTS, STT | [Documentation](/reference/voice/google) |
|
|
294
|
-
| Deepgram | `@mastra/voice-deepgram` | STT | [Documentation](/reference/voice/deepgram) |
|
|
295
|
-
| Murf | `@mastra/voice-murf` | TTS | [Documentation](/reference/voice/murf) |
|
|
296
|
-
| Speechify | `@mastra/voice-speechify` | TTS | [Documentation](/reference/voice/speechify) |
|
|
297
|
-
| Sarvam | `@mastra/voice-sarvam` | TTS, STT | [Documentation](/reference/voice/sarvam) |
|
|
298
|
-
| Azure | `@mastra/voice-azure` | TTS, STT | [Documentation](/reference/voice/mastra-voice) |
|
|
299
|
-
| Cloudflare | `@mastra/voice-cloudflare` | TTS | [Documentation](/reference/voice/mastra-voice) |
|
|
300
|
-
|
|
301
|
-
For more details on voice capabilities, see the [Voice API Reference](/reference/voice/mastra-voice).
|
|
294
|
+
| OpenAI | `@mastra/voice-openai` | TTS, STT | [Documentation](/reference/v1/voice/openai) |
|
|
295
|
+
| OpenAI Realtime | `@mastra/voice-openai-realtime` | Realtime speech-to-speech | [Documentation](/reference/v1/voice/openai-realtime) |
|
|
296
|
+
| ElevenLabs | `@mastra/voice-elevenlabs` | High-quality TTS | [Documentation](/reference/v1/voice/elevenlabs) |
|
|
297
|
+
| PlayAI | `@mastra/voice-playai` | TTS | [Documentation](/reference/v1/voice/playai) |
|
|
298
|
+
| Google | `@mastra/voice-google` | TTS, STT | [Documentation](/reference/v1/voice/google) |
|
|
299
|
+
| Deepgram | `@mastra/voice-deepgram` | STT | [Documentation](/reference/v1/voice/deepgram) |
|
|
300
|
+
| Murf | `@mastra/voice-murf` | TTS | [Documentation](/reference/v1/voice/murf) |
|
|
301
|
+
| Speechify | `@mastra/voice-speechify` | TTS | [Documentation](/reference/v1/voice/speechify) |
|
|
302
|
+
| Sarvam | `@mastra/voice-sarvam` | TTS, STT | [Documentation](/reference/v1/voice/sarvam) |
|
|
303
|
+
| Azure | `@mastra/voice-azure` | TTS, STT | [Documentation](/reference/v1/voice/mastra-voice) |
|
|
304
|
+
| Cloudflare | `@mastra/voice-cloudflare` | TTS | [Documentation](/reference/v1/voice/mastra-voice) |
|
|
305
|
+
|
|
306
|
+
For more details on voice capabilities, see the [Voice API Reference](/reference/v1/voice/mastra-voice).
|
|
@@ -26,7 +26,7 @@ npm install @mastra/memory@latest @mastra/libsql@latest
|
|
|
26
26
|
|
|
27
27
|
## Storage providers
|
|
28
28
|
|
|
29
|
-
Memory requires a storage provider to persist conversation history, including user messages and agent responses. For more details on available providers and how storage works in Mastra, see the [Storage](/docs/server-db/storage) documentation.
|
|
29
|
+
Memory requires a storage provider to persist conversation history, including user messages and agent responses. For more details on available providers and how storage works in Mastra, see the [Storage](/docs/v1/server-db/storage) documentation.
|
|
30
30
|
|
|
31
31
|
## Configuring memory
|
|
32
32
|
|
|
@@ -40,6 +40,8 @@ import { Agent } from "@mastra/core/agent";
|
|
|
40
40
|
import { Memory } from "@mastra/memory";
|
|
41
41
|
|
|
42
42
|
export const memoryAgent = new Agent({
|
|
43
|
+
id: 'memory-agent',
|
|
44
|
+
name: 'Memory Agent',
|
|
43
45
|
// ...
|
|
44
46
|
memory: new Memory({
|
|
45
47
|
options: {
|
|
@@ -51,7 +53,7 @@ export const memoryAgent = new Agent({
|
|
|
51
53
|
|
|
52
54
|
:::note
|
|
53
55
|
|
|
54
|
-
See the [Memory Class](/reference/memory/memory-class) docs for a full list of configuration options.
|
|
56
|
+
See the [Memory Class](/reference/v1/memory/memory-class) docs for a full list of configuration options.
|
|
55
57
|
|
|
56
58
|
:::
|
|
57
59
|
|
|
@@ -62,12 +64,13 @@ See the [Memory Class](/reference/memory/memory-class) docs for a full list of c
|
|
|
62
64
|
Add a storage provider to your main Mastra instance to enable memory across all configured agents.
|
|
63
65
|
|
|
64
66
|
```typescript {6-8} title="src/mastra/index.ts" copy
|
|
65
|
-
import { Mastra } from "@mastra/core
|
|
67
|
+
import { Mastra } from "@mastra/core";
|
|
66
68
|
import { LibSQLStore } from "@mastra/libsql";
|
|
67
69
|
|
|
68
70
|
export const mastra = new Mastra({
|
|
69
71
|
// ..
|
|
70
72
|
storage: new LibSQLStore({
|
|
73
|
+
id: 'mastra-storage',
|
|
71
74
|
url: ":memory:",
|
|
72
75
|
}),
|
|
73
76
|
});
|
|
@@ -75,7 +78,7 @@ export const mastra = new Mastra({
|
|
|
75
78
|
|
|
76
79
|
:::note
|
|
77
80
|
|
|
78
|
-
See the [LibSQL Storage](/reference/storage/libsql) docs for a full list of configuration options.
|
|
81
|
+
See the [LibSQL Storage](/reference/v1/storage/libsql) docs for a full list of configuration options.
|
|
79
82
|
|
|
80
83
|
:::
|
|
81
84
|
|
|
@@ -90,9 +93,12 @@ import { Memory } from "@mastra/memory";
|
|
|
90
93
|
import { LibSQLStore } from "@mastra/libsql";
|
|
91
94
|
|
|
92
95
|
export const memoryAgent = new Agent({
|
|
96
|
+
id: 'memory-agent',
|
|
97
|
+
name: 'Memory Agent',
|
|
93
98
|
// ...
|
|
94
99
|
memory: new Memory({
|
|
95
100
|
storage: new LibSQLStore({
|
|
101
|
+
id: 'mastra-storage',
|
|
96
102
|
url: ":memory:",
|
|
97
103
|
}),
|
|
98
104
|
}),
|
|
@@ -108,13 +114,13 @@ Include a `memory` object with both `resource` and `thread` to track conversatio
|
|
|
108
114
|
|
|
109
115
|
These fields tell the agent where to store and retrieve context, enabling persistent, thread-aware memory across a conversation.
|
|
110
116
|
|
|
111
|
-
```typescript {
|
|
117
|
+
```typescript {5-6}
|
|
112
118
|
const response = await memoryAgent.generate(
|
|
113
119
|
"Remember my favorite color is blue.",
|
|
114
120
|
{
|
|
115
121
|
memory: {
|
|
116
|
-
|
|
117
|
-
|
|
122
|
+
resource: "user-123",
|
|
123
|
+
thread: "conversation-123",
|
|
118
124
|
},
|
|
119
125
|
},
|
|
120
126
|
);
|
|
@@ -125,17 +131,17 @@ To recall information stored in memory, call the agent with the same `resource`
|
|
|
125
131
|
```typescript {3-4}
|
|
126
132
|
const response = await memoryAgent.generate("What's my favorite color?", {
|
|
127
133
|
memory: {
|
|
128
|
-
|
|
129
|
-
|
|
134
|
+
resource: "user-123",
|
|
135
|
+
thread: "conversation-123",
|
|
130
136
|
},
|
|
131
137
|
});
|
|
132
138
|
```
|
|
133
139
|
|
|
134
140
|
To learn more about memory see the [Memory](../memory/overview) documentation.
|
|
135
141
|
|
|
136
|
-
## Using `
|
|
142
|
+
## Using `RequestContext`
|
|
137
143
|
|
|
138
|
-
Use [
|
|
144
|
+
Use [RequestContext](/docs/v1/server-db/request-context) to access request-specific values. This lets you conditionally select different memory or storage configurations based on the context of the request.
|
|
139
145
|
|
|
140
146
|
```typescript title="src/mastra/agents/memory-agent.ts" showLineNumbers
|
|
141
147
|
export type UserTier = {
|
|
@@ -151,9 +157,11 @@ const standardMemory = new Memory({
|
|
|
151
157
|
});
|
|
152
158
|
|
|
153
159
|
export const memoryAgent = new Agent({
|
|
160
|
+
id: 'memory-agent',
|
|
161
|
+
name: 'Memory Agent',
|
|
154
162
|
// ...
|
|
155
|
-
memory: ({
|
|
156
|
-
const userTier =
|
|
163
|
+
memory: ({ requestContext }) => {
|
|
164
|
+
const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
|
|
157
165
|
|
|
158
166
|
return userTier === "enterprise" ? premiumMemory : standardMemory;
|
|
159
167
|
},
|
|
@@ -162,7 +170,7 @@ export const memoryAgent = new Agent({
|
|
|
162
170
|
|
|
163
171
|
:::note
|
|
164
172
|
|
|
165
|
-
See [
|
|
173
|
+
See [Request Context](/docs/v1/server-db/request-context) docs for more information.
|
|
166
174
|
|
|
167
175
|
:::
|
|
168
176
|
|
|
@@ -171,4 +179,4 @@ See [Runtime Context](/docs/server-db/runtime-context) docs for more information
|
|
|
171
179
|
- [Working Memory](../memory/working-memory)
|
|
172
180
|
- [Semantic Recall](../memory/semantic-recall)
|
|
173
181
|
- [Threads and Resources](../memory/threads-and-resources)
|
|
174
|
-
- [
|
|
182
|
+
- [Request Context](/docs/v1/server-db/request-context)
|
|
@@ -28,7 +28,8 @@ import { Agent } from "@mastra/core/agent";
|
|
|
28
28
|
import { ModerationProcessor } from "@mastra/core/processors";
|
|
29
29
|
|
|
30
30
|
export const moderatedAgent = new Agent({
|
|
31
|
-
|
|
31
|
+
id: "moderated-agent",
|
|
32
|
+
name: "Moderated Agent",
|
|
32
33
|
instructions: "You are a helpful assistant",
|
|
33
34
|
model: openai("gpt-4o-mini"),
|
|
34
35
|
inputProcessors: [
|
|
@@ -55,6 +56,8 @@ The `UnicodeNormalizer` is an input processor that cleans and normalizes user in
|
|
|
55
56
|
import { UnicodeNormalizer } from "@mastra/core/processors";
|
|
56
57
|
|
|
57
58
|
export const normalizedAgent = new Agent({
|
|
59
|
+
id: "normalized-agent",
|
|
60
|
+
name: "Normalized Agent",
|
|
58
61
|
// ...
|
|
59
62
|
inputProcessors: [
|
|
60
63
|
new UnicodeNormalizer({
|
|
@@ -65,7 +68,7 @@ export const normalizedAgent = new Agent({
|
|
|
65
68
|
});
|
|
66
69
|
```
|
|
67
70
|
|
|
68
|
-
> See [UnicodeNormalizer](/reference/processors/unicode-normalizer) for a full list of configuration options.
|
|
71
|
+
> See [UnicodeNormalizer](/reference/v1/processors/unicode-normalizer) for a full list of configuration options.
|
|
69
72
|
|
|
70
73
|
### Preventing prompt injection
|
|
71
74
|
|
|
@@ -75,6 +78,8 @@ The `PromptInjectionDetector` is an input processor that scans user messages for
|
|
|
75
78
|
import { PromptInjectionDetector } from "@mastra/core/processors";
|
|
76
79
|
|
|
77
80
|
export const secureAgent = new Agent({
|
|
81
|
+
id: "secure-agent",
|
|
82
|
+
name: "Secure Agent",
|
|
78
83
|
// ...
|
|
79
84
|
inputProcessors: [
|
|
80
85
|
new PromptInjectionDetector({
|
|
@@ -87,7 +92,7 @@ export const secureAgent = new Agent({
|
|
|
87
92
|
});
|
|
88
93
|
```
|
|
89
94
|
|
|
90
|
-
> See [PromptInjectionDetector](/reference/processors/prompt-injection-detector) for a full list of configuration options.
|
|
95
|
+
> See [PromptInjectionDetector](/reference/v1/processors/prompt-injection-detector) for a full list of configuration options.
|
|
91
96
|
|
|
92
97
|
### Detecting and translating language
|
|
93
98
|
|
|
@@ -97,6 +102,8 @@ The `LanguageDetector` is an input processor that detects and translates user me
|
|
|
97
102
|
import { LanguageDetector } from "@mastra/core/processors";
|
|
98
103
|
|
|
99
104
|
export const multilingualAgent = new Agent({
|
|
105
|
+
id: "multilingual-agent",
|
|
106
|
+
name: "Multilingual Agent",
|
|
100
107
|
// ...
|
|
101
108
|
inputProcessors: [
|
|
102
109
|
new LanguageDetector({
|
|
@@ -109,7 +116,7 @@ export const multilingualAgent = new Agent({
|
|
|
109
116
|
});
|
|
110
117
|
```
|
|
111
118
|
|
|
112
|
-
> See [LanguageDetector](/reference/processors/language-detector) for a full list of configuration options.
|
|
119
|
+
> See [LanguageDetector](/reference/v1/processors/language-detector) for a full list of configuration options.
|
|
113
120
|
|
|
114
121
|
## Output processors
|
|
115
122
|
|
|
@@ -123,6 +130,8 @@ The `BatchPartsProcessor` is an output processor that combines multiple stream p
|
|
|
123
130
|
import { BatchPartsProcessor } from "@mastra/core/processors";
|
|
124
131
|
|
|
125
132
|
export const batchedAgent = new Agent({
|
|
133
|
+
id: "batched-agent",
|
|
134
|
+
name: "Batched Agent",
|
|
126
135
|
// ...
|
|
127
136
|
outputProcessors: [
|
|
128
137
|
new BatchPartsProcessor({
|
|
@@ -134,7 +143,7 @@ export const batchedAgent = new Agent({
|
|
|
134
143
|
});
|
|
135
144
|
```
|
|
136
145
|
|
|
137
|
-
> See [BatchPartsProcessor](/reference/processors/batch-parts-processor) for a full list of configuration options.
|
|
146
|
+
> See [BatchPartsProcessor](/reference/v1/processors/batch-parts-processor) for a full list of configuration options.
|
|
138
147
|
|
|
139
148
|
### Limiting token usage
|
|
140
149
|
|
|
@@ -144,6 +153,8 @@ The `TokenLimiterProcessor` is an output processor that limits the number of tok
|
|
|
144
153
|
import { TokenLimiterProcessor } from "@mastra/core/processors";
|
|
145
154
|
|
|
146
155
|
export const limitedAgent = new Agent({
|
|
156
|
+
id: "limited-agent",
|
|
157
|
+
name: "Limited Agent",
|
|
147
158
|
// ...
|
|
148
159
|
outputProcessors: [
|
|
149
160
|
new TokenLimiterProcessor({
|
|
@@ -155,7 +166,7 @@ export const limitedAgent = new Agent({
|
|
|
155
166
|
});
|
|
156
167
|
```
|
|
157
168
|
|
|
158
|
-
> See [TokenLimiterProcessor](/reference/processors/token-limiter-processor) for a full list of configuration options.
|
|
169
|
+
> See [TokenLimiterProcessor](/reference/v1/processors/token-limiter-processor) for a full list of configuration options.
|
|
159
170
|
|
|
160
171
|
### Scrubbing system prompts
|
|
161
172
|
|
|
@@ -165,6 +176,8 @@ The `SystemPromptScrubber` is an output processor that detects and redacts syste
|
|
|
165
176
|
import { SystemPromptScrubber } from "@mastra/core/processors";
|
|
166
177
|
|
|
167
178
|
const scrubbedAgent = new Agent({
|
|
179
|
+
id: "scrubbed-agent",
|
|
180
|
+
name: "Scrubbed Agent",
|
|
168
181
|
outputProcessors: [
|
|
169
182
|
new SystemPromptScrubber({
|
|
170
183
|
model: openai("gpt-4.1-nano"),
|
|
@@ -180,7 +193,7 @@ const scrubbedAgent = new Agent({
|
|
|
180
193
|
});
|
|
181
194
|
```
|
|
182
195
|
|
|
183
|
-
> See [SystemPromptScrubber](/reference/processors/system-prompt-scrubber) for a full list of configuration options.
|
|
196
|
+
> See [SystemPromptScrubber](/reference/v1/processors/system-prompt-scrubber) for a full list of configuration options.
|
|
184
197
|
|
|
185
198
|
## Hybrid processors
|
|
186
199
|
|
|
@@ -194,6 +207,8 @@ The `ModerationProcessor` is a hybrid processor that detects inappropriate or ha
|
|
|
194
207
|
import { ModerationProcessor } from "@mastra/core/processors";
|
|
195
208
|
|
|
196
209
|
export const moderatedAgent = new Agent({
|
|
210
|
+
id: "moderated-agent",
|
|
211
|
+
name: "Moderated Agent",
|
|
197
212
|
// ...
|
|
198
213
|
inputProcessors: [
|
|
199
214
|
new ModerationProcessor({
|
|
@@ -211,7 +226,7 @@ export const moderatedAgent = new Agent({
|
|
|
211
226
|
});
|
|
212
227
|
```
|
|
213
228
|
|
|
214
|
-
> See [ModerationProcessor](/reference/processors/moderation-processor) for a full list of configuration options.
|
|
229
|
+
> See [ModerationProcessor](/reference/v1/processors/moderation-processor) for a full list of configuration options.
|
|
215
230
|
|
|
216
231
|
### Detecting and redacting PII
|
|
217
232
|
|
|
@@ -221,6 +236,8 @@ The `PIIDetector` is a hybrid processor that detects and removes personally iden
|
|
|
221
236
|
import { PIIDetector } from "@mastra/core/processors";
|
|
222
237
|
|
|
223
238
|
export const privateAgent = new Agent({
|
|
239
|
+
id: "private-agent",
|
|
240
|
+
name: "Private Agent",
|
|
224
241
|
// ...
|
|
225
242
|
inputProcessors: [
|
|
226
243
|
new PIIDetector({
|
|
@@ -240,7 +257,7 @@ export const privateAgent = new Agent({
|
|
|
240
257
|
});
|
|
241
258
|
```
|
|
242
259
|
|
|
243
|
-
> See [PIIDetector](/reference/processors/pii-detector) for a full list of configuration options.
|
|
260
|
+
> See [PIIDetector](/reference/v1/processors/pii-detector) for a full list of configuration options.
|
|
244
261
|
|
|
245
262
|
## Applying multiple processors
|
|
246
263
|
|
|
@@ -263,6 +280,8 @@ import {
|
|
|
263
280
|
} from "@mastra/core/processors";
|
|
264
281
|
|
|
265
282
|
export const testAgent = new Agent({
|
|
283
|
+
id: "test-agent",
|
|
284
|
+
name: "Test Agent",
|
|
266
285
|
// ...
|
|
267
286
|
inputProcessors: [
|
|
268
287
|
new UnicodeNormalizer({
|
|
@@ -291,6 +310,8 @@ Most strategies allow the request to continue without interruption. When `block`
|
|
|
291
310
|
import { PIIDetector } from "@mastra/core/processors";
|
|
292
311
|
|
|
293
312
|
export const privateAgent = new Agent({
|
|
313
|
+
id: "private-agent",
|
|
314
|
+
name: "Private Agent",
|
|
294
315
|
// ...
|
|
295
316
|
inputProcessors: [
|
|
296
317
|
new PIIDetector({
|
|
@@ -344,6 +365,6 @@ If the built-in processors don’t cover your needs, you can create your own by
|
|
|
344
365
|
|
|
345
366
|
Available examples:
|
|
346
367
|
|
|
347
|
-
- [Message Length Limiter](
|
|
348
|
-
- [Response Length Limiter](
|
|
349
|
-
- [Response Validator](
|
|
368
|
+
- [Message Length Limiter](/examples/v1/processors/message-length-limiter)
|
|
369
|
+
- [Response Length Limiter](/examples/v1/processors/response-length-limiter)
|
|
370
|
+
- [Response Validator](/examples/v1/processors/response-validator)
|
|
@@ -36,7 +36,8 @@ import { cityWorkflow } from "../workflows/city-workflow";
|
|
|
36
36
|
import { weatherTool } from "../tools/weather-tool";
|
|
37
37
|
|
|
38
38
|
export const routingAgent = new Agent({
|
|
39
|
-
|
|
39
|
+
id: "routing-agent",
|
|
40
|
+
name: "Routing Agent",
|
|
40
41
|
instructions: `
|
|
41
42
|
You are a network of writers and researchers.
|
|
42
43
|
The user will ask you to research a topic.
|
|
@@ -56,6 +57,7 @@ export const routingAgent = new Agent({
|
|
|
56
57
|
},
|
|
57
58
|
memory: new Memory({
|
|
58
59
|
storage: new LibSQLStore({
|
|
60
|
+
id: 'mastra-storage',
|
|
59
61
|
url: "file:../mastra.db",
|
|
60
62
|
}),
|
|
61
63
|
}),
|
|
@@ -72,7 +74,8 @@ Each agent in a network should include a clear `description` that explains what
|
|
|
72
74
|
|
|
73
75
|
```typescript title="src/mastra/agents/research-agent.ts" showLineNumbers
|
|
74
76
|
export const researchAgent = new Agent({
|
|
75
|
-
|
|
77
|
+
id: "research-agent",
|
|
78
|
+
name: "Research Agent",
|
|
76
79
|
description: `This agent gathers concise research insights in bullet-point form.
|
|
77
80
|
It's designed to extract key facts without generating full
|
|
78
81
|
responses or narrative content.`,
|
|
@@ -82,7 +85,8 @@ export const researchAgent = new Agent({
|
|
|
82
85
|
|
|
83
86
|
```typescript title="src/mastra/agents/writing-agent.ts" showLineNumbers
|
|
84
87
|
export const writingAgent = new Agent({
|
|
85
|
-
|
|
88
|
+
id: "writing-agent",
|
|
89
|
+
name: "Writing Agent",
|
|
86
90
|
description: `This agent turns researched material into well-structured
|
|
87
91
|
written content. It produces full-paragraph reports with no bullet points,
|
|
88
92
|
suitable for use in articles, summaries, or blog posts.`,
|
|
@@ -236,4 +240,4 @@ network-execution-event-step-finish
|
|
|
236
240
|
|
|
237
241
|
- [Agent Memory](./agent-memory)
|
|
238
242
|
- [Workflows Overview](../workflows/overview)
|
|
239
|
-
- [
|
|
243
|
+
- [Request Context](/docs/v1/server-db/request-context)
|
|
@@ -46,7 +46,7 @@ OPENAI_API_KEY=<your-api-key>
|
|
|
46
46
|
|
|
47
47
|
:::note
|
|
48
48
|
|
|
49
|
-
Mastra supports more than 600 models. Choose from the [full list](/models).
|
|
49
|
+
Mastra supports more than 600 models. Choose from the [full list](/models/v1).
|
|
50
50
|
|
|
51
51
|
:::
|
|
52
52
|
|
|
@@ -60,7 +60,8 @@ Create an agent by instantiating the `Agent` class with system `instructions` an
|
|
|
60
60
|
import { Agent } from "@mastra/core/agent";
|
|
61
61
|
|
|
62
62
|
export const testAgent = new Agent({
|
|
63
|
-
|
|
63
|
+
id: "test-agent",
|
|
64
|
+
name: "Test Agent",
|
|
64
65
|
instructions: "You are a helpful assistant.",
|
|
65
66
|
model: "openai/gpt-4o-mini",
|
|
66
67
|
});
|
|
@@ -108,7 +109,8 @@ import { openai } from "@ai-sdk/openai";
|
|
|
108
109
|
import { Agent } from "@mastra/core/agent";
|
|
109
110
|
|
|
110
111
|
export const testAgent = new Agent({
|
|
111
|
-
|
|
112
|
+
id: "test-agent",
|
|
113
|
+
name: "Test Agent",
|
|
112
114
|
instructions: "You are a helpful assistant.",
|
|
113
115
|
model: openai("gpt-4o-mini"),
|
|
114
116
|
});
|
|
@@ -161,14 +163,14 @@ instructions: {
|
|
|
161
163
|
}
|
|
162
164
|
```
|
|
163
165
|
|
|
164
|
-
> See the [Agent reference doc](/reference/agents/agent) for more information.
|
|
166
|
+
> See the [Agent reference doc](/reference/v1/agents/agent) for more information.
|
|
165
167
|
|
|
166
168
|
### Registering an agent
|
|
167
169
|
|
|
168
170
|
Register your agent in the Mastra instance to make it available throughout your application. Once registered, it can be called from workflows, tools, or other agents, and has access to shared resources such as memory, logging, and observability features:
|
|
169
171
|
|
|
170
172
|
```typescript {6} showLineNumbers title="src/mastra/index.ts" copy
|
|
171
|
-
import { Mastra } from "@mastra/core
|
|
173
|
+
import { Mastra } from "@mastra/core";
|
|
172
174
|
import { testAgent } from "./agents/test-agent";
|
|
173
175
|
|
|
174
176
|
export const mastra = new Mastra({
|
|
@@ -189,7 +191,7 @@ const testAgent = mastra.getAgent("testAgent");
|
|
|
189
191
|
|
|
190
192
|
`mastra.getAgent()` is preferred over a direct import, since it provides access to the Mastra instance configuration (logger, telemetry, storage, registered agents, and vector stores).
|
|
191
193
|
|
|
192
|
-
See [Calling agents](/examples/agents/calling-agents) for more information.
|
|
194
|
+
See [Calling agents](/examples/v1/agents/calling-agents) for more information.
|
|
193
195
|
|
|
194
196
|
:::
|
|
195
197
|
|
|
@@ -259,7 +261,7 @@ for await (const chunk of stream.textStream) {
|
|
|
259
261
|
</TabItem>
|
|
260
262
|
</Tabs>
|
|
261
263
|
|
|
262
|
-
> See [.generate()](/reference/agents/generate) or [.stream()](/reference/streaming/agents/stream) for more information.
|
|
264
|
+
> See [.generate()](/reference/v1/agents/generate) or [.stream()](/reference/v1/streaming/agents/stream) for more information.
|
|
263
265
|
|
|
264
266
|
## Structured output
|
|
265
267
|
|
|
@@ -420,6 +422,8 @@ Agents can use tools to go beyond language generation, enabling structured inter
|
|
|
420
422
|
|
|
421
423
|
```typescript title="src/mastra/agents/test-agent.ts" showLineNumbers
|
|
422
424
|
export const testAgent = new Agent({
|
|
425
|
+
id: "test-agent",
|
|
426
|
+
name: "Test Agent",
|
|
423
427
|
// ...
|
|
424
428
|
tools: { testTool },
|
|
425
429
|
});
|
|
@@ -427,9 +431,9 @@ export const testAgent = new Agent({
|
|
|
427
431
|
|
|
428
432
|
> See [Using Tools](./using-tools) for more information.
|
|
429
433
|
|
|
430
|
-
## Using `
|
|
434
|
+
## Using `RequestContext`
|
|
431
435
|
|
|
432
|
-
Use `
|
|
436
|
+
Use `RequestContext` to access request-specific values. This lets you conditionally adjust behavior based on the context of the request.
|
|
433
437
|
|
|
434
438
|
```typescript title="src/mastra/agents/test-agent.ts" showLineNumbers
|
|
435
439
|
export type UserTier = {
|
|
@@ -437,9 +441,11 @@ export type UserTier = {
|
|
|
437
441
|
};
|
|
438
442
|
|
|
439
443
|
export const testAgent = new Agent({
|
|
444
|
+
id: "test-agent",
|
|
445
|
+
name: "Test Agent",
|
|
440
446
|
// ...
|
|
441
|
-
model: ({
|
|
442
|
-
const userTier =
|
|
447
|
+
model: ({ requestContext }) => {
|
|
448
|
+
const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
|
|
443
449
|
|
|
444
450
|
return userTier === "enterprise"
|
|
445
451
|
? openai("gpt-4o-mini")
|
|
@@ -448,15 +454,15 @@ export const testAgent = new Agent({
|
|
|
448
454
|
});
|
|
449
455
|
```
|
|
450
456
|
|
|
451
|
-
> See [
|
|
457
|
+
> See [Request Context](/docs/v1/server-db/request-context) for more information.
|
|
452
458
|
|
|
453
459
|
## Testing with Studio
|
|
454
460
|
|
|
455
|
-
Use [Studio](/docs/getting-started/studio) to test agents with different messages, inspect tool calls and responses, and debug agent behavior.
|
|
461
|
+
Use [Studio](/docs/v1/getting-started/studio) to test agents with different messages, inspect tool calls and responses, and debug agent behavior.
|
|
456
462
|
|
|
457
463
|
## Related
|
|
458
464
|
|
|
459
465
|
- [Using Tools](./using-tools)
|
|
460
466
|
- [Agent Memory](./agent-memory)
|
|
461
|
-
- [
|
|
462
|
-
- [Calling Agents](/examples/agents/calling-agents)
|
|
467
|
+
- [Request Context](/examples/v1/agents/request-context)
|
|
468
|
+
- [Calling Agents](/examples/v1/agents/calling-agents)
|
|
@@ -13,9 +13,9 @@ Use tools when an agent needs additional context or information from remote reso
|
|
|
13
13
|
|
|
14
14
|
## Creating a tool
|
|
15
15
|
|
|
16
|
-
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
|
|
16
|
+
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.
|
|
17
17
|
|
|
18
|
-
```typescript {14
|
|
18
|
+
```typescript {14} title="src/mastra/tools/weather-tool.ts" showLineNumbers copy
|
|
19
19
|
import { createTool } from "@mastra/core/tools";
|
|
20
20
|
import { z } from "zod";
|
|
21
21
|
|
|
@@ -28,8 +28,8 @@ export const weatherTool = createTool({
|
|
|
28
28
|
outputSchema: z.object({
|
|
29
29
|
weather: z.string(),
|
|
30
30
|
}),
|
|
31
|
-
execute: async (
|
|
32
|
-
const { location } =
|
|
31
|
+
execute: async (inputData) => {
|
|
32
|
+
const { location } = inputData;
|
|
33
33
|
|
|
34
34
|
const response = await fetch(`https://wttr.in/${location}?format=3`);
|
|
35
35
|
const weather = await response.text();
|
|
@@ -49,7 +49,8 @@ import { Agent } from "@mastra/core/agent";
|
|
|
49
49
|
import { weatherTool } from "../tools/weather-tool";
|
|
50
50
|
|
|
51
51
|
export const weatherAgent = new Agent({
|
|
52
|
-
|
|
52
|
+
id: "weather-agent",
|
|
53
|
+
name: "Weather Agent",
|
|
53
54
|
instructions: `
|
|
54
55
|
You are a helpful weather assistant.
|
|
55
56
|
Use the weatherTool to fetch current weather data.`,
|
|
@@ -60,7 +61,7 @@ export const weatherAgent = new Agent({
|
|
|
60
61
|
|
|
61
62
|
## Calling an agent
|
|
62
63
|
|
|
63
|
-
The agent uses the tool
|
|
64
|
+
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.
|
|
64
65
|
|
|
65
66
|
```typescript {5} title="src/test-tool.ts" showLineNumbers copy
|
|
66
67
|
import { mastra } from "./mastra";
|
|
@@ -81,6 +82,8 @@ import { weatherTool } from "../tools/weather-tool";
|
|
|
81
82
|
import { activitiesTool } from "../tools/activities-tool";
|
|
82
83
|
|
|
83
84
|
export const weatherAgent = new Agent({
|
|
85
|
+
id: "weather-agent",
|
|
86
|
+
name: "Weather Agent",
|
|
84
87
|
// ..
|
|
85
88
|
tools: { weatherTool, activitiesTool },
|
|
86
89
|
});
|
|
@@ -90,5 +93,5 @@ export const weatherAgent = new Agent({
|
|
|
90
93
|
|
|
91
94
|
- [Tools Overview](../tools-mcp/overview)
|
|
92
95
|
- [Agent Memory](./agent-memory)
|
|
93
|
-
- [
|
|
94
|
-
- [Calling Agents](/examples/agents/calling-agents)
|
|
96
|
+
- [Request Context](/docs/v1/server-db/request-context)
|
|
97
|
+
- [Calling Agents](/examples/v1/agents/calling-agents)
|