@mastra/mcp-docs-server 1.0.0-beta.8 → 1.0.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%2Fchangeset-cli.md +1 -13
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -5
- package/.docs/organized/changelogs/%40internal%2Fplayground.md +40 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -53
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +315 -315
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +38 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +66 -66
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +522 -212
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +658 -196
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +439 -234
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +450 -211
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +208 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +3341 -271
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +289 -289
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +90 -90
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +74 -74
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +247 -220
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +70 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +403 -225
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +72 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +145 -145
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +54 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +456 -226
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +604 -208
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +247 -247
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +285 -285
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +354 -156
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +545 -212
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +481 -202
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +194 -194
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +759 -213
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +636 -229
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +163 -163
- package/.docs/organized/changelogs/%40mastra%2Frag.md +310 -310
- package/.docs/organized/changelogs/%40mastra%2Freact.md +328 -230
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +64 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +160 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +829 -218
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +57 -57
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +479 -232
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +110 -110
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +15 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +98 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +54 -54
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +46 -46
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +93 -93
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +45 -45
- package/.docs/organized/changelogs/create-mastra.md +227 -227
- package/.docs/organized/changelogs/mastra.md +277 -277
- package/.docs/organized/code-examples/a2a.md +2 -2
- package/.docs/organized/code-examples/agent-v6.md +221 -0
- package/.docs/organized/code-examples/agui.md +4 -4
- package/.docs/organized/code-examples/ai-elements.md +3 -3
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -3
- package/.docs/organized/code-examples/assistant-ui.md +5 -5
- package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +3 -3
- package/.docs/organized/code-examples/client-side-tools.md +4 -4
- package/.docs/organized/code-examples/crypto-chatbot.md +5 -5
- package/.docs/organized/code-examples/experimental-auth-weather-agent.md +1 -1
- package/.docs/organized/code-examples/fireworks-r1.md +2 -2
- package/.docs/organized/code-examples/heads-up-game.md +7 -7
- package/.docs/organized/code-examples/inngest.md +1075 -0
- package/.docs/organized/code-examples/mcp-configuration.md +1 -1
- package/.docs/organized/code-examples/mcp-server-adapters.md +3 -4
- package/.docs/organized/code-examples/memory-per-resource-example.md +3 -3
- package/.docs/organized/code-examples/memory-todo-agent.md +1 -1
- package/.docs/organized/code-examples/memory-with-context.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +3 -3
- package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
- package/.docs/organized/code-examples/quick-start.md +1 -5
- package/.docs/organized/code-examples/server-app-access.md +3 -3
- package/.docs/organized/code-examples/server-express-adapter.md +1 -1
- package/.docs/organized/code-examples/server-fastify-adapter.md +83 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +3 -3
- package/.docs/organized/code-examples/server-koa-adapter.md +94 -0
- package/.docs/organized/code-examples/stock-price-tool.md +21 -2
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +24 -6
- package/.docs/raw/agents/agent-approval.mdx +209 -12
- package/.docs/raw/agents/agent-memory.mdx +36 -32
- package/.docs/raw/agents/guardrails.mdx +105 -56
- package/.docs/raw/agents/network-approval.mdx +281 -0
- package/.docs/raw/agents/networks.mdx +69 -13
- package/.docs/raw/agents/overview.mdx +43 -25
- package/.docs/raw/agents/processors.mdx +234 -17
- package/.docs/raw/agents/structured-output.mdx +78 -8
- package/.docs/raw/agents/using-tools.mdx +67 -6
- package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
- package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
- package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +3 -3
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
- package/.docs/raw/course/03-agent-memory/07-understanding-memory-threads.md +35 -0
- package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
- package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +1 -1
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +4 -5
- package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -1
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +3 -4
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +3 -4
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +3 -4
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +3 -4
- package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
- package/.docs/raw/deployment/cloud-providers.mdx +22 -0
- package/.docs/raw/deployment/mastra-server.mdx +140 -0
- package/.docs/raw/deployment/monorepo.mdx +106 -42
- package/.docs/raw/deployment/overview.mdx +35 -48
- package/.docs/raw/deployment/web-framework.mdx +17 -19
- package/.docs/raw/deployment/workflow-runners.mdx +16 -0
- package/.docs/raw/evals/built-in-scorers.mdx +2 -0
- package/.docs/raw/evals/custom-scorers.mdx +60 -12
- package/.docs/raw/evals/overview.mdx +6 -6
- package/.docs/raw/evals/running-in-ci.mdx +4 -2
- package/.docs/raw/getting-started/manual-install.mdx +20 -20
- package/.docs/raw/getting-started/mcp-docs-server.mdx +59 -2
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +17 -1
- package/.docs/raw/getting-started/studio.mdx +10 -37
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +151 -0
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1034 -80
- package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +32 -11
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +18 -23
- package/.docs/raw/guides/deployment/index.mdx +32 -0
- package/.docs/raw/guides/deployment/inngest.mdx +673 -0
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
- package/.docs/raw/guides/getting-started/astro.mdx +292 -451
- package/.docs/raw/guides/getting-started/express.mdx +72 -153
- package/.docs/raw/guides/getting-started/hono.mdx +227 -0
- package/.docs/raw/guides/getting-started/next-js.mdx +173 -61
- package/.docs/raw/guides/getting-started/nuxt.mdx +505 -0
- package/.docs/raw/guides/getting-started/quickstart.mdx +5 -5
- package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
- package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
- package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
- package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
- package/.docs/raw/guides/guide/research-assistant.mdx +20 -20
- package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
- package/.docs/raw/guides/guide/web-search.mdx +38 -38
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
- package/.docs/raw/guides/index.mdx +0 -1
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +105 -4
- package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +15 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +170 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/deployment.mdx +42 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +0 -35
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +40 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +17 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/rag.mdx +47 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +271 -25
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +3 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +72 -17
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +46 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +50 -7
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
- package/.docs/raw/index.mdx +2 -2
- package/.docs/raw/mastra-cloud/deployment.mdx +86 -0
- package/.docs/raw/mastra-cloud/observability.mdx +43 -0
- package/.docs/raw/mastra-cloud/overview.mdx +31 -0
- package/.docs/raw/mastra-cloud/setup.mdx +64 -0
- package/.docs/raw/mastra-cloud/studio.mdx +35 -0
- package/.docs/raw/mcp/overview.mdx +60 -25
- package/.docs/raw/mcp/publishing-mcp-server.mdx +7 -4
- package/.docs/raw/memory/memory-processors.mdx +17 -12
- package/.docs/raw/memory/message-history.mdx +72 -0
- package/.docs/raw/memory/overview.mdx +38 -76
- package/.docs/raw/memory/semantic-recall.mdx +65 -52
- package/.docs/raw/memory/storage.mdx +248 -0
- package/.docs/raw/memory/working-memory.mdx +24 -13
- package/.docs/raw/observability/logging.mdx +16 -15
- package/.docs/raw/observability/overview.mdx +27 -7
- package/.docs/raw/observability/tracing/bridges/otel.mdx +7 -4
- package/.docs/raw/observability/tracing/exporters/arize.mdx +61 -24
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +32 -22
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +24 -5
- package/.docs/raw/observability/tracing/exporters/datadog.mdx +175 -0
- package/.docs/raw/observability/tracing/exporters/default.mdx +28 -7
- package/.docs/raw/observability/tracing/exporters/laminar.mdx +89 -0
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +31 -22
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +33 -3
- package/.docs/raw/observability/tracing/exporters/otel.mdx +194 -22
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +32 -22
- package/.docs/raw/observability/tracing/exporters/sentry.mdx +198 -0
- package/.docs/raw/observability/tracing/overview.mdx +388 -108
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +27 -7
- package/.docs/raw/rag/chunking-and-embedding.mdx +22 -33
- package/.docs/raw/rag/graph-rag.mdx +223 -0
- package/.docs/raw/rag/overview.mdx +6 -3
- package/.docs/raw/rag/retrieval.mdx +53 -57
- package/.docs/raw/rag/vector-databases.mdx +55 -31
- package/.docs/raw/reference/agents/agent.mdx +17 -14
- package/.docs/raw/reference/agents/generate.mdx +172 -44
- package/.docs/raw/reference/agents/generateLegacy.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDescription.mdx +3 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +5 -3
- package/.docs/raw/reference/agents/getLLM.mdx +5 -3
- package/.docs/raw/reference/agents/getMemory.mdx +5 -3
- package/.docs/raw/reference/agents/getModel.mdx +5 -3
- package/.docs/raw/reference/agents/getTools.mdx +4 -2
- package/.docs/raw/reference/agents/getVoice.mdx +4 -2
- package/.docs/raw/reference/agents/listAgents.mdx +4 -2
- package/.docs/raw/reference/agents/listScorers.mdx +5 -3
- package/.docs/raw/reference/agents/listTools.mdx +4 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +4 -2
- package/.docs/raw/reference/agents/network.mdx +113 -1
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +6 -3
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +4 -2
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +4 -2
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +5 -3
- package/.docs/raw/reference/ai-sdk/network-route.mdx +6 -3
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +10 -6
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +130 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +110 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +122 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +7 -4
- package/.docs/raw/reference/auth/auth0.mdx +5 -3
- package/.docs/raw/reference/auth/clerk.mdx +5 -3
- package/.docs/raw/reference/auth/firebase.mdx +6 -5
- package/.docs/raw/reference/auth/jwt.mdx +5 -3
- package/.docs/raw/reference/auth/supabase.mdx +5 -3
- package/.docs/raw/reference/auth/workos.mdx +5 -3
- package/.docs/raw/reference/cli/create-mastra.mdx +12 -10
- package/.docs/raw/reference/cli/mastra.mdx +63 -15
- package/.docs/raw/reference/client-js/agents.mdx +311 -85
- package/.docs/raw/reference/client-js/error-handling.mdx +3 -3
- package/.docs/raw/reference/client-js/logs.mdx +2 -0
- package/.docs/raw/reference/client-js/mastra-client.mdx +6 -4
- package/.docs/raw/reference/client-js/memory.mdx +47 -2
- package/.docs/raw/reference/client-js/observability.mdx +2 -0
- package/.docs/raw/reference/client-js/telemetry.mdx +2 -0
- package/.docs/raw/reference/client-js/tools.mdx +2 -0
- package/.docs/raw/reference/client-js/vectors.mdx +2 -0
- package/.docs/raw/reference/client-js/workflows.mdx +47 -3
- package/.docs/raw/reference/configuration.mdx +761 -0
- package/.docs/raw/reference/core/addGateway.mdx +2 -0
- package/.docs/raw/reference/core/getAgent.mdx +3 -1
- package/.docs/raw/reference/core/getAgentById.mdx +3 -1
- package/.docs/raw/reference/core/getDeployer.mdx +3 -1
- package/.docs/raw/reference/core/getGateway.mdx +2 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +2 -0
- package/.docs/raw/reference/core/getLogger.mdx +3 -1
- package/.docs/raw/reference/core/getMCPServer.mdx +3 -1
- package/.docs/raw/reference/core/getMCPServerById.mdx +3 -1
- package/.docs/raw/reference/core/getMemory.mdx +77 -0
- package/.docs/raw/reference/core/getScorer.mdx +2 -0
- package/.docs/raw/reference/core/getScorerById.mdx +2 -0
- package/.docs/raw/reference/core/getServer.mdx +6 -4
- package/.docs/raw/reference/core/getStorage.mdx +5 -3
- package/.docs/raw/reference/core/getStoredAgentById.mdx +185 -0
- package/.docs/raw/reference/core/getTelemetry.mdx +3 -1
- package/.docs/raw/reference/core/getVector.mdx +3 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +3 -1
- package/.docs/raw/reference/core/listAgents.mdx +3 -1
- package/.docs/raw/reference/core/listGateways.mdx +2 -0
- package/.docs/raw/reference/core/listLogs.mdx +3 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -1
- package/.docs/raw/reference/core/listMCPServers.mdx +3 -1
- package/.docs/raw/reference/core/listMemory.mdx +74 -0
- package/.docs/raw/reference/core/listScorers.mdx +2 -0
- package/.docs/raw/reference/core/listStoredAgents.mdx +153 -0
- package/.docs/raw/reference/core/listVectors.mdx +3 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +3 -1
- package/.docs/raw/reference/core/mastra-class.mdx +35 -20
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +2 -0
- package/.docs/raw/reference/core/setLogger.mdx +3 -1
- package/.docs/raw/reference/core/setStorage.mdx +6 -4
- package/.docs/raw/reference/deployer/cloudflare.mdx +22 -53
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -1
- package/.docs/raw/reference/deployer/vercel.mdx +5 -4
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -1
- package/.docs/raw/reference/evals/answer-similarity.mdx +4 -1
- package/.docs/raw/reference/evals/bias.mdx +4 -1
- package/.docs/raw/reference/evals/completeness.mdx +4 -1
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -1
- package/.docs/raw/reference/evals/context-precision.mdx +4 -1
- package/.docs/raw/reference/evals/context-relevance.mdx +2 -0
- package/.docs/raw/reference/evals/create-scorer.mdx +11 -3
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -1
- package/.docs/raw/reference/evals/hallucination.mdx +4 -1
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -1
- package/.docs/raw/reference/evals/mastra-scorer.mdx +2 -0
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +2 -0
- package/.docs/raw/reference/evals/prompt-alignment.mdx +9 -7
- package/.docs/raw/reference/evals/run-evals.mdx +3 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +3 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -1
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -1
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +25 -23
- package/.docs/raw/reference/evals/toxicity.mdx +4 -1
- package/.docs/raw/reference/index.mdx +2 -1
- package/.docs/raw/reference/logging/pino-logger.mdx +10 -8
- package/.docs/raw/reference/memory/clone-utilities.mdx +345 -0
- package/.docs/raw/reference/memory/cloneThread.mdx +237 -0
- package/.docs/raw/reference/memory/createThread.mdx +6 -4
- package/.docs/raw/reference/memory/deleteMessages.mdx +4 -2
- package/.docs/raw/reference/memory/getThreadById.mdx +3 -1
- package/.docs/raw/reference/memory/listThreads.mdx +187 -0
- package/.docs/raw/reference/memory/memory-class.mdx +27 -20
- package/.docs/raw/reference/memory/recall.mdx +6 -4
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +6 -2
- package/.docs/raw/reference/observability/tracing/configuration.mdx +51 -0
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +25 -6
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +23 -2
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +3 -0
- package/.docs/raw/reference/observability/tracing/exporters/datadog.mdx +172 -0
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/laminar.mdx +139 -0
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +26 -4
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +51 -34
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +25 -4
- package/.docs/raw/reference/observability/tracing/exporters/sentry.mdx +224 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +2 -0
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +20 -0
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +2 -0
- package/.docs/raw/reference/observability/tracing/spans.mdx +2 -0
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +4 -2
- package/.docs/raw/reference/processors/language-detector.mdx +6 -3
- package/.docs/raw/reference/processors/message-history-processor.mdx +5 -2
- package/.docs/raw/reference/processors/moderation-processor.mdx +6 -4
- package/.docs/raw/reference/processors/pii-detector.mdx +6 -4
- package/.docs/raw/reference/processors/processor-interface.mdx +326 -23
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +5 -3
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +7 -2
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +5 -3
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +62 -19
- package/.docs/raw/reference/processors/tool-call-filter.mdx +5 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +6 -3
- package/.docs/raw/reference/processors/working-memory-processor.mdx +6 -3
- package/.docs/raw/reference/rag/chunk.mdx +7 -6
- package/.docs/raw/reference/rag/database-config.mdx +8 -6
- package/.docs/raw/reference/rag/document.mdx +2 -0
- package/.docs/raw/reference/rag/embeddings.mdx +2 -0
- package/.docs/raw/reference/rag/extract-params.mdx +57 -3
- package/.docs/raw/reference/rag/graph-rag.mdx +2 -0
- package/.docs/raw/reference/rag/metadata-filters.mdx +27 -7
- package/.docs/raw/reference/rag/rerank.mdx +2 -0
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -0
- package/.docs/raw/reference/server/create-route.mdx +34 -18
- package/.docs/raw/reference/server/express-adapter.mdx +78 -50
- package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +78 -48
- package/.docs/raw/reference/server/koa-adapter.mdx +129 -0
- package/.docs/raw/reference/server/mastra-server.mdx +52 -34
- package/.docs/raw/reference/server/routes.mdx +73 -10
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +10 -5
- package/.docs/raw/reference/storage/cloudflare.mdx +12 -2
- package/.docs/raw/reference/storage/composite.mdx +245 -0
- package/.docs/raw/reference/storage/convex.mdx +8 -6
- package/.docs/raw/reference/storage/dynamodb.mdx +134 -8
- package/.docs/raw/reference/storage/lance.mdx +9 -5
- package/.docs/raw/reference/storage/libsql.mdx +76 -54
- package/.docs/raw/reference/storage/mongodb.mdx +115 -16
- package/.docs/raw/reference/storage/mssql.mdx +11 -6
- package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +15 -111
- package/.docs/raw/reference/storage/postgresql.mdx +228 -83
- package/.docs/raw/reference/storage/upstash.mdx +78 -2
- package/.docs/raw/reference/streaming/ChunkType.mdx +31 -3
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +67 -6
- package/.docs/raw/reference/streaming/agents/stream.mdx +48 -51
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +5 -3
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -1
- package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +3 -1
- package/.docs/raw/reference/streaming/workflows/stream.mdx +37 -22
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +6 -4
- package/.docs/raw/reference/templates/overview.mdx +3 -2
- package/.docs/raw/reference/tools/client.mdx +3 -0
- package/.docs/raw/reference/tools/create-tool.mdx +127 -5
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -0
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +40 -3
- package/.docs/raw/reference/tools/mcp-client.mdx +110 -1
- package/.docs/raw/reference/tools/mcp-server.mdx +278 -24
- package/.docs/raw/reference/tools/vector-query-tool.mdx +68 -4
- package/.docs/raw/reference/vectors/astra.mdx +5 -3
- package/.docs/raw/reference/vectors/chroma.mdx +5 -3
- package/.docs/raw/reference/vectors/convex.mdx +14 -12
- package/.docs/raw/reference/vectors/couchbase.mdx +7 -5
- package/.docs/raw/reference/vectors/duckdb.mdx +12 -10
- package/.docs/raw/reference/vectors/elasticsearch.mdx +12 -4
- package/.docs/raw/reference/vectors/lance.mdx +6 -4
- package/.docs/raw/reference/vectors/libsql.mdx +66 -13
- package/.docs/raw/reference/vectors/mongodb.mdx +90 -10
- package/.docs/raw/reference/vectors/opensearch.mdx +30 -3
- package/.docs/raw/reference/vectors/pg.mdx +58 -6
- package/.docs/raw/reference/vectors/pinecone.mdx +23 -8
- package/.docs/raw/reference/vectors/qdrant.mdx +148 -4
- package/.docs/raw/reference/vectors/s3vectors.mdx +8 -6
- package/.docs/raw/reference/vectors/turbopuffer.mdx +6 -4
- package/.docs/raw/reference/vectors/upstash.mdx +60 -6
- package/.docs/raw/reference/vectors/vectorize.mdx +5 -3
- package/.docs/raw/reference/voice/azure.mdx +2 -0
- package/.docs/raw/reference/voice/cloudflare.mdx +2 -0
- package/.docs/raw/reference/voice/composite-voice.mdx +4 -0
- package/.docs/raw/reference/voice/deepgram.mdx +2 -0
- package/.docs/raw/reference/voice/elevenlabs.mdx +2 -0
- package/.docs/raw/reference/voice/google-gemini-live.mdx +3 -0
- package/.docs/raw/reference/voice/google.mdx +2 -0
- package/.docs/raw/reference/voice/mastra-voice.mdx +2 -0
- package/.docs/raw/reference/voice/murf.mdx +2 -0
- package/.docs/raw/reference/voice/openai-realtime.mdx +3 -0
- package/.docs/raw/reference/voice/openai.mdx +2 -0
- package/.docs/raw/reference/voice/playai.mdx +2 -0
- package/.docs/raw/reference/voice/sarvam.mdx +2 -0
- package/.docs/raw/reference/voice/speechify.mdx +2 -0
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -0
- package/.docs/raw/reference/voice/voice.addTools.mdx +3 -0
- package/.docs/raw/reference/voice/voice.answer.mdx +4 -0
- package/.docs/raw/reference/voice/voice.close.mdx +3 -0
- package/.docs/raw/reference/voice/voice.connect.mdx +5 -1
- package/.docs/raw/reference/voice/voice.events.mdx +2 -0
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +3 -0
- package/.docs/raw/reference/voice/voice.listen.mdx +6 -0
- package/.docs/raw/reference/voice/voice.off.mdx +2 -0
- package/.docs/raw/reference/voice/voice.on.mdx +5 -1
- package/.docs/raw/reference/voice/voice.send.mdx +4 -0
- package/.docs/raw/reference/voice/voice.speak.mdx +6 -0
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -0
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +55 -5
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +6 -4
- package/.docs/raw/reference/workflows/run-methods/start.mdx +7 -5
- package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +145 -0
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +10 -8
- package/.docs/raw/reference/workflows/run.mdx +11 -3
- package/.docs/raw/reference/workflows/step.mdx +56 -3
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +39 -2
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +71 -4
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +9 -7
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +4 -6
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +4 -6
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow.mdx +193 -2
- package/.docs/raw/{auth → server/auth}/auth0.mdx +40 -21
- package/.docs/raw/{auth → server/auth}/clerk.mdx +37 -16
- package/.docs/raw/{auth → server/auth}/firebase.mdx +47 -25
- package/.docs/raw/{auth → server/auth}/index.mdx +8 -6
- package/.docs/raw/{auth → server/auth}/jwt.mdx +22 -10
- package/.docs/raw/{auth → server/auth}/supabase.mdx +45 -25
- package/.docs/raw/{auth → server/auth}/workos.mdx +39 -20
- package/.docs/raw/{server-db → server}/custom-adapters.mdx +40 -24
- package/.docs/raw/{server-db → server}/custom-api-routes.mdx +6 -6
- package/.docs/raw/{server-db → server}/mastra-client.mdx +35 -38
- package/.docs/raw/server/mastra-server.mdx +86 -0
- package/.docs/raw/{server-db → server}/middleware.mdx +11 -9
- package/.docs/raw/{server-db → server}/request-context.mdx +85 -43
- package/.docs/raw/server/server-adapters.mdx +410 -0
- package/.docs/raw/streaming/events.mdx +16 -7
- package/.docs/raw/streaming/overview.mdx +30 -17
- package/.docs/raw/streaming/tool-streaming.mdx +15 -17
- package/.docs/raw/streaming/workflow-streaming.mdx +8 -8
- package/.docs/raw/tools-mcp/advanced-usage.mdx +4 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +46 -12
- package/.docs/raw/tools-mcp/overview.mdx +14 -13
- package/.docs/raw/voice/overview.mdx +17 -2
- package/.docs/raw/voice/speech-to-speech.mdx +5 -0
- package/.docs/raw/voice/speech-to-text.mdx +4 -0
- package/.docs/raw/voice/text-to-speech.mdx +3 -0
- package/.docs/raw/workflows/agents-and-tools.mdx +70 -21
- package/.docs/raw/workflows/control-flow.mdx +369 -34
- package/.docs/raw/workflows/error-handling.mdx +192 -18
- package/.docs/raw/workflows/human-in-the-loop.mdx +8 -7
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -7
- package/.docs/raw/workflows/overview.mdx +80 -34
- package/.docs/raw/workflows/snapshots.mdx +19 -45
- package/.docs/raw/workflows/suspend-and-resume.mdx +14 -14
- package/.docs/raw/workflows/time-travel.mdx +25 -21
- package/.docs/raw/workflows/workflow-state.mdx +7 -8
- package/CHANGELOG.md +254 -0
- package/README.md +36 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/stdio.js +746 -49
- package/dist/tools/course.d.ts.map +1 -1
- package/dist/tools/embedded-docs.d.ts +276 -0
- package/dist/tools/embedded-docs.d.ts.map +1 -0
- package/package.json +9 -8
- package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
- package/.docs/raw/deployment/building-mastra.mdx +0 -73
- package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
- package/.docs/raw/deployment/mastra-cloud/dashboard.mdx +0 -100
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +0 -53
- package/.docs/raw/deployment/mastra-cloud/overview.mdx +0 -65
- package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +0 -105
- package/.docs/raw/memory/conversation-history.mdx +0 -24
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
- package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
- package/.docs/raw/memory/threads-and-resources.mdx +0 -95
- package/.docs/raw/reference/core/setTelemetry.mdx +0 -36
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +0 -110
- package/.docs/raw/reference/memory/query.mdx +0 -189
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +0 -70
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +0 -66
- package/.docs/raw/server-db/mastra-server.mdx +0 -97
- package/.docs/raw/server-db/server-adapters.mdx +0 -286
- package/.docs/raw/workflows/inngest-workflow.mdx +0 -363
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Nuxt | Frameworks"
|
|
3
|
+
description: "Get started with Mastra and Nuxt"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import Tabs from "@theme/Tabs";
|
|
7
|
+
import TabItem from "@theme/TabItem";
|
|
8
|
+
|
|
9
|
+
# Integrate Mastra in your Nuxt project
|
|
10
|
+
|
|
11
|
+
In this guide, you'll build a tool-calling AI agent using Mastra, then connect it to Nuxt by importing and calling the agent directly from your server routes.
|
|
12
|
+
|
|
13
|
+
You'll use [AI SDK UI](https://ai-sdk.dev/docs/ai-sdk-ui/overview) to create a beautiful, interactive chat experience with Vue.
|
|
14
|
+
|
|
15
|
+
## Before you begin
|
|
16
|
+
|
|
17
|
+
- You'll need an API key from a supported [model provider](/models/v1). If you don't have a preference, use [OpenAI](/models/v1/providers/openai).
|
|
18
|
+
- Install Node.js `v22.13.0` or later
|
|
19
|
+
|
|
20
|
+
## Create a new Nuxt app (optional)
|
|
21
|
+
|
|
22
|
+
If you already have a Nuxt app, skip to the next step.
|
|
23
|
+
|
|
24
|
+
Run the following command to [create a new Nuxt app](https://nuxt.com/docs/getting-started/installation):
|
|
25
|
+
|
|
26
|
+
<Tabs groupId="pm">
|
|
27
|
+
<TabItem value="npm" label="npm">
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm create nuxt@latest mastra-nuxt -- --template minimal --packageManager npm --gitInit --modules
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
</TabItem>
|
|
34
|
+
<TabItem value="pnpm" label="pnpm">
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pnpm create nuxt@latest mastra-nuxt --template minimal --packageManager pnpm --gitInit --modules
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
</TabItem>
|
|
41
|
+
<TabItem value="yarn" label="yarn">
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
yarn create nuxt@latest mastra-nuxt --template minimal --packageManager yarn --gitInit --modules
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
</TabItem>
|
|
48
|
+
<TabItem value="bun" label="bun">
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
bun create nuxt@latest mastra-nuxt --template minimal --packageManager bun --gitInit --modules
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
</TabItem>
|
|
55
|
+
</Tabs>
|
|
56
|
+
|
|
57
|
+
This creates a project called `mastra-nuxt`, but you can replace it with any name you want.
|
|
58
|
+
|
|
59
|
+
## Initialize Mastra
|
|
60
|
+
|
|
61
|
+
`cd` into your Nuxt project and run [`mastra init`](/reference/v1/cli/mastra#mastra-init).
|
|
62
|
+
|
|
63
|
+
When prompted, choose a provider (e.g. OpenAI) and enter your key:
|
|
64
|
+
|
|
65
|
+
<Tabs groupId="pm">
|
|
66
|
+
<TabItem value="npm" label="npm">
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
cd mastra-nuxt
|
|
70
|
+
npx mastra@beta init
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
</TabItem>
|
|
74
|
+
<TabItem value="pnpm" label="pnpm">
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
cd mastra-nuxt
|
|
78
|
+
pnpm dlx mastra@beta init
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
</TabItem>
|
|
82
|
+
<TabItem value="yarn" label="yarn">
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
cd mastra-nuxt
|
|
86
|
+
yarn dlx mastra@beta init
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
</TabItem>
|
|
90
|
+
<TabItem value="bun" label="bun">
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
cd mastra-nuxt
|
|
94
|
+
bunx mastra@beta init
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
</TabItem>
|
|
98
|
+
</Tabs>
|
|
99
|
+
|
|
100
|
+
This creates a `mastra` folder with an example weather agent and the following files:
|
|
101
|
+
|
|
102
|
+
- `index.ts` - Mastra config, including memory
|
|
103
|
+
- `tools/weather-tool.ts` - a tool to fetch weather for a given location
|
|
104
|
+
- `agents/weather-agent.ts`- a weather agent with a prompt that uses the tool
|
|
105
|
+
|
|
106
|
+
You'll call `weather-agent.ts` from your Nuxt server routes in the next steps.
|
|
107
|
+
|
|
108
|
+
## Install AI SDK UI
|
|
109
|
+
|
|
110
|
+
Install AI SDK UI along with the Mastra adapter:
|
|
111
|
+
|
|
112
|
+
<Tabs groupId="pm">
|
|
113
|
+
<TabItem value="npm" label="npm">
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
npm install @mastra/ai-sdk@beta @ai-sdk/vue ai
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
</TabItem>
|
|
120
|
+
<TabItem value="pnpm" label="pnpm">
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
pnpm add @mastra/ai-sdk@beta @ai-sdk/vue ai
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
</TabItem>
|
|
127
|
+
<TabItem value="yarn" label="yarn">
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
yarn add @mastra/ai-sdk@beta @ai-sdk/vue ai
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
</TabItem>
|
|
134
|
+
<TabItem value="bun" label="bun">
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
bun add @mastra/ai-sdk@beta @ai-sdk/vue ai
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
</TabItem>
|
|
141
|
+
</Tabs>
|
|
142
|
+
|
|
143
|
+
## Create a chat route
|
|
144
|
+
|
|
145
|
+
Create `server/api/chat.ts`:
|
|
146
|
+
|
|
147
|
+
```ts title="server/api/chat.ts"
|
|
148
|
+
import { handleChatStream } from '@mastra/ai-sdk';
|
|
149
|
+
import { toAISdkV5Messages } from '@mastra/ai-sdk/ui';
|
|
150
|
+
import { createUIMessageStreamResponse } from 'ai';
|
|
151
|
+
import { mastra } from '../../src/mastra';
|
|
152
|
+
|
|
153
|
+
const THREAD_ID = 'example-user-id';
|
|
154
|
+
const RESOURCE_ID = 'weather-chat';
|
|
155
|
+
|
|
156
|
+
export default defineEventHandler(async (event) => {
|
|
157
|
+
const method = event.method;
|
|
158
|
+
|
|
159
|
+
if (method === 'POST') {
|
|
160
|
+
const params = await readBody(event);
|
|
161
|
+
const stream = await handleChatStream({
|
|
162
|
+
mastra,
|
|
163
|
+
agentId: 'weather-agent',
|
|
164
|
+
params: {
|
|
165
|
+
...params,
|
|
166
|
+
memory: {
|
|
167
|
+
...params.memory,
|
|
168
|
+
thread: THREAD_ID,
|
|
169
|
+
resource: RESOURCE_ID,
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
return createUIMessageStreamResponse({ stream });
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (method === 'GET') {
|
|
178
|
+
const memory = await mastra.getAgentById('weather-agent').getMemory();
|
|
179
|
+
let response = null;
|
|
180
|
+
|
|
181
|
+
try {
|
|
182
|
+
response = await memory?.recall({
|
|
183
|
+
threadId: THREAD_ID,
|
|
184
|
+
resourceId: RESOURCE_ID,
|
|
185
|
+
});
|
|
186
|
+
} catch {
|
|
187
|
+
console.log('No previous messages found.');
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
const uiMessages = toAISdkV5Messages(response?.messages || []);
|
|
191
|
+
|
|
192
|
+
return uiMessages;
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
The `POST` handler accepts a prompt and streams the agent's response back in AI SDK format, while the `GET` handler fetches message history from memory so the UI can be hydrated when the client reloads.
|
|
198
|
+
|
|
199
|
+
## Add the chat UI
|
|
200
|
+
|
|
201
|
+
Replace the contents of `app/app.vue` with the following:
|
|
202
|
+
|
|
203
|
+
```html title="app/app.vue"
|
|
204
|
+
<script setup lang="ts">
|
|
205
|
+
import { ref, onMounted } from 'vue';
|
|
206
|
+
import { Chat } from "@ai-sdk/vue";
|
|
207
|
+
import { DefaultChatTransport, type ToolUIPart } from 'ai';
|
|
208
|
+
|
|
209
|
+
const chat = new Chat({
|
|
210
|
+
transport: new DefaultChatTransport({
|
|
211
|
+
api: '/api/chat',
|
|
212
|
+
}),
|
|
213
|
+
})
|
|
214
|
+
|
|
215
|
+
const STATE_TO_LABEL_MAP: Record<string, string> = {
|
|
216
|
+
'input-streaming': 'Pending',
|
|
217
|
+
'input-available': 'Running',
|
|
218
|
+
'output-available': 'Completed',
|
|
219
|
+
'output-error': 'Error',
|
|
220
|
+
'output-denied': 'Denied',
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
const input = ref('');
|
|
224
|
+
|
|
225
|
+
onMounted(async () => {
|
|
226
|
+
const res = await fetch('/api/chat');
|
|
227
|
+
const data = await res.json();
|
|
228
|
+
chat.messages = [...data];
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
function handleSubmit() {
|
|
232
|
+
if (!input.value.trim()) return;
|
|
233
|
+
|
|
234
|
+
chat.sendMessage({ text: input.value });
|
|
235
|
+
input.value = '';
|
|
236
|
+
}
|
|
237
|
+
</script>
|
|
238
|
+
|
|
239
|
+
<template>
|
|
240
|
+
<div class="chat-container">
|
|
241
|
+
<div class="messages">
|
|
242
|
+
<div v-for="message in chat.messages" :key="message.id" class="message-wrapper">
|
|
243
|
+
<div
|
|
244
|
+
v-for="(part, i) in message.parts"
|
|
245
|
+
:key="`${message.id}-${i}`"
|
|
246
|
+
>
|
|
247
|
+
<div
|
|
248
|
+
v-if="part.type === 'text'"
|
|
249
|
+
:class="['message', message.role]"
|
|
250
|
+
>
|
|
251
|
+
<div class="message-content">
|
|
252
|
+
{{ part.text }}
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
|
|
256
|
+
<details
|
|
257
|
+
v-else-if="part.type?.startsWith('tool-')"
|
|
258
|
+
class="tool"
|
|
259
|
+
>
|
|
260
|
+
<summary class="tool-header">
|
|
261
|
+
{{ (part as ToolUIPart).type?.split('-').slice(1).join('-') }} -
|
|
262
|
+
{{ STATE_TO_LABEL_MAP[(part as ToolUIPart).state ?? 'output-available'] }}
|
|
263
|
+
</summary>
|
|
264
|
+
<div class="tool-content">
|
|
265
|
+
<div class="tool-section">
|
|
266
|
+
<div class="tool-label">Parameters</div>
|
|
267
|
+
<pre><code>{{ JSON.stringify((part as ToolUIPart).input, null, 2) }}</code></pre>
|
|
268
|
+
</div>
|
|
269
|
+
<div class="tool-section">
|
|
270
|
+
<div class="tool-label">
|
|
271
|
+
{{ (part as ToolUIPart).errorText ? 'Error' : 'Result' }}
|
|
272
|
+
</div>
|
|
273
|
+
<pre><code>{{ JSON.stringify((part as ToolUIPart).output, null, 2) }}</code></pre>
|
|
274
|
+
<div v-if="(part as ToolUIPart).errorText" class="tool-error">
|
|
275
|
+
{{ (part as ToolUIPart).errorText }}
|
|
276
|
+
</div>
|
|
277
|
+
</div>
|
|
278
|
+
</div>
|
|
279
|
+
</details>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<form class="input-form" @submit.prevent="handleSubmit">
|
|
285
|
+
<input
|
|
286
|
+
v-model="input"
|
|
287
|
+
type="text"
|
|
288
|
+
placeholder="Ask about the weather..."
|
|
289
|
+
:disabled="chat.status !== 'ready'"
|
|
290
|
+
class="chat-input"
|
|
291
|
+
/>
|
|
292
|
+
<button type="submit" class="submit-button" :disabled="chat.status !== 'ready'">
|
|
293
|
+
Send
|
|
294
|
+
</button>
|
|
295
|
+
</form>
|
|
296
|
+
</div>
|
|
297
|
+
</template>
|
|
298
|
+
|
|
299
|
+
<style>
|
|
300
|
+
*, *::before, *::after {
|
|
301
|
+
box-sizing: border-box;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
*:not(dialog) {
|
|
305
|
+
margin: 0;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
309
|
+
html {
|
|
310
|
+
interpolate-size: allow-keywords;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
html {
|
|
315
|
+
font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Adwaita Sans, Cantarell, Ubuntu, roboto, noto, helvetica, arial, sans-serif;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
body {
|
|
319
|
+
line-height: 1.5;
|
|
320
|
+
-webkit-font-smoothing: antialiased;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
img, picture, video, canvas, svg {
|
|
324
|
+
display: block;
|
|
325
|
+
max-width: 100%;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
input, button, textarea, select {
|
|
329
|
+
font: inherit;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
p, h1, h2, h3, h4, h5, h6 {
|
|
333
|
+
overflow-wrap: break-word;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
p {
|
|
337
|
+
text-wrap: pretty;
|
|
338
|
+
}
|
|
339
|
+
h1, h2, h3, h4, h5, h6 {
|
|
340
|
+
text-wrap: balance;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.chat-container {
|
|
344
|
+
max-width: 48rem;
|
|
345
|
+
margin: 0 auto;
|
|
346
|
+
padding: 1.5rem;
|
|
347
|
+
height: 100vh;
|
|
348
|
+
display: flex;
|
|
349
|
+
flex-direction: column;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
.messages {
|
|
353
|
+
flex: 1;
|
|
354
|
+
overflow-y: auto;
|
|
355
|
+
display: flex;
|
|
356
|
+
flex-direction: column;
|
|
357
|
+
gap: 1rem;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.message-wrapper {
|
|
361
|
+
display: flex;
|
|
362
|
+
flex-direction: column;
|
|
363
|
+
gap: 0.5rem;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.message {
|
|
367
|
+
padding: 0.75rem 1rem;
|
|
368
|
+
border-radius: 0.5rem;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.message.user {
|
|
372
|
+
background-color: #3b82f6;
|
|
373
|
+
color: white;
|
|
374
|
+
margin-left: auto;
|
|
375
|
+
max-width: 60%;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.message.assistant {
|
|
379
|
+
background-color: #f3f4f6;
|
|
380
|
+
color: #1f2937;
|
|
381
|
+
max-width: 80%;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.tool {
|
|
385
|
+
border: 1px solid #d1d5db;
|
|
386
|
+
border-radius: 0.5rem;
|
|
387
|
+
margin: 0.5rem 0;
|
|
388
|
+
overflow: hidden;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
.tool-header {
|
|
392
|
+
padding: 0.75rem 1rem;
|
|
393
|
+
background-color: #f9fafb;
|
|
394
|
+
cursor: pointer;
|
|
395
|
+
font-weight: 500;
|
|
396
|
+
font-size: 0.875rem;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.tool-content {
|
|
400
|
+
padding: 1rem;
|
|
401
|
+
border-top: 1px solid #d1d5db;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
.tool-section {
|
|
405
|
+
margin-bottom: 1rem;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
.tool-section:last-child {
|
|
409
|
+
margin-bottom: 0;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.tool-label {
|
|
413
|
+
font-size: 0.75rem;
|
|
414
|
+
font-weight: 500;
|
|
415
|
+
text-transform: uppercase;
|
|
416
|
+
color: #6b7280;
|
|
417
|
+
margin-bottom: 0.5rem;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.tool pre {
|
|
421
|
+
background-color: #f3f4f6;
|
|
422
|
+
padding: 0.75rem;
|
|
423
|
+
border-radius: 0.375rem;
|
|
424
|
+
overflow-x: auto;
|
|
425
|
+
font-size: 0.875rem;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.tool-error {
|
|
429
|
+
color: #dc2626;
|
|
430
|
+
margin-top: 0.5rem;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.input-form {
|
|
434
|
+
display: grid;
|
|
435
|
+
grid-template-columns: 1fr auto;
|
|
436
|
+
gap: 0.75rem;
|
|
437
|
+
padding-top: 1rem;
|
|
438
|
+
border-top: 1px solid #e5e7eb;
|
|
439
|
+
margin-top: 1rem;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.chat-input {
|
|
443
|
+
padding: 0.75rem 1rem;
|
|
444
|
+
border: 1px solid #d1d5db;
|
|
445
|
+
border-radius: 0.5rem;
|
|
446
|
+
font-size: 1rem;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
.chat-input:focus {
|
|
450
|
+
outline: none;
|
|
451
|
+
border-color: #3b82f6;
|
|
452
|
+
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.chat-input:disabled {
|
|
456
|
+
background-color: #f3f4f6;
|
|
457
|
+
cursor: not-allowed;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
.submit-button {
|
|
461
|
+
padding: 0.75rem 1.5rem;
|
|
462
|
+
background-color: #3b82f6;
|
|
463
|
+
color: white;
|
|
464
|
+
border: none;
|
|
465
|
+
border-radius: 0.5rem;
|
|
466
|
+
font-weight: 500;
|
|
467
|
+
cursor: pointer;
|
|
468
|
+
transition: background-color 0.2s;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.submit-button:hover:not(:disabled) {
|
|
472
|
+
background-color: #2563eb;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.submit-button:disabled {
|
|
476
|
+
background-color: #9ca3af;
|
|
477
|
+
cursor: not-allowed;
|
|
478
|
+
}
|
|
479
|
+
</style>
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
This component connects [`Chat()`](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat) to the `/api/chat` endpoint, sending prompts there and streaming the response back in chunks.
|
|
483
|
+
|
|
484
|
+
It renders the response text using custom message styling and shows any tool invocations in a collapsible details element.
|
|
485
|
+
|
|
486
|
+
## Test your agent
|
|
487
|
+
|
|
488
|
+
1. Run your Nuxt app with `npm run dev`
|
|
489
|
+
2. Open the chat at http://localhost:3000
|
|
490
|
+
3. Try asking about the weather. If your API key is set up correctly, you'll get a response
|
|
491
|
+
|
|
492
|
+
## Next steps
|
|
493
|
+
|
|
494
|
+
Congratulations on building your Mastra agent with Nuxt! 🎉
|
|
495
|
+
|
|
496
|
+
From here, you can extend the project with your own tools and logic:
|
|
497
|
+
|
|
498
|
+
- Learn more about [agents](/docs/v1/agents/overview)
|
|
499
|
+
- Give your agent its own [tools](/docs/v1/agents/using-tools)
|
|
500
|
+
- Add human-like [memory](/docs/v1/agents/agent-memory) to your agent
|
|
501
|
+
|
|
502
|
+
When you're ready, read more about how Mastra integrates with AI SDK UI and Nuxt, and how to deploy your agent anywhere:
|
|
503
|
+
|
|
504
|
+
- Integrate Mastra with [AI SDK UI](/guides/v1/build-your-ui/ai-sdk-ui)
|
|
505
|
+
- Deploy your agent [anywhere](/docs/v1/deployment/overview)
|
|
@@ -28,28 +28,28 @@ When prompted, choose a provider (e.g. OpenAI) and enter your key:
|
|
|
28
28
|
<Tabs>
|
|
29
29
|
<TabItem value="npm" label="npm">
|
|
30
30
|
|
|
31
|
-
```bash
|
|
31
|
+
```bash
|
|
32
32
|
npm create mastra@beta
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
</TabItem>
|
|
36
36
|
<TabItem value="pnpm" label="pnpm">
|
|
37
37
|
|
|
38
|
-
```bash
|
|
38
|
+
```bash
|
|
39
39
|
pnpm create mastra@beta
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
</TabItem>
|
|
43
43
|
<TabItem value="yarn" label="yarn">
|
|
44
44
|
|
|
45
|
-
```bash
|
|
45
|
+
```bash
|
|
46
46
|
yarn create mastra@beta
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
</TabItem>
|
|
50
50
|
<TabItem value="bun" label="bun">
|
|
51
51
|
|
|
52
|
-
```bash
|
|
52
|
+
```bash
|
|
53
53
|
bun create mastra@beta
|
|
54
54
|
```
|
|
55
55
|
|
|
@@ -75,7 +75,7 @@ This creates a new directory for your project with a `src/mastra` folder contain
|
|
|
75
75
|
|
|
76
76
|
:::tip
|
|
77
77
|
|
|
78
|
-
You can use [flags](/reference/v1/cli/create-mastra#cli-flags)
|
|
78
|
+
You can use [flags](/reference/v1/cli/create-mastra#cli-flags) with `create mastra` like `--no-example` to skip the example weather agent or `--template` to start from a specific [template](https://mastra.ai/templates).
|
|
79
79
|
|
|
80
80
|
:::
|
|
81
81
|
|