@mastra/mcp-docs-server 1.2.17-alpha.1 → 1.2.17-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/docs/agents/agent-approval.md +2 -0
- package/.docs/docs/agents/code-mode.md +2 -2
- package/.docs/docs/agents/processors.md +1 -1
- package/.docs/docs/agents/skills.md +1 -1
- package/.docs/docs/agents/using-tools.md +1 -1
- package/.docs/docs/capabilities/channels.md +34 -1
- package/.docs/docs/datasets/running-experiments.md +46 -0
- package/.docs/docs/harness/agent-controller.md +1 -1
- package/.docs/docs/mcp/overview.md +4 -5
- package/.docs/docs/server/request-context.md +21 -0
- package/.docs/docs/studio/overview.md +1 -1
- package/.docs/docs/workspace/filesystem.md +182 -153
- package/.docs/docs/workspace/lsp.md +4 -5
- package/.docs/docs/workspace/sandbox.md +234 -141
- package/.docs/docs/workspace/search.md +52 -4
- package/.docs/docs/workspace/skills.md +62 -33
- package/.docs/integrations/browsers/browser-viewer.md +2 -2
- package/.docs/integrations/databases/postgresql.md +2 -1
- package/.docs/integrations/file-storage/amazon-s3.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/mesa.md +1 -1
- package/.docs/integrations/file-storage/vercel-files.md +1 -1
- package/.docs/integrations/observability/opentelemetry.md +34 -2
- package/.docs/integrations/sandboxes/apple-container.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/models/environment-variables.md +3 -0
- package/.docs/models/gateways/openrouter.md +4 -1
- package/.docs/models/gateways/vercel.md +1 -2
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/abacus.md +14 -1
- package/.docs/models/providers/alibaba-token-plan-cn.md +2 -1
- package/.docs/models/providers/alibaba-token-plan.md +2 -1
- package/.docs/models/providers/amd.md +73 -0
- package/.docs/models/providers/baseten.md +2 -1
- package/.docs/models/providers/chutes.md +2 -1
- package/.docs/models/providers/cloudflare-workers-ai.md +3 -1
- package/.docs/models/providers/cortecs.md +5 -2
- package/.docs/models/providers/crossmodel.md +4 -3
- package/.docs/models/providers/deepinfra.md +7 -1
- package/.docs/models/providers/digitalocean.md +3 -2
- package/.docs/models/providers/edenai.md +233 -23
- package/.docs/models/providers/empiriolabs.md +11 -1
- package/.docs/models/providers/fireworks-ai.md +2 -1
- package/.docs/models/providers/huggingface.md +6 -1
- package/.docs/models/providers/hyper.md +9 -7
- package/.docs/models/providers/inferx.md +19 -13
- package/.docs/models/providers/kilo.md +17 -15
- package/.docs/models/providers/llmtr.md +35 -10
- package/.docs/models/providers/merge-gateway.md +4 -2
- package/.docs/models/providers/nano-gpt.md +19 -15
- package/.docs/models/providers/nvidia.md +2 -1
- package/.docs/models/providers/ofox.md +34 -3
- package/.docs/models/providers/opencode-go.md +4 -3
- package/.docs/models/providers/opencode.md +2 -1
- package/.docs/models/providers/perplexity-agent.md +4 -2
- package/.docs/models/providers/qvac.md +35 -0
- package/.docs/models/providers/requesty.md +3 -3
- package/.docs/models/providers/runinfra.md +76 -0
- package/.docs/models/providers/scnet-token-plan.md +85 -0
- package/.docs/models/providers/togetherai.md +2 -1
- package/.docs/models/providers/umans-ai-coding-plan.md +2 -1
- package/.docs/models/providers/umans-ai.md +2 -1
- package/.docs/models/providers/xai.md +2 -1
- package/.docs/models/providers/zai-coding-plan.md +3 -2
- package/.docs/models/providers/zhipuai-coding-plan.md +2 -1
- package/.docs/models/providers.md +3 -0
- package/.docs/reference/agent-controller/agent-controller-class.md +26 -1
- package/.docs/reference/browser/browser-viewer.md +1 -1
- package/.docs/reference/configuration.md +1 -1
- package/.docs/reference/core/removeWorkspace.md +1 -1
- package/.docs/reference/datasets/addItem.md +5 -0
- package/.docs/reference/datasets/addItems.md +12 -2
- package/.docs/reference/datasets/startExperiment.md +1 -1
- package/.docs/reference/datasets/updateItem.md +3 -0
- package/.docs/reference/file-based-agents/workspace.md +3 -3
- package/.docs/reference/memory/observational-memory.md +4 -0
- package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +2 -0
- package/.docs/reference/processors/provider-history-compat.md +6 -5
- package/.docs/reference/processors/skill-search-processor.md +1 -1
- package/.docs/reference/pubsub/base.md +13 -3
- package/.docs/reference/pubsub/caching-pubsub.md +2 -0
- package/.docs/reference/pubsub/event-emitter.md +2 -0
- package/.docs/reference/pubsub/redis-streams.md +11 -3
- package/.docs/reference/tools/create-code-mode.md +1 -1
- package/.docs/reference/tools/create-tool.md +11 -3
- package/.docs/reference/tools/mcp-client.md +34 -5
- package/.docs/reference/tools/mcp-server.md +4 -1
- package/.docs/reference/workspace/local-filesystem.md +1 -1
- package/.docs/reference/workspace/local-sandbox.md +1 -1
- package/.docs/reference/workspace/workspace-class.md +52 -15
- package/CHANGELOG.md +50 -0
- package/package.json +4 -4
- package/.docs/docs/workspace/overview.md +0 -416
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# OpenCode Go
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 25 OpenCode Go models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [OpenCode Go documentation](https://opencode.ai/docs/zen).
|
|
8
8
|
|
|
@@ -36,10 +36,11 @@ for await (const chunk of stream) {
|
|
|
36
36
|
|
|
37
37
|
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
38
|
| ------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
-
| `opencode-go/deepseek-v4-flash` | 1.0M | | | | | | $0.
|
|
40
|
-
| `opencode-go/deepseek-v4-pro` | 1.0M | | | | | | $0.
|
|
39
|
+
| `opencode-go/deepseek-v4-flash` | 1.0M | | | | | | $0.22 | $0.66 |
|
|
40
|
+
| `opencode-go/deepseek-v4-pro` | 1.0M | | | | | | $0.66 | $2 |
|
|
41
41
|
| `opencode-go/glm-5.1` | 203K | | | | | | $1 | $4 |
|
|
42
42
|
| `opencode-go/glm-5.2` | 1.0M | | | | | | $1 | $4 |
|
|
43
|
+
| `opencode-go/glm-5.3` | 1.0M | | | | | | $1 | $4 |
|
|
43
44
|
| `opencode-go/gpt-5.6-luna` | 1.1M | | | | | | $0.10 | $0.60 |
|
|
44
45
|
| `opencode-go/grok-4.5` | 500K | | | | | | $2 | $6 |
|
|
45
46
|
| `opencode-go/hy3` | 256K | | | | | | $0.14 | $0.58 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# OpenCode Zen
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 91 OpenCode Zen models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [OpenCode Zen documentation](https://opencode.ai/docs/zen).
|
|
8
8
|
|
|
@@ -93,6 +93,7 @@ for await (const chunk of stream) {
|
|
|
93
93
|
| `opencode/minimax-m2.5` | 205K | | | | | | $0.30 | $1 |
|
|
94
94
|
| `opencode/minimax-m2.7` | 205K | | | | | | $0.30 | $1 |
|
|
95
95
|
| `opencode/minimax-m3` | 512K | | | | | | $0.30 | $1 |
|
|
96
|
+
| `opencode/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
|
|
96
97
|
| `opencode/nemotron-3-ultra-free` | 1.0M | | | | | | — | — |
|
|
97
98
|
| `opencode/nemotron-3.5-lightning-free` | 262K | | | | | | — | — |
|
|
98
99
|
| `opencode/qwen3.5-plus` | 262K | | | | | | $0.20 | $1 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Perplexity Agent
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 22 Perplexity Agent models through Mastra's model router. Authentication is handled automatically using the `PERPLEXITY_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Perplexity Agent documentation](https://docs.perplexity.ai/docs/agent-api/models).
|
|
8
8
|
|
|
@@ -42,6 +42,7 @@ for await (const chunk of stream) {
|
|
|
42
42
|
| `perplexity-agent/anthropic/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
|
|
43
43
|
| `perplexity-agent/anthropic/claude-sonnet-4-5` | 200K | | | | | | $3 | $15 |
|
|
44
44
|
| `perplexity-agent/anthropic/claude-sonnet-4-6` | 200K | | | | | | $3 | $15 |
|
|
45
|
+
| `perplexity-agent/deepseek/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.13 | $0.26 |
|
|
45
46
|
| `perplexity-agent/google/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
|
|
46
47
|
| `perplexity-agent/google/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
|
|
47
48
|
| `perplexity-agent/google/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
|
|
@@ -56,6 +57,7 @@ for await (const chunk of stream) {
|
|
|
56
57
|
| `perplexity-agent/openai/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
|
|
57
58
|
| `perplexity-agent/perplexity/sonar` | 128K | | | | | | $0.25 | $3 |
|
|
58
59
|
| `perplexity-agent/xai/grok-4-1-fast-non-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
|
|
60
|
+
| `perplexity-agent/xai/grok-4.6` | 500K | | | | | | $2 | $6 |
|
|
59
61
|
|
|
60
62
|
## Advanced configuration
|
|
61
63
|
|
|
@@ -85,7 +87,7 @@ const agent = new Agent({
|
|
|
85
87
|
model: ({ requestContext }) => {
|
|
86
88
|
const useAdvanced = requestContext.task === "complex";
|
|
87
89
|
return useAdvanced
|
|
88
|
-
? "perplexity-agent/xai/grok-4
|
|
90
|
+
? "perplexity-agent/xai/grok-4.6"
|
|
89
91
|
: "perplexity-agent/anthropic/claude-haiku-4-5";
|
|
90
92
|
}
|
|
91
93
|
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
+
|
|
3
|
+
# QVAC
|
|
4
|
+
|
|
5
|
+
QVAC is available through the AI SDK. Install the provider package to use their models with Mastra.
|
|
6
|
+
|
|
7
|
+
For detailed provider-specific documentation, see the [AI SDK QVAC provider docs](https://ai-sdk.dev/providers/community-providers/qvac).
|
|
8
|
+
|
|
9
|
+
To use this provider with Mastra agents, see the [Agent Overview documentation](https://mastra.ai/docs/agents/overview).
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
**npm**:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @qvac/ai-sdk-provider
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**pnpm**:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm add @qvac/ai-sdk-provider
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Yarn**:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
yarn add @qvac/ai-sdk-provider
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Bun**:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
bun add @qvac/ai-sdk-provider
|
|
35
|
+
```
|
|
@@ -60,12 +60,12 @@ for await (const chunk of stream) {
|
|
|
60
60
|
| `requesty/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
61
61
|
| `requesty/deepseek-v4-flash-0731@eu` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
62
62
|
| `requesty/gemini-2.5-flash@eu` | 1.0M | | | | | | $0.30 | $3 |
|
|
63
|
-
| `requesty/gemini-3.1-flash-lite@eu` | 1.0M | | | | | | $0.
|
|
63
|
+
| `requesty/gemini-3.1-flash-lite@eu` | 1.0M | | | | | | $0.28 | $2 |
|
|
64
64
|
| `requesty/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
|
|
65
|
-
| `requesty/gemini-3.5-flash@eu` | 1.0M | | | | | | $2 | $
|
|
65
|
+
| `requesty/gemini-3.5-flash@eu` | 1.0M | | | | | | $2 | $10 |
|
|
66
66
|
| `requesty/gemini-3.6-flash` | 1.0M | | | | | | $2 | $7 |
|
|
67
67
|
| `requesty/gemini-3.7-flash` | 1.0M | | | | | | $0.75 | $4 |
|
|
68
|
-
| `requesty/gemini-3.7-flash@eu` | 1.0M | | | | | | $0.
|
|
68
|
+
| `requesty/gemini-3.7-flash@eu` | 1.0M | | | | | | $0.82 | $4 |
|
|
69
69
|
| `requesty/glm-5.2` | 1.0M | | | | | | $1 | $4 |
|
|
70
70
|
| `requesty/glm-5.2@eu` | 1.0M | | | | | | $1 | $4 |
|
|
71
71
|
| `requesty/gpt-4.1-mini@eu` | 1.0M | | | | | | $0.44 | $2 |
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
+
|
|
3
|
+
# RunInfra
|
|
4
|
+
|
|
5
|
+
Access 4 RunInfra models through Mastra's model router. Authentication is handled automatically using the `RUNINFRA_GATEWAY_KEY` environment variable.
|
|
6
|
+
|
|
7
|
+
Learn more in the [RunInfra documentation](https://runinfra.ai/docs).
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
RUNINFRA_GATEWAY_KEY=your-api-key
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { Agent } from "@mastra/core/agent";
|
|
15
|
+
|
|
16
|
+
const agent = new Agent({
|
|
17
|
+
id: "my-agent",
|
|
18
|
+
name: "My Agent",
|
|
19
|
+
instructions: "You are a helpful assistant",
|
|
20
|
+
model: "runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4"
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// Generate a response
|
|
24
|
+
const response = await agent.generate("Hello!");
|
|
25
|
+
|
|
26
|
+
// Stream a response
|
|
27
|
+
const stream = await agent.stream("Tell me a story");
|
|
28
|
+
for await (const chunk of stream) {
|
|
29
|
+
console.log(chunk);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
> **Note:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [RunInfra documentation](https://runinfra.ai/docs) for details.
|
|
34
|
+
|
|
35
|
+
## Models
|
|
36
|
+
|
|
37
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
|
+
| ------------------------------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
+
| `runinfra/deepseek-ai/DeepSeek-V4-Flash-0731` | 1.0M | | | | | | $0.13 | $0.27 |
|
|
40
|
+
| `runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4` | 262K | | | | | | $2 | $6 |
|
|
41
|
+
| `runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16` | 262K | | | | | | $0.05 | $0.15 |
|
|
42
|
+
| `runinfra/Qwen/Qwen3.8-27B` | 262K | | | | | | $0.10 | $0.40 |
|
|
43
|
+
|
|
44
|
+
## Advanced configuration
|
|
45
|
+
|
|
46
|
+
### Custom headers
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
const agent = new Agent({
|
|
50
|
+
id: "custom-agent",
|
|
51
|
+
name: "custom-agent",
|
|
52
|
+
model: {
|
|
53
|
+
url: "https://api.runinfra.ai/v1",
|
|
54
|
+
id: "runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4",
|
|
55
|
+
apiKey: process.env.RUNINFRA_GATEWAY_KEY,
|
|
56
|
+
headers: {
|
|
57
|
+
"X-Custom-Header": "value"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Dynamic model selection
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const agent = new Agent({
|
|
67
|
+
id: "dynamic-agent",
|
|
68
|
+
name: "Dynamic Agent",
|
|
69
|
+
model: ({ requestContext }) => {
|
|
70
|
+
const useAdvanced = requestContext.task === "complex";
|
|
71
|
+
return useAdvanced
|
|
72
|
+
? "runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16"
|
|
73
|
+
: "runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4";
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
```
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
+
|
|
3
|
+
# SCNet Token Plan
|
|
4
|
+
|
|
5
|
+
Access 13 SCNet Token Plan models through Mastra's model router. Authentication is handled automatically using the `SCNET_API_KEY` environment variable.
|
|
6
|
+
|
|
7
|
+
Learn more in the [SCNet Token Plan documentation](https://www.scnet.cn/ac/openapi/doc/2.0/moduleapi/plans/token-plan.html).
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
SCNET_API_KEY=your-api-key
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { Agent } from "@mastra/core/agent";
|
|
15
|
+
|
|
16
|
+
const agent = new Agent({
|
|
17
|
+
id: "my-agent",
|
|
18
|
+
name: "My Agent",
|
|
19
|
+
instructions: "You are a helpful assistant",
|
|
20
|
+
model: "scnet-token-plan/DeepSeek-V3.2"
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// Generate a response
|
|
24
|
+
const response = await agent.generate("Hello!");
|
|
25
|
+
|
|
26
|
+
// Stream a response
|
|
27
|
+
const stream = await agent.stream("Tell me a story");
|
|
28
|
+
for await (const chunk of stream) {
|
|
29
|
+
console.log(chunk);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
> **Note:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [SCNet Token Plan documentation](https://www.scnet.cn/ac/openapi/doc/2.0/moduleapi/plans/token-plan.html) for details.
|
|
34
|
+
|
|
35
|
+
## Models
|
|
36
|
+
|
|
37
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
|
+
| ------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
+
| `scnet-token-plan/DeepSeek-V3.2` | 128K | | | | | | — | — |
|
|
40
|
+
| `scnet-token-plan/DeepSeek-V4-Flash` | 1.0M | | | | | | — | — |
|
|
41
|
+
| `scnet-token-plan/GLM-5` | 205K | | | | | | — | — |
|
|
42
|
+
| `scnet-token-plan/GLM-5.1` | 200K | | | | | | — | — |
|
|
43
|
+
| `scnet-token-plan/GLM-5.2` | 1.0M | | | | | | — | — |
|
|
44
|
+
| `scnet-token-plan/Kimi-K2.5` | 262K | | | | | | — | — |
|
|
45
|
+
| `scnet-token-plan/Kimi-K2.6` | 262K | | | | | | — | — |
|
|
46
|
+
| `scnet-token-plan/Kimi-K2.7-Code` | 262K | | | | | | — | — |
|
|
47
|
+
| `scnet-token-plan/Kimi-K3` | 1.0M | | | | | | — | — |
|
|
48
|
+
| `scnet-token-plan/MiMo-V2.5-Pro` | 1.0M | | | | | | — | — |
|
|
49
|
+
| `scnet-token-plan/MiniMax-M2.5` | 205K | | | | | | — | — |
|
|
50
|
+
| `scnet-token-plan/MiniMax-M2.7` | 205K | | | | | | — | — |
|
|
51
|
+
| `scnet-token-plan/MiniMax-M3` | 512K | | | | | | — | — |
|
|
52
|
+
|
|
53
|
+
## Advanced configuration
|
|
54
|
+
|
|
55
|
+
### Custom headers
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
const agent = new Agent({
|
|
59
|
+
id: "custom-agent",
|
|
60
|
+
name: "custom-agent",
|
|
61
|
+
model: {
|
|
62
|
+
url: "https://api.scnet.cn/api/llm/v1",
|
|
63
|
+
id: "scnet-token-plan/DeepSeek-V3.2",
|
|
64
|
+
apiKey: process.env.SCNET_API_KEY,
|
|
65
|
+
headers: {
|
|
66
|
+
"X-Custom-Header": "value"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Dynamic model selection
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
const agent = new Agent({
|
|
76
|
+
id: "dynamic-agent",
|
|
77
|
+
name: "Dynamic Agent",
|
|
78
|
+
model: ({ requestContext }) => {
|
|
79
|
+
const useAdvanced = requestContext.task === "complex";
|
|
80
|
+
return useAdvanced
|
|
81
|
+
? "scnet-token-plan/MiniMax-M3"
|
|
82
|
+
: "scnet-token-plan/DeepSeek-V3.2";
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Together AI
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 36 Together AI models through Mastra's model router. Authentication is handled automatically using the `TOGETHER_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Together AI documentation](https://docs.together.ai/docs/serverless-models).
|
|
8
8
|
|
|
@@ -37,6 +37,7 @@ for await (const chunk of stream) {
|
|
|
37
37
|
| `togetherai/deepcogito/cogito-v2-1-671b` | 164K | | | | | | $1 | $1 |
|
|
38
38
|
| `togetherai/deepseek-ai/DeepSeek-V4-Flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
39
39
|
| `togetherai/deepseek-ai/DeepSeek-V4-Pro` | 512K | | | | | | $2 | $3 |
|
|
40
|
+
| `togetherai/deepseek-ai/DeepSeek-V4-Pro-0813` | 1.0M | | | | | | $1 | $4 |
|
|
40
41
|
| `togetherai/google/gemma-3n-E4B-it` | 33K | | | | | | $0.06 | $0.12 |
|
|
41
42
|
| `togetherai/google/gemma-4-31B-it` | 262K | | | | | | $0.39 | $0.97 |
|
|
42
43
|
| `togetherai/LiquidAI/LFM2-24B-A2B` | 33K | | | | | | $0.03 | $0.12 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Umans AI Coding Plan
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 9 Umans AI Coding Plan models through Mastra's model router. Authentication is handled automatically using the `UMANS_AI_CODING_PLAN_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Umans AI Coding Plan documentation](https://app.umans.ai/offers/code/docs).
|
|
8
8
|
|
|
@@ -38,6 +38,7 @@ for await (const chunk of stream) {
|
|
|
38
38
|
| --------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
39
|
| `umans-ai-coding-plan/umans-coder` | 262K | | | | | | — | — |
|
|
40
40
|
| `umans-ai-coding-plan/umans-deepseek-v4-flash-0731` | 1.0M | | | | | | — | — |
|
|
41
|
+
| `umans-ai-coding-plan/umans-deepseek-v4-pro-0813` | 1.0M | | | | | | — | — |
|
|
41
42
|
| `umans-ai-coding-plan/umans-flash` | 262K | | | | | | — | — |
|
|
42
43
|
| `umans-ai-coding-plan/umans-glm-5.1` | 205K | | | | | | — | — |
|
|
43
44
|
| `umans-ai-coding-plan/umans-glm-5.2` | 406K | | | | | | — | — |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Umans AI
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 8 Umans AI models through Mastra's model router. Authentication is handled automatically using the `UMANS_AI_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Umans AI documentation](https://app.umans.ai/offers/code/docs/orgs).
|
|
8
8
|
|
|
@@ -38,6 +38,7 @@ for await (const chunk of stream) {
|
|
|
38
38
|
| --------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
39
|
| `umans-ai/umans-coder` | 262K | | | | | | $0.95 | $4 |
|
|
40
40
|
| `umans-ai/umans-deepseek-v4-flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
41
|
+
| `umans-ai/umans-deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
|
|
41
42
|
| `umans-ai/umans-flash` | 262K | | | | | | $0.15 | $1 |
|
|
42
43
|
| `umans-ai/umans-glm-5.1` | 205K | | | | | | $1 | $4 |
|
|
43
44
|
| `umans-ai/umans-glm-5.2` | 406K | | | | | | $1 | $4 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# xAI
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 12 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
|
|
|
@@ -42,6 +42,7 @@ for await (const chunk of stream) {
|
|
|
42
42
|
| `xai/grok-4.6` | 500K | | | | | | $2 | $6 |
|
|
43
43
|
| `xai/grok-build-0.1` | 256K | | | | | | $1 | $2 |
|
|
44
44
|
| `xai/grok-imagine-image` | 8K | | | | | | — | — |
|
|
45
|
+
| `xai/grok-imagine-image-2.0` | 8K | | | | | | — | — |
|
|
45
46
|
| `xai/grok-imagine-image-quality` | 8K | | | | | | — | — |
|
|
46
47
|
| `xai/grok-imagine-video` | 1K | | | | | | — | — |
|
|
47
48
|
| `xai/grok-imagine-video-1.5` | 1K | | | | | | — | — |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Z.AI Coding Plan
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 5 Z.AI Coding Plan models through Mastra's model router. Authentication is handled automatically using the `ZHIPU_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Z.AI Coding Plan documentation](https://docs.z.ai/devpack/overview).
|
|
8
8
|
|
|
@@ -40,6 +40,7 @@ for await (const chunk of stream) {
|
|
|
40
40
|
| `zai-coding-plan/glm-5-turbo` | 200K | | | | | | — | — |
|
|
41
41
|
| `zai-coding-plan/glm-5.2` | 1.0M | | | | | | — | — |
|
|
42
42
|
| `zai-coding-plan/glm-5.2-highspeed` | 1.0M | | | | | | — | — |
|
|
43
|
+
| `zai-coding-plan/glm-5.3` | 1.0M | | | | | | — | — |
|
|
43
44
|
|
|
44
45
|
## Advanced configuration
|
|
45
46
|
|
|
@@ -69,7 +70,7 @@ const agent = new Agent({
|
|
|
69
70
|
model: ({ requestContext }) => {
|
|
70
71
|
const useAdvanced = requestContext.task === "complex";
|
|
71
72
|
return useAdvanced
|
|
72
|
-
? "zai-coding-plan/glm-5.
|
|
73
|
+
? "zai-coding-plan/glm-5.3"
|
|
73
74
|
: "zai-coding-plan/glm-4.7";
|
|
74
75
|
}
|
|
75
76
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Zhipu AI Coding Plan
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 8 Zhipu AI Coding Plan models through Mastra's model router. Authentication is handled automatically using the `ZHIPU_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Zhipu AI Coding Plan documentation](https://docs.bigmodel.cn/cn/coding-plan/overview).
|
|
8
8
|
|
|
@@ -42,6 +42,7 @@ for await (const chunk of stream) {
|
|
|
42
42
|
| `zhipuai-coding-plan/glm-5.1` | 200K | | | | | | — | — |
|
|
43
43
|
| `zhipuai-coding-plan/glm-5.2` | 1.0M | | | | | | — | — |
|
|
44
44
|
| `zhipuai-coding-plan/glm-5.2-highspeed` | 1.0M | | | | | | — | — |
|
|
45
|
+
| `zhipuai-coding-plan/glm-5.3` | 1.0M | | | | | | — | — |
|
|
45
46
|
| `zhipuai-coding-plan/glm-5v-turbo` | 200K | | | | | | — | — |
|
|
46
47
|
|
|
47
48
|
## Advanced configuration
|
|
@@ -24,6 +24,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
|
|
|
24
24
|
- [Alibaba Token Plan](https://mastra.ai/models/providers/alibaba-token-plan)
|
|
25
25
|
- [Alibaba Token Plan (China)](https://mastra.ai/models/providers/alibaba-token-plan-cn)
|
|
26
26
|
- [Ambient](https://mastra.ai/models/providers/ambient)
|
|
27
|
+
- [AMD](https://mastra.ai/models/providers/amd)
|
|
27
28
|
- [AnyAPI](https://mastra.ai/models/providers/anyapi)
|
|
28
29
|
- [Atomic Chat](https://mastra.ai/models/providers/atomic-chat)
|
|
29
30
|
- [Auriko](https://mastra.ai/models/providers/auriko)
|
|
@@ -126,9 +127,11 @@ Direct access to individual AI model providers. Each provider offers unique mode
|
|
|
126
127
|
- [Regolo AI](https://mastra.ai/models/providers/regolo-ai)
|
|
127
128
|
- [Requesty](https://mastra.ai/models/providers/requesty)
|
|
128
129
|
- [routing.run](https://mastra.ai/models/providers/routing-run)
|
|
130
|
+
- [RunInfra](https://mastra.ai/models/providers/runinfra)
|
|
129
131
|
- [Sakana AI](https://mastra.ai/models/providers/sakana)
|
|
130
132
|
- [Sarvam AI](https://mastra.ai/models/providers/sarvam)
|
|
131
133
|
- [Scaleway](https://mastra.ai/models/providers/scaleway)
|
|
134
|
+
- [SCNet Token Plan](https://mastra.ai/models/providers/scnet-token-plan)
|
|
132
135
|
- [SCX.ai](https://mastra.ai/models/providers/scx)
|
|
133
136
|
- [SiliconFlow](https://mastra.ai/models/providers/siliconflow)
|
|
134
137
|
- [SiliconFlow (China)](https://mastra.ai/models/providers/siliconflow-cn)
|
|
@@ -196,6 +196,31 @@ const session = await controller.getSessionByResource('project-42', 'editor-wind
|
|
|
196
196
|
|
|
197
197
|
Returns: `Promise<Session<TState> | undefined>`
|
|
198
198
|
|
|
199
|
+
#### `onSessionCreated(listener, options?)`
|
|
200
|
+
|
|
201
|
+
Subscribe to process-local notifications after `createSession()` materializes a new live session. Listener errors are isolated and don't prevent other listeners from running. Call the returned function to unsubscribe.
|
|
202
|
+
|
|
203
|
+
By default listeners are fire-and-forget. Pass `{ blocking: true }` to make `createSession()` await the listener before resolving the new session, so the host can prepare session state before the caller can start a run. Blocking listeners run sequentially in registration order, before fire-and-forget listeners are notified. A blocking listener must not call `createSession()` for the same `(resourceId, scope)` pair. That call would await its own hydration and deadlock.
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
const unsubscribe = controller.onSessionCreated(
|
|
207
|
+
async session => {
|
|
208
|
+
const settings = await loadSettings(session.identity.getResourceId())
|
|
209
|
+
if (settings) await session.state.set(settings)
|
|
210
|
+
},
|
|
211
|
+
{ blocking: true },
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
// Default listeners stay fire-and-forget.
|
|
215
|
+
controller.onSessionCreated(session => {
|
|
216
|
+
console.log(`Created ${session.identity.getResourceId()}`)
|
|
217
|
+
})
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Listeners run once per newly materialized session, not for cached sessions returned by later `createSession()` calls. They run only in the current process and aren't persisted events.
|
|
221
|
+
|
|
222
|
+
Returns: `() => void`
|
|
223
|
+
|
|
199
224
|
#### `onSessionDeleted(listener)`
|
|
200
225
|
|
|
201
226
|
Subscribe to process-local notifications after `deleteSession()` tears down a live session. Listener errors are isolated and don't prevent other listeners from running. Call the returned function to unsubscribe.
|
|
@@ -472,5 +497,5 @@ await controller.stopIntervals()
|
|
|
472
497
|
- [AgentController guide](https://mastra.ai/docs/harness/agent-controller)
|
|
473
498
|
- [Session reference](https://mastra.ai/reference/agent-controller/session)
|
|
474
499
|
- [Agents](https://mastra.ai/docs/agents/overview)
|
|
475
|
-
- [
|
|
500
|
+
- [Sandbox](https://mastra.ai/docs/workspace/sandbox)
|
|
476
501
|
- [Channels](https://mastra.ai/docs/capabilities/channels)
|
|
@@ -229,4 +229,4 @@ browse skills install
|
|
|
229
229
|
|
|
230
230
|
- [BrowserViewer guide](https://mastra.ai/integrations/browsers/browser-viewer): Setup and usage walkthrough
|
|
231
231
|
- [MastraBrowser](https://mastra.ai/reference/browser/mastra-browser): Base class API reference
|
|
232
|
-
- [
|
|
232
|
+
- [Sandbox](https://mastra.ai/docs/workspace/sandbox): Workspace configuration
|
|
@@ -483,7 +483,7 @@ export const mastra = new Mastra({
|
|
|
483
483
|
|
|
484
484
|
A Mastra workspace gives agents a persistent environment for storing files and executing commands. Agents inherit the global workspace on the `Mastra` class unless they have their own workspace configured.
|
|
485
485
|
|
|
486
|
-
See the [Workspace documentation](https://mastra.ai/docs/workspace/
|
|
486
|
+
See the [Workspace documentation](https://mastra.ai/docs/workspace/sandbox) for implementation details.
|
|
487
487
|
|
|
488
488
|
```typescript
|
|
489
489
|
import { Mastra } from '@mastra/core'
|
|
@@ -24,5 +24,5 @@ When `destroy` is `true` and `workspace.destroy()` throws, the call rejects with
|
|
|
24
24
|
|
|
25
25
|
## Related
|
|
26
26
|
|
|
27
|
-
- [
|
|
27
|
+
- [Sandbox](https://mastra.ai/docs/workspace/sandbox)
|
|
28
28
|
- [Workspace class](https://mastra.ai/reference/workspace/workspace-class)
|
|
@@ -18,6 +18,7 @@ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
|
|
|
18
18
|
const item = await dataset.addItem({
|
|
19
19
|
input: { question: 'What is TypeScript?' },
|
|
20
20
|
groundTruth: { answer: 'A typed superset of JavaScript' },
|
|
21
|
+
scorerIds: ['accuracy', 'relevancy'],
|
|
21
22
|
metadata: { source: 'manual' },
|
|
22
23
|
})
|
|
23
24
|
|
|
@@ -30,6 +31,8 @@ console.log(item.id)
|
|
|
30
31
|
|
|
31
32
|
**groundTruth** (`unknown`): Expected output or ground truth for scoring.
|
|
32
33
|
|
|
34
|
+
**scorerIds** (`string[]`): Scorer IDs that override dataset-attached scorers for this item. An empty array runs no scorers for the item. Omit this field to inherit the dataset scorer IDs.
|
|
35
|
+
|
|
33
36
|
**metadata** (`Record<string, unknown>`): Arbitrary metadata for the item.
|
|
34
37
|
|
|
35
38
|
## Returns
|
|
@@ -46,6 +49,8 @@ console.log(item.id)
|
|
|
46
49
|
|
|
47
50
|
**result.groundTruth** (`unknown`): Ground truth data.
|
|
48
51
|
|
|
52
|
+
**result.scorerIds** (`string[]`): Scorer IDs selected for this item. An empty array is an explicit override that runs no scorers.
|
|
53
|
+
|
|
49
54
|
**result.metadata** (`Record<string, unknown>`): Item metadata.
|
|
50
55
|
|
|
51
56
|
**result.createdAt** (`Date`): When the item was created.
|
|
@@ -17,8 +17,16 @@ const dataset = await mastra.datasets.get({ id: 'dataset-id' })
|
|
|
17
17
|
|
|
18
18
|
const items = await dataset.addItems({
|
|
19
19
|
items: [
|
|
20
|
-
{
|
|
21
|
-
|
|
20
|
+
{
|
|
21
|
+
input: { question: 'What is AI?' },
|
|
22
|
+
groundTruth: { answer: 'Artificial Intelligence' },
|
|
23
|
+
scorerIds: ['accuracy'],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
input: { question: 'What is ML?' },
|
|
27
|
+
groundTruth: { answer: 'Machine Learning' },
|
|
28
|
+
scorerIds: [],
|
|
29
|
+
},
|
|
22
30
|
{ input: { question: 'What is DL?' }, metadata: { category: 'deep-learning' } },
|
|
23
31
|
],
|
|
24
32
|
})
|
|
@@ -34,6 +42,8 @@ console.log(`Added ${items.length} items`)
|
|
|
34
42
|
|
|
35
43
|
**items.groundTruth** (`unknown`): Expected output or ground truth.
|
|
36
44
|
|
|
45
|
+
**items.scorerIds** (`string[]`): Scorer IDs that override dataset-attached scorers for this item. An empty array runs no scorers for the item.
|
|
46
|
+
|
|
37
47
|
**items.metadata** (`Record<string, unknown>`): Arbitrary metadata.
|
|
38
48
|
|
|
39
49
|
## Returns
|
|
@@ -59,7 +59,7 @@ console.log(`Status: ${summary2.status}`)
|
|
|
59
59
|
|
|
60
60
|
**targetId** (`string`): ID of the registered target. Use with targetType.
|
|
61
61
|
|
|
62
|
-
**scorers** (`(MastraScorer | string)[] | AgentScorerConfig | WorkflowScorerConfig`): Scorers to evaluate each result. Accepts a flat array of MastraScorer instances or registered scorer IDs, or the same categorised config shape used by runEvals (AgentScorerConfig / WorkflowScorerConfig). Trajectory scorers (type: "trajectory") automatically receive a pre-extracted Trajectory as their output regardless of which form is used.
|
|
62
|
+
**scorers** (`(MastraScorer | string)[] | AgentScorerConfig | WorkflowScorerConfig`): Scorers to evaluate each result. Accepts a flat array of MastraScorer instances or registered scorer IDs, or the same categorised config shape used by runEvals (AgentScorerConfig / WorkflowScorerConfig). When this option is provided, including as \[] or an empty categorized config, it overrides item-level and dataset-level scorer IDs for every item. When omitted, each item uses its own scorerIds when present, then falls back to the dataset scorer IDs. Sources aren't merged. Trajectory scorers (type: "trajectory") automatically receive a pre-extracted Trajectory as their output regardless of which form is used. Workflow step scorers are supported only through this run-level categorized configuration. Their results carry the originating stepId and keep targetScope: "span" (matching runEvals).
|
|
63
63
|
|
|
64
64
|
**name** (`string`): Display name for the experiment.
|
|
65
65
|
|
|
@@ -19,6 +19,7 @@ const updated = await dataset.updateItem({
|
|
|
19
19
|
itemId: 'item-id',
|
|
20
20
|
input: { question: 'What is TypeScript?' },
|
|
21
21
|
groundTruth: { answer: 'A typed superset of JavaScript' },
|
|
22
|
+
scorerIds: null,
|
|
22
23
|
metadata: { reviewed: true },
|
|
23
24
|
})
|
|
24
25
|
```
|
|
@@ -31,6 +32,8 @@ const updated = await dataset.updateItem({
|
|
|
31
32
|
|
|
32
33
|
**groundTruth** (`unknown`): Updated ground truth.
|
|
33
34
|
|
|
35
|
+
**scorerIds** (`string[] | null`): Scorer IDs that override dataset-attached scorers for this item. Use \[] to run no scorers, null to remove the override and restore dataset inheritance, or omit the field to preserve the current value.
|
|
36
|
+
|
|
34
37
|
**metadata** (`Record<string, unknown>`): Updated metadata.
|
|
35
38
|
|
|
36
39
|
## Returns
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
> **Beta:** Breaking changes may occur without a major version bump until the API is stable.
|
|
6
6
|
|
|
7
|
-
A [workspace](https://mastra.ai/docs/workspace/
|
|
7
|
+
A [workspace](https://mastra.ai/docs/workspace/sandbox) assembles capabilities such as filesystem access and command execution. The configured backends determine which tools are available. File-based agents get a default workspace automatically when discovered through `mastra dev` or `mastra build`. This default includes filesystem access and command execution, so agents can read and write files and run shell commands without extra configuration.
|
|
8
8
|
|
|
9
|
-
Use this page for the file-based convention. For workspace providers, tools, search, lifecycle, and sandbox details, see [
|
|
9
|
+
Use this page for the file-based convention. For workspace providers, tools, search, lifecycle, and sandbox details, see [Sandbox](https://mastra.ai/docs/workspace/sandbox).
|
|
10
10
|
|
|
11
11
|
## Default workspace
|
|
12
12
|
|
|
@@ -65,7 +65,7 @@ Customize the workspace when the default local directory isn't enough. Common re
|
|
|
65
65
|
- Add workspace search with BM25 or vector search.
|
|
66
66
|
- Share one workspace across multiple agents.
|
|
67
67
|
|
|
68
|
-
For provider patterns and runtime behavior, see the [
|
|
68
|
+
For provider patterns and runtime behavior, see the [sandbox guide](https://mastra.ai/docs/workspace/sandbox) and [workspace search](https://mastra.ai/docs/workspace/search).
|
|
69
69
|
|
|
70
70
|
## Runtime boundary
|
|
71
71
|
|
|
@@ -57,6 +57,8 @@ OM performs thresholding with fast local token estimation. Text uses `tokenx`, a
|
|
|
57
57
|
|
|
58
58
|
**observation.instruction** (`string`): Custom instruction appended to the Observer's system prompt. Use this to customize what the Observer focuses on, such as domain-specific preferences or priorities.
|
|
59
59
|
|
|
60
|
+
**observation.continuationHints** (`boolean | { currentTask?: boolean; suggestedResponse?: boolean }`): Which continuation-hint sections the Observer emits. Pass false to disable both, or an object to disable them individually. Agents that drive their own control flow generally want { suggestedResponse: false } so memory does not compete for what the agent says next. A previously stored hint stops being injected into context once both observation and reflection disable its section.
|
|
61
|
+
|
|
60
62
|
**observation.threadTitle** (`boolean`): When true, the Observer suggests short thread titles and updates the thread title when the conversation topic meaningfully changes. This is opt-in and defaults to disabled.
|
|
61
63
|
|
|
62
64
|
**observation.extract** (`Extractor[]`): Custom values to extract after observation. Schema-less extractors are requested inline in the Observer output. Schema-backed extractors run as a follow-up structured output call and are stored in thread OM metadata.
|
|
@@ -97,6 +99,8 @@ OM performs thresholding with fast local token estimation. Text uses `tokenx`, a
|
|
|
97
99
|
|
|
98
100
|
**reflection.instruction** (`string`): Custom instruction appended to the Reflector's system prompt. Use this to customize how the Reflector consolidates observations, such as prioritizing certain types of information.
|
|
99
101
|
|
|
102
|
+
**reflection.continuationHints** (`boolean | { currentTask?: boolean; suggestedResponse?: boolean }`): Which continuation-hint sections the Reflector emits. Pass false to disable both, or an object to disable them individually. A previously stored hint stops being injected into context once both observation and reflection disable its section.
|
|
103
|
+
|
|
100
104
|
**reflection.extract** (`Extractor[]`): Custom values to extract after reflection. Schema-less extractors are requested inline in the Reflector output. Schema-backed extractors run as a follow-up structured output call and are stored in thread OM metadata.
|
|
101
105
|
|
|
102
106
|
**reflection.observationTokens** (`number`): Token count of observations that triggers reflection. When observation tokens exceed this threshold, the Reflector agent is called to condense them.
|
|
@@ -189,6 +189,8 @@ When an organization has exhausted its observability quota, the Mastra platform
|
|
|
189
189
|
|
|
190
190
|
The probe timer doesn't keep the Node.js process alive, so short-lived and serverless processes exit normally while paused.
|
|
191
191
|
|
|
192
|
+
Every request the exporter sends (batch uploads for all five signal types, plus the traces recovery probe) includes the `x-mastra-observability-capabilities: quota-pause-v1` header. This tells the platform that the client understands the quota-pause contract, so it can safely respond with `402` instead of silently dropping telemetry for older clients that would retry it.
|
|
193
|
+
|
|
192
194
|
### Endpoint routing
|
|
193
195
|
|
|
194
196
|
- Base origins derive signal endpoints automatically
|