@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
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Reference: Workflow.else() | Legacy Workflows | Mastra Docs"
|
|
3
|
-
description: "Documentation for the `.else()` method in Mastra workflows, which creates an alternative branch when an if condition is false."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Workflow.else()
|
|
7
|
-
|
|
8
|
-
> Experimental
|
|
9
|
-
|
|
10
|
-
The `.else()` method creates an alternative branch in the workflow that executes when the preceding `if` condition evaluates to false. This enables workflows to follow different paths based on conditions.
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
|
|
14
|
-
```typescript copy showLineNumbers
|
|
15
|
-
workflow
|
|
16
|
-
.step(startStep)
|
|
17
|
-
.if(async ({ context }) => {
|
|
18
|
-
const value = context.getStepResult<{ value: number }>("start")?.value;
|
|
19
|
-
return value < 10;
|
|
20
|
-
})
|
|
21
|
-
.then(ifBranchStep)
|
|
22
|
-
.else() // Alternative branch when the condition is false
|
|
23
|
-
.then(elseBranchStep)
|
|
24
|
-
.commit();
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Parameters
|
|
28
|
-
|
|
29
|
-
The `else()` method does not take any parameters.
|
|
30
|
-
|
|
31
|
-
## Returns
|
|
32
|
-
|
|
33
|
-
<PropertiesTable
|
|
34
|
-
content={[
|
|
35
|
-
{
|
|
36
|
-
name: "workflow",
|
|
37
|
-
type: "LegacyWorkflow",
|
|
38
|
-
description: "The workflow instance for method chaining",
|
|
39
|
-
},
|
|
40
|
-
]}
|
|
41
|
-
/>
|
|
42
|
-
|
|
43
|
-
## Behavior
|
|
44
|
-
|
|
45
|
-
- The `else()` method must follow an `if()` branch in the workflow definition
|
|
46
|
-
- It creates a branch that executes only when the preceding `if` condition evaluates to false
|
|
47
|
-
- You can chain multiple steps after an `else()` using `.then()`
|
|
48
|
-
- You can nest additional `if`/`else` conditions within an `else` branch
|
|
49
|
-
|
|
50
|
-
## Error Handling
|
|
51
|
-
|
|
52
|
-
The `else()` method requires a preceding `if()` statement. If you try to use it without a preceding `if`, an error will be thrown:
|
|
53
|
-
|
|
54
|
-
```typescript
|
|
55
|
-
try {
|
|
56
|
-
// This will throw an error
|
|
57
|
-
workflow.step(someStep).else().then(anotherStep).commit();
|
|
58
|
-
} catch (error) {
|
|
59
|
-
console.error(error); // "No active condition found"
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Related
|
|
64
|
-
|
|
65
|
-
- [if Reference](./if)
|
|
66
|
-
- [then Reference](./then)
|
|
67
|
-
- [Control Flow Guide](/docs/workflows-legacy/control-flow)
|
|
68
|
-
- [Step Condition Reference](./step-condition)
|
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Reference: Event-Driven Workflows | Legacy Workflows | Mastra Docs"
|
|
3
|
-
description: "Learn how to create event-driven workflows using afterEvent and resumeWithEvent methods in Mastra."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Event-Driven Workflows
|
|
7
|
-
|
|
8
|
-
Mastra provides built-in support for event-driven workflows through the `afterEvent` and `resumeWithEvent` methods. These methods allow you to create workflows that pause execution while waiting for specific events to occur, then resume with the event data when it's available.
|
|
9
|
-
|
|
10
|
-
## Overview
|
|
11
|
-
|
|
12
|
-
Event-driven workflows are useful for scenarios where:
|
|
13
|
-
|
|
14
|
-
- You need to wait for external systems to complete processing
|
|
15
|
-
- User approval or input is required at specific points
|
|
16
|
-
- Asynchronous operations need to be coordinated
|
|
17
|
-
- Long-running processes need to break up execution across different services
|
|
18
|
-
|
|
19
|
-
## Defining Events
|
|
20
|
-
|
|
21
|
-
Before using event-driven methods, you must define the events your workflow will listen for in the workflow configuration:
|
|
22
|
-
|
|
23
|
-
```typescript
|
|
24
|
-
import { LegacyWorkflow } from "@mastra/core/workflows/legacy";
|
|
25
|
-
import { z } from "zod";
|
|
26
|
-
|
|
27
|
-
const workflow = new LegacyWorkflow({
|
|
28
|
-
name: "approval-workflow",
|
|
29
|
-
triggerSchema: z.object({ requestId: z.string() }),
|
|
30
|
-
events: {
|
|
31
|
-
// Define events with their validation schemas
|
|
32
|
-
approvalReceived: {
|
|
33
|
-
schema: z.object({
|
|
34
|
-
approved: z.boolean(),
|
|
35
|
-
approverName: z.string(),
|
|
36
|
-
comment: z.string().optional(),
|
|
37
|
-
}),
|
|
38
|
-
},
|
|
39
|
-
documentUploaded: {
|
|
40
|
-
schema: z.object({
|
|
41
|
-
documentId: z.string(),
|
|
42
|
-
documentType: z.enum(["invoice", "receipt", "contract"]),
|
|
43
|
-
metadata: z.record(z.string()).optional(),
|
|
44
|
-
}),
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Each event must have a name and a schema that defines the structure of data expected when the event occurs.
|
|
51
|
-
|
|
52
|
-
## afterEvent()
|
|
53
|
-
|
|
54
|
-
The `afterEvent` method creates a suspension point in your workflow that automatically waits for a specific event.
|
|
55
|
-
|
|
56
|
-
### Syntax
|
|
57
|
-
|
|
58
|
-
```typescript
|
|
59
|
-
workflow.afterEvent(eventName: string): LegacyWorkflow
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Parameters
|
|
63
|
-
|
|
64
|
-
- `eventName`: The name of the event to wait for (must be defined in the workflow's `events` configuration)
|
|
65
|
-
|
|
66
|
-
### Return Value
|
|
67
|
-
|
|
68
|
-
Returns the workflow instance for method chaining.
|
|
69
|
-
|
|
70
|
-
### How It Works
|
|
71
|
-
|
|
72
|
-
When `afterEvent` is called, Mastra:
|
|
73
|
-
|
|
74
|
-
1. Creates a special step with ID `__eventName_event`
|
|
75
|
-
2. Configures this step to automatically suspend workflow execution
|
|
76
|
-
3. Sets up the continuation point after the event is received
|
|
77
|
-
|
|
78
|
-
### Usage Example
|
|
79
|
-
|
|
80
|
-
```typescript
|
|
81
|
-
workflow
|
|
82
|
-
.step(initialProcessStep)
|
|
83
|
-
.afterEvent("approvalReceived") // Workflow suspends here
|
|
84
|
-
.step(postApprovalStep) // This runs after event is received
|
|
85
|
-
.then(finalStep)
|
|
86
|
-
.commit();
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## resumeWithEvent()
|
|
90
|
-
|
|
91
|
-
The `resumeWithEvent` method resumes a suspended workflow by providing data for a specific event.
|
|
92
|
-
|
|
93
|
-
### Syntax
|
|
94
|
-
|
|
95
|
-
```typescript
|
|
96
|
-
run.resumeWithEvent(eventName: string, data: any): Promise<LegacyWorkflowRunResult>
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Parameters
|
|
100
|
-
|
|
101
|
-
- `eventName`: The name of the event being triggered
|
|
102
|
-
- `data`: The event data (must conform to the schema defined for this event)
|
|
103
|
-
|
|
104
|
-
### Return Value
|
|
105
|
-
|
|
106
|
-
Returns a Promise that resolves to the workflow execution results after resumption.
|
|
107
|
-
|
|
108
|
-
### How It Works
|
|
109
|
-
|
|
110
|
-
When `resumeWithEvent` is called, Mastra:
|
|
111
|
-
|
|
112
|
-
1. Validates the event data against the schema defined for that event
|
|
113
|
-
2. Loads the workflow snapshot
|
|
114
|
-
3. Updates the context with the event data
|
|
115
|
-
4. Resumes execution from the event step
|
|
116
|
-
5. Continues workflow execution with the subsequent steps
|
|
117
|
-
|
|
118
|
-
### Usage Example
|
|
119
|
-
|
|
120
|
-
```typescript
|
|
121
|
-
// Create a workflow run
|
|
122
|
-
const run = workflow.createRun();
|
|
123
|
-
|
|
124
|
-
// Start the workflow
|
|
125
|
-
await run.start({ triggerData: { requestId: "req-123" } });
|
|
126
|
-
|
|
127
|
-
// Later, when the event occurs:
|
|
128
|
-
const result = await run.resumeWithEvent("approvalReceived", {
|
|
129
|
-
approved: true,
|
|
130
|
-
approverName: "John Doe",
|
|
131
|
-
comment: "Looks good to me!",
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
console.log(result.results);
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Accessing Event Data
|
|
138
|
-
|
|
139
|
-
When a workflow is resumed with event data, that data is available in the step context as `context.inputData.resumedEvent`:
|
|
140
|
-
|
|
141
|
-
```typescript
|
|
142
|
-
const processApprovalStep = new LegacyStep({
|
|
143
|
-
id: "processApproval",
|
|
144
|
-
execute: async ({ context }) => {
|
|
145
|
-
// Access the event data
|
|
146
|
-
const eventData = context.inputData.resumedEvent;
|
|
147
|
-
|
|
148
|
-
return {
|
|
149
|
-
processingResult: `Processed approval from ${eventData.approverName}`,
|
|
150
|
-
wasApproved: eventData.approved,
|
|
151
|
-
};
|
|
152
|
-
},
|
|
153
|
-
});
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## Multiple Events
|
|
157
|
-
|
|
158
|
-
You can create workflows that wait for multiple different events at various points:
|
|
159
|
-
|
|
160
|
-
```typescript
|
|
161
|
-
workflow
|
|
162
|
-
.step(createRequest)
|
|
163
|
-
.afterEvent("approvalReceived")
|
|
164
|
-
.step(processApproval)
|
|
165
|
-
.afterEvent("documentUploaded")
|
|
166
|
-
.step(processDocument)
|
|
167
|
-
.commit();
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
When resuming a workflow with multiple event suspension points, you need to provide the correct event name and data for the current suspension point.
|
|
171
|
-
|
|
172
|
-
## Practical Example
|
|
173
|
-
|
|
174
|
-
This example shows a complete workflow that requires both approval and document upload:
|
|
175
|
-
|
|
176
|
-
```typescript
|
|
177
|
-
import { LegacyWorkflow, LegacyStep } from "@mastra/core/workflows/legacy";
|
|
178
|
-
import { z } from "zod";
|
|
179
|
-
|
|
180
|
-
// Define steps
|
|
181
|
-
const createRequest = new LegacyStep({
|
|
182
|
-
id: "createRequest",
|
|
183
|
-
execute: async () => ({ requestId: `req-${Date.now()}` }),
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
const processApproval = new LegacyStep({
|
|
187
|
-
id: "processApproval",
|
|
188
|
-
execute: async ({ context }) => {
|
|
189
|
-
const approvalData = context.inputData.resumedEvent;
|
|
190
|
-
return {
|
|
191
|
-
approved: approvalData.approved,
|
|
192
|
-
approver: approvalData.approverName,
|
|
193
|
-
};
|
|
194
|
-
},
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
const processDocument = new LegacyStep({
|
|
198
|
-
id: "processDocument",
|
|
199
|
-
execute: async ({ context }) => {
|
|
200
|
-
const documentData = context.inputData.resumedEvent;
|
|
201
|
-
return {
|
|
202
|
-
documentId: documentData.documentId,
|
|
203
|
-
processed: true,
|
|
204
|
-
type: documentData.documentType,
|
|
205
|
-
};
|
|
206
|
-
},
|
|
207
|
-
});
|
|
208
|
-
|
|
209
|
-
const finalizeRequest = new LegacyStep({
|
|
210
|
-
id: "finalizeRequest",
|
|
211
|
-
execute: async ({ context }) => {
|
|
212
|
-
const requestId = context.steps.createRequest.output.requestId;
|
|
213
|
-
const approved = context.steps.processApproval.output.approved;
|
|
214
|
-
const documentId = context.steps.processDocument.output.documentId;
|
|
215
|
-
|
|
216
|
-
return {
|
|
217
|
-
finalized: true,
|
|
218
|
-
summary: `Request ${requestId} was ${approved ? "approved" : "rejected"} with document ${documentId}`,
|
|
219
|
-
};
|
|
220
|
-
},
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
// Create workflow
|
|
224
|
-
const requestWorkflow = new LegacyWorkflow({
|
|
225
|
-
name: "document-request-workflow",
|
|
226
|
-
events: {
|
|
227
|
-
approvalReceived: {
|
|
228
|
-
schema: z.object({
|
|
229
|
-
approved: z.boolean(),
|
|
230
|
-
approverName: z.string(),
|
|
231
|
-
}),
|
|
232
|
-
},
|
|
233
|
-
documentUploaded: {
|
|
234
|
-
schema: z.object({
|
|
235
|
-
documentId: z.string(),
|
|
236
|
-
documentType: z.enum(["invoice", "receipt", "contract"]),
|
|
237
|
-
}),
|
|
238
|
-
},
|
|
239
|
-
},
|
|
240
|
-
});
|
|
241
|
-
|
|
242
|
-
// Build workflow
|
|
243
|
-
requestWorkflow
|
|
244
|
-
.step(createRequest)
|
|
245
|
-
.afterEvent("approvalReceived")
|
|
246
|
-
.step(processApproval)
|
|
247
|
-
.afterEvent("documentUploaded")
|
|
248
|
-
.step(processDocument)
|
|
249
|
-
.then(finalizeRequest)
|
|
250
|
-
.commit();
|
|
251
|
-
|
|
252
|
-
// Export workflow
|
|
253
|
-
export { requestWorkflow };
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### Running the Example Workflow
|
|
257
|
-
|
|
258
|
-
```typescript
|
|
259
|
-
import { requestWorkflow } from "./workflows";
|
|
260
|
-
import { mastra } from "./mastra";
|
|
261
|
-
|
|
262
|
-
async function runWorkflow() {
|
|
263
|
-
// Get the workflow
|
|
264
|
-
const workflow = mastra.legacy_getWorkflow("document-request-workflow");
|
|
265
|
-
const run = workflow.createRun();
|
|
266
|
-
|
|
267
|
-
// Start the workflow
|
|
268
|
-
const initialResult = await run.start();
|
|
269
|
-
console.log("Workflow started:", initialResult.results);
|
|
270
|
-
|
|
271
|
-
// Simulate receiving approval
|
|
272
|
-
const afterApprovalResult = await run.resumeWithEvent("approvalReceived", {
|
|
273
|
-
approved: true,
|
|
274
|
-
approverName: "Jane Smith",
|
|
275
|
-
});
|
|
276
|
-
console.log("After approval:", afterApprovalResult.results);
|
|
277
|
-
|
|
278
|
-
// Simulate document upload
|
|
279
|
-
const finalResult = await run.resumeWithEvent("documentUploaded", {
|
|
280
|
-
documentId: "doc-456",
|
|
281
|
-
documentType: "invoice",
|
|
282
|
-
});
|
|
283
|
-
console.log("Final result:", finalResult.results);
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
runWorkflow().catch(console.error);
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
## Best Practices
|
|
290
|
-
|
|
291
|
-
1. **Define Clear Event Schemas**: Use Zod to create precise schemas for event data validation
|
|
292
|
-
2. **Use Descriptive Event Names**: Choose event names that clearly communicate their purpose
|
|
293
|
-
3. **Handle Missing Events**: Ensure your workflow can handle cases where events don't occur or time out
|
|
294
|
-
4. **Include Monitoring**: Use the `watch` method to monitor suspended workflows waiting for events
|
|
295
|
-
5. **Consider Timeouts**: Implement timeout mechanisms for events that may never occur
|
|
296
|
-
6. **Document Events**: Clearly document the events your workflow depends on for other developers
|
|
297
|
-
|
|
298
|
-
## Related
|
|
299
|
-
|
|
300
|
-
- [Suspend and Resume in Workflows](/docs/workflows-legacy/suspend-and-resume)
|
|
301
|
-
- [Workflow Class Reference](./workflow)
|
|
302
|
-
- [Resume Method Reference](./resume)
|
|
303
|
-
- [Watch Method Reference](./watch)
|
|
304
|
-
- [After Event Reference](./afterEvent)
|
|
305
|
-
- [Resume With Event Reference](./resumeWithEvent)
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Reference: Workflow.execute() | Legacy Workflows | Mastra Docs"
|
|
3
|
-
description: "Documentation for the `.execute()` method in Mastra workflows, which runs workflow steps and returns results."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Workflow.execute()
|
|
7
|
-
|
|
8
|
-
Executes a workflow with the provided trigger data and returns the results. The workflow must be committed before execution.
|
|
9
|
-
|
|
10
|
-
## Usage Example
|
|
11
|
-
|
|
12
|
-
```typescript
|
|
13
|
-
const workflow = new LegacyWorkflow({
|
|
14
|
-
name: "my-workflow",
|
|
15
|
-
triggerSchema: z.object({
|
|
16
|
-
inputValue: z.number(),
|
|
17
|
-
}),
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
workflow.step(stepOne).then(stepTwo).commit();
|
|
21
|
-
|
|
22
|
-
const result = await workflow.execute({
|
|
23
|
-
triggerData: { inputValue: 42 },
|
|
24
|
-
});
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Parameters
|
|
28
|
-
|
|
29
|
-
<PropertiesTable
|
|
30
|
-
content={[
|
|
31
|
-
{
|
|
32
|
-
name: "options",
|
|
33
|
-
type: "ExecuteOptions",
|
|
34
|
-
description: "Options for workflow execution",
|
|
35
|
-
isOptional: true,
|
|
36
|
-
properties: [
|
|
37
|
-
{
|
|
38
|
-
name: "triggerData",
|
|
39
|
-
type: "TriggerSchema",
|
|
40
|
-
description: "Input data matching the workflow's trigger schema",
|
|
41
|
-
isOptional: false,
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: "runId",
|
|
45
|
-
type: "string",
|
|
46
|
-
description: "Optional ID to track this execution run",
|
|
47
|
-
isOptional: true,
|
|
48
|
-
},
|
|
49
|
-
],
|
|
50
|
-
},
|
|
51
|
-
]}
|
|
52
|
-
/>
|
|
53
|
-
|
|
54
|
-
## Returns
|
|
55
|
-
|
|
56
|
-
<PropertiesTable
|
|
57
|
-
content={[
|
|
58
|
-
{
|
|
59
|
-
name: "WorkflowResult",
|
|
60
|
-
type: "object",
|
|
61
|
-
description: "Results from workflow execution",
|
|
62
|
-
properties: [
|
|
63
|
-
{
|
|
64
|
-
name: "runId",
|
|
65
|
-
type: "string",
|
|
66
|
-
description: "Unique identifier for this execution run",
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: "results",
|
|
70
|
-
type: "Record<string, StepResult>",
|
|
71
|
-
description: "Results from each completed step",
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
name: "status",
|
|
75
|
-
type: "WorkflowStatus",
|
|
76
|
-
description: "Final status of the workflow run",
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
]}
|
|
81
|
-
/>
|
|
82
|
-
|
|
83
|
-
## Additional Examples
|
|
84
|
-
|
|
85
|
-
Execute with run ID:
|
|
86
|
-
|
|
87
|
-
```typescript
|
|
88
|
-
const result = await workflow.execute({
|
|
89
|
-
runId: "custom-run-id",
|
|
90
|
-
triggerData: { inputValue: 42 },
|
|
91
|
-
});
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Handle execution results:
|
|
95
|
-
|
|
96
|
-
```typescript
|
|
97
|
-
const { runId, results, status } = await workflow.execute({
|
|
98
|
-
triggerData: { inputValue: 42 },
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
if (status === "COMPLETED") {
|
|
102
|
-
console.log("Step results:", results);
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Related
|
|
107
|
-
|
|
108
|
-
- [Workflow.createRun()](./createRun)
|
|
109
|
-
- [Workflow.commit()](./commit)
|
|
110
|
-
- [Workflow.start()](./start)
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Reference: Workflow.if() | Legacy Workflows | Mastra Docs"
|
|
3
|
-
description: "Documentation for the `.if()` method in Mastra workflows, which creates conditional branches based on specified conditions."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Workflow.if()
|
|
7
|
-
|
|
8
|
-
> Experimental
|
|
9
|
-
|
|
10
|
-
The `.if()` method creates a conditional branch in the workflow, allowing steps to execute only when a specified condition is true. This enables dynamic workflow paths based on the results of previous steps.
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
|
|
14
|
-
```typescript copy showLineNumbers
|
|
15
|
-
workflow
|
|
16
|
-
.step(startStep)
|
|
17
|
-
.if(async ({ context }) => {
|
|
18
|
-
const value = context.getStepResult<{ value: number }>("start")?.value;
|
|
19
|
-
return value < 10; // If true, execute the "if" branch
|
|
20
|
-
})
|
|
21
|
-
.then(ifBranchStep)
|
|
22
|
-
.else()
|
|
23
|
-
.then(elseBranchStep)
|
|
24
|
-
.commit();
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Parameters
|
|
28
|
-
|
|
29
|
-
<PropertiesTable
|
|
30
|
-
content={[
|
|
31
|
-
{
|
|
32
|
-
name: "condition",
|
|
33
|
-
type: "Function | ReferenceCondition",
|
|
34
|
-
description:
|
|
35
|
-
"A function or reference condition that determines whether to execute the 'if' branch",
|
|
36
|
-
isOptional: false,
|
|
37
|
-
},
|
|
38
|
-
]}
|
|
39
|
-
/>
|
|
40
|
-
|
|
41
|
-
## Condition Types
|
|
42
|
-
|
|
43
|
-
### Function Condition
|
|
44
|
-
|
|
45
|
-
You can use a function that returns a boolean:
|
|
46
|
-
|
|
47
|
-
```typescript
|
|
48
|
-
workflow
|
|
49
|
-
.step(startStep)
|
|
50
|
-
.if(async ({ context }) => {
|
|
51
|
-
const result = context.getStepResult<{ status: string }>("start");
|
|
52
|
-
return result?.status === "success"; // Execute "if" branch when status is "success"
|
|
53
|
-
})
|
|
54
|
-
.then(successStep)
|
|
55
|
-
.else()
|
|
56
|
-
.then(failureStep);
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Reference Condition
|
|
60
|
-
|
|
61
|
-
You can use a reference-based condition with comparison operators:
|
|
62
|
-
|
|
63
|
-
```typescript
|
|
64
|
-
workflow
|
|
65
|
-
.step(startStep)
|
|
66
|
-
.if({
|
|
67
|
-
ref: { step: startStep, path: "value" },
|
|
68
|
-
query: { $lt: 10 }, // Execute "if" branch when value is less than 10
|
|
69
|
-
})
|
|
70
|
-
.then(ifBranchStep)
|
|
71
|
-
.else()
|
|
72
|
-
.then(elseBranchStep);
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Returns
|
|
76
|
-
|
|
77
|
-
<PropertiesTable
|
|
78
|
-
content={[
|
|
79
|
-
{
|
|
80
|
-
name: "workflow",
|
|
81
|
-
type: "LegacyWorkflow",
|
|
82
|
-
description: "The workflow instance for method chaining",
|
|
83
|
-
},
|
|
84
|
-
]}
|
|
85
|
-
/>
|
|
86
|
-
|
|
87
|
-
## Error Handling
|
|
88
|
-
|
|
89
|
-
The `if` method requires a previous step to be defined. If you try to use it without a preceding step, an error will be thrown:
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
try {
|
|
93
|
-
// This will throw an error
|
|
94
|
-
workflow
|
|
95
|
-
.if(async ({ context }) => true)
|
|
96
|
-
.then(someStep)
|
|
97
|
-
.commit();
|
|
98
|
-
} catch (error) {
|
|
99
|
-
console.error(error); // "Condition requires a step to be executed after"
|
|
100
|
-
}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Related
|
|
104
|
-
|
|
105
|
-
- [else Reference](./else)
|
|
106
|
-
- [then Reference](./then)
|
|
107
|
-
- [Control Flow Guide](/docs/workflows-legacy/control-flow)
|
|
108
|
-
- [Step Condition Reference](./step-condition)
|