@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.
- package/.docs/docs/agent-controller/channels.md +109 -0
- package/.docs/docs/capabilities/channels/overview.md +1 -0
- package/.docs/docs/deployment/cloud-providers.md +1 -0
- package/.docs/docs/deployment/overview.md +1 -0
- package/.docs/docs/mastra-platform/overview.md +4 -2
- package/.docs/docs/mastra-platform/trace-intelligence.md +123 -0
- package/.docs/docs/rag/vector-databases.md +17 -0
- package/.docs/docs/voice/overview.md +5 -0
- package/.docs/docs/voice/{livekit.md → realtime-voice.md} +5 -3
- package/.docs/docs/workspace/filesystem.md +1 -0
- package/.docs/docs/workspace/sandbox.md +5 -0
- package/.docs/guides/deployment/kubernetes.md +298 -0
- package/.docs/guides/deployment/netlify.md +1 -1
- package/.docs/models/environment-variables.md +1 -0
- package/.docs/models/gateways/openrouter.md +2 -2
- package/.docs/models/gateways/vercel.md +8 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/abliteration-ai.md +6 -5
- package/.docs/models/providers/aiand.md +2 -1
- package/.docs/models/providers/ambient.md +2 -2
- package/.docs/models/providers/anthropic.md +1 -1
- package/.docs/models/providers/anyapi.md +1 -1
- package/.docs/models/providers/baseten.md +5 -4
- package/.docs/models/providers/crof.md +2 -1
- package/.docs/models/providers/deepinfra.md +5 -4
- package/.docs/models/providers/digitalocean.md +1 -1
- package/.docs/models/providers/fireworks-ai.md +4 -2
- package/.docs/models/providers/google.md +1 -1
- package/.docs/models/providers/huggingface.md +2 -1
- package/.docs/models/providers/hyper.md +92 -0
- package/.docs/models/providers/llmgateway.md +7 -5
- package/.docs/models/providers/mistral.md +1 -1
- package/.docs/models/providers/nebius.md +2 -1
- package/.docs/models/providers/nvidia.md +23 -9
- package/.docs/models/providers/ollama-cloud.md +2 -1
- package/.docs/models/providers/openai.md +1 -1
- package/.docs/models/providers/opencode-go.md +1 -1
- package/.docs/models/providers/opencode.md +3 -2
- package/.docs/models/providers/poe.md +1 -1
- package/.docs/models/providers/scaleway.md +1 -1
- package/.docs/models/providers/synthetic.md +2 -1
- package/.docs/models/providers/togetherai.md +2 -1
- package/.docs/models/providers/wandb.md +1 -1
- package/.docs/models/providers/xiaomi-token-plan-ams.md +4 -4
- package/.docs/models/providers/xiaomi-token-plan-cn.md +4 -4
- package/.docs/models/providers/xiaomi-token-plan-sgp.md +4 -4
- package/.docs/models/providers/xiaomi.md +4 -4
- package/.docs/models/providers.md +1 -0
- package/.docs/reference/agents/channels.md +10 -0
- package/.docs/reference/evals/mastra-scorer.md +56 -0
- package/.docs/reference/storage/duckdb.md +4 -0
- package/.docs/reference/vectors/mongodb.md +185 -4
- package/.docs/reference/voice/livekit.md +3 -3
- package/CHANGELOG.md +14 -0
- package/dist/index.js +2 -3
- package/dist/src-BZcgzbk9.js +1774 -0
- package/dist/src-BZcgzbk9.js.map +1 -0
- package/dist/stdio.js +28 -30
- package/dist/stdio.js.map +1 -1
- package/package.json +6 -6
- package/dist/chunk-GLPCVXXO.js +0 -2075
- package/dist/chunk-GLPCVXXO.js.map +0 -1
- 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
|
|
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
|
|
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
|
-
#
|
|
3
|
+
# Realtime voice
|
|
4
4
|
|
|
5
|
-
|
|
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
|
-
|
|
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)
|