@mastra/mcp-docs-server 1.2.15 → 1.2.16-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/docs/agents/agent-approval.md +5 -5
- package/.docs/docs/agents/overview.md +4 -4
- package/.docs/docs/browser/overview.md +1 -1
- package/.docs/docs/capabilities/channels.md +5 -5
- package/.docs/docs/capabilities/subagents.md +1 -1
- package/.docs/docs/connections/overview.md +1 -1
- package/.docs/docs/datasets/overview.md +1 -1
- package/.docs/docs/deployment/cloud-providers.md +4 -2
- package/.docs/docs/deployment/mastra-server.md +1 -1
- package/.docs/docs/deployment/monorepo.md +1 -1
- package/.docs/docs/deployment/overview.md +4 -1
- package/.docs/docs/deployment/sandbox.md +1 -1
- package/.docs/docs/deployment/web-framework.md +1 -1
- package/.docs/docs/deployment/workers.md +248 -2
- package/.docs/docs/evals/overview.md +1 -1
- package/.docs/docs/evals/quick-checks.md +1 -1
- package/.docs/docs/guides/multi-agent-systems.md +1 -1
- package/.docs/docs/harness/agent-controller.md +5 -5
- package/.docs/docs/harness/overview.md +1 -1
- package/.docs/docs/index.md +3 -3
- package/.docs/docs/long-running-agents/signal-providers.md +2 -2
- package/.docs/docs/mastra-platform/deploy.md +1 -1
- package/.docs/docs/mastra-platform/observability.md +63 -18
- package/.docs/docs/mastra-platform/overview.md +1 -1
- package/.docs/docs/mcp/overview.md +1 -1
- package/.docs/docs/memory/working-memory.md +1 -1
- package/.docs/docs/observability/integrations/exporters/mastra-storage.md +2 -2
- package/.docs/docs/observability/logging.md +1 -1
- package/.docs/docs/observability/metrics/overview.md +1 -1
- package/.docs/docs/observability/overview.md +1 -5
- package/.docs/docs/observability/tracing/overview.md +3 -6
- package/.docs/docs/server/auth/workers.md +1 -1
- package/.docs/docs/server/auth.md +5 -5
- package/.docs/docs/server/mastra-client.md +1 -1
- package/.docs/docs/server/mastra-server.md +1 -1
- package/.docs/docs/storage/overview.md +7 -6
- package/.docs/docs/workflows/human-in-the-loop.md +2 -2
- package/.docs/docs/workflows/overview.md +2 -2
- package/.docs/docs/workspace/lsp.md +27 -0
- package/.docs/docs/workspace/sandbox.md +11 -12
- package/.docs/integrations/agentic-ui/ai-sdk-ui.md +1 -1
- package/.docs/integrations/agentic-ui/assistant-ui.md +1 -1
- package/.docs/integrations/agentic-ui/copilotkit.md +1 -1
- package/.docs/integrations/agentic-ui/openui.md +1 -1
- package/.docs/integrations/databases/postgresql.md +8 -8
- package/.docs/integrations/deploy/amazon-ec2.md +2 -2
- package/.docs/integrations/deploy/aws-bedrock-agentcore.md +1 -1
- package/.docs/integrations/deploy/aws-lambda.md +2 -2
- package/.docs/integrations/deploy/azure-app-services.md +2 -2
- package/.docs/integrations/deploy/cloudflare.md +2 -2
- package/.docs/integrations/deploy/digital-ocean.md +2 -2
- package/.docs/integrations/deploy/inngest.md +1 -1
- package/.docs/integrations/deploy/kubernetes.md +2 -3
- package/.docs/integrations/deploy/netlify.md +2 -2
- package/.docs/integrations/deploy/temporal.md +1 -1
- package/.docs/integrations/deploy/vercel.md +2 -2
- package/.docs/integrations/file-storage/agentfs.md +1 -1
- package/.docs/integrations/file-storage/amazon-s3.md +1 -1
- package/.docs/integrations/file-storage/archil.md +1 -1
- package/.docs/integrations/file-storage/azure-blob.md +1 -1
- package/.docs/integrations/file-storage/google-cloud-storage.md +1 -1
- package/.docs/integrations/file-storage/google-drive.md +1 -1
- package/.docs/integrations/file-storage/mesa.md +1 -1
- package/.docs/integrations/file-storage/vercel-files.md +1 -1
- package/.docs/integrations/frameworks/astro.md +1 -1
- package/.docs/integrations/frameworks/electron.md +1 -1
- package/.docs/integrations/frameworks/express.md +1 -1
- package/.docs/integrations/frameworks/hono.md +1 -1
- package/.docs/integrations/frameworks/nestjs.md +1 -1
- package/.docs/integrations/frameworks/next-js.md +1 -1
- package/.docs/integrations/frameworks/nuxt.md +1 -1
- package/.docs/integrations/frameworks/sveltekit.md +1 -1
- package/.docs/integrations/frameworks/vite-react.md +1 -1
- package/.docs/integrations/sandboxes/agentcore.md +1 -1
- package/.docs/integrations/sandboxes/apple-container.md +1 -1
- package/.docs/integrations/sandboxes/blaxel.md +1 -1
- package/.docs/integrations/sandboxes/daytona.md +1 -1
- package/.docs/integrations/sandboxes/docker.md +1 -1
- package/.docs/integrations/sandboxes/e2b.md +1 -1
- package/.docs/integrations/sandboxes/modal.md +1 -1
- package/.docs/integrations/sandboxes/railway.md +1 -1
- package/.docs/integrations/sandboxes/vercel.md +3 -1
- package/.docs/integrations/tools/firecrawl.md +2 -2
- package/.docs/integrations/voice/livekit.md +3 -3
- package/.docs/integrations.md +108 -108
- package/.docs/models/environment-variables.md +2 -0
- package/.docs/models/gateways/openrouter.md +5 -1
- package/.docs/models/gateways/vercel.md +3 -2
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/aiand.md +3 -2
- package/.docs/models/providers/digitalocean.md +3 -2
- package/.docs/models/providers/edenai.md +88 -0
- package/.docs/models/providers/hyper.md +3 -3
- package/.docs/models/providers/inceptron.md +8 -9
- package/.docs/models/providers/kilo.md +11 -6
- package/.docs/models/providers/llmgateway.md +3 -1
- package/.docs/models/providers/merge-gateway.md +262 -0
- package/.docs/models/providers/nano-gpt.md +13 -37
- package/.docs/models/providers/opencode.md +2 -2
- package/.docs/models/providers/tinfoil.md +9 -8
- package/.docs/models/providers/xai.md +2 -1
- package/.docs/models/providers.md +2 -0
- package/.docs/reference/agents/getVoice.md +1 -1
- package/.docs/reference/configuration.md +1 -1
- package/.docs/reference/index.md +5 -1
- package/.docs/reference/manual-install.md +1 -1
- package/.docs/reference/migrations/network-to-supervisor.md +1 -1
- package/.docs/reference/migrations/upgrade-to-v1/tracing.md +1 -3
- package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +0 -1
- package/.docs/reference/observability/tracing/exporters/console-exporter.md +0 -1
- package/.docs/reference/observability/tracing/exporters/default-exporter.md +0 -1
- package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +0 -1
- package/.docs/reference/observability/tracing/exporters/mastra-storage-exporter.md +0 -1
- package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +111 -99
- package/.docs/reference/observability/tracing/span-filtering.md +1 -1
- package/.docs/reference/storage/overview.md +1 -1
- package/.docs/reference/templates/overview.md +1 -1
- package/.docs/{guides → reference}/voice/overview.md +3 -3
- package/.docs/{guides → reference}/voice/speech-to-speech.md +1 -1
- package/.docs/{guides → reference}/voice/speech-to-text.md +1 -1
- package/.docs/{guides → reference}/voice/text-to-speech.md +2 -2
- package/CHANGELOG.md +14 -0
- package/package.json +4 -4
- package/.docs/docs/observability/integrations/exporters/mastra-platform.md +0 -201
- package/.docs/docs/observability/integrations/overview.md +0 -47
- package/.docs/docs/observability/integrations/processors/sensitive-data-filter.md +0 -302
- package/.docs/guides/deployment/mastra-workers.md +0 -578
- package/.docs/guides/getting-started/quickstart.md +0 -88
- package/.docs/guides/guide/ai-recruiter.md +0 -228
- package/.docs/guides/guide/code-review-bot.md +0 -228
- package/.docs/guides/guide/coding-agent.md +0 -392
- package/.docs/guides/guide/dev-assistant.md +0 -309
- package/.docs/guides/guide/docs-manager.md +0 -240
- package/.docs/guides/guide/github-actions-pr-description.md +0 -238
- package/.docs/guides/guide/notes-mcp-server.md +0 -418
- package/.docs/guides/guide/research-assistant.md +0 -350
- package/.docs/guides/guide/research-coordinator.md +0 -418
- package/.docs/guides/guide/signal-provider.md +0 -221
- package/.docs/guides/index.md +0 -24
- /package/.docs/{reference → docs}/mastra-platform/api.md +0 -0
- /package/.docs/{guides/agent-frameworks/ai-sdk.md → reference/ai-sdk/overview.md} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Tinfoil
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 8 Tinfoil models through Mastra's model router. Authentication is handled automatically using the `TINFOIL_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Tinfoil documentation](https://docs.tinfoil.sh).
|
|
8
8
|
|
|
@@ -17,7 +17,7 @@ const agent = new Agent({
|
|
|
17
17
|
id: "my-agent",
|
|
18
18
|
name: "My Agent",
|
|
19
19
|
instructions: "You are a helpful assistant",
|
|
20
|
-
model: "tinfoil/
|
|
20
|
+
model: "tinfoil/deepseek-v4-flash"
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
// Generate a response
|
|
@@ -36,12 +36,13 @@ for await (const chunk of stream) {
|
|
|
36
36
|
|
|
37
37
|
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
38
|
| -------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
-
| `tinfoil/
|
|
40
|
-
| `tinfoil/
|
|
39
|
+
| `tinfoil/deepseek-v4-flash` | 1.0M | | | | | | $0.70 | $2 |
|
|
40
|
+
| `tinfoil/gemma4-31b` | 262K | | | | | | $0.40 | $1 |
|
|
41
|
+
| `tinfoil/glm-5-2` | 393K | | | | | | $2 | $5 |
|
|
41
42
|
| `tinfoil/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
|
|
42
43
|
| `tinfoil/gpt-oss-safeguard-120b` | 131K | | | | | | $0.15 | $0.60 |
|
|
43
|
-
| `tinfoil/kimi-k3` |
|
|
44
|
-
| `tinfoil/llama3-3-70b` |
|
|
44
|
+
| `tinfoil/kimi-k3` | 262K | | | | | | $4 | $20 |
|
|
45
|
+
| `tinfoil/llama3-3-70b` | 131K | | | | | | $2 | $3 |
|
|
45
46
|
| `tinfoil/nomic-embed-text` | 8K | | | | | | $0.05 | — |
|
|
46
47
|
|
|
47
48
|
## Advanced configuration
|
|
@@ -54,7 +55,7 @@ const agent = new Agent({
|
|
|
54
55
|
name: "custom-agent",
|
|
55
56
|
model: {
|
|
56
57
|
url: "https://inference.tinfoil.sh/v1",
|
|
57
|
-
id: "tinfoil/
|
|
58
|
+
id: "tinfoil/deepseek-v4-flash",
|
|
58
59
|
apiKey: process.env.TINFOIL_API_KEY,
|
|
59
60
|
headers: {
|
|
60
61
|
"X-Custom-Header": "value"
|
|
@@ -73,7 +74,7 @@ const agent = new Agent({
|
|
|
73
74
|
const useAdvanced = requestContext.task === "complex";
|
|
74
75
|
return useAdvanced
|
|
75
76
|
? "tinfoil/nomic-embed-text"
|
|
76
|
-
: "tinfoil/
|
|
77
|
+
: "tinfoil/deepseek-v4-flash";
|
|
77
78
|
}
|
|
78
79
|
});
|
|
79
80
|
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# xAI
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 11 xAI models through Mastra's model router. Authentication is handled automatically using the `XAI_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [xAI documentation](https://docs.x.ai/docs/models).
|
|
8
8
|
|
|
@@ -39,6 +39,7 @@ for await (const chunk of stream) {
|
|
|
39
39
|
| `xai/grok-4.20-multi-agent-0309` | 1.0M | | | | | | $1 | $3 |
|
|
40
40
|
| `xai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
|
|
41
41
|
| `xai/grok-4.5` | 500K | | | | | | $2 | $6 |
|
|
42
|
+
| `xai/grok-4.6` | 500K | | | | | | $2 | $6 |
|
|
42
43
|
| `xai/grok-build-0.1` | 256K | | | | | | $1 | $2 |
|
|
43
44
|
| `xai/grok-imagine-image` | 8K | | | | | | — | — |
|
|
44
45
|
| `xai/grok-imagine-image-quality` | 8K | | | | | | — | — |
|
|
@@ -50,6 +50,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
|
|
|
50
50
|
- [DigitalOcean](https://mastra.ai/models/providers/digitalocean)
|
|
51
51
|
- [DInference](https://mastra.ai/models/providers/dinference)
|
|
52
52
|
- [EBCloud](https://mastra.ai/models/providers/ebcloud)
|
|
53
|
+
- [Eden AI](https://mastra.ai/models/providers/edenai)
|
|
53
54
|
- [EmpirioLabs AI](https://mastra.ai/models/providers/empiriolabs)
|
|
54
55
|
- [evroc](https://mastra.ai/models/providers/evroc)
|
|
55
56
|
- [FastRouter](https://mastra.ai/models/providers/fastrouter)
|
|
@@ -85,6 +86,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
|
|
|
85
86
|
- [LucidQuery](https://mastra.ai/models/providers/lucidquery)
|
|
86
87
|
- [Lynkr](https://mastra.ai/models/providers/lynkr)
|
|
87
88
|
- [Meganova](https://mastra.ai/models/providers/meganova)
|
|
89
|
+
- [Merge Gateway](https://mastra.ai/models/providers/merge-gateway)
|
|
88
90
|
- [Meta](https://mastra.ai/models/providers/meta)
|
|
89
91
|
- [MiniMax (minimax.io)](https://mastra.ai/models/providers/minimax)
|
|
90
92
|
- [MiniMax (minimaxi.com)](https://mastra.ai/models/providers/minimax-cn)
|
|
@@ -419,7 +419,7 @@ export const mastra = new Mastra({
|
|
|
419
419
|
|
|
420
420
|
Text-to-speech providers for voice synthesis capabilities. Register voice providers to enable agents to convert text responses into spoken audio.
|
|
421
421
|
|
|
422
|
-
Visit the [Voice documentation](https://mastra.ai/
|
|
422
|
+
Visit the [Voice documentation](https://mastra.ai/reference/voice/overview) to learn more.
|
|
423
423
|
|
|
424
424
|
> **Note:** Most users configure voice directly on agents. This top-level configuration is for defining reusable voice providers that can be shared across multiple agents.
|
|
425
425
|
|
package/.docs/reference/index.md
CHANGED
|
@@ -34,6 +34,7 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
34
34
|
- [.listTools()](https://mastra.ai/reference/agents/listTools)
|
|
35
35
|
- [.listWorkflows()](https://mastra.ai/reference/agents/listWorkflows)
|
|
36
36
|
- [.network()](https://mastra.ai/reference/agents/network)
|
|
37
|
+
- [Overview](https://mastra.ai/reference/ai-sdk/overview)
|
|
37
38
|
- [chatRoute()](https://mastra.ai/reference/ai-sdk/chat-route)
|
|
38
39
|
- [handleChatStream()](https://mastra.ai/reference/ai-sdk/handle-chat-stream)
|
|
39
40
|
- [handleNetworkStream()](https://mastra.ai/reference/ai-sdk/handle-network-stream)
|
|
@@ -199,7 +200,6 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
199
200
|
- [Tools](https://mastra.ai/reference/file-based-agents/tools)
|
|
200
201
|
- [Workflows](https://mastra.ai/reference/file-based-agents/workflows)
|
|
201
202
|
- [Workspace](https://mastra.ai/reference/file-based-agents/workspace)
|
|
202
|
-
- [API Reference](https://mastra.ai/reference/mastra-platform/api)
|
|
203
203
|
- [Cloned Thread Utilities](https://mastra.ai/reference/memory/clone-utilities)
|
|
204
204
|
- [Memory Class](https://mastra.ai/reference/memory/memory-class)
|
|
205
205
|
- [Observational Memory](https://mastra.ai/reference/memory/observational-memory)
|
|
@@ -343,9 +343,13 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
343
343
|
- [Qdrant Vector Store](https://mastra.ai/reference/vectors/qdrant)
|
|
344
344
|
- [Turbopuffer Vector Store](https://mastra.ai/reference/vectors/turbopuffer)
|
|
345
345
|
- [Upstash Vector Store](https://mastra.ai/reference/vectors/upstash)
|
|
346
|
+
- [Overview](https://mastra.ai/reference/voice/overview)
|
|
346
347
|
- [Composite Voice](https://mastra.ai/reference/voice/composite-voice)
|
|
347
348
|
- [Events](https://mastra.ai/reference/voice/voice.events)
|
|
348
349
|
- [Mastra Voice](https://mastra.ai/reference/voice/mastra-voice)
|
|
350
|
+
- [Speech to Speech](https://mastra.ai/reference/voice/speech-to-speech)
|
|
351
|
+
- [Speech to Text](https://mastra.ai/reference/voice/speech-to-text)
|
|
352
|
+
- [Text to Speech](https://mastra.ai/reference/voice/text-to-speech)
|
|
349
353
|
- [.addInstructions()](https://mastra.ai/reference/voice/voice.addInstructions)
|
|
350
354
|
- [.addTools()](https://mastra.ai/reference/voice/voice.addTools)
|
|
351
355
|
- [.answer()](https://mastra.ai/reference/voice/voice.answer)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**For AI agents:** Use this guide when tasked to create a runnable Mastra project from scratch without a CLI/boilerplate. It provides code examples for agents, tools, model configuration and how to install dependencies. Do not navigate to the quickstart guide, which is for humans. The model string is Mastra's model router format ('provider/model'; use / and not : to separate provider and model). Do not install any ai-sdk packages.
|
|
6
6
|
|
|
7
|
-
Use this guide to manually build a standalone Mastra server step by step. In most cases,
|
|
7
|
+
Use this guide to manually build a standalone Mastra server step by step. In most cases, use the [`create-mastra`](https://mastra.ai/reference/cli/create-mastra) command described in [Get started](https://mastra.ai/docs). For existing projects, you can also use [`mastra init`](https://mastra.ai/reference/cli/mastra).
|
|
8
8
|
|
|
9
9
|
## Instructions
|
|
10
10
|
|
|
@@ -260,4 +260,4 @@ const stream = await supervisorAgent.stream('Research AI in education', {
|
|
|
260
260
|
- [Agent.stream() Reference](https://mastra.ai/reference/streaming/agents/stream)
|
|
261
261
|
- [Agent.generate() Reference](https://mastra.ai/reference/agents/generate)
|
|
262
262
|
- [Agent Approval](https://mastra.ai/docs/agents/agent-approval)
|
|
263
|
-
- [Guide: Research Coordinator](https://mastra.ai/
|
|
263
|
+
- [Guide: Research Coordinator](https://mastra.ai/blog/build-a-research-coordinator-with-supervisor-agents)
|
|
@@ -129,8 +129,6 @@ Key changes:
|
|
|
129
129
|
3. Use explicit `configs:` with `MastraStorageExporter`, `MastraPlatformExporter`, and `SensitiveDataFilter`
|
|
130
130
|
4. Export types change from string literals (`'otlp'`) to exporter class instances (`new OtelExporter()`)
|
|
131
131
|
|
|
132
|
-
See the [exporters documentation](https://mastra.ai/docs/observability/integrations/overview) for all available exporters.
|
|
133
|
-
|
|
134
132
|
### From AI Tracing
|
|
135
133
|
|
|
136
134
|
If you already upgraded to AI tracing (the intermediate system), you need to install the new package and use the explicit configuration.
|
|
@@ -294,7 +292,7 @@ To migrate, follow the "From OTEL-based Telemetry" section above. For detailed c
|
|
|
294
292
|
|
|
295
293
|
The automatic detection of instrumentation files in `/mastra` (with `.ts`, `.js`, or `.mjs` extensions) has been removed. Custom instrumentation is no longer supported through separate files.
|
|
296
294
|
|
|
297
|
-
To migrate, use the built-in exporter system or implement custom exporters using the `ObservabilityExporter` interface.
|
|
295
|
+
To migrate, use the built-in exporter system or implement custom exporters using the `ObservabilityExporter` interface.
|
|
298
296
|
|
|
299
297
|
### `instrumentation.mjs` files
|
|
300
298
|
|
|
@@ -233,7 +233,6 @@ const customExporter = new CloudExporter({
|
|
|
233
233
|
### Documentation
|
|
234
234
|
|
|
235
235
|
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
|
|
236
|
-
- [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
|
|
237
236
|
|
|
238
237
|
### Other Exporters
|
|
239
238
|
|
|
@@ -122,7 +122,6 @@ const exporterWithLogger = new ConsoleExporter({
|
|
|
122
122
|
### Documentation
|
|
123
123
|
|
|
124
124
|
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
|
|
125
|
-
- [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
|
|
126
125
|
|
|
127
126
|
### Other Exporters
|
|
128
127
|
|
|
@@ -167,7 +167,6 @@ const customExporter = new DefaultExporter({
|
|
|
167
167
|
### Documentation
|
|
168
168
|
|
|
169
169
|
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
|
|
170
|
-
- [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
|
|
171
170
|
|
|
172
171
|
### Other Exporters
|
|
173
172
|
|
|
@@ -262,7 +262,6 @@ The original `CloudExporter` is preserved unchanged so dashboards or alert rules
|
|
|
262
262
|
### Documentation
|
|
263
263
|
|
|
264
264
|
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
|
|
265
|
-
- [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
|
|
266
265
|
|
|
267
266
|
### Other Exporters
|
|
268
267
|
|
|
@@ -181,7 +181,6 @@ The original `DefaultExporter` is preserved unchanged so dashboards or alert rul
|
|
|
181
181
|
### Documentation
|
|
182
182
|
|
|
183
183
|
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview): Complete guide
|
|
184
|
-
- [Exporters](https://mastra.ai/docs/observability/integrations/overview): Exporter concepts
|
|
185
184
|
|
|
186
185
|
### Other Exporters
|
|
187
186
|
|
|
@@ -2,27 +2,50 @@
|
|
|
2
2
|
|
|
3
3
|
# SensitiveDataFilter
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`SensitiveDataFilter` is a span output processor that redacts values whose field names match a configured list. [`Observability`](https://mastra.ai/reference/observability/tracing/configuration) applies it to plain observability configurations by default.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Usage example
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
To opt out or customize the auto-applied filter, use the `sensitiveDataFilter` option on the [`Observability` registry config](https://mastra.ai/reference/observability/tracing/configuration):
|
|
9
|
+
Configure the automatically applied filter with the top-level `sensitiveDataFilter` option. The filter runs after user-provided span output processors so it can redact values they add or expose.
|
|
12
10
|
|
|
13
11
|
```typescript
|
|
14
|
-
import {
|
|
12
|
+
import { Mastra } from '@mastra/core/mastra'
|
|
13
|
+
import { Observability, MastraStorageExporter } from '@mastra/observability'
|
|
14
|
+
|
|
15
|
+
export const mastra = new Mastra({
|
|
16
|
+
observability: new Observability({
|
|
17
|
+
configs: {
|
|
18
|
+
default: {
|
|
19
|
+
serviceName: 'my-service',
|
|
20
|
+
exporters: [new MastraStorageExporter()],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
sensitiveDataFilter: {
|
|
24
|
+
sensitiveFields: ['password', 'authorization', 'customerSecret'],
|
|
25
|
+
redactionToken: '[HIDDEN]',
|
|
26
|
+
redactionStyle: 'full',
|
|
27
|
+
},
|
|
28
|
+
}),
|
|
29
|
+
})
|
|
30
|
+
```
|
|
15
31
|
|
|
32
|
+
Passing `sensitiveFields` replaces the default field list. Include every default field you still want to redact.
|
|
33
|
+
|
|
34
|
+
To disable automatic filtering for all plain configurations, set `sensitiveDataFilter` to `false`:
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
16
37
|
new Observability({
|
|
17
|
-
configs: {
|
|
18
|
-
|
|
38
|
+
configs: {
|
|
39
|
+
debug: {
|
|
40
|
+
serviceName: 'debug-service',
|
|
41
|
+
exporters: [new MastraStorageExporter()],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
19
44
|
sensitiveDataFilter: false,
|
|
20
|
-
// or customize it
|
|
21
|
-
// sensitiveDataFilter: { sensitiveFields: ['mySecret'], redactionStyle: 'partial' },
|
|
22
45
|
})
|
|
23
46
|
```
|
|
24
47
|
|
|
25
|
-
If a
|
|
48
|
+
If a plain configuration already contains a `SensitiveDataFilter` in `spanOutputProcessors`, `Observability` uses that instance and doesn't add another. Pre-instantiated `ObservabilityInstance` values aren't modified. Add the processor when constructing those instances if they need filtering.
|
|
26
49
|
|
|
27
50
|
## Constructor
|
|
28
51
|
|
|
@@ -30,120 +53,82 @@ If a config already includes a `SensitiveDataFilter` in `spanOutputProcessors`,
|
|
|
30
53
|
new SensitiveDataFilter(options?: SensitiveDataFilterOptions)
|
|
31
54
|
```
|
|
32
55
|
|
|
33
|
-
|
|
56
|
+
**sensitiveFields** (`string[]`): Complete list of field names to redact. Matching is case-insensitive and ignores separators. Replaces the default list when provided. (Default: `['password', 'token', 'secret', 'key', 'apikey', 'auth', 'authorization', 'bearer', 'bearertoken', 'jwt', 'credential', 'clientsecret', 'privatekey', 'refresh', 'ssn']`)
|
|
57
|
+
|
|
58
|
+
**redactionToken** (`string`): Replacement value used for full redaction and short values under partial redaction. (Default: `'[REDACTED]'`)
|
|
59
|
+
|
|
60
|
+
**redactionStyle** (`'full' | 'partial'`): Controls whether matched values are fully or partially redacted. (Default: `'full'`)
|
|
34
61
|
|
|
35
62
|
```typescript
|
|
36
63
|
interface SensitiveDataFilterOptions {
|
|
37
|
-
/**
|
|
38
|
-
* List of sensitive field names to redact.
|
|
39
|
-
* Matching is case-insensitive and normalizes separators
|
|
40
|
-
* (api-key, api_key, Api Key → apikey).
|
|
41
|
-
* Defaults include: password, token, secret, key, apikey, auth,
|
|
42
|
-
* authorization, bearer, bearertoken, jwt, credential,
|
|
43
|
-
* clientsecret, privatekey, refresh, ssn.
|
|
44
|
-
*/
|
|
45
64
|
sensitiveFields?: string[]
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* The token used for full redaction.
|
|
49
|
-
* Default: "[REDACTED]"
|
|
50
|
-
*/
|
|
51
65
|
redactionToken?: string
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Style of redaction to use:
|
|
55
|
-
* - "full": always replace with redactionToken
|
|
56
|
-
* - "partial": show 3 characters from the start and end, redact the middle
|
|
57
|
-
* Default: "full"
|
|
58
|
-
*/
|
|
59
66
|
redactionStyle?: RedactionStyle
|
|
60
67
|
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## `RedactionStyle`
|
|
64
68
|
|
|
65
|
-
```typescript
|
|
66
69
|
type RedactionStyle = 'full' | 'partial'
|
|
67
70
|
```
|
|
68
71
|
|
|
69
|
-
##
|
|
70
|
-
|
|
71
|
-
### process
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
process(span: AnySpan): AnySpan
|
|
75
|
-
```
|
|
72
|
+
## Redaction styles
|
|
76
73
|
|
|
77
|
-
|
|
74
|
+
### Full redaction
|
|
78
75
|
|
|
79
|
-
|
|
76
|
+
Full redaction replaces each matched primitive value with `redactionToken`.
|
|
80
77
|
|
|
81
|
-
|
|
78
|
+
```jsonc
|
|
79
|
+
// Before
|
|
80
|
+
{ "apiKey": "sk-abc123xyz789", "userId": "user_123" }
|
|
82
81
|
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
// After
|
|
83
|
+
{ "apiKey": "[REDACTED]", "userId": "user_123" }
|
|
85
84
|
```
|
|
86
85
|
|
|
87
|
-
|
|
86
|
+
### Partial redaction
|
|
88
87
|
|
|
89
|
-
|
|
88
|
+
Partial redaction preserves the first and last three characters. Values with six or fewer characters use `redactionToken` instead. Non-string primitive values are converted to strings before redaction.
|
|
90
89
|
|
|
91
90
|
```typescript
|
|
92
|
-
|
|
91
|
+
const filter = new SensitiveDataFilter({
|
|
92
|
+
redactionStyle: 'partial',
|
|
93
|
+
})
|
|
93
94
|
```
|
|
94
95
|
|
|
95
|
-
|
|
96
|
+
```jsonc
|
|
97
|
+
// Before
|
|
98
|
+
{ "apiKey": "sk-abc123xyz789" }
|
|
96
99
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
```typescript
|
|
100
|
-
[
|
|
101
|
-
'password',
|
|
102
|
-
'token',
|
|
103
|
-
'secret',
|
|
104
|
-
'key',
|
|
105
|
-
'apikey',
|
|
106
|
-
'auth',
|
|
107
|
-
'authorization',
|
|
108
|
-
'bearer',
|
|
109
|
-
'bearertoken',
|
|
110
|
-
'jwt',
|
|
111
|
-
'credential',
|
|
112
|
-
'clientsecret',
|
|
113
|
-
'privatekey',
|
|
114
|
-
'refresh',
|
|
115
|
-
'ssn',
|
|
116
|
-
]
|
|
100
|
+
// After
|
|
101
|
+
{ "apiKey": "sk-…789" }
|
|
117
102
|
```
|
|
118
103
|
|
|
119
|
-
##
|
|
104
|
+
## Field matching
|
|
120
105
|
|
|
121
|
-
|
|
106
|
+
Field names are lowercased and stripped of non-alphanumeric characters before comparison:
|
|
122
107
|
|
|
123
|
-
-
|
|
108
|
+
- `api-key`, `api_key`, `Api Key`, and `apiKey` normalize to `apikey`.
|
|
109
|
+
- Matching is exact after normalization. `token` matches `Token`, but doesn't match `promptTokens`, `tokenCount`, or `authToken`.
|
|
124
110
|
|
|
125
|
-
|
|
111
|
+
When a matched field contains an object or array, the filter traverses that value and redacts sensitive fields within it rather than replacing the complete structure.
|
|
126
112
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
- `token` matches `token`, `Token`, `TOKEN`
|
|
130
|
-
- `token` doesn't match `promptTokens` or `tokenCount`
|
|
131
|
-
|
|
132
|
-
### Redaction Styles
|
|
133
|
-
|
|
134
|
-
#### Full Redaction (default)
|
|
113
|
+
## Processing behavior
|
|
135
114
|
|
|
136
|
-
|
|
115
|
+
`process()` filters these top-level span fields independently:
|
|
137
116
|
|
|
138
|
-
|
|
117
|
+
- `attributes`
|
|
118
|
+
- `metadata`
|
|
119
|
+
- `input`
|
|
120
|
+
- `output`
|
|
121
|
+
- `errorInfo`
|
|
139
122
|
|
|
140
|
-
|
|
141
|
-
- Values ≤ 6 characters are fully redacted
|
|
142
|
-
- Non-string values are converted to strings before partial redaction
|
|
123
|
+
Within each field, the processor:
|
|
143
124
|
|
|
144
|
-
|
|
125
|
+
- Traverses nested objects and arrays.
|
|
126
|
+
- Parses and filters JSON strings that contain objects or arrays. It then serializes the filtered value.
|
|
127
|
+
- Leaves invalid JSON strings unchanged.
|
|
128
|
+
- Preserves `Date` instances.
|
|
129
|
+
- Replaces repeated object references with `[Circular Reference]`.
|
|
145
130
|
|
|
146
|
-
If filtering
|
|
131
|
+
If filtering fails anywhere within one top-level span field, that complete field is replaced with this marker:
|
|
147
132
|
|
|
148
133
|
```typescript
|
|
149
134
|
{
|
|
@@ -153,14 +138,41 @@ If filtering a field fails, the field is replaced with:
|
|
|
153
138
|
}
|
|
154
139
|
```
|
|
155
140
|
|
|
156
|
-
|
|
141
|
+
## Methods
|
|
142
|
+
|
|
143
|
+
### Processing
|
|
157
144
|
|
|
158
|
-
|
|
145
|
+
#### `process(span)`
|
|
159
146
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
147
|
+
Redacts the supported fields on the supplied span in place and returns the same span.
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
import type { AnySpan } from '@mastra/core/observability'
|
|
151
|
+
import { SensitiveDataFilter } from '@mastra/observability'
|
|
152
|
+
|
|
153
|
+
const filter = new SensitiveDataFilter()
|
|
154
|
+
|
|
155
|
+
export function redactSpan(span: AnySpan): AnySpan {
|
|
156
|
+
return filter.process(span)
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**span** (`AnySpan`): Span whose attributes, metadata, input, output, and error information are filtered.
|
|
161
|
+
|
|
162
|
+
Returns: `AnySpan`
|
|
163
|
+
|
|
164
|
+
### Lifecycle
|
|
165
|
+
|
|
166
|
+
#### `shutdown()`
|
|
167
|
+
|
|
168
|
+
Completes processor shutdown. The current processor has no resources or state to clean up.
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
await filter.shutdown()
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Returns: `Promise<void>`
|
|
175
|
+
|
|
176
|
+
## Properties
|
|
165
177
|
|
|
166
|
-
|
|
178
|
+
**name** (`string`): Processor identifier. (Default: `'sensitive-data-filter'`)
|
|
@@ -94,4 +94,4 @@ If `spanFilter` throws an error, Mastra keeps the span and logs the error to avo
|
|
|
94
94
|
|
|
95
95
|
- [Tracing overview](https://mastra.ai/docs/observability/tracing/overview) for setup and concepts
|
|
96
96
|
- [Configuration API](https://mastra.ai/reference/observability/tracing/configuration) for `ObservabilityInstanceConfig`
|
|
97
|
-
- [Sensitive data filter](https://mastra.ai/
|
|
97
|
+
- [Sensitive data filter](https://mastra.ai/reference/observability/tracing/processors/sensitive-data-filter) for redacting span data
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
2
|
|
|
3
|
-
# Storage
|
|
3
|
+
# Storage
|
|
4
4
|
|
|
5
5
|
Mastra storage is organized into domains. Each domain owns a set of tables or collections. Depending on your adapter and configuration, you may use all domains or only a subset.
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# Templates
|
|
4
4
|
|
|
5
5
|
This reference explains how to use existing Mastra templates and create your own. It also covers contributing templates to the community ecosystem.
|
|
6
6
|
|
|
@@ -29,7 +29,7 @@ You can then use the following voice capabilities:
|
|
|
29
29
|
|
|
30
30
|
Turn your agent's responses into natural-sounding speech using Mastra's TTS capabilities. Choose from multiple providers like OpenAI, ElevenLabs, and more.
|
|
31
31
|
|
|
32
|
-
For detailed configuration options and advanced features, check out our [Text-to-Speech guide](https://mastra.ai/
|
|
32
|
+
For detailed configuration options and advanced features, check out our [Text-to-Speech guide](https://mastra.ai/reference/voice/text-to-speech).
|
|
33
33
|
|
|
34
34
|
**OpenAI**:
|
|
35
35
|
|
|
@@ -304,7 +304,7 @@ Visit the [Murf Voice Reference](https://mastra.ai/integrations/voice/murf) for
|
|
|
304
304
|
|
|
305
305
|
### Speech to Text (STT)
|
|
306
306
|
|
|
307
|
-
Transcribe spoken content using providers like OpenAI, ElevenLabs, and more. For detailed configuration options and more, check out [Speech to Text](https://mastra.ai/
|
|
307
|
+
Transcribe spoken content using providers like OpenAI, ElevenLabs, and more. For detailed configuration options and more, check out [Speech to Text](https://mastra.ai/reference/voice/speech-to-text).
|
|
308
308
|
|
|
309
309
|
You can download a sample audio file from [here](https://github.com/mastra-ai/realtime-voice-demo/raw/refs/heads/main/how_can_i_help_you.mp3).
|
|
310
310
|
|
|
@@ -537,7 +537,7 @@ Visit the [Sarvam Voice Reference](https://mastra.ai/integrations/voice/sarvam)
|
|
|
537
537
|
|
|
538
538
|
### Speech to Speech (STS)
|
|
539
539
|
|
|
540
|
-
Create conversational experiences with speech-to-speech capabilities. The unified API enables real-time voice interactions between users and AI agents. For detailed configuration options and advanced features, check out [Speech to Speech](https://mastra.ai/
|
|
540
|
+
Create conversational experiences with speech-to-speech capabilities. The unified API enables real-time voice interactions between users and AI agents. For detailed configuration options and advanced features, check out [Speech to Speech](https://mastra.ai/reference/voice/speech-to-speech).
|
|
541
541
|
|
|
542
542
|
**OpenAI**:
|
|
543
543
|
|
|
@@ -54,7 +54,7 @@ const micStream = getMicrophoneStream()
|
|
|
54
54
|
await agent.voice.send(micStream)
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/
|
|
57
|
+
For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/reference/voice/overview).
|
|
58
58
|
|
|
59
59
|
## Use tools in realtime sessions
|
|
60
60
|
|
|
@@ -96,4 +96,4 @@ const transcription = await agent.voice.listen(audioStream, {
|
|
|
96
96
|
console.log(`Transcription: ${transcription}`)
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/
|
|
99
|
+
For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/reference/voice/overview).
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Text-to-Speech (TTS) in Mastra offers a unified API for synthesizing spoken audio from text using providers. By incorporating TTS into your applications, you can enhance user experience with natural voice interactions and improve accessibility for users with visual impairments, plus create more engaging multimodal interfaces.
|
|
6
6
|
|
|
7
|
-
TTS is a core component of any voice application. Combined with STT (Speech-to-Text), it forms the foundation of voice interaction systems. Newer models support STS ([Speech-to-Speech](https://mastra.ai/
|
|
7
|
+
TTS is a core component of any voice application. Combined with STT (Speech-to-Text), it forms the foundation of voice interaction systems. Newer models support STS ([Speech-to-Speech](https://mastra.ai/reference/voice/speech-to-speech)) which can be used for real-time interactions but come at high cost ($).
|
|
8
8
|
|
|
9
9
|
## Configuration
|
|
10
10
|
|
|
@@ -101,4 +101,4 @@ await new Promise<void>((resolve, reject) => {
|
|
|
101
101
|
})
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/
|
|
104
|
+
For a broader overview of voice providers on agents, see [Voice in Mastra](https://mastra.ai/reference/voice/overview).
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.2.16-alpha.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`aa3e7be`](https://github.com/mastra-ai/mastra/commit/aa3e7be30f8addb0278ea74429f4df054517a287), [`90822db`](https://github.com/mastra-ai/mastra/commit/90822dba08fb2169c518e4a6d7f127c098eb46b8), [`3700208`](https://github.com/mastra-ai/mastra/commit/37002080c7838267803a7e579a7d58b908d62f36), [`8b7131e`](https://github.com/mastra-ai/mastra/commit/8b7131eb0407f58f5205e68fb27b81f026488f28), [`79c4f82`](https://github.com/mastra-ai/mastra/commit/79c4f8295f568752eeadf8a9b50010a7d9ec06ae)]:
|
|
8
|
+
- @mastra/core@1.59.0-alpha.1
|
|
9
|
+
|
|
10
|
+
## 1.2.16-alpha.0
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [[`088e41e`](https://github.com/mastra-ai/mastra/commit/088e41e434ed05f2c674b254f1034ec46a57a7be), [`b2f0013`](https://github.com/mastra-ai/mastra/commit/b2f0013375588d40c03c13e843b99c0ff8872ca5), [`3b541ae`](https://github.com/mastra-ai/mastra/commit/3b541ae5d410c52b80a7e381d84d021cddb9a449), [`ae79e34`](https://github.com/mastra-ai/mastra/commit/ae79e34c0bd8674fc24c7524217bfc4a051c6136), [`a6c4399`](https://github.com/mastra-ai/mastra/commit/a6c4399763590b3dae21a2c81826e89a3b1deee4)]:
|
|
15
|
+
- @mastra/core@1.59.0-alpha.0
|
|
16
|
+
|
|
3
17
|
## 1.2.15
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mcp-docs-server",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.16-alpha.3",
|
|
4
4
|
"description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"jsdom": "^26.1.0",
|
|
29
29
|
"local-pkg": "^1.1.2",
|
|
30
30
|
"zod": "^4.4.3",
|
|
31
|
-
"@mastra/core": "1.
|
|
31
|
+
"@mastra/core": "1.59.0-alpha.1",
|
|
32
32
|
"@mastra/mcp": "^1.16.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"typescript": "^6.0.3",
|
|
47
47
|
"vitest": "4.1.10",
|
|
48
48
|
"@internal/lint": "0.0.122",
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
49
|
+
"@internal/types-builder": "0.0.97",
|
|
50
|
+
"@mastra/core": "1.59.0-alpha.1"
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://mastra.ai",
|
|
53
53
|
"repository": {
|