@mastra/mcp-docs-server 1.0.0-beta.1 → 1.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +1 -15
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -7
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -55
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +276 -76
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +200 -0
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +392 -192
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +200 -0
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +263 -63
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Freact.md +154 -1
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +274 -74
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
- package/.docs/organized/changelogs/create-mastra.md +201 -1
- package/.docs/organized/changelogs/mastra.md +201 -1
- package/.docs/organized/code-examples/agui.md +1 -0
- package/.docs/organized/code-examples/ai-elements.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -2
- package/.docs/organized/code-examples/assistant-ui.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +2 -2
- package/.docs/organized/code-examples/client-side-tools.md +1 -1
- package/.docs/organized/code-examples/crypto-chatbot.md +2 -2
- package/.docs/organized/code-examples/fireworks-r1.md +1 -1
- package/.docs/organized/code-examples/heads-up-game.md +1 -1
- package/.docs/organized/code-examples/mcp-configuration.md +0 -3
- package/.docs/organized/code-examples/mcp-server-adapters.md +720 -0
- package/.docs/organized/code-examples/memory-per-resource-example.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +1 -1
- package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
- package/.docs/organized/code-examples/quick-start.md +2 -2
- package/.docs/organized/code-examples/server-app-access.md +342 -0
- package/.docs/organized/code-examples/server-express-adapter.md +87 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
- package/.docs/organized/code-examples/stock-price-tool.md +1 -21
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +56 -10
- package/.docs/raw/agents/agent-approval.mdx +189 -0
- package/.docs/raw/agents/agent-memory.mdx +1 -1
- package/.docs/raw/agents/guardrails.mdx +70 -30
- package/.docs/raw/agents/networks.mdx +3 -3
- package/.docs/raw/agents/overview.mdx +18 -167
- package/.docs/raw/agents/processors.mdx +430 -0
- package/.docs/raw/agents/structured-output.mdx +224 -0
- package/.docs/raw/agents/using-tools.mdx +14 -14
- package/.docs/raw/auth/auth0.mdx +1 -1
- package/.docs/raw/auth/clerk.mdx +1 -1
- package/.docs/raw/auth/firebase.mdx +1 -1
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +1 -1
- package/.docs/raw/auth/supabase.mdx +1 -1
- package/.docs/raw/auth/workos.mdx +1 -1
- package/.docs/raw/community/contributing-templates.mdx +1 -1
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
- package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
- package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
- package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
- package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
- package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +2 -2
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +2 -2
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +1 -1
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +2 -2
- package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +45 -14
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +1 -1
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
- package/.docs/raw/deployment/monorepo.mdx +3 -3
- package/.docs/raw/deployment/overview.mdx +7 -7
- package/.docs/raw/deployment/web-framework.mdx +6 -6
- package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
- package/.docs/raw/evals/custom-scorers.mdx +4 -6
- package/.docs/raw/evals/overview.mdx +5 -6
- package/.docs/raw/evals/running-in-ci.mdx +2 -4
- package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +6 -80
- package/.docs/raw/getting-started/mcp-docs-server.mdx +63 -6
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +72 -0
- package/.docs/raw/getting-started/studio.mdx +32 -7
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
- package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +71 -19
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +24 -26
- package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
- package/.docs/raw/guides/{quickstarts/nextjs.mdx → getting-started/next-js.mdx} +26 -25
- package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +24 -26
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +7 -7
- package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
- package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +2 -2
- package/.docs/raw/guides/guide/research-assistant.mdx +7 -8
- package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
- package/.docs/raw/guides/guide/web-search.mdx +12 -10
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
- package/.docs/raw/guides/index.mdx +3 -35
- package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +121 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +27 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +25 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +68 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +174 -1
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
- package/.docs/raw/index.mdx +3 -3
- package/.docs/raw/mcp/overview.mdx +358 -0
- package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
- package/.docs/raw/memory/conversation-history.mdx +1 -1
- package/.docs/raw/memory/memory-processors.mdx +265 -80
- package/.docs/raw/memory/overview.mdx +2 -2
- package/.docs/raw/memory/semantic-recall.mdx +9 -9
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +3 -8
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
- package/.docs/raw/memory/storage/memory-with-pg.mdx +3 -8
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +3 -8
- package/.docs/raw/memory/threads-and-resources.mdx +4 -4
- package/.docs/raw/memory/working-memory.mdx +16 -8
- package/.docs/raw/{logging.mdx → observability/logging.mdx} +7 -7
- package/.docs/raw/observability/overview.mdx +3 -4
- package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
- package/.docs/raw/observability/tracing/exporters/arize.mdx +37 -1
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +20 -1
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +2 -2
- package/.docs/raw/observability/tracing/exporters/default.mdx +1 -1
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +84 -1
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +13 -1
- package/.docs/raw/observability/tracing/exporters/otel.mdx +123 -25
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
- package/.docs/raw/observability/tracing/overview.mdx +80 -9
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +1 -2
- package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
- package/.docs/raw/rag/overview.mdx +4 -3
- package/.docs/raw/rag/retrieval.mdx +44 -39
- package/.docs/raw/rag/vector-databases.mdx +94 -3
- package/.docs/raw/reference/agents/agent.mdx +19 -16
- package/.docs/raw/reference/agents/generate.mdx +67 -99
- package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
- package/.docs/raw/reference/agents/getLLM.mdx +2 -2
- package/.docs/raw/reference/agents/getMemory.mdx +1 -1
- package/.docs/raw/reference/agents/getModel.mdx +1 -1
- package/.docs/raw/reference/agents/getTools.mdx +69 -0
- package/.docs/raw/reference/agents/getVoice.mdx +1 -1
- package/.docs/raw/reference/agents/listAgents.mdx +1 -1
- package/.docs/raw/reference/agents/listScorers.mdx +1 -1
- package/.docs/raw/reference/agents/listTools.mdx +2 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/agents/network.mdx +33 -72
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
- package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
- package/.docs/raw/reference/auth/auth0.mdx +1 -1
- package/.docs/raw/reference/auth/clerk.mdx +1 -1
- package/.docs/raw/reference/auth/firebase.mdx +1 -1
- package/.docs/raw/reference/auth/jwt.mdx +1 -1
- package/.docs/raw/reference/auth/supabase.mdx +1 -1
- package/.docs/raw/reference/auth/workos.mdx +1 -1
- package/.docs/raw/reference/cli/create-mastra.mdx +1 -1
- package/.docs/raw/reference/cli/mastra.mdx +19 -6
- package/.docs/raw/reference/client-js/agents.mdx +252 -68
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +4 -4
- package/.docs/raw/reference/client-js/memory.mdx +48 -2
- package/.docs/raw/reference/client-js/observability.mdx +1 -1
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +93 -64
- package/.docs/raw/reference/core/addGateway.mdx +59 -0
- 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 +1 -1
- package/.docs/raw/reference/core/getGateway.mdx +59 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
- package/.docs/raw/reference/core/getLogger.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServer.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServerById.mdx +2 -2
- package/.docs/raw/reference/core/getMemory.mdx +73 -0
- package/.docs/raw/reference/core/getScorer.mdx +1 -1
- package/.docs/raw/reference/core/getScorerById.mdx +1 -1
- package/.docs/raw/reference/core/getServer.mdx +3 -3
- package/.docs/raw/reference/core/getStorage.mdx +1 -1
- package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
- package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
- package/.docs/raw/reference/core/getVector.mdx +1 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listGateways.mdx +53 -0
- 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 +2 -2
- package/.docs/raw/reference/core/listMemory.mdx +70 -0
- package/.docs/raw/reference/core/listScorers.mdx +1 -1
- package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/mastra-class.mdx +17 -1
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
- package/.docs/raw/reference/core/setLogger.mdx +2 -2
- package/.docs/raw/reference/core/setStorage.mdx +1 -1
- package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
- package/.docs/raw/reference/deployer/deployer.mdx +1 -1
- package/.docs/raw/reference/deployer/netlify.mdx +2 -3
- package/.docs/raw/reference/deployer/vercel.mdx +1 -1
- package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
- package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
- package/.docs/raw/reference/evals/bias.mdx +30 -88
- package/.docs/raw/reference/evals/completeness.mdx +32 -91
- package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
- package/.docs/raw/reference/evals/context-precision.mdx +29 -131
- package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
- package/.docs/raw/reference/evals/create-scorer.mdx +1 -1
- package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
- package/.docs/raw/reference/evals/hallucination.mdx +29 -104
- package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
- package/.docs/raw/reference/evals/mastra-scorer.mdx +1 -1
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
- package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
- package/.docs/raw/reference/evals/run-evals.mdx +1 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
- package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
- package/.docs/raw/reference/evals/toxicity.mdx +30 -93
- package/.docs/raw/reference/index.mdx +1 -0
- package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +1 -1
- package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
- package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
- package/.docs/raw/reference/memory/memory-class.mdx +6 -8
- package/.docs/raw/reference/memory/query.mdx +1 -1
- package/.docs/raw/reference/memory/recall.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +1 -5
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +30 -1
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +1 -5
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +30 -5
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/spans.mdx +1 -5
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
- package/.docs/raw/reference/processors/language-detector.mdx +11 -4
- package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
- package/.docs/raw/reference/processors/moderation-processor.mdx +13 -6
- package/.docs/raw/reference/processors/pii-detector.mdx +13 -6
- package/.docs/raw/reference/processors/processor-interface.mdx +803 -0
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +11 -4
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +4 -5
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +3 -3
- package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
- package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
- package/.docs/raw/reference/rag/chunk.mdx +1 -1
- package/.docs/raw/reference/rag/database-config.mdx +1 -1
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +6 -6
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +1 -1
- package/.docs/raw/reference/rag/rerank.mdx +2 -3
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
- package/.docs/raw/reference/server/create-route.mdx +328 -0
- package/.docs/raw/reference/server/express-adapter.mdx +260 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
- package/.docs/raw/reference/server/mastra-server.mdx +345 -0
- package/.docs/raw/reference/server/routes.mdx +250 -0
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +38 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/convex.mdx +164 -0
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +34 -1
- package/.docs/raw/reference/storage/libsql.mdx +38 -1
- package/.docs/raw/reference/storage/mongodb.mdx +40 -1
- package/.docs/raw/reference/storage/mssql.mdx +38 -1
- package/.docs/raw/reference/storage/postgresql.mdx +38 -1
- package/.docs/raw/reference/storage/upstash.mdx +1 -1
- package/.docs/raw/reference/streaming/ChunkType.mdx +25 -4
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +84 -124
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
- package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
- package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
- package/.docs/raw/reference/templates/overview.mdx +2 -5
- package/.docs/raw/reference/tools/client.mdx +2 -3
- package/.docs/raw/reference/tools/create-tool.mdx +135 -4
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
- package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
- package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
- package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +82 -2
- package/.docs/raw/reference/vectors/convex.mdx +429 -0
- package/.docs/raw/reference/vectors/couchbase.mdx +25 -18
- package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
- package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
- package/.docs/raw/reference/vectors/lance.mdx +39 -23
- package/.docs/raw/reference/vectors/libsql.mdx +36 -3
- package/.docs/raw/reference/vectors/mongodb.mdx +36 -3
- package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
- package/.docs/raw/reference/vectors/pg.mdx +44 -37
- package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
- package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
- package/.docs/raw/reference/vectors/s3vectors.mdx +1 -1
- package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
- package/.docs/raw/reference/vectors/upstash.mdx +1 -1
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +96 -81
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
- package/.docs/raw/reference/voice/google.mdx +160 -21
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +3 -3
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -4
- package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
- package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
- package/.docs/raw/reference/voice/voice.close.mdx +2 -2
- package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
- package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
- package/.docs/raw/reference/voice/voice.off.mdx +2 -2
- package/.docs/raw/reference/voice/voice.on.mdx +2 -2
- package/.docs/raw/reference/voice/voice.send.mdx +2 -2
- package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
- package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
- package/.docs/raw/reference/workflows/run.mdx +28 -6
- package/.docs/raw/reference/workflows/step.mdx +65 -1
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
- 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 +69 -4
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
- 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 +44 -2
- package/.docs/raw/server-db/custom-adapters.mdx +386 -0
- package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
- package/.docs/raw/server-db/mastra-client.mdx +3 -4
- package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +22 -12
- package/.docs/raw/server-db/middleware.mdx +31 -31
- package/.docs/raw/server-db/request-context.mdx +3 -4
- package/.docs/raw/server-db/server-adapters.mdx +312 -0
- package/.docs/raw/server-db/storage.mdx +12 -1
- package/.docs/raw/streaming/events.mdx +1 -1
- package/.docs/raw/streaming/overview.mdx +27 -16
- package/.docs/raw/streaming/tool-streaming.mdx +58 -19
- package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
- package/.docs/raw/tools-mcp/mcp-overview.mdx +4 -6
- package/.docs/raw/tools-mcp/overview.mdx +1 -1
- package/.docs/raw/voice/overview.mdx +88 -41
- package/.docs/raw/voice/speech-to-speech.mdx +5 -5
- package/.docs/raw/voice/speech-to-text.mdx +2 -3
- package/.docs/raw/voice/text-to-speech.mdx +2 -3
- package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
- package/.docs/raw/workflows/control-flow.mdx +534 -3
- package/.docs/raw/workflows/error-handling.mdx +5 -4
- package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
- package/.docs/raw/workflows/inngest-workflow.mdx +1 -1
- package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
- package/.docs/raw/workflows/overview.mdx +67 -47
- package/.docs/raw/workflows/snapshots.mdx +5 -3
- package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
- package/.docs/raw/workflows/time-travel.mdx +313 -0
- package/.docs/raw/workflows/workflow-state.mdx +190 -0
- package/CHANGELOG.md +88 -0
- package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
- package/dist/prepare-docs/package-changes.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/stdio.js +17 -19
- package/package.json +10 -14
- package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
- package/.docs/raw/getting-started/templates.mdx +0 -73
- package/.docs/raw/mastra-cloud/observability.mdx +0 -51
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: Run.timeTravel() | Workflows"
|
|
3
|
+
description: Documentation for the `Run.timeTravel()` method in workflows, which re-executes a workflow from a specific step.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Run.timeTravel()
|
|
7
|
+
|
|
8
|
+
The `.timeTravel()` method re-executes a workflow starting from any specific step, using either stored snapshot data or custom context you provide. This is useful for debugging failed workflows, testing individual steps with different inputs, or recovering from errors without re-running the entire workflow.
|
|
9
|
+
|
|
10
|
+
## Usage example
|
|
11
|
+
|
|
12
|
+
```typescript showLineNumbers copy
|
|
13
|
+
const run = await workflow.createRun();
|
|
14
|
+
|
|
15
|
+
const result = await run.timeTravel({
|
|
16
|
+
step: "step2",
|
|
17
|
+
inputData: { value: 10 },
|
|
18
|
+
});
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Parameters
|
|
22
|
+
|
|
23
|
+
<PropertiesTable
|
|
24
|
+
content={[
|
|
25
|
+
{
|
|
26
|
+
name: "step",
|
|
27
|
+
type: "Step<string, any, TInputSchema, any, any, any, TEngineType> | [...Step<string, any, any, any, any, any, TEngineType>[], Step<string, any, TInputSchema, any, any, any, TEngineType>] | string | string[]",
|
|
28
|
+
description:
|
|
29
|
+
"The target step to start execution from. It can be a Step instance, array of Steps (for nested workflows), step ID string, or array of step ID strings. Use dot notation or arrays for nested workflow steps (e.g., 'nestedWorkflow.step3' or ['nestedWorkflow', 'step3'])",
|
|
30
|
+
isOptional: false,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: "inputData",
|
|
34
|
+
type: "z.infer<TInputSchema>",
|
|
35
|
+
description: "Input data for the target step. Must match the step's input schema. If not provided, uses data from the workflow snapshot",
|
|
36
|
+
isOptional: true,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "resumeData",
|
|
40
|
+
type: "any",
|
|
41
|
+
description: "Resume data to provide if the workflow was previously suspended",
|
|
42
|
+
isOptional: true,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "initialState",
|
|
46
|
+
type: "z.infer<TState>",
|
|
47
|
+
description: "Initial state to set for the workflow run. Used to set workflow-level state before execution",
|
|
48
|
+
isOptional: true,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "context",
|
|
52
|
+
type: "TimeTravelContext<any, any, any, any>",
|
|
53
|
+
description:
|
|
54
|
+
"Execution context containing step results for steps before the target step. Each key is a step ID with a StepResult object containing status, payload, output, startedAt, endedAt, suspendPayload, and resumePayload",
|
|
55
|
+
isOptional: true,
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "nestedStepsContext",
|
|
59
|
+
type: "Record<string, TimeTravelContext<any, any, any, any>>",
|
|
60
|
+
description:
|
|
61
|
+
"Context for nested workflow steps. Keyed by nested workflow ID, each containing step results for that nested workflow",
|
|
62
|
+
isOptional: true,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "requestContext",
|
|
66
|
+
type: "RequestContext",
|
|
67
|
+
description: "Request Context data to use during time travel execution",
|
|
68
|
+
isOptional: true,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: "outputWriter",
|
|
72
|
+
type: "(chunk: TOutput) => Promise<void>",
|
|
73
|
+
description: "Optional asynchronous function to handle output chunks as they are produced",
|
|
74
|
+
isOptional: true,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "tracingContext",
|
|
78
|
+
type: "TracingContext",
|
|
79
|
+
isOptional: true,
|
|
80
|
+
description:
|
|
81
|
+
"Tracing context for creating child spans and adding metadata. Automatically injected when using Mastra's tracing system.",
|
|
82
|
+
properties: [
|
|
83
|
+
{
|
|
84
|
+
parameters: [
|
|
85
|
+
{
|
|
86
|
+
name: "currentSpan",
|
|
87
|
+
type: "Span",
|
|
88
|
+
isOptional: true,
|
|
89
|
+
description:
|
|
90
|
+
"Current span for creating child spans and adding metadata. Use this to create custom child spans or update span attributes during execution.",
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: "tracingOptions",
|
|
98
|
+
type: "TracingOptions",
|
|
99
|
+
isOptional: true,
|
|
100
|
+
description: "Options for Tracing configuration.",
|
|
101
|
+
properties: [
|
|
102
|
+
{
|
|
103
|
+
parameters: [
|
|
104
|
+
{
|
|
105
|
+
name: "metadata",
|
|
106
|
+
type: "Record<string, any>",
|
|
107
|
+
isOptional: true,
|
|
108
|
+
description:
|
|
109
|
+
"Metadata to add to the root trace span. Useful for adding custom attributes like user IDs, session IDs, or feature flags.",
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
parameters: [
|
|
115
|
+
{
|
|
116
|
+
name: "requestContextKeys",
|
|
117
|
+
type: "string[]",
|
|
118
|
+
isOptional: true,
|
|
119
|
+
description:
|
|
120
|
+
"Additional RequestContext keys to extract as metadata for this trace. Supports dot notation for nested values (e.g., 'user.id').",
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
parameters: [
|
|
126
|
+
{
|
|
127
|
+
name: "traceId",
|
|
128
|
+
type: "string",
|
|
129
|
+
isOptional: true,
|
|
130
|
+
description:
|
|
131
|
+
"Trace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.",
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
parameters: [
|
|
137
|
+
{
|
|
138
|
+
name: "parentSpanId",
|
|
139
|
+
type: "string",
|
|
140
|
+
isOptional: true,
|
|
141
|
+
description:
|
|
142
|
+
"Parent span ID to use for this execution (1-16 hexadecimal characters). If provided, the root span will be created as a child of this span.",
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
parameters: [
|
|
148
|
+
{
|
|
149
|
+
name: "tags",
|
|
150
|
+
type: "string[]",
|
|
151
|
+
isOptional: true,
|
|
152
|
+
description:
|
|
153
|
+
"Tags to apply to this trace. String labels for categorizing and filtering traces.",
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: "outputOptions",
|
|
161
|
+
type: "OutputOptions",
|
|
162
|
+
isOptional: true,
|
|
163
|
+
description: "Options for output configuration.",
|
|
164
|
+
properties: [
|
|
165
|
+
{
|
|
166
|
+
parameters: [
|
|
167
|
+
{
|
|
168
|
+
name: "includeState",
|
|
169
|
+
type: "boolean",
|
|
170
|
+
isOptional: true,
|
|
171
|
+
description:
|
|
172
|
+
"Whether to include the workflow run state in the result.",
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
parameters: [
|
|
178
|
+
{
|
|
179
|
+
name: "includeResumeLabels",
|
|
180
|
+
type: "boolean",
|
|
181
|
+
isOptional: true,
|
|
182
|
+
description:
|
|
183
|
+
"Whether to include resume labels in the result.",
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
},
|
|
189
|
+
]}
|
|
190
|
+
/>
|
|
191
|
+
|
|
192
|
+
## Returns
|
|
193
|
+
|
|
194
|
+
<PropertiesTable
|
|
195
|
+
content={[
|
|
196
|
+
{
|
|
197
|
+
name: "result",
|
|
198
|
+
type: "Promise<WorkflowResult<TState, TInput, TOutput, TSteps>>",
|
|
199
|
+
description:
|
|
200
|
+
"A promise that resolves to the workflow execution result containing step outputs and status",
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
name: "traceId",
|
|
204
|
+
type: "string",
|
|
205
|
+
isOptional: true,
|
|
206
|
+
description:
|
|
207
|
+
"The trace ID associated with this execution when Tracing is enabled. Use this to correlate logs and debug execution flow.",
|
|
208
|
+
},
|
|
209
|
+
]}
|
|
210
|
+
/>
|
|
211
|
+
|
|
212
|
+
## Extended usage examples
|
|
213
|
+
|
|
214
|
+
### Time travel with custom context
|
|
215
|
+
|
|
216
|
+
```typescript showLineNumbers copy
|
|
217
|
+
const result = await run.timeTravel({
|
|
218
|
+
step: "step2",
|
|
219
|
+
context: {
|
|
220
|
+
step1: {
|
|
221
|
+
status: "success",
|
|
222
|
+
payload: { value: 0 },
|
|
223
|
+
output: { step1Result: 2 },
|
|
224
|
+
startedAt: Date.now(),
|
|
225
|
+
endedAt: Date.now(),
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Time travel to nested workflow step
|
|
232
|
+
|
|
233
|
+
```typescript showLineNumbers copy
|
|
234
|
+
// Using dot notation
|
|
235
|
+
const result = await run.timeTravel({
|
|
236
|
+
step: "nestedWorkflow.step3",
|
|
237
|
+
inputData: { value: 10 },
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
// Using array of step IDs
|
|
241
|
+
const result = await run.timeTravel({
|
|
242
|
+
step: ["nestedWorkflow", "step3"],
|
|
243
|
+
inputData: { value: 10 },
|
|
244
|
+
});
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Time travel with initial state
|
|
248
|
+
|
|
249
|
+
```typescript showLineNumbers copy
|
|
250
|
+
const result = await run.timeTravel({
|
|
251
|
+
step: "step2",
|
|
252
|
+
inputData: { value: 10 },
|
|
253
|
+
initialState: {
|
|
254
|
+
counter: 5,
|
|
255
|
+
metadata: { source: "time-travel" },
|
|
256
|
+
},
|
|
257
|
+
});
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Time travel with nested workflows context
|
|
261
|
+
|
|
262
|
+
```typescript showLineNumbers copy
|
|
263
|
+
const result = await run.timeTravel({
|
|
264
|
+
step: "nestedWorkflow.step3",
|
|
265
|
+
context: {
|
|
266
|
+
step1: {
|
|
267
|
+
status: "success",
|
|
268
|
+
payload: { value: 0 },
|
|
269
|
+
output: { step1Result: 2 },
|
|
270
|
+
startedAt: Date.now(),
|
|
271
|
+
endedAt: Date.now(),
|
|
272
|
+
},
|
|
273
|
+
nestedWorkflow: {
|
|
274
|
+
status: "running",
|
|
275
|
+
payload: { step1Result: 2 },
|
|
276
|
+
startedAt: Date.now(),
|
|
277
|
+
},
|
|
278
|
+
},
|
|
279
|
+
nestedStepsContext: {
|
|
280
|
+
nestedWorkflow: {
|
|
281
|
+
step2: {
|
|
282
|
+
status: "success",
|
|
283
|
+
payload: { step1Result: 2 },
|
|
284
|
+
output: { step2Result: 3 },
|
|
285
|
+
startedAt: Date.now(),
|
|
286
|
+
endedAt: Date.now(),
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
});
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## Notes
|
|
294
|
+
|
|
295
|
+
- Time travel requires storage to be configured since it relies on persisted workflow snapshots
|
|
296
|
+
- When re-executing a workflow, the workflow loads the existing snapshot from storage (if available)
|
|
297
|
+
- Step results before the target step are reconstructed from the snapshot or provided context
|
|
298
|
+
- Execution begins from the specified step with the provided or reconstructed input data
|
|
299
|
+
- The workflow continues to completion from that point forward
|
|
300
|
+
- Time travel can be used on workflows that have not been run yet by providing custom context or input data for the step to start from.
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
## Related
|
|
304
|
+
|
|
305
|
+
- [Time Travel](/docs/v1/workflows/time-travel)
|
|
306
|
+
- [Workflows overview](/docs/v1/workflows/overview#running-workflows)
|
|
307
|
+
- [Workflow.createRun()](../workflow-methods/create-run)
|
|
308
|
+
- [Snapshots](/docs/v1/workflows/snapshots)
|
|
309
|
+
- [Suspend & Resume](/docs/v1/workflows/suspend-and-resume)
|
|
310
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Run Class | Workflows
|
|
2
|
+
title: "Reference: Run Class | Workflows"
|
|
3
3
|
description: Documentation for the Run class in Mastra, which represents a workflow execution instance.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -41,14 +41,14 @@ if (result.status === "suspended") {
|
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
name: "stream",
|
|
44
|
-
type: "(options?: StreamOptions) =>
|
|
45
|
-
description: "Monitors workflow execution as a stream of events",
|
|
44
|
+
type: "(options?: StreamOptions) => MastraWorkflowStream",
|
|
45
|
+
description: "Monitors workflow execution as a stream of events with enhanced streaming features",
|
|
46
46
|
required: true,
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
|
-
name: "
|
|
50
|
-
type: "(options?:
|
|
51
|
-
description: "
|
|
49
|
+
name: "resumeStream",
|
|
50
|
+
type: "(options?: ResumeStreamOptions) => MastraWorkflowStream",
|
|
51
|
+
description: "Resumes a suspended workflow with streaming support",
|
|
52
52
|
required: true,
|
|
53
53
|
},
|
|
54
54
|
{
|
|
@@ -57,6 +57,24 @@ if (result.status === "suspended") {
|
|
|
57
57
|
description: "Cancels the workflow execution",
|
|
58
58
|
required: true,
|
|
59
59
|
},
|
|
60
|
+
{
|
|
61
|
+
name: "restart",
|
|
62
|
+
type: "(options?: RestartOptions) => Promise<WorkflowResult>",
|
|
63
|
+
description: "Restarts the workflow execution from last active step",
|
|
64
|
+
required: true,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "timeTravel",
|
|
68
|
+
type: "(options?: TimeTravelOptions) => Promise<WorkflowResult>",
|
|
69
|
+
description: "Re-executes a workflow starting from any specific step, using either stored snapshot data or custom context you provide.",
|
|
70
|
+
required: true,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "timeTravelStream",
|
|
74
|
+
type: "(options?: TimeTravelOptions) => MastraWorkflowStream",
|
|
75
|
+
description: "Time travels a workflow execution with streaming support",
|
|
76
|
+
required: true,
|
|
77
|
+
},
|
|
60
78
|
]}
|
|
61
79
|
/>
|
|
62
80
|
|
|
@@ -92,3 +110,7 @@ A workflow run's `status` indicates its current execution state. The possible va
|
|
|
92
110
|
- [Run.start()](./run-methods/start)
|
|
93
111
|
- [Run.resume()](./run-methods/resume)
|
|
94
112
|
- [Run.cancel()](./run-methods/cancel)
|
|
113
|
+
- [Run.restart()](./run-methods/restart)
|
|
114
|
+
- [Run.timeTravel()](./run-methods/timeTravel)
|
|
115
|
+
- [Run.stream()](/docs/v1/streaming/workflow-streaming)
|
|
116
|
+
- [Run.timeTravelStream()](../streaming/workflows/timeTravelStream)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Step Class | Workflows
|
|
2
|
+
title: "Reference: Step Class | Workflows"
|
|
3
3
|
description: Documentation for the Step class in Mastra, which defines individual units of work within a workflow.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -32,6 +32,57 @@ const step1 = createStep({
|
|
|
32
32
|
});
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
+
## Creating steps from agents
|
|
36
|
+
|
|
37
|
+
You can create a step directly from an agent. The step will use the agent's name as its ID.
|
|
38
|
+
|
|
39
|
+
### Basic agent step
|
|
40
|
+
|
|
41
|
+
```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
42
|
+
import { testAgent } from "../agents/test-agent";
|
|
43
|
+
|
|
44
|
+
const agentStep = createStep(testAgent);
|
|
45
|
+
// inputSchema: { prompt: string }
|
|
46
|
+
// outputSchema: { text: string }
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Agent step with structured output
|
|
50
|
+
|
|
51
|
+
Pass `structuredOutput` to have the agent return typed structured data:
|
|
52
|
+
|
|
53
|
+
```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
54
|
+
const articleSchema = z.object({
|
|
55
|
+
title: z.string(),
|
|
56
|
+
summary: z.string(),
|
|
57
|
+
tags: z.array(z.string()),
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
const agentStep = createStep(testAgent, {
|
|
61
|
+
structuredOutput: { schema: articleSchema },
|
|
62
|
+
});
|
|
63
|
+
// inputSchema: { prompt: string }
|
|
64
|
+
// outputSchema: { title: string, summary: string, tags: string[] }
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Agent step options
|
|
68
|
+
|
|
69
|
+
<PropertiesTable
|
|
70
|
+
content={[
|
|
71
|
+
{
|
|
72
|
+
name: "structuredOutput",
|
|
73
|
+
type: "{ schema: z.ZodType<any> }",
|
|
74
|
+
description: "When provided, the agent returns structured data matching this schema instead of plain text. The step's outputSchema is set to the provided schema.",
|
|
75
|
+
required: false,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "onFinish",
|
|
79
|
+
type: "(result: AgentResult) => void",
|
|
80
|
+
description: "Callback invoked when the agent completes generation.",
|
|
81
|
+
required: false,
|
|
82
|
+
},
|
|
83
|
+
]}
|
|
84
|
+
/>
|
|
85
|
+
|
|
35
86
|
## Constructor Parameters
|
|
36
87
|
|
|
37
88
|
<PropertiesTable
|
|
@@ -103,6 +154,12 @@ const step1 = createStep({
|
|
|
103
154
|
description:
|
|
104
155
|
"The resume data matching the resumeSchema, when resuming the step from a suspended state. Only exists if the step is being resumed.",
|
|
105
156
|
},
|
|
157
|
+
{
|
|
158
|
+
name: "suspendData",
|
|
159
|
+
type: "z.infer<TSuspendSchema>",
|
|
160
|
+
description:
|
|
161
|
+
"The suspend data that was originally passed to suspend() when the step was suspended. Only exists if the step is being resumed and was previously suspended with data.",
|
|
162
|
+
},
|
|
106
163
|
{
|
|
107
164
|
name: "mastra",
|
|
108
165
|
type: "Mastra",
|
|
@@ -124,6 +181,12 @@ const step1 = createStep({
|
|
|
124
181
|
type: "(suspendPayload: any, suspendOptions?: { resumeLabel?: string }) => Promise<void>",
|
|
125
182
|
description: "Function to pause workflow execution",
|
|
126
183
|
},
|
|
184
|
+
{
|
|
185
|
+
name: "state",
|
|
186
|
+
type: "z.infer<TState>",
|
|
187
|
+
description:
|
|
188
|
+
"The current workflow state. Contains shared values that persist across all steps and suspend/resume cycles. The structure is defined by the step's stateSchema.",
|
|
189
|
+
},
|
|
127
190
|
{
|
|
128
191
|
name: "setState",
|
|
129
192
|
type: "(state: z.infer<TState>) => void",
|
|
@@ -154,5 +217,6 @@ const step1 = createStep({
|
|
|
154
217
|
|
|
155
218
|
## Related
|
|
156
219
|
|
|
220
|
+
- [Workflow state](/docs/v1/workflows/workflow-state)
|
|
157
221
|
- [Control flow](/docs/v1/workflows/control-flow)
|
|
158
222
|
- [Using agents and tools](/docs/v1/workflows/agents-and-tools)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Workflow.dountil() | Workflows
|
|
2
|
+
title: "Reference: Workflow.dountil() | Workflows"
|
|
3
3
|
description: Documentation for the `Workflow.dountil()` method in workflows, which creates a loop that executes a step until a condition is met.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Workflow.dowhile() | Workflows
|
|
2
|
+
title: "Reference: Workflow.dowhile() | Workflows"
|
|
3
3
|
description: Documentation for the `Workflow.dowhile()` method in workflows, which creates a loop that executes a step while a condition is met.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Workflow.foreach() | Workflows
|
|
2
|
+
title: "Reference: Workflow.foreach() | Workflows"
|
|
3
3
|
description: Documentation for the `Workflow.foreach()` method in workflows, which creates a loop that executes a step for each item in an array.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Workflow.foreach()
|
|
7
7
|
|
|
8
|
-
The `.foreach()` method creates a loop that executes a step for each item in an array.
|
|
8
|
+
The `.foreach()` method creates a loop that executes a step for each item in an array. It always returns an array containing the output from each iteration, preserving the original order.
|
|
9
9
|
|
|
10
10
|
## Usage example
|
|
11
11
|
|
|
@@ -50,11 +50,76 @@ workflow.foreach(step1, { concurrency: 2 });
|
|
|
50
50
|
{
|
|
51
51
|
name: "workflow",
|
|
52
52
|
type: "Workflow",
|
|
53
|
-
description: "The workflow instance for method chaining",
|
|
53
|
+
description: "The workflow instance for method chaining. The output type is an array of the step's output type.",
|
|
54
54
|
},
|
|
55
55
|
]}
|
|
56
56
|
/>
|
|
57
57
|
|
|
58
|
+
## Behavior
|
|
59
|
+
|
|
60
|
+
### Execution and waiting
|
|
61
|
+
|
|
62
|
+
The `.foreach()` method processes all items before the next step executes. The step following `.foreach()` only runs after every iteration has completed, regardless of concurrency settings. With `concurrency: 1` (default), items process sequentially. With higher concurrency, items process in parallel batches, but the next step still waits for all batches to finish.
|
|
63
|
+
|
|
64
|
+
If you need to run multiple operations per item, use a nested workflow as the step. This keeps all operations for each item together and is cleaner than chaining multiple `.foreach()` calls. See [Nested workflows inside foreach](/docs/v1/workflows/control-flow#nested-workflows-inside-foreach) for examples.
|
|
65
|
+
|
|
66
|
+
### Output structure
|
|
67
|
+
|
|
68
|
+
`.foreach()` always outputs an array. Each element in the output array corresponds to the result of processing the element at the same index in the input array.
|
|
69
|
+
|
|
70
|
+
```typescript copy
|
|
71
|
+
// Input: [{ value: 1 }, { value: 2 }, { value: 3 }]
|
|
72
|
+
// Step adds 10 to each value
|
|
73
|
+
// Output: [{ value: 11 }, { value: 12 }, { value: 13 }]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Using `.then()` after `.foreach()`
|
|
77
|
+
|
|
78
|
+
When you chain `.then()` after `.foreach()`, the next step receives the entire output array as its input. This allows you to aggregate or process all results together.
|
|
79
|
+
|
|
80
|
+
```typescript copy
|
|
81
|
+
workflow
|
|
82
|
+
.foreach(processItemStep) // Output: array of processed items
|
|
83
|
+
.then(aggregateStep) // Input: the entire array
|
|
84
|
+
.commit();
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Using `.map()` after `.foreach()`
|
|
88
|
+
|
|
89
|
+
Use `.map()` to transform the array output before passing it to the next step:
|
|
90
|
+
|
|
91
|
+
```typescript copy
|
|
92
|
+
workflow
|
|
93
|
+
.foreach(processItemStep)
|
|
94
|
+
.map(async ({ inputData }) => ({
|
|
95
|
+
total: inputData.reduce((sum, item) => sum + item.value, 0),
|
|
96
|
+
count: inputData.length
|
|
97
|
+
}))
|
|
98
|
+
.then(nextStep)
|
|
99
|
+
.commit();
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Chaining multiple `.foreach()` calls
|
|
103
|
+
|
|
104
|
+
When you chain `.foreach()` calls, each operates on the array from the previous step:
|
|
105
|
+
|
|
106
|
+
```typescript copy
|
|
107
|
+
workflow
|
|
108
|
+
.foreach(stepA) // If input is [a, b, c], output is [A, B, C]
|
|
109
|
+
.foreach(stepB) // Operates on [A, B, C], output is [A', B', C']
|
|
110
|
+
.commit();
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
If a step inside `.foreach()` returns an array, the output becomes an array of arrays. Use `.map()` with `.flat()` to flatten:
|
|
114
|
+
|
|
115
|
+
```typescript copy
|
|
116
|
+
workflow
|
|
117
|
+
.foreach(chunkStep) // Output: [[chunk1, chunk2], [chunk3, chunk4]]
|
|
118
|
+
.map(async ({ inputData }) => inputData.flat()) // Output: [chunk1, chunk2, chunk3, chunk4]
|
|
119
|
+
.foreach(embedStep)
|
|
120
|
+
.commit();
|
|
121
|
+
```
|
|
122
|
+
|
|
58
123
|
## Related
|
|
59
124
|
|
|
60
|
-
- [
|
|
125
|
+
- [Looping with foreach](/docs/v1/workflows/control-flow#looping-with-foreach)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Workflow.map() | Workflows
|
|
2
|
+
title: "Reference: Workflow.map() | Workflows"
|
|
3
3
|
description: Documentation for the `Workflow.map()` method in workflows, which maps output data from a previous step to the input of a subsequent step.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Workflow.waitForEvent() | Workflows
|
|
2
|
+
title: "Reference: Workflow.waitForEvent() | Workflows"
|
|
3
3
|
description: Documentation for the `Workflow.waitForEvent()` method in workflows, which pauses execution until an event is received.
|
|
4
4
|
---
|
|
5
5
|
|