@mastra/mcp-docs-server 1.2.11-alpha.1 → 1.2.11-alpha.4

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 (63) hide show
  1. package/.docs/docs/agent-controller/channels.md +109 -0
  2. package/.docs/docs/capabilities/channels/overview.md +1 -0
  3. package/.docs/docs/deployment/cloud-providers.md +1 -0
  4. package/.docs/docs/deployment/overview.md +1 -0
  5. package/.docs/docs/mastra-platform/overview.md +4 -2
  6. package/.docs/docs/mastra-platform/trace-intelligence.md +123 -0
  7. package/.docs/docs/rag/vector-databases.md +17 -0
  8. package/.docs/docs/voice/overview.md +5 -0
  9. package/.docs/docs/voice/{livekit.md → realtime-voice.md} +5 -3
  10. package/.docs/docs/workspace/filesystem.md +1 -0
  11. package/.docs/docs/workspace/sandbox.md +5 -0
  12. package/.docs/guides/deployment/kubernetes.md +298 -0
  13. package/.docs/guides/deployment/netlify.md +1 -1
  14. package/.docs/models/environment-variables.md +1 -0
  15. package/.docs/models/gateways/openrouter.md +2 -2
  16. package/.docs/models/gateways/vercel.md +8 -1
  17. package/.docs/models/index.md +1 -1
  18. package/.docs/models/providers/abliteration-ai.md +6 -5
  19. package/.docs/models/providers/aiand.md +2 -1
  20. package/.docs/models/providers/ambient.md +2 -2
  21. package/.docs/models/providers/anthropic.md +1 -1
  22. package/.docs/models/providers/anyapi.md +1 -1
  23. package/.docs/models/providers/baseten.md +5 -4
  24. package/.docs/models/providers/crof.md +2 -1
  25. package/.docs/models/providers/deepinfra.md +5 -4
  26. package/.docs/models/providers/digitalocean.md +1 -1
  27. package/.docs/models/providers/fireworks-ai.md +4 -2
  28. package/.docs/models/providers/google.md +1 -1
  29. package/.docs/models/providers/huggingface.md +2 -1
  30. package/.docs/models/providers/hyper.md +92 -0
  31. package/.docs/models/providers/llmgateway.md +7 -5
  32. package/.docs/models/providers/mistral.md +1 -1
  33. package/.docs/models/providers/nebius.md +2 -1
  34. package/.docs/models/providers/nvidia.md +23 -9
  35. package/.docs/models/providers/ollama-cloud.md +2 -1
  36. package/.docs/models/providers/openai.md +1 -1
  37. package/.docs/models/providers/opencode-go.md +1 -1
  38. package/.docs/models/providers/opencode.md +3 -2
  39. package/.docs/models/providers/poe.md +1 -1
  40. package/.docs/models/providers/scaleway.md +1 -1
  41. package/.docs/models/providers/synthetic.md +2 -1
  42. package/.docs/models/providers/togetherai.md +2 -1
  43. package/.docs/models/providers/wandb.md +1 -1
  44. package/.docs/models/providers/xiaomi-token-plan-ams.md +4 -4
  45. package/.docs/models/providers/xiaomi-token-plan-cn.md +4 -4
  46. package/.docs/models/providers/xiaomi-token-plan-sgp.md +4 -4
  47. package/.docs/models/providers/xiaomi.md +4 -4
  48. package/.docs/models/providers.md +1 -0
  49. package/.docs/reference/agents/channels.md +10 -0
  50. package/.docs/reference/evals/mastra-scorer.md +56 -0
  51. package/.docs/reference/storage/duckdb.md +4 -0
  52. package/.docs/reference/vectors/mongodb.md +185 -4
  53. package/.docs/reference/voice/livekit.md +3 -3
  54. package/CHANGELOG.md +14 -0
  55. package/dist/index.js +2 -3
  56. package/dist/src-BZcgzbk9.js +1774 -0
  57. package/dist/src-BZcgzbk9.js.map +1 -0
  58. package/dist/stdio.js +28 -30
  59. package/dist/stdio.js.map +1 -1
  60. package/package.json +6 -6
  61. package/dist/chunk-GLPCVXXO.js +0 -2075
  62. package/dist/chunk-GLPCVXXO.js.map +0 -1
  63. package/dist/index.js.map +0 -1
@@ -0,0 +1,109 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # Channels
4
+
5
+ Channels connect an AgentController to messaging platforms like Slack, Discord, and Telegram, so a controller-backed session runs inside a chat thread. Inbound platform messages route into a controller [`Session`](https://mastra.ai/docs/agent-controller/session), and the agent's streamed output renders back to the platform with native streaming, tool approval cards, and typing status.
6
+
7
+ AgentController channels build on the same channel layer as [agent channels](https://mastra.ai/docs/capabilities/channels/overview): the same adapters, the same configuration shape, and the same rendering pipeline. The difference is what receives the message. On an agent, the message goes straight into the agent loop. On an AgentController, the message goes into a durable session that tracks the active mode, model, permission grants, and state across the whole conversation.
8
+
9
+ ## Configure a controller
10
+
11
+ Pass a `channels` configuration to the AgentController constructor. It accepts the same shape as the [`Agent` channels option](https://mastra.ai/docs/capabilities/channels/overview):
12
+
13
+ ```typescript
14
+ import { Agent } from '@mastra/core/agent'
15
+ import { AgentController } from '@mastra/core/agent-controller'
16
+ import { createSlackAdapter } from '@chat-adapter/slack'
17
+ import { LibSQLStore } from '@mastra/libsql'
18
+
19
+ const agent = new Agent({
20
+ id: 'assistant',
21
+ name: 'assistant',
22
+ instructions: 'Help the user plan and complete tasks.',
23
+ model: 'anthropic/claude-sonnet-4-6',
24
+ })
25
+
26
+ export const agentController = new AgentController({
27
+ id: 'my-agent-controller',
28
+ agent,
29
+ storage: new LibSQLStore({ url: 'file:./data.db' }),
30
+ modes: [
31
+ {
32
+ id: 'plan',
33
+ name: 'Plan',
34
+ metadata: { default: true },
35
+ instructions: 'Reason about changes before making them.',
36
+ },
37
+ { id: 'build', name: 'Build', instructions: 'Implement the approved plan.' },
38
+ ],
39
+ channels: {
40
+ adapters: {
41
+ slack: createSlackAdapter(),
42
+ },
43
+ },
44
+ })
45
+ ```
46
+
47
+ Register the controller on the Mastra instance. Mastra registers the webhook routes and initializes the channel layer:
48
+
49
+ ```typescript
50
+ import { Mastra } from '@mastra/core'
51
+ import { LibSQLStore } from '@mastra/libsql'
52
+ import { agentController } from './agent-controller'
53
+
54
+ export const mastra = new Mastra({
55
+ agentControllers: { agentController },
56
+ storage: new LibSQLStore({
57
+ url: process.env.DATABASE_URL,
58
+ }),
59
+ })
60
+ ```
61
+
62
+ ## Webhook routes
63
+
64
+ Controller channel webhooks follow the same pattern as agent channels, under an `agent-controllers` path:
65
+
66
+ ```text
67
+ /api/agent-controllers/<CONTROLLER_ID>/channels/<PLATFORM>/webhook
68
+ ```
69
+
70
+ For example, a Slack adapter on a controller with the `my-agent-controller` ID uses:
71
+
72
+ ```text
73
+ /api/agent-controllers/my-agent-controller/channels/slack/webhook
74
+ ```
75
+
76
+ Point the platform's webhook, event, or interactions URL to this path. See [Webhook routes](https://mastra.ai/docs/capabilities/channels/overview) for local tunneling and platform setup.
77
+
78
+ ## One session per chat thread
79
+
80
+ Each chat thread maps to one durable controller session. The first message in a Slack or Discord thread creates a Mastra thread and a controller session keyed to it; every later message in that chat thread reuses both. The session carries the active mode, model, permission grants, and state for the life of the conversation, just like a session driven from a terminal or web UI.
81
+
82
+ By default the session key derives from the platform and the external thread ID (`channel:slack:<THREAD_ID>`). Pass `resolveResourceId` in the channels configuration to control the mapping yourself.
83
+
84
+ Avoid mapping multiple active chat threads to one session. A session works on one Mastra thread at a time, and a message arriving from a different chat thread rebinds the session to that thread, which cancels any run still in flight on the previous one.
85
+
86
+ ## Tool approvals
87
+
88
+ Tools that require approval render as interactive cards with Approve and Deny buttons, the same as [agent channel tool approvals](https://mastra.ai/docs/capabilities/channels/overview). The controller run pauses at the session's approval gate until a user acts on the card, then resumes and streams the continuation back to the thread.
89
+
90
+ Two behaviors follow from routing approvals through the session:
91
+
92
+ - A new message in the thread while an approval is pending declines that approval, the same as sending a new message in a terminal session. The new message supersedes the pending ask.
93
+ - On adapters that can't render approval buttons (`toolDisplay: 'text'`), tools run without approval prompts so runs can't stall on a card nobody can act on.
94
+
95
+ See [Tool approvals and permissions](https://mastra.ai/docs/agent-controller/tool-approvals) for policies, categories, and session grants.
96
+
97
+ ## Limits
98
+
99
+ - Adapters can be constructed manually as shown above. The managed connect flow (`mastra.channels.slack.connect(...)`) also supports controller-owned installations — call it with an options object (`connect({ id, name })`) to connect a controller that has no registered agent. Adapters without controller support must still be constructed manually.
100
+ - Controller sessions are in-memory objects, so channels-backed controllers need a long-lived server. Serverless deployment isn't supported for controller channels; agent channels support it as described in [Serverless deployment](https://mastra.ai/docs/capabilities/channels/overview).
101
+ - Pending tool approvals don't survive a server restart. An approval card acted on after a restart is ignored as stale.
102
+ - Mode switching from chat (for example, a `/mode` slash command) isn't available yet.
103
+
104
+ ## Related
105
+
106
+ - [Channels overview](https://mastra.ai/docs/capabilities/channels/overview)
107
+ - [Session](https://mastra.ai/docs/agent-controller/session)
108
+ - [Tool approvals and permissions](https://mastra.ai/docs/agent-controller/tool-approvals)
109
+ - [Channels reference](https://mastra.ai/reference/agents/channels)
@@ -253,4 +253,5 @@ Vercel's managed Redis integration and Upstash Redis both work well. For more on
253
253
  ## Related
254
254
 
255
255
  - [Channels reference](https://mastra.ai/reference/agents/channels)
256
+ - [AgentController channels](https://mastra.ai/docs/agent-controller/channels)
256
257
  - 📹 [Mastra channels workshop](https://www.youtube.com/watch?v=E9KFsZEnQO8\&t=5s)
@@ -18,5 +18,6 @@ The following guides show how to deploy Mastra to specific cloud providers:
18
18
  - [Azure App Services](https://mastra.ai/guides/deployment/azure-app-services)
19
19
  - [Cloudflare](https://mastra.ai/guides/deployment/cloudflare)
20
20
  - [Digital Ocean](https://mastra.ai/guides/deployment/digital-ocean)
21
+ - [Kubernetes](https://mastra.ai/guides/deployment/kubernetes)
21
22
  - [Netlify](https://mastra.ai/guides/deployment/netlify)
22
23
  - [Vercel](https://mastra.ai/guides/deployment/vercel)
@@ -48,6 +48,7 @@ Use this option for auto-scaling, minimal infrastructure management, or when you
48
48
  - [Azure App Services](https://mastra.ai/guides/deployment/azure-app-services)
49
49
  - [Cloudflare](https://mastra.ai/guides/deployment/cloudflare)
50
50
  - [Digital Ocean](https://mastra.ai/guides/deployment/digital-ocean)
51
+ - [Kubernetes](https://mastra.ai/guides/deployment/kubernetes)
51
52
  - [Netlify](https://mastra.ai/guides/deployment/netlify)
52
53
  - [Vercel](https://mastra.ai/guides/deployment/vercel)
53
54
 
@@ -5,13 +5,15 @@
5
5
  The [Mastra platform](https://projects.mastra.ai) provides three products for deploying, monitoring, and managing AI applications built with the Mastra framework:
6
6
 
7
7
  - [**Observability**](https://mastra.ai/docs/mastra-platform/observability): The baseline product for every platform project, with searchable traces, logs, and metrics across Mastra projects and deploys
8
- - [**Studio**](https://mastra.ai/docs/mastra-platform/studio): A hosted visual environment for testing agents, running workflows, and inspecting traces. Starting with Studio also gives you Observability.
8
+ - [**Studio**](https://mastra.ai/docs/mastra-platform/studio): A hosted visual environment for testing agents and running workflows, with tools for inspecting traces. Starting with Studio also gives you Observability.
9
9
  - [**Server**](https://mastra.ai/docs/mastra-platform/server): A production deployment target that runs your Mastra application as an API server. Starting with Server also gives you Observability.
10
10
 
11
11
  Deploy with a single command, [`mastra deploy`](https://mastra.ai/docs/mastra-platform/deploy), or connect a GitHub repository for push-to-deploy. See the [GitHub integration](https://mastra.ai/docs/mastra-platform/github) for the repository-linked flow.
12
12
 
13
13
  Each project can run multiple [**Environments**](https://mastra.ai/docs/mastra-platform/environments) (for example `production` and `staging`), provision [**Hosted databases**](https://mastra.ai/docs/mastra-platform/database) from the CLI or project settings to persist application data, and get a managed [**Workspace**](https://mastra.ai/docs/mastra-platform/workspace) per environment that gives agents a filesystem and a sandbox with no manual configuration.
14
14
 
15
+ [**Trace Intelligence**](https://mastra.ai/docs/mastra-platform/trace-intelligence) finds recurring goals, outcomes, behaviors, and sentiment across your agent traces. Trace Intelligence is available in private beta for selected projects.
16
+
15
17
  ## Get started
16
18
 
17
19
  Choose the path that matches what you want to do:
@@ -22,7 +24,7 @@ Choose the path that matches what you want to do:
22
24
 
23
25
  ## Key concepts
24
26
 
25
- **Projects** are the shared parent entity across all products. A single project can have Observability, a Studio deployment, and a Server deployment. Projects belong to an **Organization**, which is the multi-tenant container for your team.
27
+ **Projects** are the shared parent entity across all products. A single project can include every product: Observability, Studio, and Server. Projects belong to an **Organization**, which is the multi-tenant container for your team.
26
28
 
27
29
  Your Mastra application is built from three building blocks:
28
30
 
@@ -0,0 +1,123 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # Trace Intelligence on Mastra platform
4
+
5
+ Trace Intelligence finds recurring patterns across your agent's interactions. It analyzes traces captured by Mastra Observability, produces trace signals for four dimensions, and clusters similar trace signals into themes.
6
+
7
+ Use Trace Intelligence to investigate questions such as:
8
+
9
+ - What are users trying to accomplish?
10
+ - Which goals tend to succeed, remain unresolved, or become blocked?
11
+ - Which agent behaviors appear in successful and unsuccessful interactions?
12
+ - How does user sentiment relate to goals and outcomes?
13
+
14
+ > **Private beta:** Trace Intelligence is available by invitation for selected Mastra platform projects.
15
+
16
+ ## Get access
17
+
18
+ 1. Submit the [Trace Intelligence private beta form](https://mastra.ai/trace-intelligence) to request access.
19
+ 2. Confirm that [Mastra platform Observability](https://mastra.ai/docs/mastra-platform/observability) is enabled and that completed agent traces appear under **Traces**.
20
+ 3. Requires at least `@mastra/core@1.53.0` and `mastra@1.20.2`. Upgrade your project then deploy or redeploy Studio for the enrolled project. Local Studio and server-only deployments aren't supported during the private beta.
21
+ 4. Open the deployed Studio and select **Intelligence** in the sidebar.
22
+ 5. Send representative traffic to your agent and allow time for analysis.
23
+
24
+ Once Mastra enrolls the project, you don't need to change your agent definition or calls.
25
+
26
+ ### When data is available
27
+
28
+ Trace Intelligence needs enough processed traces from one agent to identify recurring patterns. Initial themes are usually available after at least **100 completed traces** from that agent have been processed.
29
+
30
+ The trace count under **Traces** can reach 100 before Trace Intelligence is ready because the analysis pipeline runs asynchronously. Processing can take several minutes after the threshold is reached. Traces that can't be analyzed don't contribute, so 100 is a minimum, not an exact UI trigger.
31
+
32
+ Trace Intelligence updates automatically as more traces arrive. Studio needs themes for at least two trace signal types before it can display the relationship flow.
33
+
34
+ Use representative traffic. A small set of repeated test prompts can produce unrepresentative results, such as one broad theme or mostly Noise.
35
+
36
+ ## Understand the analysis
37
+
38
+ Each analyzable completed trace produces four trace signals:
39
+
40
+ | Trace signal | Meaning |
41
+ | ------------- | ------------------------------------------------------------------------------------------------------ |
42
+ | **Goal** | What the user is trying to achieve or have completed. |
43
+ | **Outcome** | The final completed, partial, blocked, failed, unresolved, or unclear state. |
44
+ | **Behavior** | Observable agent actions and patterns, including tool use, omissions, retries, failures, and recovery. |
45
+ | **Sentiment** | The user's emotional state or attitude. |
46
+
47
+ Themes are clusters generated from similar trace signals. Clustering happens independently for each trace signal type. One trace can belong to a separate theme in every dimension: Goal, Outcome, Behavior, and Sentiment.
48
+
49
+ ### Themes and relationships
50
+
51
+ The flow chart connects themes in adjacent trace signal columns:
52
+
53
+ - A **node** represents a theme. Its count is the number of distinct traces assigned to that theme in the selected snapshot.
54
+ - A **ribbon** connects traces assigned to themes in both adjacent columns. Its width represents the shared trace count.
55
+ - Hover over or focus a node or ribbon to isolate its relationships.
56
+
57
+ The flow shows association, not causation or execution order. For example, a ribbon between a Goal and an Outcome means that both themes occurred in the same traces. It doesn't show that the goal caused the outcome.
58
+
59
+ ### Distributions, Other, and Noise
60
+
61
+ The cards below the flow show each trace signal's theme distribution:
62
+
63
+ - **Trace count**: The number of distinct traces assigned to a theme in the selected snapshot.
64
+ - **Stage share**: The percentage of analyzed traces for that trace signal assigned to the theme.
65
+
66
+ Studio shows the most common themes for each trace signal type. It may combine smaller themes into **Other** to preserve totals without overcrowding the chart.
67
+
68
+ **Noise** contains summaries that didn't consistently match a recurring theme in the selected snapshot. It doesn't necessarily indicate an error or a low-quality interaction. Noise can include rare requests and emerging patterns. It can also contain ambiguous interactions or unrelated cases. A large Noise share can indicate highly varied traffic or insufficient data for stable themes.
69
+
70
+ ### Snapshots
71
+
72
+ A snapshot is a moving analysis window over a set of traces. Snapshots can overlap, so don't add their trace counts together. Compare trace count and stage share together because traffic volume can change between windows.
73
+
74
+ A theme can persist, disappear, split, merge, or return across snapshots. Treat theme names and descriptions as generated summaries, not fixed taxonomies.
75
+
76
+ ## Use the Trace Intelligence page
77
+
78
+ 1. Use the **Agent** selector to switch between agents with available analysis. An agent doesn't appear until its first themes are ready.
79
+ 2. Select a theme in the flow to filter every column to traces containing that theme.
80
+ 3. Select **View theme details** to inspect its description, trace count, stage share, generated examples, and history.
81
+ 4. Select **Clear filter** to restore the complete flow.
82
+
83
+ You can also:
84
+
85
+ - Select a theme in a distribution card to open its details and generated example summaries.
86
+ - Select **Noise** in a distribution card to inspect its distribution and generated example summaries.
87
+ - Drag the distribution cards to reorder the trace signal columns and see a different relationship perspective.
88
+ - Use the timeline to select a snapshot, or select **Play** to watch themes change over time.
89
+ - Open a theme's history to see whether it persisted and how its coverage changed.
90
+
91
+ Filtering the flow by a theme is unavailable for snapshots with more than 2,000 traces. Choose another snapshot or clear the active filter to return to the full flow. Theme and Noise details remain available from the distribution cards.
92
+
93
+ ## Troubleshooting
94
+
95
+ ### Intelligence isn't in the sidebar
96
+
97
+ Confirm that Mastra enrolled the correct project, that you use the beta-compatible Mastra version, and that you redeployed Studio. The private beta doesn't support local Studio.
98
+
99
+ ### An agent is missing
100
+
101
+ Confirm that its completed traces are listed under **Traces**. The agent is listed only after its first themes are ready. If it recently reached 100 traces, allow time for asynchronous processing.
102
+
103
+ ### The relationship flow is unavailable
104
+
105
+ The flow requires themes for at least two trace signal types. Continue sending representative traffic and allow processing to finish.
106
+
107
+ ### Most summaries are Noise
108
+
109
+ Collect more representative traffic and compare a later snapshot. Varied or rare interactions are harder to group, while repeated test prompts can produce an unrepresentative distribution.
110
+
111
+ ## Private-beta limitations
112
+
113
+ - Trace Intelligence is available only for enrolled projects in deployed Studio.
114
+ - Initial analysis requires at least 100 processed traces per agent. Some agents may require more.
115
+ - Results depend on the diversity and quality of captured traces.
116
+ - Trace signal summaries, theme labels, clustering, thresholds, and UI behavior can change during the beta.
117
+
118
+ When reporting feedback, include the organization ID, project ID, agent ID, selected snapshot, and the theme or Noise examples that illustrate the issue.
119
+
120
+ ## Related
121
+
122
+ - [Observability on Mastra platform](https://mastra.ai/docs/mastra-platform/observability)
123
+ - [Studio on Mastra platform](https://mastra.ai/docs/mastra-platform/studio)
@@ -35,6 +35,23 @@ For detailed setup instructions and best practices, see the [official MongoDB At
35
35
 
36
36
  MongoDB works seamlessly with VoyageAI's embedding models, which are optimized for retrieval tasks. For complete examples and specialized models, see the [VoyageAI embeddings documentation](https://mastra.ai/models/embeddings) and [MongoDB vector reference](https://mastra.ai/reference/vectors/mongodb).
37
37
 
38
+ ### Hybrid Search (Vector + Full-Text)
39
+
40
+ MongoDB supports hybrid search that fuses vector similarity with BM25 full-text search using server-side `$rankFusion` (requires MongoDB >= 8.0; generally available from 8.1, and enabled on Atlas 8.0.x). This is useful when you want to combine semantic and keyword-based retrieval:
41
+
42
+ ```ts
43
+ await store.createSearchIndex({ indexName: 'myCollection', fields: ['text'] })
44
+ const results = await store.hybridQuery({
45
+ indexName: 'myCollection',
46
+ queryVector: embedding,
47
+ query: 'search terms',
48
+ paths: ['text'],
49
+ topK: 10,
50
+ })
51
+ ```
52
+
53
+ See the [MongoDB vector reference](https://mastra.ai/reference/vectors/mongodb) for details on `createSearchIndex()`, `textQuery()`, and `hybridQuery()`.
54
+
38
55
  **PgVector**:
39
56
 
40
57
  ```ts
@@ -773,6 +773,10 @@ await voiceAgent.voice.send(micStream)
773
773
 
774
774
  Visit the [xAI Realtime Voice Reference](https://mastra.ai/reference/voice/xai-realtime) for more information on the xAI voice provider.
775
775
 
776
+ ### Realtime voice
777
+
778
+ Run live calls a user can talk over, in the browser or over the phone. Mastra hands the audio loop to LiveKit, which covers voice activity detection, semantic turn detection, and barge-in, while your agent generates each reply with its own model, tools, and memory. For setup and configuration options, check out [Realtime voice](https://mastra.ai/docs/voice/realtime-voice).
779
+
776
780
  ## Voice configuration
777
781
 
778
782
  Each voice provider can be configured with different models and options. Below are the detailed configuration options for all supported providers:
@@ -1248,5 +1252,6 @@ For more information on the CompositeVoice, refer to the [CompositeVoice Referen
1248
1252
  - [AWS Nova Sonic Voice](https://mastra.ai/reference/voice/aws-nova-sonic)
1249
1253
  - [Deepgram Voice](https://mastra.ai/reference/voice/deepgram)
1250
1254
  - [Inworld Voice](https://mastra.ai/reference/voice/inworld)
1255
+ - [LiveKit](https://mastra.ai/reference/voice/livekit)
1251
1256
  - [PlayAI Voice](https://mastra.ai/reference/voice/playai)
1252
1257
  - [Voice Examples](https://github.com/mastra-ai/voice-examples)
@@ -1,10 +1,12 @@
1
1
  > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
2
 
3
- # Using LiveKit with Mastra
3
+ # Realtime voice
4
4
 
5
- [LiveKit](https://livekit.io) is an open source WebRTC platform for realtime audio and video. The [`@mastra/livekit`](https://mastra.ai/reference/voice/livekit) package connects Mastra agents to the [LiveKit Agents framework](https://docs.livekit.io/agents/): LiveKit owns the audio loop like voice activity detection, streaming speech-to-text, semantic turn detection, barge-in, and text-to-speech. Your Mastra agent generates every reply with its own model, tools, and memory.
5
+ Realtime voice turns a Mastra agent into a live call a user can talk over, in the browser or over the phone. Mastra builds it on [LiveKit](https://livekit.io), an open source WebRTC platform for realtime audio and video.
6
6
 
7
- Use this integration when you need low-latency, interruptible voice conversations. For provider-based speech-to-speech without LiveKit, see [Speech to Speech](https://mastra.ai/docs/voice/speech-to-speech).
7
+ The [`@mastra/livekit`](https://mastra.ai/reference/voice/livekit) package connects Mastra agents to the [LiveKit Agents framework](https://docs.livekit.io/agents/): LiveKit owns the audio loop like voice activity detection, streaming speech-to-text, semantic turn detection, barge-in, and text-to-speech. Your Mastra agent generates every reply with its own model, tools, and memory.
8
+
9
+ Use realtime voice when you need low-latency, interruptible voice conversations. For provider-based speech-to-speech without LiveKit, see [Speech to Speech](https://mastra.ai/docs/voice/speech-to-speech).
8
10
 
9
11
  ## Quickstart
10
12
 
@@ -29,6 +29,7 @@ Available providers:
29
29
  - [`FilesSDKFilesystem`](https://mastra.ai/reference/workspace/files-sdk-filesystem): Stores files in any [FilesSDK](https://files-sdk.dev) adapter (S3, R2, GCS, Azure Blob, Vercel Blob, local filesystem, and more) — useful when you want one provider that can target multiple backends
30
30
  - [`AgentFSFilesystem`](https://mastra.ai/reference/workspace/agentfs-filesystem): Stores files in a Turso/SQLite database via AgentFS
31
31
  - [`MesaFilesystem`](https://mastra.ai/reference/workspace/mesa-filesystem): Stores files in versioned Mesa repos
32
+ - [`ArchilFilesystem`](https://mastra.ai/reference/workspace/archil-filesystem): Stores files on Archil elastic, serverless disks
32
33
 
33
34
  > **Tip:** `LocalFilesystem` is the simplest way to get started as it requires no external services. For cloud storage, use `S3Filesystem`, `GCSFilesystem`, or `AzureBlobFilesystem`. For versioned storage, use `MesaFilesystem`. For database-backed storage without external services, use `AgentFSFilesystem`.
34
35
 
@@ -24,10 +24,13 @@ A sandbox provider executes commands in a controlled environment:
24
24
  - [`AppleContainerSandbox`](https://mastra.ai/reference/workspace/apple-container-sandbox): Executes commands in local OCI Linux containers using Apple's `container` CLI
25
25
  - [`BlaxelSandbox`](https://mastra.ai/reference/workspace/blaxel-sandbox): Executes commands in isolated Blaxel cloud sandboxes
26
26
  - [`DaytonaSandbox`](https://mastra.ai/reference/workspace/daytona-sandbox): Executes commands in isolated Daytona cloud sandboxes
27
+ - [`DockerSandbox`](https://mastra.ai/reference/workspace/docker-sandbox): Executes commands in long-lived Docker containers on the local machine
27
28
  - [`E2BSandbox`](https://mastra.ai/reference/workspace/e2b-sandbox): Executes commands in isolated E2B cloud sandboxes
28
29
  - [`ModalSandbox`](https://mastra.ai/reference/workspace/modal-sandbox): Executes commands in isolated Modal cloud sandboxes
29
30
  - [`PlatformSandbox`](https://mastra.ai/reference/workspace/platform-sandbox): Executes commands in a sandbox tied to a Mastra Platform environment
30
31
  - [`RailwaySandbox`](https://mastra.ai/reference/workspace/railway-sandbox): Executes commands in ephemeral, isolated Railway cloud sandboxes
32
+ - [`VercelSandbox`](https://mastra.ai/reference/workspace/vercel-sandbox): Executes commands in an ephemeral Vercel Sandbox Firecracker MicroVM
33
+ - [`VercelServerlessSandbox`](https://mastra.ai/reference/workspace/vercel-serverless): Executes commands as stateless Vercel serverless functions
31
34
 
32
35
  ## Basic usage
33
36
 
@@ -235,5 +238,7 @@ Use `null` or `false` for cloud sandboxes (for example, E2B, Daytona, or Modal)
235
238
  - [`E2BSandbox` reference](https://mastra.ai/reference/workspace/e2b-sandbox)
236
239
  - [`LocalSandbox` reference](https://mastra.ai/reference/workspace/local-sandbox)
237
240
  - [`ModalSandbox` reference](https://mastra.ai/reference/workspace/modal-sandbox)
241
+ - [`VercelSandbox` reference](https://mastra.ai/reference/workspace/vercel-sandbox)
242
+ - [`VercelServerlessSandbox` reference](https://mastra.ai/reference/workspace/vercel-serverless)
238
243
  - [Workspace overview](https://mastra.ai/docs/workspace/overview)
239
244
  - [Filesystem](https://mastra.ai/docs/workspace/filesystem)