@mastra/mcp-docs-server 0.13.37 → 0.13.38
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 +2 -0
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
- package/.docs/organized/changelogs/create-mastra.md +5 -5
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/raw/agents/adding-voice.mdx +20 -9
- package/.docs/raw/agents/agent-memory.mdx +55 -39
- package/.docs/raw/agents/guardrails.mdx +68 -61
- package/.docs/raw/agents/networks.mdx +50 -46
- package/.docs/raw/agents/overview.mdx +125 -88
- package/.docs/raw/agents/using-tools.mdx +14 -15
- package/.docs/raw/auth/auth0.mdx +28 -27
- package/.docs/raw/auth/clerk.mdx +22 -20
- package/.docs/raw/auth/firebase.mdx +42 -39
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +18 -16
- package/.docs/raw/auth/supabase.mdx +20 -18
- package/.docs/raw/auth/workos.mdx +32 -26
- package/.docs/raw/community/contributing-templates.mdx +7 -7
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
- package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
- package/.docs/raw/deployment/monorepo.mdx +32 -42
- package/.docs/raw/deployment/overview.mdx +15 -15
- package/.docs/raw/deployment/server-deployment.mdx +18 -23
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
- package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
- package/.docs/raw/deployment/web-framework.mdx +14 -14
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
- package/.docs/raw/frameworks/servers/express.mdx +45 -44
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
- package/.docs/raw/getting-started/installation.mdx +164 -133
- package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
- package/.docs/raw/getting-started/project-structure.mdx +34 -42
- package/.docs/raw/getting-started/studio.mdx +40 -58
- package/.docs/raw/getting-started/templates.mdx +22 -27
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
- package/.docs/raw/mastra-cloud/observability.mdx +7 -8
- package/.docs/raw/mastra-cloud/overview.mdx +16 -22
- package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
- package/.docs/raw/memory/conversation-history.mdx +2 -2
- package/.docs/raw/memory/overview.mdx +21 -23
- package/.docs/raw/memory/semantic-recall.mdx +14 -13
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
- package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
- package/.docs/raw/memory/threads-and-resources.mdx +23 -20
- package/.docs/raw/memory/working-memory.mdx +27 -38
- package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
- package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
- package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
- package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
- package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
- package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
- package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
- package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
- package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
- package/.docs/raw/observability/logging.mdx +14 -17
- package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
- package/.docs/raw/observability/otel-tracing.mdx +17 -18
- package/.docs/raw/observability/overview.mdx +14 -10
- package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
- package/.docs/raw/rag/overview.mdx +5 -5
- package/.docs/raw/rag/retrieval.mdx +125 -107
- package/.docs/raw/rag/vector-databases.mdx +232 -223
- package/.docs/raw/reference/agents/agent.mdx +54 -41
- package/.docs/raw/reference/agents/generate.mdx +367 -261
- package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDescription.mdx +3 -2
- package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
- package/.docs/raw/reference/agents/getLLM.mdx +11 -7
- package/.docs/raw/reference/agents/getMemory.mdx +7 -5
- package/.docs/raw/reference/agents/getModel.mdx +7 -5
- package/.docs/raw/reference/agents/getScorers.mdx +7 -5
- package/.docs/raw/reference/agents/getTools.mdx +7 -5
- package/.docs/raw/reference/agents/getVoice.mdx +7 -5
- package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
- package/.docs/raw/reference/agents/listAgents.mdx +6 -4
- package/.docs/raw/reference/agents/network.mdx +171 -116
- package/.docs/raw/reference/auth/auth0.mdx +18 -14
- package/.docs/raw/reference/auth/clerk.mdx +15 -12
- package/.docs/raw/reference/auth/firebase.mdx +23 -16
- package/.docs/raw/reference/auth/jwt.mdx +7 -6
- package/.docs/raw/reference/auth/supabase.mdx +13 -10
- package/.docs/raw/reference/auth/workos.mdx +17 -13
- package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
- package/.docs/raw/reference/cli/mastra.mdx +11 -11
- package/.docs/raw/reference/client-js/agents.mdx +40 -43
- 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 +21 -13
- package/.docs/raw/reference/client-js/memory.mdx +6 -2
- package/.docs/raw/reference/client-js/observability.mdx +10 -9
- 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-legacy.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +7 -7
- package/.docs/raw/reference/core/getAgent.mdx +6 -5
- package/.docs/raw/reference/core/getAgentById.mdx +5 -4
- package/.docs/raw/reference/core/getAgents.mdx +3 -3
- package/.docs/raw/reference/core/getDeployer.mdx +4 -3
- package/.docs/raw/reference/core/getLogger.mdx +4 -3
- package/.docs/raw/reference/core/getLogs.mdx +10 -6
- package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
- package/.docs/raw/reference/core/getMemory.mdx +4 -3
- package/.docs/raw/reference/core/getScorer.mdx +15 -12
- package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
- package/.docs/raw/reference/core/getScorers.mdx +3 -2
- package/.docs/raw/reference/core/getServer.mdx +4 -3
- package/.docs/raw/reference/core/getStorage.mdx +4 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
- package/.docs/raw/reference/core/getVector.mdx +6 -4
- package/.docs/raw/reference/core/getVectors.mdx +4 -3
- package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
- package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
- package/.docs/raw/reference/core/mastra-class.mdx +16 -16
- package/.docs/raw/reference/core/setLogger.mdx +6 -4
- package/.docs/raw/reference/core/setStorage.mdx +4 -4
- package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -4
- package/.docs/raw/reference/deployer/vercel.mdx +6 -6
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/bias.mdx +4 -5
- package/.docs/raw/reference/evals/completeness.mdx +4 -5
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
- package/.docs/raw/reference/evals/context-position.mdx +4 -5
- package/.docs/raw/reference/evals/context-precision.mdx +4 -5
- package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
- package/.docs/raw/reference/evals/hallucination.mdx +4 -6
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
- package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
- package/.docs/raw/reference/evals/summarization.mdx +4 -6
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
- package/.docs/raw/reference/evals/toxicity.mdx +4 -5
- package/.docs/raw/reference/index.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
- package/.docs/raw/reference/memory/createThread.mdx +10 -10
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
- package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
- package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
- package/.docs/raw/reference/memory/query.mdx +39 -25
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
- package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
- package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
- package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
- package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
- package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
- package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
- package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
- package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
- package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
- package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
- package/.docs/raw/reference/processors/language-detector.mdx +27 -17
- package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
- package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
- package/.docs/raw/reference/rag/chunk.mdx +41 -23
- package/.docs/raw/reference/rag/database-config.mdx +56 -38
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +1 -1
- 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 +23 -26
- package/.docs/raw/reference/rag/rerank.mdx +1 -1
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
- package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
- package/.docs/raw/reference/scorers/bias.mdx +22 -19
- package/.docs/raw/reference/scorers/completeness.mdx +21 -16
- package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
- package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
- package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
- package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
- package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
- package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
- package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
- package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
- package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
- package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
- package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
- package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
- package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +2 -2
- package/.docs/raw/reference/storage/mongodb.mdx +4 -5
- package/.docs/raw/reference/storage/mssql.mdx +5 -4
- package/.docs/raw/reference/storage/postgresql.mdx +35 -33
- package/.docs/raw/reference/storage/upstash.mdx +6 -5
- package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
- package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
- package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
- package/.docs/raw/reference/templates/overview.mdx +16 -39
- package/.docs/raw/reference/tools/client.mdx +1 -1
- package/.docs/raw/reference/tools/create-tool.mdx +45 -35
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
- package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
- package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
- package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +25 -19
- package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +5 -6
- package/.docs/raw/reference/vectors/libsql.mdx +1 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
- package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
- package/.docs/raw/reference/vectors/pg.mdx +8 -4
- package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
- package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
- package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
- package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +33 -25
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +1 -1
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
- 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 +6 -4
- package/.docs/raw/reference/voice/google.mdx +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
- package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
- package/.docs/raw/reference/voice/voice.close.mdx +1 -1
- package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
- package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
- package/.docs/raw/reference/voice/voice.off.mdx +1 -1
- package/.docs/raw/reference/voice/voice.on.mdx +1 -1
- package/.docs/raw/reference/voice/voice.send.mdx +1 -1
- package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
- package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
- package/.docs/raw/reference/workflows/run.mdx +7 -10
- package/.docs/raw/reference/workflows/step.mdx +15 -12
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow.mdx +13 -10
- package/.docs/raw/scorers/custom-scorers.mdx +58 -48
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
- package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
- package/.docs/raw/scorers/overview.mdx +20 -19
- package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
- package/.docs/raw/server-db/mastra-client.mdx +56 -54
- package/.docs/raw/server-db/middleware.mdx +11 -7
- package/.docs/raw/server-db/production-server.mdx +5 -7
- package/.docs/raw/server-db/runtime-context.mdx +41 -38
- package/.docs/raw/server-db/storage.mdx +82 -87
- package/.docs/raw/streaming/events.mdx +24 -16
- package/.docs/raw/streaming/overview.mdx +17 -18
- package/.docs/raw/streaming/tool-streaming.mdx +9 -10
- package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
- package/.docs/raw/tools-mcp/overview.mdx +9 -14
- package/.docs/raw/voice/overview.mdx +273 -250
- package/.docs/raw/voice/speech-to-speech.mdx +14 -12
- package/.docs/raw/voice/speech-to-text.mdx +2 -2
- package/.docs/raw/voice/text-to-speech.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
- package/.docs/raw/workflows/control-flow.mdx +24 -24
- package/.docs/raw/workflows/error-handling.mdx +15 -17
- package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
- package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
- package/.docs/raw/workflows/overview.mdx +60 -60
- package/.docs/raw/workflows/snapshots.mdx +54 -36
- package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
- package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
- package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
- package/.docs/raw/workflows-legacy/overview.mdx +28 -26
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
- package/.docs/raw/workflows-legacy/steps.mdx +5 -3
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
- package/.docs/raw/workflows-legacy/variables.mdx +10 -8
- package/CHANGELOG.md +14 -0
- package/package.json +5 -5
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Human
|
|
2
|
+
title: "Human-in-the-loop | Workflows | Mastra Docs"
|
|
3
3
|
description: Example of using Mastra to create workflows with multi-turn human/agent interaction points using suspend/resume and dountil methods.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import GithubLink from "@site/src/components/GithubLink";
|
|
7
7
|
|
|
8
8
|
# Human-in-the-loop
|
|
9
9
|
|
|
@@ -21,7 +21,7 @@ This example consists of three main components:
|
|
|
21
21
|
|
|
22
22
|
This example uses the `openai` model. Make sure to add the following to your `.env` file:
|
|
23
23
|
|
|
24
|
-
```bash
|
|
24
|
+
```bash title=".env" copy
|
|
25
25
|
OPENAI_API_KEY=<your-api-key>
|
|
26
26
|
```
|
|
27
27
|
|
|
@@ -29,7 +29,7 @@ OPENAI_API_KEY=<your-api-key>
|
|
|
29
29
|
|
|
30
30
|
The `famousPersonAgent` generates a unique name each time the game is played, using semantic memory to avoid repeating suggestions.
|
|
31
31
|
|
|
32
|
-
```typescript
|
|
32
|
+
```typescript title="src/mastra/agents/example-famous-person-agent.ts" showLineNumbers copy
|
|
33
33
|
import { openai } from "@ai-sdk/openai";
|
|
34
34
|
import { Agent } from "@mastra/core/agent";
|
|
35
35
|
import { Memory } from "@mastra/memory";
|
|
@@ -53,27 +53,27 @@ Return only the person's name, nothing else.`,
|
|
|
53
53
|
model: openai("gpt-4o"),
|
|
54
54
|
memory: new Memory({
|
|
55
55
|
vector: new LibSQLVector({
|
|
56
|
-
connectionUrl: "file:../mastra.db"
|
|
56
|
+
connectionUrl: "file:../mastra.db",
|
|
57
57
|
}),
|
|
58
58
|
embedder: openai.embedding("text-embedding-3-small"),
|
|
59
59
|
options: {
|
|
60
60
|
lastMessages: 5,
|
|
61
61
|
semanticRecall: {
|
|
62
62
|
topK: 10,
|
|
63
|
-
messageRange: 1
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
})
|
|
63
|
+
messageRange: 1,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
}),
|
|
67
67
|
});
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
> See [Agent](
|
|
70
|
+
> See [Agent](/reference/agents/agent) for a full list of configuration options.
|
|
71
71
|
|
|
72
72
|
## Game agent
|
|
73
73
|
|
|
74
74
|
The `gameAgent` handles user interactions by responding to questions and validating guesses.
|
|
75
75
|
|
|
76
|
-
```typescript
|
|
76
|
+
```typescript title="src/mastra/agents/example-game-agent.ts" showLineNumbers copy
|
|
77
77
|
import { openai } from "@ai-sdk/openai";
|
|
78
78
|
import { Agent } from "@mastra/core/agent";
|
|
79
79
|
|
|
@@ -102,24 +102,23 @@ Encourage players to make a guess when they seem to have enough information.
|
|
|
102
102
|
You must return a JSON object with:
|
|
103
103
|
- response: Your response to the user
|
|
104
104
|
- gameWon: true if they guessed correctly, false otherwise`,
|
|
105
|
-
model: openai("gpt-4o")
|
|
105
|
+
model: openai("gpt-4o"),
|
|
106
106
|
});
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
|
|
110
109
|
## Multi-turn workflow
|
|
111
110
|
|
|
112
111
|
The workflow coordinates the full interaction using `suspend`/`resume` to pause for human input and `dountil` to repeat the game loop until a condition is met.
|
|
113
112
|
|
|
114
113
|
The `startStep` generates a name using the `famousPersonAgent`, while the `gameStep` runs the interaction through the `gameAgent`, which handles both questions and guesses and produces structured output that includes a `gameWon` boolean.
|
|
115
114
|
|
|
116
|
-
```typescript
|
|
117
|
-
import { createWorkflow, createStep } from
|
|
118
|
-
import { z } from
|
|
115
|
+
```typescript title="src/mastra/workflows/example-heads-up-workflow.ts" showLineNumbers copy
|
|
116
|
+
import { createWorkflow, createStep } from "@mastra/core/workflows";
|
|
117
|
+
import { z } from "zod";
|
|
119
118
|
|
|
120
119
|
const startStep = createStep({
|
|
121
|
-
id:
|
|
122
|
-
description:
|
|
120
|
+
id: "start-step",
|
|
121
|
+
description: "Get the name of a famous person",
|
|
123
122
|
inputSchema: z.object({
|
|
124
123
|
start: z.boolean(),
|
|
125
124
|
}),
|
|
@@ -128,13 +127,13 @@ const startStep = createStep({
|
|
|
128
127
|
guessCount: z.number(),
|
|
129
128
|
}),
|
|
130
129
|
execute: async ({ mastra }) => {
|
|
131
|
-
const agent = mastra.getAgent(
|
|
130
|
+
const agent = mastra.getAgent("famousPersonAgent");
|
|
132
131
|
const response = await agent.generate("Generate a famous person's name", {
|
|
133
132
|
temperature: 1.2,
|
|
134
133
|
topP: 0.9,
|
|
135
134
|
memory: {
|
|
136
|
-
resource:
|
|
137
|
-
thread:
|
|
135
|
+
resource: "heads-up-game",
|
|
136
|
+
thread: "famous-person-generator",
|
|
138
137
|
},
|
|
139
138
|
});
|
|
140
139
|
const famousPerson = response.text.trim();
|
|
@@ -143,8 +142,8 @@ const startStep = createStep({
|
|
|
143
142
|
});
|
|
144
143
|
|
|
145
144
|
const gameStep = createStep({
|
|
146
|
-
id:
|
|
147
|
-
description:
|
|
145
|
+
id: "game-step",
|
|
146
|
+
description: "Handles the question-answer-continue loop",
|
|
148
147
|
inputSchema: z.object({
|
|
149
148
|
famousPerson: z.string(),
|
|
150
149
|
guessCount: z.number(),
|
|
@@ -167,11 +166,12 @@ const gameStep = createStep({
|
|
|
167
166
|
|
|
168
167
|
if (!userMessage) {
|
|
169
168
|
return await suspend({
|
|
170
|
-
suspendResponse:
|
|
169
|
+
suspendResponse:
|
|
170
|
+
"I'm thinking of a famous person. Ask me yes/no questions to figure out who it is!",
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
const agent = mastra.getAgent(
|
|
174
|
+
const agent = mastra.getAgent("gameAgent");
|
|
175
175
|
const response = await agent.generate(
|
|
176
176
|
`
|
|
177
177
|
The famous person is: ${famousPerson}
|
|
@@ -183,7 +183,7 @@ const gameStep = createStep({
|
|
|
183
183
|
schema: z.object({
|
|
184
184
|
response: z.string(),
|
|
185
185
|
gameWon: z.boolean(),
|
|
186
|
-
})
|
|
186
|
+
}),
|
|
187
187
|
},
|
|
188
188
|
},
|
|
189
189
|
);
|
|
@@ -197,8 +197,8 @@ const gameStep = createStep({
|
|
|
197
197
|
});
|
|
198
198
|
|
|
199
199
|
const winStep = createStep({
|
|
200
|
-
id:
|
|
201
|
-
description:
|
|
200
|
+
id: "win-step",
|
|
201
|
+
description: "Handle game win logic",
|
|
202
202
|
inputSchema: z.object({
|
|
203
203
|
famousPerson: z.string(),
|
|
204
204
|
gameWon: z.boolean(),
|
|
@@ -213,16 +213,16 @@ const winStep = createStep({
|
|
|
213
213
|
execute: async ({ inputData }) => {
|
|
214
214
|
const { famousPerson, gameWon, guessCount } = inputData;
|
|
215
215
|
|
|
216
|
-
console.log(
|
|
217
|
-
console.log(
|
|
218
|
-
console.log(
|
|
216
|
+
console.log("famousPerson: ", famousPerson);
|
|
217
|
+
console.log("gameWon: ", gameWon);
|
|
218
|
+
console.log("guessCount: ", guessCount);
|
|
219
219
|
|
|
220
220
|
return { famousPerson, gameWon, guessCount };
|
|
221
221
|
},
|
|
222
222
|
});
|
|
223
223
|
|
|
224
224
|
export const headsUpWorkflow = createWorkflow({
|
|
225
|
-
id:
|
|
225
|
+
id: "heads-up-workflow",
|
|
226
226
|
inputSchema: z.object({
|
|
227
227
|
start: z.boolean(),
|
|
228
228
|
}),
|
|
@@ -236,15 +236,15 @@ export const headsUpWorkflow = createWorkflow({
|
|
|
236
236
|
.dountil(gameStep, async ({ inputData: { gameWon } }) => gameWon)
|
|
237
237
|
.then(winStep)
|
|
238
238
|
.commit();
|
|
239
|
-
|
|
240
239
|
```
|
|
241
|
-
|
|
240
|
+
|
|
241
|
+
> See [Workflow](/reference/workflows/workflow) for a full list of configuration options.
|
|
242
242
|
|
|
243
243
|
## Registering the agents and workflow
|
|
244
244
|
|
|
245
245
|
To use a workflow or an agent, register them in your main Mastra instance.
|
|
246
246
|
|
|
247
|
-
```typescript
|
|
247
|
+
```typescript title="src/mastra/index.ts" showLineNumbers copy
|
|
248
248
|
import { Mastra } from "@mastra/core/mastra";
|
|
249
249
|
|
|
250
250
|
import { headsUpWorkflow } from "./workflows/example-heads-up-workflow";
|
|
@@ -253,16 +253,16 @@ import { gameAgent } from "./agents/example-game-agent";
|
|
|
253
253
|
|
|
254
254
|
export const mastra = new Mastra({
|
|
255
255
|
workflows: { headsUpWorkflow },
|
|
256
|
-
agents: { famousPersonAgent, gameAgent }
|
|
256
|
+
agents: { famousPersonAgent, gameAgent },
|
|
257
257
|
});
|
|
258
258
|
```
|
|
259
259
|
|
|
260
260
|
<GithubLink
|
|
261
|
-
marginTop=
|
|
261
|
+
marginTop="mt-16"
|
|
262
262
|
link="https://github.com/mastra-ai/mastra/blob/main/examples/heads-up-game/"
|
|
263
263
|
/>
|
|
264
264
|
|
|
265
265
|
## Related
|
|
266
266
|
|
|
267
|
-
- [Running Workflows](./running-workflows
|
|
268
|
-
- [Control Flow](
|
|
267
|
+
- [Running Workflows](./overview#running-workflows)
|
|
268
|
+
- [Control Flow](/docs/workflows/control-flow)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Inngest
|
|
2
|
+
title: "Inngest Workflow | Workflows | Mastra Docs"
|
|
3
3
|
description: "Inngest workflow allows you to run Mastra workflows with Inngest"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -33,13 +33,13 @@ Initialize the Inngest integration to obtain Mastra-compatible workflow helpers.
|
|
|
33
33
|
|
|
34
34
|
In development
|
|
35
35
|
|
|
36
|
-
```ts showLineNumbers copy
|
|
36
|
+
```ts showLineNumbers copy title="src/mastra/inngest/index.ts"
|
|
37
37
|
import { Inngest } from "inngest";
|
|
38
38
|
import { realtimeMiddleware } from "@inngest/realtime";
|
|
39
39
|
|
|
40
40
|
export const inngest = new Inngest({
|
|
41
41
|
id: "mastra",
|
|
42
|
-
baseUrl:"http://localhost:8288",
|
|
42
|
+
baseUrl: "http://localhost:8288",
|
|
43
43
|
isDev: true,
|
|
44
44
|
middleware: [realtimeMiddleware()],
|
|
45
45
|
});
|
|
@@ -47,7 +47,7 @@ export const inngest = new Inngest({
|
|
|
47
47
|
|
|
48
48
|
In production
|
|
49
49
|
|
|
50
|
-
```ts showLineNumbers copy
|
|
50
|
+
```ts showLineNumbers copy title="src/mastra/inngest/index.ts"
|
|
51
51
|
import { Inngest } from "inngest";
|
|
52
52
|
import { realtimeMiddleware } from "@inngest/realtime";
|
|
53
53
|
|
|
@@ -61,7 +61,7 @@ export const inngest = new Inngest({
|
|
|
61
61
|
|
|
62
62
|
Define the individual steps that will compose your workflow:
|
|
63
63
|
|
|
64
|
-
```ts showLineNumbers copy
|
|
64
|
+
```ts showLineNumbers copy title="src/mastra/workflows/index.ts"
|
|
65
65
|
import { z } from "zod";
|
|
66
66
|
import { inngest } from "../inngest";
|
|
67
67
|
import { init } from "@mastra/inngest";
|
|
@@ -88,7 +88,7 @@ const incrementStep = createStep({
|
|
|
88
88
|
|
|
89
89
|
Compose the steps into a workflow using the `dountil` loop pattern. The createWorkflow function creates a function on inngest server that is invocable.
|
|
90
90
|
|
|
91
|
-
```ts showLineNumbers copy
|
|
91
|
+
```ts showLineNumbers copy title="src/mastra/workflows/index.ts"
|
|
92
92
|
// workflow that is registered as a function on inngest server
|
|
93
93
|
const workflow = createWorkflow({
|
|
94
94
|
id: "increment-workflow",
|
|
@@ -109,7 +109,7 @@ export { workflow as incrementWorkflow };
|
|
|
109
109
|
|
|
110
110
|
Register the workflow with Mastra and configure the Inngest API endpoint:
|
|
111
111
|
|
|
112
|
-
```ts showLineNumbers copy
|
|
112
|
+
```ts showLineNumbers copy title="src/mastra/index.ts"
|
|
113
113
|
import { Mastra } from "@mastra/core/mastra";
|
|
114
114
|
import { serve as inngestServe } from "@mastra/inngest";
|
|
115
115
|
import { incrementWorkflow } from "./workflows";
|
|
@@ -180,7 +180,7 @@ docker run --rm -p 8288:8288 \
|
|
|
180
180
|
- Visit [http://localhost:8288](http://localhost:8288) in your browser.
|
|
181
181
|
- Go to the **Apps** section in the sidebar.
|
|
182
182
|
- You should see your Mastra workflow registered.
|
|
183
|
-

|
|
183
|
+

|
|
184
184
|
|
|
185
185
|
4. Invoke the Workflow
|
|
186
186
|
|
|
@@ -198,13 +198,13 @@ docker run --rm -p 8288:8288 \
|
|
|
198
198
|
}
|
|
199
199
|
```
|
|
200
200
|
|
|
201
|
-

|
|
201
|
+

|
|
202
202
|
|
|
203
203
|
5. **Monitor the Workflow Execution**
|
|
204
204
|
|
|
205
205
|
- Go to the **Runs** tab in the sidebar.
|
|
206
206
|
- Click on the latest run to see step-by-step execution progress.
|
|
207
|
-

|
|
207
|
+

|
|
208
208
|
|
|
209
209
|
### Running the Workflow in Production
|
|
210
210
|
|
|
@@ -216,7 +216,7 @@ docker run --rm -p 8288:8288 \
|
|
|
216
216
|
|
|
217
217
|
1. Add Vercel Deployer to Mastra instance
|
|
218
218
|
|
|
219
|
-
```ts showLineNumbers copy
|
|
219
|
+
```ts showLineNumbers copy title="src/mastra/index.ts"
|
|
220
220
|
import { VercelDeployer } from "@mastra/deployer-vercel";
|
|
221
221
|
|
|
222
222
|
export const mastra = new Mastra({
|
|
@@ -257,7 +257,7 @@ vercel --prod
|
|
|
257
257
|
- Go to the [Inngest dashboard](https://app.inngest.com/env/production/apps).
|
|
258
258
|
- Click **Sync new app with Vercel** and follow the instructions.
|
|
259
259
|
- You should see your Mastra workflow registered as an app.
|
|
260
|
-

|
|
260
|
+

|
|
261
261
|
|
|
262
262
|
5. Invoke the Workflow
|
|
263
263
|
|
|
@@ -275,13 +275,13 @@ vercel --prod
|
|
|
275
275
|
}
|
|
276
276
|
```
|
|
277
277
|
|
|
278
|
-

|
|
278
|
+

|
|
279
279
|
|
|
280
280
|
6. Monitor Execution
|
|
281
281
|
|
|
282
282
|
- Go to the **Runs** tab.
|
|
283
283
|
- Click the latest run to see step-by-step execution progress.
|
|
284
|
-

|
|
284
|
+

|
|
285
285
|
|
|
286
286
|
## Advanced Usage: Adding Custom Inngest Functions
|
|
287
287
|
|
|
@@ -291,28 +291,28 @@ You can serve additional Inngest functions alongside your Mastra workflows by us
|
|
|
291
291
|
|
|
292
292
|
First, create your custom Inngest functions:
|
|
293
293
|
|
|
294
|
-
```ts showLineNumbers copy
|
|
294
|
+
```ts showLineNumbers copy title="src/inngest/custom-functions.ts"
|
|
295
295
|
import { inngest } from "./inngest";
|
|
296
296
|
|
|
297
297
|
// Define custom Inngest functions
|
|
298
298
|
export const customEmailFunction = inngest.createFunction(
|
|
299
|
-
{ id:
|
|
300
|
-
{ event:
|
|
299
|
+
{ id: "send-welcome-email" },
|
|
300
|
+
{ event: "user/registered" },
|
|
301
301
|
async ({ event }) => {
|
|
302
302
|
// Custom email logic here
|
|
303
303
|
console.log(`Sending welcome email to ${event.data.email}`);
|
|
304
|
-
return { status:
|
|
305
|
-
}
|
|
304
|
+
return { status: "email_sent" };
|
|
305
|
+
},
|
|
306
306
|
);
|
|
307
307
|
|
|
308
308
|
export const customWebhookFunction = inngest.createFunction(
|
|
309
|
-
{ id:
|
|
310
|
-
{ event:
|
|
309
|
+
{ id: "process-webhook" },
|
|
310
|
+
{ event: "webhook/received" },
|
|
311
311
|
async ({ event }) => {
|
|
312
312
|
// Custom webhook processing
|
|
313
313
|
console.log(`Processing webhook: ${event.data.type}`);
|
|
314
314
|
return { processed: true };
|
|
315
|
-
}
|
|
315
|
+
},
|
|
316
316
|
);
|
|
317
317
|
```
|
|
318
318
|
|
|
@@ -320,12 +320,15 @@ export const customWebhookFunction = inngest.createFunction(
|
|
|
320
320
|
|
|
321
321
|
Update your Mastra configuration to include the custom functions:
|
|
322
322
|
|
|
323
|
-
```ts showLineNumbers copy
|
|
323
|
+
```ts showLineNumbers copy title="src/mastra/index.ts"
|
|
324
324
|
import { Mastra } from "@mastra/core/mastra";
|
|
325
325
|
import { serve as inngestServe } from "@mastra/inngest";
|
|
326
326
|
import { incrementWorkflow } from "./workflows";
|
|
327
327
|
import { inngest } from "./inngest";
|
|
328
|
-
import {
|
|
328
|
+
import {
|
|
329
|
+
customEmailFunction,
|
|
330
|
+
customWebhookFunction,
|
|
331
|
+
} from "./inngest/custom-functions";
|
|
329
332
|
|
|
330
333
|
export const mastra = new Mastra({
|
|
331
334
|
workflows: {
|
|
@@ -337,11 +340,12 @@ export const mastra = new Mastra({
|
|
|
337
340
|
{
|
|
338
341
|
path: "/api/inngest",
|
|
339
342
|
method: "ALL",
|
|
340
|
-
createHandler: async ({ mastra }) =>
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
343
|
+
createHandler: async ({ mastra }) =>
|
|
344
|
+
inngestServe({
|
|
345
|
+
mastra,
|
|
346
|
+
inngest,
|
|
347
|
+
functions: [customEmailFunction, customWebhookFunction], // Add your custom functions
|
|
348
|
+
}),
|
|
345
349
|
},
|
|
346
350
|
],
|
|
347
351
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Input Data Mapping
|
|
2
|
+
title: "Input Data Mapping | Workflows | Mastra Docs"
|
|
3
3
|
description: "Learn how to use workflow input mapping to create more dynamic data flows in your Mastra workflows."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -16,9 +16,9 @@ Input data mapping allows explicit mapping of values for the inputs of the next
|
|
|
16
16
|
|
|
17
17
|
In this example the `output` from `step1` is transformed to match the `inputSchema` required for the `step2`. The value from `step1` is available using the `inputData` parameter of the `.map` function.
|
|
18
18
|
|
|
19
|
-
](/img/workflows/workflows-data-mapping-map.jpg)
|
|
20
20
|
|
|
21
|
-
```typescript {9}
|
|
21
|
+
```typescript {9} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
22
22
|
const step1 = createStep({...});
|
|
23
23
|
const step2 = createStep({...});
|
|
24
24
|
|
|
@@ -38,7 +38,7 @@ export const testWorkflow = createWorkflow({...})
|
|
|
38
38
|
|
|
39
39
|
Use `inputData` to access the full output of the previous step:
|
|
40
40
|
|
|
41
|
-
```typescript {3}
|
|
41
|
+
```typescript {3} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
42
42
|
.then(step1)
|
|
43
43
|
.map(({ inputData }) => {
|
|
44
44
|
console.log(inputData);
|
|
@@ -49,7 +49,7 @@ Use `inputData` to access the full output of the previous step:
|
|
|
49
49
|
|
|
50
50
|
Use `getStepResult` to access the full output of a specific step by referencing the step's instance:
|
|
51
51
|
|
|
52
|
-
```typescript {3}
|
|
52
|
+
```typescript {3} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
53
53
|
.then(step1)
|
|
54
54
|
.map(async ({ getStepResult }) => {
|
|
55
55
|
console.log(getStepResult(step1));
|
|
@@ -60,7 +60,7 @@ Use `getStepResult` to access the full output of a specific step by referencing
|
|
|
60
60
|
|
|
61
61
|
Use `getInitData` to access the initial input data provided to the workflow:
|
|
62
62
|
|
|
63
|
-
```typescript {3}
|
|
63
|
+
```typescript {3} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
64
64
|
.then(step1)
|
|
65
65
|
.map(async ({ getInitData }) => {
|
|
66
66
|
console.log(getInitData());
|
|
@@ -71,7 +71,7 @@ Use `getInitData` to access the initial input data provided to the workflow:
|
|
|
71
71
|
|
|
72
72
|
To use `mapVariable` import the necessary function from the workflows module:
|
|
73
73
|
|
|
74
|
-
```typescript
|
|
74
|
+
```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
75
75
|
import { mapVariable } from "@mastra/core/workflows";
|
|
76
76
|
```
|
|
77
77
|
|
|
@@ -79,7 +79,7 @@ import { mapVariable } from "@mastra/core/workflows";
|
|
|
79
79
|
|
|
80
80
|
You can rename step outputs using the object syntax in `.map()`. In the example below, the `value` output from `step1` is renamed to `details`:
|
|
81
81
|
|
|
82
|
-
```typescript {3-6}
|
|
82
|
+
```typescript {3-6} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
83
83
|
.then(step1)
|
|
84
84
|
.map({
|
|
85
85
|
details: mapVariable({
|
|
@@ -93,7 +93,7 @@ You can rename step outputs using the object syntax in `.map()`. In the example
|
|
|
93
93
|
|
|
94
94
|
You can rename workflow outputs by using **referential composition**. This involves passing the workflow instance as the `initData`.
|
|
95
95
|
|
|
96
|
-
```typescript {6-9}
|
|
96
|
+
```typescript {6-9} title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
|
|
97
97
|
export const testWorkflow = createWorkflow({...});
|
|
98
98
|
|
|
99
99
|
testWorkflow
|