@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,168 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Reference: Workflow.until() | Legacy Workflows | Mastra Docs"
|
|
3
|
-
description: "Documentation for the `.until()` method in Mastra workflows, which repeats a step until a specified condition becomes true."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Workflow.until()
|
|
7
|
-
|
|
8
|
-
The `.until()` method repeats a step until a specified condition becomes true. This creates a loop that continues executing the specified step until the condition is satisfied.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```typescript
|
|
13
|
-
workflow.step(incrementStep).until(condition, incrementStep).then(finalStep);
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Parameters
|
|
17
|
-
|
|
18
|
-
<PropertiesTable
|
|
19
|
-
content={[
|
|
20
|
-
{
|
|
21
|
-
name: "condition",
|
|
22
|
-
type: "Function | ReferenceCondition",
|
|
23
|
-
description:
|
|
24
|
-
"A function or reference condition that determines when to stop looping",
|
|
25
|
-
isOptional: false,
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "step",
|
|
29
|
-
type: "Step",
|
|
30
|
-
description: "The step to repeat until the condition is met",
|
|
31
|
-
isOptional: false,
|
|
32
|
-
},
|
|
33
|
-
]}
|
|
34
|
-
/>
|
|
35
|
-
|
|
36
|
-
## Condition Types
|
|
37
|
-
|
|
38
|
-
### Function Condition
|
|
39
|
-
|
|
40
|
-
You can use a function that returns a boolean:
|
|
41
|
-
|
|
42
|
-
```typescript
|
|
43
|
-
workflow
|
|
44
|
-
.step(incrementStep)
|
|
45
|
-
.until(async ({ context }) => {
|
|
46
|
-
const result = context.getStepResult<{ value: number }>("increment");
|
|
47
|
-
return (result?.value ?? 0) >= 10; // Stop when value reaches or exceeds 10
|
|
48
|
-
}, incrementStep)
|
|
49
|
-
.then(finalStep);
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Reference Condition
|
|
53
|
-
|
|
54
|
-
You can use a reference-based condition with comparison operators:
|
|
55
|
-
|
|
56
|
-
```typescript
|
|
57
|
-
workflow
|
|
58
|
-
.step(incrementStep)
|
|
59
|
-
.until(
|
|
60
|
-
{
|
|
61
|
-
ref: { step: incrementStep, path: "value" },
|
|
62
|
-
query: { $gte: 10 }, // Stop when value is greater than or equal to 10
|
|
63
|
-
},
|
|
64
|
-
incrementStep,
|
|
65
|
-
)
|
|
66
|
-
.then(finalStep);
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Comparison Operators
|
|
70
|
-
|
|
71
|
-
When using reference-based conditions, you can use these comparison operators:
|
|
72
|
-
|
|
73
|
-
| Operator | Description | Example |
|
|
74
|
-
| -------- | ------------------------ | -------------- |
|
|
75
|
-
| `$eq` | Equal to | `{ $eq: 10 }` |
|
|
76
|
-
| `$ne` | Not equal to | `{ $ne: 0 }` |
|
|
77
|
-
| `$gt` | Greater than | `{ $gt: 5 }` |
|
|
78
|
-
| `$gte` | Greater than or equal to | `{ $gte: 10 }` |
|
|
79
|
-
| `$lt` | Less than | `{ $lt: 20 }` |
|
|
80
|
-
| `$lte` | Less than or equal to | `{ $lte: 15 }` |
|
|
81
|
-
|
|
82
|
-
## Returns
|
|
83
|
-
|
|
84
|
-
<PropertiesTable
|
|
85
|
-
content={[
|
|
86
|
-
{
|
|
87
|
-
name: "workflow",
|
|
88
|
-
type: "Workflow",
|
|
89
|
-
description: "The workflow instance for chaining",
|
|
90
|
-
},
|
|
91
|
-
]}
|
|
92
|
-
/>
|
|
93
|
-
|
|
94
|
-
## Example
|
|
95
|
-
|
|
96
|
-
```typescript
|
|
97
|
-
import { LegacyWorkflow, LegacyStep } from "@mastra/core/workflows/legacy";
|
|
98
|
-
import { z } from "zod";
|
|
99
|
-
|
|
100
|
-
// Create a step that increments a counter
|
|
101
|
-
const incrementStep = new LegacyStep({
|
|
102
|
-
id: "increment",
|
|
103
|
-
description: "Increments the counter by 1",
|
|
104
|
-
outputSchema: z.object({
|
|
105
|
-
value: z.number(),
|
|
106
|
-
}),
|
|
107
|
-
execute: async ({ context }) => {
|
|
108
|
-
// Get current value from previous execution or start at 0
|
|
109
|
-
const currentValue =
|
|
110
|
-
context.getStepResult<{ value: number }>("increment")?.value ||
|
|
111
|
-
context.getStepResult<{ startValue: number }>("trigger")?.startValue ||
|
|
112
|
-
0;
|
|
113
|
-
|
|
114
|
-
// Increment the value
|
|
115
|
-
const value = currentValue + 1;
|
|
116
|
-
console.log(`Incrementing to ${value}`);
|
|
117
|
-
|
|
118
|
-
return { value };
|
|
119
|
-
},
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
// Create a final step
|
|
123
|
-
const finalStep = new LegacyStep({
|
|
124
|
-
id: "final",
|
|
125
|
-
description: "Final step after loop completes",
|
|
126
|
-
execute: async ({ context }) => {
|
|
127
|
-
const finalValue = context.getStepResult<{ value: number }>(
|
|
128
|
-
"increment",
|
|
129
|
-
)?.value;
|
|
130
|
-
console.log(`Loop completed with final value: ${finalValue}`);
|
|
131
|
-
return { finalValue };
|
|
132
|
-
},
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
// Create the workflow
|
|
136
|
-
const counterWorkflow = new LegacyWorkflow({
|
|
137
|
-
name: "counter-workflow",
|
|
138
|
-
triggerSchema: z.object({
|
|
139
|
-
startValue: z.number(),
|
|
140
|
-
targetValue: z.number(),
|
|
141
|
-
}),
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
// Configure the workflow with an until loop
|
|
145
|
-
counterWorkflow
|
|
146
|
-
.step(incrementStep)
|
|
147
|
-
.until(async ({ context }) => {
|
|
148
|
-
const targetValue = context.triggerData.targetValue;
|
|
149
|
-
const currentValue =
|
|
150
|
-
context.getStepResult<{ value: number }>("increment")?.value ?? 0;
|
|
151
|
-
return currentValue >= targetValue;
|
|
152
|
-
}, incrementStep)
|
|
153
|
-
.then(finalStep)
|
|
154
|
-
.commit();
|
|
155
|
-
|
|
156
|
-
// Execute the workflow
|
|
157
|
-
const run = counterWorkflow.createRun();
|
|
158
|
-
const result = await run.start({
|
|
159
|
-
triggerData: { startValue: 0, targetValue: 5 },
|
|
160
|
-
});
|
|
161
|
-
// Will increment from 0 to 5, then stop and execute finalStep
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Related
|
|
165
|
-
|
|
166
|
-
- [.while()](./while) - Loop while a condition is true
|
|
167
|
-
- [Control Flow Guide](/docs/workflows-legacy/control-flow)
|
|
168
|
-
- [Workflow Class Reference](./workflow)
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Reference: run.watch() | Legacy Workflows | Mastra Docs"
|
|
3
|
-
description: Documentation for the `.watch()` method in workflows, which monitors the status of a workflow run.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# run.watch()
|
|
7
|
-
|
|
8
|
-
The `.watch()` function subscribes to state changes on a mastra run, allowing you to monitor execution progress and react to state updates.
|
|
9
|
-
|
|
10
|
-
## Usage Example
|
|
11
|
-
|
|
12
|
-
```typescript
|
|
13
|
-
import { LegacyWorkflow } from "@mastra/core/workflows/legacy";
|
|
14
|
-
|
|
15
|
-
const workflow = new LegacyWorkflow({
|
|
16
|
-
name: "document-processor",
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
const run = workflow.createRun();
|
|
20
|
-
|
|
21
|
-
// Subscribe to state changes
|
|
22
|
-
const unsubscribe = run.watch(({ results, activePaths }) => {
|
|
23
|
-
console.log("Results:", results);
|
|
24
|
-
console.log("Active paths:", activePaths);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
// Run the workflow
|
|
28
|
-
await run.start({
|
|
29
|
-
input: { text: "Process this document" },
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
// Stop watching
|
|
33
|
-
unsubscribe();
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Parameters
|
|
37
|
-
|
|
38
|
-
<PropertiesTable
|
|
39
|
-
content={[
|
|
40
|
-
{
|
|
41
|
-
name: "callback",
|
|
42
|
-
type: "(state: LegacyWorkflowState) => void",
|
|
43
|
-
description: "Function called whenever the workflow state changes",
|
|
44
|
-
isOptional: false,
|
|
45
|
-
},
|
|
46
|
-
]}
|
|
47
|
-
/>
|
|
48
|
-
|
|
49
|
-
### LegacyWorkflowState Properties
|
|
50
|
-
|
|
51
|
-
<PropertiesTable
|
|
52
|
-
content={[
|
|
53
|
-
{
|
|
54
|
-
name: "results",
|
|
55
|
-
type: "Record<string, any>",
|
|
56
|
-
description: "Outputs from completed workflow steps",
|
|
57
|
-
isOptional: false,
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: "activePaths",
|
|
61
|
-
type: "Map<string, { status: string; suspendPayload?: any; stepPath: string[] }>",
|
|
62
|
-
description: "Current status of each step",
|
|
63
|
-
isOptional: false,
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
name: "runId",
|
|
67
|
-
type: "string",
|
|
68
|
-
description: "ID of the workflow run",
|
|
69
|
-
isOptional: false,
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
name: "timestamp",
|
|
73
|
-
type: "number",
|
|
74
|
-
description: "Timestamp of the workflow run",
|
|
75
|
-
isOptional: false,
|
|
76
|
-
},
|
|
77
|
-
]}
|
|
78
|
-
/>
|
|
79
|
-
|
|
80
|
-
## Returns
|
|
81
|
-
|
|
82
|
-
<PropertiesTable
|
|
83
|
-
content={[
|
|
84
|
-
{
|
|
85
|
-
name: "unsubscribe",
|
|
86
|
-
type: "() => void",
|
|
87
|
-
description: "Function to stop watching workflow state changes",
|
|
88
|
-
},
|
|
89
|
-
]}
|
|
90
|
-
/>
|
|
91
|
-
|
|
92
|
-
## Additional Examples
|
|
93
|
-
|
|
94
|
-
Monitor specific step completion:
|
|
95
|
-
|
|
96
|
-
```typescript
|
|
97
|
-
run.watch(({ results, activePaths }) => {
|
|
98
|
-
if (activePaths.get("processDocument")?.status === "completed") {
|
|
99
|
-
console.log(
|
|
100
|
-
"Document processing output:",
|
|
101
|
-
results["processDocument"].output,
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Error handling:
|
|
108
|
-
|
|
109
|
-
```typescript
|
|
110
|
-
run.watch(({ results, activePaths }) => {
|
|
111
|
-
if (activePaths.get("processDocument")?.status === "failed") {
|
|
112
|
-
console.error(
|
|
113
|
-
"Document processing failed:",
|
|
114
|
-
results["processDocument"].error,
|
|
115
|
-
);
|
|
116
|
-
// Implement error recovery logic
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### Related
|
|
122
|
-
|
|
123
|
-
- [Workflow Creation](./createRun)
|
|
124
|
-
- [Step Configuration](./step-class)
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Reference: Workflow.while() | Legacy Workflows | Mastra Docs"
|
|
3
|
-
description: "Documentation for the `.while()` method in Mastra workflows, which repeats a step as long as a specified condition remains true."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Workflow.while()
|
|
7
|
-
|
|
8
|
-
The `.while()` method repeats a step as long as a specified condition remains true. This creates a loop that continues executing the specified step until the condition becomes false.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```typescript
|
|
13
|
-
workflow.step(incrementStep).while(condition, incrementStep).then(finalStep);
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Parameters
|
|
17
|
-
|
|
18
|
-
<PropertiesTable
|
|
19
|
-
content={[
|
|
20
|
-
{
|
|
21
|
-
name: "condition",
|
|
22
|
-
type: "Function | ReferenceCondition",
|
|
23
|
-
description:
|
|
24
|
-
"A function or reference condition that determines when to continue looping",
|
|
25
|
-
isOptional: false,
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "step",
|
|
29
|
-
type: "Step",
|
|
30
|
-
description: "The step to repeat while the condition is true",
|
|
31
|
-
isOptional: false,
|
|
32
|
-
},
|
|
33
|
-
]}
|
|
34
|
-
/>
|
|
35
|
-
|
|
36
|
-
## Condition Types
|
|
37
|
-
|
|
38
|
-
### Function Condition
|
|
39
|
-
|
|
40
|
-
You can use a function that returns a boolean:
|
|
41
|
-
|
|
42
|
-
```typescript
|
|
43
|
-
workflow
|
|
44
|
-
.step(incrementStep)
|
|
45
|
-
.while(async ({ context }) => {
|
|
46
|
-
const result = context.getStepResult<{ value: number }>("increment");
|
|
47
|
-
return (result?.value ?? 0) < 10; // Continue as long as value is less than 10
|
|
48
|
-
}, incrementStep)
|
|
49
|
-
.then(finalStep);
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Reference Condition
|
|
53
|
-
|
|
54
|
-
You can use a reference-based condition with comparison operators:
|
|
55
|
-
|
|
56
|
-
```typescript
|
|
57
|
-
workflow
|
|
58
|
-
.step(incrementStep)
|
|
59
|
-
.while(
|
|
60
|
-
{
|
|
61
|
-
ref: { step: incrementStep, path: "value" },
|
|
62
|
-
query: { $lt: 10 }, // Continue as long as value is less than 10
|
|
63
|
-
},
|
|
64
|
-
incrementStep,
|
|
65
|
-
)
|
|
66
|
-
.then(finalStep);
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Comparison Operators
|
|
70
|
-
|
|
71
|
-
When using reference-based conditions, you can use these comparison operators:
|
|
72
|
-
|
|
73
|
-
| Operator | Description | Example |
|
|
74
|
-
| -------- | ------------------------ | -------------- |
|
|
75
|
-
| `$eq` | Equal to | `{ $eq: 10 }` |
|
|
76
|
-
| `$ne` | Not equal to | `{ $ne: 0 }` |
|
|
77
|
-
| `$gt` | Greater than | `{ $gt: 5 }` |
|
|
78
|
-
| `$gte` | Greater than or equal to | `{ $gte: 10 }` |
|
|
79
|
-
| `$lt` | Less than | `{ $lt: 20 }` |
|
|
80
|
-
| `$lte` | Less than or equal to | `{ $lte: 15 }` |
|
|
81
|
-
|
|
82
|
-
## Returns
|
|
83
|
-
|
|
84
|
-
<PropertiesTable
|
|
85
|
-
content={[
|
|
86
|
-
{
|
|
87
|
-
name: "workflow",
|
|
88
|
-
type: "LegacyWorkflow",
|
|
89
|
-
description: "The workflow instance for chaining",
|
|
90
|
-
},
|
|
91
|
-
]}
|
|
92
|
-
/>
|
|
93
|
-
|
|
94
|
-
## Example
|
|
95
|
-
|
|
96
|
-
```typescript
|
|
97
|
-
import { LegacyWorkflow, LegacyStep } from "@mastra/core/workflows/legacy";
|
|
98
|
-
import { z } from "zod";
|
|
99
|
-
|
|
100
|
-
// Create a step that increments a counter
|
|
101
|
-
const incrementStep = new LegacyStep({
|
|
102
|
-
id: "increment",
|
|
103
|
-
description: "Increments the counter by 1",
|
|
104
|
-
outputSchema: z.object({
|
|
105
|
-
value: z.number(),
|
|
106
|
-
}),
|
|
107
|
-
execute: async ({ context }) => {
|
|
108
|
-
// Get current value from previous execution or start at 0
|
|
109
|
-
const currentValue =
|
|
110
|
-
context.getStepResult<{ value: number }>("increment")?.value ||
|
|
111
|
-
context.getStepResult<{ startValue: number }>("trigger")?.startValue ||
|
|
112
|
-
0;
|
|
113
|
-
|
|
114
|
-
// Increment the value
|
|
115
|
-
const value = currentValue + 1;
|
|
116
|
-
console.log(`Incrementing to ${value}`);
|
|
117
|
-
|
|
118
|
-
return { value };
|
|
119
|
-
},
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
// Create a final step
|
|
123
|
-
const finalStep = new LegacyStep({
|
|
124
|
-
id: "final",
|
|
125
|
-
description: "Final step after loop completes",
|
|
126
|
-
execute: async ({ context }) => {
|
|
127
|
-
const finalValue = context.getStepResult<{ value: number }>(
|
|
128
|
-
"increment",
|
|
129
|
-
)?.value;
|
|
130
|
-
console.log(`Loop completed with final value: ${finalValue}`);
|
|
131
|
-
return { finalValue };
|
|
132
|
-
},
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
// Create the workflow
|
|
136
|
-
const counterWorkflow = new LegacyWorkflow({
|
|
137
|
-
name: "counter-workflow",
|
|
138
|
-
triggerSchema: z.object({
|
|
139
|
-
startValue: z.number(),
|
|
140
|
-
targetValue: z.number(),
|
|
141
|
-
}),
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
// Configure the workflow with a while loop
|
|
145
|
-
counterWorkflow
|
|
146
|
-
.step(incrementStep)
|
|
147
|
-
.while(async ({ context }) => {
|
|
148
|
-
const targetValue = context.triggerData.targetValue;
|
|
149
|
-
const currentValue =
|
|
150
|
-
context.getStepResult<{ value: number }>("increment")?.value ?? 0;
|
|
151
|
-
return currentValue < targetValue;
|
|
152
|
-
}, incrementStep)
|
|
153
|
-
.then(finalStep)
|
|
154
|
-
.commit();
|
|
155
|
-
|
|
156
|
-
// Execute the workflow
|
|
157
|
-
const run = counterWorkflow.createRun();
|
|
158
|
-
const result = await run.start({
|
|
159
|
-
triggerData: { startValue: 0, targetValue: 5 },
|
|
160
|
-
});
|
|
161
|
-
// Will increment from 0 to 4, then stop and execute finalStep
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Related
|
|
165
|
-
|
|
166
|
-
- [.until()](./until) - Loop until a condition becomes true
|
|
167
|
-
- [Control Flow Guide](/docs/workflows-legacy/control-flow)
|
|
168
|
-
- [Workflow Class Reference](./workflow)
|
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Reference: Workflow Class | Legacy Workflows | Mastra Docs"
|
|
3
|
-
description: Documentation for the Workflow class in Mastra, which enables you to create state machines for complex sequences of operations with conditional branching and data validation.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Workflow Class
|
|
7
|
-
|
|
8
|
-
The Workflow class enables you to create state machines for complex sequences of operations with conditional branching and data validation.
|
|
9
|
-
|
|
10
|
-
```ts copy
|
|
11
|
-
import { LegacyWorkflow } from "@mastra/core/workflows/legacy";
|
|
12
|
-
|
|
13
|
-
const workflow = new LegacyWorkflow({ name: "my-workflow" });
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## API Reference
|
|
17
|
-
|
|
18
|
-
### Constructor
|
|
19
|
-
|
|
20
|
-
<PropertiesTable
|
|
21
|
-
content={[
|
|
22
|
-
{
|
|
23
|
-
name: "name",
|
|
24
|
-
type: "string",
|
|
25
|
-
description: "Identifier for the workflow",
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "logger",
|
|
29
|
-
type: "Logger<WorkflowLogMessage>",
|
|
30
|
-
isOptional: true,
|
|
31
|
-
description: "Optional logger instance for workflow execution details",
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
name: "steps",
|
|
35
|
-
type: "Step[]",
|
|
36
|
-
description: "Array of steps to include in the workflow",
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "triggerSchema",
|
|
40
|
-
type: "z.Schema",
|
|
41
|
-
description: "Optional schema for validating workflow trigger data",
|
|
42
|
-
},
|
|
43
|
-
]}
|
|
44
|
-
/>
|
|
45
|
-
|
|
46
|
-
### Core Methods
|
|
47
|
-
|
|
48
|
-
#### `step()`
|
|
49
|
-
|
|
50
|
-
Adds a [Step](./step-class) to the workflow, including transitions to other steps. Returns the workflow instance for chaining. [Learn more about steps](./step-class).
|
|
51
|
-
|
|
52
|
-
#### `commit()`
|
|
53
|
-
|
|
54
|
-
Validates and finalizes the workflow configuration. Must be called after adding all steps.
|
|
55
|
-
|
|
56
|
-
#### `execute()`
|
|
57
|
-
|
|
58
|
-
Executes the workflow with optional trigger data. Typed based on the [trigger schema](./workflow#trigger-schemas).
|
|
59
|
-
|
|
60
|
-
## Trigger Schemas
|
|
61
|
-
|
|
62
|
-
Trigger schemas validate the initial data passed to a workflow using Zod.
|
|
63
|
-
|
|
64
|
-
```ts showLineNumbers copy
|
|
65
|
-
const workflow = new LegacyWorkflow({
|
|
66
|
-
name: "order-process",
|
|
67
|
-
triggerSchema: z.object({
|
|
68
|
-
orderId: z.string(),
|
|
69
|
-
customer: z.object({
|
|
70
|
-
id: z.string(),
|
|
71
|
-
email: z.string().email(),
|
|
72
|
-
}),
|
|
73
|
-
}),
|
|
74
|
-
});
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
The schema:
|
|
78
|
-
|
|
79
|
-
- Validates data passed to `execute()`
|
|
80
|
-
- Provides TypeScript types for your workflow input
|
|
81
|
-
|
|
82
|
-
## Validation
|
|
83
|
-
|
|
84
|
-
Workflow validation happens at two key times:
|
|
85
|
-
|
|
86
|
-
### 1. At Commit Time
|
|
87
|
-
|
|
88
|
-
When you call `.commit()`, the workflow validates:
|
|
89
|
-
|
|
90
|
-
```ts showLineNumbers copy
|
|
91
|
-
workflow
|
|
92
|
-
.step('step1', {...})
|
|
93
|
-
.step('step2', {...})
|
|
94
|
-
.commit(); // Validates workflow structure
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
- Circular dependencies between steps
|
|
98
|
-
- Terminal paths (every path must end)
|
|
99
|
-
- Unreachable steps
|
|
100
|
-
- Variable references to non-existent steps
|
|
101
|
-
- Duplicate step IDs
|
|
102
|
-
|
|
103
|
-
### 2. During Execution
|
|
104
|
-
|
|
105
|
-
When you call `start()`, it validates:
|
|
106
|
-
|
|
107
|
-
```ts showLineNumbers copy
|
|
108
|
-
const { runId, start } = workflow.createRun();
|
|
109
|
-
|
|
110
|
-
// Validates trigger data against schema
|
|
111
|
-
await start({
|
|
112
|
-
triggerData: {
|
|
113
|
-
orderId: "123",
|
|
114
|
-
customer: {
|
|
115
|
-
id: "cust_123",
|
|
116
|
-
email: "invalid-email", // Will fail validation
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
});
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
- Trigger data against trigger schema
|
|
123
|
-
- Each step's input data against its inputSchema
|
|
124
|
-
- Variable paths exist in referenced step outputs
|
|
125
|
-
- Required variables are present
|
|
126
|
-
|
|
127
|
-
## Workflow Status
|
|
128
|
-
|
|
129
|
-
A workflow's status indicates its current execution state. The possible values are:
|
|
130
|
-
|
|
131
|
-
<PropertiesTable
|
|
132
|
-
content={[
|
|
133
|
-
{
|
|
134
|
-
name: "CREATED",
|
|
135
|
-
type: "string",
|
|
136
|
-
description: "Workflow instance has been created but not started",
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
name: "RUNNING",
|
|
140
|
-
type: "string",
|
|
141
|
-
description: "Workflow is actively executing steps",
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
name: "SUSPENDED",
|
|
145
|
-
type: "string",
|
|
146
|
-
description: "Workflow execution is paused waiting for resume",
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
name: "COMPLETED",
|
|
150
|
-
type: "string",
|
|
151
|
-
description: "All steps finished executing successfully",
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
name: "FAILED",
|
|
155
|
-
type: "string",
|
|
156
|
-
description: "Workflow encountered an error during execution",
|
|
157
|
-
},
|
|
158
|
-
]}
|
|
159
|
-
/>
|
|
160
|
-
|
|
161
|
-
### Example: Handling Different Statuses
|
|
162
|
-
|
|
163
|
-
```typescript showLineNumbers copy
|
|
164
|
-
const { runId, start, watch } = workflow.createRun();
|
|
165
|
-
|
|
166
|
-
watch(async ({ status }) => {
|
|
167
|
-
switch (status) {
|
|
168
|
-
case "SUSPENDED":
|
|
169
|
-
// Handle suspended state
|
|
170
|
-
break;
|
|
171
|
-
case "COMPLETED":
|
|
172
|
-
// Process results
|
|
173
|
-
break;
|
|
174
|
-
case "FAILED":
|
|
175
|
-
// Handle error state
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
await start({ triggerData: data });
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## Error Handling
|
|
184
|
-
|
|
185
|
-
```ts showLineNumbers copy
|
|
186
|
-
try {
|
|
187
|
-
const { runId, start, watch, resume } = workflow.createRun();
|
|
188
|
-
await start({ triggerData: data });
|
|
189
|
-
} catch (error) {
|
|
190
|
-
if (error instanceof ValidationError) {
|
|
191
|
-
// Handle validation errors
|
|
192
|
-
console.log(error.type); // 'circular_dependency' | 'no_terminal_path' | 'unreachable_step'
|
|
193
|
-
console.log(error.details); // { stepId?: string, path?: string[] }
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
## Passing Context Between Steps
|
|
199
|
-
|
|
200
|
-
Steps can access data from previous steps in the workflow through the context object. Each step receives the accumulated context from all previous steps that have executed.
|
|
201
|
-
|
|
202
|
-
```typescript showLineNumbers copy
|
|
203
|
-
workflow
|
|
204
|
-
.step({
|
|
205
|
-
id: "getData",
|
|
206
|
-
execute: async ({ context }) => {
|
|
207
|
-
return {
|
|
208
|
-
data: { id: "123", value: "example" },
|
|
209
|
-
};
|
|
210
|
-
},
|
|
211
|
-
})
|
|
212
|
-
.step({
|
|
213
|
-
id: "processData",
|
|
214
|
-
execute: async ({ context }) => {
|
|
215
|
-
// Access data from previous step through context.steps
|
|
216
|
-
const previousData = context.steps.getData.output.data;
|
|
217
|
-
// Process previousData.id and previousData.value
|
|
218
|
-
},
|
|
219
|
-
});
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
The context object:
|
|
223
|
-
|
|
224
|
-
- Contains results from all completed steps in `context.steps`
|
|
225
|
-
- Provides access to step outputs through `context.steps.[stepId].output`
|
|
226
|
-
- Is typed based on step output schemas
|
|
227
|
-
- Is immutable to ensure data consistency
|
|
228
|
-
|
|
229
|
-
## Related Documentation
|
|
230
|
-
|
|
231
|
-
- [Step](./step-class)
|
|
232
|
-
- [.then()](./then)
|
|
233
|
-
- [.step()](./step-function)
|
|
234
|
-
- [.after()](./after)
|