@mastra/mcp-docs-server 1.1.4 → 1.1.5-alpha.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/CHANGELOG.md +7 -0
- package/package.json +3 -3
- package/.docs/docs/agents/adding-voice.md +0 -353
- package/.docs/docs/agents/agent-approval.md +0 -377
- package/.docs/docs/agents/agent-memory.md +0 -212
- package/.docs/docs/agents/guardrails.md +0 -382
- package/.docs/docs/agents/network-approval.md +0 -275
- package/.docs/docs/agents/networks.md +0 -290
- package/.docs/docs/agents/overview.md +0 -309
- package/.docs/docs/agents/processors.md +0 -632
- package/.docs/docs/agents/structured-output.md +0 -271
- package/.docs/docs/agents/using-tools.md +0 -214
- package/.docs/docs/build-with-ai/mcp-docs-server.md +0 -241
- package/.docs/docs/build-with-ai/skills.md +0 -35
- package/.docs/docs/community/contributing-templates.md +0 -3
- package/.docs/docs/community/discord.md +0 -9
- package/.docs/docs/community/licensing.md +0 -66
- package/.docs/docs/deployment/cloud-providers.md +0 -15
- package/.docs/docs/deployment/mastra-server.md +0 -122
- package/.docs/docs/deployment/monorepo.md +0 -142
- package/.docs/docs/deployment/overview.md +0 -62
- package/.docs/docs/deployment/studio.md +0 -234
- package/.docs/docs/deployment/web-framework.md +0 -52
- package/.docs/docs/deployment/workflow-runners.md +0 -9
- package/.docs/docs/evals/built-in-scorers.md +0 -47
- package/.docs/docs/evals/custom-scorers.md +0 -519
- package/.docs/docs/evals/overview.md +0 -146
- package/.docs/docs/evals/running-in-ci.md +0 -106
- package/.docs/docs/getting-started/build-with-ai.md +0 -68
- package/.docs/docs/getting-started/manual-install.md +0 -226
- package/.docs/docs/getting-started/project-structure.md +0 -60
- package/.docs/docs/getting-started/start.md +0 -28
- package/.docs/docs/getting-started/studio.md +0 -101
- package/.docs/docs/index.md +0 -43
- package/.docs/docs/mastra-cloud/deployment.md +0 -77
- package/.docs/docs/mastra-cloud/observability.md +0 -38
- package/.docs/docs/mastra-cloud/overview.md +0 -23
- package/.docs/docs/mastra-cloud/setup.md +0 -42
- package/.docs/docs/mastra-cloud/studio.md +0 -24
- package/.docs/docs/mcp/overview.md +0 -370
- package/.docs/docs/mcp/publishing-mcp-server.md +0 -95
- package/.docs/docs/memory/memory-processors.md +0 -316
- package/.docs/docs/memory/message-history.md +0 -260
- package/.docs/docs/memory/observational-memory.md +0 -246
- package/.docs/docs/memory/overview.md +0 -45
- package/.docs/docs/memory/semantic-recall.md +0 -272
- package/.docs/docs/memory/storage.md +0 -261
- package/.docs/docs/memory/working-memory.md +0 -400
- package/.docs/docs/observability/datasets/overview.md +0 -188
- package/.docs/docs/observability/datasets/running-experiments.md +0 -266
- package/.docs/docs/observability/logging.md +0 -99
- package/.docs/docs/observability/overview.md +0 -70
- package/.docs/docs/observability/tracing/bridges/otel.md +0 -209
- package/.docs/docs/observability/tracing/exporters/arize.md +0 -274
- package/.docs/docs/observability/tracing/exporters/braintrust.md +0 -111
- package/.docs/docs/observability/tracing/exporters/cloud.md +0 -129
- package/.docs/docs/observability/tracing/exporters/datadog.md +0 -187
- package/.docs/docs/observability/tracing/exporters/default.md +0 -211
- package/.docs/docs/observability/tracing/exporters/laminar.md +0 -100
- package/.docs/docs/observability/tracing/exporters/langfuse.md +0 -217
- package/.docs/docs/observability/tracing/exporters/langsmith.md +0 -202
- package/.docs/docs/observability/tracing/exporters/otel.md +0 -479
- package/.docs/docs/observability/tracing/exporters/posthog.md +0 -148
- package/.docs/docs/observability/tracing/exporters/sentry.md +0 -208
- package/.docs/docs/observability/tracing/overview.md +0 -1114
- package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +0 -303
- package/.docs/docs/rag/chunking-and-embedding.md +0 -183
- package/.docs/docs/rag/graph-rag.md +0 -215
- package/.docs/docs/rag/overview.md +0 -72
- package/.docs/docs/rag/retrieval.md +0 -521
- package/.docs/docs/rag/vector-databases.md +0 -648
- package/.docs/docs/server/auth/auth0.md +0 -222
- package/.docs/docs/server/auth/better-auth.md +0 -203
- package/.docs/docs/server/auth/clerk.md +0 -132
- package/.docs/docs/server/auth/composite-auth.md +0 -234
- package/.docs/docs/server/auth/custom-auth-provider.md +0 -513
- package/.docs/docs/server/auth/firebase.md +0 -272
- package/.docs/docs/server/auth/jwt.md +0 -110
- package/.docs/docs/server/auth/simple-auth.md +0 -178
- package/.docs/docs/server/auth/supabase.md +0 -117
- package/.docs/docs/server/auth/workos.md +0 -190
- package/.docs/docs/server/auth.md +0 -38
- package/.docs/docs/server/custom-adapters.md +0 -374
- package/.docs/docs/server/custom-api-routes.md +0 -267
- package/.docs/docs/server/mastra-client.md +0 -243
- package/.docs/docs/server/mastra-server.md +0 -71
- package/.docs/docs/server/middleware.md +0 -228
- package/.docs/docs/server/request-context.md +0 -478
- package/.docs/docs/server/server-adapters.md +0 -547
- package/.docs/docs/streaming/events.md +0 -247
- package/.docs/docs/streaming/overview.md +0 -181
- package/.docs/docs/streaming/tool-streaming.md +0 -178
- package/.docs/docs/streaming/workflow-streaming.md +0 -109
- package/.docs/docs/voice/overview.md +0 -979
- package/.docs/docs/voice/speech-to-speech.md +0 -103
- package/.docs/docs/voice/speech-to-text.md +0 -80
- package/.docs/docs/voice/text-to-speech.md +0 -84
- package/.docs/docs/workflows/agents-and-tools.md +0 -170
- package/.docs/docs/workflows/control-flow.md +0 -823
- package/.docs/docs/workflows/error-handling.md +0 -360
- package/.docs/docs/workflows/human-in-the-loop.md +0 -213
- package/.docs/docs/workflows/overview.md +0 -372
- package/.docs/docs/workflows/snapshots.md +0 -238
- package/.docs/docs/workflows/suspend-and-resume.md +0 -205
- package/.docs/docs/workflows/time-travel.md +0 -309
- package/.docs/docs/workflows/workflow-state.md +0 -181
- package/.docs/docs/workspace/filesystem.md +0 -162
- package/.docs/docs/workspace/overview.md +0 -239
- package/.docs/docs/workspace/sandbox.md +0 -63
- package/.docs/docs/workspace/search.md +0 -219
- package/.docs/docs/workspace/skills.md +0 -126
- package/.docs/guides/agent-frameworks/ai-sdk.md +0 -140
- package/.docs/guides/build-your-ui/ai-sdk-ui.md +0 -1463
- package/.docs/guides/build-your-ui/assistant-ui.md +0 -156
- package/.docs/guides/build-your-ui/copilotkit.md +0 -292
- package/.docs/guides/deployment/amazon-ec2.md +0 -130
- package/.docs/guides/deployment/aws-lambda.md +0 -248
- package/.docs/guides/deployment/azure-app-services.md +0 -114
- package/.docs/guides/deployment/cloudflare.md +0 -99
- package/.docs/guides/deployment/digital-ocean.md +0 -168
- package/.docs/guides/deployment/inngest.md +0 -685
- package/.docs/guides/deployment/netlify.md +0 -77
- package/.docs/guides/deployment/vercel.md +0 -101
- package/.docs/guides/getting-started/astro.md +0 -408
- package/.docs/guides/getting-started/electron.md +0 -504
- package/.docs/guides/getting-started/express.md +0 -251
- package/.docs/guides/getting-started/hono.md +0 -191
- package/.docs/guides/getting-started/next-js.md +0 -355
- package/.docs/guides/getting-started/nuxt.md +0 -476
- package/.docs/guides/getting-started/quickstart.md +0 -67
- package/.docs/guides/getting-started/sveltekit.md +0 -300
- package/.docs/guides/getting-started/vite-react.md +0 -439
- package/.docs/guides/guide/ai-recruiter.md +0 -227
- package/.docs/guides/guide/chef-michel.md +0 -215
- package/.docs/guides/guide/code-review-bot.md +0 -221
- package/.docs/guides/guide/dev-assistant.md +0 -304
- package/.docs/guides/guide/docs-manager.md +0 -238
- package/.docs/guides/guide/github-actions-pr-description.md +0 -236
- package/.docs/guides/guide/notes-mcp-server.md +0 -425
- package/.docs/guides/guide/research-assistant.md +0 -349
- package/.docs/guides/guide/stock-agent.md +0 -134
- package/.docs/guides/guide/web-search.md +0 -326
- package/.docs/guides/guide/whatsapp-chat-bot.md +0 -416
- package/.docs/guides/index.md +0 -3
- package/.docs/guides/migrations/agentnetwork.md +0 -101
- package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +0 -112
- package/.docs/guides/migrations/upgrade-to-v1/agent.md +0 -404
- package/.docs/guides/migrations/upgrade-to-v1/cli.md +0 -57
- package/.docs/guides/migrations/upgrade-to-v1/client.md +0 -337
- package/.docs/guides/migrations/upgrade-to-v1/deployment.md +0 -37
- package/.docs/guides/migrations/upgrade-to-v1/evals.md +0 -239
- package/.docs/guides/migrations/upgrade-to-v1/mastra.md +0 -143
- package/.docs/guides/migrations/upgrade-to-v1/mcp.md +0 -97
- package/.docs/guides/migrations/upgrade-to-v1/memory.md +0 -285
- package/.docs/guides/migrations/upgrade-to-v1/overview.md +0 -119
- package/.docs/guides/migrations/upgrade-to-v1/processors.md +0 -68
- package/.docs/guides/migrations/upgrade-to-v1/rag.md +0 -42
- package/.docs/guides/migrations/upgrade-to-v1/storage.md +0 -553
- package/.docs/guides/migrations/upgrade-to-v1/tools.md +0 -180
- package/.docs/guides/migrations/upgrade-to-v1/tracing.md +0 -417
- package/.docs/guides/migrations/upgrade-to-v1/vectors.md +0 -87
- package/.docs/guides/migrations/upgrade-to-v1/voice.md +0 -30
- package/.docs/guides/migrations/upgrade-to-v1/workflows.md +0 -341
- package/.docs/guides/migrations/vnext-to-standard-apis.md +0 -364
- package/.docs/models/embeddings.md +0 -161
- package/.docs/models/gateways/azure-openai.md +0 -128
- package/.docs/models/gateways/custom-gateways.md +0 -545
- package/.docs/models/gateways/netlify.md +0 -88
- package/.docs/models/gateways/openrouter.md +0 -219
- package/.docs/models/gateways/vercel.md +0 -225
- package/.docs/models/gateways.md +0 -14
- package/.docs/models/index.md +0 -286
- package/.docs/models/providers/302ai.md +0 -134
- package/.docs/models/providers/abacus.md +0 -125
- package/.docs/models/providers/agentrouter.md +0 -90
- package/.docs/models/providers/aihubmix.md +0 -107
- package/.docs/models/providers/alibaba-cn.md +0 -135
- package/.docs/models/providers/alibaba.md +0 -111
- package/.docs/models/providers/amazon-bedrock.md +0 -33
- package/.docs/models/providers/anthropic.md +0 -153
- package/.docs/models/providers/azure.md +0 -33
- package/.docs/models/providers/bailing.md +0 -72
- package/.docs/models/providers/baseten.md +0 -77
- package/.docs/models/providers/berget.md +0 -78
- package/.docs/models/providers/cerebras.md +0 -101
- package/.docs/models/providers/chutes.md +0 -136
- package/.docs/models/providers/cloudflare-ai-gateway.md +0 -33
- package/.docs/models/providers/cloudflare-workers-ai.md +0 -109
- package/.docs/models/providers/cohere.md +0 -33
- package/.docs/models/providers/cortecs.md +0 -91
- package/.docs/models/providers/deepinfra.md +0 -112
- package/.docs/models/providers/deepseek.md +0 -88
- package/.docs/models/providers/fastrouter.md +0 -84
- package/.docs/models/providers/fireworks-ai.md +0 -89
- package/.docs/models/providers/firmware.md +0 -85
- package/.docs/models/providers/friendli.md +0 -78
- package/.docs/models/providers/github-models.md +0 -125
- package/.docs/models/providers/google-vertex.md +0 -33
- package/.docs/models/providers/google.md +0 -159
- package/.docs/models/providers/groq.md +0 -107
- package/.docs/models/providers/helicone.md +0 -161
- package/.docs/models/providers/huggingface.md +0 -90
- package/.docs/models/providers/iflowcn.md +0 -84
- package/.docs/models/providers/inception.md +0 -72
- package/.docs/models/providers/inference.md +0 -79
- package/.docs/models/providers/io-intelligence.md +0 -87
- package/.docs/models/providers/io-net.md +0 -87
- package/.docs/models/providers/jiekou.md +0 -131
- package/.docs/models/providers/kilo.md +0 -333
- package/.docs/models/providers/kimi-for-coding.md +0 -100
- package/.docs/models/providers/kuae-cloud-coding-plan.md +0 -71
- package/.docs/models/providers/llama.md +0 -77
- package/.docs/models/providers/lmstudio.md +0 -73
- package/.docs/models/providers/lucidquery.md +0 -72
- package/.docs/models/providers/minimax-cn-coding-plan.md +0 -102
- package/.docs/models/providers/minimax-cn.md +0 -102
- package/.docs/models/providers/minimax-coding-plan.md +0 -102
- package/.docs/models/providers/minimax.md +0 -104
- package/.docs/models/providers/mistral.md +0 -124
- package/.docs/models/providers/moark.md +0 -72
- package/.docs/models/providers/modelscope.md +0 -77
- package/.docs/models/providers/moonshotai-cn.md +0 -76
- package/.docs/models/providers/moonshotai.md +0 -76
- package/.docs/models/providers/morph.md +0 -73
- package/.docs/models/providers/nano-gpt.md +0 -103
- package/.docs/models/providers/nebius.md +0 -116
- package/.docs/models/providers/nova.md +0 -72
- package/.docs/models/providers/novita-ai.md +0 -154
- package/.docs/models/providers/nvidia.md +0 -141
- package/.docs/models/providers/ollama-cloud.md +0 -103
- package/.docs/models/providers/ollama.md +0 -33
- package/.docs/models/providers/openai.md +0 -193
- package/.docs/models/providers/opencode.md +0 -100
- package/.docs/models/providers/ovhcloud.md +0 -83
- package/.docs/models/providers/perplexity.md +0 -100
- package/.docs/models/providers/poe.md +0 -183
- package/.docs/models/providers/privatemode-ai.md +0 -75
- package/.docs/models/providers/requesty.md +0 -90
- package/.docs/models/providers/scaleway.md +0 -84
- package/.docs/models/providers/siliconflow-cn.md +0 -138
- package/.docs/models/providers/siliconflow.md +0 -140
- package/.docs/models/providers/stackit.md +0 -78
- package/.docs/models/providers/stepfun.md +0 -73
- package/.docs/models/providers/submodel.md +0 -79
- package/.docs/models/providers/synthetic.md +0 -96
- package/.docs/models/providers/togetherai.md +0 -115
- package/.docs/models/providers/upstage.md +0 -73
- package/.docs/models/providers/venice.md +0 -95
- package/.docs/models/providers/vivgrid.md +0 -106
- package/.docs/models/providers/vultr.md +0 -75
- package/.docs/models/providers/wandb.md +0 -80
- package/.docs/models/providers/xai.md +0 -141
- package/.docs/models/providers/xiaomi.md +0 -71
- package/.docs/models/providers/zai-coding-plan.md +0 -80
- package/.docs/models/providers/zai.md +0 -79
- package/.docs/models/providers/zenmux.md +0 -161
- package/.docs/models/providers/zhipuai-coding-plan.md +0 -79
- package/.docs/models/providers/zhipuai.md +0 -79
- package/.docs/models/providers.md +0 -81
- package/.docs/reference/agents/agent.md +0 -142
- package/.docs/reference/agents/generate.md +0 -174
- package/.docs/reference/agents/generateLegacy.md +0 -176
- package/.docs/reference/agents/getDefaultGenerateOptions.md +0 -36
- package/.docs/reference/agents/getDefaultOptions.md +0 -34
- package/.docs/reference/agents/getDefaultStreamOptions.md +0 -36
- package/.docs/reference/agents/getDescription.md +0 -21
- package/.docs/reference/agents/getInstructions.md +0 -34
- package/.docs/reference/agents/getLLM.md +0 -37
- package/.docs/reference/agents/getMemory.md +0 -34
- package/.docs/reference/agents/getModel.md +0 -34
- package/.docs/reference/agents/getTools.md +0 -29
- package/.docs/reference/agents/getVoice.md +0 -34
- package/.docs/reference/agents/listAgents.md +0 -35
- package/.docs/reference/agents/listScorers.md +0 -34
- package/.docs/reference/agents/listTools.md +0 -34
- package/.docs/reference/agents/listWorkflows.md +0 -34
- package/.docs/reference/agents/network.md +0 -134
- package/.docs/reference/ai-sdk/chat-route.md +0 -82
- package/.docs/reference/ai-sdk/handle-chat-stream.md +0 -53
- package/.docs/reference/ai-sdk/handle-network-stream.md +0 -37
- package/.docs/reference/ai-sdk/handle-workflow-stream.md +0 -55
- package/.docs/reference/ai-sdk/network-route.md +0 -74
- package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +0 -232
- package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +0 -79
- package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +0 -73
- package/.docs/reference/ai-sdk/with-mastra.md +0 -59
- package/.docs/reference/ai-sdk/workflow-route.md +0 -79
- package/.docs/reference/auth/auth0.md +0 -73
- package/.docs/reference/auth/better-auth.md +0 -71
- package/.docs/reference/auth/clerk.md +0 -36
- package/.docs/reference/auth/firebase.md +0 -80
- package/.docs/reference/auth/jwt.md +0 -26
- package/.docs/reference/auth/supabase.md +0 -33
- package/.docs/reference/auth/workos.md +0 -84
- package/.docs/reference/cli/create-mastra.md +0 -137
- package/.docs/reference/cli/mastra.md +0 -336
- package/.docs/reference/client-js/agents.md +0 -438
- package/.docs/reference/client-js/error-handling.md +0 -16
- package/.docs/reference/client-js/logs.md +0 -24
- package/.docs/reference/client-js/mastra-client.md +0 -63
- package/.docs/reference/client-js/memory.md +0 -225
- package/.docs/reference/client-js/observability.md +0 -72
- package/.docs/reference/client-js/telemetry.md +0 -20
- package/.docs/reference/client-js/tools.md +0 -44
- package/.docs/reference/client-js/vectors.md +0 -79
- package/.docs/reference/client-js/workflows.md +0 -199
- package/.docs/reference/configuration.md +0 -749
- package/.docs/reference/core/addGateway.md +0 -42
- package/.docs/reference/core/getAgent.md +0 -21
- package/.docs/reference/core/getAgentById.md +0 -21
- package/.docs/reference/core/getDeployer.md +0 -22
- package/.docs/reference/core/getGateway.md +0 -38
- package/.docs/reference/core/getGatewayById.md +0 -41
- package/.docs/reference/core/getLogger.md +0 -22
- package/.docs/reference/core/getMCPServer.md +0 -45
- package/.docs/reference/core/getMCPServerById.md +0 -53
- package/.docs/reference/core/getMemory.md +0 -50
- package/.docs/reference/core/getScorer.md +0 -54
- package/.docs/reference/core/getScorerById.md +0 -54
- package/.docs/reference/core/getServer.md +0 -22
- package/.docs/reference/core/getStorage.md +0 -22
- package/.docs/reference/core/getStoredAgentById.md +0 -89
- package/.docs/reference/core/getTelemetry.md +0 -22
- package/.docs/reference/core/getVector.md +0 -22
- package/.docs/reference/core/getWorkflow.md +0 -40
- package/.docs/reference/core/listAgents.md +0 -21
- package/.docs/reference/core/listGateways.md +0 -40
- package/.docs/reference/core/listLogs.md +0 -38
- package/.docs/reference/core/listLogsByRunId.md +0 -36
- package/.docs/reference/core/listMCPServers.md +0 -51
- package/.docs/reference/core/listMemory.md +0 -56
- package/.docs/reference/core/listScorers.md +0 -29
- package/.docs/reference/core/listStoredAgents.md +0 -93
- package/.docs/reference/core/listVectors.md +0 -22
- package/.docs/reference/core/listWorkflows.md +0 -21
- package/.docs/reference/core/mastra-class.md +0 -66
- package/.docs/reference/core/mastra-model-gateway.md +0 -153
- package/.docs/reference/core/setLogger.md +0 -26
- package/.docs/reference/core/setStorage.md +0 -27
- package/.docs/reference/datasets/addItem.md +0 -35
- package/.docs/reference/datasets/addItems.md +0 -33
- package/.docs/reference/datasets/compareExperiments.md +0 -48
- package/.docs/reference/datasets/create.md +0 -49
- package/.docs/reference/datasets/dataset.md +0 -78
- package/.docs/reference/datasets/datasets-manager.md +0 -84
- package/.docs/reference/datasets/delete.md +0 -23
- package/.docs/reference/datasets/deleteExperiment.md +0 -25
- package/.docs/reference/datasets/deleteItem.md +0 -25
- package/.docs/reference/datasets/deleteItems.md +0 -27
- package/.docs/reference/datasets/get.md +0 -29
- package/.docs/reference/datasets/getDetails.md +0 -45
- package/.docs/reference/datasets/getExperiment.md +0 -28
- package/.docs/reference/datasets/getItem.md +0 -31
- package/.docs/reference/datasets/getItemHistory.md +0 -29
- package/.docs/reference/datasets/list.md +0 -29
- package/.docs/reference/datasets/listExperimentResults.md +0 -37
- package/.docs/reference/datasets/listExperiments.md +0 -31
- package/.docs/reference/datasets/listItems.md +0 -44
- package/.docs/reference/datasets/listVersions.md +0 -31
- package/.docs/reference/datasets/startExperiment.md +0 -60
- package/.docs/reference/datasets/startExperimentAsync.md +0 -41
- package/.docs/reference/datasets/update.md +0 -46
- package/.docs/reference/datasets/updateItem.md +0 -36
- package/.docs/reference/deployer/cloudflare.md +0 -79
- package/.docs/reference/deployer/netlify.md +0 -82
- package/.docs/reference/deployer/vercel.md +0 -91
- package/.docs/reference/deployer.md +0 -100
- package/.docs/reference/evals/answer-relevancy.md +0 -105
- package/.docs/reference/evals/answer-similarity.md +0 -99
- package/.docs/reference/evals/bias.md +0 -120
- package/.docs/reference/evals/completeness.md +0 -137
- package/.docs/reference/evals/content-similarity.md +0 -101
- package/.docs/reference/evals/context-precision.md +0 -196
- package/.docs/reference/evals/context-relevance.md +0 -536
- package/.docs/reference/evals/create-scorer.md +0 -270
- package/.docs/reference/evals/faithfulness.md +0 -114
- package/.docs/reference/evals/hallucination.md +0 -220
- package/.docs/reference/evals/keyword-coverage.md +0 -128
- package/.docs/reference/evals/mastra-scorer.md +0 -123
- package/.docs/reference/evals/noise-sensitivity.md +0 -685
- package/.docs/reference/evals/prompt-alignment.md +0 -619
- package/.docs/reference/evals/run-evals.md +0 -138
- package/.docs/reference/evals/scorer-utils.md +0 -330
- package/.docs/reference/evals/textual-difference.md +0 -113
- package/.docs/reference/evals/tone-consistency.md +0 -119
- package/.docs/reference/evals/tool-call-accuracy.md +0 -533
- package/.docs/reference/evals/toxicity.md +0 -123
- package/.docs/reference/harness/harness-class.md +0 -645
- package/.docs/reference/index.md +0 -276
- package/.docs/reference/logging/pino-logger.md +0 -117
- package/.docs/reference/memory/clone-utilities.md +0 -199
- package/.docs/reference/memory/cloneThread.md +0 -130
- package/.docs/reference/memory/createThread.md +0 -68
- package/.docs/reference/memory/deleteMessages.md +0 -40
- package/.docs/reference/memory/getThreadById.md +0 -24
- package/.docs/reference/memory/listThreads.md +0 -145
- package/.docs/reference/memory/memory-class.md +0 -147
- package/.docs/reference/memory/observational-memory.md +0 -565
- package/.docs/reference/memory/recall.md +0 -91
- package/.docs/reference/observability/tracing/bridges/otel.md +0 -131
- package/.docs/reference/observability/tracing/configuration.md +0 -178
- package/.docs/reference/observability/tracing/exporters/arize.md +0 -141
- package/.docs/reference/observability/tracing/exporters/braintrust.md +0 -93
- package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +0 -163
- package/.docs/reference/observability/tracing/exporters/console-exporter.md +0 -138
- package/.docs/reference/observability/tracing/exporters/datadog.md +0 -116
- package/.docs/reference/observability/tracing/exporters/default-exporter.md +0 -174
- package/.docs/reference/observability/tracing/exporters/laminar.md +0 -78
- package/.docs/reference/observability/tracing/exporters/langfuse.md +0 -134
- package/.docs/reference/observability/tracing/exporters/langsmith.md +0 -110
- package/.docs/reference/observability/tracing/exporters/otel.md +0 -199
- package/.docs/reference/observability/tracing/exporters/posthog.md +0 -92
- package/.docs/reference/observability/tracing/exporters/sentry.md +0 -184
- package/.docs/reference/observability/tracing/instances.md +0 -109
- package/.docs/reference/observability/tracing/interfaces.md +0 -749
- package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +0 -144
- package/.docs/reference/observability/tracing/spans.md +0 -224
- package/.docs/reference/processors/batch-parts-processor.md +0 -61
- package/.docs/reference/processors/language-detector.md +0 -81
- package/.docs/reference/processors/message-history-processor.md +0 -85
- package/.docs/reference/processors/moderation-processor.md +0 -104
- package/.docs/reference/processors/pii-detector.md +0 -107
- package/.docs/reference/processors/processor-interface.md +0 -525
- package/.docs/reference/processors/prompt-injection-detector.md +0 -71
- package/.docs/reference/processors/semantic-recall-processor.md +0 -123
- package/.docs/reference/processors/system-prompt-scrubber.md +0 -80
- package/.docs/reference/processors/token-limiter-processor.md +0 -113
- package/.docs/reference/processors/tool-call-filter.md +0 -85
- package/.docs/reference/processors/tool-search-processor.md +0 -113
- package/.docs/reference/processors/unicode-normalizer.md +0 -62
- package/.docs/reference/processors/working-memory-processor.md +0 -154
- package/.docs/reference/rag/chunk.md +0 -221
- package/.docs/reference/rag/database-config.md +0 -264
- package/.docs/reference/rag/document.md +0 -114
- package/.docs/reference/rag/embeddings.md +0 -92
- package/.docs/reference/rag/extract-params.md +0 -168
- package/.docs/reference/rag/graph-rag.md +0 -111
- package/.docs/reference/rag/metadata-filters.md +0 -216
- package/.docs/reference/rag/rerank.md +0 -80
- package/.docs/reference/rag/rerankWithScorer.md +0 -80
- package/.docs/reference/server/create-route.md +0 -260
- package/.docs/reference/server/express-adapter.md +0 -176
- package/.docs/reference/server/fastify-adapter.md +0 -90
- package/.docs/reference/server/hono-adapter.md +0 -162
- package/.docs/reference/server/koa-adapter.md +0 -127
- package/.docs/reference/server/mastra-server.md +0 -298
- package/.docs/reference/server/register-api-route.md +0 -249
- package/.docs/reference/server/routes.md +0 -306
- package/.docs/reference/storage/cloudflare-d1.md +0 -218
- package/.docs/reference/storage/cloudflare.md +0 -88
- package/.docs/reference/storage/composite.md +0 -235
- package/.docs/reference/storage/convex.md +0 -161
- package/.docs/reference/storage/dynamodb.md +0 -282
- package/.docs/reference/storage/lance.md +0 -131
- package/.docs/reference/storage/libsql.md +0 -135
- package/.docs/reference/storage/mongodb.md +0 -262
- package/.docs/reference/storage/mssql.md +0 -155
- package/.docs/reference/storage/overview.md +0 -121
- package/.docs/reference/storage/postgresql.md +0 -529
- package/.docs/reference/storage/upstash.md +0 -160
- package/.docs/reference/streaming/ChunkType.md +0 -292
- package/.docs/reference/streaming/agents/MastraModelOutput.md +0 -182
- package/.docs/reference/streaming/agents/stream.md +0 -212
- package/.docs/reference/streaming/agents/streamLegacy.md +0 -142
- package/.docs/reference/streaming/workflows/observeStream.md +0 -42
- package/.docs/reference/streaming/workflows/resumeStream.md +0 -61
- package/.docs/reference/streaming/workflows/stream.md +0 -88
- package/.docs/reference/streaming/workflows/timeTravelStream.md +0 -142
- package/.docs/reference/templates/overview.md +0 -194
- package/.docs/reference/tools/create-tool.md +0 -237
- package/.docs/reference/tools/document-chunker-tool.md +0 -89
- package/.docs/reference/tools/graph-rag-tool.md +0 -185
- package/.docs/reference/tools/mcp-client.md +0 -962
- package/.docs/reference/tools/mcp-server.md +0 -1275
- package/.docs/reference/tools/vector-query-tool.md +0 -459
- package/.docs/reference/vectors/astra.md +0 -121
- package/.docs/reference/vectors/chroma.md +0 -267
- package/.docs/reference/vectors/convex.md +0 -303
- package/.docs/reference/vectors/couchbase.md +0 -226
- package/.docs/reference/vectors/duckdb.md +0 -318
- package/.docs/reference/vectors/elasticsearch.md +0 -189
- package/.docs/reference/vectors/lance.md +0 -220
- package/.docs/reference/vectors/libsql.md +0 -305
- package/.docs/reference/vectors/mongodb.md +0 -295
- package/.docs/reference/vectors/opensearch.md +0 -99
- package/.docs/reference/vectors/pg.md +0 -408
- package/.docs/reference/vectors/pinecone.md +0 -168
- package/.docs/reference/vectors/qdrant.md +0 -222
- package/.docs/reference/vectors/s3vectors.md +0 -277
- package/.docs/reference/vectors/turbopuffer.md +0 -157
- package/.docs/reference/vectors/upstash.md +0 -294
- package/.docs/reference/vectors/vectorize.md +0 -147
- package/.docs/reference/voice/azure.md +0 -148
- package/.docs/reference/voice/cloudflare.md +0 -83
- package/.docs/reference/voice/composite-voice.md +0 -121
- package/.docs/reference/voice/deepgram.md +0 -79
- package/.docs/reference/voice/elevenlabs.md +0 -98
- package/.docs/reference/voice/google-gemini-live.md +0 -378
- package/.docs/reference/voice/google.md +0 -228
- package/.docs/reference/voice/mastra-voice.md +0 -313
- package/.docs/reference/voice/murf.md +0 -122
- package/.docs/reference/voice/openai-realtime.md +0 -203
- package/.docs/reference/voice/openai.md +0 -88
- package/.docs/reference/voice/playai.md +0 -80
- package/.docs/reference/voice/sarvam.md +0 -126
- package/.docs/reference/voice/speechify.md +0 -75
- package/.docs/reference/voice/voice.addInstructions.md +0 -56
- package/.docs/reference/voice/voice.addTools.md +0 -67
- package/.docs/reference/voice/voice.answer.md +0 -54
- package/.docs/reference/voice/voice.close.md +0 -51
- package/.docs/reference/voice/voice.connect.md +0 -94
- package/.docs/reference/voice/voice.events.md +0 -37
- package/.docs/reference/voice/voice.getSpeakers.md +0 -129
- package/.docs/reference/voice/voice.listen.md +0 -164
- package/.docs/reference/voice/voice.off.md +0 -54
- package/.docs/reference/voice/voice.on.md +0 -111
- package/.docs/reference/voice/voice.send.md +0 -65
- package/.docs/reference/voice/voice.speak.md +0 -157
- package/.docs/reference/voice/voice.updateConfig.md +0 -60
- package/.docs/reference/workflows/run-methods/cancel.md +0 -86
- package/.docs/reference/workflows/run-methods/restart.md +0 -33
- package/.docs/reference/workflows/run-methods/resume.md +0 -59
- package/.docs/reference/workflows/run-methods/start.md +0 -58
- package/.docs/reference/workflows/run-methods/startAsync.md +0 -67
- package/.docs/reference/workflows/run-methods/timeTravel.md +0 -142
- package/.docs/reference/workflows/run.md +0 -59
- package/.docs/reference/workflows/step.md +0 -119
- package/.docs/reference/workflows/workflow-methods/branch.md +0 -25
- package/.docs/reference/workflows/workflow-methods/commit.md +0 -17
- package/.docs/reference/workflows/workflow-methods/create-run.md +0 -63
- package/.docs/reference/workflows/workflow-methods/dountil.md +0 -25
- package/.docs/reference/workflows/workflow-methods/dowhile.md +0 -25
- package/.docs/reference/workflows/workflow-methods/foreach.md +0 -118
- package/.docs/reference/workflows/workflow-methods/map.md +0 -93
- package/.docs/reference/workflows/workflow-methods/parallel.md +0 -21
- package/.docs/reference/workflows/workflow-methods/sleep.md +0 -35
- package/.docs/reference/workflows/workflow-methods/sleepUntil.md +0 -35
- package/.docs/reference/workflows/workflow-methods/then.md +0 -21
- package/.docs/reference/workflows/workflow.md +0 -157
- package/.docs/reference/workspace/e2b-sandbox.md +0 -288
- package/.docs/reference/workspace/filesystem.md +0 -202
- package/.docs/reference/workspace/gcs-filesystem.md +0 -170
- package/.docs/reference/workspace/local-filesystem.md +0 -327
- package/.docs/reference/workspace/local-sandbox.md +0 -285
- package/.docs/reference/workspace/s3-filesystem.md +0 -169
- package/.docs/reference/workspace/sandbox.md +0 -81
- package/.docs/reference/workspace/workspace-class.md +0 -226
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
# Building an AI Chef Assistant
|
|
2
|
-
|
|
3
|
-
In this guide, you'll create a "Chef Assistant" agent that helps users cook meals with available ingredients.
|
|
4
|
-
|
|
5
|
-
You'll learn how to create the agent and register it with Mastra. Next, you'll interact with the agent through your terminal and get to know different response formats. Lastly, you'll access the agent through Mastra's local API endpoints.
|
|
6
|
-
|
|
7
|
-
[YouTube video player](https://www.youtube-nocookie.com/embed/_tZhOqHCrF0)
|
|
8
|
-
|
|
9
|
-
## Prerequisites
|
|
10
|
-
|
|
11
|
-
- Node.js `v22.13.0` or later installed
|
|
12
|
-
- An API key from a supported [Model Provider](https://mastra.ai/models)
|
|
13
|
-
- An existing Mastra project (Follow the [installation guide](https://mastra.ai/guides/getting-started/quickstart) to set up a new project)
|
|
14
|
-
|
|
15
|
-
## Creating the Agent
|
|
16
|
-
|
|
17
|
-
To create an agent in Mastra use the `Agent` class to define it and then register it with Mastra.
|
|
18
|
-
|
|
19
|
-
1. Create a new file `src/mastra/agents/chefAgent.ts` and define your agent:
|
|
20
|
-
|
|
21
|
-
```ts
|
|
22
|
-
import { Agent } from "@mastra/core/agent";
|
|
23
|
-
|
|
24
|
-
export const chefAgent = new Agent({
|
|
25
|
-
id: "chef-agent",
|
|
26
|
-
name: "chef-agent",
|
|
27
|
-
instructions:
|
|
28
|
-
"You are Michel, a practical and experienced home chef" +
|
|
29
|
-
"You help people cook with whatever ingredients they have available.",
|
|
30
|
-
model: "openai/gpt-5.1",
|
|
31
|
-
});
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
2. In your `src/mastra/index.ts` file, register the agent:
|
|
35
|
-
|
|
36
|
-
```ts
|
|
37
|
-
import { Mastra } from "@mastra/core";
|
|
38
|
-
import { chefAgent } from "./agents/chefAgent";
|
|
39
|
-
|
|
40
|
-
export const mastra = new Mastra({
|
|
41
|
-
agents: { chefAgent },
|
|
42
|
-
});
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Interacting with the Agent
|
|
46
|
-
|
|
47
|
-
Depending on your requirements you can interact and get responses from the agent in different formats. In the following steps you'll learn how to generate, stream, and get structured output.
|
|
48
|
-
|
|
49
|
-
1. Create a new file `src/index.ts` and add a `main()` function to it. Inside, craft a query to ask the agent and log its response.
|
|
50
|
-
|
|
51
|
-
```ts
|
|
52
|
-
import { chefAgent } from "./mastra/agents/chefAgent";
|
|
53
|
-
|
|
54
|
-
async function main() {
|
|
55
|
-
const query =
|
|
56
|
-
"In my kitchen I have: pasta, canned tomatoes, garlic, olive oil, and some dried herbs (basil and oregano). What can I make?";
|
|
57
|
-
console.log(`Query: ${query}`);
|
|
58
|
-
|
|
59
|
-
const response = await chefAgent.generate([{ role: "user", content: query }]);
|
|
60
|
-
console.log("\n👨🍳 Chef Michel:", response.text);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
main();
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Afterwards, run the script:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
npx bun src/index.ts
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
You should get an output similar to this:
|
|
73
|
-
|
|
74
|
-
```text
|
|
75
|
-
Query: In my kitchen I have: pasta, canned tomatoes, garlic, olive oil, and some dried herbs (basil and oregano). What can I make?
|
|
76
|
-
|
|
77
|
-
👨🍳 Chef Michel: You can make a delicious pasta al pomodoro! Here's how...
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
2. In the previous example you might have waited a bit for the response without any sign of progress. To show the agent's output as it creates it you should instead stream its response to the terminal.
|
|
81
|
-
|
|
82
|
-
```ts
|
|
83
|
-
import { chefAgent } from "./mastra/agents/chefAgent";
|
|
84
|
-
|
|
85
|
-
async function main() {
|
|
86
|
-
const query =
|
|
87
|
-
"Now I'm over at my friend's house, and they have: chicken thighs, coconut milk, sweet potatoes, and some curry powder.";
|
|
88
|
-
console.log(`Query: ${query}`);
|
|
89
|
-
|
|
90
|
-
const stream = await chefAgent.stream([{ role: "user", content: query }]);
|
|
91
|
-
|
|
92
|
-
console.log("\n Chef Michel: ");
|
|
93
|
-
|
|
94
|
-
for await (const chunk of stream.textStream) {
|
|
95
|
-
process.stdout.write(chunk);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
console.log("\n\n✅ Recipe complete!");
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
main();
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Afterwards, run the script again:
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
npx bun src/index.ts
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
You should get an output similar to the one below. This time though you can read it line by line instead of one large block.
|
|
111
|
-
|
|
112
|
-
```text
|
|
113
|
-
Query: Now I'm over at my friend's house, and they have: chicken thighs, coconut milk, sweet potatoes, and some curry powder.
|
|
114
|
-
|
|
115
|
-
👨🍳 Chef Michel:
|
|
116
|
-
Great! You can make a comforting chicken curry...
|
|
117
|
-
|
|
118
|
-
✅ Recipe complete!
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
3. Instead of showing the agent's response to a human you might want to pass it along to another part of your code. For these instances your agent should return [structured output](https://mastra.ai/docs/agents/overview).
|
|
122
|
-
|
|
123
|
-
Change your `src/index.ts` to the following:
|
|
124
|
-
|
|
125
|
-
```ts
|
|
126
|
-
import { chefAgent } from "./mastra/agents/chefAgent";
|
|
127
|
-
import { z } from "zod";
|
|
128
|
-
|
|
129
|
-
async function main() {
|
|
130
|
-
const query =
|
|
131
|
-
"I want to make lasagna, can you generate a lasagna recipe for me?";
|
|
132
|
-
console.log(`Query: ${query}`);
|
|
133
|
-
|
|
134
|
-
// Define the Zod schema
|
|
135
|
-
const schema = z.object({
|
|
136
|
-
ingredients: z.array(
|
|
137
|
-
z.object({
|
|
138
|
-
name: z.string(),
|
|
139
|
-
amount: z.string(),
|
|
140
|
-
}),
|
|
141
|
-
),
|
|
142
|
-
steps: z.array(z.string()),
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
const response = await chefAgent.generate(
|
|
146
|
-
[{ role: "user", content: query }],
|
|
147
|
-
{
|
|
148
|
-
structuredOutput: {
|
|
149
|
-
schema,
|
|
150
|
-
},
|
|
151
|
-
},
|
|
152
|
-
);
|
|
153
|
-
console.log("\n👨🍳 Chef Michel:", response.object);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
main();
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
After running the script again you should get an output similar to this:
|
|
160
|
-
|
|
161
|
-
```text
|
|
162
|
-
Query: I want to make lasagna, can you generate a lasagna recipe for me?
|
|
163
|
-
|
|
164
|
-
👨🍳 Chef Michel: {
|
|
165
|
-
ingredients: [
|
|
166
|
-
{ name: "Lasagna noodles", amount: "12 sheets" },
|
|
167
|
-
{ name: "Ground beef", amount: "1 pound" },
|
|
168
|
-
],
|
|
169
|
-
steps: [
|
|
170
|
-
"Preheat oven to 375°F (190°C).",
|
|
171
|
-
"Cook the lasagna noodles according to package instructions.",
|
|
172
|
-
]
|
|
173
|
-
}
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
## Running the Agent Server
|
|
177
|
-
|
|
178
|
-
Learn how to interact with your agent through Mastra's API.
|
|
179
|
-
|
|
180
|
-
1. You can run your agent as a service using the `mastra dev` command:
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
mastra dev
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
This will start a server exposing endpoints to interact with your registered agents. Within [Studio](https://mastra.ai/docs/getting-started/studio) you can test your agent through a UI.
|
|
187
|
-
|
|
188
|
-
2. By default, `mastra dev` runs on `http://localhost:4111`. Your Chef Assistant agent will be available at:
|
|
189
|
-
|
|
190
|
-
```text
|
|
191
|
-
POST http://localhost:4111/api/agents/chefAgent/generate
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
3. You can interact with the agent using `curl` from the command line:
|
|
195
|
-
|
|
196
|
-
```bash
|
|
197
|
-
curl -X POST http://localhost:4111/api/agents/chefAgent/generate \
|
|
198
|
-
-H "Content-Type: application/json" \
|
|
199
|
-
-d '{
|
|
200
|
-
"messages": [
|
|
201
|
-
{
|
|
202
|
-
"role": "user",
|
|
203
|
-
"content": "I have eggs, flour, and milk. What can I make?"
|
|
204
|
-
}
|
|
205
|
-
]
|
|
206
|
-
}'
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
**Sample Response:**
|
|
210
|
-
|
|
211
|
-
```json
|
|
212
|
-
{
|
|
213
|
-
"text": "You can make delicious pancakes! Here's a simple recipe..."
|
|
214
|
-
}
|
|
215
|
-
```
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
# Building a Code Review Bot
|
|
2
|
-
|
|
3
|
-
In this guide, you'll build a code review bot that automatically reviews pull requests using workspace skills. The bot loads coding standards from skill files and provides structured feedback. You'll learn how to create a workspace with a skills directory, define an [Agent Skill](https://agentskills.io) with review instructions and reference files, and connect it to an agent that performs automated reviews.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
- Node.js `v22.13.0` or later installed
|
|
8
|
-
- An API key from a supported [Model Provider](https://mastra.ai/models)
|
|
9
|
-
- An existing Mastra project (Follow the [installation guide](https://mastra.ai/guides/getting-started/quickstart) to set up a new project)
|
|
10
|
-
|
|
11
|
-
## Create the workspace
|
|
12
|
-
|
|
13
|
-
In your `src/mastra/index.ts` file, import the [`Workspace`](https://mastra.ai/reference/workspace/workspace-class) and [`LocalFilesystem`](https://mastra.ai/reference/workspace/local-filesystem) classes. On the `Workspace` instance, configure the `skills` option to point to a skills directory. The `skills` directory will live inside the filesystem's `basePath`.
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
16
|
-
import { Mastra } from '@mastra/core';
|
|
17
|
-
import { resolve } from 'node:path';
|
|
18
|
-
import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
|
|
19
|
-
|
|
20
|
-
const workspace = new Workspace({
|
|
21
|
-
filesystem: new LocalFilesystem({
|
|
22
|
-
basePath: resolve(import.meta.dirname, '../../workspace'),
|
|
23
|
-
}),
|
|
24
|
-
skills: ['/skills'],
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
export const mastra = new Mastra({
|
|
28
|
-
workspace,
|
|
29
|
-
});
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
At the root of your project, create a new folder called `workspace`. Inside that, create a `skills` folder. This is where you'll define the code standards skill in the next step.
|
|
33
|
-
|
|
34
|
-
## Create the code standards skill
|
|
35
|
-
|
|
36
|
-
Skills are structured directories containing a `SKILL.md` file with instructions for the agent. The code standards skill defines the review process and references a style guide.
|
|
37
|
-
|
|
38
|
-
Inside `workspace/skills`, create a new folder called `code-standards`. Create a file called `SKILL.md` and add the review instructions.
|
|
39
|
-
|
|
40
|
-
```markdown
|
|
41
|
-
---
|
|
42
|
-
name: code-standards
|
|
43
|
-
description: Automated code review standards and checks
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
# Code Review Standards
|
|
47
|
-
|
|
48
|
-
Review code systematically using these steps:
|
|
49
|
-
|
|
50
|
-
1. **Critical Issues**: Security vulnerabilities, memory leaks, logic bugs, missing error handling
|
|
51
|
-
2. **Code Quality**: Functions over 50 lines, code duplication, confusing names, missing types
|
|
52
|
-
3. **Style Guide**: Check references/style-guide.md for naming and organization
|
|
53
|
-
4. **Linting**: Flag common issues like use of `var`, leftover `console.log` statements, and `debugger` statements
|
|
54
|
-
|
|
55
|
-
Provide feedback in this format:
|
|
56
|
-
|
|
57
|
-
**Summary**: One sentence overview
|
|
58
|
-
|
|
59
|
-
**Critical Issues**: List with line numbers
|
|
60
|
-
|
|
61
|
-
**Suggestions**: Improvements that would help
|
|
62
|
-
|
|
63
|
-
**Positive Notes**: What the code does well
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Inside `workspace/skills/code-standards`, create a `references` folder to hold reference materials for the skill. Author a style guide file that outlines the project's coding conventions with the file name `style-guide.md`.
|
|
67
|
-
|
|
68
|
-
````markdown
|
|
69
|
-
# Style Guide
|
|
70
|
-
|
|
71
|
-
## Naming
|
|
72
|
-
|
|
73
|
-
- Variables/Functions: `camelCase`
|
|
74
|
-
- Constants: `UPPER_SNAKE_CASE`
|
|
75
|
-
- Files: `kebab-case.ts`
|
|
76
|
-
- Booleans: Start with `is`, `has`, `should`
|
|
77
|
-
|
|
78
|
-
## Code Organization
|
|
79
|
-
|
|
80
|
-
```typescript
|
|
81
|
-
// 1. Imports
|
|
82
|
-
import { foo } from 'bar';
|
|
83
|
-
|
|
84
|
-
// 2. Constants
|
|
85
|
-
const MAX_SIZE = 100;
|
|
86
|
-
|
|
87
|
-
// 3. Types
|
|
88
|
-
interface User { id: string; }
|
|
89
|
-
|
|
90
|
-
// 4. Functions
|
|
91
|
-
function doSomething() {}
|
|
92
|
-
|
|
93
|
-
// 5. Exports
|
|
94
|
-
export { doSomething };
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Error Handling
|
|
98
|
-
|
|
99
|
-
Always handle errors explicitly - never silently catch.
|
|
100
|
-
|
|
101
|
-
## Comments
|
|
102
|
-
|
|
103
|
-
Write "why" not "what".
|
|
104
|
-
````
|
|
105
|
-
|
|
106
|
-
## Create the review agent
|
|
107
|
-
|
|
108
|
-
Now it's time to create the code review bot agent that uses the code-standards skill. Create a new file at `src/mastra/agents/code-reviewer.ts` and define the agent:
|
|
109
|
-
|
|
110
|
-
```typescript
|
|
111
|
-
import { Agent } from '@mastra/core/agent';
|
|
112
|
-
|
|
113
|
-
export const codeReviewer = new Agent({
|
|
114
|
-
id: 'code-reviewer',
|
|
115
|
-
name: 'Code Review Bot',
|
|
116
|
-
instructions: `You are an automated code reviewer.
|
|
117
|
-
|
|
118
|
-
When asked to review code:
|
|
119
|
-
1. Activate the 'code-standards' skill
|
|
120
|
-
2. Follow the review process from the skill
|
|
121
|
-
3. Check against the style guide in skill references
|
|
122
|
-
4. Be constructive and specific with line numbers`,
|
|
123
|
-
model: 'openai/gpt-4o',
|
|
124
|
-
});
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Define the agent by importing it inside `src/mastra/index.ts` and registering it with the `Mastra` instance:
|
|
128
|
-
|
|
129
|
-
```typescript
|
|
130
|
-
import { Mastra } from '@mastra/core';
|
|
131
|
-
import { resolve } from 'node:path';
|
|
132
|
-
import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
|
|
133
|
-
import { codeReviewer } from './agents/code-reviewer';
|
|
134
|
-
|
|
135
|
-
const workspace = new Workspace({
|
|
136
|
-
filesystem: new LocalFilesystem({
|
|
137
|
-
basePath: resolve(import.meta.dirname, '../../workspace'),
|
|
138
|
-
}),
|
|
139
|
-
skills: ['/skills'],
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
export const mastra = new Mastra({
|
|
143
|
-
workspace,
|
|
144
|
-
agents: { codeReviewer },
|
|
145
|
-
});
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## Test the bot
|
|
149
|
-
|
|
150
|
-
Start Mastra Studio and interact with the code review bot to see it in action.
|
|
151
|
-
|
|
152
|
-
**npm**:
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
npm run dev
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
**pnpm**:
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
pnpm run dev
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
**Yarn**:
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
yarn dev
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
**Bun**:
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
bun run dev
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
Open [localhost:4111](http://localhost:4111) and navigate to the code reviewer agent.
|
|
177
|
-
|
|
178
|
-
Inside the chat input, provide a code snippet for review, such as:
|
|
179
|
-
|
|
180
|
-
```text
|
|
181
|
-
Review this code:
|
|
182
|
-
|
|
183
|
-
function getData(id) {
|
|
184
|
-
var result = fetch('/api/data/' + id);
|
|
185
|
-
console.log(result);
|
|
186
|
-
return result;
|
|
187
|
-
}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
The bot should activate the `code-standards` skill and provide structured feedback. Since agent responses are non-deterministic, your output may vary, but you should see something similar to:
|
|
191
|
-
|
|
192
|
-
```md
|
|
193
|
-
**Summary**: Function has several issues with variable declaration,
|
|
194
|
-
debugging statements, and missing error handling.
|
|
195
|
-
|
|
196
|
-
**Critical Issues**:
|
|
197
|
-
- Missing error handling for fetch (line 2)
|
|
198
|
-
- No async/await for asynchronous operation (line 2)
|
|
199
|
-
|
|
200
|
-
**Suggestions**:
|
|
201
|
-
- Use const instead of var (line 2)
|
|
202
|
-
- Remove console.log before committing (line 3)
|
|
203
|
-
- Add TypeScript type for id parameter
|
|
204
|
-
- Use template literals instead of concatenation
|
|
205
|
-
|
|
206
|
-
**Positive Notes**:
|
|
207
|
-
- Function name is clear and descriptive
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
## Next steps
|
|
211
|
-
|
|
212
|
-
You can extend this bot to:
|
|
213
|
-
|
|
214
|
-
- Add skills for different languages or frameworks
|
|
215
|
-
- Create skills for security checks and performance reviews
|
|
216
|
-
- Integrate with GitHub Actions for automatic PR reviews
|
|
217
|
-
- Build a PR comment bot that leaves inline feedback
|
|
218
|
-
|
|
219
|
-
Learn more:
|
|
220
|
-
|
|
221
|
-
- [Agent Skills spec](https://agentskills.io)
|