@mastra/mcp-docs-server 1.2.11-alpha.6 → 1.2.12-alpha.0
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/using-tools.md +25 -0
- package/.docs/guides/build-your-ui/ai-sdk-ui.md +5 -5
- package/.docs/guides/build-your-ui/copilotkit/generative-ui.md +8 -8
- package/.docs/guides/build-your-ui/copilotkit/overview.md +2 -2
- package/.docs/guides/build-your-ui/openui.md +1 -1
- package/.docs/guides/concepts/multi-agent-systems.md +5 -5
- package/.docs/guides/concepts/streaming.md +9 -9
- package/.docs/guides/deployment/amazon-ec2.md +1 -1
- package/.docs/guides/deployment/aws-lambda.md +1 -1
- package/.docs/guides/deployment/azure-app-services.md +1 -1
- package/.docs/guides/deployment/cloudflare.md +1 -1
- package/.docs/guides/deployment/inngest.md +6 -6
- package/.docs/guides/deployment/temporal.md +1 -1
- package/.docs/guides/deployment/vercel.md +1 -1
- package/.docs/guides/getting-started/astro.md +1 -1
- package/.docs/guides/getting-started/electron.md +1 -1
- package/.docs/guides/getting-started/nestjs.md +5 -5
- package/.docs/guides/getting-started/vite-react.md +1 -1
- package/.docs/guides/guide/chef-michel.md +1 -1
- package/.docs/guides/guide/code-review-bot.md +1 -1
- package/.docs/guides/guide/coding-agent.md +4 -4
- package/.docs/guides/guide/dev-assistant.md +1 -1
- package/.docs/guides/guide/docs-manager.md +3 -3
- package/.docs/guides/guide/github-actions-pr-description.md +4 -4
- package/.docs/guides/guide/research-assistant.md +3 -3
- package/.docs/guides/guide/research-coordinator.md +3 -3
- package/.docs/guides/guide/slack-assistant.md +1 -1
- package/.docs/guides/guide/stock-agent.md +1 -1
- package/.docs/guides/index.md +1 -1
- package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +1 -1
- package/.docs/guides/migrations/mastra-cloud.md +6 -6
- package/.docs/guides/migrations/network-to-supervisor.md +9 -9
- package/.docs/guides/migrations/upgrade-to-v1/agent.md +5 -5
- package/.docs/guides/migrations/upgrade-to-v1/cli.md +1 -1
- package/.docs/guides/migrations/upgrade-to-v1/client.md +3 -3
- package/.docs/guides/migrations/upgrade-to-v1/evals.md +2 -2
- package/.docs/guides/migrations/upgrade-to-v1/memory.md +1 -1
- package/.docs/guides/migrations/upgrade-to-v1/overview.md +3 -3
- package/.docs/guides/migrations/upgrade-to-v1/processors.md +1 -1
- package/.docs/guides/migrations/upgrade-to-v1/storage.md +11 -11
- package/.docs/guides/migrations/upgrade-to-v1/tools.md +3 -3
- package/.docs/guides/migrations/upgrade-to-v1/tracing.md +2 -2
- package/.docs/guides/migrations/upgrade-to-v1/voice.md +1 -1
- package/.docs/guides/migrations/upgrade-to-v1/workflows.md +1 -1
- package/.docs/models/environment-variables.md +1 -0
- package/.docs/models/gateways/vercel.md +1 -2
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/aiand.md +1 -3
- package/.docs/models/providers/berget.md +2 -1
- package/.docs/models/providers/hyper.md +7 -7
- package/.docs/models/providers/modal.md +73 -0
- package/.docs/models/providers/xpersona.md +12 -2
- package/.docs/models/providers.md +1 -0
- package/.docs/reference/acp/acp-agent.md +3 -3
- package/.docs/reference/acp/create-acp-tool.md +2 -2
- package/.docs/reference/agent-controller/agent-controller-class.md +36 -36
- package/.docs/reference/agent-controller/session.md +6 -6
- package/.docs/reference/agents/agent.md +7 -7
- package/.docs/reference/agents/channels.md +3 -3
- package/.docs/reference/agents/durable-agent.md +3 -3
- package/.docs/reference/agents/generate.md +3 -3
- package/.docs/reference/agents/getDefaultOptions.md +1 -1
- package/.docs/reference/agents/getDefaultStreamOptions.md +1 -1
- package/.docs/reference/agents/listScorers.md +1 -1
- package/.docs/reference/agents/listSkills.md +1 -1
- package/.docs/reference/agents/listSuspendedRuns.md +2 -2
- package/.docs/reference/ai-sdk/chat-route.md +1 -1
- package/.docs/reference/ai-sdk/network-route.md +1 -1
- package/.docs/reference/ai-sdk/to-ai-sdk-messages.md +1 -1
- package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +1 -1
- package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +1 -1
- package/.docs/reference/ai-sdk/workflow-route.md +1 -1
- package/.docs/reference/ai-sdk/workflow-snapshot-to-stream.md +2 -2
- package/.docs/reference/auth/auth0.md +1 -1
- package/.docs/reference/auth/fga.md +2 -2
- package/.docs/reference/auth/google.md +2 -2
- package/.docs/reference/auth/okta.md +1 -1
- package/.docs/reference/auth/workos.md +2 -2
- package/.docs/reference/browser/agent-browser.md +2 -2
- package/.docs/reference/browser/browser-viewer.md +3 -3
- package/.docs/reference/browser/mastra-browser.md +3 -3
- package/.docs/reference/browser/stagehand-browser.md +4 -4
- package/.docs/reference/channels/slack-provider.md +2 -2
- package/.docs/reference/cli/create-mastra.md +1 -1
- package/.docs/reference/cli/mastra.md +23 -23
- package/.docs/reference/client-js/agents.md +9 -9
- package/.docs/reference/client-js/memory.md +2 -2
- package/.docs/reference/client-js/workflows.md +1 -1
- package/.docs/reference/coding-agent/build-base-prompt.md +2 -2
- package/.docs/reference/coding-agent/create-coding-agent.md +2 -2
- package/.docs/reference/configuration.md +6 -6
- package/.docs/reference/core/getMCPServer.md +1 -1
- package/.docs/reference/core/getScorer.md +1 -1
- package/.docs/reference/datasets/addItem.md +1 -1
- package/.docs/reference/datasets/listItems.md +1 -1
- package/.docs/reference/deployer/netlify.md +4 -4
- package/.docs/reference/deployer/vercel.md +7 -7
- package/.docs/reference/editor/agent-builder/agent-builder-options.md +4 -4
- package/.docs/reference/editor/agent-builder/builder-agent-defaults.md +6 -6
- package/.docs/reference/editor/agent-builder/builder-models.md +3 -3
- package/.docs/reference/editor/blob-store-provider.md +1 -1
- package/.docs/reference/editor/browser-provider.md +3 -3
- package/.docs/reference/editor/filesystem-provider.md +4 -4
- package/.docs/reference/editor/mastra-editor.md +5 -5
- package/.docs/reference/editor/processor-provider.md +3 -3
- package/.docs/reference/editor/sandbox-provider.md +4 -4
- package/.docs/reference/editor/storage-browser-ref.md +6 -6
- package/.docs/reference/editor/storage-workspace-ref.md +4 -4
- package/.docs/reference/editor/tool-provider.md +1 -1
- package/.docs/reference/evals/answer-relevancy.md +4 -4
- package/.docs/reference/evals/bias.md +3 -3
- package/.docs/reference/evals/checks.md +3 -3
- package/.docs/reference/evals/completeness.md +5 -5
- package/.docs/reference/evals/content-similarity.md +5 -5
- package/.docs/reference/evals/context-precision.md +2 -2
- package/.docs/reference/evals/context-recall.md +8 -8
- package/.docs/reference/evals/context-relevance.md +4 -4
- package/.docs/reference/evals/create-scorer.md +1 -1
- package/.docs/reference/evals/faithfulness.md +3 -3
- package/.docs/reference/evals/filter-run.md +2 -2
- package/.docs/reference/evals/hallucination.md +6 -6
- package/.docs/reference/evals/keyword-coverage.md +6 -6
- package/.docs/reference/evals/mastra-scorer.md +9 -3
- package/.docs/reference/evals/noise-sensitivity.md +5 -5
- package/.docs/reference/evals/prompt-alignment.md +5 -5
- package/.docs/reference/evals/rubric.md +1 -1
- package/.docs/reference/evals/run-evals.md +3 -3
- package/.docs/reference/evals/scorer-utils.md +4 -4
- package/.docs/reference/evals/textual-difference.md +4 -4
- package/.docs/reference/evals/tool-call-accuracy.md +1 -1
- package/.docs/reference/evals/toxicity.md +4 -4
- package/.docs/reference/evals/trajectory-accuracy.md +10 -10
- package/.docs/reference/file-based-agents/instructions.md +2 -2
- package/.docs/reference/file-based-agents/logger.md +1 -1
- package/.docs/reference/file-based-agents/observability.md +1 -1
- package/.docs/reference/file-based-agents/processors.md +1 -1
- package/.docs/reference/file-based-agents/skills.md +1 -1
- package/.docs/reference/file-based-agents/storage.md +1 -1
- package/.docs/reference/file-based-agents/studio.md +1 -1
- package/.docs/reference/file-based-agents/subagents.md +1 -1
- package/.docs/reference/file-based-agents/tools.md +1 -1
- package/.docs/reference/file-based-agents/workspace.md +1 -1
- package/.docs/reference/logging/pino-logger.md +3 -3
- package/.docs/reference/memory/clone-utilities.md +1 -1
- package/.docs/reference/memory/cloneThread.md +3 -3
- package/.docs/reference/memory/listThreads.md +1 -1
- package/.docs/reference/memory/memory-class.md +1 -1
- package/.docs/reference/memory/observational-memory.md +11 -11
- package/.docs/reference/memory/recall.md +2 -2
- package/.docs/reference/memory/serialized-memory-config.md +4 -4
- package/.docs/reference/memory/summarizeConversation.md +3 -3
- package/.docs/reference/memory/summarizeThread.md +3 -3
- package/.docs/reference/observability/feedback.md +1 -1
- package/.docs/reference/observability/metrics/automatic-metrics.md +7 -7
- package/.docs/reference/observability/tracing/bridges/datadog.md +2 -2
- package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +3 -3
- package/.docs/reference/observability/tracing/exporters/default-exporter.md +1 -1
- package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +4 -4
- package/.docs/reference/observability/tracing/exporters/mastra-storage-exporter.md +1 -1
- package/.docs/reference/observability/tracing/interfaces.md +1 -1
- package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +1 -1
- package/.docs/reference/observability/tracing/span-filtering.md +1 -1
- package/.docs/reference/processors/cost-guard-processor.md +1 -1
- package/.docs/reference/processors/pii-detector.md +1 -1
- package/.docs/reference/processors/processor-interface.md +12 -12
- package/.docs/reference/processors/prompt-injection-detector.md +1 -1
- package/.docs/reference/processors/provider-history-compat.md +1 -1
- package/.docs/reference/processors/regex-filter-processor.md +1 -1
- package/.docs/reference/processors/response-cache.md +8 -8
- package/.docs/reference/processors/system-prompt-scrubber.md +1 -1
- package/.docs/reference/processors/token-limiter-processor.md +1 -1
- package/.docs/reference/processors/tool-search-processor.md +7 -7
- package/.docs/reference/processors/unicode-normalizer.md +1 -1
- package/.docs/reference/project-structure.md +1 -1
- package/.docs/reference/pubsub/base.md +4 -4
- package/.docs/reference/pubsub/google-cloud-pubsub.md +2 -2
- package/.docs/reference/pubsub/lease-provider.md +4 -4
- package/.docs/reference/pubsub/redis-streams.md +1 -1
- package/.docs/reference/pubsub/unix-socket-pubsub.md +1 -1
- package/.docs/reference/rag/chunk.md +5 -5
- package/.docs/reference/rag/database-config.md +2 -2
- package/.docs/reference/rag/metadata-filters.md +2 -2
- package/.docs/reference/schedules/overview.md +1 -1
- package/.docs/reference/server/register-api-route.md +1 -1
- package/.docs/reference/server/routes.md +1 -1
- package/.docs/reference/signals/signal-provider.md +8 -8
- package/.docs/reference/storage/clickhouse.md +4 -4
- package/.docs/reference/storage/cloudflare-d1.md +4 -4
- package/.docs/reference/storage/convex.md +4 -4
- package/.docs/reference/storage/dsql.md +2 -2
- package/.docs/reference/storage/dynamodb.md +7 -7
- package/.docs/reference/storage/lance.md +1 -1
- package/.docs/reference/storage/mongodb.md +1 -1
- package/.docs/reference/storage/mssql.md +1 -1
- package/.docs/reference/storage/postgresql.md +1 -1
- package/.docs/reference/storage/retention.md +33 -33
- package/.docs/reference/storage/spanner.md +8 -8
- package/.docs/reference/streaming/ChunkType.md +2 -2
- package/.docs/reference/streaming/agents/MastraModelOutput.md +1 -1
- package/.docs/reference/streaming/agents/stream.md +1 -1
- package/.docs/reference/streaming/agents/streamUntilIdle.md +2 -2
- package/.docs/reference/streaming/workflows/observeStream.md +1 -1
- package/.docs/reference/streaming/workflows/resumeStream.md +1 -1
- package/.docs/reference/streaming/workflows/stream.md +1 -1
- package/.docs/reference/streaming/workflows/timeTravelStream.md +2 -2
- package/.docs/reference/templates/overview.md +1 -1
- package/.docs/reference/tools/brightdata.md +1 -1
- package/.docs/reference/tools/create-tool.md +1 -1
- package/.docs/reference/tools/graph-rag-tool.md +1 -1
- package/.docs/reference/tools/mcp-client.md +13 -13
- package/.docs/reference/tools/mcp-server.md +20 -20
- package/.docs/reference/tools/submit-plan-tool.md +1 -1
- package/.docs/reference/tools/tavily.md +1 -1
- package/.docs/reference/tools/vector-query-tool.md +4 -4
- package/.docs/reference/vectors/astra.md +1 -1
- package/.docs/reference/vectors/chroma.md +2 -2
- package/.docs/reference/vectors/convex.md +2 -2
- package/.docs/reference/vectors/couchbase.md +4 -4
- package/.docs/reference/vectors/libsql.md +1 -1
- package/.docs/reference/vectors/mongodb.md +1 -1
- package/.docs/reference/vectors/pg.md +4 -4
- package/.docs/reference/vectors/qdrant.md +2 -2
- package/.docs/reference/vectors/s3vectors.md +4 -4
- package/.docs/reference/vectors/turbopuffer.md +1 -1
- package/.docs/reference/voice/aws-nova-sonic.md +1 -1
- package/.docs/reference/voice/azure.md +1 -1
- package/.docs/reference/voice/google-gemini-live.md +4 -4
- package/.docs/reference/voice/inworld-realtime.md +7 -7
- package/.docs/reference/voice/livekit.md +13 -13
- package/.docs/reference/voice/mistral.md +1 -1
- package/.docs/reference/voice/openai-realtime.md +1 -1
- package/.docs/reference/voice/sarvam.md +1 -1
- package/.docs/reference/voice/voice.addTools.md +1 -1
- package/.docs/reference/voice/voice.events.md +1 -1
- package/.docs/reference/voice/voice.getSpeakers.md +2 -2
- package/.docs/reference/voice/voice.on.md +2 -2
- package/.docs/reference/voice/xai-realtime.md +2 -2
- package/.docs/reference/workflows/run-methods/cancel.md +1 -1
- package/.docs/reference/workflows/run-methods/startAsync.md +1 -1
- package/.docs/reference/workflows/run-methods/timeTravel.md +1 -1
- package/.docs/reference/workflows/workflow-methods/foreach.md +1 -1
- package/.docs/reference/workflows/workflow-methods/sleep.md +1 -1
- package/.docs/reference/workflows/workflow-state-reader.md +2 -2
- package/.docs/reference/workspace/apple-container-sandbox.md +2 -2
- package/.docs/reference/workspace/daytona-sandbox.md +3 -3
- package/.docs/reference/workspace/docker-sandbox.md +2 -2
- package/.docs/reference/workspace/e2b-sandbox.md +2 -2
- package/.docs/reference/workspace/files-sdk-filesystem.md +3 -3
- package/.docs/reference/workspace/google-drive-filesystem.md +4 -4
- package/.docs/reference/workspace/local-filesystem.md +2 -2
- package/.docs/reference/workspace/local-sandbox.md +2 -2
- package/.docs/reference/workspace/modal-sandbox.md +1 -1
- package/.docs/reference/workspace/platform-filesystem.md +3 -3
- package/.docs/reference/workspace/platform-sandbox.md +2 -2
- package/.docs/reference/workspace/process-manager.md +1 -1
- package/.docs/reference/workspace/railway-sandbox.md +4 -4
- package/.docs/reference/workspace/s3-filesystem.md +1 -1
- package/.docs/reference/workspace/sandbox.md +1 -1
- package/.docs/reference/workspace/vercel-sandbox.md +1 -1
- package/.docs/reference/workspace/workspace-class.md +10 -10
- package/CHANGELOG.md +14 -0
- package/package.json +6 -6
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Workflow\.sleep()
|
|
4
4
|
|
|
5
|
-
The `.sleep()` method pauses execution for a specified number of milliseconds. It accepts either a static number or a callback function for
|
|
5
|
+
The `.sleep()` method pauses execution for a specified number of milliseconds. It accepts either a static number or a callback function for runtime-defined delays.
|
|
6
6
|
|
|
7
7
|
## Usage example
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Workflow state reader
|
|
4
4
|
|
|
5
|
-
Workflow state reader helpers inspect the public `WorkflowState` returned by `workflow.getWorkflowRunById()`. Use them to recover suspended runs
|
|
5
|
+
Workflow state reader helpers inspect the public `WorkflowState` returned by `workflow.getWorkflowRunById()`. Use them to recover suspended runs and inspect resume labels. They also read step payloads or outputs without parsing raw workflow snapshots.
|
|
6
6
|
|
|
7
7
|
## Usage example
|
|
8
8
|
|
|
@@ -36,7 +36,7 @@ const suspendedStep = reader.getSuspendedStep()
|
|
|
36
36
|
|
|
37
37
|
### `getWorkflowStepOutput(state, stepId)`
|
|
38
38
|
|
|
39
|
-
Returns the output for a step ID, including nested workflow dot paths such as `parent.child`. For `foreach` steps, returns one entry per iteration
|
|
39
|
+
Returns the output for a step ID, including nested workflow dot paths such as `parent.child`. For `foreach` steps, returns one entry per iteration. Suspended iterations can have `undefined` output entries.
|
|
40
40
|
|
|
41
41
|
```typescript
|
|
42
42
|
const output = getWorkflowStepOutput(state, 'extract-data')
|
|
@@ -196,14 +196,14 @@ const sandbox = new AppleContainerSandbox({
|
|
|
196
196
|
})
|
|
197
197
|
```
|
|
198
198
|
|
|
199
|
-
These options are only applied when a new container is created. If the sandbox reconnects to an existing container with the same name, destroy and recreate the sandbox to apply changed runtime options. Apple `--tmpfs` accepts container paths only, such as `/tmp`; it doesn't accept Docker-style option specs like `/tmp:rw,size=256m`. When `readonlyRootfs` is enabled, make sure `workingDir` points to a path supplied by the image
|
|
199
|
+
These options are only applied when a new container is created. If the sandbox reconnects to an existing container with the same name, destroy and recreate the sandbox to apply changed runtime options. Apple `--tmpfs` accepts container paths only, such as `/tmp`; it doesn't accept Docker-style option specs like `/tmp:rw,size=256m`. When `readonlyRootfs` is enabled, make sure `workingDir` points to a path supplied by the image or a bind mount. A writable tmpfs is also supported.
|
|
200
200
|
|
|
201
201
|
## Security model
|
|
202
202
|
|
|
203
203
|
`AppleContainerSandbox` runs local containers through the host Apple `container` service. Treat constructor options as trusted server-side configuration:
|
|
204
204
|
|
|
205
205
|
- `volumes`, `mounts`, and `publishedSockets` can expose host paths to containerized code.
|
|
206
|
-
- `publishedPorts` can expose in-container services on the host or network
|
|
206
|
+
- `publishedPorts` can expose in-container services on the host or network. Bind to `127.0.0.1` when only local access is intended.
|
|
207
207
|
- `ssh` forwards the host SSH agent socket.
|
|
208
208
|
- `capAdd` and `virtualization` can expand what containerized code can do.
|
|
209
209
|
- `containerBinary` is a constructor-only escape hatch for trusted code and isn't part of the serializable editor provider schema.
|
|
@@ -118,7 +118,7 @@ const workspace = new Workspace({
|
|
|
118
118
|
|
|
119
119
|
### Ephemeral sandbox
|
|
120
120
|
|
|
121
|
-
For one-shot tasks
|
|
121
|
+
For one-shot tasks: sandbox is deleted immediately on stop:
|
|
122
122
|
|
|
123
123
|
```typescript
|
|
124
124
|
const workspace = new Workspace({
|
|
@@ -169,7 +169,7 @@ Mount S3 or GCS buckets as local directories inside the sandbox.
|
|
|
169
169
|
|
|
170
170
|
#### Via workspace mounts config
|
|
171
171
|
|
|
172
|
-
The simplest way
|
|
172
|
+
The simplest way: filesystems are mounted automatically when the sandbox starts:
|
|
173
173
|
|
|
174
174
|
```typescript
|
|
175
175
|
import { Workspace } from '@mastra/core/workspace'
|
|
@@ -410,7 +410,7 @@ await daytona.snapshot.create(
|
|
|
410
410
|
)
|
|
411
411
|
```
|
|
412
412
|
|
|
413
|
-
**Option 2: Dockerfile
|
|
413
|
+
**Option 2: Dockerfile:** Use [`Image.fromDockerfile()`](https://www.daytona.io/docs/typescript-sdk/image#fromdockerfile)
|
|
414
414
|
|
|
415
415
|
```dockerfile
|
|
416
416
|
FROM daytonaio/sandbox
|
|
@@ -175,7 +175,7 @@ Bind mounts are applied at container creation time. The host paths must exist be
|
|
|
175
175
|
|
|
176
176
|
## Hardening
|
|
177
177
|
|
|
178
|
-
Use Docker-specific resource and hardening options to limit a sandbox container. The following example caps memory and process count
|
|
178
|
+
Use Docker-specific resource and hardening options to limit a sandbox container. The following example caps memory and process count while limiting CPU to a single core with matching `cpuPeriod` and `cpuQuota` values. It drops Linux capabilities and makes the root filesystem read-only, with `/tmp` mounted as writable scratch space:
|
|
179
179
|
|
|
180
180
|
```typescript
|
|
181
181
|
const sandbox = new DockerSandbox({
|
|
@@ -201,7 +201,7 @@ These options map directly to Docker `HostConfig` fields and aren't set unless y
|
|
|
201
201
|
Review these trade-offs before enabling hardening:
|
|
202
202
|
|
|
203
203
|
- `readonlyRootfs`: In-container package installs and tools that write outside mounted paths can fail. Add `tmpfs` entries for writable scratch paths such as `/tmp`, and mount tmpfs or volumes for package-manager caches such as `~/.npm` when needed.
|
|
204
|
-
- `capDrop`: Dropping all capabilities disables commands that need Linux capabilities, including `ping
|
|
204
|
+
- `capDrop`: Dropping all capabilities disables commands that need Linux capabilities, including `ping` and mount operations. FUSE-backed tools are also disabled. Add back only the capabilities your workload needs.
|
|
205
205
|
- `memory`: Docker treats `0` as unlimited. Omit `memory` or pass `0` only when you don't want a memory cap.
|
|
206
206
|
- `memorySwap`: Docker memory and swap behavior depends on the host and Docker daemon configuration. When you set `memory` without `memorySwap`, Docker allows swap up to twice the memory limit by default. Set `memorySwap` equal to `memory` when you want to disable swap for the container; Docker also accepts `-1` for unlimited swap.
|
|
207
207
|
- `pidsLimit`: Very low values can break `docker exec` workloads because each command starts additional processes inside the long-lived container.
|
|
@@ -245,11 +245,11 @@ const workspace = new Workspace({
|
|
|
245
245
|
})
|
|
246
246
|
```
|
|
247
247
|
|
|
248
|
-
This is optional
|
|
248
|
+
This is optional: `gcsfuse` is installed automatically at mount time if not present.
|
|
249
249
|
|
|
250
250
|
## Using with Code Mode
|
|
251
251
|
|
|
252
|
-
[Code Mode](https://mastra.ai/docs/agents/code-mode) lets an agent write a single TypeScript program that orchestrates its tools. Because E2B runs that program in a remote micro-VM, it needs a transport that writes the program into the sandbox filesystem rather than the host. `@mastra/e2b`
|
|
252
|
+
[Code Mode](https://mastra.ai/docs/agents/code-mode) lets an agent write a single TypeScript program that orchestrates its tools. Because E2B runs that program in a remote micro-VM, it needs a transport that writes the program into the sandbox filesystem rather than the host. `@mastra/e2b` provides `E2BCodeModeTransport` for this. Pass it as the second argument to `createCodeMode`:
|
|
253
253
|
|
|
254
254
|
```typescript
|
|
255
255
|
import { createCodeMode } from '@mastra/core/tools'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# FilesSDKFilesystem
|
|
4
4
|
|
|
5
|
-
Stores files in any storage backend supported by [FilesSDK](https://files-sdk.dev)
|
|
5
|
+
Stores files in any storage backend supported by [FilesSDK](https://files-sdk.dev): a unified abstraction over S3, Cloudflare R2, Google Cloud Storage, Azure Blob, Vercel Blob, MinIO, the local filesystem, and more. For interface details, see [WorkspaceFilesystem Interface](https://mastra.ai/reference/workspace/filesystem).
|
|
6
6
|
|
|
7
7
|
Use `FilesSDKFilesystem` when you want a single adapter that can target multiple storage backends with the same code. Swap the underlying driver without changing the workspace setup. If you only target one backend and want first-class options for that backend, prefer the dedicated provider (for example [`S3Filesystem`](https://mastra.ai/reference/workspace/s3-filesystem) or [`GCSFilesystem`](https://mastra.ai/reference/workspace/gcs-filesystem)).
|
|
8
8
|
|
|
@@ -174,8 +174,8 @@ const url = await filesystem.files.url('reports/q3.pdf')
|
|
|
174
174
|
- **`exists`** returns `true` only when an exact key is present as a file, or when the path is a prefix that contains at least one child key. Empty leftover directories on hierarchical adapters don't count.
|
|
175
175
|
- **`deleteFile`** throws `FileNotFoundError` when the key doesn't exist, unless `{ force: true }` is passed.
|
|
176
176
|
- **`deleteFile`** on a directory delegates to `rmdir({ recursive: true })`, matching the [`S3Filesystem`](https://mastra.ai/reference/workspace/s3-filesystem) and [`GCSFilesystem`](https://mastra.ai/reference/workspace/gcs-filesystem) behavior.
|
|
177
|
-
- **`moveFile`** is implemented as `copyFile` followed by `deleteFile`.
|
|
178
|
-
- **`appendFile`** is a read-modify-write operation. Concurrent appends to the same key may overwrite each other
|
|
177
|
+
- **`moveFile`** is implemented as `copyFile` followed by `deleteFile`. It isn't **atomic**. If the source delete fails after a successful copy, the destination remains and the source isn't removed.
|
|
178
|
+
- **`appendFile`** is a read-modify-write operation. Concurrent appends to the same key may overwrite each other. This is inherent to object storage and not specific to FilesSDK.
|
|
179
179
|
- **`readdir({ recursive: true })`** emits intermediate directory entries (for example, `a/b` is emitted alongside `a/b/c.txt`).
|
|
180
180
|
|
|
181
181
|
## Related
|
|
@@ -70,7 +70,7 @@ Service account auth is the recommended option for backend agents. No user conse
|
|
|
70
70
|
|
|
71
71
|
1. Open the [Google Cloud Console](https://console.cloud.google.com/) and select or create a project.
|
|
72
72
|
2. Go to **APIs & Services > Library**, search for **Google Drive API**, and select **Enable**.
|
|
73
|
-
3. Go to **APIs & Services > Credentials**, select **Create credentials > Service account**, and complete the form. The role can be left blank
|
|
73
|
+
3. Go to **APIs & Services > Credentials**, select **Create credentials > Service account**, and complete the form. The role can be left blank: Drive permissions are granted by sharing folders, not by IAM roles.
|
|
74
74
|
4. Open the new service account, go to the **Keys** tab, and select **Add key > Create new key > JSON**. The browser downloads a JSON key file.
|
|
75
75
|
5. Copy the `client_email` value from the JSON file. This is the address you share Drive folders with.
|
|
76
76
|
|
|
@@ -115,7 +115,7 @@ const filesystem = new GoogleDriveFilesystem({
|
|
|
115
115
|
|
|
116
116
|
You **don't** need to copy the entire JSON file or pass other fields like `project_id`, `client_id`, `private_key_id`, or `token_uri`. They're not used. Only `clientEmail` and `privateKey` are required. `privateKeyId`, `scopes`, and `subject` are optional. `scopes` defaults to `['https://www.googleapis.com/auth/drive']`, which is the scope required for the service account to see folders shared with it. The narrower `drive.file` scope only grants access to files the application created itself, so a folder shared with the service account would return `404 Not Found`.
|
|
117
117
|
|
|
118
|
-
`GoogleDriveFilesystem` automatically normalizes the `privateKey` string before signing. It strips surrounding quotes
|
|
118
|
+
`GoogleDriveFilesystem` automatically normalizes the `privateKey` string before signing. It strips surrounding quotes, including escaped quotes from JSON-wrapped values, and converts literal `\n` sequences to real newlines. It also normalizes `\r\n` line endings, and removes a trailing comma. The key works regardless of how your `.env` loader handles the value.
|
|
119
119
|
|
|
120
120
|
##### Troubleshoot
|
|
121
121
|
|
|
@@ -181,5 +181,5 @@ GoogleDriveFilesystem implements the [WorkspaceFilesystem interface](https://mas
|
|
|
181
181
|
|
|
182
182
|
- Google Drive allows multiple files with the same name in a folder. `GoogleDriveFilesystem` resolves paths by picking the first match, so keep names unique within each folder when you rely on path-based lookup.
|
|
183
183
|
- `writeFile` creates parent folders automatically when `recursive` is unset (the default) or `true`. Set `recursive: false` to require the parent folder to already exist.
|
|
184
|
-
- `expectedMtime` on `WriteOptions` is honored
|
|
185
|
-
- The provider only exercises Drive REST endpoints (`https://www.googleapis.com/drive/v3` and `https://www.googleapis.com/upload/drive/v3`) through the built-in `fetch
|
|
184
|
+
- `expectedMtime` on `WriteOptions` is honored. When the stored `modifiedTime` differs, the write is rejected with `StaleFileError` to support optimistic concurrency.
|
|
185
|
+
- The provider only exercises Drive REST endpoints (`https://www.googleapis.com/drive/v3` and `https://www.googleapis.com/upload/drive/v3`) through the built-in `fetch`. No additional dependencies are required.
|
|
@@ -328,7 +328,7 @@ await filesystem.readFile('docs/guide.md')
|
|
|
328
328
|
|
|
329
329
|
### Relative paths and execution context
|
|
330
330
|
|
|
331
|
-
When you use a relative path for `basePath`, it resolves from `process.cwd()`. In Mastra projects, cwd
|
|
331
|
+
When you use a relative path for `basePath`, it resolves from `process.cwd()`. In Mastra projects, the cwd changes based on how you run your code:
|
|
332
332
|
|
|
333
333
|
| Context | Working directory | `./workspace` resolves to |
|
|
334
334
|
| -------------- | ------------------------- | ------------------------------- |
|
|
@@ -350,7 +350,7 @@ const filesystem = new LocalFilesystem({
|
|
|
350
350
|
})
|
|
351
351
|
```
|
|
352
352
|
|
|
353
|
-
Set `WORKSPACE_PATH` in your environment to an absolute path like `/home/user/my-project/workspace`.
|
|
353
|
+
Set `WORKSPACE_PATH` in your environment to an absolute path like `/home/user/my-project/workspace`. It ensures the workspace path is consistent regardless of how you run your code.
|
|
354
354
|
|
|
355
355
|
## Related
|
|
356
356
|
|
|
@@ -88,7 +88,7 @@ Configuration options for native OS sandboxing (used with `isolation: 'seatbelt'
|
|
|
88
88
|
|
|
89
89
|
### Relative paths and execution context
|
|
90
90
|
|
|
91
|
-
When you use a relative path for `workingDirectory`, it resolves from `process.cwd()`. In Mastra projects, cwd
|
|
91
|
+
When you use a relative path for `workingDirectory`, it resolves from `process.cwd()`. In Mastra projects, the cwd changes based on how you run your code:
|
|
92
92
|
|
|
93
93
|
| Context | Working directory | `./workspace` resolves to |
|
|
94
94
|
| -------------- | ------------------------- | ------------------------------- |
|
|
@@ -110,7 +110,7 @@ const sandbox = new LocalSandbox({
|
|
|
110
110
|
})
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
Set `WORKSPACE_PATH` in your environment to an absolute path like `/home/user/my-project/workspace`.
|
|
113
|
+
Set `WORKSPACE_PATH` in your environment to an absolute path like `/home/user/my-project/workspace`. It ensures commands run from a consistent directory regardless of how you run your code.
|
|
114
114
|
|
|
115
115
|
## Background processes
|
|
116
116
|
|
|
@@ -155,7 +155,7 @@ console.log(result.exitCode)
|
|
|
155
155
|
await handle.kill()
|
|
156
156
|
```
|
|
157
157
|
|
|
158
|
-
> **Note:** `sendStdin()` isn't supported
|
|
158
|
+
> **Note:** `sendStdin()` isn't supported. The Modal JS SDK doesn't expose stdin on `Sandbox.exec()`.
|
|
159
159
|
|
|
160
160
|
See [`SandboxProcessManager` reference](https://mastra.ai/reference/workspace/process-manager) for the full API.
|
|
161
161
|
|
|
@@ -112,7 +112,7 @@ await fs.writeFile('/analyses/repo.md', 'x') // throws WorkspaceReadOnlyError
|
|
|
112
112
|
|
|
113
113
|
### Appending files
|
|
114
114
|
|
|
115
|
-
`appendFile` is a read-modify-write and
|
|
115
|
+
`appendFile` is a read-modify-write and isn't atomic. Concurrent appends to the same path can overwrite each other. For concurrent writers, use `writeFile` with distinct keys.
|
|
116
116
|
|
|
117
117
|
## Constructor parameters
|
|
118
118
|
|
|
@@ -150,7 +150,7 @@ await fs.writeFile('/analyses/repo.md', 'x') // throws WorkspaceReadOnlyError
|
|
|
150
150
|
|
|
151
151
|
Filesystem-specific errors match the standard workspace error types:
|
|
152
152
|
|
|
153
|
-
- `FileNotFoundError`: The path
|
|
153
|
+
- `FileNotFoundError`: The path doesn't exist. Thrown by `readFile`, `stat`, and `deleteFile` (unless `force: true` is set).
|
|
154
154
|
- `FileExistsError`: `writeFile` was called with `overwrite: false` and the destination already exists.
|
|
155
155
|
- `WorkspaceReadOnlyError`: A mutating call was made on a read-only filesystem.
|
|
156
156
|
|
|
@@ -173,7 +173,7 @@ try {
|
|
|
173
173
|
}
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
-
`code` and `proxyMessage` are `undefined` when the response body
|
|
176
|
+
`code` and `proxyMessage` are `undefined` when the response body isn't JSON, for example an HTML 502 from a load balancer.
|
|
177
177
|
|
|
178
178
|
## Related
|
|
179
179
|
|
|
@@ -114,7 +114,7 @@ await sandbox.start()
|
|
|
114
114
|
const result = await sandbox.executeCommand('cat', ['/workspace/state.json'])
|
|
115
115
|
```
|
|
116
116
|
|
|
117
|
-
When `sandboxId` is set, `environmentId`
|
|
117
|
+
When `sandboxId` is set, `environmentId` isn't required because the sandbox already exists.
|
|
118
118
|
|
|
119
119
|
### Executing commands
|
|
120
120
|
|
|
@@ -190,7 +190,7 @@ try {
|
|
|
190
190
|
}
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
`code` and `proxyMessage` are `undefined` when the response body
|
|
193
|
+
`code` and `proxyMessage` are `undefined` when the response body isn't JSON, for example an HTML 502 from a load balancer.
|
|
194
194
|
|
|
195
195
|
## Related
|
|
196
196
|
|
|
@@ -123,7 +123,7 @@ Information about a tracked process, returned by `list()`.
|
|
|
123
123
|
|
|
124
124
|
Handle to a spawned background process. Provides methods to read output, send stdin, wait for completion, and kill the process.
|
|
125
125
|
|
|
126
|
-
You don't create `ProcessHandle` instances directly
|
|
126
|
+
You don't create `ProcessHandle` instances directly. They're returned by `spawn()` and `get()`.
|
|
127
127
|
|
|
128
128
|
### Usage example
|
|
129
129
|
|
|
@@ -103,7 +103,7 @@ The default `ISOLATED` mode allows outbound internet access only, with no privat
|
|
|
103
103
|
|
|
104
104
|
### Custom base image (templates)
|
|
105
105
|
|
|
106
|
-
Pre-install packages and run setup steps so every sandbox starts ready. Pass a builder callback over the Railway template builder
|
|
106
|
+
Pre-install packages and run setup steps so every sandbox starts ready. Pass a builder callback over the Railway template builder: the template is built once on the first `start()`:
|
|
107
107
|
|
|
108
108
|
```typescript
|
|
109
109
|
const workspace = new Workspace({
|
|
@@ -117,7 +117,7 @@ You can also pass a pre-built `SandboxTemplate` to reuse it across sandboxes wit
|
|
|
117
117
|
|
|
118
118
|
### Forking a running sandbox
|
|
119
119
|
|
|
120
|
-
Clone a running sandbox's filesystem into a new, independent sandbox
|
|
120
|
+
Clone a running sandbox's filesystem into a new, independent sandbox: a fresh boot, not live processes. The returned `RailwaySandbox` is already started:
|
|
121
121
|
|
|
122
122
|
```typescript
|
|
123
123
|
const child = await sandbox.fork({ idleTimeoutMinutes: 15 })
|
|
@@ -130,7 +130,7 @@ The forked sandbox inherits the parent's credentials and defaults unless overrid
|
|
|
130
130
|
|
|
131
131
|
### Checkpoint recovery
|
|
132
132
|
|
|
133
|
-
Set `checkpointName` to preserve a sandbox filesystem across Railway sandbox replacement. On `start()`, `RailwaySandbox` first tries to create the sandbox from the
|
|
133
|
+
Set `checkpointName` to preserve a sandbox filesystem across Railway sandbox replacement. On `start()`, `RailwaySandbox` first tries to create the sandbox from the checkpoint. If the checkpoint is missing, it creates a sandbox from the configured template or default image, then captures the checkpoint.
|
|
134
134
|
|
|
135
135
|
```typescript
|
|
136
136
|
const sandbox = new RailwaySandbox({
|
|
@@ -141,7 +141,7 @@ const sandbox = new RailwaySandbox({
|
|
|
141
141
|
|
|
142
142
|
`RailwaySandbox` refreshes the checkpoint shortly before the idle timeout. Recovery restores the latest successful checkpoint. It doesn't restore running processes or filesystem writes made after the last checkpoint.
|
|
143
143
|
|
|
144
|
-
Use one stable checkpoint name for each independent filesystem.
|
|
144
|
+
Use one stable checkpoint name for each independent filesystem. Don't share a checkpoint name across unrelated sessions or projects.
|
|
145
145
|
|
|
146
146
|
### Derived sandbox checkpoints
|
|
147
147
|
|
|
@@ -154,7 +154,7 @@ const filesystem = new S3Filesystem({
|
|
|
154
154
|
})
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
Tigris uses virtual-hosted-style addressing, so `forcePathStyle` must be set to `false` (the default is `true` when a custom endpoint is provided). Create credentials from the [Tigris Dashboard](https://console.tigris.dev/)
|
|
157
|
+
Tigris uses virtual-hosted-style addressing, so `forcePathStyle` must be set to `false` (the default is `true` when a custom endpoint is provided). Create credentials from the [Tigris Dashboard](https://console.tigris.dev/). Access keys are prefixed `tid_` and secrets `tsec_`.
|
|
158
158
|
|
|
159
159
|
## Constructor parameters
|
|
160
160
|
|
|
@@ -14,7 +14,7 @@ The `WorkspaceSandbox` interface defines how workspaces execute commands and man
|
|
|
14
14
|
|
|
15
15
|
### `start()`
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Starts the sandbox and is called automatically by `workspace.init()` or the first `executeCommand()` call.
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
20
|
await sandbox.start()
|
|
@@ -199,7 +199,7 @@ See the [`SandboxProcessManager` reference](https://mastra.ai/reference/workspac
|
|
|
199
199
|
|
|
200
200
|
- Up to 32 vCPUs, with 2048 MB of memory per vCPU.
|
|
201
201
|
- Up to 15 exposed ports.
|
|
202
|
-
- The filesystem is ephemeral
|
|
202
|
+
- The filesystem is ephemeral. It's persisted only within the session and lost when the sandbox stops.
|
|
203
203
|
- Maximum runtime is plan-dependent (45 minutes on Hobby, up to 24 hours on Pro and Enterprise), with a default of 5 minutes.
|
|
204
204
|
|
|
205
205
|
See the [Vercel Sandbox documentation](https://vercel.com/docs/vercel-sandbox) for current limits and pricing.
|
|
@@ -104,7 +104,7 @@ See [workspace overview](https://mastra.ai/docs/workspace/overview) for more exa
|
|
|
104
104
|
|
|
105
105
|
### Tool name remapping
|
|
106
106
|
|
|
107
|
-
Rename workspace tools by setting the `name` property on individual tool configs. The config key remains the original constant
|
|
107
|
+
Rename workspace tools by setting the `name` property on individual tool configs. The config key remains the original constant: only the name exposed to the agent changes.
|
|
108
108
|
|
|
109
109
|
```typescript
|
|
110
110
|
import { Workspace } from '@mastra/core/workspace'
|
|
@@ -148,7 +148,7 @@ const workspace = new Workspace({
|
|
|
148
148
|
|
|
149
149
|
**afterToolCall** (`(context: WorkspaceToolAfterHookContext) => void | Promise<void>`): Runs after a workspace tool executes. Receives { toolName, workspaceToolName, input, context, output, error }. output is undefined when the tool throws, and error is set instead.
|
|
150
150
|
|
|
151
|
-
If the owning agent also defines [tool hooks](https://mastra.ai/reference/agents/agent), workspace hooks run inside the agent hook wrapper
|
|
151
|
+
If the owning agent also defines [tool hooks](https://mastra.ai/reference/agents/agent), workspace hooks run inside the agent hook wrapper. The order is agent `beforeToolCall` → workspace `beforeToolCall` → tool → workspace `afterToolCall` → agent `afterToolCall`.
|
|
152
152
|
|
|
153
153
|
## Properties
|
|
154
154
|
|
|
@@ -240,7 +240,7 @@ const info = await workspace.getInfo()
|
|
|
240
240
|
// { id, name, status, createdAt, lastAccessedAt, filesystem?, sandbox? }
|
|
241
241
|
```
|
|
242
242
|
|
|
243
|
-
Pass `resolveDynamicProviders: false` to report resolver-backed providers as
|
|
243
|
+
Pass `resolveDynamicProviders: false` to report resolver-backed providers as runtime-defined without invoking their resolver.
|
|
244
244
|
|
|
245
245
|
```typescript
|
|
246
246
|
const info = await workspace.getInfo({ resolveDynamicProviders: false })
|
|
@@ -276,7 +276,7 @@ const instructions = workspace.getInstructions({ requestContext })
|
|
|
276
276
|
|
|
277
277
|
#### `getInstructionsAsync(opts?)`
|
|
278
278
|
|
|
279
|
-
Returns combined workspace instructions. Use this when the workspace uses resolver-backed providers. A
|
|
279
|
+
Returns combined workspace instructions. Use this when the workspace uses resolver-backed providers. A runtime-defined filesystem is resolved per request; a runtime-defined sandbox contributes stable placeholder text unless `instructions.dynamicSandbox` is set to `'resolve'`.
|
|
280
280
|
|
|
281
281
|
```typescript
|
|
282
282
|
const instructions = await workspace.getInstructionsAsync({ requestContext })
|
|
@@ -302,7 +302,7 @@ const config = workspace.getToolsConfig()
|
|
|
302
302
|
|
|
303
303
|
#### `setToolsConfig(config?)`
|
|
304
304
|
|
|
305
|
-
Replace the per-tool configuration at runtime. This performs a full replacement
|
|
305
|
+
Replace the per-tool configuration at runtime. This performs a full replacement: it doesn't merge with the previous config. Pass `undefined` to reset to defaults. Changes take effect on the next agent interaction (the next `createWorkspaceTools()` call).
|
|
306
306
|
|
|
307
307
|
```typescript
|
|
308
308
|
import { WORKSPACE_TOOLS } from '@mastra/core/workspace'
|
|
@@ -337,7 +337,7 @@ if (workspace.hasFilesystemConfig()) {
|
|
|
337
337
|
|
|
338
338
|
#### `resolveFilesystem({ requestContext })`
|
|
339
339
|
|
|
340
|
-
Resolve the filesystem for a
|
|
340
|
+
Resolve the filesystem for a request context. When a resolver function is configured, calls it with the provided `requestContext`. When a static filesystem is configured, returns it directly. Returns `undefined` if no filesystem is configured.
|
|
341
341
|
|
|
342
342
|
```typescript
|
|
343
343
|
import { RequestContext } from '@mastra/core/request-context'
|
|
@@ -368,7 +368,7 @@ if (workspace.hasSandboxConfig()) {
|
|
|
368
368
|
|
|
369
369
|
#### `resolveSandbox({ requestContext })`
|
|
370
370
|
|
|
371
|
-
Resolve the sandbox for a
|
|
371
|
+
Resolve the sandbox for a request context. When a resolver function is configured, calls it with the provided `requestContext`. When a static sandbox is configured, returns it directly. Returns `undefined` if no sandbox is configured.
|
|
372
372
|
|
|
373
373
|
```typescript
|
|
374
374
|
import { RequestContext } from '@mastra/core/request-context'
|
|
@@ -421,7 +421,7 @@ Added when a filesystem is configured:
|
|
|
421
421
|
| `mastra_workspace_mkdir` | Create a directory. Creates parent directories automatically if they don't exist. |
|
|
422
422
|
| `mastra_workspace_grep` | Search file contents using regex patterns. Supports glob filtering, context lines, and case-insensitive search. |
|
|
423
423
|
|
|
424
|
-
With a static filesystem, write tools (`write_file`, `edit_file`, `delete`, `mkdir`) are excluded when the filesystem is in read-only mode. With a [
|
|
424
|
+
With a static filesystem, write tools (`write_file`, `edit_file`, `delete`, `mkdir`) are excluded when the filesystem is in read-only mode. With a [runtime-defined filesystem](https://mastra.ai/docs/workspace/filesystem), write tools are always included and read-only is enforced at runtime.
|
|
425
425
|
|
|
426
426
|
The `read_file` tool accepts `mediaTypes` and `maxMediaBytes` options to control which mime types are surfaced to the model as native media parts and how large those files can be:
|
|
427
427
|
|
|
@@ -453,7 +453,7 @@ Added when a sandbox is configured:
|
|
|
453
453
|
| `mastra_workspace_get_process_output` | Get stdout, stderr, and status of a background process by PID. Accepts `tail` to limit output lines and `wait: true` to block until exit. Only available when the sandbox has a process manager. |
|
|
454
454
|
| `mastra_workspace_kill_process` | Kill a background process by PID. Returns the last 50 lines of output. Only available when the sandbox has a process manager. |
|
|
455
455
|
|
|
456
|
-
With a static sandbox, capability checks (`executeCommand`, `processes`) decide which tool variants are exposed. With a [
|
|
456
|
+
With a static sandbox, capability checks (`executeCommand`, `processes`) decide which tool variants are exposed. With a [runtime-defined sandbox](https://mastra.ai/docs/workspace/sandbox), all sandbox tools are registered and the runtime throws a clear error if the resolved sandbox doesn't implement a requested capability.
|
|
457
457
|
|
|
458
458
|
The `execute_command` tool accepts a `backgroundProcesses` option for lifecycle callbacks on background processes:
|
|
459
459
|
|
|
@@ -490,4 +490,4 @@ Added when skills are configured:
|
|
|
490
490
|
| `skill_search` | Search across skill content. Accepts an optional list of skill names to filter and a `topK` parameter. |
|
|
491
491
|
| `skill_read` | Read a specific file (reference, script, or asset) from a skill directory. |
|
|
492
492
|
|
|
493
|
-
When multiple skills share the same name, `list()` returns all of them. `get()` with a name applies tie-breaking (local > managed > external). If two skills share the same name
|
|
493
|
+
When multiple skills share the same name, `list()` returns all of them. `get()` with a name applies tie-breaking (local > managed > external). If two skills share the same name and source type, `get()` throws an error. Pass a skill's full path to `get()` to bypass tie-breaking. See [Skills with the same name](https://mastra.ai/docs/workspace/skills) for details.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.2.12-alpha.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`3f472b4`](https://github.com/mastra-ai/mastra/commit/3f472b468892a1ff14ccb43cc0343b86f7d8fd7d), [`35b929b`](https://github.com/mastra-ai/mastra/commit/35b929b7abc3d20d85c7985880960ac2d04a6c86), [`9b3626a`](https://github.com/mastra-ai/mastra/commit/9b3626aeb1d16fcd34b0a8e94c114ddb80a3b240)]:
|
|
8
|
+
- @mastra/core@1.55.0-alpha.0
|
|
9
|
+
|
|
10
|
+
## 1.2.11
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [[`ce93a3c`](https://github.com/mastra-ai/mastra/commit/ce93a3c114ea1cbfbd576f3db41d7c26c9844f5b), [`5718a22`](https://github.com/mastra-ai/mastra/commit/5718a229281dcfd36bcd1f42a242e3717e510a33), [`a211d09`](https://github.com/mastra-ai/mastra/commit/a211d09185dc65a746534914cf38b67f21ee9bac), [`0dca9d0`](https://github.com/mastra-ai/mastra/commit/0dca9d0b1356024a53b72ea6f040db528b126caa), [`6218217`](https://github.com/mastra-ai/mastra/commit/62182171b6cfca0b099f1c6a77a2e65e7639ab86), [`5807d3a`](https://github.com/mastra-ai/mastra/commit/5807d3ae1d259b8b7d6df7e5bf2b485c694af9c8), [`57661af`](https://github.com/mastra-ai/mastra/commit/57661afeca52ff9af4e72675ede2134fa503d5a5), [`05db566`](https://github.com/mastra-ai/mastra/commit/05db566fcbdcbf33d0bffca0c72ec30129e2e3ca), [`57661af`](https://github.com/mastra-ai/mastra/commit/57661afeca52ff9af4e72675ede2134fa503d5a5), [`57661af`](https://github.com/mastra-ai/mastra/commit/57661afeca52ff9af4e72675ede2134fa503d5a5), [`5718a22`](https://github.com/mastra-ai/mastra/commit/5718a229281dcfd36bcd1f42a242e3717e510a33), [`57661af`](https://github.com/mastra-ai/mastra/commit/57661afeca52ff9af4e72675ede2134fa503d5a5), [`d1b7e3a`](https://github.com/mastra-ai/mastra/commit/d1b7e3a978a309a5653eeaa490d2d6c7c53bd093), [`29c584a`](https://github.com/mastra-ai/mastra/commit/29c584a13a88831e5ed1fdeb0ff8e82eae180433), [`c093146`](https://github.com/mastra-ai/mastra/commit/c0931466404d3c521308ea119cb165bb7e695155), [`8124754`](https://github.com/mastra-ai/mastra/commit/8124754ae89fbc69f8136d1df4a91904d0f84c4e), [`d12b2e4`](https://github.com/mastra-ai/mastra/commit/d12b2e4023fd9e3d3e93a9169f5088bcee2a849c)]:
|
|
15
|
+
- @mastra/core@1.54.0
|
|
16
|
+
|
|
3
17
|
## 1.2.11-alpha.6
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mcp-docs-server",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.12-alpha.0",
|
|
4
4
|
"description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"jsdom": "^26.1.0",
|
|
29
29
|
"local-pkg": "^1.1.2",
|
|
30
30
|
"zod": "^4.4.3",
|
|
31
|
-
"@mastra/
|
|
32
|
-
"@mastra/
|
|
31
|
+
"@mastra/mcp": "^1.15.0",
|
|
32
|
+
"@mastra/core": "1.55.0-alpha.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@hono/node-server": "^1.19.14",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"tsx": "^4.23.1",
|
|
46
46
|
"typescript": "^6.0.3",
|
|
47
47
|
"vitest": "4.1.10",
|
|
48
|
-
"@internal/lint": "0.0.
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
48
|
+
"@internal/lint": "0.0.118",
|
|
49
|
+
"@mastra/core": "1.55.0-alpha.0",
|
|
50
|
+
"@internal/types-builder": "0.0.93"
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://mastra.ai",
|
|
53
53
|
"repository": {
|