@mastra/mcp-docs-server 0.13.39 → 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +1 -0
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +0 -10
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +0 -10
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +36 -36
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +0 -10
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +40 -40
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +19 -19
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +4 -14
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +18 -18
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +220 -220
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +190 -190
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +7 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +210 -210
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +67 -67
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +67 -67
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +209 -209
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +191 -191
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +34 -34
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +5 -13
- package/.docs/organized/changelogs/%40mastra%2Flance.md +182 -182
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +65 -65
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +228 -228
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +206 -206
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +19 -19
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +197 -197
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +216 -216
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Frag.md +61 -61
- package/.docs/organized/changelogs/%40mastra%2Freact.md +66 -66
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +9 -17
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -30
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +203 -203
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +190 -190
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +18 -18
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +21 -21
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +20 -20
- package/.docs/organized/changelogs/create-mastra.md +29 -29
- package/.docs/organized/changelogs/mastra.md +93 -93
- package/.docs/organized/code-examples/a2a.md +4 -2
- package/.docs/organized/code-examples/agui.md +12 -9
- package/.docs/organized/code-examples/ai-sdk-useChat.md +12 -18
- package/.docs/organized/code-examples/ai-sdk-v5.md +4 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +5 -4
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +4 -3
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +4 -3
- package/.docs/organized/code-examples/client-side-tools.md +1 -0
- package/.docs/organized/code-examples/crypto-chatbot.md +1 -1
- package/.docs/organized/code-examples/experimental-auth-weather-agent.md +8 -177
- package/.docs/organized/code-examples/fireworks-r1.md +2 -2
- package/.docs/organized/code-examples/heads-up-game.md +10 -7
- package/.docs/organized/code-examples/mcp-configuration.md +5 -3
- package/.docs/organized/code-examples/mcp-registry-registry.md +3 -2
- package/.docs/organized/code-examples/memory-per-resource-example.md +4 -2
- package/.docs/organized/code-examples/memory-todo-agent.md +1 -0
- package/.docs/organized/code-examples/memory-with-context.md +2 -1
- package/.docs/organized/code-examples/memory-with-libsql.md +4 -2
- package/.docs/organized/code-examples/memory-with-mongodb.md +4 -2
- package/.docs/organized/code-examples/memory-with-pg.md +4 -2
- package/.docs/organized/code-examples/memory-with-processors.md +13 -8
- package/.docs/organized/code-examples/memory-with-upstash.md +5 -3
- package/.docs/organized/code-examples/openapi-spec-writer.md +32 -41
- package/.docs/organized/code-examples/quick-start.md +5 -32
- package/.docs/organized/code-examples/stock-price-tool.md +6 -5
- package/.docs/organized/code-examples/weather-agent.md +21 -16
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +3 -2
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +9 -12
- package/.docs/organized/code-examples/workflow-with-memory.md +16 -15
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +2 -2
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +3 -2
- package/.docs/raw/agents/adding-voice.mdx +27 -22
- package/.docs/raw/agents/agent-memory.mdx +24 -16
- package/.docs/raw/agents/guardrails.mdx +33 -12
- package/.docs/raw/agents/networks.mdx +8 -4
- package/.docs/raw/agents/overview.mdx +23 -17
- package/.docs/raw/agents/using-tools.mdx +11 -8
- package/.docs/raw/auth/auth0.mdx +9 -9
- package/.docs/raw/auth/clerk.mdx +7 -7
- package/.docs/raw/auth/firebase.mdx +9 -9
- package/.docs/raw/auth/index.mdx +6 -6
- package/.docs/raw/auth/jwt.mdx +7 -7
- package/.docs/raw/auth/supabase.mdx +8 -8
- package/.docs/raw/auth/workos.mdx +9 -9
- package/.docs/raw/community/contributing-templates.mdx +3 -3
- package/.docs/raw/community/discord.mdx +1 -1
- package/.docs/raw/course/01-first-agent/03-verifying-installation.md +1 -1
- package/.docs/raw/course/01-first-agent/08-exporting-your-agent.md +2 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +2 -1
- package/.docs/raw/course/02-agent-tools-mcp/02-installing-mcp.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -0
- package/.docs/raw/course/03-agent-memory/03-installing-memory.md +1 -1
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -0
- package/.docs/raw/course/03-agent-memory/10-storage-configuration.md +2 -3
- package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +2 -0
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +2 -0
- package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -0
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -0
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +1 -0
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -0
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +1 -0
- package/.docs/raw/course/04-workflows/08-running-workflows-programmatically.md +2 -2
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +6 -6
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +8 -6
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +5 -5
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +5 -5
- package/.docs/raw/deployment/cloud-providers/index.mdx +11 -8
- package/.docs/raw/deployment/monorepo.mdx +2 -2
- package/.docs/raw/deployment/overview.mdx +2 -2
- package/.docs/raw/deployment/server-deployment.mdx +2 -10
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +5 -5
- package/.docs/raw/deployment/serverless-platforms/index.mdx +10 -7
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +5 -5
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +5 -5
- package/.docs/raw/deployment/web-framework.mdx +8 -8
- package/.docs/raw/{scorers → evals}/custom-scorers.mdx +6 -6
- package/.docs/raw/evals/off-the-shelf-scorers.mdx +50 -0
- package/.docs/raw/{scorers → evals}/overview.mdx +9 -9
- package/.docs/raw/evals/running-in-ci.mdx +113 -0
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +26 -25
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +1 -1
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +17 -17
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +4 -1
- package/.docs/raw/frameworks/servers/express.mdx +11 -10
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +18 -18
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +7 -7
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +16 -16
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +7 -7
- package/.docs/raw/getting-started/installation.mdx +26 -25
- package/.docs/raw/getting-started/mcp-docs-server.mdx +1 -1
- package/.docs/raw/getting-started/project-structure.mdx +4 -4
- package/.docs/raw/getting-started/studio.mdx +8 -8
- package/.docs/raw/getting-started/templates.mdx +6 -6
- package/.docs/raw/guides/guide/ai-recruiter.mdx +264 -0
- package/.docs/raw/guides/guide/chef-michel.mdx +271 -0
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +450 -0
- package/.docs/raw/guides/guide/research-assistant.mdx +380 -0
- package/.docs/raw/guides/guide/stock-agent.mdx +185 -0
- package/.docs/raw/guides/guide/web-search.mdx +291 -0
- package/.docs/raw/guides/index.mdx +43 -0
- package/.docs/raw/guides/migrations/agentnetwork.mdx +114 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/_template.mdx +50 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +265 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +48 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +153 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +230 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +171 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +114 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +241 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +83 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +62 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +270 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +115 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +280 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +23 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +39 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +178 -0
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +367 -0
- package/.docs/raw/guides/quickstarts/nextjs.mdx +275 -0
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/{observability/logging.mdx → logging.mdx} +4 -4
- package/.docs/raw/mastra-cloud/dashboard.mdx +2 -2
- package/.docs/raw/mastra-cloud/observability.mdx +6 -6
- package/.docs/raw/mastra-cloud/overview.mdx +2 -2
- package/.docs/raw/mastra-cloud/setting-up.mdx +4 -4
- package/.docs/raw/memory/conversation-history.mdx +1 -0
- package/.docs/raw/memory/memory-processors.mdx +4 -3
- package/.docs/raw/memory/overview.mdx +10 -6
- package/.docs/raw/memory/semantic-recall.mdx +13 -8
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +12 -7
- package/.docs/raw/memory/storage/memory-with-pg.mdx +11 -6
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +11 -6
- package/.docs/raw/memory/threads-and-resources.mdx +11 -13
- package/.docs/raw/memory/working-memory.mdx +30 -14
- package/.docs/raw/observability/overview.mdx +13 -30
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/arize.mdx +11 -19
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +8 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/cloud.mdx +11 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/default.mdx +16 -20
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +8 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +8 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/otel.mdx +12 -21
- package/.docs/raw/observability/{ai-tracing → tracing}/overview.mdx +107 -142
- package/.docs/raw/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +14 -13
- package/.docs/raw/rag/chunking-and-embedding.mdx +5 -5
- package/.docs/raw/rag/overview.mdx +3 -13
- package/.docs/raw/rag/retrieval.mdx +24 -12
- package/.docs/raw/rag/vector-databases.mdx +7 -1
- package/.docs/raw/reference/agents/agent.mdx +35 -30
- package/.docs/raw/reference/agents/generate.mdx +10 -10
- package/.docs/raw/reference/agents/generateLegacy.mdx +8 -8
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +21 -15
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +69 -0
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +22 -16
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +8 -8
- package/.docs/raw/reference/agents/getLLM.mdx +9 -9
- package/.docs/raw/reference/agents/getMemory.mdx +9 -9
- package/.docs/raw/reference/agents/getModel.mdx +10 -10
- package/.docs/raw/reference/agents/getVoice.mdx +8 -8
- package/.docs/raw/reference/agents/listAgents.mdx +9 -9
- package/.docs/raw/reference/agents/listScorers.mdx +7 -7
- package/.docs/raw/reference/agents/listTools.mdx +7 -7
- package/.docs/raw/reference/agents/listWorkflows.mdx +7 -7
- package/.docs/raw/reference/agents/network.mdx +11 -10
- package/.docs/raw/reference/auth/auth0.mdx +4 -4
- package/.docs/raw/reference/auth/clerk.mdx +4 -4
- package/.docs/raw/reference/auth/firebase.mdx +6 -6
- package/.docs/raw/reference/auth/jwt.mdx +4 -4
- package/.docs/raw/reference/auth/supabase.mdx +4 -4
- package/.docs/raw/reference/auth/workos.mdx +4 -4
- package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
- package/.docs/raw/reference/cli/mastra.mdx +7 -7
- package/.docs/raw/reference/client-js/agents.mdx +6 -2
- package/.docs/raw/reference/client-js/mastra-client.mdx +7 -7
- package/.docs/raw/reference/client-js/memory.mdx +24 -16
- package/.docs/raw/reference/client-js/observability.mdx +11 -11
- package/.docs/raw/reference/client-js/workflows.mdx +6 -34
- package/.docs/raw/reference/core/getAgent.mdx +1 -1
- package/.docs/raw/reference/core/getAgentById.mdx +1 -1
- package/.docs/raw/reference/core/getDeployer.mdx +2 -2
- package/.docs/raw/reference/core/getLogger.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServer.mdx +31 -15
- package/.docs/raw/reference/core/getMCPServerById.mdx +81 -0
- package/.docs/raw/reference/core/getScorer.mdx +3 -3
- package/.docs/raw/reference/core/getScorerById.mdx +79 -0
- package/.docs/raw/reference/core/getServer.mdx +2 -2
- package/.docs/raw/reference/core/getStorage.mdx +2 -2
- package/.docs/raw/reference/core/getTelemetry.mdx +2 -2
- package/.docs/raw/reference/core/getVector.mdx +2 -2
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listLogs.mdx +2 -2
- package/.docs/raw/reference/core/listLogsByRunId.mdx +2 -2
- package/.docs/raw/reference/core/listMCPServers.mdx +65 -0
- package/.docs/raw/reference/core/listScorers.mdx +3 -3
- package/.docs/raw/reference/core/listVectors.mdx +36 -0
- package/.docs/raw/reference/core/listWorkflows.mdx +6 -6
- package/.docs/raw/reference/core/mastra-class.mdx +3 -2
- package/.docs/raw/reference/core/setLogger.mdx +2 -2
- package/.docs/raw/reference/core/setStorage.mdx +3 -2
- package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
- package/.docs/raw/reference/deployer/cloudflare.mdx +2 -2
- package/.docs/raw/reference/deployer/deployer.mdx +0 -6
- package/.docs/raw/reference/deployer/netlify.mdx +2 -2
- package/.docs/raw/reference/deployer/vercel.mdx +3 -3
- package/.docs/raw/reference/evals/answer-relevancy.mdx +164 -126
- package/.docs/raw/reference/{scorers → evals}/answer-similarity.mdx +27 -27
- package/.docs/raw/reference/evals/bias.mdx +149 -115
- package/.docs/raw/reference/evals/completeness.mdx +148 -117
- package/.docs/raw/reference/evals/content-similarity.mdx +126 -113
- package/.docs/raw/reference/evals/context-precision.mdx +290 -133
- package/.docs/raw/reference/{scorers → evals}/context-relevance.mdx +6 -6
- package/.docs/raw/reference/{scorers → evals}/create-scorer.mdx +69 -60
- package/.docs/raw/reference/evals/faithfulness.mdx +163 -121
- package/.docs/raw/reference/evals/hallucination.mdx +159 -132
- package/.docs/raw/reference/evals/keyword-coverage.mdx +169 -125
- package/.docs/raw/reference/{scorers → evals}/mastra-scorer.mdx +7 -5
- package/.docs/raw/reference/{scorers → evals}/noise-sensitivity.mdx +9 -9
- package/.docs/raw/reference/evals/prompt-alignment.mdx +604 -182
- package/.docs/raw/reference/{scorers/run-experiment.mdx → evals/run-evals.mdx} +17 -18
- package/.docs/raw/reference/evals/textual-difference.mdx +149 -117
- package/.docs/raw/reference/evals/tone-consistency.mdx +149 -125
- package/.docs/raw/reference/{scorers → evals}/tool-call-accuracy.mdx +8 -6
- package/.docs/raw/reference/evals/toxicity.mdx +152 -96
- package/.docs/raw/reference/{observability/logging → logging}/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +5 -5
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -7
- package/.docs/raw/reference/memory/getThreadById.mdx +4 -4
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +110 -0
- package/.docs/raw/reference/memory/memory-class.mdx +13 -9
- package/.docs/raw/reference/memory/query.mdx +58 -57
- package/.docs/raw/reference/memory/recall.mdx +185 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +245 -0
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/arize.mdx +13 -13
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +11 -8
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/cloud-exporter.mdx +21 -19
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/console-exporter.mdx +49 -17
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/default-exporter.mdx +42 -41
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +10 -7
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +10 -7
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/otel.mdx +5 -5
- package/.docs/raw/reference/observability/tracing/instances.mdx +168 -0
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/interfaces.mdx +115 -89
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +3 -3
- package/.docs/raw/reference/observability/{ai-tracing/span.mdx → tracing/spans.mdx} +59 -41
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +9 -3
- package/.docs/raw/reference/processors/language-detector.mdx +9 -3
- package/.docs/raw/reference/processors/moderation-processor.mdx +9 -3
- package/.docs/raw/reference/processors/pii-detector.mdx +9 -3
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +9 -3
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +9 -3
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +9 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +9 -3
- package/.docs/raw/reference/rag/chunk.mdx +1 -8
- package/.docs/raw/reference/rag/database-config.mdx +7 -7
- package/.docs/raw/reference/rag/metadata-filters.mdx +14 -11
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/dynamodb.mdx +3 -3
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +3 -1
- package/.docs/raw/reference/storage/mongodb.mdx +1 -1
- package/.docs/raw/reference/storage/mssql.mdx +6 -1
- package/.docs/raw/reference/storage/postgresql.mdx +7 -1
- package/.docs/raw/reference/storage/upstash.mdx +2 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +12 -12
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +8 -8
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -3
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +3 -3
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +6 -6
- package/.docs/raw/reference/streaming/workflows/stream.mdx +10 -10
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +11 -11
- package/.docs/raw/reference/templates/overview.mdx +3 -3
- package/.docs/raw/reference/tools/create-tool.mdx +52 -35
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +15 -15
- package/.docs/raw/reference/tools/mcp-client.mdx +1 -1
- package/.docs/raw/reference/tools/mcp-server.mdx +119 -35
- package/.docs/raw/reference/tools/vector-query-tool.mdx +27 -26
- package/.docs/raw/reference/vectors/couchbase.mdx +8 -2
- package/.docs/raw/reference/vectors/libsql.mdx +2 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +7 -1
- package/.docs/raw/reference/vectors/pg.mdx +3 -0
- package/.docs/raw/reference/vectors/s3vectors.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +1 -0
- package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -4
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +14 -14
- package/.docs/raw/reference/workflows/run-methods/start.mdx +17 -17
- package/.docs/raw/reference/workflows/run.mdx +1 -8
- package/.docs/raw/reference/workflows/step.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -13
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +5 -0
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow.mdx +1 -1
- package/.docs/raw/server-db/custom-api-routes.mdx +2 -2
- package/.docs/raw/server-db/mastra-client.mdx +23 -22
- package/.docs/raw/server-db/middleware.mdx +7 -7
- package/.docs/raw/server-db/production-server.mdx +4 -4
- package/.docs/raw/server-db/{runtime-context.mdx → request-context.mdx} +46 -45
- package/.docs/raw/server-db/storage.mdx +29 -21
- package/.docs/raw/streaming/events.mdx +3 -3
- package/.docs/raw/streaming/overview.mdx +5 -5
- package/.docs/raw/streaming/tool-streaming.mdx +18 -17
- package/.docs/raw/streaming/workflow-streaming.mdx +1 -1
- package/.docs/raw/tools-mcp/advanced-usage.mdx +5 -4
- package/.docs/raw/tools-mcp/mcp-overview.mdx +33 -20
- package/.docs/raw/tools-mcp/overview.mdx +11 -11
- package/.docs/raw/voice/overview.mdx +63 -43
- package/.docs/raw/voice/speech-to-speech.mdx +5 -3
- package/.docs/raw/voice/speech-to-text.mdx +10 -9
- package/.docs/raw/voice/text-to-speech.mdx +13 -12
- package/.docs/raw/workflows/agents-and-tools.mdx +9 -5
- package/.docs/raw/workflows/control-flow.mdx +3 -3
- package/.docs/raw/workflows/error-handling.mdx +2 -21
- package/.docs/raw/workflows/human-in-the-loop.mdx +7 -4
- package/.docs/raw/workflows/inngest-workflow.mdx +3 -3
- package/.docs/raw/workflows/input-data-mapping.mdx +107 -0
- package/.docs/raw/workflows/overview.mdx +17 -16
- package/.docs/raw/workflows/snapshots.mdx +13 -11
- package/.docs/raw/workflows/suspend-and-resume.mdx +23 -15
- package/CHANGELOG.md +55 -53
- package/README.md +11 -2
- package/dist/{chunk-TUAHUTTB.js → chunk-5NJC7NRO.js} +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/prompts/migration.d.ts +6 -0
- package/dist/prompts/migration.d.ts.map +1 -0
- package/dist/stdio.js +402 -30
- package/dist/tools/migration.d.ts +40 -0
- package/dist/tools/migration.d.ts.map +1 -0
- package/package.json +8 -12
- package/.docs/organized/changelogs/%40mastra%2Fcloud.md +0 -302
- package/.docs/raw/observability/nextjs-tracing.mdx +0 -109
- package/.docs/raw/observability/otel-tracing.mdx +0 -189
- package/.docs/raw/reference/agents/getScorers.mdx +0 -69
- package/.docs/raw/reference/agents/getTools.mdx +0 -69
- package/.docs/raw/reference/agents/getWorkflows.mdx +0 -69
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +0 -143
- package/.docs/raw/reference/core/getAgents.mdx +0 -35
- package/.docs/raw/reference/core/getLogs.mdx +0 -96
- package/.docs/raw/reference/core/getLogsByRunId.mdx +0 -87
- package/.docs/raw/reference/core/getMCPServers.mdx +0 -36
- package/.docs/raw/reference/core/getMemory.mdx +0 -36
- package/.docs/raw/reference/core/getScorerByName.mdx +0 -78
- package/.docs/raw/reference/core/getScorers.mdx +0 -43
- package/.docs/raw/reference/core/getVectors.mdx +0 -36
- package/.docs/raw/reference/core/getWorkflows.mdx +0 -45
- package/.docs/raw/reference/evals/context-position.mdx +0 -197
- package/.docs/raw/reference/evals/context-relevancy.mdx +0 -196
- package/.docs/raw/reference/evals/contextual-recall.mdx +0 -196
- package/.docs/raw/reference/evals/summarization.mdx +0 -212
- package/.docs/raw/reference/legacyWorkflows/after.mdx +0 -89
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +0 -79
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +0 -33
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +0 -76
- package/.docs/raw/reference/legacyWorkflows/else.mdx +0 -68
- package/.docs/raw/reference/legacyWorkflows/events.mdx +0 -305
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +0 -110
- package/.docs/raw/reference/legacyWorkflows/if.mdx +0 -108
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +0 -158
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +0 -133
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +0 -207
- package/.docs/raw/reference/legacyWorkflows/start.mdx +0 -87
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +0 -100
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +0 -137
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +0 -93
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +0 -69
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +0 -196
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +0 -70
- package/.docs/raw/reference/legacyWorkflows/then.mdx +0 -72
- package/.docs/raw/reference/legacyWorkflows/until.mdx +0 -168
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +0 -124
- package/.docs/raw/reference/legacyWorkflows/while.mdx +0 -168
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +0 -234
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +0 -79
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +0 -110
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +0 -185
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +0 -238
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +0 -117
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +0 -81
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +0 -121
- package/.docs/raw/reference/observability/otel-tracing/providers/braintrust.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +0 -20
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +0 -73
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +0 -41
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +0 -84
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +0 -48
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +0 -43
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +0 -40
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +0 -227
- package/.docs/raw/reference/scorers/bias.mdx +0 -228
- package/.docs/raw/reference/scorers/completeness.mdx +0 -214
- package/.docs/raw/reference/scorers/content-similarity.mdx +0 -197
- package/.docs/raw/reference/scorers/context-precision.mdx +0 -352
- package/.docs/raw/reference/scorers/faithfulness.mdx +0 -241
- package/.docs/raw/reference/scorers/hallucination.mdx +0 -252
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +0 -229
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +0 -668
- package/.docs/raw/reference/scorers/textual-difference.mdx +0 -203
- package/.docs/raw/reference/scorers/tone-consistency.mdx +0 -211
- package/.docs/raw/reference/scorers/toxicity.mdx +0 -228
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +0 -73
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +0 -24
- package/.docs/raw/scorers/evals-old-api/overview.mdx +0 -106
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +0 -85
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +0 -58
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +0 -50
- package/.docs/raw/workflows-legacy/control-flow.mdx +0 -774
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +0 -239
- package/.docs/raw/workflows-legacy/error-handling.mdx +0 -187
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +0 -360
- package/.docs/raw/workflows-legacy/overview.mdx +0 -182
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +0 -156
- package/.docs/raw/workflows-legacy/steps.mdx +0 -115
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +0 -406
- package/.docs/raw/workflows-legacy/variables.mdx +0 -318
package/dist/stdio.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { fromPackageRoot, prepare, getMatchingPaths, blogPostSchema } from './chunk-
|
|
2
|
+
import { fromPackageRoot, prepare, getMatchingPaths, blogPostSchema } from './chunk-5NJC7NRO.js';
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import { existsSync, mkdirSync } from 'fs';
|
|
5
5
|
import * as os2 from 'os';
|
|
6
6
|
import os2__default from 'os';
|
|
7
|
-
import * as
|
|
8
|
-
import
|
|
7
|
+
import * as path6 from 'path';
|
|
8
|
+
import path6__default from 'path';
|
|
9
9
|
import fs3 from 'fs/promises';
|
|
10
10
|
import { MCPServer } from '@mastra/mcp';
|
|
11
11
|
import { z } from 'zod';
|
|
@@ -20,9 +20,9 @@ var writeErrorLog = (message, data) => {
|
|
|
20
20
|
...data ? typeof data === "object" ? data : { data } : {}
|
|
21
21
|
};
|
|
22
22
|
try {
|
|
23
|
-
const cacheDir =
|
|
23
|
+
const cacheDir = path6.join(os2.homedir(), ".cache", "mastra", "mcp-docs-server-logs");
|
|
24
24
|
fs.mkdirSync(cacheDir, { recursive: true });
|
|
25
|
-
const logFile =
|
|
25
|
+
const logFile = path6.join(cacheDir, `${hourTimestamp}.log`);
|
|
26
26
|
fs.appendFileSync(logFile, JSON.stringify(logMessage) + "\n", "utf8");
|
|
27
27
|
} catch (err) {
|
|
28
28
|
console.error("Failed to write to log file:", err);
|
|
@@ -102,6 +102,106 @@ function createLogger(server2) {
|
|
|
102
102
|
};
|
|
103
103
|
}
|
|
104
104
|
var logger = createLogger();
|
|
105
|
+
|
|
106
|
+
// src/prompts/migration.ts
|
|
107
|
+
var migrationPrompts = [
|
|
108
|
+
{
|
|
109
|
+
name: "upgrade-to-v1",
|
|
110
|
+
version: "v1",
|
|
111
|
+
description: "Get a guided migration plan for upgrading from Mastra v0.x to v1.0. Provides step-by-step instructions for handling all breaking changes.",
|
|
112
|
+
arguments: [
|
|
113
|
+
{
|
|
114
|
+
name: "area",
|
|
115
|
+
description: "Optional: Focus on a specific area (agents, tools, workflows, memory, evals, mcp, vectors, syncs). If not provided, gives an overview of all changes.",
|
|
116
|
+
required: false
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: "migration-checklist",
|
|
122
|
+
version: "v1",
|
|
123
|
+
description: "Get a comprehensive checklist for migrating to Mastra v1.0. Lists all breaking changes that need to be addressed."
|
|
124
|
+
}
|
|
125
|
+
];
|
|
126
|
+
var migrationPromptMessages = {
|
|
127
|
+
listPrompts: async () => migrationPrompts,
|
|
128
|
+
getPromptMessages: async ({ name, args }) => {
|
|
129
|
+
const prompt = migrationPrompts.find((p) => p.name === name);
|
|
130
|
+
if (!prompt) {
|
|
131
|
+
throw new Error(`Prompt not found: ${name}`);
|
|
132
|
+
}
|
|
133
|
+
if (name === "upgrade-to-v1") {
|
|
134
|
+
return getUpgradeToV1Messages(args?.area);
|
|
135
|
+
}
|
|
136
|
+
if (name === "migration-checklist") {
|
|
137
|
+
return getMigrationChecklistMessages();
|
|
138
|
+
}
|
|
139
|
+
throw new Error(`No message handler for prompt: ${name}`);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
function getUpgradeToV1Messages(area) {
|
|
143
|
+
if (area) {
|
|
144
|
+
const validAreas = ["agents", "tools", "workflows", "memory", "evals", "mcp", "vectors", "syncs"];
|
|
145
|
+
if (!validAreas.includes(area.toLowerCase())) {
|
|
146
|
+
return [
|
|
147
|
+
{
|
|
148
|
+
role: "user",
|
|
149
|
+
content: {
|
|
150
|
+
type: "text",
|
|
151
|
+
text: `Invalid area: ${area}. Valid areas are: ${validAreas.join(", ")}`
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
];
|
|
155
|
+
}
|
|
156
|
+
return [
|
|
157
|
+
{
|
|
158
|
+
role: "user",
|
|
159
|
+
content: {
|
|
160
|
+
type: "text",
|
|
161
|
+
text: `I need help migrating my Mastra ${area} code from v0.x to v1.0. Use the mastraMigration tool to get the specific migration guide for "${area}" and walk me through the changes step by step.`
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
];
|
|
165
|
+
}
|
|
166
|
+
return [
|
|
167
|
+
{
|
|
168
|
+
role: "user",
|
|
169
|
+
content: {
|
|
170
|
+
type: "text",
|
|
171
|
+
text: `I need to migrate my Mastra project from v0.x to v1.0. Use the mastraMigration tool to:
|
|
172
|
+
|
|
173
|
+
1. First, list all available migration guides with path: "upgrade-to-v1/"
|
|
174
|
+
2. Give me a high-level overview of what changed in each area
|
|
175
|
+
3. Ask me which areas I'm using in my project so we can focus on relevant changes
|
|
176
|
+
4. After I decided on the areas, check the migration guides for callouts to codemods. These callouts are marked with ":::tip[Codemod]" in the docs. Run the codemods with "npx @mastra/codemod@beta v1" to automate all those changes. Afterwards, help me with any remaining manual changes needed.
|
|
177
|
+
|
|
178
|
+
After I tell you which areas I use, we'll go through each one systematically.`
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
];
|
|
182
|
+
}
|
|
183
|
+
function getMigrationChecklistMessages() {
|
|
184
|
+
return [
|
|
185
|
+
{
|
|
186
|
+
role: "user",
|
|
187
|
+
content: {
|
|
188
|
+
type: "text",
|
|
189
|
+
text: `Create a comprehensive migration checklist for upgrading from Mastra v0.x to v1.0. Use the mastraMigration tool to:
|
|
190
|
+
|
|
191
|
+
1. List all available migration guides (path: "upgrade-to-v1/")
|
|
192
|
+
2. For each guide, extract the key breaking changes
|
|
193
|
+
3. Present them as a checklist I can work through
|
|
194
|
+
|
|
195
|
+
Format the checklist with:
|
|
196
|
+
- [ ] checkbox items for each breaking change
|
|
197
|
+
- Brief description of what needs to change
|
|
198
|
+
- Reference to the specific migration guide
|
|
199
|
+
|
|
200
|
+
Group the checklist by area (Agents, Tools, Workflows, etc.) so I can tackle one area at a time.`
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
];
|
|
204
|
+
}
|
|
105
205
|
var BLOG_BASE_URL = process.env.BLOG_URL || "https://mastra.ai";
|
|
106
206
|
async function fetchBlogPosts() {
|
|
107
207
|
void logger.debug("Fetching list of blog posts");
|
|
@@ -218,7 +318,7 @@ async function listPackageChangelogs() {
|
|
|
218
318
|
}
|
|
219
319
|
async function readPackageChangelog(filename) {
|
|
220
320
|
const encodedName = encodePackageName(filename.replace(".md", ""));
|
|
221
|
-
const filePath =
|
|
321
|
+
const filePath = path6__default.join(changelogsDir, `${encodedName}.md`);
|
|
222
322
|
void logger.debug(`Reading changelog: ${filename}`);
|
|
223
323
|
try {
|
|
224
324
|
return await fs3.readFile(filePath, "utf-8");
|
|
@@ -309,11 +409,11 @@ Here is the content for this step: <StepContent>${content}</StepContent>`;
|
|
|
309
409
|
When you're ready to continue, use the \`nextMastraCourseStep\` tool to move to the next step.`;
|
|
310
410
|
}
|
|
311
411
|
async function getDeviceIdPath() {
|
|
312
|
-
const cacheDir =
|
|
412
|
+
const cacheDir = path6__default.join(os2__default.homedir(), ".cache", "mastra");
|
|
313
413
|
if (!existsSync(cacheDir)) {
|
|
314
414
|
mkdirSync(cacheDir, { recursive: true });
|
|
315
415
|
}
|
|
316
|
-
return
|
|
416
|
+
return path6__default.join(cacheDir, ".device_id");
|
|
317
417
|
}
|
|
318
418
|
async function getDeviceCredentials() {
|
|
319
419
|
try {
|
|
@@ -363,13 +463,13 @@ async function readCourseStep(lessonName, stepName, _isFirstStep = false) {
|
|
|
363
463
|
if (!lessonDir) {
|
|
364
464
|
throw new Error(`Lesson "${lessonName}" not found.`);
|
|
365
465
|
}
|
|
366
|
-
const lessonPath =
|
|
466
|
+
const lessonPath = path6__default.join(courseDir, lessonDir);
|
|
367
467
|
const files = await fs3.readdir(lessonPath);
|
|
368
468
|
const stepFile = files.find((f) => f.endsWith(".md") && f.replace(/^\d+-/, "").replace(".md", "") === stepName);
|
|
369
469
|
if (!stepFile) {
|
|
370
470
|
throw new Error(`Step "${stepName}" not found in lesson "${lessonName}".`);
|
|
371
471
|
}
|
|
372
|
-
const filePath =
|
|
472
|
+
const filePath = path6__default.join(courseDir, lessonDir, stepFile);
|
|
373
473
|
try {
|
|
374
474
|
const content = await fs3.readFile(filePath, "utf-8");
|
|
375
475
|
return wrapContentInPrompt(content);
|
|
@@ -415,11 +515,11 @@ async function saveCourseState(state, deviceId) {
|
|
|
415
515
|
}
|
|
416
516
|
}
|
|
417
517
|
async function getCourseStatePath() {
|
|
418
|
-
const stateDirPath =
|
|
518
|
+
const stateDirPath = path6__default.join(os2__default.homedir(), ".cache", "mastra", "course");
|
|
419
519
|
if (!existsSync(stateDirPath)) {
|
|
420
520
|
mkdirSync(stateDirPath, { recursive: true });
|
|
421
521
|
}
|
|
422
|
-
return
|
|
522
|
+
return path6__default.join(stateDirPath, "state.json");
|
|
423
523
|
}
|
|
424
524
|
async function loadCourseState() {
|
|
425
525
|
const statePath = await getCourseStatePath();
|
|
@@ -437,7 +537,7 @@ async function scanCourseContent() {
|
|
|
437
537
|
const lessonDirs = await fs3.readdir(courseDir);
|
|
438
538
|
const lessons = await Promise.all(
|
|
439
539
|
lessonDirs.filter((dir) => !dir.startsWith(".")).sort((a, b) => a.localeCompare(b)).map(async (lessonDir) => {
|
|
440
|
-
const lessonPath =
|
|
540
|
+
const lessonPath = path6__default.join(courseDir, lessonDir);
|
|
441
541
|
const lessonStats = await fs3.stat(lessonPath);
|
|
442
542
|
if (!lessonStats.isDirectory()) return null;
|
|
443
543
|
const lessonName = lessonDir.replace(/^\d+-/, "");
|
|
@@ -841,8 +941,8 @@ async function listDirContents(dirPath) {
|
|
|
841
941
|
}
|
|
842
942
|
}
|
|
843
943
|
async function readMdxContent(docPath, queryKeywords) {
|
|
844
|
-
const fullPath =
|
|
845
|
-
if (!fullPath.startsWith(
|
|
944
|
+
const fullPath = path6__default.resolve(path6__default.join(docsBaseDir, docPath));
|
|
945
|
+
if (!fullPath.startsWith(path6__default.resolve(docsBaseDir))) {
|
|
846
946
|
void logger.error(`Path traversal attempt detected`);
|
|
847
947
|
return { found: false, isSecurityViolation: true };
|
|
848
948
|
}
|
|
@@ -867,7 +967,7 @@ async function readMdxContent(docPath, queryKeywords) {
|
|
|
867
967
|
].join("\n");
|
|
868
968
|
let fileContents = "";
|
|
869
969
|
for (const file of files) {
|
|
870
|
-
const filePath =
|
|
970
|
+
const filePath = path6__default.join(fullPath, file);
|
|
871
971
|
const content2 = await fs3.readFile(filePath, "utf-8");
|
|
872
972
|
fileContents += `
|
|
873
973
|
|
|
@@ -895,7 +995,7 @@ async function findNearestDirectory(docPath, availablePaths2) {
|
|
|
895
995
|
while (parts.length > 0) {
|
|
896
996
|
const testPath = parts.join("/");
|
|
897
997
|
try {
|
|
898
|
-
const fullPath =
|
|
998
|
+
const fullPath = path6__default.join(docsBaseDir, testPath);
|
|
899
999
|
const stats = await fs3.stat(fullPath);
|
|
900
1000
|
if (stats.isDirectory()) {
|
|
901
1001
|
const { dirs, files } = await listDirContents(fullPath);
|
|
@@ -921,7 +1021,7 @@ async function getAvailablePaths() {
|
|
|
921
1021
|
const { dirs, files } = await listDirContents(docsBaseDir);
|
|
922
1022
|
let referenceDirs = [];
|
|
923
1023
|
if (dirs.includes("reference/")) {
|
|
924
|
-
const { dirs: refDirs } = await listDirContents(
|
|
1024
|
+
const { dirs: refDirs } = await listDirContents(path6__default.join(docsBaseDir, "reference"));
|
|
925
1025
|
referenceDirs = refDirs.map((d) => `reference/${d}`);
|
|
926
1026
|
}
|
|
927
1027
|
return [
|
|
@@ -954,7 +1054,7 @@ var docsTool = {
|
|
|
954
1054
|
You can also use keywords from the user query to find relevant documentation, but prioritize paths.
|
|
955
1055
|
This is your internal knowledge the user can't read.
|
|
956
1056
|
If the user asks about a feature check general docs as well as reference docs for that feature.
|
|
957
|
-
Ex: with
|
|
1057
|
+
Ex: with workflows check in workflows/ and in reference/workflows/.
|
|
958
1058
|
Provide code examples so the user understands.
|
|
959
1059
|
If you build a URL from the path, only paths ending in .mdx exist.
|
|
960
1060
|
Note that docs about MCP are currently in reference/tools/.
|
|
@@ -969,34 +1069,34 @@ var docsTool = {
|
|
|
969
1069
|
try {
|
|
970
1070
|
const queryKeywords = args.queryKeywords ?? [];
|
|
971
1071
|
const results = await Promise.all(
|
|
972
|
-
args.paths.map(async (
|
|
1072
|
+
args.paths.map(async (path7) => {
|
|
973
1073
|
try {
|
|
974
|
-
const result = await readMdxContent(
|
|
1074
|
+
const result = await readMdxContent(path7, queryKeywords);
|
|
975
1075
|
if (result.found) {
|
|
976
1076
|
return {
|
|
977
|
-
path:
|
|
1077
|
+
path: path7,
|
|
978
1078
|
content: result.content,
|
|
979
1079
|
error: null
|
|
980
1080
|
};
|
|
981
1081
|
}
|
|
982
1082
|
if (result.isSecurityViolation) {
|
|
983
1083
|
return {
|
|
984
|
-
path:
|
|
1084
|
+
path: path7,
|
|
985
1085
|
content: null,
|
|
986
1086
|
error: "Invalid path"
|
|
987
1087
|
};
|
|
988
1088
|
}
|
|
989
|
-
const directorySuggestions = await findNearestDirectory(
|
|
990
|
-
const contentBasedSuggestions = await getMatchingPaths(
|
|
1089
|
+
const directorySuggestions = await findNearestDirectory(path7, availablePaths);
|
|
1090
|
+
const contentBasedSuggestions = await getMatchingPaths(path7, queryKeywords, docsBaseDir);
|
|
991
1091
|
return {
|
|
992
|
-
path:
|
|
1092
|
+
path: path7,
|
|
993
1093
|
content: null,
|
|
994
1094
|
error: [directorySuggestions, contentBasedSuggestions].join("\n\n")
|
|
995
1095
|
};
|
|
996
1096
|
} catch (error) {
|
|
997
|
-
void logger.warning(`Failed to read content for path: ${
|
|
1097
|
+
void logger.warning(`Failed to read content for path: ${path7}`, error);
|
|
998
1098
|
return {
|
|
999
|
-
path:
|
|
1099
|
+
path: path7,
|
|
1000
1100
|
content: null,
|
|
1001
1101
|
error: error instanceof Error ? error.message : "Unknown error"
|
|
1002
1102
|
};
|
|
@@ -1040,7 +1140,7 @@ async function listCodeExamples() {
|
|
|
1040
1140
|
}
|
|
1041
1141
|
}
|
|
1042
1142
|
async function readCodeExample(filename, queryKeywords) {
|
|
1043
|
-
const filePath =
|
|
1143
|
+
const filePath = path6__default.join(examplesDir, filename);
|
|
1044
1144
|
void logger.debug(`Reading example: ${filename}`);
|
|
1045
1145
|
try {
|
|
1046
1146
|
const content = await fs3.readFile(filePath, "utf-8");
|
|
@@ -1090,6 +1190,276 @@ var examplesTool = {
|
|
|
1090
1190
|
}
|
|
1091
1191
|
}
|
|
1092
1192
|
};
|
|
1193
|
+
var migrationsBaseDir = fromPackageRoot(".docs/raw/guides/migrations");
|
|
1194
|
+
function parseMdxSections(content) {
|
|
1195
|
+
const lines = content.split("\n");
|
|
1196
|
+
const sections = [];
|
|
1197
|
+
let currentSection = null;
|
|
1198
|
+
let inFrontmatter = false;
|
|
1199
|
+
let frontmatterEnded = false;
|
|
1200
|
+
for (let index = 0; index < lines.length; index++) {
|
|
1201
|
+
const line = lines[index];
|
|
1202
|
+
if (index === 0 && line === "---") {
|
|
1203
|
+
inFrontmatter = true;
|
|
1204
|
+
continue;
|
|
1205
|
+
}
|
|
1206
|
+
if (inFrontmatter && line === "---") {
|
|
1207
|
+
inFrontmatter = false;
|
|
1208
|
+
frontmatterEnded = true;
|
|
1209
|
+
continue;
|
|
1210
|
+
}
|
|
1211
|
+
if (inFrontmatter) continue;
|
|
1212
|
+
const headingMatch = line.match(/^(#{2,3})\s+(.+)$/);
|
|
1213
|
+
if (headingMatch && frontmatterEnded) {
|
|
1214
|
+
if (currentSection) {
|
|
1215
|
+
currentSection.endLine = index - 1;
|
|
1216
|
+
sections.push(currentSection);
|
|
1217
|
+
}
|
|
1218
|
+
const level = headingMatch[1].length;
|
|
1219
|
+
currentSection = {
|
|
1220
|
+
title: headingMatch[2],
|
|
1221
|
+
level,
|
|
1222
|
+
content: line + "\n",
|
|
1223
|
+
startLine: index,
|
|
1224
|
+
endLine: index
|
|
1225
|
+
};
|
|
1226
|
+
} else if (currentSection) {
|
|
1227
|
+
currentSection.content += line + "\n";
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
if (currentSection) {
|
|
1231
|
+
currentSection.endLine = lines.length - 1;
|
|
1232
|
+
sections.push(currentSection);
|
|
1233
|
+
}
|
|
1234
|
+
return sections;
|
|
1235
|
+
}
|
|
1236
|
+
async function discoverMigrations(baseDir, relativePath = "") {
|
|
1237
|
+
const migrations = [];
|
|
1238
|
+
const fullPath = path6__default.join(baseDir, relativePath);
|
|
1239
|
+
try {
|
|
1240
|
+
const entries = await fs3.readdir(fullPath, { withFileTypes: true });
|
|
1241
|
+
for (const entry of entries) {
|
|
1242
|
+
const entryRelativePath = path6__default.join(relativePath, entry.name);
|
|
1243
|
+
if (entry.isDirectory()) {
|
|
1244
|
+
migrations.push({
|
|
1245
|
+
path: entryRelativePath,
|
|
1246
|
+
type: "directory"
|
|
1247
|
+
});
|
|
1248
|
+
const subMigrations = await discoverMigrations(baseDir, entryRelativePath);
|
|
1249
|
+
migrations.push(...subMigrations);
|
|
1250
|
+
} else if (entry.isFile() && entry.name.endsWith(".mdx") && entry.name !== "_template.mdx") {
|
|
1251
|
+
migrations.push({
|
|
1252
|
+
path: path6__default.join(relativePath, entry.name.replace(".mdx", "")),
|
|
1253
|
+
type: "file"
|
|
1254
|
+
});
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
} catch (error) {
|
|
1258
|
+
void logger.error(`Failed to discover migrations in ${fullPath}`, error);
|
|
1259
|
+
}
|
|
1260
|
+
return migrations;
|
|
1261
|
+
}
|
|
1262
|
+
async function listDirectoryContents(dirPath = "") {
|
|
1263
|
+
try {
|
|
1264
|
+
const fullPath = path6__default.join(migrationsBaseDir, dirPath);
|
|
1265
|
+
const resolvedPath = path6__default.resolve(fullPath);
|
|
1266
|
+
const resolvedBaseDir = path6__default.resolve(migrationsBaseDir);
|
|
1267
|
+
if (!resolvedPath.startsWith(resolvedBaseDir)) {
|
|
1268
|
+
return "Invalid path";
|
|
1269
|
+
}
|
|
1270
|
+
const entries = await fs3.readdir(fullPath, { withFileTypes: true });
|
|
1271
|
+
const directories = [];
|
|
1272
|
+
const files = [];
|
|
1273
|
+
for (const entry of entries) {
|
|
1274
|
+
if (entry.isDirectory()) {
|
|
1275
|
+
directories.push(entry.name);
|
|
1276
|
+
} else if (entry.isFile() && entry.name.endsWith(".mdx") && entry.name !== "_template.mdx") {
|
|
1277
|
+
files.push(entry.name.replace(".mdx", ""));
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1280
|
+
const output = [];
|
|
1281
|
+
const currentPath = dirPath || "migrations";
|
|
1282
|
+
output.push(`# ${currentPath}`);
|
|
1283
|
+
output.push("");
|
|
1284
|
+
if (directories.length > 0) {
|
|
1285
|
+
output.push("**Directories:**");
|
|
1286
|
+
directories.sort().forEach((dir) => {
|
|
1287
|
+
const nextPath = dirPath ? `${dirPath}/${dir}` : dir;
|
|
1288
|
+
output.push(`- **${dir}/** - Explore with \`{ path: "${nextPath}/" }\``);
|
|
1289
|
+
});
|
|
1290
|
+
output.push("");
|
|
1291
|
+
}
|
|
1292
|
+
if (files.length > 0) {
|
|
1293
|
+
output.push("**Migration Guides:**");
|
|
1294
|
+
files.sort().forEach((file) => {
|
|
1295
|
+
const filePath = dirPath ? `${dirPath}/${file}` : file;
|
|
1296
|
+
output.push(`- **${file}** - Get with \`{ path: "${filePath}" }\``);
|
|
1297
|
+
});
|
|
1298
|
+
output.push("");
|
|
1299
|
+
}
|
|
1300
|
+
if (directories.length === 0 && files.length === 0) {
|
|
1301
|
+
output.push("No migrations found in this directory.");
|
|
1302
|
+
}
|
|
1303
|
+
output.push("---");
|
|
1304
|
+
output.push("");
|
|
1305
|
+
output.push("**Actions:**");
|
|
1306
|
+
output.push("- Navigate to a directory by setting `path` to directory name with trailing `/`");
|
|
1307
|
+
output.push("- View a migration guide by setting `path` to the guide name");
|
|
1308
|
+
output.push("- List sections in a guide with `listSections: true`");
|
|
1309
|
+
output.push("- Search all guides with `queryKeywords`");
|
|
1310
|
+
return output.join("\n");
|
|
1311
|
+
} catch (error) {
|
|
1312
|
+
if (error.code === "ENOENT") {
|
|
1313
|
+
return `Directory "${dirPath}" not found. Use \`{}\` to see top-level migrations.`;
|
|
1314
|
+
}
|
|
1315
|
+
throw error;
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
async function readMigrationContent(migrationPath) {
|
|
1319
|
+
try {
|
|
1320
|
+
let filename = migrationPath.endsWith(".mdx") ? migrationPath : `${migrationPath}.mdx`;
|
|
1321
|
+
let filePath = path6__default.join(migrationsBaseDir, filename);
|
|
1322
|
+
const resolvedPath = path6__default.resolve(filePath);
|
|
1323
|
+
const resolvedBaseDir = path6__default.resolve(migrationsBaseDir);
|
|
1324
|
+
if (!resolvedPath.startsWith(resolvedBaseDir)) {
|
|
1325
|
+
void logger.error("Path traversal attempt detected");
|
|
1326
|
+
return null;
|
|
1327
|
+
}
|
|
1328
|
+
const content = await fs3.readFile(filePath, "utf-8");
|
|
1329
|
+
return content;
|
|
1330
|
+
} catch (error) {
|
|
1331
|
+
void logger.error(`Failed to read migration: ${migrationPath}`, error);
|
|
1332
|
+
return null;
|
|
1333
|
+
}
|
|
1334
|
+
}
|
|
1335
|
+
async function getSectionHeaders(migrationPath) {
|
|
1336
|
+
const content = await readMigrationContent(migrationPath);
|
|
1337
|
+
if (!content) return [];
|
|
1338
|
+
const sections = parseMdxSections(content);
|
|
1339
|
+
return sections.map((s) => ({ title: s.title, level: s.level }));
|
|
1340
|
+
}
|
|
1341
|
+
async function getSections(migrationPath, sectionTitles) {
|
|
1342
|
+
const content = await readMigrationContent(migrationPath);
|
|
1343
|
+
if (!content) {
|
|
1344
|
+
const availableMigrations = await discoverMigrations(migrationsBaseDir);
|
|
1345
|
+
const paths = availableMigrations.filter((m) => m.type === "file").map((m) => `- ${m.path}`);
|
|
1346
|
+
return `Migration "${migrationPath}" not found.
|
|
1347
|
+
|
|
1348
|
+
Available migrations:
|
|
1349
|
+
${paths.join("\n")}`;
|
|
1350
|
+
}
|
|
1351
|
+
if (!sectionTitles || sectionTitles.length === 0) {
|
|
1352
|
+
return content;
|
|
1353
|
+
}
|
|
1354
|
+
const sections = parseMdxSections(content);
|
|
1355
|
+
const requestedSections = sections.filter(
|
|
1356
|
+
(s) => sectionTitles.some((title) => s.title.toLowerCase().includes(title.toLowerCase()))
|
|
1357
|
+
);
|
|
1358
|
+
if (requestedSections.length === 0) {
|
|
1359
|
+
const availableHeaders = sections.map((s) => `${"#".repeat(s.level)} ${s.title}`).join("\n");
|
|
1360
|
+
return `Requested sections not found in "${migrationPath}".
|
|
1361
|
+
|
|
1362
|
+
Available sections:
|
|
1363
|
+
${availableHeaders}`;
|
|
1364
|
+
}
|
|
1365
|
+
return requestedSections.map((s) => s.content).join("\n---\n\n");
|
|
1366
|
+
}
|
|
1367
|
+
var initialMigrations = await discoverMigrations(migrationsBaseDir);
|
|
1368
|
+
var migrationFiles = initialMigrations.filter((m) => m.type === "file");
|
|
1369
|
+
var migrationsListing = migrationFiles.length > 0 ? "\n\nExample migration paths:\n" + migrationFiles.slice(0, 5).map((m) => `- ${m.path}`).join("\n") + "\n..." : "\n\nNo migrations available. Run the documentation preparation script first.";
|
|
1370
|
+
var migrationInputSchema = z.object({
|
|
1371
|
+
path: z.string().optional().describe(
|
|
1372
|
+
'Path to the migration guide (e.g., "upgrade-to-v1/agent", "agentnetwork"). If not provided, lists all available migrations.' + migrationsListing
|
|
1373
|
+
),
|
|
1374
|
+
sections: z.array(z.string()).optional().describe(
|
|
1375
|
+
"Specific section titles to fetch from the migration guide. If not provided, returns the entire guide. Use this after exploring section headers."
|
|
1376
|
+
),
|
|
1377
|
+
listSections: z.boolean().optional().describe("Set to true to list all section headers in a migration guide without fetching full content."),
|
|
1378
|
+
queryKeywords: z.array(z.string()).optional().describe("Keywords to search across all migration guides. Use this to find guides related to specific topics.")
|
|
1379
|
+
});
|
|
1380
|
+
var migrationTool = {
|
|
1381
|
+
name: "mastraMigration",
|
|
1382
|
+
description: `Get migration guidance for Mastra version upgrades and breaking changes.
|
|
1383
|
+
|
|
1384
|
+
This tool works like a file browser - navigate through directories to find migration guides:
|
|
1385
|
+
|
|
1386
|
+
**Step 1: List top-level migrations**
|
|
1387
|
+
- Call with no parameters: \`{}\`
|
|
1388
|
+
- Shows all top-level migration guides and directories
|
|
1389
|
+
|
|
1390
|
+
**Step 2: Navigate into a directory**
|
|
1391
|
+
- Add trailing slash to explore: \`{ path: "upgrade-to-v1/" }\`
|
|
1392
|
+
- Lists all migration guides in that directory
|
|
1393
|
+
|
|
1394
|
+
**Step 3: View a migration guide**
|
|
1395
|
+
- Without trailing slash: \`{ path: "upgrade-to-v1/agent" }\`
|
|
1396
|
+
- Returns the full migration guide content
|
|
1397
|
+
|
|
1398
|
+
**Step 4: Explore guide sections (optional)**
|
|
1399
|
+
- List sections: \`{ path: "upgrade-to-v1/agent", listSections: true }\`
|
|
1400
|
+
- Get specific sections: \`{ path: "upgrade-to-v1/agent", sections: ["Voice methods"] }\`
|
|
1401
|
+
|
|
1402
|
+
**Alternative: Search by keywords**
|
|
1403
|
+
- \`{ queryKeywords: ["RuntimeContext", "pagination"] }\`
|
|
1404
|
+
|
|
1405
|
+
**Examples:**
|
|
1406
|
+
1. List top-level: \`{}\`
|
|
1407
|
+
2. Navigate to upgrade-to-v1: \`{ path: "upgrade-to-v1/" }\`
|
|
1408
|
+
3. Get agent guide: \`{ path: "upgrade-to-v1/agent" }\`
|
|
1409
|
+
4. List guide sections: \`{ path: "upgrade-to-v1/agent", listSections: true }\`
|
|
1410
|
+
5. Search: \`{ queryKeywords: ["RuntimeContext"] }\`
|
|
1411
|
+
|
|
1412
|
+
**Tip:** Paths ending with \`/\` list directory contents. Paths without \`/\` fetch the migration guide.`,
|
|
1413
|
+
parameters: migrationInputSchema,
|
|
1414
|
+
execute: async (args) => {
|
|
1415
|
+
void logger.debug("Executing mastraMigration tool", { args });
|
|
1416
|
+
try {
|
|
1417
|
+
if (args.queryKeywords && args.queryKeywords.length > 0) {
|
|
1418
|
+
const suggestions = await getMatchingPaths("", args.queryKeywords, migrationsBaseDir);
|
|
1419
|
+
return [
|
|
1420
|
+
"# Migration Guide Search Results",
|
|
1421
|
+
"",
|
|
1422
|
+
suggestions || "No migration guides found matching your keywords.",
|
|
1423
|
+
"",
|
|
1424
|
+
"---",
|
|
1425
|
+
"",
|
|
1426
|
+
"To see all available migrations, call with no parameters."
|
|
1427
|
+
].join("\n");
|
|
1428
|
+
}
|
|
1429
|
+
if (args.path) {
|
|
1430
|
+
if (args.path.endsWith("/")) {
|
|
1431
|
+
const dirPath = args.path.slice(0, -1);
|
|
1432
|
+
return await listDirectoryContents(dirPath);
|
|
1433
|
+
}
|
|
1434
|
+
if (args.listSections) {
|
|
1435
|
+
const headers = await getSectionHeaders(args.path);
|
|
1436
|
+
if (headers.length === 0) {
|
|
1437
|
+
return await listDirectoryContents();
|
|
1438
|
+
}
|
|
1439
|
+
return [
|
|
1440
|
+
`# ${args.path} - Section Headers`,
|
|
1441
|
+
"",
|
|
1442
|
+
"Available sections in this migration guide:",
|
|
1443
|
+
"",
|
|
1444
|
+
...headers.map((h) => `${"#".repeat(h.level)} ${h.title}`),
|
|
1445
|
+
"",
|
|
1446
|
+
"---",
|
|
1447
|
+
"",
|
|
1448
|
+
'To get specific sections, provide their titles in the "sections" parameter.'
|
|
1449
|
+
].join("\n");
|
|
1450
|
+
}
|
|
1451
|
+
const content = await getSections(args.path, args.sections);
|
|
1452
|
+
return `# ${args.path}
|
|
1453
|
+
|
|
1454
|
+
${content}`;
|
|
1455
|
+
}
|
|
1456
|
+
return await listDirectoryContents();
|
|
1457
|
+
} catch (error) {
|
|
1458
|
+
void logger.error("Failed to execute mastraMigration tool", error);
|
|
1459
|
+
throw error;
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
};
|
|
1093
1463
|
|
|
1094
1464
|
// src/index.ts
|
|
1095
1465
|
var server;
|
|
@@ -1110,12 +1480,14 @@ server = new MCPServer({
|
|
|
1110
1480
|
mastraDocs: docsTool,
|
|
1111
1481
|
mastraExamples: examplesTool,
|
|
1112
1482
|
mastraChanges: changesTool,
|
|
1483
|
+
mastraMigration: migrationTool,
|
|
1113
1484
|
startMastraCourse,
|
|
1114
1485
|
getMastraCourseStatus,
|
|
1115
1486
|
startMastraCourseLesson,
|
|
1116
1487
|
nextMastraCourseStep,
|
|
1117
1488
|
clearMastraCourseHistory
|
|
1118
|
-
}
|
|
1489
|
+
},
|
|
1490
|
+
prompts: migrationPromptMessages
|
|
1119
1491
|
});
|
|
1120
1492
|
Object.assign(logger, createLogger(server));
|
|
1121
1493
|
async function runServer() {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const migrationInputSchema: z.ZodObject<{
|
|
3
|
+
path: z.ZodOptional<z.ZodString>;
|
|
4
|
+
sections: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
5
|
+
listSections: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
+
queryKeywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
path?: string | undefined;
|
|
9
|
+
queryKeywords?: string[] | undefined;
|
|
10
|
+
sections?: string[] | undefined;
|
|
11
|
+
listSections?: boolean | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
path?: string | undefined;
|
|
14
|
+
queryKeywords?: string[] | undefined;
|
|
15
|
+
sections?: string[] | undefined;
|
|
16
|
+
listSections?: boolean | undefined;
|
|
17
|
+
}>;
|
|
18
|
+
export type MigrationInput = z.infer<typeof migrationInputSchema>;
|
|
19
|
+
export declare const migrationTool: {
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
parameters: z.ZodObject<{
|
|
23
|
+
path: z.ZodOptional<z.ZodString>;
|
|
24
|
+
sections: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
25
|
+
listSections: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
queryKeywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
path?: string | undefined;
|
|
29
|
+
queryKeywords?: string[] | undefined;
|
|
30
|
+
sections?: string[] | undefined;
|
|
31
|
+
listSections?: boolean | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
path?: string | undefined;
|
|
34
|
+
queryKeywords?: string[] | undefined;
|
|
35
|
+
sections?: string[] | undefined;
|
|
36
|
+
listSections?: boolean | undefined;
|
|
37
|
+
}>;
|
|
38
|
+
execute: (args: MigrationInput) => Promise<string>;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/tools/migration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwPxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAsB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;oBAkCF,cAAc;CAyDrC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mcp-docs-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-beta.1",
|
|
4
4
|
"description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"uuid": "^11.1.0",
|
|
34
34
|
"zod": "^3.25.76",
|
|
35
35
|
"zod-to-json-schema": "^3.24.6",
|
|
36
|
-
"@mastra/core": "0.
|
|
37
|
-
"@mastra/mcp": "^0.
|
|
36
|
+
"@mastra/core": "1.0.0-beta.1",
|
|
37
|
+
"@mastra/mcp": "^1.0.0-beta.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@hono/node-server": "^1.19.
|
|
40
|
+
"@hono/node-server": "^1.19.6",
|
|
41
41
|
"@types/jsdom": "^21.1.7",
|
|
42
42
|
"@types/node": "^20.19.0",
|
|
43
43
|
"@types/turndown": "^5.0.5",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"tsx": "^4.19.4",
|
|
50
50
|
"typescript": "^5.8.3",
|
|
51
51
|
"vitest": "^3.2.4",
|
|
52
|
-
"@internal/lint": "0.0.
|
|
53
|
-
"@mastra/core": "0.
|
|
52
|
+
"@internal/lint": "0.0.53",
|
|
53
|
+
"@mastra/core": "1.0.0-beta.1"
|
|
54
54
|
},
|
|
55
55
|
"homepage": "https://mastra.ai",
|
|
56
56
|
"repository": {
|
|
@@ -61,12 +61,8 @@
|
|
|
61
61
|
"bugs": {
|
|
62
62
|
"url": "https://github.com/mastra-ai/mastra/issues"
|
|
63
63
|
},
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"publish-branch": [
|
|
67
|
-
"main",
|
|
68
|
-
"0.x"
|
|
69
|
-
]
|
|
64
|
+
"engines": {
|
|
65
|
+
"node": ">=22.13.0"
|
|
70
66
|
},
|
|
71
67
|
"scripts": {
|
|
72
68
|
"prepare-docs": "cross-env PREPARE=true node dist/prepare-docs/prepare.js",
|