@mastra/mcp-docs-server 1.0.0-beta.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +3 -1
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +3 -1
- package/.docs/organized/changelogs/%40internal%2Fplayground.md +60 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +15 -15
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +3 -1
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +302 -302
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +38 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +66 -66
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +522 -212
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +239 -239
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +439 -234
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +450 -211
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +202 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +448 -22
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +348 -348
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +60 -60
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +287 -287
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +106 -106
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +90 -90
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +86 -86
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +221 -221
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +70 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +403 -225
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +72 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +145 -145
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +54 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +456 -226
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +625 -229
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +71 -71
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +245 -245
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +28 -28
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +281 -281
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +354 -156
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +545 -212
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +481 -202
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +194 -194
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +781 -235
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +198 -198
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +282 -282
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +163 -163
- package/.docs/organized/changelogs/%40mastra%2Frag.md +310 -310
- package/.docs/organized/changelogs/%40mastra%2Freact.md +328 -237
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +64 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +160 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +230 -230
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +57 -57
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +479 -232
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +110 -110
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +15 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +98 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +54 -54
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +46 -46
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +93 -93
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +45 -45
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +45 -45
- package/.docs/organized/changelogs/create-mastra.md +219 -219
- package/.docs/organized/changelogs/mastra.md +276 -276
- package/.docs/organized/code-examples/a2a.md +2 -2
- package/.docs/organized/code-examples/agent-v6.md +221 -0
- package/.docs/organized/code-examples/agui.md +4 -4
- package/.docs/organized/code-examples/ai-elements.md +3 -3
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -3
- package/.docs/organized/code-examples/assistant-ui.md +5 -5
- package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +3 -3
- package/.docs/organized/code-examples/client-side-tools.md +4 -4
- package/.docs/organized/code-examples/crypto-chatbot.md +5 -5
- package/.docs/organized/code-examples/experimental-auth-weather-agent.md +1 -1
- package/.docs/organized/code-examples/fireworks-r1.md +2 -2
- package/.docs/organized/code-examples/heads-up-game.md +7 -7
- package/.docs/organized/code-examples/inngest.md +1075 -0
- package/.docs/organized/code-examples/mcp-configuration.md +1 -1
- package/.docs/organized/code-examples/mcp-server-adapters.md +2 -2
- package/.docs/organized/code-examples/memory-per-resource-example.md +3 -3
- package/.docs/organized/code-examples/memory-todo-agent.md +1 -1
- package/.docs/organized/code-examples/memory-with-context.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +3 -3
- package/.docs/organized/code-examples/quick-start.md +1 -5
- package/.docs/organized/code-examples/server-app-access.md +2 -2
- package/.docs/organized/code-examples/server-express-adapter.md +1 -1
- package/.docs/organized/code-examples/server-fastify-adapter.md +83 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +2 -2
- package/.docs/organized/code-examples/server-koa-adapter.md +94 -0
- package/.docs/organized/code-examples/stock-price-tool.md +21 -2
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +24 -6
- package/.docs/raw/agents/agent-approval.mdx +209 -12
- package/.docs/raw/agents/agent-memory.mdx +36 -32
- package/.docs/raw/agents/guardrails.mdx +105 -56
- package/.docs/raw/agents/network-approval.mdx +281 -0
- package/.docs/raw/agents/networks.mdx +69 -13
- package/.docs/raw/agents/overview.mdx +43 -25
- package/.docs/raw/agents/processors.mdx +234 -17
- package/.docs/raw/agents/structured-output.mdx +78 -8
- package/.docs/raw/agents/using-tools.mdx +67 -6
- package/.docs/raw/course/01-first-agent/07-creating-your-agent.md +1 -2
- package/.docs/raw/course/01-first-agent/12-connecting-tool-to-agent.md +1 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +1 -2
- package/.docs/raw/course/02-agent-tools-mcp/05-updating-your-agent.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/10-updating-agent-instructions-zapier.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/16-updating-agent-instructions-github.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/21-updating-agent-instructions-hackernews.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/27-updating-agent-instructions-filesystem.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +3 -3
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -2
- package/.docs/raw/course/03-agent-memory/07-understanding-memory-threads.md +35 -0
- package/.docs/raw/course/03-agent-memory/08-configuring-conversation-history.md +1 -2
- package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +1 -1
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +4 -5
- package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -1
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +3 -4
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +3 -4
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +3 -4
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +3 -4
- package/.docs/raw/course/04-workflows/11-creating-an-ai-agent.md +2 -3
- package/.docs/raw/deployment/cloud-providers.mdx +22 -0
- package/.docs/raw/deployment/mastra-server.mdx +140 -0
- package/.docs/raw/deployment/monorepo.mdx +106 -42
- package/.docs/raw/deployment/overview.mdx +35 -48
- package/.docs/raw/deployment/web-framework.mdx +17 -19
- package/.docs/raw/deployment/workflow-runners.mdx +16 -0
- package/.docs/raw/evals/built-in-scorers.mdx +2 -0
- package/.docs/raw/evals/custom-scorers.mdx +60 -12
- package/.docs/raw/evals/overview.mdx +6 -6
- package/.docs/raw/evals/running-in-ci.mdx +4 -2
- package/.docs/raw/getting-started/manual-install.mdx +20 -20
- package/.docs/raw/getting-started/mcp-docs-server.mdx +59 -2
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +17 -1
- package/.docs/raw/getting-started/studio.mdx +6 -35
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +23 -33
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +1034 -80
- package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +32 -11
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/amazon-ec2.mdx +9 -9
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/aws-lambda.mdx +13 -16
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/azure-app-services.mdx +5 -7
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/cloudflare-deployer.mdx +8 -5
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/digital-ocean.mdx +18 -23
- package/.docs/raw/guides/deployment/index.mdx +32 -0
- package/.docs/raw/guides/deployment/inngest.mdx +673 -0
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/netlify-deployer.mdx +7 -3
- package/.docs/raw/{deployment/cloud-providers → guides/deployment}/vercel-deployer.mdx +8 -5
- package/.docs/raw/guides/getting-started/astro.mdx +292 -451
- package/.docs/raw/guides/getting-started/express.mdx +72 -153
- package/.docs/raw/guides/getting-started/hono.mdx +227 -0
- package/.docs/raw/guides/getting-started/next-js.mdx +173 -61
- package/.docs/raw/guides/getting-started/nuxt.mdx +505 -0
- package/.docs/raw/guides/getting-started/quickstart.mdx +5 -5
- package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
- package/.docs/raw/guides/getting-started/vite-react.mdx +317 -147
- 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 +20 -20
- package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
- package/.docs/raw/guides/guide/web-search.mdx +38 -38
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
- package/.docs/raw/guides/index.mdx +0 -1
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +105 -4
- package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +15 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +170 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/deployment.mdx +42 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +0 -35
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +40 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +17 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/rag.mdx +47 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +271 -25
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +72 -17
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +46 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +50 -7
- 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 +86 -0
- package/.docs/raw/mastra-cloud/observability.mdx +43 -0
- package/.docs/raw/mastra-cloud/overview.mdx +31 -0
- package/.docs/raw/mastra-cloud/setup.mdx +64 -0
- package/.docs/raw/mastra-cloud/studio.mdx +35 -0
- package/.docs/raw/mcp/overview.mdx +60 -25
- package/.docs/raw/mcp/publishing-mcp-server.mdx +7 -4
- package/.docs/raw/memory/memory-processors.mdx +17 -12
- package/.docs/raw/memory/message-history.mdx +72 -0
- package/.docs/raw/memory/overview.mdx +38 -76
- package/.docs/raw/memory/semantic-recall.mdx +65 -52
- package/.docs/raw/memory/storage.mdx +248 -0
- package/.docs/raw/memory/working-memory.mdx +24 -13
- package/.docs/raw/observability/logging.mdx +16 -15
- package/.docs/raw/observability/overview.mdx +27 -7
- package/.docs/raw/observability/tracing/bridges/otel.mdx +7 -4
- package/.docs/raw/observability/tracing/exporters/arize.mdx +61 -24
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +32 -22
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +24 -5
- package/.docs/raw/observability/tracing/exporters/datadog.mdx +175 -0
- package/.docs/raw/observability/tracing/exporters/default.mdx +28 -7
- package/.docs/raw/observability/tracing/exporters/laminar.mdx +89 -0
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +31 -22
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +33 -3
- package/.docs/raw/observability/tracing/exporters/otel.mdx +194 -22
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +32 -22
- package/.docs/raw/observability/tracing/exporters/sentry.mdx +198 -0
- package/.docs/raw/observability/tracing/overview.mdx +388 -108
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +27 -7
- package/.docs/raw/rag/chunking-and-embedding.mdx +22 -33
- package/.docs/raw/rag/graph-rag.mdx +223 -0
- package/.docs/raw/rag/overview.mdx +6 -3
- package/.docs/raw/rag/retrieval.mdx +53 -57
- package/.docs/raw/rag/vector-databases.mdx +55 -31
- package/.docs/raw/reference/agents/agent.mdx +17 -14
- package/.docs/raw/reference/agents/generate.mdx +172 -44
- package/.docs/raw/reference/agents/generateLegacy.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +5 -3
- package/.docs/raw/reference/agents/getDescription.mdx +3 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +5 -3
- package/.docs/raw/reference/agents/getLLM.mdx +5 -3
- package/.docs/raw/reference/agents/getMemory.mdx +5 -3
- package/.docs/raw/reference/agents/getModel.mdx +5 -3
- package/.docs/raw/reference/agents/getTools.mdx +4 -2
- package/.docs/raw/reference/agents/getVoice.mdx +4 -2
- package/.docs/raw/reference/agents/listAgents.mdx +4 -2
- package/.docs/raw/reference/agents/listScorers.mdx +5 -3
- package/.docs/raw/reference/agents/listTools.mdx +4 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +4 -2
- package/.docs/raw/reference/agents/network.mdx +113 -1
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +6 -3
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +4 -2
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +4 -2
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +5 -3
- package/.docs/raw/reference/ai-sdk/network-route.mdx +6 -3
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +10 -6
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +130 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +110 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +122 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +7 -4
- package/.docs/raw/reference/auth/auth0.mdx +5 -3
- package/.docs/raw/reference/auth/clerk.mdx +5 -3
- package/.docs/raw/reference/auth/firebase.mdx +6 -5
- package/.docs/raw/reference/auth/jwt.mdx +5 -3
- package/.docs/raw/reference/auth/supabase.mdx +5 -3
- package/.docs/raw/reference/auth/workos.mdx +5 -3
- package/.docs/raw/reference/cli/create-mastra.mdx +12 -10
- package/.docs/raw/reference/cli/mastra.mdx +63 -15
- package/.docs/raw/reference/client-js/agents.mdx +77 -35
- package/.docs/raw/reference/client-js/error-handling.mdx +3 -3
- package/.docs/raw/reference/client-js/logs.mdx +2 -0
- package/.docs/raw/reference/client-js/mastra-client.mdx +4 -2
- package/.docs/raw/reference/client-js/memory.mdx +43 -1
- package/.docs/raw/reference/client-js/observability.mdx +2 -0
- package/.docs/raw/reference/client-js/telemetry.mdx +2 -0
- package/.docs/raw/reference/client-js/tools.mdx +2 -0
- package/.docs/raw/reference/client-js/vectors.mdx +2 -0
- package/.docs/raw/reference/client-js/workflows.mdx +47 -3
- package/.docs/raw/reference/configuration.mdx +761 -0
- package/.docs/raw/reference/core/addGateway.mdx +2 -0
- package/.docs/raw/reference/core/getAgent.mdx +3 -1
- package/.docs/raw/reference/core/getAgentById.mdx +3 -1
- package/.docs/raw/reference/core/getDeployer.mdx +3 -1
- package/.docs/raw/reference/core/getGateway.mdx +2 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +2 -0
- package/.docs/raw/reference/core/getLogger.mdx +3 -1
- package/.docs/raw/reference/core/getMCPServer.mdx +3 -1
- package/.docs/raw/reference/core/getMCPServerById.mdx +3 -1
- package/.docs/raw/reference/core/getMemory.mdx +7 -3
- package/.docs/raw/reference/core/getScorer.mdx +2 -0
- package/.docs/raw/reference/core/getScorerById.mdx +2 -0
- package/.docs/raw/reference/core/getServer.mdx +6 -4
- package/.docs/raw/reference/core/getStorage.mdx +5 -3
- package/.docs/raw/reference/core/getStoredAgentById.mdx +6 -4
- package/.docs/raw/reference/core/getTelemetry.mdx +3 -1
- package/.docs/raw/reference/core/getVector.mdx +3 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +3 -1
- package/.docs/raw/reference/core/listAgents.mdx +3 -1
- package/.docs/raw/reference/core/listGateways.mdx +2 -0
- package/.docs/raw/reference/core/listLogs.mdx +3 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +3 -1
- package/.docs/raw/reference/core/listMCPServers.mdx +3 -1
- package/.docs/raw/reference/core/listMemory.mdx +8 -4
- package/.docs/raw/reference/core/listScorers.mdx +2 -0
- package/.docs/raw/reference/core/listStoredAgents.mdx +7 -5
- package/.docs/raw/reference/core/listVectors.mdx +3 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +3 -1
- package/.docs/raw/reference/core/mastra-class.mdx +27 -20
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +2 -0
- package/.docs/raw/reference/core/setLogger.mdx +3 -1
- package/.docs/raw/reference/core/setStorage.mdx +6 -4
- package/.docs/raw/reference/deployer/cloudflare.mdx +22 -53
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -1
- package/.docs/raw/reference/deployer/vercel.mdx +5 -4
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -1
- package/.docs/raw/reference/evals/answer-similarity.mdx +4 -1
- package/.docs/raw/reference/evals/bias.mdx +4 -1
- package/.docs/raw/reference/evals/completeness.mdx +4 -1
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -1
- package/.docs/raw/reference/evals/context-precision.mdx +4 -1
- package/.docs/raw/reference/evals/context-relevance.mdx +2 -0
- package/.docs/raw/reference/evals/create-scorer.mdx +11 -3
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -1
- package/.docs/raw/reference/evals/hallucination.mdx +4 -1
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -1
- package/.docs/raw/reference/evals/mastra-scorer.mdx +2 -0
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +2 -0
- package/.docs/raw/reference/evals/prompt-alignment.mdx +9 -7
- package/.docs/raw/reference/evals/run-evals.mdx +3 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +3 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -1
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -1
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +25 -23
- package/.docs/raw/reference/evals/toxicity.mdx +4 -1
- package/.docs/raw/reference/index.mdx +2 -1
- package/.docs/raw/reference/logging/pino-logger.mdx +10 -8
- package/.docs/raw/reference/memory/clone-utilities.mdx +345 -0
- package/.docs/raw/reference/memory/cloneThread.mdx +237 -0
- package/.docs/raw/reference/memory/createThread.mdx +6 -4
- package/.docs/raw/reference/memory/deleteMessages.mdx +4 -2
- package/.docs/raw/reference/memory/getThreadById.mdx +3 -1
- package/.docs/raw/reference/memory/listThreads.mdx +187 -0
- package/.docs/raw/reference/memory/memory-class.mdx +27 -20
- package/.docs/raw/reference/memory/recall.mdx +6 -4
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +6 -2
- package/.docs/raw/reference/observability/tracing/configuration.mdx +51 -0
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +25 -6
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +23 -2
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +3 -0
- package/.docs/raw/reference/observability/tracing/exporters/datadog.mdx +172 -0
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/laminar.mdx +139 -0
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +26 -4
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +10 -0
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +51 -34
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +25 -4
- package/.docs/raw/reference/observability/tracing/exporters/sentry.mdx +224 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +2 -0
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +20 -0
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +2 -0
- package/.docs/raw/reference/observability/tracing/spans.mdx +2 -0
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +4 -2
- package/.docs/raw/reference/processors/language-detector.mdx +6 -3
- package/.docs/raw/reference/processors/message-history-processor.mdx +5 -2
- package/.docs/raw/reference/processors/moderation-processor.mdx +6 -4
- package/.docs/raw/reference/processors/pii-detector.mdx +6 -4
- package/.docs/raw/reference/processors/processor-interface.mdx +326 -23
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +5 -3
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +7 -2
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +5 -3
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +62 -19
- package/.docs/raw/reference/processors/tool-call-filter.mdx +5 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +6 -3
- package/.docs/raw/reference/processors/working-memory-processor.mdx +6 -3
- package/.docs/raw/reference/rag/chunk.mdx +7 -6
- package/.docs/raw/reference/rag/database-config.mdx +8 -6
- package/.docs/raw/reference/rag/document.mdx +2 -0
- package/.docs/raw/reference/rag/embeddings.mdx +2 -0
- package/.docs/raw/reference/rag/extract-params.mdx +57 -3
- package/.docs/raw/reference/rag/graph-rag.mdx +2 -0
- package/.docs/raw/reference/rag/metadata-filters.mdx +27 -7
- package/.docs/raw/reference/rag/rerank.mdx +2 -0
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -0
- package/.docs/raw/reference/server/create-route.mdx +34 -18
- package/.docs/raw/reference/server/express-adapter.mdx +27 -51
- package/.docs/raw/reference/server/fastify-adapter.mdx +130 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +27 -51
- package/.docs/raw/reference/server/koa-adapter.mdx +129 -0
- package/.docs/raw/reference/server/mastra-server.mdx +52 -34
- package/.docs/raw/reference/server/routes.mdx +73 -10
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +10 -5
- package/.docs/raw/reference/storage/cloudflare.mdx +12 -2
- package/.docs/raw/reference/storage/composite.mdx +245 -0
- package/.docs/raw/reference/storage/convex.mdx +8 -6
- package/.docs/raw/reference/storage/dynamodb.mdx +134 -8
- package/.docs/raw/reference/storage/lance.mdx +9 -5
- package/.docs/raw/reference/storage/libsql.mdx +76 -54
- package/.docs/raw/reference/storage/mongodb.mdx +115 -16
- package/.docs/raw/reference/storage/mssql.mdx +11 -6
- package/.docs/raw/{server-db/storage.mdx → reference/storage/overview.mdx} +15 -111
- package/.docs/raw/reference/storage/postgresql.mdx +228 -83
- package/.docs/raw/reference/storage/upstash.mdx +78 -2
- package/.docs/raw/reference/streaming/ChunkType.mdx +31 -3
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +67 -6
- package/.docs/raw/reference/streaming/agents/stream.mdx +48 -51
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +5 -3
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -1
- package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +3 -1
- package/.docs/raw/reference/streaming/workflows/stream.mdx +37 -22
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +6 -4
- package/.docs/raw/reference/templates/overview.mdx +3 -2
- package/.docs/raw/reference/tools/client.mdx +3 -0
- package/.docs/raw/reference/tools/create-tool.mdx +127 -5
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -0
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +40 -3
- package/.docs/raw/reference/tools/mcp-client.mdx +110 -1
- package/.docs/raw/reference/tools/mcp-server.mdx +278 -24
- package/.docs/raw/reference/tools/vector-query-tool.mdx +68 -4
- package/.docs/raw/reference/vectors/astra.mdx +5 -3
- package/.docs/raw/reference/vectors/chroma.mdx +5 -3
- package/.docs/raw/reference/vectors/convex.mdx +14 -12
- package/.docs/raw/reference/vectors/couchbase.mdx +7 -5
- package/.docs/raw/reference/vectors/duckdb.mdx +12 -10
- package/.docs/raw/reference/vectors/elasticsearch.mdx +12 -4
- package/.docs/raw/reference/vectors/lance.mdx +6 -4
- package/.docs/raw/reference/vectors/libsql.mdx +66 -13
- package/.docs/raw/reference/vectors/mongodb.mdx +90 -10
- package/.docs/raw/reference/vectors/opensearch.mdx +30 -3
- package/.docs/raw/reference/vectors/pg.mdx +58 -6
- package/.docs/raw/reference/vectors/pinecone.mdx +23 -8
- package/.docs/raw/reference/vectors/qdrant.mdx +148 -4
- package/.docs/raw/reference/vectors/s3vectors.mdx +8 -6
- package/.docs/raw/reference/vectors/turbopuffer.mdx +6 -4
- package/.docs/raw/reference/vectors/upstash.mdx +60 -6
- package/.docs/raw/reference/vectors/vectorize.mdx +5 -3
- package/.docs/raw/reference/voice/azure.mdx +2 -0
- package/.docs/raw/reference/voice/cloudflare.mdx +2 -0
- package/.docs/raw/reference/voice/composite-voice.mdx +4 -0
- package/.docs/raw/reference/voice/deepgram.mdx +2 -0
- package/.docs/raw/reference/voice/elevenlabs.mdx +2 -0
- package/.docs/raw/reference/voice/google-gemini-live.mdx +3 -0
- package/.docs/raw/reference/voice/google.mdx +2 -0
- package/.docs/raw/reference/voice/mastra-voice.mdx +2 -0
- package/.docs/raw/reference/voice/murf.mdx +2 -0
- package/.docs/raw/reference/voice/openai-realtime.mdx +3 -0
- package/.docs/raw/reference/voice/openai.mdx +2 -0
- package/.docs/raw/reference/voice/playai.mdx +2 -0
- package/.docs/raw/reference/voice/sarvam.mdx +2 -0
- package/.docs/raw/reference/voice/speechify.mdx +2 -0
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +3 -0
- package/.docs/raw/reference/voice/voice.addTools.mdx +3 -0
- package/.docs/raw/reference/voice/voice.answer.mdx +4 -0
- package/.docs/raw/reference/voice/voice.close.mdx +3 -0
- package/.docs/raw/reference/voice/voice.connect.mdx +5 -1
- package/.docs/raw/reference/voice/voice.events.mdx +2 -0
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +3 -0
- package/.docs/raw/reference/voice/voice.listen.mdx +6 -0
- package/.docs/raw/reference/voice/voice.off.mdx +2 -0
- package/.docs/raw/reference/voice/voice.on.mdx +5 -1
- package/.docs/raw/reference/voice/voice.send.mdx +4 -0
- package/.docs/raw/reference/voice/voice.speak.mdx +6 -0
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -0
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +55 -5
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +6 -4
- package/.docs/raw/reference/workflows/run-methods/start.mdx +7 -5
- package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +145 -0
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +10 -8
- package/.docs/raw/reference/workflows/run.mdx +11 -3
- package/.docs/raw/reference/workflows/step.mdx +56 -3
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +39 -2
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +71 -4
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +9 -7
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +4 -6
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +4 -6
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +3 -1
- package/.docs/raw/reference/workflows/workflow.mdx +193 -2
- package/.docs/raw/{auth → server/auth}/auth0.mdx +40 -21
- package/.docs/raw/{auth → server/auth}/clerk.mdx +37 -16
- package/.docs/raw/{auth → server/auth}/firebase.mdx +47 -25
- package/.docs/raw/{auth → server/auth}/index.mdx +8 -6
- package/.docs/raw/{auth → server/auth}/jwt.mdx +22 -10
- package/.docs/raw/{auth → server/auth}/supabase.mdx +45 -25
- package/.docs/raw/{auth → server/auth}/workos.mdx +39 -20
- package/.docs/raw/{server-db → server}/custom-adapters.mdx +40 -24
- package/.docs/raw/{server-db → server}/custom-api-routes.mdx +6 -6
- package/.docs/raw/{server-db → server}/mastra-client.mdx +35 -38
- package/.docs/raw/server/mastra-server.mdx +86 -0
- package/.docs/raw/{server-db → server}/middleware.mdx +11 -9
- package/.docs/raw/{server-db → server}/request-context.mdx +85 -43
- package/.docs/raw/{server-db → server}/server-adapters.mdx +154 -33
- package/.docs/raw/streaming/events.mdx +16 -7
- package/.docs/raw/streaming/overview.mdx +30 -17
- package/.docs/raw/streaming/tool-streaming.mdx +8 -6
- package/.docs/raw/streaming/workflow-streaming.mdx +8 -8
- package/.docs/raw/tools-mcp/advanced-usage.mdx +4 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +46 -12
- package/.docs/raw/tools-mcp/overview.mdx +14 -13
- package/.docs/raw/voice/overview.mdx +17 -2
- package/.docs/raw/voice/speech-to-speech.mdx +5 -0
- package/.docs/raw/voice/speech-to-text.mdx +4 -0
- package/.docs/raw/voice/text-to-speech.mdx +3 -0
- package/.docs/raw/workflows/agents-and-tools.mdx +70 -21
- package/.docs/raw/workflows/control-flow.mdx +369 -34
- package/.docs/raw/workflows/error-handling.mdx +192 -18
- package/.docs/raw/workflows/human-in-the-loop.mdx +8 -7
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -7
- package/.docs/raw/workflows/overview.mdx +80 -34
- package/.docs/raw/workflows/snapshots.mdx +19 -45
- package/.docs/raw/workflows/suspend-and-resume.mdx +14 -14
- package/.docs/raw/workflows/time-travel.mdx +25 -21
- package/.docs/raw/workflows/workflow-state.mdx +7 -8
- package/CHANGELOG.md +260 -0
- package/README.md +36 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/stdio.js +746 -49
- package/dist/tools/course.d.ts.map +1 -1
- package/dist/tools/embedded-docs.d.ts +276 -0
- package/dist/tools/embedded-docs.d.ts.map +1 -0
- package/package.json +9 -8
- package/.docs/organized/changelogs/%40internal%2Fai-sdk-v4.md +0 -1
- package/.docs/raw/deployment/building-mastra.mdx +0 -73
- package/.docs/raw/deployment/cloud-providers/index.mdx +0 -55
- package/.docs/raw/deployment/mastra-cloud/dashboard.mdx +0 -100
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +0 -53
- package/.docs/raw/deployment/mastra-cloud/overview.mdx +0 -65
- package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +0 -105
- 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/reference/core/setTelemetry.mdx +0 -36
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +0 -110
- package/.docs/raw/reference/memory/query.mdx +0 -189
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +0 -70
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +0 -66
- package/.docs/raw/server-db/mastra-server.mdx +0 -97
- package/.docs/raw/workflows/inngest-workflow.mdx +0 -363
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Request Context | Server
|
|
2
|
+
title: "Request Context | Server"
|
|
3
3
|
description: Learn how to use Mastra's RequestContext to provide dynamic, request-specific configuration to agents.
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Request Context
|
|
@@ -9,7 +11,7 @@ Agents, tools, and workflows can all accept `RequestContext` as a parameter, mak
|
|
|
9
11
|
|
|
10
12
|
## When to use `RequestContext`
|
|
11
13
|
|
|
12
|
-
Use `RequestContext` when a primitive
|
|
14
|
+
Use `RequestContext` when a primitive's behavior should change based on runtime conditions. For example, you might switch models or storage backends based on user attributes, or adjust instructions and tool selection based on language.
|
|
13
15
|
|
|
14
16
|
:::note
|
|
15
17
|
|
|
@@ -28,7 +30,7 @@ The `.set()` method takes two arguments:
|
|
|
28
30
|
1. **key**: The name used to identify the value.
|
|
29
31
|
2. **value**: The data to associate with that key.
|
|
30
32
|
|
|
31
|
-
```typescript
|
|
33
|
+
```typescript
|
|
32
34
|
import { RequestContext } from "@mastra/core/request-context";
|
|
33
35
|
|
|
34
36
|
export type UserTier = {
|
|
@@ -62,19 +64,17 @@ await run.resume({
|
|
|
62
64
|
requestContext,
|
|
63
65
|
});
|
|
64
66
|
|
|
65
|
-
await weatherTool.execute(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
requestContext,
|
|
70
|
-
});
|
|
67
|
+
await weatherTool.execute(
|
|
68
|
+
{ location: "London" },
|
|
69
|
+
{ requestContext },
|
|
70
|
+
);
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
### Setting values based on request headers
|
|
74
74
|
|
|
75
75
|
You can populate `requestContext` dynamically in server middleware by extracting information from the request. In this example, the `temperature-unit` is set based on the Cloudflare `CF-IPCountry` header to ensure responses match the user's locale.
|
|
76
76
|
|
|
77
|
-
```typescript title="src/mastra/index.ts"
|
|
77
|
+
```typescript title="src/mastra/index.ts"
|
|
78
78
|
import { Mastra } from "@mastra/core";
|
|
79
79
|
import { RequestContext } from "@mastra/core/request-context";
|
|
80
80
|
import { testWeatherAgent } from "./agents/test-weather-agent";
|
|
@@ -99,13 +99,17 @@ export const mastra = new Mastra({
|
|
|
99
99
|
});
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
|
|
102
|
+
:::info
|
|
103
|
+
|
|
104
|
+
Visit [Middleware](/docs/v1/server/middleware) for how to use server middleware.
|
|
105
|
+
|
|
106
|
+
:::
|
|
103
107
|
|
|
104
108
|
## Accessing values with agents
|
|
105
109
|
|
|
106
110
|
You can access the `requestContext` argument from any supported configuration options in agents. These functions can be sync or `async`. Use the `.get()` method to read values from `requestContext`.
|
|
107
111
|
|
|
108
|
-
```typescript
|
|
112
|
+
```typescript title="src/mastra/agents/weather-agent.ts"
|
|
109
113
|
export type UserTier = {
|
|
110
114
|
"user-tier": "enterprise" | "pro";
|
|
111
115
|
};
|
|
@@ -116,32 +120,27 @@ export const weatherAgent = new Agent({
|
|
|
116
120
|
instructions: async ({ requestContext }) => {
|
|
117
121
|
const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
|
|
118
122
|
|
|
119
|
-
if (userTier === "enterprise") {
|
|
120
|
-
// ...
|
|
121
|
-
}
|
|
122
|
-
// ...
|
|
123
|
-
},
|
|
124
|
-
model: ({ requestContext }) => {
|
|
125
|
-
// ...
|
|
126
|
-
},
|
|
127
|
-
tools: ({ requestContext }) => {
|
|
128
|
-
// ...
|
|
129
|
-
},
|
|
130
|
-
memory: ({ requestContext }) => {
|
|
131
|
-
// ...
|
|
123
|
+
if (userTier === "enterprise") {}
|
|
132
124
|
},
|
|
125
|
+
model: ({ requestContext }) => {},
|
|
126
|
+
tools: ({ requestContext }) => {},
|
|
127
|
+
memory: ({ requestContext }) => {},
|
|
133
128
|
});
|
|
134
129
|
```
|
|
135
130
|
|
|
136
131
|
You can also use `requestContext` with other options like `agents`, `workflows`, `scorers`, `inputProcessors`, and `outputProcessors`.
|
|
137
132
|
|
|
138
|
-
|
|
133
|
+
:::info
|
|
134
|
+
|
|
135
|
+
Visit [Agent](/reference/v1/agents/agent) for a full list of configuration options.
|
|
136
|
+
|
|
137
|
+
:::
|
|
139
138
|
|
|
140
139
|
## Accessing values from workflow steps
|
|
141
140
|
|
|
142
141
|
You can access the `requestContext` argument from a workflow step's `execute` function. This function can be sync or async. Use the `.get()` method to read values from `requestContext`.
|
|
143
142
|
|
|
144
|
-
```typescript
|
|
143
|
+
```typescript title="src/mastra/workflows/weather-workflow.ts"
|
|
145
144
|
export type UserTier = {
|
|
146
145
|
"user-tier": "enterprise" | "pro";
|
|
147
146
|
};
|
|
@@ -151,43 +150,86 @@ const stepOne = createStep({
|
|
|
151
150
|
execute: async ({ requestContext }) => {
|
|
152
151
|
const userTier = requestContext.get("user-tier") as UserTier["user-tier"];
|
|
153
152
|
|
|
154
|
-
if (userTier === "enterprise") {
|
|
155
|
-
// ...
|
|
156
|
-
}
|
|
157
|
-
// ...
|
|
153
|
+
if (userTier === "enterprise") {}
|
|
158
154
|
},
|
|
159
155
|
});
|
|
160
156
|
```
|
|
161
157
|
|
|
162
|
-
|
|
158
|
+
:::info
|
|
159
|
+
|
|
160
|
+
Visit [createStep()](/reference/v1/workflows/step) for a full list of configuration options.
|
|
161
|
+
|
|
162
|
+
:::
|
|
163
163
|
|
|
164
164
|
## Accessing values with tools
|
|
165
165
|
|
|
166
|
-
You can access the `requestContext` argument from a tool
|
|
166
|
+
You can access the `requestContext` argument from a tool's `execute` function. This function is `async`. Use the `.get()` method to read values from `requestContext`.
|
|
167
167
|
|
|
168
|
-
```typescript
|
|
168
|
+
```typescript title="src/mastra/tools/weather-tool.ts"
|
|
169
169
|
export type UserTier = {
|
|
170
170
|
"user-tier": "enterprise" | "pro";
|
|
171
171
|
};
|
|
172
172
|
|
|
173
173
|
export const weatherTool = createTool({
|
|
174
174
|
id: "weather-tool",
|
|
175
|
-
execute: async (
|
|
176
|
-
const userTier = requestContext
|
|
175
|
+
execute: async (inputData, context) => {
|
|
176
|
+
const userTier = context?.requestContext?.get("user-tier") as UserTier["user-tier"] | undefined;
|
|
177
177
|
|
|
178
|
-
if (userTier === "enterprise") {
|
|
179
|
-
// ...
|
|
180
|
-
}
|
|
181
|
-
// ...
|
|
178
|
+
if (userTier === "enterprise") {}
|
|
182
179
|
},
|
|
183
180
|
});
|
|
184
181
|
```
|
|
185
182
|
|
|
186
|
-
|
|
183
|
+
:::info
|
|
184
|
+
|
|
185
|
+
Visit [createTool()](/reference/v1/tools/create-tool) for a full list of configuration options.
|
|
186
|
+
|
|
187
|
+
:::
|
|
188
|
+
|
|
189
|
+
## TypeScript support
|
|
190
|
+
|
|
191
|
+
When you provide a type parameter to `RequestContext`, all methods are fully typed:
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
import { RequestContext } from "@mastra/core/request-context";
|
|
195
|
+
|
|
196
|
+
type MyContext = {
|
|
197
|
+
userId: string;
|
|
198
|
+
maxTokens: number;
|
|
199
|
+
isPremium: boolean;
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const ctx = new RequestContext<MyContext>();
|
|
203
|
+
|
|
204
|
+
// set() enforces correct value types
|
|
205
|
+
ctx.set("userId", "user-123"); // ✓ valid
|
|
206
|
+
ctx.set("maxTokens", 4096); // ✓ valid
|
|
207
|
+
ctx.set("maxTokens", "wrong"); // ✗ TypeScript error: expected number
|
|
208
|
+
|
|
209
|
+
// get() returns the correct type automatically
|
|
210
|
+
const tokens = ctx.get("maxTokens"); // inferred as number
|
|
211
|
+
const id = ctx.get("userId"); // inferred as string
|
|
212
|
+
|
|
213
|
+
// keys() returns typed keys
|
|
214
|
+
for (const key of ctx.keys()) {
|
|
215
|
+
// key is "userId" | "maxTokens" | "isPremium"
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// entries() supports type narrowing
|
|
219
|
+
for (const [key, value] of ctx.entries()) {
|
|
220
|
+
if (key === "maxTokens") {
|
|
221
|
+
// TypeScript knows value is number here
|
|
222
|
+
console.log(value.toFixed(2));
|
|
223
|
+
}
|
|
224
|
+
if (key === "userId") {
|
|
225
|
+
// TypeScript knows value is string here
|
|
226
|
+
console.log(value.toUpperCase());
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
```
|
|
187
230
|
|
|
188
231
|
## Related
|
|
189
232
|
|
|
190
233
|
- [Agent Request Context](/docs/v1/agents/overview#using-requestcontext)
|
|
191
234
|
- [Workflow Request Context](../workflows/overview#using-requestcontext)
|
|
192
|
-
- [
|
|
193
|
-
- [Server Middleware](/docs/v1/server-db/middleware)
|
|
235
|
+
- [Server Middleware](/docs/v1/server/middleware)
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Server Adapters | Server
|
|
2
|
+
title: "Server Adapters | Server"
|
|
3
3
|
description: "Manually configure a Mastra server using Hono or Express adapters."
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/express"
|
|
6
|
+
- "@mastra/hono"
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
import Tabs from "@theme/Tabs";
|
|
@@ -8,26 +11,36 @@ import TabItem from "@theme/TabItem";
|
|
|
8
11
|
|
|
9
12
|
# Server Adapters
|
|
10
13
|
|
|
11
|
-
Server adapters let you run Mastra with your own HTTP server instead of the Hono server generated by `mastra build`. They provide more control over the server setup, including custom middleware ordering, authentication, logging, and deployment configuration
|
|
14
|
+
Server adapters let you run Mastra with your own HTTP server instead of the Hono server generated by `mastra build`. They provide more control over the server setup, including custom middleware ordering, authentication, logging, and deployment configuration. You can still integrate Mastra into any Node.js application without changing how agents or workflows execute.
|
|
12
15
|
|
|
13
16
|
## When to use server adapters
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
- You want Mastra’s endpoints added automatically to an existing application
|
|
19
|
+
- You need direct access to the server instance for custom configuration
|
|
20
|
+
- Your team prefers using another server framework instead of the Hono server created by `mastra build`.
|
|
16
21
|
|
|
17
|
-
:::
|
|
22
|
+
:::tip
|
|
23
|
+
|
|
24
|
+
For deployments without custom server requirements, use `mastra build` instead. It configures server setup, registers middleware, and applies deployment settings based on your project configuration. See [Server Configuration](/docs/v1/server/mastra-server).
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
If you want to use [Studio](/docs/v1/getting-started/studio) with your server adapter, use [`mastra studio`](/reference/v1/cli/mastra#mastra-studio) to only launch the Studio UI.
|
|
20
27
|
|
|
21
28
|
:::
|
|
22
29
|
|
|
23
30
|
## Available adapters
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
Mastra currently provides these official server adapters:
|
|
33
|
+
|
|
34
|
+
- [@mastra/express](/reference/v1/server/express-adapter)
|
|
35
|
+
- [@mastra/hono](/reference/v1/server/hono-adapter)
|
|
36
|
+
- [@mastra/fastify](/reference/v1/server/fastify-adapter)
|
|
37
|
+
- [@mastra/koa](/reference/v1/server/koa-adapter)
|
|
38
|
+
|
|
39
|
+
You can build your own adapter, read [custom adapters](/docs/v1/server/custom-adapters) for details.
|
|
27
40
|
|
|
28
41
|
## Installation
|
|
29
42
|
|
|
30
|
-
Install the adapter for the framework
|
|
43
|
+
Install the adapter for the framework of your choice.
|
|
31
44
|
|
|
32
45
|
<Tabs>
|
|
33
46
|
<TabItem value="express" label="Express">
|
|
@@ -40,21 +53,33 @@ npm install @mastra/express@beta
|
|
|
40
53
|
|
|
41
54
|
```bash
|
|
42
55
|
npm install @mastra/hono@beta
|
|
56
|
+
```
|
|
57
|
+
</TabItem>
|
|
58
|
+
<TabItem value="fastify" label="Fastify">
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npm install @mastra/fastify@beta
|
|
62
|
+
```
|
|
63
|
+
</TabItem>
|
|
64
|
+
<TabItem value="koa" label="Koa">
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm install @mastra/koa@beta
|
|
43
68
|
```
|
|
44
69
|
</TabItem>
|
|
45
70
|
</Tabs>
|
|
46
71
|
|
|
47
72
|
## Configuration
|
|
48
73
|
|
|
49
|
-
Initialize your
|
|
74
|
+
Initialize your app as usual, then create a `MastraServer` by passing in the `app` and your main `mastra` instance from `src/mastra/index.ts`. Calling `init()` automatically registers Mastra middleware and all available endpoints. You can continue adding your own routes as normal, either before or after `init()`, and they’ll run alongside Mastra’s endpoints.
|
|
50
75
|
|
|
51
76
|
<Tabs>
|
|
52
77
|
<TabItem value="express" label="Express">
|
|
53
78
|
|
|
54
|
-
```typescript {8} title="express-server.ts"
|
|
79
|
+
```typescript {8} title="src/express-server.ts"
|
|
55
80
|
import express from "express";
|
|
56
81
|
import { MastraServer } from "@mastra/express";
|
|
57
|
-
import { mastra } from "./mastra";
|
|
82
|
+
import { mastra } from "./mastra";
|
|
58
83
|
|
|
59
84
|
const app = express();
|
|
60
85
|
app.use(express.json());
|
|
@@ -68,14 +93,20 @@ app.listen(4111, () => {
|
|
|
68
93
|
});
|
|
69
94
|
```
|
|
70
95
|
|
|
96
|
+
:::info
|
|
97
|
+
|
|
98
|
+
See the [Express Adapter](/reference/v1/server/express-adapter) documentation for full configuration options.
|
|
99
|
+
|
|
100
|
+
:::
|
|
101
|
+
|
|
71
102
|
</TabItem>
|
|
72
103
|
<TabItem value="hono" label="Hono">
|
|
73
104
|
|
|
74
|
-
```typescript {8} title="hono-server.ts"
|
|
105
|
+
```typescript {8} title="src/hono-server.ts"
|
|
75
106
|
import { Hono } from "hono";
|
|
76
107
|
import { serve } from "@hono/node-server";
|
|
77
108
|
import { HonoBindings, HonoVariables, MastraServer } from "@mastra/hono";
|
|
78
|
-
import { mastra } from "./mastra";
|
|
109
|
+
import { mastra } from "./mastra";
|
|
79
110
|
|
|
80
111
|
const app = new Hono<{ Bindings: HonoBindings; Variables: HonoVariables }>();
|
|
81
112
|
|
|
@@ -88,11 +119,87 @@ serve({ fetch: app.fetch, port: 4111 }, () => {
|
|
|
88
119
|
});
|
|
89
120
|
```
|
|
90
121
|
|
|
122
|
+
:::info
|
|
123
|
+
|
|
124
|
+
See the [Hono Adapter](/reference/v1/server/hono-adapter) documentation for full configuration options.
|
|
125
|
+
|
|
126
|
+
:::
|
|
127
|
+
|
|
91
128
|
</TabItem>
|
|
92
|
-
|
|
129
|
+
<TabItem value="fastify" label="Fastify">
|
|
130
|
+
|
|
131
|
+
```typescript {6} title="src/fastify-server.ts"
|
|
132
|
+
import Fastify from 'fastify';
|
|
133
|
+
import { MastraServer } from '@mastra/fastify';
|
|
134
|
+
import { mastra } from './mastra';
|
|
93
135
|
|
|
94
|
-
|
|
136
|
+
const app = Fastify();
|
|
137
|
+
const server = new MastraServer({ app, mastra });
|
|
95
138
|
|
|
139
|
+
await server.init();
|
|
140
|
+
|
|
141
|
+
app.get('/health', async request => {
|
|
142
|
+
const mastraInstance = request.mastra;
|
|
143
|
+
const agents = Object.keys(mastraInstance.listAgents());
|
|
144
|
+
return { status: 'ok', agents };
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
const port = 4111;
|
|
148
|
+
|
|
149
|
+
app.listen({ port }, () => {
|
|
150
|
+
console.log(`Server running on http://localhost:${port}`);
|
|
151
|
+
console.log(`Try: curl http://localhost:${port}/api/agents`);
|
|
152
|
+
});
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
:::info
|
|
156
|
+
|
|
157
|
+
See the [Fastify Adapter](/reference/v1/server/fastify-adapter) documentation for full configuration options.
|
|
158
|
+
|
|
159
|
+
:::
|
|
160
|
+
|
|
161
|
+
</TabItem>
|
|
162
|
+
<TabItem value="koa" label="Koa">
|
|
163
|
+
|
|
164
|
+
```typescript {9} title="src/koa-server.ts"
|
|
165
|
+
import Koa from 'koa';
|
|
166
|
+
import bodyParser from 'koa-bodyparser';
|
|
167
|
+
import { MastraServer } from '@mastra/koa';
|
|
168
|
+
import { mastra } from './mastra';
|
|
169
|
+
|
|
170
|
+
const app = new Koa();
|
|
171
|
+
app.use(bodyParser()); // Required for body parsing
|
|
172
|
+
|
|
173
|
+
const server = new MastraServer({ app, mastra });
|
|
174
|
+
|
|
175
|
+
await server.init();
|
|
176
|
+
|
|
177
|
+
app.use(async (ctx, next) => {
|
|
178
|
+
if (ctx.path === '/health' && ctx.method === 'GET') {
|
|
179
|
+
const mastraInstance = ctx.state.mastra;
|
|
180
|
+
const agents = Object.keys(mastraInstance.listAgents());
|
|
181
|
+
ctx.body = { status: 'ok', agents };
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
await next();
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
const port = 4111;
|
|
188
|
+
|
|
189
|
+
app.listen(port, () => {
|
|
190
|
+
console.log(`Server running on http://localhost:${port}`);
|
|
191
|
+
console.log(`Try: curl http://localhost:${port}/api/agents`);
|
|
192
|
+
});
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
:::info
|
|
196
|
+
|
|
197
|
+
See the [Koa Adapter](/reference/v1/server/koa-adapter) documentation for full configuration options.
|
|
198
|
+
|
|
199
|
+
:::
|
|
200
|
+
|
|
201
|
+
</TabItem>
|
|
202
|
+
</Tabs>
|
|
96
203
|
|
|
97
204
|
## Initialization flow
|
|
98
205
|
|
|
@@ -106,7 +213,7 @@ Calling `init()` runs three steps in order. Understanding this flow helps when y
|
|
|
106
213
|
|
|
107
214
|
For custom middleware ordering, call each method separately instead of `init()`. This is useful when you need middleware that runs before Mastra's context is set up, or when you need to insert logic between the initialization steps.
|
|
108
215
|
|
|
109
|
-
```typescript title="server.ts"
|
|
216
|
+
```typescript title="server.ts"
|
|
110
217
|
const server = new MastraServer({ app, mastra });
|
|
111
218
|
|
|
112
219
|
// Your middleware first
|
|
@@ -137,14 +244,17 @@ You can add your own routes to the app alongside Mastra's routes.
|
|
|
137
244
|
- Routes added **before** `init()` won't have Mastra context available.
|
|
138
245
|
- Routes added **after** `init()` have access to the Mastra context (the Mastra instance, request context, authenticated user, etc.).
|
|
139
246
|
|
|
140
|
-
|
|
247
|
+
:::info
|
|
141
248
|
|
|
249
|
+
Visit "Adding custom routes" for [Express](/reference/v1/server/express-adapter#adding-custom-routes) and [Hono](/reference/v1/server/hono-adapter#adding-custom-routes) for more information.
|
|
250
|
+
|
|
251
|
+
:::
|
|
142
252
|
|
|
143
253
|
## Route prefixes
|
|
144
254
|
|
|
145
|
-
By default, Mastra routes are registered at `/api/agents`, `/api/workflows`, etc. Use the `prefix` option to change this
|
|
255
|
+
By default, Mastra routes are registered at `/api/agents`, `/api/workflows`, etc. Use the `prefix` option to change this. This is useful for API versioning or when integrating with an existing app that has its own `/api` routes.
|
|
146
256
|
|
|
147
|
-
```typescript
|
|
257
|
+
```typescript
|
|
148
258
|
const server = new MastraServer({
|
|
149
259
|
app,
|
|
150
260
|
mastra,
|
|
@@ -158,7 +268,7 @@ With this prefix, Mastra routes become `/api/v2/agents`, `/api/v2/workflows`, et
|
|
|
158
268
|
|
|
159
269
|
Mastra can generate an OpenAPI specification for all registered routes. This is useful for documentation, client generation, or integration with API tools. Enable it by setting the `openapiPath` option:
|
|
160
270
|
|
|
161
|
-
```typescript
|
|
271
|
+
```typescript
|
|
162
272
|
const server = new MastraServer({
|
|
163
273
|
app,
|
|
164
274
|
mastra,
|
|
@@ -181,7 +291,7 @@ This redaction happens at the HTTP boundary, so internal callbacks like `onStepF
|
|
|
181
291
|
|
|
182
292
|
By default, redaction is enabled. Configure this behavior via `streamOptions`. Set `redact: false` only for internal services or debugging scenarios where you need access to the full request data in stream responses.
|
|
183
293
|
|
|
184
|
-
```typescript
|
|
294
|
+
```typescript
|
|
185
295
|
const server = new MastraServer({
|
|
186
296
|
app,
|
|
187
297
|
mastra,
|
|
@@ -191,7 +301,11 @@ const server = new MastraServer({
|
|
|
191
301
|
});
|
|
192
302
|
```
|
|
193
303
|
|
|
194
|
-
|
|
304
|
+
:::info
|
|
305
|
+
|
|
306
|
+
See [MastraServer](/reference/v1/server/mastra-server) for full configuration options.
|
|
307
|
+
|
|
308
|
+
:::
|
|
195
309
|
|
|
196
310
|
## Per-route auth overrides
|
|
197
311
|
|
|
@@ -199,29 +313,36 @@ When authentication is configured on your Mastra instance, all routes require au
|
|
|
199
313
|
|
|
200
314
|
Use `customRouteAuthConfig` to override authentication behavior for specific routes. Keys follow the format `METHOD:PATH` where method is `GET`, `POST`, `PUT`, `DELETE`, or `ALL`. Paths support wildcards (`*`) for matching multiple routes. Setting a value to `false` makes the route public, while `true` requires authentication.
|
|
201
315
|
|
|
202
|
-
```typescript
|
|
316
|
+
```typescript
|
|
203
317
|
const server = new MastraServer({
|
|
204
318
|
app,
|
|
205
319
|
mastra,
|
|
206
320
|
customRouteAuthConfig: new Map([
|
|
207
|
-
|
|
208
|
-
['GET:/api/
|
|
209
|
-
|
|
210
|
-
['
|
|
211
|
-
|
|
321
|
+
// Public health check
|
|
322
|
+
['GET:/api/health', false],
|
|
323
|
+
// Public API spec
|
|
324
|
+
['GET:/api/openapi.json', false],
|
|
325
|
+
// Public webhook endpoints
|
|
326
|
+
['POST:/api/webhooks/*', false],
|
|
327
|
+
// Require auth even if globally disabled
|
|
328
|
+
['POST:/api/admin/reset', true],
|
|
329
|
+
// Protect all methods on internal routes
|
|
330
|
+
['ALL:/api/internal/*', true],
|
|
212
331
|
]),
|
|
213
332
|
});
|
|
214
333
|
```
|
|
215
334
|
|
|
335
|
+
:::info
|
|
216
336
|
|
|
337
|
+
See [MastraServer](/reference/v1/server/mastra-server) for full configuration options.
|
|
217
338
|
|
|
218
|
-
|
|
339
|
+
:::
|
|
219
340
|
|
|
220
341
|
## Accessing the app
|
|
221
342
|
|
|
222
343
|
After creating the adapter, you may still need access to the underlying framework app. This is useful when passing it to a platform’s `serve` function or when adding routes from another module.
|
|
223
344
|
|
|
224
|
-
```typescript
|
|
345
|
+
```typescript
|
|
225
346
|
// Via the MastraServer instance
|
|
226
347
|
const app = server.getApp();
|
|
227
348
|
|
|
@@ -282,8 +403,8 @@ See [MCP](/docs/v1/mcp/overview) for configuration details and how to set up MCP
|
|
|
282
403
|
|
|
283
404
|
- [Hono Adapter](/reference/v1/server/hono-adapter) - Hono-specific setup
|
|
284
405
|
- [Express Adapter](/reference/v1/server/express-adapter) - Express-specific setup
|
|
285
|
-
- [Custom Adapters](/docs/v1/server
|
|
286
|
-
- [Server Configuration](/docs/v1/server
|
|
287
|
-
- [Authentication](/docs/v1/auth) - Configuring auth for your server
|
|
406
|
+
- [Custom Adapters](/docs/v1/server/custom-adapters) - Building adapters for other frameworks
|
|
407
|
+
- [Server Configuration](/docs/v1/server/mastra-server) - Using `mastra build` instead
|
|
408
|
+
- [Authentication](/docs/v1/server/auth) - Configuring auth for your server
|
|
288
409
|
- [MastraServer Reference](/reference/v1/server/mastra-server) - Full API reference
|
|
289
410
|
- [createRoute() Reference](/reference/v1/server/create-route) - Creating type-safe custom routes
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Streaming Events | Streaming"
|
|
3
3
|
description: "Learn about the different types of streaming events in Mastra, including text deltas, tool calls, step events, and how to handle them in your applications."
|
|
4
|
+
packages:
|
|
5
|
+
- "@mastra/core"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Streaming Events
|
|
@@ -44,7 +46,7 @@ When using `agent.network()` for multi-agent collaboration, additional event typ
|
|
|
44
46
|
|
|
45
47
|
Iterate over the `stream` with a `for await` loop to inspect all emitted event chunks.
|
|
46
48
|
|
|
47
|
-
```typescript
|
|
49
|
+
```typescript
|
|
48
50
|
const testAgent = mastra.getAgent("testAgent");
|
|
49
51
|
|
|
50
52
|
const stream = await testAgent.stream([
|
|
@@ -56,7 +58,11 @@ for await (const chunk of stream) {
|
|
|
56
58
|
}
|
|
57
59
|
```
|
|
58
60
|
|
|
59
|
-
|
|
61
|
+
:::info
|
|
62
|
+
|
|
63
|
+
Visit [Agent.stream()](/reference/v1/streaming/agents/stream) for more information.
|
|
64
|
+
|
|
65
|
+
:::
|
|
60
66
|
|
|
61
67
|
### Example agent output
|
|
62
68
|
|
|
@@ -91,7 +97,7 @@ Below is an example of events that may be emitted. Each event always includes a
|
|
|
91
97
|
|
|
92
98
|
Iterate over the `stream` with a `for await` loop to inspect all emitted event chunks.
|
|
93
99
|
|
|
94
|
-
```typescript {5,11}
|
|
100
|
+
```typescript {5,11}
|
|
95
101
|
const testWorkflow = mastra.getWorkflow("testWorkflow");
|
|
96
102
|
|
|
97
103
|
const run = await testWorkflow.createRun();
|
|
@@ -136,7 +142,7 @@ Below is an example of events that may be emitted. Each event always includes a
|
|
|
136
142
|
|
|
137
143
|
When using multi-agent collaboration with `agent.network()`, iterate over the stream to track how tasks are delegated and executed across agents, workflows, and tools.
|
|
138
144
|
|
|
139
|
-
```typescript {3,5}
|
|
145
|
+
```typescript {3,5}
|
|
140
146
|
const networkAgent = mastra.getAgent("networkAgent");
|
|
141
147
|
|
|
142
148
|
const networkStream = await networkAgent.network(
|
|
@@ -148,7 +154,11 @@ for await (const chunk of networkStream) {
|
|
|
148
154
|
}
|
|
149
155
|
```
|
|
150
156
|
|
|
151
|
-
|
|
157
|
+
:::info
|
|
158
|
+
|
|
159
|
+
Visit [Agent.network()](/reference/v1/agents/network) for more information.
|
|
160
|
+
|
|
161
|
+
:::
|
|
152
162
|
|
|
153
163
|
### Example network output
|
|
154
164
|
|
|
@@ -195,14 +205,13 @@ Network streams emit events that track the orchestration flow. Each iteration be
|
|
|
195
205
|
}
|
|
196
206
|
}
|
|
197
207
|
}
|
|
198
|
-
// ...more events
|
|
199
208
|
```
|
|
200
209
|
|
|
201
210
|
### Filtering network events
|
|
202
211
|
|
|
203
212
|
You can filter events by type to track specific aspects of the network execution:
|
|
204
213
|
|
|
205
|
-
```typescript {5-8,11-13,16-18}
|
|
214
|
+
```typescript {5-8,11-13,16-18}
|
|
206
215
|
const networkStream = await networkAgent.network(
|
|
207
216
|
"Analyze data and create visualization",
|
|
208
217
|
);
|