@mastra/mcp-docs-server 1.1.41-alpha.0 → 1.1.42-alpha.10

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.
Files changed (180) hide show
  1. package/.docs/docs/agent-builder/access-control.md +97 -0
  2. package/.docs/docs/agent-builder/browser.md +61 -0
  3. package/.docs/docs/agent-builder/channels.md +76 -0
  4. package/.docs/docs/agent-builder/configuration.md +147 -0
  5. package/.docs/docs/agent-builder/deploying.md +121 -0
  6. package/.docs/docs/agent-builder/memory.md +65 -0
  7. package/.docs/docs/agent-builder/model-policy.md +48 -0
  8. package/.docs/docs/agent-builder/overview.md +97 -0
  9. package/.docs/docs/agent-builder/skill-registries.md +31 -0
  10. package/.docs/docs/agent-builder/workspace.md +60 -0
  11. package/.docs/docs/agents/a2a.md +1 -1
  12. package/.docs/docs/agents/acp.md +4 -4
  13. package/.docs/docs/agents/adding-voice.md +37 -6
  14. package/.docs/docs/agents/agent-approval.md +15 -1
  15. package/.docs/docs/agents/background-tasks.md +2 -2
  16. package/.docs/docs/agents/channels.md +3 -1
  17. package/.docs/docs/agents/code-mode.md +163 -0
  18. package/.docs/docs/agents/guardrails.md +2 -2
  19. package/.docs/docs/agents/networks.md +1 -1
  20. package/.docs/docs/agents/overview.md +1 -1
  21. package/.docs/docs/agents/processors.md +3 -3
  22. package/.docs/docs/agents/response-caching.md +1 -1
  23. package/.docs/docs/agents/sdk-agents.md +261 -0
  24. package/.docs/docs/agents/signals.md +150 -73
  25. package/.docs/docs/agents/structured-output.md +5 -5
  26. package/.docs/docs/agents/supervisor-agents.md +2 -2
  27. package/.docs/docs/agents/using-tools.md +5 -5
  28. package/.docs/docs/browser/agent-browser.md +1 -1
  29. package/.docs/docs/browser/browser-viewer.md +1 -1
  30. package/.docs/docs/browser/overview.md +1 -1
  31. package/.docs/docs/browser/stagehand.md +5 -5
  32. package/.docs/docs/editor/overview.md +70 -8
  33. package/.docs/docs/evals/custom-scorers.md +1 -1
  34. package/.docs/docs/evals/datasets/running-experiments.md +1 -1
  35. package/.docs/docs/evals/overview.md +2 -2
  36. package/.docs/docs/getting-started/manual-install.md +1 -1
  37. package/.docs/docs/mcp/mcp-apps.md +3 -3
  38. package/.docs/docs/mcp/overview.md +1 -1
  39. package/.docs/docs/memory/memory-processors.md +6 -6
  40. package/.docs/docs/memory/multi-user-threads.md +1 -1
  41. package/.docs/docs/memory/observational-memory.md +19 -0
  42. package/.docs/docs/memory/semantic-recall.md +2 -2
  43. package/.docs/docs/memory/storage.md +2 -1
  44. package/.docs/docs/memory/working-memory.md +1 -1
  45. package/.docs/docs/observability/metrics/overview.md +1 -0
  46. package/.docs/docs/observability/metrics/querying.md +292 -0
  47. package/.docs/docs/observability/tracing/exporters/langfuse.md +1 -1
  48. package/.docs/docs/observability/tracing/exporters/langsmith.md +2 -2
  49. package/.docs/docs/rag/graph-rag.md +2 -2
  50. package/.docs/docs/rag/retrieval.md +12 -12
  51. package/.docs/docs/server/auth/fga.md +4 -0
  52. package/.docs/docs/server/mastra-client.md +1 -1
  53. package/.docs/docs/server/request-context.md +3 -3
  54. package/.docs/docs/streaming/overview.md +1 -1
  55. package/.docs/docs/streaming/tool-streaming.md +1 -1
  56. package/.docs/docs/voice/overview.md +86 -24
  57. package/.docs/docs/voice/speech-to-speech.md +55 -4
  58. package/.docs/docs/voice/speech-to-text.md +1 -1
  59. package/.docs/docs/voice/text-to-speech.md +1 -1
  60. package/.docs/docs/workspace/filesystem.md +2 -2
  61. package/.docs/docs/workspace/overview.md +1 -1
  62. package/.docs/docs/workspace/sandbox.md +5 -3
  63. package/.docs/guides/build-your-ui/ai-sdk-ui.md +1 -1
  64. package/.docs/guides/deployment/inngest.md +69 -0
  65. package/.docs/guides/guide/ai-recruiter.md +1 -1
  66. package/.docs/guides/guide/chef-michel.md +1 -1
  67. package/.docs/guides/guide/code-review-bot.md +1 -1
  68. package/.docs/guides/guide/dev-assistant.md +1 -1
  69. package/.docs/guides/guide/docs-manager.md +1 -1
  70. package/.docs/guides/guide/firecrawl.md +6 -6
  71. package/.docs/guides/guide/github-actions-pr-description.md +1 -1
  72. package/.docs/guides/guide/research-assistant.md +1 -1
  73. package/.docs/guides/guide/research-coordinator.md +2 -2
  74. package/.docs/guides/guide/slack-assistant.md +1 -1
  75. package/.docs/guides/guide/stock-agent.md +2 -2
  76. package/.docs/guides/guide/whatsapp-chat-bot.md +2 -2
  77. package/.docs/guides/migrations/agentnetwork.md +4 -4
  78. package/.docs/guides/migrations/upgrade-to-v1/agent.md +1 -1
  79. package/.docs/guides/migrations/vnext-to-standard-apis.md +2 -2
  80. package/.docs/models/embeddings.md +2 -2
  81. package/.docs/reference/agents/agent.md +60 -21
  82. package/.docs/reference/agents/channels.md +48 -6
  83. package/.docs/reference/agents/generateLegacy.md +1 -1
  84. package/.docs/reference/agents/getLLM.md +2 -2
  85. package/.docs/reference/agents/getMetadata.md +2 -2
  86. package/.docs/reference/agents/network.md +1 -1
  87. package/.docs/reference/browser/agent-browser.md +1 -1
  88. package/.docs/reference/browser/browser-viewer.md +1 -1
  89. package/.docs/reference/browser/mastra-browser.md +1 -1
  90. package/.docs/reference/browser/stagehand-browser.md +5 -5
  91. package/.docs/reference/client-js/agent-builder.md +161 -0
  92. package/.docs/reference/client-js/agents.md +19 -2
  93. package/.docs/reference/client-js/mastra-client.md +4 -0
  94. package/.docs/reference/configuration.md +1 -1
  95. package/.docs/reference/editor/agent-builder/agent-builder-options.md +74 -0
  96. package/.docs/reference/editor/agent-builder/builder-agent-defaults.md +77 -0
  97. package/.docs/reference/editor/agent-builder/builder-models.md +64 -0
  98. package/.docs/reference/editor/blob-store-provider.md +59 -0
  99. package/.docs/reference/editor/browser-provider.md +75 -0
  100. package/.docs/reference/editor/filesystem-provider.md +62 -0
  101. package/.docs/reference/editor/mastra-editor.md +61 -1
  102. package/.docs/reference/editor/processor-provider.md +64 -0
  103. package/.docs/reference/editor/sandbox-provider.md +61 -0
  104. package/.docs/reference/editor/storage-browser-ref.md +80 -0
  105. package/.docs/reference/editor/storage-workspace-ref.md +93 -0
  106. package/.docs/reference/evals/answer-relevancy.md +1 -1
  107. package/.docs/reference/evals/answer-similarity.md +1 -1
  108. package/.docs/reference/evals/bias.md +1 -1
  109. package/.docs/reference/evals/context-precision.md +3 -3
  110. package/.docs/reference/evals/context-relevance.md +11 -11
  111. package/.docs/reference/evals/create-scorer.md +2 -0
  112. package/.docs/reference/evals/faithfulness.md +1 -1
  113. package/.docs/reference/evals/hallucination.md +5 -5
  114. package/.docs/reference/evals/noise-sensitivity.md +11 -11
  115. package/.docs/reference/evals/prompt-alignment.md +15 -15
  116. package/.docs/reference/evals/tool-call-accuracy.md +3 -3
  117. package/.docs/reference/evals/toxicity.md +1 -1
  118. package/.docs/reference/index.md +15 -0
  119. package/.docs/reference/memory/memory-class.md +3 -3
  120. package/.docs/reference/memory/observational-memory.md +6 -4
  121. package/.docs/reference/memory/serialized-memory-config.md +72 -0
  122. package/.docs/reference/observability/metrics/automatic-metrics.md +7 -1
  123. package/.docs/reference/observability/tracing/exporters/langfuse.md +1 -1
  124. package/.docs/reference/processors/batch-parts-processor.md +1 -1
  125. package/.docs/reference/processors/cost-guard-processor.md +1 -1
  126. package/.docs/reference/processors/language-detector.md +1 -1
  127. package/.docs/reference/processors/message-history-processor.md +1 -1
  128. package/.docs/reference/processors/moderation-processor.md +2 -2
  129. package/.docs/reference/processors/pii-detector.md +2 -2
  130. package/.docs/reference/processors/prefill-error-handler.md +2 -2
  131. package/.docs/reference/processors/processor-interface.md +2 -2
  132. package/.docs/reference/processors/prompt-injection-detector.md +1 -1
  133. package/.docs/reference/processors/regex-filter-processor.md +1 -1
  134. package/.docs/reference/processors/semantic-recall-processor.md +1 -1
  135. package/.docs/reference/processors/skill-search-processor.md +1 -1
  136. package/.docs/reference/processors/system-prompt-scrubber.md +1 -1
  137. package/.docs/reference/processors/token-limiter-processor.md +3 -3
  138. package/.docs/reference/processors/tool-call-filter.md +2 -2
  139. package/.docs/reference/processors/tool-search-processor.md +33 -2
  140. package/.docs/reference/processors/unicode-normalizer.md +1 -1
  141. package/.docs/reference/processors/working-memory-processor.md +1 -1
  142. package/.docs/reference/rag/rerank.md +1 -1
  143. package/.docs/reference/server/nestjs-adapter.md +1 -1
  144. package/.docs/reference/server/routes.md +108 -9
  145. package/.docs/reference/storage/dsql.md +1 -1
  146. package/.docs/reference/storage/mongodb.md +1 -1
  147. package/.docs/reference/storage/postgresql.md +1 -1
  148. package/.docs/reference/storage/redis.md +1 -1
  149. package/.docs/reference/storage/spanner.md +5 -0
  150. package/.docs/reference/storage/upstash.md +1 -1
  151. package/.docs/reference/streaming/agents/stream.md +1 -1
  152. package/.docs/reference/templates/overview.md +3 -3
  153. package/.docs/reference/tools/mcp-client.md +53 -2
  154. package/.docs/reference/tools/mcp-server.md +33 -1
  155. package/.docs/reference/tools/vector-query-tool.md +1 -1
  156. package/.docs/reference/vectors/libsql.md +1 -1
  157. package/.docs/reference/vectors/mongodb.md +1 -1
  158. package/.docs/reference/vectors/pg.md +3 -1
  159. package/.docs/reference/vectors/upstash.md +1 -1
  160. package/.docs/reference/voice/google-gemini-live.md +15 -2
  161. package/.docs/reference/voice/inworld-realtime.md +353 -0
  162. package/.docs/reference/voice/inworld.md +2 -0
  163. package/.docs/reference/voice/voice.addInstructions.md +1 -1
  164. package/.docs/reference/workspace/agentcore-runtime-sandbox.md +202 -0
  165. package/.docs/reference/workspace/agentfs-filesystem.md +1 -1
  166. package/.docs/reference/workspace/azure-blob-filesystem.md +1 -1
  167. package/.docs/reference/workspace/blaxel-sandbox.md +3 -0
  168. package/.docs/reference/workspace/docker-sandbox.md +4 -2
  169. package/.docs/reference/workspace/e2b-sandbox.md +9 -5
  170. package/.docs/reference/workspace/files-sdk-filesystem.md +1 -1
  171. package/.docs/reference/workspace/gcs-filesystem.md +1 -1
  172. package/.docs/reference/workspace/google-drive-filesystem.md +1 -1
  173. package/.docs/reference/workspace/local-filesystem.md +1 -1
  174. package/.docs/reference/workspace/local-sandbox.md +1 -1
  175. package/.docs/reference/workspace/modal-sandbox.md +1 -1
  176. package/.docs/reference/workspace/s3-filesystem.md +1 -1
  177. package/.docs/reference/workspace/vercel-microvm-sandbox.md +199 -0
  178. package/.docs/reference/workspace/vercel.md +2 -0
  179. package/CHANGELOG.md +72 -0
  180. package/package.json +9 -7
@@ -0,0 +1,161 @@
1
+ # Agent Builder API
2
+
3
+ The Agent Builder API provides methods to interact with [Agent Builder](https://mastra.ai/docs/agent-builder/overview) actions on the server. Each action is a workflow exposed under `/agent-builder/:actionId/*`. The Builder must be enabled on the server via `MastraEditor.builder.enabled`, with a valid `MASTRA_EE_LICENSE` in production.
4
+
5
+ ## Getting all actions
6
+
7
+ Retrieve a record of available Agent Builder actions:
8
+
9
+ ```typescript
10
+ const actions = await mastraClient.getAgentBuilderActions()
11
+ ```
12
+
13
+ Returns a `Record<string, WorkflowInfo>` keyed by action ID.
14
+
15
+ ## Working with a specific action
16
+
17
+ Get an instance of a specific action by its ID:
18
+
19
+ ```typescript
20
+ const action = mastraClient.getAgentBuilderAction('create-agent')
21
+ ```
22
+
23
+ ## Action methods
24
+
25
+ ### `details()`
26
+
27
+ Retrieve metadata about an Agent Builder action:
28
+
29
+ ```typescript
30
+ const info = await action.details()
31
+ ```
32
+
33
+ ### `createRun()`
34
+
35
+ Create a new run for this action and receive a `runId`. Use the returned id with `startActionRun()`, `stream()`, `resume()`, or `observeStream()`.
36
+
37
+ ```typescript
38
+ const { runId } = await action.createRun()
39
+ ```
40
+
41
+ You can also pass an explicit `runId`:
42
+
43
+ ```typescript
44
+ const { runId } = await action.createRun({ runId: 'my-run-id' })
45
+ ```
46
+
47
+ ### `startAsync()`
48
+
49
+ Start the action and wait for completion. Returns the final `AgentBuilderActionResult` with `success`, `applied`, `branchName`, `message`, `validationResults`, `error`, `errors`, and `stepResults`.
50
+
51
+ ```typescript
52
+ const result = await action.startAsync({
53
+ inputData: { agentName: 'support-bot' },
54
+ })
55
+ ```
56
+
57
+ Pass an existing `runId` as the second argument to start a previously created run:
58
+
59
+ ```typescript
60
+ const { runId } = await action.createRun()
61
+ const result = await action.startAsync({ inputData }, runId)
62
+ ```
63
+
64
+ ### `startActionRun()`
65
+
66
+ Start an existing run without waiting for completion. Returns `{ message }`.
67
+
68
+ ```typescript
69
+ const { runId } = await action.createRun()
70
+ await action.startActionRun({ inputData }, runId)
71
+ ```
72
+
73
+ ### `stream()`
74
+
75
+ Start an existing run and stream progress events as a `ReadableStream<{ type, payload }>`.
76
+
77
+ ```typescript
78
+ const { runId } = await action.createRun()
79
+ const stream = await action.stream({ inputData }, runId)
80
+
81
+ for await (const event of stream) {
82
+ console.log(event.type, event.payload)
83
+ }
84
+ ```
85
+
86
+ ### `resume()`
87
+
88
+ Resume a suspended step on a run. Returns `{ message }`.
89
+
90
+ ```typescript
91
+ await action.resume({ step: 'review', resumeData: { approved: true } }, runId)
92
+ ```
93
+
94
+ ### `resumeAsync()`
95
+
96
+ Resume a suspended step and wait for completion. Returns an `AgentBuilderActionResult`.
97
+
98
+ ```typescript
99
+ const result = await action.resumeAsync({ step: 'review', resumeData: { approved: true } }, runId)
100
+ ```
101
+
102
+ ### `resumeStream()`
103
+
104
+ Resume a suspended step and stream subsequent events.
105
+
106
+ ```typescript
107
+ const stream = await action.resumeStream({
108
+ runId,
109
+ step: 'review',
110
+ resumeData: { approved: true },
111
+ })
112
+ ```
113
+
114
+ ### `observeStream()`
115
+
116
+ Attach to an existing run, replaying cached events from the beginning, then continuing with live events. Use this to recover after a page refresh or hot reload.
117
+
118
+ ```typescript
119
+ const stream = await action.observeStream({ runId })
120
+ ```
121
+
122
+ ### `observeStreamLegacy()`
123
+
124
+ Same as `observeStream()` but uses the legacy streaming endpoint. Prefer `observeStream()` for new code.
125
+
126
+ ```typescript
127
+ const stream = await action.observeStreamLegacy({ runId })
128
+ ```
129
+
130
+ ### `runs()`
131
+
132
+ List runs for this action with optional filters.
133
+
134
+ ```typescript
135
+ const runs = await action.runs({ page: 0, perPage: 20 })
136
+ ```
137
+
138
+ Accepts `fromDate`, `toDate`, `page`, `perPage`, `resourceId`, and legacy `limit`/`offset`.
139
+
140
+ ### `runById()`
141
+
142
+ Fetch a specific run by ID. Use `fields` to limit the returned payload and `withNestedWorkflows` to skip nested workflow data.
143
+
144
+ ```typescript
145
+ const run = await action.runById(runId, {
146
+ fields: ['result', 'steps'],
147
+ withNestedWorkflows: false,
148
+ })
149
+ ```
150
+
151
+ ### `cancelRun()`
152
+
153
+ Cancel an in-flight run.
154
+
155
+ ```typescript
156
+ await action.cancelRun(runId)
157
+ ```
158
+
159
+ ## Access control
160
+
161
+ The `/agent-builder/*` routes are gated by the `agent-builder` permission resource. Calling clients need at minimum `agent-builder:read` and `agent-builder:execute`, plus any picker resources the action touches (`stored-agents`, `stored-skills`, `tools`, `workflows`, `memory`). See [Access control](https://mastra.ai/docs/agent-builder/access-control) for the full grant list.
@@ -326,7 +326,7 @@ response.processDataStream({
326
326
 
327
327
  ### `approveToolCall()`
328
328
 
329
- Approve a pending tool call that requires human confirmation:
329
+ Approve a pending tool call and return a continuation stream. Use this when you are rendering the resumed chunks from the approval response.
330
330
 
331
331
  ```typescript
332
332
  const response = await agent.approveToolCall({
@@ -341,9 +341,26 @@ response.processDataStream({
341
341
  })
342
342
  ```
343
343
 
344
+ ### `sendToolApproval()`
345
+
346
+ Approve or decline a pending tool call for a subscribed thread. Use this with `subscribeToThread()` when the resumed chunks should arrive through the existing thread subscription instead of a separate continuation stream.
347
+
348
+ ```typescript
349
+ const result = await agent.sendToolApproval({
350
+ resourceId: 'user-123',
351
+ threadId: 'thread-456',
352
+ toolCallId: 'tool-call-456',
353
+ approved: true,
354
+ })
355
+
356
+ console.log(result.accepted)
357
+ ```
358
+
359
+ Returns `{ accepted: true, runId: string, toolCallId?: string }`.
360
+
344
361
  ### `declineToolCall()`
345
362
 
346
- Decline a pending tool call that requires human confirmation:
363
+ Decline a pending tool call and return a continuation stream. Use this when you are rendering the resumed chunks from the decline response.
347
364
 
348
365
  ```typescript
349
366
  const response = await agent.declineToolCall({
@@ -73,6 +73,10 @@ You can also pass `requestContext` as a `Record<string, any>`.
73
73
 
74
74
  **getWorkflow(workflowId)** (`Workflow`): Retrieves a specific workflow instance by ID.
75
75
 
76
+ **getAgentBuilderActions()** (`Promise<Record<string, WorkflowInfo>>`): Returns all available Agent Builder actions. See \[Agent Builder API]\(/reference/client-js/agent-builder).
77
+
78
+ **getAgentBuilderAction(actionId)** (`AgentBuilder`): Retrieves an Agent Builder action by ID. See \[Agent Builder API]\(/reference/client-js/agent-builder).
79
+
76
80
  **responses** (`Responses`): Provides OpenAI-style Responses API helpers with \`create()\`, \`retrieve()\`, \`stream()\`, and \`delete()\`.
77
81
 
78
82
  **conversations** (`Conversations`): Provides conversation helpers with \`create()\`, \`retrieve()\`, \`delete()\`, and \`items.list()\`.
@@ -30,7 +30,7 @@ export const mastra = new Mastra({
30
30
  id: 'weather-agent',
31
31
  name: 'Weather Agent',
32
32
  instructions: 'You help with weather information',
33
- model: 'openai/gpt-5.4',
33
+ model: 'openai/gpt-5.5',
34
34
  }),
35
35
  },
36
36
  })
@@ -0,0 +1,74 @@
1
+ # AgentBuilderOptions
2
+
3
+ `AgentBuilderOptions` configures the Agent Builder. Pass it as `MastraEditor.builder` to enable the Builder UI, toggle visible surfaces, pin admin defaults, and opt into skill registries.
4
+
5
+ See the [Configuration](https://mastra.ai/docs/agent-builder/configuration) page for concepts and worked examples.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { MastraEditor } from '@mastra/editor'
11
+
12
+ new MastraEditor({
13
+ builder: {
14
+ enabled: true,
15
+ features: {
16
+ agent: { browser: false },
17
+ },
18
+ configuration: {
19
+ agent: {
20
+ memory: { observationalMemory: true },
21
+ models: {
22
+ allowed: [
23
+ { provider: 'openai', modelId: 'gpt-5.4-mini' },
24
+ { provider: 'openai', modelId: 'gpt-5.4' },
25
+ { provider: 'anthropic', modelId: 'claude-opus-4-7' },
26
+ ],
27
+ },
28
+ },
29
+ },
30
+ registries: {
31
+ skillsSh: { enabled: true },
32
+ },
33
+ },
34
+ })
35
+ ```
36
+
37
+ ## Properties
38
+
39
+ **enabled** (`boolean`): Master switch. When false, the Builder UI is disabled and \`MastraEditor.resolveBuilder()\` returns undefined. (Default: `true`)
40
+
41
+ **features** (`{ agent?: AgentFeatures }`): UI toggles. Each key on \`features.agent\` defaults to true when omitted.
42
+
43
+ **features.agent.tools** (`boolean`): Show the tools tab in the agent editor.
44
+
45
+ **features.agent.agents** (`boolean`): Show the sub-agents picker in the agent editor.
46
+
47
+ **features.agent.workflows** (`boolean`): Show the workflows picker in the agent editor.
48
+
49
+ **features.agent.skills** (`boolean`): Show the skills tab and library for the agent.
50
+
51
+ **features.agent.memory** (`boolean`): Show the memory configuration in the agent editor.
52
+
53
+ **features.agent.model** (`boolean`): Show the model picker in the agent editor. When false, the admin-pinned default model applies.
54
+
55
+ **features.agent.browser** (`boolean`): Show the browser tab. Resolves to true only when a valid browser provider is registered on \`MastraEditor.browsers\`; otherwise it is downgraded to false and a warning is logged.
56
+
57
+ **features.agent.avatarUpload** (`boolean`): Allow end users to upload an avatar for stored agents.
58
+
59
+ **features.agent.favorites** (`boolean`): Show favorite agents and skills with per-user state and aggregate counts.
60
+
61
+ **configuration** (`{ agent?: BuilderAgentDefaults }`): Admin-pinned defaults applied to every Builder-created agent. End users cannot override these values. See the BuilderAgentDefaults reference for the full schema.
62
+
63
+ **registries** (`{ skillsSh?: { enabled: boolean } }`): Opt-in third-party skill registries. When no registry is enabled, the Builder hides registry browse UI.
64
+
65
+ **registries.skillsSh** (`{ enabled: boolean }`): Enable the skills.sh registry. When enabled, the Builder shows registry browse UI for skills.sh skills.
66
+
67
+ **registries.skillsSh.enabled** (`boolean`): Set to \`true\` to opt in. Defaults to \`false\`.
68
+
69
+ ## Related
70
+
71
+ - [Configuration](https://mastra.ai/docs/agent-builder/configuration) — concept and worked examples.
72
+ - [BuilderAgentDefaults](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults) — full schema for `configuration.agent`.
73
+ - [builder.configuration.agent.models](https://mastra.ai/reference/editor/agent-builder/builder-models) — model allowlist and default model.
74
+ - [MastraEditor class](https://mastra.ai/reference/editor/mastra-editor) — the parent surface that hosts `builder`.
@@ -0,0 +1,77 @@
1
+ # BuilderAgentDefaults
2
+
3
+ `BuilderAgentDefaults` describes the admin-pinned defaults applied to every agent the Agent Builder produces. Pass it as `builder.configuration.agent`. End users can't override these values from the Builder UI.
4
+
5
+ See [Configuration](https://mastra.ai/docs/agent-builder/configuration) and [Memory](https://mastra.ai/docs/agent-builder/memory) for worked examples.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { MastraEditor } from '@mastra/editor'
11
+
12
+ new MastraEditor({
13
+ builder: {
14
+ enabled: true,
15
+ configuration: {
16
+ agent: {
17
+ memory: { observationalMemory: true },
18
+ workspace: {
19
+ type: 'inline',
20
+ config: {
21
+ name: 'builder-workspace',
22
+ filesystem: {
23
+ provider: 'local',
24
+ config: { basePath: './workspace' },
25
+ },
26
+ },
27
+ },
28
+ models: {
29
+ allowed: [
30
+ { provider: 'openai', modelId: 'gpt-5.4-mini' },
31
+ { provider: 'openai', modelId: 'gpt-5.4' },
32
+ { provider: 'anthropic', modelId: 'claude-opus-4-7' },
33
+ ],
34
+ },
35
+ tools: { allowed: ['weather-info'] },
36
+ agents: { allowed: ['weather-agent'] },
37
+ workflows: { allowed: ['greet-workflow'] },
38
+ },
39
+ },
40
+ },
41
+ })
42
+ ```
43
+
44
+ ## Properties
45
+
46
+ **memory** (`SerializedMemoryConfig`): Default memory configuration for new agents. Pass \`{ observationalMemory: true }\` to enable long-lived fact extraction. Requires \`Mastra.storage\`. See the SerializedMemoryConfig reference for the full schema.
47
+
48
+ **workspace** (`StorageWorkspaceRef`): Default workspace reference for new agents. Pass \`{ type: 'inline', config }\` to embed a snapshot, or \`{ type: 'id', workspaceId }\` to point at a workspace registered on \`Mastra.workspace\`. See the StorageWorkspaceRef reference for both variants.
49
+
50
+ **browser** (`StorageBrowserRef`): Default browser configuration for new agents. Pass \`{ type: 'inline', config: { provider } }\` to attach a registered browser provider. See the StorageBrowserRef reference for the full schema.
51
+
52
+ **models** (`{ allowed?: ProviderModelEntry[]; default?: DefaultModelEntry }`): Model allowlist and default applied to every Builder-created agent. See the BuilderModels reference for the full schema and validation rules.
53
+
54
+ **models.allowed** (`ProviderModelEntry[]`): Allowlist of providers and models. Omit to allow every registered model. ProviderModelEntry is a discriminated union (known providers vs. custom).
55
+
56
+ **models.default** (`DefaultModelEntry`): Pre-selected model on new-agent create. Required when the model picker is hidden. DefaultModelEntry requires \`provider\` and \`modelId\`, with an optional \`kind\`.
57
+
58
+ **tools** (`{ allowed?: string[] }`): Allowlist of tool IDs visible in the Builder tools picker. Unknown IDs are dropped and surfaced as warnings.
59
+
60
+ **tools.allowed** (`string[]`): Allowlist of \`tool.id\` values. Omit for unrestricted, pass \`\[]\` to lock the picker down, pass \`\[...ids]\` to restrict to the listed tools.
61
+
62
+ **agents** (`{ allowed?: string[] }`): Allowlist of agent IDs visible in the Builder sub-agents picker. Unknown IDs are dropped and surfaced as warnings.
63
+
64
+ **agents.allowed** (`string[]`): Allowlist of \`Agent.id\` values. Omit for unrestricted, pass \`\[]\` to lock the picker down, pass \`\[...ids]\` to restrict to the listed agents.
65
+
66
+ **workflows** (`{ allowed?: string[] }`): Allowlist of workflow IDs visible in the Builder workflows picker. Unknown IDs are dropped and surfaced as warnings.
67
+
68
+ **workflows.allowed** (`string[]`): Allowlist of \`workflow\.id\` values. Omit for unrestricted, pass \`\[]\` to lock the picker down, pass \`\[...ids]\` to restrict to the listed workflows.
69
+
70
+ ## Related
71
+
72
+ - [AgentBuilderOptions](https://mastra.ai/reference/editor/agent-builder/agent-builder-options) — the parent options object.
73
+ - [builder.configuration.agent.models](https://mastra.ai/reference/editor/agent-builder/builder-models) — admin-facing model allowlist and default.
74
+ - [SerializedMemoryConfig](https://mastra.ai/reference/memory/serialized-memory-config) — memory shape for new agents.
75
+ - [StorageWorkspaceRef](https://mastra.ai/reference/editor/storage-workspace-ref) — workspace reference shape.
76
+ - [StorageBrowserRef](https://mastra.ai/reference/editor/storage-browser-ref) — browser reference shape.
77
+ - [Configuration](https://mastra.ai/docs/agent-builder/configuration) — concept and worked examples.
@@ -0,0 +1,64 @@
1
+ # builder.configuration.agent.models
2
+
3
+ `builder.configuration.agent.models` is the admin-facing model policy input on `AgentBuilderOptions`. It controls which providers and models the Agent Builder exposes, and which model is pre-selected on new-agent create.
4
+
5
+ See [Model policy](https://mastra.ai/docs/agent-builder/model-policy) for concepts and worked examples.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { MastraEditor } from '@mastra/editor'
11
+
12
+ new MastraEditor({
13
+ builder: {
14
+ enabled: true,
15
+ configuration: {
16
+ agent: {
17
+ models: {
18
+ allowed: [
19
+ { provider: 'openai', modelId: 'gpt-5.4-mini' },
20
+ { provider: 'openai', modelId: 'gpt-5.4' },
21
+ { provider: 'anthropic', modelId: 'claude-opus-4-7' },
22
+ ],
23
+ },
24
+ },
25
+ },
26
+ },
27
+ })
28
+ ```
29
+
30
+ ## Properties
31
+
32
+ **allowed** (`ProviderModelEntry[]`): Allowlist of providers and models. Omit to allow every registered model. When non-empty, only the listed entries are selectable in the Builder.
33
+
34
+ **allowed.provider** (`Provider`): Provider id from the generated provider registry (for example, \`openai\`, \`anthropic\`).
35
+
36
+ **allowed.modelId** (`ModelForProvider<Provider>`): Specific model id for that provider. Omit to allow every model under the provider.
37
+
38
+ **allowed.kind** (`'custom'`): Discriminant marking this entry as a gateway or self-hosted provider not in the registry.
39
+
40
+ **allowed.provider** (`string`): Provider id for the custom provider.
41
+
42
+ **allowed.modelId** (`string`): Specific model id under the custom provider. Omit to allow every model under it.
43
+
44
+ **default** (`DefaultModelEntry`): Pre-selected model on new-agent create. Same shape as \`ProviderModelEntry\`, but \`modelId\` is required. Must satisfy the \`allowed\` list when set.
45
+
46
+ **default.provider** (`Provider | string`): Provider id. Use a \`Provider\` literal for known providers, or any \`string\` with \`kind: 'custom'\`.
47
+
48
+ **default.modelId** (`string`): Required model id. Points at a specific model, not a whole provider.
49
+
50
+ **default.kind** (`'custom'`): Set to \`custom\` when targeting a provider that isn't in the generated registry.
51
+
52
+ ## Validation rules
53
+
54
+ Mastra validates the admin policy at server boot. Violations surface as warnings on `GET /editor/builder/settings.modelPolicyWarnings`.
55
+
56
+ - `allowed` empty or omitted: no restriction. Every registered model is available.
57
+ - When `allowed` is non-empty and a `default` is set: `default` must satisfy `isModelAllowed(allowed, default)`. A `default` that fails this check is dropped and surfaced as a warning.
58
+ - To hide the end-user model picker, set `features.agent.model: false` in [AgentBuilderOptions](https://mastra.ai/reference/editor/agent-builder/agent-builder-options). When the picker is hidden, provide a `default` so new agents resolve a model.
59
+
60
+ ## Related
61
+
62
+ - [BuilderAgentDefaults](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults) — parent object containing `models`.
63
+ - [AgentBuilderOptions](https://mastra.ai/reference/editor/agent-builder/agent-builder-options) — the top-level Builder options.
64
+ - [Model policy](https://mastra.ai/docs/agent-builder/model-policy) — concept and worked examples.
@@ -0,0 +1,59 @@
1
+ # BlobStoreProvider
2
+
3
+ `BlobStoreProvider` is the interface a package implements to register a blob store with [`MastraEditor`](https://mastra.ai/reference/editor/mastra-editor). Blob stores hold content-addressable skill blobs and other large artifacts produced by the editor.
4
+
5
+ The built-in `storage` provider uses the configured storage backend's `blobs` domain. External providers (for example, S3) are supplied via `MastraEditorConfig.blobStores`.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { MastraEditor } from '@mastra/editor'
11
+ import { s3BlobStoreProvider } from '@mastra/s3'
12
+
13
+ new MastraEditor({
14
+ blobStores: {
15
+ [s3BlobStoreProvider.id]: s3BlobStoreProvider,
16
+ },
17
+ })
18
+ ```
19
+
20
+ ## Properties
21
+
22
+ **id** (`string`): Unique provider identifier (for example, \`"storage"\`, \`"s3"\`).
23
+
24
+ **name** (`string`): Human-readable name for UI display.
25
+
26
+ **description** (`string`): Short description.
27
+
28
+ **configSchema** (`Record<string, unknown>`): JSON Schema describing provider-specific configuration. Used by the UI to render config forms.
29
+
30
+ **createBlobStore** (`(config: TConfig) => BlobStore | Promise<BlobStore>`): Create a runtime \`BlobStore\` instance from the stored config. Called when the editor resolves a blob store via \`MastraEditor.resolveBlobStore(providerId, config)\`.
31
+
32
+ ## Implementing a provider
33
+
34
+ ```typescript
35
+ import type { BlobStore, BlobStoreProvider } from '@mastra/core/editor'
36
+
37
+ export const myBlobStoreProvider: BlobStoreProvider<{ bucket: string; region: string }> = {
38
+ id: 'my-blob-store',
39
+ name: 'My Blob Store',
40
+ description: 'Object-store-backed blob storage.',
41
+ configSchema: {
42
+ type: 'object',
43
+ required: ['bucket', 'region'],
44
+ properties: {
45
+ bucket: { type: 'string' },
46
+ region: { type: 'string' },
47
+ },
48
+ },
49
+ async createBlobStore(config): Promise<BlobStore> {
50
+ return createMyBlobStore({ bucket: config.bucket, region: config.region })
51
+ },
52
+ }
53
+ ```
54
+
55
+ When no `providerId` is passed to `MastraEditor.resolveBlobStore()`, the editor falls back to the storage backend's `blobs` domain.
56
+
57
+ ## Related
58
+
59
+ - [MastraEditor class](https://mastra.ai/reference/editor/mastra-editor) — provider registry and `resolveBlobStore()` method.
@@ -0,0 +1,75 @@
1
+ # BrowserProvider
2
+
3
+ `BrowserProvider` is the interface a package implements to register a browser with [`MastraEditor`](https://mastra.ai/reference/editor/mastra-editor). The editor calls `createBrowser(config)` at agent hydration time, using the `provider` id from the stored [`StorageBrowserRef`](https://mastra.ai/reference/editor/storage-browser-ref) as the lookup key.
4
+
5
+ There are no built-in browser providers. To use the `browser` feature in the Agent Builder, register a provider package (for example, `@mastra/stagehand`).
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { MastraEditor } from '@mastra/editor'
11
+ import { stagehandBrowserProvider } from '@mastra/stagehand'
12
+
13
+ new MastraEditor({
14
+ browsers: {
15
+ [stagehandBrowserProvider.id]: stagehandBrowserProvider,
16
+ },
17
+ })
18
+ ```
19
+
20
+ ## Properties
21
+
22
+ **id** (`string`): Unique provider identifier (for example, \`"stagehand"\`). Must match \`StorageBrowserConfig.provider\` on every stored agent that uses this provider.
23
+
24
+ **name** (`string`): Human-readable name for UI display.
25
+
26
+ **description** (`string`): Short description shown in the Agent Builder browser picker.
27
+
28
+ **configSchema** (`Record<string, unknown>`): JSON Schema describing provider-specific configuration. Used by the UI to render config forms.
29
+
30
+ **createBrowser** (`(config: TConfig) => MastraBrowser | Promise<MastraBrowser>`): Create a runtime \`MastraBrowser\` instance from the stored config. Called once per agent hydration; the resulting instance is cached alongside the agent.
31
+
32
+ ## Implementing a provider
33
+
34
+ ```typescript
35
+ import type { BrowserProvider, MastraBrowser } from '@mastra/core/editor'
36
+
37
+ export const myBrowserProvider: BrowserProvider<{ apiKey: string }> = {
38
+ id: 'my-browser',
39
+ name: 'My Browser',
40
+ description: 'Headless browser for agent use.',
41
+ configSchema: {
42
+ type: 'object',
43
+ properties: {
44
+ apiKey: { type: 'string' },
45
+ },
46
+ required: ['apiKey'],
47
+ },
48
+ async createBrowser(config): Promise<MastraBrowser> {
49
+ // construct and return a MastraBrowser instance
50
+ return createMastraBrowser({ apiKey: config.apiKey })
51
+ },
52
+ }
53
+ ```
54
+
55
+ Once registered, admins can pin the provider as a Builder default via [`BuilderAgentDefaults.browser`](https://mastra.ai/reference/editor/agent-builder/builder-agent-defaults):
56
+
57
+ ```typescript
58
+ new MastraEditor({
59
+ browsers: { [myBrowserProvider.id]: myBrowserProvider },
60
+ builder: {
61
+ enabled: true,
62
+ configuration: {
63
+ agent: {
64
+ browser: { type: 'inline', config: { provider: 'my-browser' } },
65
+ },
66
+ },
67
+ },
68
+ })
69
+ ```
70
+
71
+ ## Related
72
+
73
+ - [Browser](https://mastra.ai/docs/agent-builder/browser) — concept and worked examples.
74
+ - [StorageBrowserRef](https://mastra.ai/reference/editor/storage-browser-ref) — stored configuration consumed by `createBrowser`.
75
+ - [MastraEditor class](https://mastra.ai/reference/editor/mastra-editor) — provider registry.
@@ -0,0 +1,62 @@
1
+ # FilesystemProvider
2
+
3
+ `FilesystemProvider` is the interface a package implements to register a filesystem with [`MastraEditor`](https://mastra.ai/reference/editor/mastra-editor). The editor calls `createFilesystem(config)` at workspace hydration time, using the `provider` id from the stored [`StorageWorkspaceRef`](https://mastra.ai/reference/editor/storage-workspace-ref) filesystem config as the lookup key.
4
+
5
+ The built-in `local` filesystem provider is auto-registered. External providers (for example, S3 or GCS) are supplied via `MastraEditorConfig.filesystems`.
6
+
7
+ ## Usage example
8
+
9
+ ```typescript
10
+ import { MastraEditor } from '@mastra/editor'
11
+ import { s3FilesystemProvider } from '@mastra/s3'
12
+
13
+ new MastraEditor({
14
+ filesystems: {
15
+ [s3FilesystemProvider.id]: s3FilesystemProvider,
16
+ },
17
+ })
18
+ ```
19
+
20
+ ## Properties
21
+
22
+ **id** (`string`): Unique provider identifier (for example, \`"local"\`, \`"s3"\`). Must match \`StorageFilesystemConfig.provider\` on every stored workspace that uses this provider.
23
+
24
+ **name** (`string`): Human-readable name for UI display.
25
+
26
+ **description** (`string`): Short description shown in the workspace filesystem picker.
27
+
28
+ **configSchema** (`Record<string, unknown>`): JSON Schema describing provider-specific configuration. Used by the UI to render config forms.
29
+
30
+ **createFilesystem** (`(config: TConfig) => WorkspaceFilesystem | Promise<WorkspaceFilesystem>`): Create a runtime \`WorkspaceFilesystem\` instance from the stored config. Called at workspace hydration time.
31
+
32
+ ## Implementing a provider
33
+
34
+ ```typescript
35
+ import type { FilesystemProvider, WorkspaceFilesystem } from '@mastra/core/editor'
36
+
37
+ export const myFilesystemProvider: FilesystemProvider<{ bucket: string; region: string }> = {
38
+ id: 'my-fs',
39
+ name: 'My Filesystem',
40
+ description: 'Object-store-backed filesystem.',
41
+ configSchema: {
42
+ type: 'object',
43
+ required: ['bucket', 'region'],
44
+ properties: {
45
+ bucket: { type: 'string' },
46
+ region: { type: 'string' },
47
+ },
48
+ },
49
+ async createFilesystem(config): Promise<WorkspaceFilesystem> {
50
+ return createMyFilesystem({ bucket: config.bucket, region: config.region })
51
+ },
52
+ }
53
+ ```
54
+
55
+ Once registered, admins can reference the provider from an inline workspace config or a stored [`StorageWorkspaceRef`](https://mastra.ai/reference/editor/storage-workspace-ref).
56
+
57
+ ## Related
58
+
59
+ - [Workspace](https://mastra.ai/docs/agent-builder/workspace) — concept and worked examples.
60
+ - [StorageWorkspaceRef](https://mastra.ai/reference/editor/storage-workspace-ref) — stored configuration consumed by `createFilesystem`.
61
+ - [SandboxProvider](https://mastra.ai/reference/editor/sandbox-provider) — sibling provider for command execution.
62
+ - [MastraEditor class](https://mastra.ai/reference/editor/mastra-editor) — provider registry.