@mastra/mcp-docs-server 0.13.37 → 0.13.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
- package/.docs/organized/changelogs/create-mastra.md +5 -5
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/raw/agents/adding-voice.mdx +20 -9
- package/.docs/raw/agents/agent-memory.mdx +55 -39
- package/.docs/raw/agents/guardrails.mdx +68 -61
- package/.docs/raw/agents/networks.mdx +50 -46
- package/.docs/raw/agents/overview.mdx +125 -88
- package/.docs/raw/agents/using-tools.mdx +14 -15
- package/.docs/raw/auth/auth0.mdx +28 -27
- package/.docs/raw/auth/clerk.mdx +22 -20
- package/.docs/raw/auth/firebase.mdx +42 -39
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +18 -16
- package/.docs/raw/auth/supabase.mdx +20 -18
- package/.docs/raw/auth/workos.mdx +32 -26
- package/.docs/raw/community/contributing-templates.mdx +7 -7
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
- package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
- package/.docs/raw/deployment/monorepo.mdx +32 -42
- package/.docs/raw/deployment/overview.mdx +15 -15
- package/.docs/raw/deployment/server-deployment.mdx +18 -23
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
- package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
- package/.docs/raw/deployment/web-framework.mdx +14 -14
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
- package/.docs/raw/frameworks/servers/express.mdx +45 -44
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
- package/.docs/raw/getting-started/installation.mdx +164 -133
- package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
- package/.docs/raw/getting-started/project-structure.mdx +34 -42
- package/.docs/raw/getting-started/studio.mdx +40 -58
- package/.docs/raw/getting-started/templates.mdx +22 -27
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
- package/.docs/raw/mastra-cloud/observability.mdx +7 -8
- package/.docs/raw/mastra-cloud/overview.mdx +16 -22
- package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
- package/.docs/raw/memory/conversation-history.mdx +2 -2
- package/.docs/raw/memory/overview.mdx +21 -23
- package/.docs/raw/memory/semantic-recall.mdx +14 -13
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
- package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
- package/.docs/raw/memory/threads-and-resources.mdx +23 -20
- package/.docs/raw/memory/working-memory.mdx +27 -38
- package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
- package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
- package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
- package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
- package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
- package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
- package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
- package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
- package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
- package/.docs/raw/observability/logging.mdx +14 -17
- package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
- package/.docs/raw/observability/otel-tracing.mdx +17 -18
- package/.docs/raw/observability/overview.mdx +14 -10
- package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
- package/.docs/raw/rag/overview.mdx +5 -5
- package/.docs/raw/rag/retrieval.mdx +125 -107
- package/.docs/raw/rag/vector-databases.mdx +232 -223
- package/.docs/raw/reference/agents/agent.mdx +54 -41
- package/.docs/raw/reference/agents/generate.mdx +367 -261
- package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDescription.mdx +3 -2
- package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
- package/.docs/raw/reference/agents/getLLM.mdx +11 -7
- package/.docs/raw/reference/agents/getMemory.mdx +7 -5
- package/.docs/raw/reference/agents/getModel.mdx +7 -5
- package/.docs/raw/reference/agents/getScorers.mdx +7 -5
- package/.docs/raw/reference/agents/getTools.mdx +7 -5
- package/.docs/raw/reference/agents/getVoice.mdx +7 -5
- package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
- package/.docs/raw/reference/agents/listAgents.mdx +6 -4
- package/.docs/raw/reference/agents/network.mdx +171 -116
- package/.docs/raw/reference/auth/auth0.mdx +18 -14
- package/.docs/raw/reference/auth/clerk.mdx +15 -12
- package/.docs/raw/reference/auth/firebase.mdx +23 -16
- package/.docs/raw/reference/auth/jwt.mdx +7 -6
- package/.docs/raw/reference/auth/supabase.mdx +13 -10
- package/.docs/raw/reference/auth/workos.mdx +17 -13
- package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
- package/.docs/raw/reference/cli/mastra.mdx +11 -11
- package/.docs/raw/reference/client-js/agents.mdx +40 -43
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
- package/.docs/raw/reference/client-js/memory.mdx +6 -2
- package/.docs/raw/reference/client-js/observability.mdx +10 -9
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +7 -7
- package/.docs/raw/reference/core/getAgent.mdx +6 -5
- package/.docs/raw/reference/core/getAgentById.mdx +5 -4
- package/.docs/raw/reference/core/getAgents.mdx +3 -3
- package/.docs/raw/reference/core/getDeployer.mdx +4 -3
- package/.docs/raw/reference/core/getLogger.mdx +4 -3
- package/.docs/raw/reference/core/getLogs.mdx +10 -6
- package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
- package/.docs/raw/reference/core/getMemory.mdx +4 -3
- package/.docs/raw/reference/core/getScorer.mdx +15 -12
- package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
- package/.docs/raw/reference/core/getScorers.mdx +3 -2
- package/.docs/raw/reference/core/getServer.mdx +4 -3
- package/.docs/raw/reference/core/getStorage.mdx +4 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
- package/.docs/raw/reference/core/getVector.mdx +6 -4
- package/.docs/raw/reference/core/getVectors.mdx +4 -3
- package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
- package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
- package/.docs/raw/reference/core/mastra-class.mdx +16 -16
- package/.docs/raw/reference/core/setLogger.mdx +6 -4
- package/.docs/raw/reference/core/setStorage.mdx +4 -4
- package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -4
- package/.docs/raw/reference/deployer/vercel.mdx +6 -6
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/bias.mdx +4 -5
- package/.docs/raw/reference/evals/completeness.mdx +4 -5
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
- package/.docs/raw/reference/evals/context-position.mdx +4 -5
- package/.docs/raw/reference/evals/context-precision.mdx +4 -5
- package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
- package/.docs/raw/reference/evals/hallucination.mdx +4 -6
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
- package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
- package/.docs/raw/reference/evals/summarization.mdx +4 -6
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
- package/.docs/raw/reference/evals/toxicity.mdx +4 -5
- package/.docs/raw/reference/index.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
- package/.docs/raw/reference/memory/createThread.mdx +10 -10
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
- package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
- package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
- package/.docs/raw/reference/memory/query.mdx +39 -25
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
- package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
- package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
- package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
- package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
- package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
- package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
- package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
- package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
- package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
- package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
- package/.docs/raw/reference/processors/language-detector.mdx +27 -17
- package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
- package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
- package/.docs/raw/reference/rag/chunk.mdx +41 -23
- package/.docs/raw/reference/rag/database-config.mdx +56 -38
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +1 -1
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
- package/.docs/raw/reference/rag/rerank.mdx +1 -1
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
- package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
- package/.docs/raw/reference/scorers/bias.mdx +22 -19
- package/.docs/raw/reference/scorers/completeness.mdx +21 -16
- package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
- package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
- package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
- package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
- package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
- package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
- package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
- package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
- package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
- package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
- package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
- package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
- package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +2 -2
- package/.docs/raw/reference/storage/mongodb.mdx +4 -5
- package/.docs/raw/reference/storage/mssql.mdx +5 -4
- package/.docs/raw/reference/storage/postgresql.mdx +35 -33
- package/.docs/raw/reference/storage/upstash.mdx +6 -5
- package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
- package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
- package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
- package/.docs/raw/reference/templates/overview.mdx +16 -39
- package/.docs/raw/reference/tools/client.mdx +1 -1
- package/.docs/raw/reference/tools/create-tool.mdx +45 -35
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
- package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
- package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
- package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +25 -19
- package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +5 -6
- package/.docs/raw/reference/vectors/libsql.mdx +1 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
- package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
- package/.docs/raw/reference/vectors/pg.mdx +8 -4
- package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
- package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
- package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
- package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +33 -25
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +1 -1
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
- package/.docs/raw/reference/voice/google.mdx +1 -1
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
- package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
- package/.docs/raw/reference/voice/voice.close.mdx +1 -1
- package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
- package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
- package/.docs/raw/reference/voice/voice.off.mdx +1 -1
- package/.docs/raw/reference/voice/voice.on.mdx +1 -1
- package/.docs/raw/reference/voice/voice.send.mdx +1 -1
- package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
- package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
- package/.docs/raw/reference/workflows/run.mdx +7 -10
- package/.docs/raw/reference/workflows/step.mdx +15 -12
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow.mdx +13 -10
- package/.docs/raw/scorers/custom-scorers.mdx +58 -48
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
- package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
- package/.docs/raw/scorers/overview.mdx +20 -19
- package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
- package/.docs/raw/server-db/mastra-client.mdx +56 -54
- package/.docs/raw/server-db/middleware.mdx +11 -7
- package/.docs/raw/server-db/production-server.mdx +5 -7
- package/.docs/raw/server-db/runtime-context.mdx +41 -38
- package/.docs/raw/server-db/storage.mdx +82 -87
- package/.docs/raw/streaming/events.mdx +24 -16
- package/.docs/raw/streaming/overview.mdx +17 -18
- package/.docs/raw/streaming/tool-streaming.mdx +9 -10
- package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
- package/.docs/raw/tools-mcp/overview.mdx +9 -14
- package/.docs/raw/voice/overview.mdx +273 -250
- package/.docs/raw/voice/speech-to-speech.mdx +14 -12
- package/.docs/raw/voice/speech-to-text.mdx +2 -2
- package/.docs/raw/voice/text-to-speech.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
- package/.docs/raw/workflows/control-flow.mdx +24 -24
- package/.docs/raw/workflows/error-handling.mdx +15 -17
- package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
- package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
- package/.docs/raw/workflows/overview.mdx +60 -60
- package/.docs/raw/workflows/snapshots.mdx +54 -36
- package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
- package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
- package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
- package/.docs/raw/workflows-legacy/overview.mdx +28 -26
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
- package/.docs/raw/workflows-legacy/steps.mdx +5 -3
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
- package/.docs/raw/workflows-legacy/variables.mdx +10 -8
- package/CHANGELOG.md +14 -0
- package/package.json +5 -5
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "Integrate Mastra in your Astro project | Frameworks | Mastra Docs"
|
|
3
3
|
description: A step-by-step guide to integrating Mastra with Astro.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import Tabs from "@theme/Tabs";
|
|
7
|
+
import TabItem from "@theme/TabItem";
|
|
8
|
+
import Steps from "@site/src/components/Steps";
|
|
9
|
+
import StepItem from "@site/src/components/StepItem";
|
|
7
10
|
|
|
8
11
|
# Integrate Mastra in your Astro project
|
|
9
12
|
|
|
@@ -15,72 +18,79 @@ Mastra integrates with Astro, making it easy to:
|
|
|
15
18
|
|
|
16
19
|
Use this guide to scaffold and integrate Mastra with your Astro project.
|
|
17
20
|
|
|
18
|
-
<Tabs
|
|
19
|
-
<
|
|
21
|
+
<Tabs>
|
|
22
|
+
<TabItem value="actions" label="Actions">
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
:::warning
|
|
25
|
+
|
|
26
|
+
This guide assumes you're using Astro's Actions with React and the Vercel adapter.
|
|
27
|
+
|
|
28
|
+
:::
|
|
24
29
|
|
|
25
30
|
<Steps>
|
|
26
|
-
## Install Mastra
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
{/*
|
|
30
|
-
LLM CONTEXT: This Tabs component shows commands for integrating a new Mastra backend project using different package managers.
|
|
31
|
-
Each tab displays the command for that specific package manager to create an integrated Mastra backend service.
|
|
32
|
-
This is part of the "Integrated Backend Integration" approach for Astro projects.
|
|
33
|
-
All commands create the same Mastra project but use different package manager syntax.
|
|
34
|
-
*/}
|
|
35
|
-
|
|
36
|
-
<Tabs items={["npm", "yarn", "pnpm", "bun"]}>
|
|
37
|
-
<Tabs.Tab>
|
|
38
|
-
```bash copy
|
|
39
|
-
npm install mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
40
|
-
```
|
|
41
|
-
</Tabs.Tab>
|
|
42
|
-
<Tabs.Tab>
|
|
43
|
-
```bash copy
|
|
44
|
-
yarn add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
45
|
-
```
|
|
46
|
-
</Tabs.Tab>
|
|
47
|
-
<Tabs.Tab>
|
|
48
|
-
```bash copy
|
|
49
|
-
pnpm add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
50
|
-
```
|
|
51
|
-
</Tabs.Tab>
|
|
52
|
-
<Tabs.Tab>
|
|
53
|
-
```bash copy
|
|
54
|
-
bun add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
55
|
-
```
|
|
56
|
-
</Tabs.Tab>
|
|
57
|
-
</Tabs>
|
|
32
|
+
<StepItem>
|
|
58
33
|
|
|
59
|
-
|
|
34
|
+
Install the required Mastra packages:
|
|
60
35
|
|
|
61
|
-
|
|
36
|
+
<Tabs>
|
|
37
|
+
<TabItem value="npm" label="npm">
|
|
62
38
|
|
|
63
|
-
|
|
39
|
+
```bash copy
|
|
40
|
+
npm install mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
41
|
+
```
|
|
64
42
|
|
|
65
|
-
|
|
43
|
+
</TabItem>
|
|
44
|
+
<TabItem value="yarn" label="yarn">
|
|
66
45
|
|
|
67
46
|
```bash copy
|
|
68
|
-
|
|
47
|
+
yarn add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
69
48
|
```
|
|
70
49
|
|
|
71
|
-
>
|
|
50
|
+
</TabItem>
|
|
51
|
+
<TabItem value="pnpm" label="pnpm">
|
|
72
52
|
|
|
73
|
-
|
|
53
|
+
```bash copy
|
|
54
|
+
pnpm add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
55
|
+
```
|
|
74
56
|
|
|
75
|
-
|
|
57
|
+
</TabItem>
|
|
58
|
+
<TabItem value="bun" label="bun">
|
|
76
59
|
|
|
77
60
|
```bash copy
|
|
78
|
-
|
|
61
|
+
bun add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
79
62
|
```
|
|
80
63
|
|
|
64
|
+
</TabItem>
|
|
65
|
+
</Tabs>
|
|
66
|
+
|
|
67
|
+
</StepItem>
|
|
68
|
+
|
|
69
|
+
<StepItem>
|
|
70
|
+
|
|
71
|
+
To integrate Mastra into your project, you have two options:
|
|
72
|
+
|
|
73
|
+
- Use the One-Liner
|
|
74
|
+
|
|
75
|
+
Run the following command to quickly scaffold the default Weather agent with sensible defaults:
|
|
76
|
+
|
|
77
|
+
```bash copy
|
|
78
|
+
npx mastra@latest init --default
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
> See [mastra init](/reference/cli/create-mastra) for more information.
|
|
82
|
+
|
|
83
|
+
- Use the Interactive CLI
|
|
84
|
+
|
|
85
|
+
If you prefer to customize the setup, run the `init` command and choose from the options when prompted:
|
|
86
|
+
|
|
87
|
+
```bash copy
|
|
88
|
+
npx mastra@latest init
|
|
89
|
+
```
|
|
90
|
+
|
|
81
91
|
Add the `dev` and `build` scripts to `package.json`:
|
|
82
92
|
|
|
83
|
-
```json
|
|
93
|
+
```json title="package.json"
|
|
84
94
|
{
|
|
85
95
|
"scripts": {
|
|
86
96
|
...
|
|
@@ -90,37 +100,47 @@ Add the `dev` and `build` scripts to `package.json`:
|
|
|
90
100
|
}
|
|
91
101
|
```
|
|
92
102
|
|
|
93
|
-
|
|
103
|
+
</StepItem>
|
|
104
|
+
|
|
105
|
+
<StepItem>
|
|
94
106
|
|
|
95
107
|
Modify the `tsconfig.json` file in your project root:
|
|
96
108
|
|
|
97
|
-
```json
|
|
109
|
+
```json title="tsconfig.json"
|
|
98
110
|
{
|
|
99
111
|
...
|
|
100
112
|
"exclude": ["dist", ".mastra"]
|
|
101
113
|
}
|
|
102
114
|
```
|
|
103
115
|
|
|
104
|
-
|
|
116
|
+
</StepItem>
|
|
105
117
|
|
|
106
|
-
|
|
118
|
+
<StepItem>
|
|
119
|
+
|
|
120
|
+
Setup your API key in a `.env` file:
|
|
121
|
+
|
|
122
|
+
```bash title=".env" copy
|
|
107
123
|
OPENAI_API_KEY=<your-api-key>
|
|
108
124
|
```
|
|
109
125
|
|
|
110
|
-
|
|
126
|
+
</StepItem>
|
|
127
|
+
|
|
128
|
+
<StepItem>
|
|
111
129
|
|
|
112
130
|
Add `.mastra` and `.vercel` to your `.gitignore` file:
|
|
113
131
|
|
|
114
|
-
```bash
|
|
132
|
+
```bash title=".gitignore" copy
|
|
115
133
|
.mastra
|
|
116
134
|
.vercel
|
|
117
135
|
```
|
|
118
136
|
|
|
119
|
-
|
|
137
|
+
</StepItem>
|
|
138
|
+
|
|
139
|
+
<StepItem>
|
|
120
140
|
|
|
121
141
|
Astro uses Vite, which accesses environment variables via `import.meta.env` rather than `process.env`. As a result, the model constructor must explicitly receive the `apiKey` from the Vite environment like this:
|
|
122
142
|
|
|
123
|
-
```diff
|
|
143
|
+
```diff title="src/mastra/agents/weather-agent.ts"
|
|
124
144
|
- import { openai } from "@ai-sdk/openai";
|
|
125
145
|
+ import { createOpenAI } from "@ai-sdk/openai";
|
|
126
146
|
|
|
@@ -132,36 +152,50 @@ Astro uses Vite, which accesses environment variables via `import.meta.env` rath
|
|
|
132
152
|
|
|
133
153
|
> More configuration details are available in the AI SDK docs. See [Provider Instance](https://ai-sdk.dev/providers/ai-sdk-providers/openai#provider-instance) for more information.
|
|
134
154
|
|
|
135
|
-
|
|
155
|
+
</StepItem>
|
|
156
|
+
|
|
157
|
+
<StepItem>
|
|
136
158
|
|
|
137
159
|
Start the Mastra Dev Server to expose your agents as REST endpoints:
|
|
138
160
|
|
|
139
|
-
<Tabs
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
161
|
+
<Tabs>
|
|
162
|
+
<TabItem value="npm" label="npm">
|
|
163
|
+
|
|
164
|
+
```bash copy
|
|
165
|
+
npm run dev:mastra
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
</TabItem>
|
|
169
|
+
<TabItem value="cli" label="CLI">
|
|
170
|
+
|
|
171
|
+
```bash copy
|
|
172
|
+
mastra dev:mastra
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
</TabItem>
|
|
150
176
|
</Tabs>
|
|
151
177
|
|
|
152
|
-
> Once running, your agents are available locally. See [Local Development Environment](/docs/
|
|
178
|
+
> Once running, your agents are available locally. See [Local Development Environment](/docs/getting-started/studio) for more information.
|
|
179
|
+
|
|
180
|
+
</StepItem>
|
|
153
181
|
|
|
154
|
-
|
|
182
|
+
<StepItem>
|
|
155
183
|
|
|
156
184
|
With the Mastra Dev Server running, you can start your Astro site in the usual way.
|
|
157
185
|
|
|
158
|
-
|
|
186
|
+
</StepItem>
|
|
187
|
+
|
|
188
|
+
<StepItem>
|
|
189
|
+
|
|
190
|
+
Create an `actions` directory:
|
|
159
191
|
|
|
160
192
|
```bash copy
|
|
161
193
|
mkdir src/actions
|
|
162
194
|
```
|
|
163
195
|
|
|
164
|
-
|
|
196
|
+
</StepItem>
|
|
197
|
+
|
|
198
|
+
<StepItem>
|
|
165
199
|
|
|
166
200
|
Create a new Action, and add the example code:
|
|
167
201
|
|
|
@@ -169,7 +203,7 @@ Create a new Action, and add the example code:
|
|
|
169
203
|
touch src/actions/index.ts
|
|
170
204
|
```
|
|
171
205
|
|
|
172
|
-
```typescript
|
|
206
|
+
```typescript title="src/actions/index.ts" showLineNumbers copy
|
|
173
207
|
import { defineAction } from "astro:actions";
|
|
174
208
|
import { z } from "astro:schema";
|
|
175
209
|
|
|
@@ -178,21 +212,25 @@ import { mastra } from "../mastra";
|
|
|
178
212
|
export const server = {
|
|
179
213
|
getWeatherInfo: defineAction({
|
|
180
214
|
input: z.object({
|
|
181
|
-
city: z.string()
|
|
215
|
+
city: z.string(),
|
|
182
216
|
}),
|
|
183
217
|
handler: async (input) => {
|
|
184
218
|
const city = input.city;
|
|
185
219
|
const agent = mastra.getAgent("weatherAgent");
|
|
186
220
|
|
|
187
|
-
const result = await agent.generate(
|
|
221
|
+
const result = await agent.generate(
|
|
222
|
+
`What's the weather like in ${city}?`,
|
|
223
|
+
);
|
|
188
224
|
|
|
189
225
|
return result.text;
|
|
190
|
-
}
|
|
191
|
-
})
|
|
226
|
+
},
|
|
227
|
+
}),
|
|
192
228
|
};
|
|
193
229
|
```
|
|
194
230
|
|
|
195
|
-
|
|
231
|
+
</StepItem>
|
|
232
|
+
|
|
233
|
+
<StepItem>
|
|
196
234
|
|
|
197
235
|
Create a new Form component, and add the example code:
|
|
198
236
|
|
|
@@ -200,7 +238,7 @@ Create a new Form component, and add the example code:
|
|
|
200
238
|
touch src/components/form.tsx
|
|
201
239
|
```
|
|
202
240
|
|
|
203
|
-
```typescript
|
|
241
|
+
```typescript title="src/components/form.tsx" showLineNumbers copy
|
|
204
242
|
import { actions } from "astro:actions";
|
|
205
243
|
import { useState } from "react";
|
|
206
244
|
|
|
@@ -226,7 +264,9 @@ export const Form = () => {
|
|
|
226
264
|
};
|
|
227
265
|
```
|
|
228
266
|
|
|
229
|
-
|
|
267
|
+
</StepItem>
|
|
268
|
+
|
|
269
|
+
<StepItem>
|
|
230
270
|
|
|
231
271
|
Create a new Page, and add the example code:
|
|
232
272
|
|
|
@@ -234,7 +274,7 @@ Create a new Page, and add the example code:
|
|
|
234
274
|
touch src/pages/test.astro
|
|
235
275
|
```
|
|
236
276
|
|
|
237
|
-
```astro
|
|
277
|
+
```astro title="src/pages/test.astro" showLineNumbers copy
|
|
238
278
|
---
|
|
239
279
|
import { Form } from '../components/form'
|
|
240
280
|
---
|
|
@@ -258,82 +298,92 @@ Agent response: The current weather in London is as follows:
|
|
|
258
298
|
|
|
259
299
|
Let me know if you need more information!
|
|
260
300
|
```
|
|
301
|
+
|
|
302
|
+
</StepItem>
|
|
303
|
+
|
|
261
304
|
</Steps>
|
|
262
|
-
</
|
|
305
|
+
</TabItem>
|
|
306
|
+
|
|
307
|
+
<TabItem value="server-endpoints" label="Server Endpoints">
|
|
308
|
+
|
|
309
|
+
:::warning
|
|
263
310
|
|
|
264
|
-
|
|
311
|
+
This guide assumes you're using Astro's Endpoints with React and the Vercel adapter, and your output is set to server.
|
|
265
312
|
|
|
266
|
-
|
|
267
|
-
This guide assumes you're using Astro's Endpoints with React and the Vercel adapter, and your output is set to server.
|
|
268
|
-
</Callout>
|
|
313
|
+
:::
|
|
269
314
|
|
|
270
315
|
## Prerequisites
|
|
271
316
|
|
|
272
317
|
Before proceeding, ensure your Astro project is configured as follows:
|
|
273
318
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
319
|
+
- Astro React integration: [@astrojs/react](https://docs.astro.build/en/guides/integrations-guide/react/)
|
|
320
|
+
- Vercel adapter: [@astrojs/vercel](https://docs.astro.build/en/guides/integrations-guide/vercel/)
|
|
321
|
+
- `astro.config.mjs` is set to `output: "server"`
|
|
277
322
|
|
|
278
|
-
|
|
279
|
-
## Install Mastra
|
|
323
|
+
<Steps>
|
|
280
324
|
|
|
281
|
-
|
|
282
|
-
{/*
|
|
283
|
-
LLM CONTEXT: This Tabs component shows commands for integrating a new Mastra backend project using different package managers.
|
|
284
|
-
Each tab displays the command for that specific package manager to create an integrated Mastra backend service.
|
|
285
|
-
This is part of the "Integrated Backend Integration" approach for Astro projects.
|
|
286
|
-
All commands create the same Mastra project but use different package manager syntax.
|
|
287
|
-
*/}
|
|
288
|
-
|
|
289
|
-
<Tabs items={["npm", "yarn", "pnpm", "bun"]}>
|
|
290
|
-
<Tabs.Tab>
|
|
291
|
-
```bash copy
|
|
292
|
-
npm install mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
293
|
-
```
|
|
294
|
-
</Tabs.Tab>
|
|
295
|
-
<Tabs.Tab>
|
|
296
|
-
```bash copy
|
|
297
|
-
yarn add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
298
|
-
```
|
|
299
|
-
</Tabs.Tab>
|
|
300
|
-
<Tabs.Tab>
|
|
301
|
-
```bash copy
|
|
302
|
-
pnpm add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
303
|
-
```
|
|
304
|
-
</Tabs.Tab>
|
|
305
|
-
<Tabs.Tab>
|
|
306
|
-
```bash copy
|
|
307
|
-
bun add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
308
|
-
```
|
|
309
|
-
</Tabs.Tab>
|
|
310
|
-
</Tabs>
|
|
325
|
+
<StepItem>
|
|
311
326
|
|
|
312
|
-
|
|
327
|
+
Install the required Mastra packages:
|
|
313
328
|
|
|
314
|
-
|
|
329
|
+
<Tabs>
|
|
330
|
+
<TabItem value="npm" label="npm">
|
|
315
331
|
|
|
316
|
-
|
|
332
|
+
```bash copy
|
|
333
|
+
npm install mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
334
|
+
```
|
|
317
335
|
|
|
318
|
-
|
|
336
|
+
</TabItem>
|
|
337
|
+
<TabItem value="yarn" label="yarn">
|
|
319
338
|
|
|
320
339
|
```bash copy
|
|
321
|
-
|
|
340
|
+
yarn add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
322
341
|
```
|
|
323
342
|
|
|
324
|
-
>
|
|
343
|
+
</TabItem>
|
|
344
|
+
<TabItem value="pnpm" label="pnpm">
|
|
325
345
|
|
|
326
|
-
|
|
346
|
+
```bash copy
|
|
347
|
+
pnpm add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
348
|
+
```
|
|
327
349
|
|
|
328
|
-
|
|
350
|
+
</TabItem>
|
|
351
|
+
<TabItem value="bun" label="bun">
|
|
329
352
|
|
|
330
353
|
```bash copy
|
|
331
|
-
|
|
354
|
+
bun add mastra@latest @mastra/core@latest @mastra/libsql@latest
|
|
332
355
|
```
|
|
333
356
|
|
|
357
|
+
</TabItem>
|
|
358
|
+
</Tabs>
|
|
359
|
+
|
|
360
|
+
</StepItem>
|
|
361
|
+
|
|
362
|
+
<StepItem>
|
|
363
|
+
|
|
364
|
+
To integrate Mastra into your project, you have two options:
|
|
365
|
+
|
|
366
|
+
- Use the One-Liner
|
|
367
|
+
|
|
368
|
+
Run the following command to quickly scaffold the default Weather agent with sensible defaults:
|
|
369
|
+
|
|
370
|
+
```bash copy
|
|
371
|
+
npx mastra@latest init --default
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
> See [mastra init](/reference/cli/create-mastra) for more information.
|
|
375
|
+
|
|
376
|
+
- Use the Interactive CLI
|
|
377
|
+
|
|
378
|
+
If you prefer to customize the setup, run the `init` command and choose from the options when prompted:
|
|
379
|
+
|
|
380
|
+
```bash copy
|
|
381
|
+
npx mastra@latest init
|
|
382
|
+
```
|
|
383
|
+
|
|
334
384
|
Add the `dev` and `build` scripts to `package.json`:
|
|
335
385
|
|
|
336
|
-
```json
|
|
386
|
+
```json title="package.json"
|
|
337
387
|
{
|
|
338
388
|
"scripts": {
|
|
339
389
|
...
|
|
@@ -343,37 +393,47 @@ Add the `dev` and `build` scripts to `package.json`:
|
|
|
343
393
|
}
|
|
344
394
|
```
|
|
345
395
|
|
|
346
|
-
|
|
396
|
+
</StepItem>
|
|
397
|
+
|
|
398
|
+
<StepItem>
|
|
347
399
|
|
|
348
400
|
Modify the `tsconfig.json` file in your project root:
|
|
349
401
|
|
|
350
|
-
```json
|
|
402
|
+
```json title="tsconfig.json"
|
|
351
403
|
{
|
|
352
404
|
...
|
|
353
405
|
"exclude": ["dist", ".mastra"]
|
|
354
406
|
}
|
|
355
407
|
```
|
|
356
408
|
|
|
357
|
-
|
|
409
|
+
</StepItem>
|
|
358
410
|
|
|
359
|
-
|
|
411
|
+
<StepItem>
|
|
412
|
+
|
|
413
|
+
Setup your API key in a `.env` file:
|
|
414
|
+
|
|
415
|
+
```bash title=".env" copy
|
|
360
416
|
OPENAI_API_KEY=<your-api-key>
|
|
361
417
|
```
|
|
362
418
|
|
|
363
|
-
|
|
419
|
+
</StepItem>
|
|
420
|
+
|
|
421
|
+
<StepItem>
|
|
364
422
|
|
|
365
423
|
Add `.mastra` to your `.gitignore` file:
|
|
366
424
|
|
|
367
|
-
```bash
|
|
425
|
+
```bash title=".gitignore" copy
|
|
368
426
|
.mastra
|
|
369
427
|
.vercel
|
|
370
428
|
```
|
|
371
429
|
|
|
372
|
-
|
|
430
|
+
</StepItem>
|
|
431
|
+
|
|
432
|
+
<StepItem>
|
|
373
433
|
|
|
374
434
|
Astro uses Vite, which accesses environment variables via `import.meta.env` rather than `process.env`. As a result, the model constructor must explicitly receive the `apiKey` from the Vite environment like this:
|
|
375
435
|
|
|
376
|
-
```diff
|
|
436
|
+
```diff title="src/mastra/agents/weather-agent.ts"
|
|
377
437
|
- import { openai } from "@ai-sdk/openai";
|
|
378
438
|
+ import { createOpenAI } from "@ai-sdk/openai";
|
|
379
439
|
|
|
@@ -385,36 +445,50 @@ Astro uses Vite, which accesses environment variables via `import.meta.env` rath
|
|
|
385
445
|
|
|
386
446
|
> More configuration details are available in the AI SDK docs. See [Provider Instance](https://ai-sdk.dev/providers/ai-sdk-providers/openai#provider-instance) for more information.
|
|
387
447
|
|
|
388
|
-
|
|
448
|
+
</StepItem>
|
|
449
|
+
|
|
450
|
+
<StepItem>
|
|
389
451
|
|
|
390
452
|
Start the Mastra Dev Server to expose your agents as REST endpoints:
|
|
391
453
|
|
|
392
|
-
<Tabs
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
454
|
+
<Tabs>
|
|
455
|
+
<TabItem value="npm" label="npm">
|
|
456
|
+
|
|
457
|
+
```bash copy
|
|
458
|
+
npm run dev:mastra
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
</TabItem>
|
|
462
|
+
<TabItem value="cli" label="CLI">
|
|
463
|
+
|
|
464
|
+
```bash copy
|
|
465
|
+
mastra dev:mastra
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
</TabItem>
|
|
403
469
|
</Tabs>
|
|
404
470
|
|
|
405
|
-
> Once running, your agents are available locally. See [Local Development Environment](/docs/
|
|
471
|
+
> Once running, your agents are available locally. See [Local Development Environment](/docs/getting-started/studio) for more information.
|
|
472
|
+
|
|
473
|
+
</StepItem>
|
|
406
474
|
|
|
407
|
-
|
|
475
|
+
<StepItem>
|
|
408
476
|
|
|
409
477
|
With the Mastra Dev Server running, you can start your Astro site in the usual way.
|
|
410
478
|
|
|
411
|
-
|
|
479
|
+
</StepItem>
|
|
480
|
+
|
|
481
|
+
<StepItem>
|
|
482
|
+
|
|
483
|
+
Create an `api` directory:
|
|
412
484
|
|
|
413
485
|
```bash copy
|
|
414
486
|
mkdir src/pages/api
|
|
415
487
|
```
|
|
416
488
|
|
|
417
|
-
|
|
489
|
+
</StepItem>
|
|
490
|
+
|
|
491
|
+
<StepItem>
|
|
418
492
|
|
|
419
493
|
Create a new Endpoint, and add the example code:
|
|
420
494
|
|
|
@@ -422,7 +496,7 @@ Create a new Endpoint, and add the example code:
|
|
|
422
496
|
touch src/pages/api/test.ts
|
|
423
497
|
```
|
|
424
498
|
|
|
425
|
-
```typescript
|
|
499
|
+
```typescript title="src/pages/api/test.ts" showLineNumbers copy
|
|
426
500
|
import type { APIRoute } from "astro";
|
|
427
501
|
|
|
428
502
|
import { mastra } from "../../mastra";
|
|
@@ -437,7 +511,9 @@ export const POST: APIRoute = async ({ request }) => {
|
|
|
437
511
|
};
|
|
438
512
|
```
|
|
439
513
|
|
|
440
|
-
|
|
514
|
+
</StepItem>
|
|
515
|
+
|
|
516
|
+
<StepItem>
|
|
441
517
|
|
|
442
518
|
Create a new Form component, and add the example code:
|
|
443
519
|
|
|
@@ -445,7 +521,7 @@ Create a new Form component, and add the example code:
|
|
|
445
521
|
touch src/components/form.tsx
|
|
446
522
|
```
|
|
447
523
|
|
|
448
|
-
```typescript
|
|
524
|
+
```typescript title="src/components/form.tsx" showLineNumbers copy
|
|
449
525
|
import { useState } from "react";
|
|
450
526
|
|
|
451
527
|
export const Form = () => {
|
|
@@ -479,14 +555,17 @@ export const Form = () => {
|
|
|
479
555
|
};
|
|
480
556
|
```
|
|
481
557
|
|
|
482
|
-
|
|
558
|
+
</StepItem>
|
|
559
|
+
|
|
560
|
+
<StepItem>
|
|
483
561
|
|
|
484
562
|
Create a new Page, and add the example code:
|
|
485
563
|
|
|
486
564
|
```bash copy
|
|
487
565
|
touch src/pages/test.astro
|
|
488
566
|
```
|
|
489
|
-
|
|
567
|
+
|
|
568
|
+
```astro title="src/pages/test.astro" showLineNumbers copy
|
|
490
569
|
---
|
|
491
570
|
import { Form } from '../components/form'
|
|
492
571
|
---
|
|
@@ -494,6 +573,7 @@ import { Form } from '../components/form'
|
|
|
494
573
|
<h1>Test</h1>
|
|
495
574
|
<Form client:load />
|
|
496
575
|
```
|
|
576
|
+
|
|
497
577
|
> You can now navigate to `/test` in your browser to try it out.
|
|
498
578
|
|
|
499
579
|
Submitting **London** as the city would return a result similar to:
|
|
@@ -509,11 +589,14 @@ Agent response: The current weather in London is as follows:
|
|
|
509
589
|
|
|
510
590
|
Let me know if you need more information!
|
|
511
591
|
```
|
|
592
|
+
|
|
593
|
+
</StepItem>
|
|
594
|
+
|
|
512
595
|
</Steps>
|
|
513
|
-
</
|
|
596
|
+
</TabItem>
|
|
514
597
|
</Tabs>
|
|
515
598
|
|
|
516
599
|
## Next Steps
|
|
517
600
|
|
|
518
601
|
- [Deployment | With Astro on Vercel](/docs/deployment/web-framework#with-astro-on-vercel)
|
|
519
|
-
- [Monorepo Deployment](../../deployment/monorepo
|
|
602
|
+
- [Monorepo Deployment](../../deployment/monorepo)
|