@mastra/mcp-docs-server 1.2.15-alpha.7 → 1.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/docs/agents/agent-approval.md +14 -0
- package/.docs/docs/agents/code-mode.md +17 -2
- package/.docs/docs/agents/networks.md +2 -2
- package/.docs/docs/agents/overview.md +2 -2
- package/.docs/docs/agents/processors.md +3 -3
- package/.docs/docs/agents/using-tools.md +1 -1
- package/.docs/docs/browser/overview.md +8 -8
- package/.docs/docs/browser/recording.md +4 -4
- package/.docs/docs/capabilities/{channels/overview.md → channels.md} +70 -7
- package/.docs/docs/capabilities/subagents.md +6 -3
- package/.docs/docs/datasets/running-experiments.md +49 -0
- package/.docs/docs/deployment/cloud-providers.md +9 -9
- package/.docs/docs/deployment/overview.md +9 -9
- package/.docs/docs/deployment/sandbox.md +3 -3
- package/.docs/docs/deployment/web-framework.md +6 -6
- package/.docs/docs/deployment/workers.md +1 -1
- package/.docs/docs/deployment/workflow-runners.md +2 -2
- package/.docs/docs/getting-started/develop.md +1 -1
- package/.docs/docs/harness/agent-controller.md +45 -4
- package/.docs/docs/harness/overview.md +2 -4
- package/.docs/docs/index.md +8 -8
- package/.docs/docs/long-running-agents/durable-agents.md +3 -3
- package/.docs/docs/long-running-agents/goals.md +1 -1
- package/.docs/docs/long-running-agents/schedules.md +1 -1
- package/.docs/docs/long-running-agents/signal-providers.md +3 -16
- package/.docs/docs/long-running-agents/signals.md +2 -2
- package/.docs/docs/mastra-platform/database.md +2 -2
- package/.docs/docs/mastra-platform/deploy.md +27 -0
- package/.docs/docs/mastra-platform/server.md +1 -1
- package/.docs/docs/mastra-platform/trace-intelligence.md +9 -13
- package/.docs/docs/mcp/overview.md +42 -0
- package/.docs/docs/memory/memory-processors.md +5 -5
- package/.docs/docs/memory/message-history.md +3 -3
- package/.docs/docs/memory/multi-user-threads.md +1 -1
- package/.docs/docs/memory/observational-memory.md +2 -2
- package/.docs/docs/memory/semantic-recall.md +2 -1
- package/.docs/docs/memory/working-memory.md +1 -0
- package/.docs/docs/observability/integrations/exporters/mastra-platform.md +1 -1
- package/.docs/docs/observability/integrations/exporters/mastra-storage.md +16 -15
- package/.docs/docs/observability/integrations/overview.md +3 -3
- package/.docs/docs/server/auth/fga.md +1 -1
- package/.docs/docs/server/auth/simple-auth.md +1 -1
- package/.docs/docs/server/auth/workers.md +2 -0
- package/.docs/docs/server/auth.md +10 -8
- package/.docs/docs/server/custom-adapters.md +1 -1
- package/.docs/docs/server/custom-api-routes.md +35 -0
- package/.docs/docs/server/mastra-client.md +13 -13
- package/.docs/docs/server/mastra-server.md +1 -1
- package/.docs/docs/storage/overview.md +14 -12
- package/.docs/docs/studio/observability.md +1 -1
- package/.docs/docs/workflows/agents-and-tools.md +2 -2
- package/.docs/docs/workflows/{stored-workflows.md → dynamic-workflows.md} +24 -24
- package/.docs/docs/workflows/overview.md +2 -2
- package/.docs/docs/workflows/snapshots.md +12 -10
- package/.docs/docs/workflows/time-travel.md +2 -0
- package/.docs/docs/workspace/filesystem.md +15 -15
- package/.docs/docs/workspace/sandbox.md +17 -17
- package/.docs/docs/workspace/search.md +1 -1
- package/.docs/guides/agent-frameworks/ai-sdk.md +2 -2
- package/.docs/guides/deployment/mastra-workers.md +4 -2
- package/.docs/guides/getting-started/quickstart.md +3 -3
- package/.docs/guides/guide/signal-provider.md +1 -1
- package/.docs/guides/index.md +8 -8
- package/.docs/guides/voice/overview.md +55 -106
- package/.docs/guides/voice/speech-to-text.md +7 -7
- package/.docs/guides/voice/text-to-speech.md +9 -10
- package/.docs/{guides/build-your-ui → integrations/agentic-ui}/ai-sdk-ui.md +5 -5
- package/.docs/{guides/build-your-ui → integrations/agentic-ui}/assistant-ui.md +1 -1
- package/.docs/{guides/build-your-ui/copilotkit/overview.md → integrations/agentic-ui/copilotkit.md} +257 -4
- package/.docs/{docs/server → integrations}/auth/auth0.md +1 -1
- package/.docs/{docs/server → integrations}/auth/clerk.md +2 -2
- package/.docs/{docs/server → integrations}/auth/firebase.md +1 -1
- package/.docs/{docs/server → integrations}/auth/okta.md +24 -4
- package/.docs/{docs/server → integrations}/auth/supabase.md +2 -2
- package/.docs/{docs/server → integrations}/auth/workos.md +1 -1
- package/.docs/{docs/browser → integrations/browsers}/agent-browser.md +2 -2
- package/.docs/{docs/browser → integrations/browsers}/browser-viewer.md +3 -3
- package/.docs/{docs/browser → integrations/browsers}/firecrawl.md +2 -2
- package/.docs/{docs/browser → integrations/browsers}/stagehand.md +1 -1
- package/.docs/{docs/capabilities → integrations}/channels/discord.md +2 -2
- package/.docs/integrations/channels/github.md +103 -0
- package/.docs/{docs/capabilities → integrations}/channels/imessage.md +12 -4
- package/.docs/{docs/capabilities → integrations}/channels/slack.md +4 -4
- package/.docs/{docs/capabilities → integrations}/channels/teams.md +2 -2
- package/.docs/{docs/capabilities → integrations}/channels/telegram.md +2 -2
- package/.docs/{docs/capabilities → integrations}/channels/whatsapp.md +2 -2
- package/.docs/{reference/storage/dsql.md → integrations/databases/aurora-dsql.md} +1 -1
- package/.docs/{reference/storage → integrations/databases}/clickhouse.md +2 -2
- package/.docs/{reference/storage → integrations/databases}/cloudflare-d1.md +1 -1
- package/.docs/{reference/storage/cloudflare.md → integrations/databases/cloudflare-kv.md} +1 -1
- package/.docs/{reference/storage → integrations/databases}/convex.md +1 -1
- package/.docs/{reference/storage → integrations/databases}/duckdb.md +5 -5
- package/.docs/{reference/storage → integrations/databases}/dynamodb.md +1 -1
- package/.docs/{reference/storage/lance.md → integrations/databases/lancedb.md} +1 -1
- package/.docs/{reference/storage → integrations/databases}/libsql.md +2 -2
- package/.docs/{reference/storage → integrations/databases}/mongodb.md +1 -1
- package/.docs/{reference/storage → integrations/databases}/mssql.md +1 -1
- package/.docs/integrations/databases/neon.md +220 -0
- package/.docs/integrations/databases/oracledb.md +239 -0
- package/.docs/{reference/storage → integrations/databases}/postgresql.md +1 -1
- package/.docs/{reference/storage → integrations/databases}/redis.md +1 -1
- package/.docs/{reference/storage → integrations/databases}/spanner.md +1 -1
- package/.docs/{reference/storage → integrations/databases}/upstash.md +1 -1
- package/.docs/{guides/deployment → integrations/deploy}/amazon-ec2.md +1 -1
- package/.docs/{guides/deployment → integrations/deploy}/aws-bedrock-agentcore.md +1 -1
- package/.docs/{guides/deployment → integrations/deploy}/aws-lambda.md +2 -2
- package/.docs/{guides/deployment → integrations/deploy}/azure-app-services.md +2 -2
- package/.docs/{guides/deployment → integrations/deploy}/cloudflare.md +2 -2
- package/.docs/{guides/deployment → integrations/deploy}/digital-ocean.md +3 -3
- package/.docs/{guides/deployment → integrations/deploy}/kubernetes.md +2 -2
- package/.docs/{guides/deployment → integrations/deploy}/netlify.md +3 -3
- package/.docs/{guides/deployment → integrations/deploy}/vercel.md +3 -3
- package/.docs/{reference/workspace/s3-filesystem.md → integrations/file-storage/amazon-s3.md} +5 -5
- package/.docs/{reference/workspace/archil-filesystem.md → integrations/file-storage/archil.md} +3 -3
- package/.docs/{reference/workspace/azure-blob-filesystem.md → integrations/file-storage/azure-blob.md} +2 -2
- package/.docs/{reference/workspace/gcs-filesystem.md → integrations/file-storage/google-cloud-storage.md} +5 -5
- package/.docs/{reference/workspace/mesa-filesystem.md → integrations/file-storage/mesa.md} +2 -2
- package/.docs/{reference/workspace/files-sdk-filesystem.md → integrations/file-storage/vercel-files.md} +5 -5
- package/.docs/{guides/getting-started → integrations/frameworks}/astro.md +1 -1
- package/.docs/{guides/getting-started → integrations/frameworks}/electron.md +3 -3
- package/.docs/{guides/getting-started → integrations/frameworks}/next-js.md +2 -2
- package/.docs/{guides/getting-started → integrations/frameworks}/nuxt.md +1 -1
- package/.docs/{guides/getting-started → integrations/frameworks}/sveltekit.md +1 -1
- package/.docs/{guides/getting-started → integrations/frameworks}/vite-react.md +1 -1
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/arize.md +1 -1
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/arthur.md +1 -1
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/braintrust.md +1 -1
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/confident-ai.md +1 -1
- package/.docs/integrations/observability/datadog.md +538 -0
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/laminar.md +1 -1
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/langfuse.md +1 -1
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/langsmith.md +1 -1
- package/.docs/{docs/observability/integrations/exporters/otel.md → integrations/observability/opentelemetry.md} +278 -46
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/posthog.md +1 -1
- package/.docs/{docs/observability/integrations/exporters → integrations/observability}/sentry.md +1 -1
- package/.docs/{reference/workspace/apple-container-sandbox.md → integrations/sandboxes/apple-container.md} +1 -1
- package/.docs/{reference/workspace/daytona-sandbox.md → integrations/sandboxes/daytona.md} +23 -2
- package/.docs/{reference/workspace/docker-sandbox.md → integrations/sandboxes/docker.md} +1 -1
- package/.docs/{reference/workspace/e2b-sandbox.md → integrations/sandboxes/e2b.md} +3 -3
- package/.docs/{reference/workspace/modal-sandbox.md → integrations/sandboxes/modal.md} +2 -2
- package/.docs/{reference/workspace/railway-sandbox.md → integrations/sandboxes/railway.md} +8 -0
- package/.docs/{reference/workspace/vercel-sandbox.md → integrations/sandboxes/vercel.md} +141 -12
- package/.docs/{reference → integrations}/tools/brightdata.md +1 -1
- package/.docs/{reference → integrations}/tools/perplexity.md +1 -1
- package/.docs/{reference → integrations}/tools/tavily.md +1 -1
- package/.docs/{reference → integrations}/voice/aws-nova-sonic.md +1 -1
- package/.docs/{reference → integrations}/voice/cloudflare.md +3 -3
- package/.docs/{reference/voice/google-gemini-live.md → integrations/voice/google.md} +305 -30
- package/.docs/{reference/voice/inworld-realtime.md → integrations/voice/inworld.md} +163 -25
- package/.docs/{reference → integrations}/voice/livekit.md +437 -34
- package/.docs/{reference/voice/openai-realtime.md → integrations/voice/openai.md} +117 -20
- package/.docs/integrations.md +147 -0
- package/.docs/models/embeddings.md +3 -3
- package/.docs/models/environment-variables.md +1 -0
- package/.docs/models/gateways/custom-gateways.md +4 -0
- package/.docs/models/gateways/neon.md +1 -1
- package/.docs/models/gateways/netlify.md +1 -1
- package/.docs/models/gateways/openrouter.md +9 -3
- package/.docs/models/gateways/vercel.md +7 -4
- package/.docs/models/index.md +3 -3
- package/.docs/models/providers/302ai.md +1 -1
- package/.docs/models/providers/abacus.md +1 -1
- package/.docs/models/providers/abliteration-ai.md +1 -1
- package/.docs/models/providers/agentrouter.md +1 -1
- package/.docs/models/providers/ai-router.md +1 -1
- package/.docs/models/providers/aiand.md +1 -1
- package/.docs/models/providers/aki-io.md +1 -1
- package/.docs/models/providers/alibaba-cn.md +1 -1
- package/.docs/models/providers/alibaba-coding-plan-cn.md +1 -1
- package/.docs/models/providers/alibaba-coding-plan.md +1 -1
- package/.docs/models/providers/alibaba-token-plan-cn.md +1 -1
- package/.docs/models/providers/alibaba-token-plan.md +1 -1
- package/.docs/models/providers/alibaba.md +7 -5
- package/.docs/models/providers/ambient.md +2 -2
- package/.docs/models/providers/anyapi.md +1 -1
- package/.docs/models/providers/atomic-chat.md +1 -1
- package/.docs/models/providers/auriko.md +1 -1
- package/.docs/models/providers/bailing.md +1 -1
- package/.docs/models/providers/baseten.md +2 -2
- package/.docs/models/providers/berget.md +1 -1
- package/.docs/models/providers/blueclaw.md +1 -1
- package/.docs/models/providers/chutes.md +1 -1
- package/.docs/models/providers/clarifai.md +1 -1
- package/.docs/models/providers/claudinio.md +1 -1
- package/.docs/models/providers/cline-pass.md +1 -1
- package/.docs/models/providers/cloudferro-sherlock.md +1 -1
- package/.docs/models/providers/cloudflare-workers-ai.md +1 -1
- package/.docs/models/providers/coralbricks.md +75 -0
- package/.docs/models/providers/cortecs.md +3 -5
- package/.docs/models/providers/crof.md +1 -1
- package/.docs/models/providers/crossmodel.md +2 -3
- package/.docs/models/providers/daoxe.md +1 -1
- package/.docs/models/providers/databricks.md +1 -1
- package/.docs/models/providers/deepinfra.md +6 -5
- package/.docs/models/providers/digitalocean.md +5 -5
- package/.docs/models/providers/dinference.md +1 -1
- package/.docs/models/providers/drun.md +1 -1
- package/.docs/models/providers/ebcloud.md +1 -1
- package/.docs/models/providers/empiriolabs.md +3 -2
- package/.docs/models/providers/evroc.md +3 -4
- package/.docs/models/providers/fastrouter.md +1 -1
- package/.docs/models/providers/firepass.md +1 -1
- package/.docs/models/providers/fireworks-ai.md +1 -1
- package/.docs/models/providers/firmware.md +1 -1
- package/.docs/models/providers/freemodel.md +1 -1
- package/.docs/models/providers/friendli.md +1 -1
- package/.docs/models/providers/frogbot.md +1 -1
- package/.docs/models/providers/github-models.md +1 -1
- package/.docs/models/providers/gmicloud.md +1 -1
- package/.docs/models/providers/google.md +1 -1
- package/.docs/models/providers/greenpt.md +1 -1
- package/.docs/models/providers/helicone.md +1 -1
- package/.docs/models/providers/hetzner.md +8 -5
- package/.docs/models/providers/hpc-ai.md +1 -1
- package/.docs/models/providers/huggingface.md +1 -1
- package/.docs/models/providers/hyper.md +7 -7
- package/.docs/models/providers/iflowcn.md +1 -1
- package/.docs/models/providers/impossibl.md +1 -1
- package/.docs/models/providers/inception.md +1 -1
- package/.docs/models/providers/inceptron.md +1 -1
- package/.docs/models/providers/inference.md +1 -1
- package/.docs/models/providers/inferx.md +1 -1
- package/.docs/models/providers/infomaniak.md +1 -1
- package/.docs/models/providers/io-intelligence.md +1 -1
- package/.docs/models/providers/io-net.md +1 -1
- package/.docs/models/providers/jiekou.md +1 -1
- package/.docs/models/providers/kenari.md +1 -1
- package/.docs/models/providers/kilo.md +16 -11
- package/.docs/models/providers/kimi-for-coding.md +1 -1
- package/.docs/models/providers/kiro.md +1 -1
- package/.docs/models/providers/kuae-cloud-coding-plan.md +1 -1
- package/.docs/models/providers/lilac.md +1 -1
- package/.docs/models/providers/llama.md +1 -1
- package/.docs/models/providers/llmgateway.md +2 -7
- package/.docs/models/providers/llmtr.md +1 -1
- package/.docs/models/providers/lmstudio.md +1 -1
- package/.docs/models/providers/longcat.md +1 -1
- package/.docs/models/providers/lucidquery.md +1 -1
- package/.docs/models/providers/lynkr.md +1 -1
- package/.docs/models/providers/meganova.md +1 -1
- package/.docs/models/providers/meta.md +1 -1
- package/.docs/models/providers/minimax-cn-coding-plan.md +1 -1
- package/.docs/models/providers/minimax-cn.md +1 -1
- package/.docs/models/providers/minimax-coding-plan.md +1 -1
- package/.docs/models/providers/minimax.md +1 -1
- package/.docs/models/providers/mixlayer.md +1 -1
- package/.docs/models/providers/moark.md +1 -1
- package/.docs/models/providers/modal.md +1 -1
- package/.docs/models/providers/model-oracle-ai.md +1 -1
- package/.docs/models/providers/modelis.md +1 -1
- package/.docs/models/providers/modelscope.md +1 -1
- package/.docs/models/providers/moonshotai-cn.md +1 -1
- package/.docs/models/providers/moonshotai.md +1 -1
- package/.docs/models/providers/morph.md +1 -1
- package/.docs/models/providers/nano-gpt.md +8 -4
- package/.docs/models/providers/nearai.md +1 -1
- package/.docs/models/providers/nebius.md +3 -2
- package/.docs/models/providers/neuralwatt.md +1 -1
- package/.docs/models/providers/nova.md +1 -1
- package/.docs/models/providers/novita-ai.md +1 -1
- package/.docs/models/providers/nvidia.md +3 -2
- package/.docs/models/providers/ofox.md +4 -3
- package/.docs/models/providers/ollama-cloud.md +1 -1
- package/.docs/models/providers/opencode-go.md +1 -1
- package/.docs/models/providers/opencode.md +65 -64
- package/.docs/models/providers/orcarouter.md +1 -1
- package/.docs/models/providers/ovhcloud.md +1 -1
- package/.docs/models/providers/perplexity-agent.md +1 -1
- package/.docs/models/providers/pioneer.md +1 -1
- package/.docs/models/providers/poe.md +1 -1
- package/.docs/models/providers/poolside.md +1 -1
- package/.docs/models/providers/privatemode-ai.md +12 -10
- package/.docs/models/providers/qihang-ai.md +1 -1
- package/.docs/models/providers/qiniu-ai.md +1 -1
- package/.docs/models/providers/regolo-ai.md +26 -21
- package/.docs/models/providers/requesty.md +3 -3
- package/.docs/models/providers/routing-run.md +1 -1
- package/.docs/models/providers/sakana.md +1 -1
- package/.docs/models/providers/sarvam.md +1 -1
- package/.docs/models/providers/scaleway.md +1 -1
- package/.docs/models/providers/scx.md +1 -1
- package/.docs/models/providers/siliconflow-cn.md +1 -1
- package/.docs/models/providers/siliconflow.md +1 -1
- package/.docs/models/providers/snowflake-cortex.md +6 -2
- package/.docs/models/providers/stackit.md +1 -1
- package/.docs/models/providers/stepfun-ai-step-plan.md +1 -1
- package/.docs/models/providers/stepfun-ai.md +1 -1
- package/.docs/models/providers/stepfun-step-plan.md +1 -1
- package/.docs/models/providers/stepfun.md +1 -1
- package/.docs/models/providers/subconscious.md +1 -1
- package/.docs/models/providers/submodel.md +1 -1
- package/.docs/models/providers/synthetic.md +1 -1
- package/.docs/models/providers/tencent-coding-plan.md +1 -1
- package/.docs/models/providers/tencent-token-plan.md +1 -1
- package/.docs/models/providers/tencent-tokenhub.md +1 -1
- package/.docs/models/providers/tensorx.md +1 -1
- package/.docs/models/providers/the-grid-ai.md +1 -1
- package/.docs/models/providers/thinkingmachines.md +1 -1
- package/.docs/models/providers/tinfoil.md +2 -2
- package/.docs/models/providers/togetherai.md +1 -1
- package/.docs/models/providers/trustedrouter.md +1 -1
- package/.docs/models/providers/umans-ai-coding-plan.md +1 -1
- package/.docs/models/providers/umans-ai.md +1 -1
- package/.docs/models/providers/unorouter.md +1 -1
- package/.docs/models/providers/upstage.md +1 -1
- package/.docs/models/providers/venice.md +1 -1
- package/.docs/models/providers/vivgrid.md +1 -1
- package/.docs/models/providers/vultr.md +1 -1
- package/.docs/models/providers/wafer.ai.md +1 -1
- package/.docs/models/providers/wandb.md +3 -2
- package/.docs/models/providers/xiaomi-token-plan-ams.md +1 -1
- package/.docs/models/providers/xiaomi-token-plan-cn.md +1 -1
- package/.docs/models/providers/xiaomi-token-plan-sgp.md +1 -1
- package/.docs/models/providers/xiaomi.md +1 -1
- package/.docs/models/providers/xpersona.md +1 -1
- package/.docs/models/providers/zai-coding-plan.md +1 -1
- package/.docs/models/providers/zai.md +1 -1
- package/.docs/models/providers/zeldoc.md +8 -8
- package/.docs/models/providers/zenifra.md +1 -1
- package/.docs/models/providers/zenmux.md +1 -16
- package/.docs/models/providers/zhipuai-coding-plan.md +1 -1
- package/.docs/models/providers/zhipuai.md +1 -1
- package/.docs/models/providers.md +1 -0
- package/.docs/reference/agent-controller/agent-controller-class.md +35 -4
- package/.docs/reference/agent-controller/session.md +5 -3
- package/.docs/reference/agents/channels.md +2 -2
- package/.docs/reference/agents/durable-agent.md +2 -0
- package/.docs/reference/agents/generateLegacy.md +2 -2
- package/.docs/reference/agents/getDefaultOptions.md +1 -1
- package/.docs/reference/agents/getDefaultStreamOptions.md +1 -1
- package/.docs/reference/agents/inngest-agent.md +3 -1
- package/.docs/reference/agents/network.md +1 -1
- package/.docs/reference/ai-sdk/handle-network-stream.md +1 -1
- package/.docs/reference/ai-sdk/network-route.md +1 -1
- package/.docs/reference/auth/auth0.md +1 -1
- package/.docs/reference/auth/better-auth.md +1 -1
- package/.docs/reference/auth/clerk.md +1 -1
- package/.docs/reference/auth/firebase.md +1 -1
- package/.docs/reference/auth/google.md +1 -1
- package/.docs/reference/auth/okta.md +5 -1
- package/.docs/reference/auth/supabase.md +1 -1
- package/.docs/reference/auth/workos.md +1 -1
- package/.docs/reference/browser/agent-browser.md +2 -2
- package/.docs/reference/browser/browser-viewer.md +1 -1
- package/.docs/reference/browser/firecrawl-browser.md +1 -1
- package/.docs/reference/browser/mastra-browser.md +1 -1
- package/.docs/reference/browser/stagehand-browser.md +2 -2
- package/.docs/reference/channels/channel-provider.md +1 -1
- package/.docs/reference/channels/slack-provider.md +2 -2
- package/.docs/reference/cli/mastra.md +6 -6
- package/.docs/reference/client-js/agents.md +2 -1
- package/.docs/reference/client-js/workflows.md +21 -21
- package/.docs/reference/code-sdk/mount-agent-controller.md +1 -1
- package/.docs/reference/configuration.md +21 -27
- package/.docs/reference/core/{addStoredWorkflow.md → addDynamicWorkflow.md} +10 -10
- package/.docs/reference/core/{addStoredWorkflows.md → addDynamicWorkflows.md} +9 -9
- package/.docs/reference/core/getStorage.md +1 -1
- package/.docs/reference/core/getVector.md +2 -2
- package/.docs/reference/core/listVectors.md +2 -2
- package/.docs/reference/core/setStorage.md +1 -1
- package/.docs/reference/datasets/startExperiment.md +8 -0
- package/.docs/reference/editor/tool-provider.md +26 -1
- package/.docs/reference/file-based-agents/config.md +2 -0
- package/.docs/reference/file-based-agents/instructions.md +2 -0
- package/.docs/reference/file-based-agents/logger.md +2 -0
- package/.docs/reference/file-based-agents/memory.md +2 -0
- package/.docs/reference/file-based-agents/observability.md +2 -0
- package/.docs/reference/file-based-agents/processors.md +2 -0
- package/.docs/reference/file-based-agents/schedules.md +2 -0
- package/.docs/reference/file-based-agents/scorers.md +2 -0
- package/.docs/reference/file-based-agents/server.md +2 -0
- package/.docs/reference/file-based-agents/skills.md +2 -0
- package/.docs/reference/file-based-agents/storage.md +3 -1
- package/.docs/reference/file-based-agents/studio.md +3 -1
- package/.docs/reference/file-based-agents/subagents.md +2 -0
- package/.docs/reference/file-based-agents/tools.md +2 -0
- package/.docs/reference/file-based-agents/workflows.md +2 -0
- package/.docs/reference/file-based-agents/workspace.md +2 -0
- package/.docs/reference/index.md +32 -57
- package/.docs/{guides/getting-started → reference}/manual-install.md +2 -2
- package/.docs/{guides → reference}/migrations/ai-sdk-v4-to-v5.md +1 -1
- package/.docs/{guides → reference}/migrations/mastra-cloud.md +2 -2
- package/.docs/{guides → reference}/migrations/upgrade-to-v1/cli.md +1 -1
- package/.docs/{guides → reference}/migrations/upgrade-to-v1/memory.md +1 -1
- package/.docs/{guides → reference}/migrations/upgrade-to-v1/overview.md +41 -41
- package/.docs/{guides → reference}/migrations/upgrade-to-v1/tools.md +1 -1
- package/.docs/{guides → reference}/migrations/upgrade-to-v1/tracing.md +10 -10
- package/.docs/reference/observability/tracing/bridges/datadog.md +2 -2
- package/.docs/reference/observability/tracing/bridges/otel.md +2 -2
- package/.docs/reference/observability/tracing/exporters/arize.md +1 -1
- package/.docs/reference/observability/tracing/exporters/arthur.md +1 -1
- package/.docs/reference/observability/tracing/exporters/confident-ai.md +1 -1
- package/.docs/reference/observability/tracing/exporters/datadog.md +1 -1
- package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +12 -0
- package/.docs/reference/observability/tracing/exporters/otel.md +2 -2
- package/.docs/reference/processors/pii-detector.md +2 -0
- package/.docs/reference/processors/prompt-injection-detector.md +2 -0
- package/.docs/reference/processors/regex-filter-processor.md +20 -0
- package/.docs/reference/processors/response-cache.md +2 -0
- package/.docs/reference/processors/tool-search-processor.md +33 -1
- package/.docs/reference/pubsub/lease-provider.md +1 -1
- package/.docs/{guides → reference}/rag/chunking-and-embedding.md +16 -19
- package/.docs/reference/rag/database-config.md +1 -1
- package/.docs/{guides/rag/graph-rag.md → reference/rag/graph-rag-guide.md} +1 -1
- package/.docs/reference/rag/metadata-filters.md +13 -4
- package/.docs/{guides → reference}/rag/overview.md +2 -2
- package/.docs/{guides → reference}/rag/retrieval.md +18 -1
- package/.docs/{guides → reference}/rag/vector-databases.md +42 -1
- package/.docs/reference/schedules/overview.md +2 -0
- package/.docs/reference/server/create-route.md +27 -1
- package/.docs/reference/server/register-api-route.md +2 -0
- package/.docs/reference/server/routes.md +9 -9
- package/.docs/reference/signals/create-notification-inbox-tool.md +2 -0
- package/.docs/reference/signals/signal-provider.md +2 -0
- package/.docs/reference/signals/task-signal-provider.md +2 -0
- package/.docs/reference/signals/webhook-signal-provider.md +2 -0
- package/.docs/reference/storage/composite.md +4 -4
- package/.docs/reference/storage/overview.md +9 -9
- package/.docs/reference/storage/retention.md +5 -5
- package/.docs/reference/streaming/ChunkType.md +3 -3
- package/.docs/reference/streaming/agents/stream.md +1 -1
- package/.docs/reference/streaming/agents/streamLegacy.md +3 -3
- package/.docs/reference/streaming/agents/streamUntilIdle.md +1 -1
- package/.docs/reference/tools/create-code-mode.md +3 -1
- package/.docs/reference/tools/isolated-vm-transport.md +1 -1
- package/.docs/reference/tools/mcp-client.md +51 -0
- package/.docs/reference/tools/mcp-server.md +1 -1
- package/.docs/reference/tools/quickjs-transport.md +92 -0
- package/.docs/reference/vectors/chroma.md +1 -1
- package/.docs/reference/vectors/convex.md +2 -2
- package/.docs/reference/vectors/oracledb.md +347 -0
- package/.docs/reference/workers/overview.md +10 -8
- package/.docs/reference/workflows/{stored-workflow-definition.md → dynamic-workflow-definition.md} +9 -7
- package/.docs/reference/workflows/run-methods/timeTravel.md +1 -0
- package/.docs/reference/workflows/workflow-methods/agent.md +3 -3
- package/.docs/reference/workflows/workflow-methods/tool.md +3 -3
- package/.docs/reference/workflows/workflow.md +18 -0
- package/.docs/reference/workspace/local-sandbox.md +1 -1
- package/.docs/reference/workspace/platform-filesystem.md +3 -3
- package/.docs/reference/workspace/platform-sandbox.md +11 -3
- package/.docs/reference/workspace/process-manager.md +3 -3
- package/.docs/reference/workspace/sandbox.md +10 -0
- package/CHANGELOG.md +97 -0
- package/dist/index.js +1 -1
- package/dist/{src-BZcgzbk9.js → src-D-W-bx5t.js} +2 -2
- package/dist/{src-BZcgzbk9.js.map → src-D-W-bx5t.js.map} +1 -1
- package/dist/stdio.js +1 -1
- package/package.json +6 -6
- package/.docs/docs/capabilities/channels/other-adapters.md +0 -68
- package/.docs/docs/observability/integrations/bridges/datadog.md +0 -219
- package/.docs/docs/observability/integrations/bridges/otel.md +0 -234
- package/.docs/docs/observability/integrations/exporters/datadog.md +0 -321
- package/.docs/guides/build-your-ui/copilotkit/channels.md +0 -86
- package/.docs/guides/build-your-ui/copilotkit/generative-ui.md +0 -174
- package/.docs/guides/guide/chef-michel.md +0 -211
- package/.docs/guides/guide/publishing-mcp-server.md +0 -137
- package/.docs/guides/guide/slack-assistant.md +0 -193
- package/.docs/guides/guide/stock-agent.md +0 -132
- package/.docs/guides/guide/web-search.md +0 -322
- package/.docs/guides/guide/whatsapp-chat-bot.md +0 -407
- package/.docs/guides/voice/realtime-voice.md +0 -430
- package/.docs/reference/voice/google.md +0 -290
- package/.docs/reference/voice/inworld.md +0 -137
- package/.docs/reference/voice/openai.md +0 -96
- package/.docs/reference/voice/playai.md +0 -82
- package/.docs/reference/workspace/vercel-serverless.md +0 -128
- /package/.docs/{guides/concepts → docs/guides}/multi-agent-systems.md +0 -0
- /package/.docs/{guides/concepts → docs/guides}/streaming.md +0 -0
- /package/.docs/{guides/build-your-ui → integrations/agentic-ui}/openui.md +0 -0
- /package/.docs/{docs/server → integrations}/auth/better-auth.md +0 -0
- /package/.docs/{docs/server → integrations}/auth/google.md +0 -0
- /package/.docs/{guides/deployment → integrations/deploy}/inngest.md +0 -0
- /package/.docs/{guides/deployment → integrations/deploy}/temporal.md +0 -0
- /package/.docs/{reference/workspace/agentfs-filesystem.md → integrations/file-storage/agentfs.md} +0 -0
- /package/.docs/{reference/workspace/google-drive-filesystem.md → integrations/file-storage/google-drive.md} +0 -0
- /package/.docs/{guides/getting-started → integrations/frameworks}/express.md +0 -0
- /package/.docs/{guides/getting-started → integrations/frameworks}/hono.md +0 -0
- /package/.docs/{guides/getting-started → integrations/frameworks}/nestjs.md +0 -0
- /package/.docs/{reference/workspace/agentcore-runtime-sandbox.md → integrations/sandboxes/agentcore.md} +0 -0
- /package/.docs/{reference/workspace/blaxel-sandbox.md → integrations/sandboxes/blaxel.md} +0 -0
- /package/.docs/{guides/guide → integrations/tools}/firecrawl.md +0 -0
- /package/.docs/{reference → integrations}/voice/azure.md +0 -0
- /package/.docs/{reference → integrations}/voice/deepgram.md +0 -0
- /package/.docs/{reference → integrations}/voice/elevenlabs.md +0 -0
- /package/.docs/{reference → integrations}/voice/mistral.md +0 -0
- /package/.docs/{reference → integrations}/voice/murf.md +0 -0
- /package/.docs/{reference → integrations}/voice/sarvam.md +0 -0
- /package/.docs/{reference → integrations}/voice/speechify.md +0 -0
- /package/.docs/{reference/voice/xai-realtime.md → integrations/voice/xai.md} +0 -0
- /package/.docs/{guides → reference}/migrations/agentnetwork.md +0 -0
- /package/.docs/{guides → reference}/migrations/network-to-supervisor.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/agent.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/client.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/deployment.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/evals.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/mastra.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/mcp.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/processors.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/rag.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/storage.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/vectors.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/voice.md +0 -0
- /package/.docs/{guides → reference}/migrations/upgrade-to-v1/workflows.md +0 -0
- /package/.docs/{guides → reference}/migrations/vnext-to-standard-apis.md +0 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
+
|
|
3
|
+
# OracleDB vector store
|
|
4
|
+
|
|
5
|
+
`OracleVector` stores embeddings in Oracle Database `VECTOR` columns and exposes them through Mastra's vector interface. Each logical Mastra vector index is mapped to an Oracle vector table through a registry table, while metadata is stored as Oracle JSON for structured filtering.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
**npm**:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @mastra/oracledb@latest
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**pnpm**:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm add @mastra/oracledb@latest
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Yarn**:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
yarn add @mastra/oracledb@latest
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Bun**:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
bun add @mastra/oracledb@latest
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Usage
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
import { OracleVector } from '@mastra/oracledb'
|
|
37
|
+
|
|
38
|
+
const vector = new OracleVector({
|
|
39
|
+
id: 'oracle-vector',
|
|
40
|
+
user: process.env.ORACLE_DATABASE_USER,
|
|
41
|
+
password: process.env.ORACLE_DATABASE_PASSWORD,
|
|
42
|
+
connectString: process.env.ORACLE_DATABASE_CONNECT_STRING,
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
await vector.createIndex({
|
|
46
|
+
indexName: 'memory_messages',
|
|
47
|
+
dimension: 1536,
|
|
48
|
+
metric: 'cosine',
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
await vector.upsert({
|
|
52
|
+
indexName: 'memory_messages',
|
|
53
|
+
vectors: [embedding],
|
|
54
|
+
metadata: [{ resource_id: 'user-1', thread_id: 'thread-1' }],
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
const results = await vector.query({
|
|
58
|
+
indexName: 'memory_messages',
|
|
59
|
+
queryVector,
|
|
60
|
+
topK: 5,
|
|
61
|
+
filter: { resource_id: 'user-1' },
|
|
62
|
+
})
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
By default, `OracleVector` uses exact search with no approximate vector index. Configure IVF or HNSW when your dataset and latency requirements need approximate search.
|
|
66
|
+
|
|
67
|
+
## Constructor options
|
|
68
|
+
|
|
69
|
+
Pass Oracle connection options (`user`, `password`, `connectString`, `pool`, wallet options, or `externalAuth`) directly, or pass `poolManager` to share the pool used by `OracleStore`. The vector-specific options are:
|
|
70
|
+
|
|
71
|
+
**id** (`string`): Unique identifier for this vector store instance.
|
|
72
|
+
|
|
73
|
+
**poolManager** (`OraclePoolManager`): Shared Oracle pool manager. Use this to share one Oracle pool with OracleStore.
|
|
74
|
+
|
|
75
|
+
**schemaName** (`string`): Oracle schema name used to qualify the vector registry and vector tables.
|
|
76
|
+
|
|
77
|
+
**tablePrefix** (`string`): Prefix used for physical Oracle vector tables. (Default: `'MASTRA_VEC'`)
|
|
78
|
+
|
|
79
|
+
**registryTableName** (`string`): Oracle table used to map Mastra logical index names to physical vector tables. (Default: `'MASTRA_VECTOR_INDEXES'`)
|
|
80
|
+
|
|
81
|
+
**defaultIndexConfig** (`OracleVectorIndexConfig`): Default Oracle vector index configuration. (Default: `{ type: 'none', accuracy: 95 }`)
|
|
82
|
+
|
|
83
|
+
**defaultMetadataIndexes** (`string[]`): Metadata fields to index automatically when vector tables are created. (Default: `['thread_id', 'resource_id', 'message_id', 'source_id']`)
|
|
84
|
+
|
|
85
|
+
**defaultVectorFormat** (`'vector' | 'bit' | 'int8'`): Default Oracle vector format for dense, binary, and int8 embeddings. (Default: `'vector'`)
|
|
86
|
+
|
|
87
|
+
**upsertBatchSize** (`number`): Number of vectors sent per Oracle executeMany call. The full upsert commits once after all batches succeed. (Default: `200`)
|
|
88
|
+
|
|
89
|
+
## Constructor examples
|
|
90
|
+
|
|
91
|
+
### Shared pool with OracleStore
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
import { OracleStore, OracleVector } from '@mastra/oracledb'
|
|
95
|
+
|
|
96
|
+
const storage = new OracleStore({ id: 'oracle-storage', user, password, connectString })
|
|
97
|
+
|
|
98
|
+
const vector = new OracleVector({
|
|
99
|
+
id: 'oracle-vector',
|
|
100
|
+
poolManager: storage.getPoolManager(),
|
|
101
|
+
})
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
For Autonomous Database and mTLS connections, pass `walletLocation`, `walletPassword`, and `configDir` in the same constructor.
|
|
105
|
+
|
|
106
|
+
## Methods
|
|
107
|
+
|
|
108
|
+
### `createIndex()`
|
|
109
|
+
|
|
110
|
+
Creates the registry row, physical Oracle vector table, metadata indexes, and optionally an Oracle vector index.
|
|
111
|
+
|
|
112
|
+
**indexName** (`string`): Logical Mastra index name. The provider maps this to a valid Oracle table name internally.
|
|
113
|
+
|
|
114
|
+
**dimension** (`number`): Vector dimension. This must match the embedding model output size.
|
|
115
|
+
|
|
116
|
+
**metric** (`'cosine' | 'euclidean' | 'dotproduct' | 'hamming' | 'jaccard'`): Distance metric for similarity search. Binary vectors support hamming and jaccard. (Default: `cosine`)
|
|
117
|
+
|
|
118
|
+
**vectorFormat** (`'vector' | 'bit' | 'int8'`): Oracle vector storage format. (Default: `vector`)
|
|
119
|
+
|
|
120
|
+
**indexConfig** (`OracleVectorIndexConfig`): Oracle vector index configuration. none means exact search with no approximate vector index. (Default: `{ type: 'none', accuracy: 95 }`)
|
|
121
|
+
|
|
122
|
+
**buildIndex** (`boolean`): Whether to build the Oracle vector index when indexConfig.type is ivf or hnsw. (Default: `true`)
|
|
123
|
+
|
|
124
|
+
**metadataIndexes** (`string[]`): Metadata field names to index for faster JSON metadata filtering.
|
|
125
|
+
|
|
126
|
+
#### `OracleVectorIndexConfig`
|
|
127
|
+
|
|
128
|
+
**type** (`'none' | 'ivf' | 'hnsw'`): Oracle vector index type. (Default: `'none'`)
|
|
129
|
+
|
|
130
|
+
**accuracy** (`number`): Target accuracy for approximate vector search. (Default: `95`)
|
|
131
|
+
|
|
132
|
+
**ivf.neighborPartitions** (`number`): Oracle IVF neighbor partitions setting.
|
|
133
|
+
|
|
134
|
+
**hnsw\.neighbors** (`number`): Oracle HNSW neighbor setting.
|
|
135
|
+
|
|
136
|
+
**hnsw\.efConstruction** (`number`): Oracle HNSW build-time construction setting.
|
|
137
|
+
|
|
138
|
+
#### Index configuration
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
await vector.createIndex({
|
|
142
|
+
indexName: 'support_articles',
|
|
143
|
+
dimension: 1536,
|
|
144
|
+
metric: 'cosine',
|
|
145
|
+
indexConfig: {
|
|
146
|
+
type: 'ivf',
|
|
147
|
+
accuracy: 95,
|
|
148
|
+
ivf: {
|
|
149
|
+
neighborPartitions: 32,
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
})
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The default is `indexConfig: { type: 'none' }`, which uses exact search and requires no approximate index tuning. Use IVF or HNSW only when your data volume and latency requirements justify approximate search. HNSW is configured with `indexConfig: { type: 'hnsw', hnsw: { neighbors, efConstruction } }` and requires Oracle Vector Pool memory, which `configureVectorMemory()` can allocate for local or self-managed databases.
|
|
156
|
+
|
|
157
|
+
### `upsert()`
|
|
158
|
+
|
|
159
|
+
**indexName** (`string`): Name of the index to upsert vectors into.
|
|
160
|
+
|
|
161
|
+
**vectors** (`number[][]`): Array of embedding vectors.
|
|
162
|
+
|
|
163
|
+
**metadata** (`Record<string, any>[]`): Metadata stored as Oracle JSON. Must align by position with vectors.
|
|
164
|
+
|
|
165
|
+
**ids** (`string[]`): Optional vector IDs. IDs are generated when omitted.
|
|
166
|
+
|
|
167
|
+
### `query()`
|
|
168
|
+
|
|
169
|
+
**indexName** (`string`): Name of the index to query.
|
|
170
|
+
|
|
171
|
+
**queryVector** (`number[]`): Query vector.
|
|
172
|
+
|
|
173
|
+
**topK** (`number`): Number of results to return. (Default: `10`)
|
|
174
|
+
|
|
175
|
+
**filter** (`Record<string, any>`): Mastra metadata filter translated to Oracle JSON predicates.
|
|
176
|
+
|
|
177
|
+
**includeVector** (`boolean`): Whether to include the vector in each result. (Default: `false`)
|
|
178
|
+
|
|
179
|
+
**minScore** (`number`): Minimum similarity score threshold. (Default: `-1`)
|
|
180
|
+
|
|
181
|
+
**queryMode** (`'exact' | 'approx'`): Oracle query mode. Exact search is used by default when no approximate vector index is configured.
|
|
182
|
+
|
|
183
|
+
**targetAccuracy** (`number`): Target accuracy for approximate Oracle vector queries.
|
|
184
|
+
|
|
185
|
+
### `listIndexes()`
|
|
186
|
+
|
|
187
|
+
Returns the logical Mastra index names recorded in the Oracle vector registry table.
|
|
188
|
+
|
|
189
|
+
### `describeIndex()`
|
|
190
|
+
|
|
191
|
+
Returns Oracle index metadata, including the physical table name, dimension, vector count, metric, index type, vector format, and configured accuracy.
|
|
192
|
+
|
|
193
|
+
### `deleteIndex()`
|
|
194
|
+
|
|
195
|
+
Deletes the Oracle vector table and removes the registry entry for the logical index.
|
|
196
|
+
|
|
197
|
+
### `updateVector()`
|
|
198
|
+
|
|
199
|
+
Update vectors by ID or metadata filter. Either `id` or `filter` must be provided, but not both. The `update` object may include `vector`, `metadata`, or both.
|
|
200
|
+
|
|
201
|
+
```ts
|
|
202
|
+
await vector.updateVector({
|
|
203
|
+
indexName: 'support_articles',
|
|
204
|
+
id: 'doc-1',
|
|
205
|
+
update: { metadata: { status: 'reviewed' } },
|
|
206
|
+
})
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### `deleteVector()`
|
|
210
|
+
|
|
211
|
+
Deletes a single vector by ID.
|
|
212
|
+
|
|
213
|
+
### `deleteVectors()`
|
|
214
|
+
|
|
215
|
+
Deletes multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
|
|
216
|
+
|
|
217
|
+
### `buildIndex()`
|
|
218
|
+
|
|
219
|
+
Builds an Oracle vector index for an existing logical index. If the resolved index type is `none`, this method is a no-op.
|
|
220
|
+
|
|
221
|
+
### `rebuildIndex()`
|
|
222
|
+
|
|
223
|
+
Drops and recreates the Oracle vector index for an existing logical index, typically after changing approximate-index tuning.
|
|
224
|
+
|
|
225
|
+
### Index diagnostics
|
|
226
|
+
|
|
227
|
+
Use `getIndexStatus({ indexName })` to inspect Oracle catalog status, and `indexAccuracyQuery({ indexName, queryVector, topK, targetAccuracy })` to run `DBMS_VECTOR.INDEX_ACCURACY_QUERY` for approximate indexes.
|
|
228
|
+
|
|
229
|
+
### `configureVectorMemory()`
|
|
230
|
+
|
|
231
|
+
Allocates Oracle Vector Pool memory, which HNSW indexes require. This calls `ALTER SYSTEM SET VECTOR_MEMORY_SIZE`, so it requires a privileged connection such as `SYSDBA` or `SYSTEM`.
|
|
232
|
+
|
|
233
|
+
**size** (`string`): Vector pool size, as an integer optionally followed by K, M, or G (for example "512M").
|
|
234
|
+
|
|
235
|
+
**scope** (`'MEMORY' | 'SPFILE' | 'BOTH'`): Oracle ALTER SYSTEM scope. Use 'SPFILE' or 'BOTH' so the setting survives a database restart. (Default: `'MEMORY'`)
|
|
236
|
+
|
|
237
|
+
### `disconnect()`
|
|
238
|
+
|
|
239
|
+
Closes the Oracle pool when `OracleVector` created the pool manager. If you provide `pool` or `poolManager`, you own that lifecycle.
|
|
240
|
+
|
|
241
|
+
## Metadata filters
|
|
242
|
+
|
|
243
|
+
`OracleVector` accepts Mastra's standard metadata filter syntax. Filters are translated into Oracle JSON predicates with bound values:
|
|
244
|
+
|
|
245
|
+
- scalar comparisons use `JSON_VALUE`
|
|
246
|
+
- array, existence, and element-match checks use `JSON_EXISTS`
|
|
247
|
+
- regex filters use `REGEXP_LIKE`
|
|
248
|
+
- string contains filters use case-insensitive `LIKE`
|
|
249
|
+
|
|
250
|
+
```ts
|
|
251
|
+
const results = await vector.query({
|
|
252
|
+
indexName: 'memory_messages',
|
|
253
|
+
queryVector,
|
|
254
|
+
topK: 5,
|
|
255
|
+
filter: {
|
|
256
|
+
resource_id: 'user-1',
|
|
257
|
+
tags: { $contains: 'support' },
|
|
258
|
+
score: { $gte: 0.8 },
|
|
259
|
+
$or: [{ source: 'docs' }, { source: 'tickets' }],
|
|
260
|
+
},
|
|
261
|
+
})
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Metadata is stored as native Oracle JSON, so the rows are also readable directly with standard Oracle JDBC tools such as DBeaver and SQL Developer.
|
|
265
|
+
|
|
266
|
+
Use `ORACLEDB_PROMPT` when an agent should generate Oracle-compatible metadata filters for `createVectorQueryTool()`:
|
|
267
|
+
|
|
268
|
+
```ts
|
|
269
|
+
import { Agent } from '@mastra/core/agent'
|
|
270
|
+
import { createVectorQueryTool } from '@mastra/rag'
|
|
271
|
+
import { fastembed } from '@mastra/fastembed'
|
|
272
|
+
import { ORACLEDB_PROMPT } from '@mastra/oracledb'
|
|
273
|
+
|
|
274
|
+
const vectorQueryTool = createVectorQueryTool({
|
|
275
|
+
vectorStoreName: 'oracle',
|
|
276
|
+
indexName: 'support_articles',
|
|
277
|
+
model: fastembed,
|
|
278
|
+
enableFilter: true,
|
|
279
|
+
})
|
|
280
|
+
|
|
281
|
+
export const ragAgent = new Agent({
|
|
282
|
+
id: 'oracle-rag-agent',
|
|
283
|
+
name: 'Oracle RAG Agent',
|
|
284
|
+
model: 'openai/gpt-5.6-sol',
|
|
285
|
+
instructions: `
|
|
286
|
+
Use the retrieval tool when you need source context.
|
|
287
|
+
Available metadata fields: resource_id, thread_id, source, category, tags.
|
|
288
|
+
${ORACLEDB_PROMPT}
|
|
289
|
+
`,
|
|
290
|
+
tools: { vectorQueryTool },
|
|
291
|
+
})
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## Response types
|
|
295
|
+
|
|
296
|
+
Query results are returned in this format:
|
|
297
|
+
|
|
298
|
+
```ts
|
|
299
|
+
interface QueryResult {
|
|
300
|
+
id: string
|
|
301
|
+
score: number
|
|
302
|
+
metadata: Record<string, any>
|
|
303
|
+
vector?: number[]
|
|
304
|
+
}
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
## Usage example
|
|
308
|
+
|
|
309
|
+
```ts
|
|
310
|
+
import { Agent } from '@mastra/core/agent'
|
|
311
|
+
import { Memory } from '@mastra/memory'
|
|
312
|
+
import { fastembed } from '@mastra/fastembed'
|
|
313
|
+
import { OracleStore, OracleVector } from '@mastra/oracledb'
|
|
314
|
+
|
|
315
|
+
const storage = new OracleStore({
|
|
316
|
+
id: 'oracle-storage',
|
|
317
|
+
user: process.env.ORACLE_DATABASE_USER,
|
|
318
|
+
password: process.env.ORACLE_DATABASE_PASSWORD,
|
|
319
|
+
connectString: process.env.ORACLE_DATABASE_CONNECT_STRING,
|
|
320
|
+
})
|
|
321
|
+
|
|
322
|
+
const vector = new OracleVector({
|
|
323
|
+
id: 'oracle-vector',
|
|
324
|
+
poolManager: storage.getPoolManager(),
|
|
325
|
+
})
|
|
326
|
+
|
|
327
|
+
export const oracleAgent = new Agent({
|
|
328
|
+
id: 'oracle-agent',
|
|
329
|
+
name: 'Oracle Agent',
|
|
330
|
+
instructions: 'You are an assistant with OracleDB-backed memory and semantic recall.',
|
|
331
|
+
model: 'openai/gpt-5.6-sol',
|
|
332
|
+
memory: new Memory({
|
|
333
|
+
storage,
|
|
334
|
+
vector,
|
|
335
|
+
embedder: fastembed,
|
|
336
|
+
options: {
|
|
337
|
+
semanticRecall: { topK: 3, messageRange: 2 },
|
|
338
|
+
},
|
|
339
|
+
}),
|
|
340
|
+
})
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
## Related
|
|
344
|
+
|
|
345
|
+
- [OracleDB storage](https://mastra.ai/integrations/databases/oracledb)
|
|
346
|
+
- [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
|
|
347
|
+
- [Vector databases](https://mastra.ai/reference/rag/vector-databases)
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
# Workers
|
|
4
4
|
|
|
5
|
+
> **Beta:** Breaking changes may occur without a major version bump until the API is stable.
|
|
6
|
+
|
|
5
7
|
For usage patterns and deployment topologies, see [Workers](https://mastra.ai/docs/deployment/workers).
|
|
6
8
|
|
|
7
9
|
## Environment variables
|
|
@@ -75,13 +77,13 @@ Executes background tool calls dispatched by agents.
|
|
|
75
77
|
|
|
76
78
|
A deployment running all worker types requires a storage backend that implements the `workflows`, `backgroundTasks`, and `schedules` domains. The `schedules` domain is specifically required by the SchedulerWorker. If you don't use scheduled workflows, backends without it can still support orchestration and background tasks. The following backends support all three:
|
|
77
79
|
|
|
78
|
-
| Backend | Package
|
|
79
|
-
| ---------- |
|
|
80
|
-
| PostgreSQL | [`@mastra/pg`](https://mastra.ai/
|
|
81
|
-
| LibSQL | [`@mastra/libsql`](https://mastra.ai/
|
|
82
|
-
| MySQL | `@mastra/mysql`
|
|
83
|
-
| MongoDB | [`@mastra/mongodb`](https://mastra.ai/
|
|
84
|
-
| Spanner | [`@mastra/spanner`](https://mastra.ai/
|
|
85
|
-
| Convex | [`@mastra/convex`](https://mastra.ai/
|
|
80
|
+
| Backend | Package |
|
|
81
|
+
| ---------- | --------------------------------------------------------------------- |
|
|
82
|
+
| PostgreSQL | [`@mastra/pg`](https://mastra.ai/integrations/databases/postgresql) |
|
|
83
|
+
| LibSQL | [`@mastra/libsql`](https://mastra.ai/integrations/databases/libsql) |
|
|
84
|
+
| MySQL | `@mastra/mysql` |
|
|
85
|
+
| MongoDB | [`@mastra/mongodb`](https://mastra.ai/integrations/databases/mongodb) |
|
|
86
|
+
| Spanner | [`@mastra/spanner`](https://mastra.ai/integrations/databases/spanner) |
|
|
87
|
+
| Convex | [`@mastra/convex`](https://mastra.ai/integrations/databases/convex) |
|
|
86
88
|
|
|
87
89
|
Other storage backends (Upstash, DynamoDB, Cloudflare D1, ClickHouse, Redis) support workflows and some worker features, but are missing the `schedules` domain. They can still be used for orchestration and background task workers if you don't deploy the scheduler.
|
package/.docs/reference/workflows/{stored-workflow-definition.md → dynamic-workflow-definition.md}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# Dynamic workflow definition
|
|
4
4
|
|
|
5
|
-
> **Beta:**
|
|
5
|
+
> **Beta:** Breaking changes may occur without a major version bump until the API is stable.
|
|
6
6
|
|
|
7
|
-
A
|
|
7
|
+
A dynamic workflow definition is a JSON-compatible `DynamicWorkflowGraph` accepted by [`Mastra.addDynamicWorkflow()`](https://mastra.ai/reference/core/addDynamicWorkflow), the stored-workflow server routes, and the Client SDK workflows API.
|
|
8
8
|
|
|
9
|
-
See [
|
|
9
|
+
See [Dynamic workflows](https://mastra.ai/docs/workflows/dynamic-workflows) for a complete setup and usage example.
|
|
10
10
|
|
|
11
11
|
## Definition fields
|
|
12
12
|
|
|
@@ -132,6 +132,8 @@ Tool entries accept the same optional `description` and `options` fields as agen
|
|
|
132
132
|
|
|
133
133
|
A `mapping` entry reshapes data. Its `mapConfig` is a JSON string that encodes an object. Each key becomes a key in the step output, and each descriptor defines one source.
|
|
134
134
|
|
|
135
|
+
When you call [`Mastra.addDynamicWorkflow()`](https://mastra.ai/reference/core/addDynamicWorkflow) directly, `mapConfig` also accepts the object itself. Mastra encodes it to a JSON string before registering and storing the definition, so the persisted row is the same either way. A stored definition always carries the JSON string form.
|
|
136
|
+
|
|
135
137
|
| Descriptor | Description |
|
|
136
138
|
| -------------------------------------- | ----------------------------------------- |
|
|
137
139
|
| `{ "value": ... }` | A constant JSON value |
|
|
@@ -286,7 +288,7 @@ Validation errors include a dotted path, such as `graph.2.steps.0`, that identif
|
|
|
286
288
|
|
|
287
289
|
## Related
|
|
288
290
|
|
|
289
|
-
- [Use
|
|
290
|
-
- [`Mastra.
|
|
291
|
-
- [`Mastra.
|
|
291
|
+
- [Use dynamic workflows](https://mastra.ai/docs/workflows/dynamic-workflows)
|
|
292
|
+
- [`Mastra.addDynamicWorkflow()`](https://mastra.ai/reference/core/addDynamicWorkflow)
|
|
293
|
+
- [`Mastra.addDynamicWorkflows()`](https://mastra.ai/reference/core/addDynamicWorkflows)
|
|
292
294
|
- [Client SDK workflows API](https://mastra.ai/reference/client-js/workflows)
|
|
@@ -150,6 +150,7 @@ const result = await run.timeTravel({
|
|
|
150
150
|
- When re-executing a workflow, the workflow loads the existing snapshot from storage (if available)
|
|
151
151
|
- Step results before the target step are reconstructed from the snapshot or provided context
|
|
152
152
|
- Execution begins from the specified step with the provided or reconstructed input data
|
|
153
|
+
- If a step that precedes the target in the current workflow definition has no recorded entry in the snapshot (for example, the step was renamed since the run was recorded, or the run never reached it), `timeTravel` rejects with a descriptive error before anything executes and the stored snapshot is left unchanged
|
|
153
154
|
- The workflow continues to completion from that point forward
|
|
154
155
|
- Time travel can be used on workflows that haven't been run yet by providing custom context or input data for the step to start from.
|
|
155
156
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
The `.agent()` method adds an agent as a declarative step. The step accepts `{ prompt: string }` as input and returns `{ text: string }` by default. Use `.map()` before the agent to build the prompt from workflow data.
|
|
6
6
|
|
|
7
|
-
Unlike wrapping an agent with `createStep()`, `.agent()` records a declarative entry in the workflow graph. This makes the workflow portable: the same graph can be serialized and persisted as a [
|
|
7
|
+
Unlike wrapping an agent with `createStep()`, `.agent()` records a declarative entry in the workflow graph. This makes the workflow portable: the same graph can be serialized and persisted as a [dynamic workflow](https://mastra.ai/docs/workflows/dynamic-workflows).
|
|
8
8
|
|
|
9
9
|
## Usage example
|
|
10
10
|
|
|
@@ -53,10 +53,10 @@ workflow.agent("test-agent", { maxSteps: 3 }).commit();
|
|
|
53
53
|
|
|
54
54
|
## Persisting agent steps
|
|
55
55
|
|
|
56
|
-
Workflows built with `.agent()` serialize to the same declarative entries that [
|
|
56
|
+
Workflows built with `.agent()` serialize to the same declarative entries that [dynamic workflows](https://mastra.ai/docs/workflows/dynamic-workflows) use. Only `retries` and `metadata` round-trip through storage. Options that hold functions, such as `onFinish` or a function-valued `toolChoice`, throw an error when the workflow is stored.
|
|
57
57
|
|
|
58
58
|
## Related
|
|
59
59
|
|
|
60
60
|
- [Agents and Tools](https://mastra.ai/docs/workflows/agents-and-tools)
|
|
61
|
-
- [
|
|
61
|
+
- [Dynamic workflows](https://mastra.ai/docs/workflows/dynamic-workflows)
|
|
62
62
|
- [Workflow.tool()](https://mastra.ai/reference/workflows/workflow-methods/tool)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
The `.tool()` method adds a tool as a declarative step. The tool's own input and output schemas apply, so the previous step's output must satisfy the tool's input schema. Use `.map()` to transform the data if they don't match.
|
|
6
6
|
|
|
7
|
-
Unlike wrapping a tool with `createStep()`, `.tool()` records a declarative entry in the workflow graph. This makes the workflow portable: the same graph can be serialized and persisted as a [
|
|
7
|
+
Unlike wrapping a tool with `createStep()`, `.tool()` records a declarative entry in the workflow graph. This makes the workflow portable: the same graph can be serialized and persisted as a [dynamic workflow](https://mastra.ai/docs/workflows/dynamic-workflows).
|
|
8
8
|
|
|
9
9
|
## Usage example
|
|
10
10
|
|
|
@@ -34,10 +34,10 @@ workflow.tool("lookup-customer", { retries: 2 }).commit();
|
|
|
34
34
|
|
|
35
35
|
## Persisting tool steps
|
|
36
36
|
|
|
37
|
-
Workflows built with `.tool()` serialize to the same declarative entries that [
|
|
37
|
+
Workflows built with `.tool()` serialize to the same declarative entries that [dynamic workflows](https://mastra.ai/docs/workflows/dynamic-workflows) use. Only `retries` and `metadata` round-trip through storage. A function-valued `scorers` option throws an error when the workflow is stored.
|
|
38
38
|
|
|
39
39
|
## Related
|
|
40
40
|
|
|
41
41
|
- [Agents and Tools](https://mastra.ai/docs/workflows/agents-and-tools)
|
|
42
|
-
- [
|
|
42
|
+
- [Dynamic workflows](https://mastra.ai/docs/workflows/dynamic-workflows)
|
|
43
43
|
- [Workflow.agent()](https://mastra.ai/reference/workflows/workflow-methods/agent)
|
|
@@ -127,6 +127,24 @@ export const testWorkflow = createWorkflow({
|
|
|
127
127
|
|
|
128
128
|
**options.pruneSnapshot** (`(params: { snapshot: WorkflowRunState; workflowStatus: WorkflowRunStatus }) => WorkflowRunState`): Optional hook to transform the workflow snapshot immediately before it is persisted. Must return JSON-serializable data and preserve everything the workflow needs to resume (suspended step suspendPayloads, suspendedPaths, executionPath, etc.). Used internally by agent runs to keep snapshots minimal; user workflows persist full snapshots by default.
|
|
129
129
|
|
|
130
|
+
**options.onStart** (`(info: WorkflowStartCallbackInfo) => void | Promise<void>`): Callback awaited before a run starts executing, and before any step runs. Fires only on initial start, not on resume, restart, or time travel. Unlike onFinish and onError, errors thrown here are propagated: they reject the start() or stream() call and the run never executes, so this can be used as a pre-flight gate such as a quota check. The run record created by createRun() stays at status pending.
|
|
131
|
+
|
|
132
|
+
**options.onStart.runId** (`string`): The workflow run ID
|
|
133
|
+
|
|
134
|
+
**options.onStart.workflowId** (`string`): The workflow identifier
|
|
135
|
+
|
|
136
|
+
**options.onStart.resourceId** (`string`): Resource or user identifier for multi-tenant scenarios
|
|
137
|
+
|
|
138
|
+
**options.onStart.getInitData** (`() => any`): Returns the initial workflow input data
|
|
139
|
+
|
|
140
|
+
**options.onStart.state** (`Record<string, any>`): The initial workflow state
|
|
141
|
+
|
|
142
|
+
**options.onStart.requestContext** (`RequestContext`): The request context for the run
|
|
143
|
+
|
|
144
|
+
**options.onStart.mastra** (`Mastra`): The Mastra instance, when the workflow is registered
|
|
145
|
+
|
|
146
|
+
**options.onStart.logger** (`IMastraLogger`): The Mastra logger
|
|
147
|
+
|
|
130
148
|
**options.onFinish** (`(result: WorkflowFinishCallbackResult) => void | Promise<void>`): Callback invoked when workflow completes with any status (success, failed, suspended, tripwire). Receives the workflow result including status, output, error, and step results. Errors thrown in this callback are caught and logged, not propagated.
|
|
131
149
|
|
|
132
150
|
**options.onFinish.status** (`WorkflowRunStatus`): The workflow status: 'success', 'failed', 'suspended', or 'tripwire'
|
|
@@ -64,7 +64,7 @@ Configuration options for native OS sandboxing (used with `isolation: 'seatbelt'
|
|
|
64
64
|
|
|
65
65
|
**readWritePaths** (`string[]`): Additional paths to allow read-write access beyond the workspace directory.
|
|
66
66
|
|
|
67
|
-
**seatbeltProfilePath** (`string`): Path to a custom seatbelt profile file (macOS only). If the file
|
|
67
|
+
**seatbeltProfilePath** (`string`): Path to a custom seatbelt profile file (macOS only). If you wrote the file, it's used exactly as written: Mastra doesn't add mounted paths to it, so the profile must already allow every path you mount. If the file doesn't exist, a default profile is generated and written to this path, and that generated profile allows mounted paths. Mastra marks the profiles it generates, so a later run regenerates them instead of reading them back as your own. To edit a generated profile and keep your edits, delete its marker comment: the file then counts as yours, and mounted paths are no longer added to it.
|
|
68
68
|
|
|
69
69
|
**bwrapArgs** (`string[]`): Additional arguments to pass to bwrap (Linux only).
|
|
70
70
|
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
Stores files in a Mastra Platform workspace bucket. Each Mastra Platform environment can have one bucket, and `PlatformFilesystem` gives agents `read`, `write`, `list`, `delete`, and `move` operations against it.
|
|
6
6
|
|
|
7
|
-
Related providers: [`S3Filesystem`](https://mastra.ai/
|
|
7
|
+
Related providers: [`S3Filesystem`](https://mastra.ai/integrations/file-storage/amazon-s3) for direct S3 access, [`LocalFilesystem`](https://mastra.ai/reference/workspace/local-filesystem) for local directories.
|
|
8
8
|
|
|
9
|
-
> **
|
|
9
|
+
> **Note:** For interface details, see [WorkspaceFilesystem interface](https://mastra.ai/reference/workspace/filesystem).
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
@@ -181,5 +181,5 @@ try {
|
|
|
181
181
|
## Related
|
|
182
182
|
|
|
183
183
|
- [PlatformSandbox reference](https://mastra.ai/reference/workspace/platform-sandbox)
|
|
184
|
-
- [S3Filesystem reference](https://mastra.ai/
|
|
184
|
+
- [S3Filesystem reference](https://mastra.ai/integrations/file-storage/amazon-s3)
|
|
185
185
|
- [WorkspaceFilesystem interface](https://mastra.ai/reference/workspace/filesystem)
|
|
@@ -6,9 +6,9 @@ Client for provisioning sandboxes in a Mastra Platform environment. Each `Platfo
|
|
|
6
6
|
|
|
7
7
|
Sandboxes boot from a pre-built recipe checkpoint with Python 3, Node 22, TypeScript, tsx, and common build tooling already installed. Pass a stable `id` to opt into [checkpoint recovery](#checkpoint-recovery) so a new sandbox boots from the previous one's filesystem.
|
|
8
8
|
|
|
9
|
-
Related providers: [`RailwaySandbox`](https://mastra.ai/
|
|
9
|
+
Related providers: [`RailwaySandbox`](https://mastra.ai/integrations/sandboxes/railway) for self-hosted Railway sandboxes, [`LocalSandbox`](https://mastra.ai/reference/workspace/local-sandbox) for local sandboxes.
|
|
10
10
|
|
|
11
|
-
> **
|
|
11
|
+
> **Note:** For interface details, see [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox).
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
@@ -136,6 +136,12 @@ await sandbox.start() // Boots from the most recent checkpoint for this id, or f
|
|
|
136
136
|
|
|
137
137
|
Checkpoint recovery is coarser than `sandboxId` reattachment. Reattaching (via `sandboxId`) rejoins the exact live sandbox and its running processes. Checkpoint recovery constructs a brand new sandbox and restores its filesystem from the latest checkpoint the platform captured for the previous sandbox with that `id`. Running processes and any filesystem writes made after the last checkpoint aren't restored.
|
|
138
138
|
|
|
139
|
+
Call `snapshot()` after a filesystem update to capture the configured recovery checkpoint immediately. It resolves without capturing when the sandbox has no caller-provided `id` or isn't running.
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
await sandbox.snapshot()
|
|
143
|
+
```
|
|
144
|
+
|
|
139
145
|
Each `id` maps to one independent filesystem. Reusing the same `id` across unrelated sandboxes causes the platform to boot them from each other's checkpoint.
|
|
140
146
|
|
|
141
147
|
### Cloning for a fleet of sandboxes
|
|
@@ -219,6 +225,8 @@ console.log(result.exitCode)
|
|
|
219
225
|
|
|
220
226
|
**clone** (`(options?: SandboxCloneOptions) => PlatformSandbox`): Construct an unstarted sibling PlatformSandbox that inherits credentials and defaults with per-instance overrides (id, sandboxId, env, idleTimeoutMinutes). Performs no I/O. Use to build a fleet of independent sandboxes from one configured template.
|
|
221
227
|
|
|
228
|
+
**snapshot** (`() => Promise<void>`): Capture the configured recovery checkpoint immediately. Resolves without work when no caller-provided id exists or the sandbox is not running.
|
|
229
|
+
|
|
222
230
|
**getInfo** (`() => Promise<SandboxInfo>`): Return the sandbox's platform id, provider, status, createdAt, and metadata (sandboxId, providerResourceId, platformStatus).
|
|
223
231
|
|
|
224
232
|
**getInstructions** (`(opts?: { requestContext?: RequestContext }) => string`): Return the sandbox instructions the workspace surfaces in tool descriptions. Honors the instructions constructor option; otherwise returns platform-default instructions that include the current remote sandbox id when running.
|
|
@@ -271,6 +279,6 @@ try {
|
|
|
271
279
|
## Related
|
|
272
280
|
|
|
273
281
|
- [PlatformFilesystem reference](https://mastra.ai/reference/workspace/platform-filesystem)
|
|
274
|
-
- [RailwaySandbox reference](https://mastra.ai/
|
|
282
|
+
- [RailwaySandbox reference](https://mastra.ai/integrations/sandboxes/railway)
|
|
275
283
|
- [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox)
|
|
276
284
|
- [SandboxProcessManager reference](https://mastra.ai/reference/workspace/process-manager)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
Abstract base class for managing background processes in sandboxes. Provides methods to spawn processes, list them, get handles by PID, and kill them.
|
|
8
8
|
|
|
9
|
-
[`BlaxelSandbox`](https://mastra.ai/
|
|
9
|
+
[`BlaxelSandbox`](https://mastra.ai/integrations/sandboxes/blaxel), [`DaytonaSandbox`](https://mastra.ai/integrations/sandboxes/daytona), [`E2BSandbox`](https://mastra.ai/integrations/sandboxes/e2b), [`ModalSandbox`](https://mastra.ai/integrations/sandboxes/modal), and [`LocalSandbox`](https://mastra.ai/reference/workspace/local-sandbox) all include built-in process managers. You don't need to instantiate this class directly unless you're building a custom sandbox provider.
|
|
10
10
|
|
|
11
11
|
## Usage example
|
|
12
12
|
|
|
@@ -294,5 +294,5 @@ When a process manager is provided, `MastraSandbox` automatically creates a defa
|
|
|
294
294
|
- [Sandbox](https://mastra.ai/docs/workspace/sandbox)
|
|
295
295
|
- [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox)
|
|
296
296
|
- [LocalSandbox reference](https://mastra.ai/reference/workspace/local-sandbox)
|
|
297
|
-
- [E2BSandbox reference](https://mastra.ai/
|
|
298
|
-
- [DaytonaSandbox reference](https://mastra.ai/
|
|
297
|
+
- [E2BSandbox reference](https://mastra.ai/integrations/sandboxes/e2b)
|
|
298
|
+
- [DaytonaSandbox reference](https://mastra.ai/integrations/sandboxes/daytona)
|
|
@@ -38,6 +38,16 @@ Clean up sandbox resources. Called by `workspace.destroy()`.
|
|
|
38
38
|
await sandbox.destroy()
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
+
### `snapshot()`
|
|
42
|
+
|
|
43
|
+
Persists the sandbox's current state when the provider supports snapshots. Other providers resolve without doing work.
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
await sandbox.snapshot()
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Returns:** `Promise<void>`
|
|
50
|
+
|
|
41
51
|
### `executeCommand(command, args?, options?)`
|
|
42
52
|
|
|
43
53
|
Execute a shell command.
|