@mastra/mcp-docs-server 1.0.0-beta.13 → 1.0.0-beta.15
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/%40mastra%2Fagent-builder.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +78 -78
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +173 -173
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +248 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +338 -338
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +33 -33
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +41 -41
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +10 -10
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +195 -195
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +139 -139
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +219 -219
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +219 -219
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +235 -235
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +102 -102
- package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Freact.md +77 -70
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +218 -218
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +195 -195
- package/.docs/organized/changelogs/create-mastra.md +13 -13
- package/.docs/organized/changelogs/mastra.md +56 -56
- package/.docs/organized/code-examples/agent-v6.md +210 -0
- package/.docs/organized/code-examples/ai-elements.md +1 -1
- package/.docs/organized/code-examples/client-side-tools.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +10 -6
- package/.docs/raw/agents/agent-approval.mdx +5 -6
- package/.docs/raw/agents/agent-memory.mdx +22 -30
- package/.docs/raw/agents/guardrails.mdx +60 -50
- package/.docs/raw/agents/networks.mdx +8 -12
- package/.docs/raw/agents/overview.mdx +39 -23
- package/.docs/raw/agents/processors.mdx +20 -19
- package/.docs/raw/agents/structured-output.mdx +11 -7
- package/.docs/raw/agents/using-tools.mdx +4 -5
- package/.docs/raw/deployment/mastra-server.mdx +3 -3
- package/.docs/raw/deployment/overview.mdx +7 -1
- package/.docs/raw/deployment/web-framework.mdx +4 -6
- package/.docs/raw/deployment/workflow-runners.mdx +14 -0
- package/.docs/raw/evals/custom-scorers.mdx +9 -6
- package/.docs/raw/evals/overview.mdx +3 -6
- package/.docs/raw/evals/running-in-ci.mdx +2 -2
- package/.docs/raw/getting-started/manual-install.mdx +20 -20
- package/.docs/raw/getting-started/mcp-docs-server.mdx +2 -2
- package/.docs/raw/getting-started/studio.mdx +1 -1
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +4 -4
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +30 -30
- package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +11 -11
- package/.docs/raw/guides/deployment/amazon-ec2.mdx +9 -9
- package/.docs/raw/guides/deployment/aws-lambda.mdx +11 -11
- package/.docs/raw/guides/deployment/azure-app-services.mdx +2 -2
- package/.docs/raw/guides/deployment/cloudflare-deployer.mdx +5 -6
- package/.docs/raw/guides/deployment/digital-ocean.mdx +10 -10
- package/.docs/raw/guides/deployment/index.mdx +1 -1
- package/.docs/raw/guides/deployment/inngest.mdx +444 -0
- package/.docs/raw/guides/deployment/netlify-deployer.mdx +4 -4
- package/.docs/raw/guides/deployment/vercel-deployer.mdx +5 -6
- package/.docs/raw/guides/getting-started/astro.mdx +292 -451
- package/.docs/raw/guides/getting-started/express.mdx +7 -7
- package/.docs/raw/guides/getting-started/hono.mdx +18 -18
- package/.docs/raw/guides/getting-started/next-js.mdx +19 -20
- package/.docs/raw/guides/getting-started/quickstart.mdx +4 -4
- package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
- package/.docs/raw/guides/getting-started/vite-react.mdx +21 -21
- package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
- package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
- package/.docs/raw/guides/guide/research-assistant.mdx +13 -13
- package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
- package/.docs/raw/guides/guide/web-search.mdx +8 -8
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +11 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +41 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +0 -2
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
- package/.docs/raw/index.mdx +2 -2
- package/.docs/raw/mastra-cloud/deployment.mdx +39 -0
- package/.docs/raw/mastra-cloud/observability.mdx +9 -15
- package/.docs/raw/mastra-cloud/overview.mdx +14 -44
- package/.docs/raw/mastra-cloud/setup.mdx +64 -0
- package/.docs/raw/mastra-cloud/studio.mdx +35 -0
- package/.docs/raw/mcp/overview.mdx +31 -13
- package/.docs/raw/mcp/publishing-mcp-server.mdx +2 -2
- package/.docs/raw/memory/memory-processors.mdx +9 -9
- package/.docs/raw/memory/message-history.mdx +69 -0
- package/.docs/raw/memory/overview.mdx +34 -76
- package/.docs/raw/memory/semantic-recall.mdx +58 -49
- package/.docs/raw/memory/storage.mdx +188 -0
- package/.docs/raw/memory/working-memory.mdx +7 -7
- package/.docs/raw/observability/logging.mdx +9 -10
- package/.docs/raw/observability/overview.mdx +0 -1
- package/.docs/raw/observability/tracing/bridges/otel.mdx +2 -2
- package/.docs/raw/observability/tracing/exporters/default.mdx +3 -3
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +1 -2
- package/.docs/raw/observability/tracing/overview.mdx +23 -25
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +3 -3
- package/.docs/raw/rag/chunking-and-embedding.mdx +6 -6
- package/.docs/raw/rag/graph-rag.mdx +7 -7
- package/.docs/raw/rag/overview.mdx +1 -1
- package/.docs/raw/rag/retrieval.mdx +21 -22
- package/.docs/raw/rag/vector-databases.mdx +22 -22
- package/.docs/raw/reference/agents/agent.mdx +3 -3
- package/.docs/raw/reference/agents/generate.mdx +1 -1
- package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +2 -2
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +2 -2
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +2 -2
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +2 -2
- package/.docs/raw/reference/agents/getLLM.mdx +2 -2
- package/.docs/raw/reference/agents/getMemory.mdx +2 -2
- package/.docs/raw/reference/agents/getModel.mdx +2 -2
- package/.docs/raw/reference/agents/getTools.mdx +2 -2
- package/.docs/raw/reference/agents/getVoice.mdx +2 -2
- package/.docs/raw/reference/agents/listAgents.mdx +2 -2
- package/.docs/raw/reference/agents/listScorers.mdx +2 -2
- package/.docs/raw/reference/agents/listTools.mdx +2 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +2 -2
- package/.docs/raw/reference/agents/network.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/network-route.mdx +2 -2
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +6 -6
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +3 -3
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +3 -3
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +1 -1
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +2 -2
- package/.docs/raw/reference/auth/auth0.mdx +1 -2
- package/.docs/raw/reference/auth/clerk.mdx +1 -2
- package/.docs/raw/reference/auth/firebase.mdx +2 -4
- package/.docs/raw/reference/auth/jwt.mdx +1 -2
- package/.docs/raw/reference/auth/supabase.mdx +1 -2
- package/.docs/raw/reference/auth/workos.mdx +1 -2
- package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
- package/.docs/raw/reference/cli/mastra.mdx +9 -9
- package/.docs/raw/reference/client-js/agents.mdx +1 -2
- package/.docs/raw/reference/client-js/mastra-client.mdx +1 -1
- 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/getLogger.mdx +1 -1
- package/.docs/raw/reference/core/getMCPServer.mdx +1 -1
- package/.docs/raw/reference/core/getMCPServerById.mdx +1 -1
- package/.docs/raw/reference/core/getMemory.mdx +2 -2
- package/.docs/raw/reference/core/getServer.mdx +1 -1
- package/.docs/raw/reference/core/getStorage.mdx +2 -2
- package/.docs/raw/reference/core/getStoredAgentById.mdx +3 -3
- 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/listLogs.mdx +1 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
- package/.docs/raw/reference/core/listMCPServers.mdx +1 -1
- package/.docs/raw/reference/core/listMemory.mdx +2 -2
- package/.docs/raw/reference/core/listStoredAgents.mdx +4 -4
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/setLogger.mdx +1 -1
- package/.docs/raw/reference/core/setStorage.mdx +2 -2
- package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -2
- package/.docs/raw/reference/deployer/deployer.mdx +0 -1
- package/.docs/raw/reference/deployer/netlify.mdx +1 -1
- package/.docs/raw/reference/deployer/vercel.mdx +2 -4
- package/.docs/raw/reference/evals/answer-relevancy.mdx +1 -1
- package/.docs/raw/reference/evals/answer-similarity.mdx +1 -1
- package/.docs/raw/reference/evals/bias.mdx +1 -1
- package/.docs/raw/reference/evals/completeness.mdx +1 -1
- package/.docs/raw/reference/evals/content-similarity.mdx +1 -1
- package/.docs/raw/reference/evals/context-precision.mdx +1 -1
- package/.docs/raw/reference/evals/faithfulness.mdx +1 -1
- package/.docs/raw/reference/evals/hallucination.mdx +1 -1
- package/.docs/raw/reference/evals/keyword-coverage.mdx +1 -1
- package/.docs/raw/reference/evals/prompt-alignment.mdx +7 -7
- package/.docs/raw/reference/evals/textual-difference.mdx +1 -1
- package/.docs/raw/reference/evals/tone-consistency.mdx +1 -1
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +10 -10
- package/.docs/raw/reference/evals/toxicity.mdx +1 -1
- package/.docs/raw/reference/logging/pino-logger.mdx +7 -8
- package/.docs/raw/reference/memory/createThread.mdx +2 -2
- package/.docs/raw/reference/memory/deleteMessages.mdx +2 -2
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +2 -2
- package/.docs/raw/reference/memory/memory-class.mdx +3 -3
- package/.docs/raw/reference/memory/query.mdx +2 -2
- package/.docs/raw/reference/memory/recall.mdx +2 -2
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
- package/.docs/raw/reference/processors/language-detector.mdx +2 -2
- package/.docs/raw/reference/processors/message-history-processor.mdx +2 -2
- package/.docs/raw/reference/processors/moderation-processor.mdx +3 -3
- package/.docs/raw/reference/processors/pii-detector.mdx +3 -3
- package/.docs/raw/reference/processors/processor-interface.mdx +13 -13
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +2 -2
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +2 -2
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +40 -19
- package/.docs/raw/reference/processors/tool-call-filter.mdx +3 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
- package/.docs/raw/reference/processors/working-memory-processor.mdx +3 -3
- package/.docs/raw/reference/rag/chunk.mdx +1 -1
- package/.docs/raw/reference/rag/extract-params.mdx +2 -2
- package/.docs/raw/reference/rag/metadata-filters.mdx +7 -7
- package/.docs/raw/reference/server/create-route.mdx +13 -13
- package/.docs/raw/reference/server/express-adapter.mdx +6 -7
- package/.docs/raw/reference/server/hono-adapter.mdx +6 -7
- package/.docs/raw/reference/server/mastra-server.mdx +20 -20
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +7 -5
- package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
- package/.docs/raw/reference/storage/convex.mdx +6 -6
- package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
- package/.docs/raw/reference/storage/lance.mdx +6 -5
- package/.docs/raw/reference/storage/libsql.mdx +72 -54
- package/.docs/raw/reference/storage/mongodb.mdx +84 -9
- package/.docs/raw/reference/storage/mssql.mdx +8 -6
- package/.docs/raw/{memory → reference}/storage/overview.mdx +12 -110
- package/.docs/raw/reference/storage/postgresql.mdx +82 -9
- package/.docs/raw/reference/storage/upstash.mdx +74 -2
- package/.docs/raw/reference/streaming/agents/stream.mdx +5 -5
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +2 -2
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/stream.mdx +2 -2
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +4 -4
- package/.docs/raw/reference/templates/overview.mdx +1 -2
- package/.docs/raw/reference/tools/create-tool.mdx +1 -4
- package/.docs/raw/reference/tools/vector-query-tool.mdx +1 -1
- package/.docs/raw/reference/vectors/astra.mdx +3 -3
- package/.docs/raw/reference/vectors/chroma.mdx +3 -3
- package/.docs/raw/reference/vectors/convex.mdx +12 -12
- package/.docs/raw/reference/vectors/couchbase.mdx +5 -5
- package/.docs/raw/reference/vectors/duckdb.mdx +10 -10
- package/.docs/raw/reference/vectors/elasticsearch.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +4 -4
- package/.docs/raw/reference/vectors/libsql.mdx +61 -11
- package/.docs/raw/reference/vectors/mongodb.mdx +58 -5
- package/.docs/raw/reference/vectors/pg.mdx +53 -6
- package/.docs/raw/reference/vectors/pinecone.mdx +3 -3
- package/.docs/raw/reference/vectors/qdrant.mdx +3 -3
- package/.docs/raw/reference/vectors/s3vectors.mdx +6 -6
- package/.docs/raw/reference/vectors/turbopuffer.mdx +4 -4
- package/.docs/raw/reference/vectors/upstash.mdx +55 -6
- package/.docs/raw/reference/vectors/vectorize.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +1 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/start.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +5 -5
- package/.docs/raw/reference/workflows/run.mdx +1 -1
- package/.docs/raw/reference/workflows/step.mdx +3 -3
- 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 +3 -3
- 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 +6 -6
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +7 -7
- 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 +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow.mdx +3 -3
- package/.docs/raw/server/auth/auth0.mdx +20 -14
- package/.docs/raw/server/auth/clerk.mdx +16 -9
- package/.docs/raw/server/auth/firebase.mdx +21 -15
- package/.docs/raw/server/auth/jwt.mdx +14 -7
- package/.docs/raw/server/auth/supabase.mdx +16 -9
- package/.docs/raw/server/auth/workos.mdx +19 -13
- package/.docs/raw/server/custom-adapters.mdx +10 -10
- package/.docs/raw/server/custom-api-routes.mdx +2 -4
- package/.docs/raw/server/mastra-client.mdx +24 -13
- package/.docs/raw/server/mastra-server.mdx +3 -3
- package/.docs/raw/server/middleware.mdx +7 -7
- package/.docs/raw/server/request-context.mdx +31 -30
- package/.docs/raw/server/server-adapters.mdx +6 -6
- package/.docs/raw/streaming/events.mdx +14 -7
- package/.docs/raw/streaming/overview.mdx +21 -10
- package/.docs/raw/streaming/tool-streaming.mdx +6 -6
- package/.docs/raw/streaming/workflow-streaming.mdx +6 -8
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +31 -12
- package/.docs/raw/tools-mcp/overview.mdx +9 -10
- package/.docs/raw/voice/overview.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +28 -19
- package/.docs/raw/workflows/control-flow.mdx +27 -40
- package/.docs/raw/workflows/error-handling.mdx +15 -22
- package/.docs/raw/workflows/human-in-the-loop.mdx +6 -7
- package/.docs/raw/workflows/input-data-mapping.mdx +7 -7
- package/.docs/raw/workflows/overview.mdx +34 -23
- package/.docs/raw/workflows/snapshots.mdx +16 -45
- package/.docs/raw/workflows/suspend-and-resume.mdx +7 -7
- package/.docs/raw/workflows/time-travel.mdx +16 -16
- package/.docs/raw/workflows/workflow-state.mdx +5 -8
- package/CHANGELOG.md +16 -0
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/stdio.js +53 -0
- package/package.json +3 -3
- package/.docs/raw/mastra-cloud/dashboard.mdx +0 -96
- package/.docs/raw/mastra-cloud/setting-up.mdx +0 -102
- package/.docs/raw/memory/conversation-history.mdx +0 -24
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
- package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
- package/.docs/raw/memory/threads-and-resources.mdx +0 -95
- package/.docs/raw/workflows/inngest-workflow.mdx +0 -363
|
@@ -8,7 +8,7 @@ import TabItem from "@theme/TabItem";
|
|
|
8
8
|
|
|
9
9
|
# Workflows overview
|
|
10
10
|
|
|
11
|
-
Workflows let you define complex sequences of tasks using clear, structured steps rather than relying on the reasoning of a single agent. They give you full control over how tasks are broken down, how data moves between them, and what gets executed when.
|
|
11
|
+
Workflows let you define complex sequences of tasks using clear, structured steps rather than relying on the reasoning of a single agent. They give you full control over how tasks are broken down, how data moves between them, and what gets executed when. Workflows run using the built-in execution engine by default, or can be deployed to [workflow runners](/docs/v1/deployment/workflow-runners) like Inngest for managed infrastructure.
|
|
12
12
|
|
|
13
13
|

|
|
14
14
|
|
|
@@ -32,7 +32,7 @@ Steps are the building blocks of workflows. Create a step using `createStep()` w
|
|
|
32
32
|
|
|
33
33
|
The `execute` function defines what the step does. Use it to call functions in your codebase, external APIs, agents, or tools.
|
|
34
34
|
|
|
35
|
-
```typescript {6,9,15} title="src/mastra/workflows/test-workflow.ts"
|
|
35
|
+
```typescript {6,9,15} title="src/mastra/workflows/test-workflow.ts"
|
|
36
36
|
import { createStep } from "@mastra/core/workflows";
|
|
37
37
|
|
|
38
38
|
const step1 = createStep({
|
|
@@ -53,7 +53,11 @@ const step1 = createStep({
|
|
|
53
53
|
});
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
:::info
|
|
57
|
+
|
|
58
|
+
Visit [Step Class](/reference/v1/workflows/step) for a full list of configuration options.
|
|
59
|
+
|
|
60
|
+
:::
|
|
57
61
|
|
|
58
62
|
### Using agents and tools
|
|
59
63
|
|
|
@@ -63,7 +67,7 @@ Workflow steps can also call registered agents or import and execute tools direc
|
|
|
63
67
|
|
|
64
68
|
Create a workflow using `createWorkflow()` with `inputSchema` and `outputSchema` to define the data it accepts and returns. Add steps using `.then()` and complete the workflow with `.commit()`.
|
|
65
69
|
|
|
66
|
-
```typescript {9,12,15,16} title="src/mastra/workflows/test-workflow.ts"
|
|
70
|
+
```typescript {9,12,15,16} title="src/mastra/workflows/test-workflow.ts"
|
|
67
71
|
import { createWorkflow, createStep } from "@mastra/core/workflows";
|
|
68
72
|
import { z } from "zod";
|
|
69
73
|
|
|
@@ -82,7 +86,11 @@ export const testWorkflow = createWorkflow({
|
|
|
82
86
|
.commit();
|
|
83
87
|
```
|
|
84
88
|
|
|
85
|
-
|
|
89
|
+
:::info
|
|
90
|
+
|
|
91
|
+
Visit [Workflow Class](/reference/v1/workflows/workflow) for a full list of configuration options.
|
|
92
|
+
|
|
93
|
+
:::
|
|
86
94
|
|
|
87
95
|
### Understanding control flow
|
|
88
96
|
|
|
@@ -92,7 +100,7 @@ Workflows can be composed using a number of different methods. The method you ch
|
|
|
92
100
|
|
|
93
101
|
Workflow state lets you share values across steps without passing them through every step's inputSchema and outputSchema. Use state for tracking progress, accumulating results, or sharing configuration across the entire workflow.
|
|
94
102
|
|
|
95
|
-
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
103
|
+
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
96
104
|
const step1 = createStep({
|
|
97
105
|
id: "step-1",
|
|
98
106
|
inputSchema: z.object({ message: z.string() }),
|
|
@@ -110,13 +118,17 @@ const step1 = createStep({
|
|
|
110
118
|
});
|
|
111
119
|
```
|
|
112
120
|
|
|
113
|
-
|
|
121
|
+
:::info
|
|
122
|
+
|
|
123
|
+
Visit [Workflow State](/docs/v1/workflows/workflow-state) for complete documentation on state schemas, initial state, persistence across suspend/resume, and nested workflows.
|
|
124
|
+
|
|
125
|
+
:::
|
|
114
126
|
|
|
115
127
|
## Workflows as steps
|
|
116
128
|
|
|
117
129
|
Use a workflow as a step to reuse its logic within a larger composition. Input and output follow the same schema rules described in [Core principles](/docs/v1/workflows/control-flow).
|
|
118
130
|
|
|
119
|
-
```typescript {26} title="src/mastra/workflows/test-workflow.ts"
|
|
131
|
+
```typescript {26} title="src/mastra/workflows/test-workflow.ts"
|
|
120
132
|
const step1 = createStep({...});
|
|
121
133
|
const step2 = createStep({...});
|
|
122
134
|
|
|
@@ -150,7 +162,7 @@ export const testWorkflow = createWorkflow({
|
|
|
150
162
|
|
|
151
163
|
Clone a workflow using `cloneWorkflow()` when you want to reuse its logic but track it separately under a new ID. Each clone runs independently and appears as a distinct workflow in logs and observability tools.
|
|
152
164
|
|
|
153
|
-
```typescript {6} title="src/mastra/workflows/test-workflow.ts"
|
|
165
|
+
```typescript {6} title="src/mastra/workflows/test-workflow.ts"
|
|
154
166
|
import { cloneWorkflow } from "@mastra/core/workflows";
|
|
155
167
|
|
|
156
168
|
const step1 = createStep({...});
|
|
@@ -168,12 +180,11 @@ export const testWorkflow = createWorkflow({...})
|
|
|
168
180
|
|
|
169
181
|
Register your workflow in the Mastra instance to make it available throughout your application. Once registered, it can be called from agents or tools and has access to shared resources such as logging and observability features:
|
|
170
182
|
|
|
171
|
-
```typescript {
|
|
183
|
+
```typescript {5} title="src/mastra/index.ts"
|
|
172
184
|
import { Mastra } from "@mastra/core/mastra";
|
|
173
185
|
import { testWorkflow } from "./workflows/test-workflow";
|
|
174
186
|
|
|
175
187
|
export const mastra = new Mastra({
|
|
176
|
-
// ...
|
|
177
188
|
workflows: { testWorkflow },
|
|
178
189
|
});
|
|
179
190
|
```
|
|
@@ -182,7 +193,7 @@ export const mastra = new Mastra({
|
|
|
182
193
|
|
|
183
194
|
You can run workflows from agents, tools, the Mastra Client, or the command line. Get a reference by calling `.getWorkflow()` on your `mastra` or `mastraClient` instance, depending on your setup:
|
|
184
195
|
|
|
185
|
-
```typescript
|
|
196
|
+
```typescript
|
|
186
197
|
const testWorkflow = mastra.getWorkflow("testWorkflow");
|
|
187
198
|
```
|
|
188
199
|
:::info
|
|
@@ -197,7 +208,7 @@ Workflows can be run in two modes: start waits for all steps to complete before
|
|
|
197
208
|
<TabItem value="start" label="Start">
|
|
198
209
|
Create a workflow run instance using `createRun()`, then call `.start()` with `inputData` matching the workflow's `inputSchema`. The workflow executes all steps and returns the final result.
|
|
199
210
|
|
|
200
|
-
```typescript
|
|
211
|
+
```typescript
|
|
201
212
|
const run = await testWorkflow.createRun();
|
|
202
213
|
|
|
203
214
|
const result = await run.start({
|
|
@@ -212,7 +223,7 @@ console.log(result);
|
|
|
212
223
|
<TabItem value="stream" label="Stream">
|
|
213
224
|
Create a workflow run instance using `.createRun()`, then call `.stream()` with `inputData` matching the workflow's `inputSchema`. The workflow emits events as each step executes, which you can iterate over to track progress.
|
|
214
225
|
|
|
215
|
-
```typescript
|
|
226
|
+
```typescript
|
|
216
227
|
const run = await testWorkflow.createRun();
|
|
217
228
|
|
|
218
229
|
const result = await run.stream({
|
|
@@ -241,7 +252,6 @@ The workflow output includes the full execution lifecycle, showing the input and
|
|
|
241
252
|
{
|
|
242
253
|
"status": "success",
|
|
243
254
|
"steps": {
|
|
244
|
-
// ...
|
|
245
255
|
"step-1": {
|
|
246
256
|
"status": "success",
|
|
247
257
|
"payload": {
|
|
@@ -278,7 +288,7 @@ When a workflow run loses connection to the server, it can be restarted from the
|
|
|
278
288
|
|
|
279
289
|
Use `restartAllActiveWorkflowRuns()` to restart all active workflow runs of a workflow. This helps restart all active workflow runs of a workflow, without having to manually loop through each run and restart.
|
|
280
290
|
|
|
281
|
-
```typescript
|
|
291
|
+
```typescript
|
|
282
292
|
workflow.restartAllActiveWorkflowRuns();
|
|
283
293
|
```
|
|
284
294
|
|
|
@@ -286,13 +296,11 @@ workflow.restartAllActiveWorkflowRuns();
|
|
|
286
296
|
|
|
287
297
|
Use `restart()` to restart an active workflow run from the last active step. This will resume execution from the last active step, and the workflow will continue from there.
|
|
288
298
|
|
|
289
|
-
```typescript
|
|
299
|
+
```typescript
|
|
290
300
|
const run = await workflow.createRun();
|
|
291
301
|
|
|
292
302
|
const result = await run.start({ inputData: { value: "initial data" } });
|
|
293
303
|
|
|
294
|
-
//.. server connection lost,
|
|
295
|
-
|
|
296
304
|
const restartedResult = await run.restart();
|
|
297
305
|
```
|
|
298
306
|
|
|
@@ -300,7 +308,7 @@ const restartedResult = await run.restart();
|
|
|
300
308
|
|
|
301
309
|
When a workflow run is active, it will have a `status` of `running` or `waiting`. You can check the workflow's `status` to confirm it's active, and use `active` to identify the active workflow run.
|
|
302
310
|
|
|
303
|
-
```typescript
|
|
311
|
+
```typescript
|
|
304
312
|
const activeRuns = await workflow.listActiveWorkflowRuns();
|
|
305
313
|
if (activeRuns.runs.length > 0) {
|
|
306
314
|
console.log(activeRuns.runs);
|
|
@@ -317,13 +325,12 @@ When running the local mastra server, all active workflow runs will be restarted
|
|
|
317
325
|
|
|
318
326
|
Use [RequestContext](/docs/v1/server/request-context) to access request-specific values. This lets you conditionally adjust behavior based on the context of the request.
|
|
319
327
|
|
|
320
|
-
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
328
|
+
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
321
329
|
export type UserTier = {
|
|
322
330
|
"user-tier": "enterprise" | "pro";
|
|
323
331
|
};
|
|
324
332
|
|
|
325
333
|
const step1 = createStep({
|
|
326
|
-
// ...
|
|
327
334
|
execute: async ({ requestContext }) => {
|
|
328
335
|
const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
|
|
329
336
|
|
|
@@ -336,7 +343,11 @@ const step1 = createStep({
|
|
|
336
343
|
});
|
|
337
344
|
```
|
|
338
345
|
|
|
339
|
-
|
|
346
|
+
:::info
|
|
347
|
+
|
|
348
|
+
Visit [Request Context](/docs/v1/server/request-context) for more information.
|
|
349
|
+
|
|
350
|
+
:::
|
|
340
351
|
|
|
341
352
|
## Testing with Studio
|
|
342
353
|
|
|
@@ -84,11 +84,11 @@ Each snapshot includes the `runId`, input, step status (`success`, `suspended`,
|
|
|
84
84
|
|
|
85
85
|
## How snapshots are saved and retrieved
|
|
86
86
|
|
|
87
|
-
Snapshots are saved to the configured storage system. By default, they use
|
|
87
|
+
Snapshots are saved to the configured storage system. By default, they use libSQL, but you can configure Upstash or PostgreSQL instead. Each snapshot is saved in the `workflow_snapshots` table and identified by the workflow's `runId`.
|
|
88
88
|
|
|
89
89
|
Read more about:
|
|
90
90
|
|
|
91
|
-
- [
|
|
91
|
+
- [libSQL Storage](/reference/v1/storage/libsql)
|
|
92
92
|
- [Upstash Storage](/reference/v1/storage/upstash)
|
|
93
93
|
- [PostgreSQL Storage](/reference/v1/storage/postgresql)
|
|
94
94
|
|
|
@@ -114,8 +114,9 @@ When a workflow is resumed, Mastra retrieves the persisted snapshot with these s
|
|
|
114
114
|
|
|
115
115
|
```typescript
|
|
116
116
|
const storage = mastra.getStorage();
|
|
117
|
+
const workflowStore = await storage?.getStore('workflows');
|
|
117
118
|
|
|
118
|
-
const snapshot = await
|
|
119
|
+
const snapshot = await workflowStore?.loadWorkflowSnapshot({
|
|
119
120
|
runId: "<run-id>",
|
|
120
121
|
workflowName: "<workflow-id>",
|
|
121
122
|
});
|
|
@@ -127,57 +128,27 @@ console.log(snapshot);
|
|
|
127
128
|
|
|
128
129
|
Snapshots are persisted using a `storage` instance configured on the `Mastra` class. This storage layer is shared across all workflows registered to that instance. Mastra supports multiple storage options for flexibility in different environments.
|
|
129
130
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
This example demonstrates how to use snapshots with LibSQL.
|
|
133
|
-
|
|
134
|
-
```typescript title="src/mastra/index.ts" showLineNumbers copy
|
|
131
|
+
```typescript title="src/mastra/index.ts"
|
|
135
132
|
import { Mastra } from "@mastra/core";
|
|
136
133
|
import { LibSQLStore } from "@mastra/libsql";
|
|
134
|
+
import { approvalWorkflow } from "./workflows";
|
|
137
135
|
|
|
138
136
|
export const mastra = new Mastra({
|
|
139
|
-
// ...
|
|
140
137
|
storage: new LibSQLStore({
|
|
141
138
|
id: 'mastra-storage',
|
|
142
139
|
url: ":memory:",
|
|
143
140
|
}),
|
|
141
|
+
workflows: { approvalWorkflow },
|
|
144
142
|
});
|
|
145
143
|
```
|
|
146
144
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
export const mastra = new Mastra({
|
|
156
|
-
// ...
|
|
157
|
-
storage: new UpstashStore({
|
|
158
|
-
id: 'upstash-storage',
|
|
159
|
-
url: "<upstash-redis-rest-url>",
|
|
160
|
-
token: "<upstash-redis-rest-token>",
|
|
161
|
-
}),
|
|
162
|
-
});
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Postgres `@mastra/pg`
|
|
166
|
-
|
|
167
|
-
This example demonstrates how to use snapshots with PostgreSQL.
|
|
168
|
-
|
|
169
|
-
```typescript title="src/mastra/index.ts" showLineNumbers copy
|
|
170
|
-
import { Mastra } from "@mastra/core";
|
|
171
|
-
import { PostgresStore } from "@mastra/pg";
|
|
172
|
-
|
|
173
|
-
export const mastra = new Mastra({
|
|
174
|
-
// ...
|
|
175
|
-
storage: new PostgresStore({
|
|
176
|
-
id: 'mastra-storage',
|
|
177
|
-
connectionString: "<database-url>",
|
|
178
|
-
}),
|
|
179
|
-
});
|
|
180
|
-
```
|
|
145
|
+
- [libSQL Storage](/reference/v1/storage/libsql)
|
|
146
|
+
- [PostgreSQL Storage](/reference/v1/storage/postgresql)
|
|
147
|
+
- [MongoDB Storage](/reference/v1/storage/mongodb)
|
|
148
|
+
- [Upstash Storage](/reference/v1/storage/upstash)
|
|
149
|
+
- [Cloudflare D1](/reference/v1/storage/cloudflare-d1)
|
|
150
|
+
- [DynamoDB](/reference/v1/storage/dynamodb)
|
|
151
|
+
- [More storage providers](/docs/v1/memory/storage)
|
|
181
152
|
|
|
182
153
|
## Best practices
|
|
183
154
|
|
|
@@ -191,7 +162,7 @@ export const mastra = new Mastra({
|
|
|
191
162
|
|
|
192
163
|
You can attach custom metadata when suspending a workflow by defining a `suspendSchema`. This metadata is stored in the snapshot and made available when the workflow is resumed.
|
|
193
164
|
|
|
194
|
-
```typescript {30-34} title="src/mastra/workflows/test-workflow.ts"
|
|
165
|
+
```typescript {30-34} title="src/mastra/workflows/test-workflow.ts"
|
|
195
166
|
import { createWorkflow, createStep } from "@mastra/core/workflows";
|
|
196
167
|
import { z } from "zod";
|
|
197
168
|
|
|
@@ -240,7 +211,7 @@ const approvalStep = createStep({
|
|
|
240
211
|
|
|
241
212
|
Use `resumeData` to pass structured input when resuming a suspended step. It must match the step’s `resumeSchema`.
|
|
242
213
|
|
|
243
|
-
```typescript {14-20}
|
|
214
|
+
```typescript {14-20}
|
|
244
215
|
const workflow = mastra.getWorkflow("approvalWorkflow");
|
|
245
216
|
|
|
246
217
|
const run = await workflow.createRun();
|
|
@@ -15,7 +15,7 @@ Use `suspend()` to pause workflow execution at a specific step. You can define a
|
|
|
15
15
|
|
|
16
16
|

|
|
17
17
|
|
|
18
|
-
```typescript {9-11,16-18} title="src/mastra/workflows/test-workflow.ts"
|
|
18
|
+
```typescript {9-11,16-18} title="src/mastra/workflows/test-workflow.ts"
|
|
19
19
|
const step1 = createStep({
|
|
20
20
|
id: "step-1",
|
|
21
21
|
inputSchema: z.object({
|
|
@@ -60,7 +60,7 @@ Use `resume()` to restart a suspended workflow from the step where it paused. Pa
|
|
|
60
60
|
|
|
61
61
|

|
|
62
62
|
|
|
63
|
-
```typescript
|
|
63
|
+
```typescript
|
|
64
64
|
import { step1 } from "./workflows/test-workflow";
|
|
65
65
|
|
|
66
66
|
const workflow = mastra.getWorkflow("testWorkflow");
|
|
@@ -82,7 +82,7 @@ const handleResume = async () => {
|
|
|
82
82
|
|
|
83
83
|
Passing the `step` object provides full type-safety for `resumeData`. Alternatively, you can pass a step ID for more flexibility when the ID comes from user input or a database.
|
|
84
84
|
|
|
85
|
-
```typescript
|
|
85
|
+
```typescript
|
|
86
86
|
const result = await run.resume({
|
|
87
87
|
step: "step-1",
|
|
88
88
|
resumeData: { approved: true }
|
|
@@ -93,7 +93,7 @@ If only one step is suspended, you can omit the step argument entirely and Mastr
|
|
|
93
93
|
|
|
94
94
|
When resuming with only a `runId`, create a run instance first using `createRunAsync()`.
|
|
95
95
|
|
|
96
|
-
```typescript
|
|
96
|
+
```typescript
|
|
97
97
|
const workflow = mastra.getWorkflow("testWorkflow");
|
|
98
98
|
const run = await workflow.createRunAsync({ runId: "123" });
|
|
99
99
|
|
|
@@ -104,7 +104,7 @@ const stream = run.resume({
|
|
|
104
104
|
|
|
105
105
|
You can call `resume()` from anywhere in your application, including HTTP endpoints, event handlers, in response to [human input](/docs/v1/workflows/human-in-the-loop), or timers.
|
|
106
106
|
|
|
107
|
-
```typescript
|
|
107
|
+
```typescript
|
|
108
108
|
const midnight = new Date();
|
|
109
109
|
midnight.setUTCHours(24, 0, 0, 0);
|
|
110
110
|
|
|
@@ -119,7 +119,7 @@ setTimeout(async () => {
|
|
|
119
119
|
## Accessing suspend data with `suspendData`
|
|
120
120
|
When a step is suspended, you may want to access the data that was provided to `suspend()` when the step is later resumed. Use the `suspendData` parameter in your step's execute function to access this data.
|
|
121
121
|
|
|
122
|
-
```typescript {22-25,29-30} title="src/mastra/workflows/user-approval.ts"
|
|
122
|
+
```typescript {22-25,29-30} title="src/mastra/workflows/user-approval.ts"
|
|
123
123
|
const approvalStep = createStep({
|
|
124
124
|
id: "user-approval",
|
|
125
125
|
inputSchema: z.object({
|
|
@@ -164,7 +164,7 @@ The `suspendData` parameter is automatically populated when a step is resumed an
|
|
|
164
164
|
|
|
165
165
|
When a workflow is suspended, it restarts from the step where it paused. You can check the workflow's `status` to confirm it's suspended, and use `suspended` to identify the paused step or [nested workflow](/docs/v1/workflows/overview#workflows-as-steps).
|
|
166
166
|
|
|
167
|
-
```typescript {11}
|
|
167
|
+
```typescript {11}
|
|
168
168
|
const workflow = mastra.getWorkflow("testWorkflow");
|
|
169
169
|
const run = await workflow.createRun();
|
|
170
170
|
|
|
@@ -23,7 +23,7 @@ Time travel requires storage to be configured since it relies on persisted workf
|
|
|
23
23
|
|
|
24
24
|
Use `run.timeTravel()` to re-execute a workflow from a specific step:
|
|
25
25
|
|
|
26
|
-
```typescript
|
|
26
|
+
```typescript
|
|
27
27
|
import { mastra } from "./mastra";
|
|
28
28
|
|
|
29
29
|
const workflow = mastra.getWorkflow("myWorkflow");
|
|
@@ -41,7 +41,7 @@ You can specify the target step using either a step reference or a step ID:
|
|
|
41
41
|
|
|
42
42
|
### Using step reference
|
|
43
43
|
|
|
44
|
-
```typescript
|
|
44
|
+
```typescript
|
|
45
45
|
const result = await run.timeTravel({
|
|
46
46
|
step: step2,
|
|
47
47
|
inputData: { value: 10 },
|
|
@@ -50,7 +50,7 @@ const result = await run.timeTravel({
|
|
|
50
50
|
|
|
51
51
|
### Using step ID
|
|
52
52
|
|
|
53
|
-
```typescript
|
|
53
|
+
```typescript
|
|
54
54
|
const result = await run.timeTravel({
|
|
55
55
|
step: "step2",
|
|
56
56
|
inputData: { value: 10 },
|
|
@@ -61,7 +61,7 @@ const result = await run.timeTravel({
|
|
|
61
61
|
|
|
62
62
|
For steps inside nested workflows, use dot notation, an array of step IDS or an array of step references:
|
|
63
63
|
|
|
64
|
-
```typescript
|
|
64
|
+
```typescript
|
|
65
65
|
// Using dot notation
|
|
66
66
|
const result = await run.timeTravel({
|
|
67
67
|
step: "nestedWorkflow.step3",
|
|
@@ -85,7 +85,7 @@ const result = await run.timeTravel({
|
|
|
85
85
|
|
|
86
86
|
You can provide context to specify the state of previous steps when time traveling:
|
|
87
87
|
|
|
88
|
-
```typescript {3-13}
|
|
88
|
+
```typescript {3-13}
|
|
89
89
|
const result = await run.timeTravel({
|
|
90
90
|
step: "step2",
|
|
91
91
|
context: {
|
|
@@ -114,7 +114,7 @@ The context object contains step results keyed by step ID. Each step result incl
|
|
|
114
114
|
|
|
115
115
|
Time travel is particularly useful for debugging and recovering from failed workflow executions:
|
|
116
116
|
|
|
117
|
-
```typescript
|
|
117
|
+
```typescript
|
|
118
118
|
const workflow = mastra.getWorkflow("myWorkflow");
|
|
119
119
|
const run = await workflow.createRun();
|
|
120
120
|
|
|
@@ -136,7 +136,7 @@ if (failedResult.status === "failed") {
|
|
|
136
136
|
|
|
137
137
|
You can time travel to resume a suspended workflow from an earlier step:
|
|
138
138
|
|
|
139
|
-
```typescript
|
|
139
|
+
```typescript
|
|
140
140
|
const run = await workflow.createRun();
|
|
141
141
|
|
|
142
142
|
// Start workflow - suspends at promptAgent step
|
|
@@ -159,7 +159,7 @@ if (initialResult.status === "suspended") {
|
|
|
159
159
|
|
|
160
160
|
Use `timeTravelStream()` to receive streaming events during time travel execution:
|
|
161
161
|
|
|
162
|
-
```typescript
|
|
162
|
+
```typescript
|
|
163
163
|
const run = await workflow.createRun();
|
|
164
164
|
|
|
165
165
|
const output = run.timeTravelStream({
|
|
@@ -180,7 +180,7 @@ const result = await output.result;
|
|
|
180
180
|
|
|
181
181
|
You can provide initial state when time traveling to set workflow-level state:
|
|
182
182
|
|
|
183
|
-
```typescript
|
|
183
|
+
```typescript
|
|
184
184
|
const result = await run.timeTravel({
|
|
185
185
|
step: "step2",
|
|
186
186
|
inputData: { value: 10 },
|
|
@@ -199,7 +199,7 @@ Time travel throws errors in specific situations:
|
|
|
199
199
|
|
|
200
200
|
You cannot time travel to a workflow that is currently running:
|
|
201
201
|
|
|
202
|
-
```typescript
|
|
202
|
+
```typescript
|
|
203
203
|
try {
|
|
204
204
|
await run.timeTravel({ step: "step2" });
|
|
205
205
|
} catch (error) {
|
|
@@ -211,7 +211,7 @@ try {
|
|
|
211
211
|
|
|
212
212
|
Time travel throws if the target step doesn't exist in the workflow:
|
|
213
213
|
|
|
214
|
-
```typescript
|
|
214
|
+
```typescript
|
|
215
215
|
try {
|
|
216
216
|
await run.timeTravel({ step: "nonExistentStep" });
|
|
217
217
|
} catch (error) {
|
|
@@ -223,7 +223,7 @@ try {
|
|
|
223
223
|
|
|
224
224
|
When `validateInputs` is enabled, time travel validates the input data against the step's schema:
|
|
225
225
|
|
|
226
|
-
```typescript
|
|
226
|
+
```typescript
|
|
227
227
|
try {
|
|
228
228
|
await run.timeTravel({
|
|
229
229
|
step: "step2",
|
|
@@ -238,7 +238,7 @@ try {
|
|
|
238
238
|
|
|
239
239
|
When time traveling into a nested workflow, you can provide context for both the parent and nested workflow steps:
|
|
240
240
|
|
|
241
|
-
```typescript
|
|
241
|
+
```typescript
|
|
242
242
|
const result = await run.timeTravel({
|
|
243
243
|
step: "nestedWorkflow.step3",
|
|
244
244
|
context: {
|
|
@@ -275,7 +275,7 @@ const result = await run.timeTravel({
|
|
|
275
275
|
|
|
276
276
|
Re-run a failed step with the same or modified input to diagnose issues:
|
|
277
277
|
|
|
278
|
-
```typescript
|
|
278
|
+
```typescript
|
|
279
279
|
const result = await run.timeTravel({
|
|
280
280
|
step: failedStepId,
|
|
281
281
|
context: originalContext, // Use context from the failed run
|
|
@@ -286,7 +286,7 @@ const result = await run.timeTravel({
|
|
|
286
286
|
|
|
287
287
|
Test individual steps with specific inputs on a new workflow run, useful for testing a step logic without starting workflow execution from the beginning.
|
|
288
288
|
|
|
289
|
-
```typescript
|
|
289
|
+
```typescript
|
|
290
290
|
const result = await run.timeTravel({
|
|
291
291
|
step: "processData",
|
|
292
292
|
inputData: { testData: "specific test case" },
|
|
@@ -297,7 +297,7 @@ const result = await run.timeTravel({
|
|
|
297
297
|
|
|
298
298
|
Re-run steps that failed due to temporary issues (network errors, rate limits):
|
|
299
299
|
|
|
300
|
-
```typescript
|
|
300
|
+
```typescript
|
|
301
301
|
// After fixing the external service issue
|
|
302
302
|
const result = await run.timeTravel({
|
|
303
303
|
step: "callExternalApi",
|
|
@@ -14,7 +14,7 @@ It's important to understand the difference between **state** and **step input/o
|
|
|
14
14
|
- **Step input/output**: Data flows sequentially between steps. Each step receives the previous step's output as its `inputData`, and returns an output for the next step.
|
|
15
15
|
- **State**: A shared store that all steps can read and update via `state` and `setState`. State persists across the entire workflow run, including suspend/resume cycles.
|
|
16
16
|
|
|
17
|
-
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
17
|
+
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
18
18
|
const step1 = createStep({
|
|
19
19
|
id: "step-1",
|
|
20
20
|
inputSchema: z.object({ workflowInput: z.string() }),
|
|
@@ -40,9 +40,8 @@ const step1 = createStep({
|
|
|
40
40
|
|
|
41
41
|
Define a `stateSchema` on both the workflow and individual steps. The workflow's stateSchema is the master schema containing all possible state values, while each step declares only the subset it needs:
|
|
42
42
|
|
|
43
|
-
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
43
|
+
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
44
44
|
const step1 = createStep({
|
|
45
|
-
// ...
|
|
46
45
|
stateSchema: z.object({
|
|
47
46
|
processedItems: z.array(z.string()),
|
|
48
47
|
}),
|
|
@@ -61,7 +60,6 @@ const step1 = createStep({
|
|
|
61
60
|
});
|
|
62
61
|
|
|
63
62
|
const step2 = createStep({
|
|
64
|
-
// ...
|
|
65
63
|
stateSchema: z.object({
|
|
66
64
|
metadata: z.object({
|
|
67
65
|
processedBy: z.string(),
|
|
@@ -78,7 +76,6 @@ const step2 = createStep({
|
|
|
78
76
|
});
|
|
79
77
|
|
|
80
78
|
export const testWorkflow = createWorkflow({
|
|
81
|
-
// ...
|
|
82
79
|
stateSchema: z.object({
|
|
83
80
|
processedItems: z.array(z.string()),
|
|
84
81
|
metadata: z.object({
|
|
@@ -95,7 +92,7 @@ export const testWorkflow = createWorkflow({
|
|
|
95
92
|
|
|
96
93
|
Pass `initialState` when starting a workflow run to set the starting values:
|
|
97
94
|
|
|
98
|
-
```typescript
|
|
95
|
+
```typescript
|
|
99
96
|
const run = await workflow.createRun();
|
|
100
97
|
|
|
101
98
|
const result = await run.start({
|
|
@@ -113,7 +110,7 @@ The `initialState` object should match the structure defined in the workflow's `
|
|
|
113
110
|
|
|
114
111
|
State automatically persists across suspend and resume cycles. When a workflow suspends and later resumes, all state updates made before the suspension are preserved:
|
|
115
112
|
|
|
116
|
-
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
113
|
+
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
117
114
|
const step1 = createStep({
|
|
118
115
|
id: "step-1",
|
|
119
116
|
inputSchema: z.object({}),
|
|
@@ -137,7 +134,7 @@ const step1 = createStep({
|
|
|
137
134
|
|
|
138
135
|
When using nested workflows, state propagates from parent to child. Changes made by the parent workflow before calling a nested workflow are visible to steps inside the nested workflow:
|
|
139
136
|
|
|
140
|
-
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
137
|
+
```typescript title="src/mastra/workflows/test-workflow.ts"
|
|
141
138
|
const nestedStep = createStep({
|
|
142
139
|
id: "nested-step",
|
|
143
140
|
inputSchema: z.object({}),
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.15
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`33a4d2e`](https://github.com/mastra-ai/mastra/commit/33a4d2e4ed8af51f69256232f00c34d6b6b51d48), [`4aaa844`](https://github.com/mastra-ai/mastra/commit/4aaa844a4f19d054490f43638a990cc57bda8d2f), [`4a1a6cb`](https://github.com/mastra-ai/mastra/commit/4a1a6cb3facad54b2bb6780b00ce91d6de1edc08), [`31d13d5`](https://github.com/mastra-ai/mastra/commit/31d13d5fdc2e2380e2e3ee3ec9fb29d2a00f265d), [`4c62166`](https://github.com/mastra-ai/mastra/commit/4c621669f4a29b1f443eca3ba70b814afa286266), [`7bcbf10`](https://github.com/mastra-ai/mastra/commit/7bcbf10133516e03df964b941f9a34e9e4ab4177), [`4353600`](https://github.com/mastra-ai/mastra/commit/43536005a65988a8eede236f69122e7f5a284ba2), [`6986fb0`](https://github.com/mastra-ai/mastra/commit/6986fb064f5db6ecc24aa655e1d26529087b43b3), [`053e979`](https://github.com/mastra-ai/mastra/commit/053e9793b28e970086b0507f7f3b76ea32c1e838), [`e26dc9c`](https://github.com/mastra-ai/mastra/commit/e26dc9c3ccfec54ae3dc3e2b2589f741f9ae60a6), [`55edf73`](https://github.com/mastra-ai/mastra/commit/55edf7302149d6c964fbb7908b43babfc2b52145), [`27c0009`](https://github.com/mastra-ai/mastra/commit/27c0009777a6073d7631b0eb7b481d94e165b5ca), [`dee388d`](https://github.com/mastra-ai/mastra/commit/dee388dde02f2e63c53385ae69252a47ab6825cc), [`3f3fc30`](https://github.com/mastra-ai/mastra/commit/3f3fc3096f24c4a26cffeecfe73085928f72aa63), [`d90ea65`](https://github.com/mastra-ai/mastra/commit/d90ea6536f7aa51c6545a4e9215b55858e98e16d), [`d171e55`](https://github.com/mastra-ai/mastra/commit/d171e559ead9f52ec728d424844c8f7b164c4510), [`10c2735`](https://github.com/mastra-ai/mastra/commit/10c27355edfdad1ee2b826b897df74125eb81fb8), [`1924cf0`](https://github.com/mastra-ai/mastra/commit/1924cf06816e5e4d4d5333065ec0f4bb02a97799), [`b339816`](https://github.com/mastra-ai/mastra/commit/b339816df0984d0243d944ac2655d6ba5f809cde)]:
|
|
8
|
+
- @mastra/core@1.0.0-beta.15
|
|
9
|
+
|
|
10
|
+
## 1.0.0-beta.14
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Add --log-level CLI argument to control log verbosity ([#11256](https://github.com/mastra-ai/mastra/pull/11256))
|
|
15
|
+
|
|
16
|
+
- Updated dependencies [[`4f94ed8`](https://github.com/mastra-ai/mastra/commit/4f94ed8177abfde3ec536e3574883e075423350c), [`ac3cc23`](https://github.com/mastra-ai/mastra/commit/ac3cc2397d1966bc0fc2736a223abc449d3c7719), [`a86f4df`](https://github.com/mastra-ai/mastra/commit/a86f4df0407311e0d2ea49b9a541f0938810d6a9), [`029540c`](https://github.com/mastra-ai/mastra/commit/029540ca1e582fc2dd8d288ecd4a9b0f31a954ef), [`66741d1`](https://github.com/mastra-ai/mastra/commit/66741d1a99c4f42cf23a16109939e8348ac6852e), [`01b20fe`](https://github.com/mastra-ai/mastra/commit/01b20fefb7c67c2b7d79417598ef4e60256d1225), [`0dbf199`](https://github.com/mastra-ai/mastra/commit/0dbf199110f22192ce5c95b1c8148d4872b4d119), [`a7ce182`](https://github.com/mastra-ai/mastra/commit/a7ce1822a8785ce45d62dd5c911af465e144f7d7)]:
|
|
17
|
+
- @mastra/core@1.0.0-beta.14
|
|
18
|
+
|
|
3
19
|
## 1.0.0-beta.13
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/logger.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { MCPServer } from '@mastra/mcp';
|
|
2
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
|
|
3
|
+
export declare function setLogLevel(level: LogLevel): void;
|
|
4
|
+
export declare function getLogLevel(): LogLevel;
|
|
2
5
|
export interface Logger {
|
|
3
6
|
debug: (message: string, data?: any) => Promise<void>;
|
|
4
7
|
info: (message: string, data?: any) => Promise<void>;
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,OAAO,GAAG,SA2BxD,CAAC;AAGF,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAkCpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEjD;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AASD,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,OAAO,GAAG,SA2BxD,CAAC;AAGF,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CA4FvD;AAGD,eAAO,MAAM,MAAM,QAAiB,CAAC"}
|