@mastra/mcp-docs-server 1.2.13-alpha.8 → 1.2.13
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/overview.md +1 -1
- package/.docs/docs/agents/supervisor-agents.md +2 -2
- package/.docs/docs/agents/using-tools.md +29 -0
- package/.docs/docs/capabilities/channels/imessage.md +181 -0
- package/.docs/docs/capabilities/channels/overview.md +1 -0
- package/.docs/docs/{evals/datasets → datasets}/overview.md +3 -3
- package/.docs/docs/{evals/datasets → datasets}/running-experiments.md +59 -2
- package/.docs/docs/editor/overview.md +201 -206
- package/.docs/docs/evals/evals-with-memory.md +1 -1
- package/.docs/docs/getting-started/develop.md +196 -0
- package/.docs/docs/index.md +78 -1
- package/.docs/docs/mastra-platform/workspaces.md +13 -13
- package/.docs/docs/memory/observational-memory.md +23 -0
- package/.docs/docs/studio/observability.md +4 -0
- package/.docs/docs/studio/overview.md +2 -2
- package/.docs/docs/workspace/search.md +1 -1
- package/.docs/guides/getting-started/quickstart.md +3 -3
- package/.docs/{docs → guides}/rag/chunking-and-embedding.md +1 -1
- package/.docs/{docs → guides}/rag/graph-rag.md +1 -1
- package/.docs/{docs → guides}/rag/overview.md +2 -2
- package/.docs/{docs → guides}/rag/retrieval.md +1 -1
- package/.docs/{docs → guides}/voice/overview.md +4 -4
- package/.docs/{docs → guides}/voice/realtime-voice.md +2 -2
- package/.docs/{docs → guides}/voice/speech-to-speech.md +1 -1
- package/.docs/{docs → guides}/voice/speech-to-text.md +1 -1
- package/.docs/{docs → guides}/voice/text-to-speech.md +2 -2
- package/.docs/models/embeddings.md +63 -65
- package/.docs/models/environment-variables.md +5 -1
- package/.docs/models/gateways/netlify.md +1 -2
- package/.docs/models/gateways/openrouter.md +5 -3
- package/.docs/models/gateways/vercel.md +8 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/alibaba-cn.md +3 -1
- package/.docs/models/providers/alibaba-token-plan-cn.md +27 -25
- package/.docs/models/providers/alibaba-token-plan.md +27 -25
- package/.docs/models/providers/alibaba.md +2 -1
- package/.docs/models/providers/ambient.md +13 -12
- package/.docs/models/providers/baseten.md +3 -1
- package/.docs/models/providers/chutes.md +6 -8
- package/.docs/models/providers/crof.md +2 -1
- package/.docs/models/providers/crossmodel.md +7 -3
- package/.docs/models/providers/deepinfra.md +9 -2
- package/.docs/models/providers/digitalocean.md +34 -27
- package/.docs/models/providers/empiriolabs.md +4 -1
- package/.docs/models/providers/fireworks-ai.md +20 -19
- package/.docs/models/providers/greenpt.md +17 -8
- package/.docs/models/providers/groq.md +20 -20
- package/.docs/models/providers/huggingface.md +3 -1
- package/.docs/models/providers/hyper.md +9 -7
- package/.docs/models/providers/impossibl.md +148 -0
- package/.docs/models/providers/infomaniak.md +83 -0
- package/.docs/models/providers/kilo.md +349 -350
- package/.docs/models/providers/llmgateway.md +6 -3
- package/.docs/models/providers/mistral.md +5 -2
- package/.docs/models/providers/modal.md +5 -4
- package/.docs/models/providers/modelis.md +81 -0
- package/.docs/models/providers/nano-gpt.md +146 -148
- package/.docs/models/providers/neuralwatt.md +2 -1
- package/.docs/models/providers/ofox.md +2 -2
- package/.docs/models/providers/ollama-cloud.md +23 -22
- package/.docs/models/providers/opencode-go.md +3 -2
- package/.docs/models/providers/requesty.md +54 -45
- package/.docs/models/providers/scx.md +74 -0
- package/.docs/models/providers/tensorx.md +97 -0
- package/.docs/models/providers/togetherai.md +2 -1
- package/.docs/models/providers/umans-ai-coding-plan.md +11 -9
- package/.docs/models/providers/umans-ai.md +11 -9
- package/.docs/models/providers/wandb.md +2 -2
- package/.docs/models/providers/zai-coding-plan.md +11 -13
- package/.docs/models/providers/zhipuai-coding-plan.md +12 -12
- package/.docs/models/providers.md +5 -1
- package/.docs/reference/agents/agent.md +1 -1
- package/.docs/reference/agents/generate.md +1 -1
- package/.docs/reference/agents/getVoice.md +1 -1
- package/.docs/{docs/getting-started → reference}/build-with-ai.md +5 -110
- package/.docs/reference/cli/create-mastra.md +2 -0
- package/.docs/reference/cli/mastra.md +66 -1
- package/.docs/reference/client-js/agents.md +1 -1
- package/.docs/reference/configuration.md +2 -2
- package/.docs/reference/core/getEditor.md +1 -1
- package/.docs/reference/core/getVector.md +2 -2
- package/.docs/reference/core/listVectors.md +2 -2
- package/.docs/reference/core/mastra-class.md +1 -1
- package/.docs/reference/datasets/startExperiment.md +6 -0
- package/.docs/reference/datasets/startExperimentAsync.md +4 -0
- package/.docs/reference/editor/browser-provider.md +2 -2
- package/.docs/reference/editor/filesystem-provider.md +1 -1
- package/.docs/reference/editor/mastra-editor.md +31 -18
- package/.docs/reference/editor/prompt-blocks.md +137 -0
- package/.docs/reference/editor/sandbox-provider.md +1 -1
- package/.docs/reference/editor/storage-browser-ref.md +3 -3
- package/.docs/reference/editor/storage-workspace-ref.md +3 -3
- package/.docs/reference/editor/tool-provider.md +44 -10
- package/.docs/reference/editor/tools.md +100 -0
- package/.docs/reference/editor/versioning.md +130 -0
- package/.docs/reference/evals/mastra-scorer.md +68 -8
- package/.docs/reference/file-based-agents/config.md +39 -1
- package/.docs/reference/index.md +3 -4
- package/.docs/reference/memory/observational-memory.md +3 -1
- package/.docs/reference/memory/serialized-memory-config.md +3 -3
- package/.docs/reference/observability/tracing/interfaces.md +3 -1
- package/.docs/reference/processors/token-limiter-processor.md +15 -1
- package/.docs/reference/project-structure.md +1 -1
- package/.docs/reference/rag/database-config.md +1 -1
- package/.docs/reference/storage/composite.md +2 -0
- package/.docs/reference/streaming/agents/stream.md +1 -1
- package/.docs/reference/voice/livekit.md +3 -3
- package/.docs/reference/workspace/platform-filesystem.md +3 -3
- package/.docs/reference/workspace/platform-sandbox.md +5 -5
- package/CHANGELOG.md +30 -0
- package/README.md +1 -1
- package/package.json +6 -6
- package/.docs/docs/agent-builder/access-control.md +0 -99
- package/.docs/docs/agent-builder/browser.md +0 -63
- package/.docs/docs/agent-builder/channels.md +0 -78
- package/.docs/docs/agent-builder/configuration.md +0 -132
- package/.docs/docs/agent-builder/deploying.md +0 -124
- package/.docs/docs/agent-builder/integrations.md +0 -115
- package/.docs/docs/agent-builder/memory.md +0 -69
- package/.docs/docs/agent-builder/model-policy.md +0 -50
- package/.docs/docs/agent-builder/overview.md +0 -114
- package/.docs/docs/agent-builder/skill-registries.md +0 -31
- package/.docs/docs/agent-builder/workspace.md +0 -62
- package/.docs/docs/editor/prompts.md +0 -140
- package/.docs/docs/editor/tools.md +0 -148
- package/.docs/docs/getting-started/file-based-agents.md +0 -121
- package/.docs/docs/what-is-mastra.md +0 -161
- package/.docs/reference/client-js/agent-builder.md +0 -163
- package/.docs/reference/editor/agent-builder/agent-builder-options.md +0 -76
- package/.docs/reference/editor/agent-builder/builder-agent-defaults.md +0 -79
- package/.docs/reference/editor/agent-builder/builder-models.md +0 -66
- /package/.docs/{docs → guides}/getting-started/manual-install.md +0 -0
- /package/.docs/{docs → guides}/rag/vector-databases.md +0 -0
|
@@ -94,4 +94,42 @@ Keep `config.ts` focused on runtime options. Use sibling files for concerns that
|
|
|
94
94
|
| Memory | `config.memory` | [`memory.ts`](https://mastra.ai/reference/file-based-agents/memory) | `config.memory` |
|
|
95
95
|
| Workspace | `config.workspace` | [`workspace.ts`](https://mastra.ai/reference/file-based-agents/workspace) | `config.workspace` |
|
|
96
96
|
|
|
97
|
-
Missing both `instructions.md` and `config.instructions` fails the build. Missing both `config.memory` and `memory.ts` leaves the agent without memory.
|
|
97
|
+
Missing both `instructions.md` and `config.instructions` fails the build. Missing both `config.memory` and `memory.ts` leaves the agent without memory.
|
|
98
|
+
|
|
99
|
+
## Discovery lifecycle
|
|
100
|
+
|
|
101
|
+
File-based primitives are discovered by the Mastra bundler under `mastra dev` and `mastra build`. During discovery, Mastra reads supported files under `src/mastra/`, imports TypeScript and JavaScript modules, reads markdown instructions and skills, copies workspace seed files, and registers the assembled primitives with your Mastra app.
|
|
102
|
+
|
|
103
|
+
After discovery, a file-based agent runs as a normal [`Agent`](https://mastra.ai/reference/agents/agent). Calling it from the Agent API, Studio, workflows, or your application code uses the same runtime as a code-defined agent.
|
|
104
|
+
|
|
105
|
+
Discovery is source-based and conservative.
|
|
106
|
+
|
|
107
|
+
It skips symlinks, test files, and directories that aren't agent directories. Workflows and singleton project files are file-routed only when they have a default export.
|
|
108
|
+
|
|
109
|
+
Start your app through the Mastra CLI so discovery runs:
|
|
110
|
+
|
|
111
|
+
**npm**:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npx mastra dev
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**pnpm**:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
pnpm dlx mastra dev
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Yarn**:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
yarn dlx mastra dev
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Bun**:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
bun x mastra dev
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
If you import your `mastra` instance directly, `agents/<name>/` directories and the other conventions aren't discovered. When you consume Mastra as a library, register those primitives in code instead.
|
package/.docs/reference/index.md
CHANGED
|
@@ -65,7 +65,6 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
65
65
|
- [SlackProvider](https://mastra.ai/reference/channels/slack-provider)
|
|
66
66
|
- [create-mastra](https://mastra.ai/reference/cli/create-mastra)
|
|
67
67
|
- [mastra](https://mastra.ai/reference/cli/mastra)
|
|
68
|
-
- [Agent Builder API](https://mastra.ai/reference/client-js/agent-builder)
|
|
69
68
|
- [Agents API](https://mastra.ai/reference/client-js/agents)
|
|
70
69
|
- [Conversations API](https://mastra.ai/reference/client-js/conversations)
|
|
71
70
|
- [Error Handling](https://mastra.ai/reference/client-js/error-handling)
|
|
@@ -123,10 +122,10 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
123
122
|
- [BlobStoreProvider](https://mastra.ai/reference/editor/blob-store-provider)
|
|
124
123
|
- [MastraEditor Class](https://mastra.ai/reference/editor/mastra-editor)
|
|
125
124
|
- [ProcessorProvider](https://mastra.ai/reference/editor/processor-provider)
|
|
125
|
+
- [Prompt blocks](https://mastra.ai/reference/editor/prompt-blocks)
|
|
126
|
+
- [Tool configuration](https://mastra.ai/reference/editor/tools)
|
|
126
127
|
- [ToolProvider](https://mastra.ai/reference/editor/tool-provider)
|
|
127
|
-
- [
|
|
128
|
-
- [BuilderAgentDefaults](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults)
|
|
129
|
-
- [Models default](https://mastra.ai/reference/editor/agent-builder/builder-models)
|
|
128
|
+
- [Versioning](https://mastra.ai/reference/editor/versioning)
|
|
130
129
|
- [BrowserProvider](https://mastra.ai/reference/editor/browser-provider)
|
|
131
130
|
- [StorageBrowserRef](https://mastra.ai/reference/editor/storage-browser-ref)
|
|
132
131
|
- [FilesystemProvider](https://mastra.ai/reference/editor/filesystem-provider)
|
|
@@ -47,7 +47,7 @@ OM performs thresholding with fast local token estimation. Text uses `tokenx`, a
|
|
|
47
47
|
|
|
48
48
|
**temporalMarkers** (`boolean`): Insert temporal-gap reminder markers before new user messages when the previous message in the thread is at least 10 minutes older. The marker is persisted in memory, emitted as an inline reminder event so clients can render it specially, and shown to the observer so it can anchor observations to when events occurred. (Default: `false`)
|
|
49
49
|
|
|
50
|
-
**retrieval** (`boolean | { vector?: boolean; scope?: 'thread' | 'resource' }`): Let the agent look up the raw message history behind its observations. Observation groups keep durable pointers to the original messages, and a recall tool is registered so the agent can browse them. true enables cross-thread browsing by default. { vector: true } also enables semantic search using Memory's vector store and embedder. { scope: 'thread' } restricts the recall tool to the current thread only. Default scope is 'resource'. (Default: `false`)
|
|
50
|
+
**retrieval** (`boolean | { vector?: boolean; scope?: 'thread' | 'resource'; instructions?: string }`): Let the agent look up the raw message history behind its observations. Observation groups keep durable pointers to the original messages, and a recall tool is registered so the agent can browse them. true enables cross-thread browsing by default. { vector: true } also enables semantic search using Memory's vector store and embedder. { scope: 'thread' } restricts the recall tool to the current thread only. Default scope is 'resource'. { instructions: '...' } appends application-specific recall guidance after Mastra's built-in retrieval instructions. (Default: `false`)
|
|
51
51
|
|
|
52
52
|
**hooks** (`ObserveHooks`): Lifecycle hooks fired for every observation/reflection cycle — the manual observe()/reflect() APIs, turn-driven synchronous observation, and fire-and-forget async buffering. Callbacks receive threadId/resourceId/trigger call context ('manual' | 'turn-sync' | 'async-buffer'), and the end hooks (onObservationEnd/onReflectionEnd) additionally receive the OM model call's token usage and providerMetadata (where providers such as the AI Gateway report per-call cost), so apps can account for OM model spend without wrapping the observer/reflector models in middleware. Failed async-buffered cycles never throw; they report through the end hook's error field. Errors thrown by these hooks are caught and logged — they never fail the cycle.
|
|
53
53
|
|
|
@@ -761,6 +761,8 @@ The standalone `ObservationalMemory` class accepts all the same options as the `
|
|
|
761
761
|
|
|
762
762
|
When `retrieval` is set (any truthy value), a `recall` tool is registered so the agent can page through raw messages behind observation group ranges. By default (scope `'resource'`), the tool supports listing threads (`mode: "threads"`), browsing other threads (`threadId`), and cross-thread search. With `retrieval: { vector: true }`, semantic search is available (`mode: "search"`). Set `scope: 'thread'` to restrict the tool to the current thread only. The tool is automatically added to the agent's tool list.
|
|
763
763
|
|
|
764
|
+
Mastra also injects scope-aware usage instructions into the agent's context. For resource scope with `vector: true`, these cover routing between `search`, `threads`, and `messages`, including fallback to thread discovery when search results are unsuitable. Without `vector: true`, the instructions only cover `threads` and `messages` browsing, so the agent isn't steered toward a search mode that isn't configured. Resource-scoped instructions are injected even before any observation group exists, so the agent can browse other threads from the first message. Use `retrieval: { instructions: '...' }` to append application-specific guidance after the built-in instructions.
|
|
765
|
+
|
|
764
766
|
### Parameters
|
|
765
767
|
|
|
766
768
|
**mode** (`'messages' | 'threads' | 'search'`): What to retrieve. "messages" (default) pages through message history. "threads" lists all threads for the current user. "search" finds messages by semantic similarity across all threads (requires vector store and embedder). (Default: `'messages'`)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
`SerializedMemoryConfig` is the JSON-serializable subset of [`Memory`](https://mastra.ai/reference/memory/memory-class) configuration that lives on a stored agent record. The runtime hydrates it back into a `Memory` instance by resolving the vector and embedder IDs against the configured `Mastra` instance.
|
|
6
6
|
|
|
7
|
-
It's the type used by [`BuilderAgentDefaults.memory`](https://mastra.ai/reference/
|
|
7
|
+
It's the type used by [`BuilderAgentDefaults.memory`](https://agent-builder.mastra.ai/reference/builder-agent-defaults) and by `EditorAgentNamespace.create({ memory })`.
|
|
8
8
|
|
|
9
9
|
## Usage example
|
|
10
10
|
|
|
@@ -70,5 +70,5 @@ new MastraEditor({
|
|
|
70
70
|
|
|
71
71
|
- [Memory class](https://mastra.ai/reference/memory/memory-class): The runtime type this config hydrates into.
|
|
72
72
|
- [Observational memory](https://mastra.ai/reference/memory/observational-memory): Full observational memory reference.
|
|
73
|
-
- [BuilderAgentDefaults](https://mastra.ai/reference/
|
|
74
|
-
- [Agent Builder: Memory](https://mastra.ai/
|
|
73
|
+
- [BuilderAgentDefaults](https://agent-builder.mastra.ai/reference/builder-agent-defaults): Where this type is pinned as the Builder default.
|
|
74
|
+
- [Agent Builder: Memory](https://agent-builder.mastra.ai/memory): Concept and worked examples.
|
|
@@ -319,7 +319,9 @@ enum SpanType {
|
|
|
319
319
|
* Provider-executed (server-side) tool span. Reconstructed from
|
|
320
320
|
* tool-call and tool-result stream chunks for tools the model
|
|
321
321
|
* provider executes (e.g. Anthropic code execution, server-side
|
|
322
|
-
* web search).
|
|
322
|
+
* web search). Created on the tool-result chunk under the model
|
|
323
|
+
* step that delivered it, with the start time backdated to the
|
|
324
|
+
* tool-call chunk.
|
|
323
325
|
*/
|
|
324
326
|
PROVIDER_TOOL_CALL = 'provider_tool_call',
|
|
325
327
|
|
|
@@ -44,12 +44,26 @@ const processor = new TokenLimiterProcessor({
|
|
|
44
44
|
|
|
45
45
|
**processInputStep** (`(args: ProcessInputStepArgs) => Promise<void>`): Prunes messages at each step of the agentic loop (including tool call continuations) to keep the conversation within the token limit. Mutates the messageList directly by removing oldest messages first while preserving system messages.
|
|
46
46
|
|
|
47
|
-
**processOutputStream** (`(args:
|
|
47
|
+
**processOutputStream** (`(args: ProcessOutputStreamArgs) => Promise<ChunkType | null>`): Processes streaming output parts to limit token count during streaming. Only text and object parts count against the limit and can be withheld; lifecycle, reasoning and tool parts always pass through.
|
|
48
48
|
|
|
49
49
|
**processOutputResult** (`(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never }) => Promise<MastraDBMessage[]>`): Processes final output results to limit token count in non-streaming scenarios
|
|
50
50
|
|
|
51
51
|
**getMaxTokens** (`() => number`): Get the maximum token limit
|
|
52
52
|
|
|
53
|
+
## Output stream behavior
|
|
54
|
+
|
|
55
|
+
As an output processor, only parts that carry generated output count against the limit: `text-delta` and `object`. Lifecycle parts (such as `step-start`), reasoning deltas, response metadata, and tool parts (`tool-call`, `tool-result`) are neither counted nor withheld, so tool calls always reach the agentic loop and get executed.
|
|
56
|
+
|
|
57
|
+
With the default `truncate` strategy, the first time output is withheld the processor emits a transient `data-token-limit-reached` part on the stream:
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
for await (const part of stream.fullStream) {
|
|
61
|
+
if (part.type === 'data-token-limit-reached') {
|
|
62
|
+
console.log('output truncated at', part.data.limit, 'tokens')
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
53
67
|
## Error behavior
|
|
54
68
|
|
|
55
69
|
When used as an input processor (both `processInput` and `processInputStep`), `TokenLimiterProcessor` throws a `TripWire` error in the following cases:
|
|
@@ -44,7 +44,7 @@ Mastra recommends organizing your code into the following folders:
|
|
|
44
44
|
|
|
45
45
|
Mastra has two special folder conventions:
|
|
46
46
|
|
|
47
|
-
- `src/mastra/agents/<name>`: You can define an agent by file convention instead of constructing it in code. Learn more in the [File-based Agents](https://mastra.ai/docs/getting-started/
|
|
47
|
+
- `src/mastra/agents/<name>`: You can define an agent by file convention instead of constructing it in code. Learn more in the [File-based Agents](https://mastra.ai/docs/getting-started/develop) docs.
|
|
48
48
|
- `src/mastra/public`: Contents are copied into the `.build/output` directory during the build process, making them available for serving at runtime.
|
|
49
49
|
|
|
50
50
|
### Top-level files
|
|
@@ -275,5 +275,5 @@ const vectorTool = createVectorQueryTool({
|
|
|
275
275
|
## Related
|
|
276
276
|
|
|
277
277
|
- [createVectorQueryTool()](https://mastra.ai/reference/tools/vector-query-tool)
|
|
278
|
-
- [Hybrid Vector Search](https://mastra.ai/
|
|
278
|
+
- [Hybrid Vector Search](https://mastra.ai/guides/rag/retrieval)
|
|
279
279
|
- [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
|
|
@@ -188,6 +188,8 @@ export const mastra = new Mastra({
|
|
|
188
188
|
|
|
189
189
|
**default** (`MastraCompositeStore`): Default storage adapter. Domains not explicitly specified in domains will use this storage's domains as fallbacks.
|
|
190
190
|
|
|
191
|
+
**editor** (`MastraCompositeStore`): Storage adapter for Editor-owned domains, including agents, prompt blocks, scorers, MCP clients and servers, workspaces, and skills. Takes precedence over default storage but not explicit domain overrides.
|
|
192
|
+
|
|
191
193
|
**disableInit** (`boolean`): When true, automatic initialization is disabled. You must call init() explicitly.
|
|
192
194
|
|
|
193
195
|
**domains** (`object`): Individual domain overrides. Each domain can come from a different storage adapter. These take precedence over both editor and default storage. Set a domain to false to disable it entirely; a disabled domain does not fall back to editor or default.
|
|
@@ -214,7 +214,7 @@ const stream = await agent.stream('message for agent')
|
|
|
214
214
|
|
|
215
215
|
**options.tracingOptions.tags** (`string[]`): Tags to apply to this trace. String labels for categorizing and filtering traces.
|
|
216
216
|
|
|
217
|
-
**options.versions** (`VersionOverrides`): Per-invocation version overrides for sub-agent delegation. Merged on top of Mastra instance-level versions and propagated automatically through sub-agent calls via requestContext. Requires the editor package. See
|
|
217
|
+
**options.versions** (`VersionOverrides`): Per-invocation version overrides for sub-agent delegation. Merged on top of Mastra instance-level versions and propagated automatically through sub-agent calls via requestContext. Requires the editor package. See Editor versioning.
|
|
218
218
|
|
|
219
219
|
**options.versions.agents** (`Record<string, VersionSelector>`): A map of agent IDs to their version selectors.
|
|
220
220
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
The `@mastra/livekit` package connects Mastra agents to the LiveKit Agents framework. LiveKit runs the audio pipeline (voice activity detection, speech-to-text, turn detection, text-to-speech, barge-in) and the package bridges reply generation to a Mastra agent's `stream()` call.
|
|
6
6
|
|
|
7
|
-
See [Realtime voice](https://mastra.ai/
|
|
7
|
+
See [Realtime voice](https://mastra.ai/guides/voice/realtime-voice) for setup and concepts.
|
|
8
8
|
|
|
9
9
|
The package has three entry points:
|
|
10
10
|
|
|
@@ -148,7 +148,7 @@ Returns: `VoiceTurnMessage[]`, where each entry is `{ role: 'system' | 'user' |
|
|
|
148
148
|
|
|
149
149
|
## `MastraLLM`
|
|
150
150
|
|
|
151
|
-
A standard LiveKit LLM plugin (`llm.LLM`) backed by a Mastra agent. Use it when you build the `voice.AgentSession` yourself and want Mastra in the `llm` slot. [`createLiveKitWorker()`](#createlivekitworker) is the managed alternative. See [Use Mastra as the LLM component](https://mastra.ai/
|
|
151
|
+
A standard LiveKit LLM plugin (`llm.LLM`) backed by a Mastra agent. Use it when you build the `voice.AgentSession` yourself and want Mastra in the `llm` slot. [`createLiveKitWorker()`](#createlivekitworker) is the managed alternative. See [Use Mastra as the LLM component](https://mastra.ai/guides/voice/realtime-voice) for how to choose.
|
|
152
152
|
|
|
153
153
|
With `remote`, the plugin streams each turn from your Mastra server over HTTP using Server-Sent Events (SSE). The agent loop, tools, and memory run server-side, and interrupting the agent aborts the server-side generation.
|
|
154
154
|
|
|
@@ -478,5 +478,5 @@ The metadata travels as a JSON string. `liveKitConnectionRoute()` and `dispatchV
|
|
|
478
478
|
|
|
479
479
|
## Related
|
|
480
480
|
|
|
481
|
-
- [Realtime voice](https://mastra.ai/
|
|
481
|
+
- [Realtime voice](https://mastra.ai/guides/voice/realtime-voice)
|
|
482
482
|
- [LiveKit Agents docs](https://docs.livekit.io/agents/)
|
|
@@ -39,7 +39,7 @@ Configure the platform credentials. The access token, project ID, and bucket nam
|
|
|
39
39
|
**.env file**:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
|
|
42
|
+
MASTRA_PLATFORM_ACCESS_TOKEN=your-platform-access-token
|
|
43
43
|
MASTRA_PROJECT_ID=your-project-id
|
|
44
44
|
MASTRA_PLATFORM_BUCKET_NAME=your-bucket-name
|
|
45
45
|
```
|
|
@@ -54,7 +54,7 @@ new PlatformFilesystem({
|
|
|
54
54
|
})
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
On a Mastra Platform deployment
|
|
57
|
+
On a Mastra Platform deployment, `MASTRA_PLATFORM_ACCESS_TOKEN`, `MASTRA_PROJECT_ID`, and `MASTRA_PLATFORM_BUCKET_NAME` are injected automatically, so the constructor can be called with no options. For local development, `MASTRA_PLATFORM_ACCESS_TOKEN` can contain an `sk_` API token from your organization's settings page under **API Tokens**.
|
|
58
58
|
|
|
59
59
|
## Usage
|
|
60
60
|
|
|
@@ -116,7 +116,7 @@ await fs.writeFile('/analyses/repo.md', 'x') // throws WorkspaceReadOnlyError
|
|
|
116
116
|
|
|
117
117
|
## Constructor parameters
|
|
118
118
|
|
|
119
|
-
**accessToken** (`string`): Platform
|
|
119
|
+
**accessToken** (`string`): Platform access token. Falls back to the MASTRA\_PLATFORM\_ACCESS\_TOKEN environment variable.
|
|
120
120
|
|
|
121
121
|
**projectId** (`string`): Platform project ID. Falls back to the MASTRA\_PROJECT\_ID environment variable.
|
|
122
122
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# PlatformSandbox
|
|
4
4
|
|
|
5
|
-
Client for provisioning sandboxes in a Mastra Platform environment. Each `PlatformSandbox` instance owns one remote sandbox: `start()` provisions it, `executeCommand()` runs against it, and `destroy()` tears it down. Construct additional instances to own additional remote sandboxes
|
|
5
|
+
Client for provisioning sandboxes in a Mastra Platform environment. Each `PlatformSandbox` instance owns one remote sandbox: `start()` provisions it, `executeCommand()` runs against it, and `destroy()` tears it down. Construct additional instances to own additional remote sandboxes. Use `clone()` to derive them from a configured template (see [Cloning](#cloning-for-a-fleet-of-sandboxes)).
|
|
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
|
|
|
@@ -41,7 +41,7 @@ Configure the platform credentials. The access token, project ID, and environmen
|
|
|
41
41
|
**.env file**:
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
|
|
44
|
+
MASTRA_PLATFORM_ACCESS_TOKEN=your-platform-access-token
|
|
45
45
|
MASTRA_PROJECT_ID=your-project-id
|
|
46
46
|
MASTRA_ENVIRONMENT_ID=your-environment-id
|
|
47
47
|
```
|
|
@@ -56,7 +56,7 @@ new PlatformSandbox({
|
|
|
56
56
|
})
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
On a Mastra Platform deployment
|
|
59
|
+
On a Mastra Platform deployment, `MASTRA_PLATFORM_ACCESS_TOKEN`, `MASTRA_PROJECT_ID`, and `MASTRA_ENVIRONMENT_ID` are injected automatically, so the constructor can be called with no options. For local development, `MASTRA_PLATFORM_ACCESS_TOKEN` can contain an `sk_` API token from your organization's settings page under **API Tokens**.
|
|
60
60
|
|
|
61
61
|
## Usage
|
|
62
62
|
|
|
@@ -123,7 +123,7 @@ When `sandboxId` is set, `environmentId` isn't required because the sandbox alre
|
|
|
123
123
|
The constructor `id` (explicit or auto-generated) is sent to the platform on `POST /sandbox` as an advisory recovery key:
|
|
124
124
|
|
|
125
125
|
- If the platform recognises the `id` from a previous session, the new sandbox boots from the most recent checkpoint of that earlier sandbox's filesystem instead of the base recipe.
|
|
126
|
-
- If the `id` isn't recognised, the platform
|
|
126
|
+
- If the `id` isn't recognised, the platform starts a fresh sandbox from the base recipe. Auto-generated ids never match, so omitting `id` disables checkpoint recovery.
|
|
127
127
|
|
|
128
128
|
Pass a stable `id` to preserve a sandbox's filesystem across sessions or across a `destroy()`/`start()` cycle:
|
|
129
129
|
|
|
@@ -173,7 +173,7 @@ console.log(result.exitCode)
|
|
|
173
173
|
|
|
174
174
|
## Constructor parameters
|
|
175
175
|
|
|
176
|
-
**accessToken** (`string`): Platform
|
|
176
|
+
**accessToken** (`string`): Platform access token. Falls back to the MASTRA\_PLATFORM\_ACCESS\_TOKEN environment variable.
|
|
177
177
|
|
|
178
178
|
**projectId** (`string`): Platform project ID. Falls back to the MASTRA\_PROJECT\_ID environment variable.
|
|
179
179
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.2.13
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`4844167`](https://github.com/mastra-ai/mastra/commit/4844167cff2d5ec5004e94edd34970833040fa3f), [`c5e56ff`](https://github.com/mastra-ai/mastra/commit/c5e56ff3bcabdf062708f2d48744fec304df6792), [`594f7b2`](https://github.com/mastra-ai/mastra/commit/594f7b28f5263fb9982fd50d95c471fb971ea984), [`7f4e26d`](https://github.com/mastra-ai/mastra/commit/7f4e26dd57bd9b23c278ea21235ab823a3810a6c), [`311f943`](https://github.com/mastra-ai/mastra/commit/311f943bee60e8fdf5c84499ea50e884276c936c), [`322daa6`](https://github.com/mastra-ai/mastra/commit/322daa6d90552909204044790d850958f6745fed), [`a19e5b7`](https://github.com/mastra-ai/mastra/commit/a19e5b79b76fffa92f9cf17e0e89c3fa714534e8), [`db4e6ff`](https://github.com/mastra-ai/mastra/commit/db4e6ff744503112eb64deeaf6c2b54bf26a54c7), [`5faf93f`](https://github.com/mastra-ai/mastra/commit/5faf93f03e19daea394b9e2a923f2e4f833407f2), [`82201f7`](https://github.com/mastra-ai/mastra/commit/82201f75fae8e050a8de2df08b74875ee74c6b83), [`cadaa13`](https://github.com/mastra-ai/mastra/commit/cadaa1372e1077c8e85eb64c5499ba8803caa323), [`0c89896`](https://github.com/mastra-ai/mastra/commit/0c8989673fb7d106837098398131e570c6023b68), [`6d19a65`](https://github.com/mastra-ai/mastra/commit/6d19a6517f5da3911023d446b7e2d5dad8adb1cb), [`23b4238`](https://github.com/mastra-ai/mastra/commit/23b423844ad0bcf2a502a68dd62866d6160f9f6d), [`80ad891`](https://github.com/mastra-ai/mastra/commit/80ad891f8cd10379aa5b5af7510c763783b2ab56), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`e320a76`](https://github.com/mastra-ai/mastra/commit/e320a763feaf65c6be3cebecf746defcbde161b3), [`03b4918`](https://github.com/mastra-ai/mastra/commit/03b4918c80d188ce375334c393e131c6e94bd7eb), [`14ef73a`](https://github.com/mastra-ai/mastra/commit/14ef73a4bbd73e7808414816eb0628ce1d80b5d7), [`b582f7f`](https://github.com/mastra-ai/mastra/commit/b582f7fa2f9c1f87d19efc63d344fbe5dda2608c), [`0a6598b`](https://github.com/mastra-ai/mastra/commit/0a6598bde80bde008986ad6616bed9632b9294cb), [`06000d7`](https://github.com/mastra-ai/mastra/commit/06000d73712911572e913b8a83339270296d0a22), [`1d677d5`](https://github.com/mastra-ai/mastra/commit/1d677d5f99d7db403f7828585e8c25f299f72628), [`c78aa4e`](https://github.com/mastra-ai/mastra/commit/c78aa4ecc422ba70476da73709c3e7d85edc71d6), [`9e1dad8`](https://github.com/mastra-ai/mastra/commit/9e1dad8f7b1cab2bb7ade90e5b7561f24577b88a), [`2f43145`](https://github.com/mastra-ai/mastra/commit/2f4314504c03cbba280414ac81ba3197448ee6b0), [`4e35a56`](https://github.com/mastra-ai/mastra/commit/4e35a56cdf8d74a5ff6d5eda01f2c1deaf6cc7be), [`d94b8e1`](https://github.com/mastra-ai/mastra/commit/d94b8e1cee67416d518a8c30099040061bef6a1c), [`93e28ec`](https://github.com/mastra-ai/mastra/commit/93e28ecce9031c02397e0ae8406593e5c7a95883), [`729dab4`](https://github.com/mastra-ai/mastra/commit/729dab408faccfaef0cbb048e5a4338f9172847e), [`484003d`](https://github.com/mastra-ai/mastra/commit/484003d33ff59330c86b19863e4a38732d7e4155), [`3de0188`](https://github.com/mastra-ai/mastra/commit/3de0188bfaf9a9c09c95fe322b53838cf52c70b6), [`34d34d8`](https://github.com/mastra-ai/mastra/commit/34d34d8c811df512fef4dd5459f79b7821be1866), [`b582f7f`](https://github.com/mastra-ai/mastra/commit/b582f7fa2f9c1f87d19efc63d344fbe5dda2608c), [`933d291`](https://github.com/mastra-ai/mastra/commit/933d291146b789c19442ad206f94da3e4be90c64), [`a1cb98d`](https://github.com/mastra-ai/mastra/commit/a1cb98d11990b560b98482292a1f34aa1a2d9092), [`598ad82`](https://github.com/mastra-ai/mastra/commit/598ad82d41c41389a686338a1d0e50b7400e1938), [`1fd6aad`](https://github.com/mastra-ai/mastra/commit/1fd6aad1ea4a9d32f65efa832307c35e981a4c0a)]:
|
|
8
|
+
- @mastra/core@1.56.0
|
|
9
|
+
- @mastra/mcp@1.15.1
|
|
10
|
+
|
|
11
|
+
## 1.2.13-alpha.12
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [[`d94b8e1`](https://github.com/mastra-ai/mastra/commit/d94b8e1cee67416d518a8c30099040061bef6a1c)]:
|
|
16
|
+
- @mastra/core@1.56.0-alpha.7
|
|
17
|
+
|
|
18
|
+
## 1.2.13-alpha.10
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- Updated dependencies [[`a19e5b7`](https://github.com/mastra-ai/mastra/commit/a19e5b79b76fffa92f9cf17e0e89c3fa714534e8), [`82201f7`](https://github.com/mastra-ai/mastra/commit/82201f75fae8e050a8de2df08b74875ee74c6b83), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`0a6598b`](https://github.com/mastra-ai/mastra/commit/0a6598bde80bde008986ad6616bed9632b9294cb), [`9e1dad8`](https://github.com/mastra-ai/mastra/commit/9e1dad8f7b1cab2bb7ade90e5b7561f24577b88a), [`2f43145`](https://github.com/mastra-ai/mastra/commit/2f4314504c03cbba280414ac81ba3197448ee6b0), [`34d34d8`](https://github.com/mastra-ai/mastra/commit/34d34d8c811df512fef4dd5459f79b7821be1866)]:
|
|
23
|
+
- @mastra/mcp@1.15.1-alpha.1
|
|
24
|
+
- @mastra/core@1.56.0-alpha.6
|
|
25
|
+
|
|
26
|
+
## 1.2.13-alpha.9
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [[`db4e6ff`](https://github.com/mastra-ai/mastra/commit/db4e6ff744503112eb64deeaf6c2b54bf26a54c7), [`6d19a65`](https://github.com/mastra-ai/mastra/commit/6d19a6517f5da3911023d446b7e2d5dad8adb1cb)]:
|
|
31
|
+
- @mastra/core@1.56.0-alpha.5
|
|
32
|
+
|
|
3
33
|
## 1.2.13-alpha.7
|
|
4
34
|
|
|
5
35
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Access Mastra's documentation via [Model Context Protocol (MCP)](https://modelco
|
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
|
-
Follow the [official installation](https://mastra.ai/
|
|
7
|
+
Follow the [official installation](https://mastra.ai/reference/build-with-ai#mcp-docs-server) instructions.
|
|
8
8
|
|
|
9
9
|
## Tools
|
|
10
10
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mcp-docs-server",
|
|
3
|
-
"version": "1.2.13
|
|
3
|
+
"version": "1.2.13",
|
|
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/core": "1.56.0
|
|
32
|
-
"@mastra/mcp": "^1.15.1
|
|
31
|
+
"@mastra/core": "1.56.0",
|
|
32
|
+
"@mastra/mcp": "^1.15.1"
|
|
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/
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
48
|
+
"@internal/types-builder": "0.0.95",
|
|
49
|
+
"@internal/lint": "0.0.120",
|
|
50
|
+
"@mastra/core": "1.56.0"
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://mastra.ai",
|
|
53
53
|
"repository": {
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Access control
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
The Agent Builder includes with two supported roles: `admin` and `member`. Wire them through `Mastra.server.rbac`. Without an RBAC provider, every authenticated user has full Builder access; without authentication, the Builder is open to anyone who can reach the server.
|
|
8
|
-
|
|
9
|
-
## Roles
|
|
10
|
-
|
|
11
|
-
| Role | Permissions | What they can do |
|
|
12
|
-
| -------- | ------------------- | ----------------------------------------------------------------------------------------------- |
|
|
13
|
-
| `admin` | `*` | Full access. Create, edit, publish, and delete agents and skills. Manage every Builder surface. |
|
|
14
|
-
| `member` | scoped list (below) | Open the Builder, browse agents and skills, populate pickers, and chat with the Builder agent. |
|
|
15
|
-
|
|
16
|
-
## Minimum permissions
|
|
17
|
-
|
|
18
|
-
The Builder UI calls several resources on load, so a usable `member` role needs explicit grants on each. The Builder action layer (`/agent-builder/*`) is one resource. The data it reads and writes lives under separate resources.
|
|
19
|
-
|
|
20
|
-
| Permission | Used for |
|
|
21
|
-
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
22
|
-
| `agent-builder:*` | Load Builder actions and run Builder workflows. The derived Builder actions are `agent-builder:read` and `agent-builder:execute`. The wildcard grants both. |
|
|
23
|
-
| `agents:read`, `agents:execute` | List registered agents and chat with the Builder agent |
|
|
24
|
-
| `stored-agents:*` | List, view, create, and edit agents |
|
|
25
|
-
| `stored-skills:*` | List, view, create, and edit stored skills |
|
|
26
|
-
| `stored-workspaces:*` | Pick a workspace when editing an agent |
|
|
27
|
-
| `tools:read`, `tools:execute` | Populate the tool picker and run tools through agents |
|
|
28
|
-
| `workflows:read`, `workflows:execute` | Populate the workflow picker and run workflows through agents |
|
|
29
|
-
| `memory:read` | Preview memory configuration in the picker |
|
|
30
|
-
| `channels:read` | Show Slack/channel chips on agent pages |
|
|
31
|
-
| `infrastructure:read` | Builder diagnostics banner on the shell |
|
|
32
|
-
|
|
33
|
-
Grant `:write`, `:delete`, and `:publish` on `stored-agents` and `stored-skills` for users who should create or modify agents. The `:*` wildcards in the table above cover those actions. `admin` covers everything through the `*` wildcard.
|
|
34
|
-
|
|
35
|
-
## Quickstart with WorkOS
|
|
36
|
-
|
|
37
|
-
`@mastra/auth-workos` provides `MastraAuthWorkos` for SSO and `MastraRBACWorkos` for role-based access. Map WorkOS organization roles to the Builder's `admin` and `member` roles via `roleMapping`:
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
import { MastraAuthWorkos, MastraRBACWorkos } from '@mastra/auth-workos'
|
|
41
|
-
|
|
42
|
-
export const mastraAuth = new MastraAuthWorkos({
|
|
43
|
-
redirectUri: process.env.WORKOS_REDIRECT_URI || 'http://localhost:4111/api/auth/callback',
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
export const rbacProvider = new MastraRBACWorkos({
|
|
47
|
-
roleMapping: {
|
|
48
|
-
admin: ['*'],
|
|
49
|
-
member: [
|
|
50
|
-
'agent-builder:*',
|
|
51
|
-
'agents:read',
|
|
52
|
-
'agents:execute',
|
|
53
|
-
'stored-agents:*',
|
|
54
|
-
'stored-skills:*',
|
|
55
|
-
'stored-workspaces:*',
|
|
56
|
-
'tools:read',
|
|
57
|
-
'tools:execute',
|
|
58
|
-
'workflows:read',
|
|
59
|
-
'workflows:execute',
|
|
60
|
-
'memory:read',
|
|
61
|
-
'channels:read',
|
|
62
|
-
'infrastructure:read',
|
|
63
|
-
],
|
|
64
|
-
_default: [],
|
|
65
|
-
},
|
|
66
|
-
})
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Register both providers on the Mastra server:
|
|
70
|
-
|
|
71
|
-
```typescript
|
|
72
|
-
import { Mastra } from '@mastra/core/mastra'
|
|
73
|
-
import { mastraAuth, rbacProvider } from './auth'
|
|
74
|
-
|
|
75
|
-
export const mastra = new Mastra({
|
|
76
|
-
server: {
|
|
77
|
-
auth: mastraAuth,
|
|
78
|
-
rbac: rbacProvider,
|
|
79
|
-
},
|
|
80
|
-
// ...storage, agents, editor
|
|
81
|
-
})
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
`_default` covers WorkOS roles not listed in the mapping. Omit it to deny unmapped users. Set `WORKOS_API_KEY` and `WORKOS_CLIENT_ID` in your environment.
|
|
85
|
-
|
|
86
|
-
## Permission grammar
|
|
87
|
-
|
|
88
|
-
Permission patterns follow `resource:action`. Wildcards are supported on either side:
|
|
89
|
-
|
|
90
|
-
- `*`: Full access (every resource, every action). Used by `admin`.
|
|
91
|
-
- `agent-builder:*`: Every action on the `agent-builder` resource.
|
|
92
|
-
- `*:read`: `read` Across every resource.
|
|
93
|
-
|
|
94
|
-
Patterns resolve through `matchesPermission()`. The first matching role permission grants the action.
|
|
95
|
-
|
|
96
|
-
## Related
|
|
97
|
-
|
|
98
|
-
- [Configuration](https://mastra.ai/docs/agent-builder/configuration): Wire RBAC alongside the rest of the Builder config.
|
|
99
|
-
- [Deploying](https://mastra.ai/docs/agent-builder/deploying): Auth, RBAC, and EE license setup for production.
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Browser
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
The Agent Builder can give end-user agents a browser tool driven by a registered provider. Unlike filesystems and sandboxes, **there are no built-in browser providers** and you must register one through `MastraEditor.browsers`.
|
|
8
|
-
|
|
9
|
-
## Quickstart
|
|
10
|
-
|
|
11
|
-
Register a browser provider on `MastraEditor`, then pin it as the Builder default through `builder.configuration.agent.browser`:
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { MastraEditor } from '@mastra/editor'
|
|
15
|
-
import { StagehandBrowser } from '@mastra/stagehand'
|
|
16
|
-
|
|
17
|
-
new MastraEditor({
|
|
18
|
-
browsers: {
|
|
19
|
-
stagehand: {
|
|
20
|
-
id: 'stagehand',
|
|
21
|
-
name: 'Stagehand Browser',
|
|
22
|
-
createBrowser: config =>
|
|
23
|
-
new StagehandBrowser({
|
|
24
|
-
...config,
|
|
25
|
-
apiKey: process.env.BROWSERBASE_API_KEY ?? '',
|
|
26
|
-
env: 'BROWSERBASE',
|
|
27
|
-
projectId: process.env.BROWSERBASE_PROJECT_ID ?? '',
|
|
28
|
-
}),
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
builder: {
|
|
32
|
-
enabled: true,
|
|
33
|
-
configuration: {
|
|
34
|
-
agent: {
|
|
35
|
-
browser: {
|
|
36
|
-
type: 'inline',
|
|
37
|
-
config: { provider: 'stagehand', headless: true },
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
})
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Browser providers
|
|
46
|
-
|
|
47
|
-
`MastraEditor.browsers` accepts a `Record<string, BrowserProvider>`. Each provider exposes:
|
|
48
|
-
|
|
49
|
-
- `id`: Provider identifier, matched against `StorageBrowserConfig.provider` (e.g., `'stagehand'`).
|
|
50
|
-
- `name`: Display name shown in the Builder UI.
|
|
51
|
-
- `createBrowser(config)`: Hydrates a stored browser config into a runtime `MastraBrowser`. This is where you inject runtime-only credentials (API keys, project IDs) that aren't stored in the agent snapshot.
|
|
52
|
-
|
|
53
|
-
Browser classes release as separate packages (e.g., `@mastra/stagehand`, `@mastra/agent-browser`). The provider entry is a plain object wrapping the class, register one entry per browser you want the Builder to expose to end users. See the [StorageBrowserRef reference](https://mastra.ai/reference/editor/storage-browser-ref) for the full `browser` field schema, including all `StorageBrowserConfig` options.
|
|
54
|
-
|
|
55
|
-
## Feature toggle
|
|
56
|
-
|
|
57
|
-
The `features.agent.browser` toggle controls whether end users can enable browser access per agent in the Builder UI. It defaults to `true` only when a valid `configuration.agent.browser` (with a `config.provider`) is provided. Without a registered provider matching the pinned config, the toggle is forced off.
|
|
58
|
-
|
|
59
|
-
## Related
|
|
60
|
-
|
|
61
|
-
- [BuilderAgentDefaults reference](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults): The full `browser` field schema.
|
|
62
|
-
- [AgentBuilderOptions reference](https://mastra.ai/reference/editor/agent-builder/agent-builder-options): The full Builder config surface, including `features.agent.browser`.
|
|
63
|
-
- [Configuration](https://mastra.ai/docs/agent-builder/configuration): Wire `browser` alongside the rest of the Builder config.
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Channels
|
|
4
|
-
|
|
5
|
-
> **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information.
|
|
6
|
-
|
|
7
|
-
Channels let Builder-created agents reach users outside the Mastra server. Register a channel provider on `Mastra.channels` and the Builder exposes the channel as an integration option for every agent.
|
|
8
|
-
|
|
9
|
-
Slack is currently the only supported channel.
|
|
10
|
-
|
|
11
|
-
## Quickstart
|
|
12
|
-
|
|
13
|
-
Install the Slack provider:
|
|
14
|
-
|
|
15
|
-
**npm**:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
npm install @mastra/slack
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
**pnpm**:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
pnpm add @mastra/slack
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
**Yarn**:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
yarn add @mastra/slack
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**Bun**:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
bun add @mastra/slack
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Register `SlackProvider` on `Mastra.channels`:
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
import { Mastra } from '@mastra/core/mastra'
|
|
43
|
-
import { MastraEditor } from '@mastra/editor'
|
|
44
|
-
import { createBuilderAgent } from '@mastra/editor/ee'
|
|
45
|
-
import { SlackProvider } from '@mastra/slack'
|
|
46
|
-
|
|
47
|
-
export const mastra = new Mastra({
|
|
48
|
-
storage,
|
|
49
|
-
channels: {
|
|
50
|
-
slack: new SlackProvider({
|
|
51
|
-
refreshToken: process.env.SLACK_APP_CONFIG_REFRESH_TOKEN,
|
|
52
|
-
baseUrl: process.env.SLACK_BASE_URL,
|
|
53
|
-
}),
|
|
54
|
-
},
|
|
55
|
-
agents: { builderAgent: createBuilderAgent() },
|
|
56
|
-
editor: new MastraEditor({
|
|
57
|
-
builder: { enabled: true },
|
|
58
|
-
}),
|
|
59
|
-
})
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
The Slack provider handles app creation, OAuth, slash commands, and message routing for every Builder-created agent that opts in.
|
|
63
|
-
|
|
64
|
-
## Configuration
|
|
65
|
-
|
|
66
|
-
`SlackProvider` requires one environment variable and accepts one optional override:
|
|
67
|
-
|
|
68
|
-
- `SLACK_APP_CONFIG_REFRESH_TOKEN` (required): The refresh token from your Slack app configuration tokens, available under **Your App Configuration Tokens** on [api.slack.com/apps](https://api.slack.com/apps). The refresh token doesn't expire, but the access tokens it issues rotate every 12 hours and are auto-persisted to `Mastra.storage`.
|
|
69
|
-
- `baseUrl` (optional): The public URL Slack should send events and OAuth callbacks to. Defaults to the running Mastra server's host and port (for example, `http://localhost:4111` in local development). Pass `baseUrl` explicitly when the public URL differs from the server's resolved address: typically a tunnel for local development (`cloudflared tunnel --url http://localhost:4111`) or a deployed URL in production.
|
|
70
|
-
|
|
71
|
-
## Storage requirement
|
|
72
|
-
|
|
73
|
-
`SlackProvider` requires a persistent storage backend on the `Mastra` instance. Without storage, rotated tokens and app installations are lost on restart.
|
|
74
|
-
|
|
75
|
-
## Related
|
|
76
|
-
|
|
77
|
-
- [Deploying](https://mastra.ai/docs/agent-builder/deploying): Set a public `baseUrl` for production deployments.
|
|
78
|
-
- [Configuration](https://mastra.ai/docs/agent-builder/configuration): Wire channel toggles into the Builder UI.
|