@mastra/mcp-docs-server 1.2.14 → 1.2.15-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/a2a.md +36 -2
- package/.docs/docs/agents/processors.md +2 -0
- package/.docs/docs/capabilities/subagents.md +23 -5
- package/.docs/docs/connections/overview.md +94 -0
- package/.docs/docs/datasets/running-experiments.md +18 -0
- package/.docs/docs/harness/agent-controller.md +6 -0
- package/.docs/docs/harness/overview.md +26 -0
- package/.docs/docs/mcp/overview.md +10 -0
- package/.docs/guides/build-your-ui/ai-sdk-ui.md +25 -14
- package/.docs/models/gateways/neon.md +17 -14
- package/.docs/models/gateways/openrouter.md +3 -1
- package/.docs/models/gateways/vercel.md +3 -2
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/anthropic.md +2 -2
- package/.docs/models/providers/deepinfra.md +4 -1
- package/.docs/models/providers/digitalocean.md +1 -1
- package/.docs/models/providers/friendli.md +8 -9
- package/.docs/models/providers/huggingface.md +4 -1
- package/.docs/models/providers/hyper.md +7 -7
- package/.docs/models/providers/kilo.md +7 -5
- package/.docs/models/providers/llmgateway.md +1 -1
- package/.docs/models/providers/meta.md +7 -5
- package/.docs/models/providers/minimax.md +25 -23
- package/.docs/models/providers/nano-gpt.md +5 -3
- package/.docs/models/providers/openai.md +28 -26
- package/.docs/models/providers/opencode.md +0 -1
- package/.docs/models/providers/perplexity-agent.md +24 -24
- package/.docs/models/providers/pioneer.md +27 -1
- package/.docs/models/providers/upstage.md +3 -2
- package/.docs/reference/agents/generate.md +1 -1
- package/.docs/reference/ai-sdk/chat-route.md +2 -0
- package/.docs/reference/client-js/observability.md +22 -0
- package/.docs/reference/file-based-agents/schedules.md +232 -0
- package/.docs/reference/index.md +1 -0
- package/.docs/reference/streaming/agents/stream.md +1 -1
- package/.docs/reference/tools/mcp-client.md +54 -0
- package/.docs/reference/workspace/workspace-class.md +2 -0
- package/CHANGELOG.md +15 -0
- package/package.json +6 -6
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Hugging Face
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 60 Hugging Face models through Mastra's model router. Authentication is handled automatically using the `HF_TOKEN` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Hugging Face documentation](https://huggingface.co).
|
|
8
8
|
|
|
@@ -38,6 +38,8 @@ for await (const chunk of stream) {
|
|
|
38
38
|
| ------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
39
|
| `huggingface/deepseek-ai/DeepSeek-R1` | 64K | | | | | | $0.70 | $3 |
|
|
40
40
|
| `huggingface/deepseek-ai/DeepSeek-R1-0528` | 164K | | | | | | $3 | $5 |
|
|
41
|
+
| `huggingface/deepseek-ai/DeepSeek-V3` | 64K | | | | | | $0.40 | $1 |
|
|
42
|
+
| `huggingface/deepseek-ai/DeepSeek-V3.1` | 131K | | | | | | $0.27 | $1 |
|
|
41
43
|
| `huggingface/deepseek-ai/DeepSeek-V3.2` | 164K | | | | | | $0.28 | $0.40 |
|
|
42
44
|
| `huggingface/deepseek-ai/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
43
45
|
| `huggingface/deepseek-ai/DeepSeek-V4-Flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
@@ -60,6 +62,7 @@ for await (const chunk of stream) {
|
|
|
60
62
|
| `huggingface/openai/gpt-oss-120b` | 131K | | | | | | $0.25 | $0.69 |
|
|
61
63
|
| `huggingface/openai/gpt-oss-20b` | 131K | | | | | | $0.10 | $0.50 |
|
|
62
64
|
| `huggingface/Qwen/Qwen3-235B-A22B` | 41K | | | | | | $0.20 | $0.80 |
|
|
65
|
+
| `huggingface/Qwen/Qwen3-235B-A22B-Instruct-2507` | 262K | | | | | | $0.85 | $3 |
|
|
63
66
|
| `huggingface/Qwen/Qwen3-235B-A22B-Thinking-2507` | 262K | | | | | | $0.30 | $3 |
|
|
64
67
|
| `huggingface/Qwen/Qwen3-32B` | 131K | | | | | | $0.29 | $0.59 |
|
|
65
68
|
| `huggingface/Qwen/Qwen3-Coder-30B-A3B-Instruct` | 262K | | | | | | $0.07 | $0.26 |
|
|
@@ -37,20 +37,20 @@ for await (const chunk of stream) {
|
|
|
37
37
|
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
38
|
| ---------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
39
|
| `hyper/deepseek-v4-flash` | 1.0M | | | | | | $0.20 | $0.40 |
|
|
40
|
-
| `hyper/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.
|
|
40
|
+
| `hyper/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.20 | $0.40 |
|
|
41
41
|
| `hyper/deepseek-v4-pro` | 1.0M | | | | | | $2 | $5 |
|
|
42
|
-
| `hyper/gemma-4-26b-a4b-it` | 256K | | | | | | $0.12 | $0.
|
|
43
|
-
| `hyper/glm-5` | 203K | | | | | | $0.
|
|
42
|
+
| `hyper/gemma-4-26b-a4b-it` | 256K | | | | | | $0.12 | $0.42 |
|
|
43
|
+
| `hyper/glm-5` | 203K | | | | | | $0.85 | $3 |
|
|
44
44
|
| `hyper/glm-5.1` | 203K | | | | | | $2 | $5 |
|
|
45
45
|
| `hyper/glm-5.2` | 1.0M | | | | | | $1 | $4 |
|
|
46
|
-
| `hyper/gpt-oss-120b` | 131K | | | | | | $0.
|
|
47
|
-
| `hyper/kimi-k2.5` | 262K | | | | | | $0.
|
|
46
|
+
| `hyper/gpt-oss-120b` | 131K | | | | | | $0.19 | $0.73 |
|
|
47
|
+
| `hyper/kimi-k2.5` | 262K | | | | | | $0.55 | $3 |
|
|
48
48
|
| `hyper/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
|
|
49
49
|
| `hyper/kimi-k2.7-code` | 256K | | | | | | $0.95 | $4 |
|
|
50
50
|
| `hyper/kimi-k3` | 1.0M | | | | | | $3 | $16 |
|
|
51
51
|
| `hyper/llama-3.3-70b-instruct` | 128K | | | | | | $0.61 | $1 |
|
|
52
|
-
| `hyper/llama-4-maverick-17b-128e-instruct-fp8` | 430K | | | | | | $0.
|
|
53
|
-
| `hyper/minimax-m2.7` | 262K | | | | | | $0.
|
|
52
|
+
| `hyper/llama-4-maverick-17b-128e-instruct-fp8` | 430K | | | | | | $0.27 | $0.90 |
|
|
53
|
+
| `hyper/minimax-m2.7` | 262K | | | | | | $0.41 | $2 |
|
|
54
54
|
| `hyper/minimax-m3` | 512K | | | | | | $0.33 | $1 |
|
|
55
55
|
| `hyper/qwen3-coder-480b-a35b-instruct-int4-mixed-ar` | 106K | | | | | | $0.57 | $2 |
|
|
56
56
|
| `hyper/qwen3-next-80b-a3b-instruct` | 262K | | | | | | $0.12 | $1 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Kilo Gateway
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 347 Kilo Gateway models through Mastra's model router. Authentication is handled automatically using the `KILO_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Kilo Gateway documentation](https://kilo.ai).
|
|
8
8
|
|
|
@@ -139,6 +139,7 @@ for await (const chunk of stream) {
|
|
|
139
139
|
| `kilo/inception/mercury-2` | 128K | | | | | | $0.25 | $0.75 |
|
|
140
140
|
| `kilo/inclusionai/ling-2.6-1t` | 262K | | | | | | $0.30 | $3 |
|
|
141
141
|
| `kilo/inclusionai/ling-2.6-flash` | 262K | | | | | | $0.10 | $0.30 |
|
|
142
|
+
| `kilo/inclusionai/ling-3.0-flash` | 131K | | | | | | $0.07 | $0.22 |
|
|
142
143
|
| `kilo/inclusionai/ling-3.0-flash:free` | 262K | | | | | | — | — |
|
|
143
144
|
| `kilo/inclusionai/ring-2.6-1t` | 262K | | | | | | $0.30 | $3 |
|
|
144
145
|
| `kilo/kilo-auto/balanced` | 1.0M | | | | | | $0.33 | $2 |
|
|
@@ -160,6 +161,7 @@ for await (const chunk of stream) {
|
|
|
160
161
|
| `kilo/meta-llama/llama-4-scout` | 328K | | | | | | $0.10 | $0.30 |
|
|
161
162
|
| `kilo/meta-llama/llama-guard-4-12b` | 164K | | | | | | $0.18 | $0.18 |
|
|
162
163
|
| `kilo/meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
|
|
164
|
+
| `kilo/meta/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
|
|
163
165
|
| `kilo/microsoft/phi-4` | 16K | | | | | | $0.07 | $0.14 |
|
|
164
166
|
| `kilo/microsoft/wizardlm-2-8x22b` | 66K | | | | | | $0.62 | $0.62 |
|
|
165
167
|
| `kilo/minimax/minimax-01` | 1.0M | | | | | | $0.20 | $1 |
|
|
@@ -292,7 +294,7 @@ for await (const chunk of stream) {
|
|
|
292
294
|
| `kilo/qwen/qwen2.5-vl-72b-instruct` | 32K | | | | | | $0.25 | $0.75 |
|
|
293
295
|
| `kilo/qwen/qwen3-14b` | 131K | | | | | | $0.23 | $0.91 |
|
|
294
296
|
| `kilo/qwen/qwen3-235b-a22b` | 131K | | | | | | $0.46 | $2 |
|
|
295
|
-
| `kilo/qwen/qwen3-235b-a22b-2507` |
|
|
297
|
+
| `kilo/qwen/qwen3-235b-a22b-2507` | 262K | | | | | | $0.15 | $0.60 |
|
|
296
298
|
| `kilo/qwen/qwen3-235b-a22b-thinking-2507` | 131K | | | | | | $0.23 | $2 |
|
|
297
299
|
| `kilo/qwen/qwen3-30b-a3b` | 41K | | | | | | $0.13 | $0.52 |
|
|
298
300
|
| `kilo/qwen/qwen3-30b-a3b-instruct-2507` | 128K | | | | | | $0.13 | $0.52 |
|
|
@@ -323,7 +325,7 @@ for await (const chunk of stream) {
|
|
|
323
325
|
| `kilo/qwen/qwen3.5-flash-02-23` | 1.0M | | | | | | $0.07 | $0.26 |
|
|
324
326
|
| `kilo/qwen/qwen3.5-plus-02-15` | 1.0M | | | | | | $0.26 | $2 |
|
|
325
327
|
| `kilo/qwen/qwen3.5-plus-20260420` | 1.0M | | | | | | $0.30 | $2 |
|
|
326
|
-
| `kilo/qwen/qwen3.6-27b` |
|
|
328
|
+
| `kilo/qwen/qwen3.6-27b` | 262K | | | | | | $0.45 | $3 |
|
|
327
329
|
| `kilo/qwen/qwen3.6-35b-a3b` | 262K | | | | | | $0.14 | $1 |
|
|
328
330
|
| `kilo/qwen/qwen3.6-flash` | 1.0M | | | | | | $0.19 | $1 |
|
|
329
331
|
| `kilo/qwen/qwen3.6-max-preview` | 262K | | | | | | $1 | $6 |
|
|
@@ -378,8 +380,8 @@ for await (const chunk of stream) {
|
|
|
378
380
|
| `kilo/z-ai/glm-4.7-flash` | 203K | | | | | | $0.07 | $0.40 |
|
|
379
381
|
| `kilo/z-ai/glm-5` | 205K | | | | | | $1 | $3 |
|
|
380
382
|
| `kilo/z-ai/glm-5-turbo` | 203K | | | | | | $1 | $4 |
|
|
381
|
-
| `kilo/z-ai/glm-5.1` |
|
|
382
|
-
| `kilo/z-ai/glm-5.2` |
|
|
383
|
+
| `kilo/z-ai/glm-5.1` | 203K | | | | | | $1 | $4 |
|
|
384
|
+
| `kilo/z-ai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
|
|
383
385
|
| `kilo/z-ai/glm-5v-turbo` | 203K | | | | | | $1 | $4 |
|
|
384
386
|
|
|
385
387
|
## Advanced configuration
|
|
@@ -215,7 +215,7 @@ for await (const chunk of stream) {
|
|
|
215
215
|
| `llmgateway/qwen3.7-flash` | 1.0M | | | | | | $0.03 | $0.13 |
|
|
216
216
|
| `llmgateway/qwen3.7-max` | 1.0M | | | | | | $1 | $4 |
|
|
217
217
|
| `llmgateway/qwen3.7-plus` | 1.0M | | | | | | $0.40 | $2 |
|
|
218
|
-
| `llmgateway/qwen3.8-max` | 1.0M | | | | | | $2 | $
|
|
218
|
+
| `llmgateway/qwen3.8-max` | 1.0M | | | | | | $2 | $5 |
|
|
219
219
|
| `llmgateway/qwen35-397b-a17b` | 262K | | | | | | $0.60 | $4 |
|
|
220
220
|
| `llmgateway/seed-1-6-250615` | 256K | | | | | | $0.25 | $2 |
|
|
221
221
|
| `llmgateway/seed-1-6-250915` | 256K | | | | | | $0.25 | $2 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Meta
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 3 Meta models through Mastra's model router. Authentication is handled automatically using the `META_MODEL_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Meta documentation](https://dev.meta.ai/docs).
|
|
8
8
|
|
|
@@ -34,9 +34,11 @@ for await (const chunk of stream) {
|
|
|
34
34
|
|
|
35
35
|
## Models
|
|
36
36
|
|
|
37
|
-
| Model
|
|
38
|
-
|
|
|
39
|
-
| `meta/muse-spark-1.1`
|
|
37
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
|
+
| --------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
+
| `meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
|
|
40
|
+
| `meta/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
|
|
41
|
+
| `meta/muse-spark-1.2-contributor` | 1.0M | | | | | | $0.10 | $0.20 |
|
|
40
42
|
|
|
41
43
|
## Advanced configuration
|
|
42
44
|
|
|
@@ -66,7 +68,7 @@ const agent = new Agent({
|
|
|
66
68
|
model: ({ requestContext }) => {
|
|
67
69
|
const useAdvanced = requestContext.task === "complex";
|
|
68
70
|
return useAdvanced
|
|
69
|
-
? "meta/muse-spark-1.
|
|
71
|
+
? "meta/muse-spark-1.2-contributor"
|
|
70
72
|
: "meta/muse-spark-1.1";
|
|
71
73
|
}
|
|
72
74
|
});
|
|
@@ -11,22 +11,22 @@ MINIMAX_API_KEY=your-api-key
|
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import { Agent } from
|
|
14
|
+
import { Agent } from "@mastra/core/agent";
|
|
15
15
|
|
|
16
16
|
const agent = new Agent({
|
|
17
|
-
id:
|
|
18
|
-
name:
|
|
19
|
-
instructions:
|
|
20
|
-
model:
|
|
21
|
-
})
|
|
17
|
+
id: "my-agent",
|
|
18
|
+
name: "My Agent",
|
|
19
|
+
instructions: "You are a helpful assistant",
|
|
20
|
+
model: "minimax/MiniMax-M2"
|
|
21
|
+
});
|
|
22
22
|
|
|
23
23
|
// Generate a response
|
|
24
|
-
const response = await agent.generate(
|
|
24
|
+
const response = await agent.generate("Hello!");
|
|
25
25
|
|
|
26
26
|
// Stream a response
|
|
27
|
-
const stream = await agent.stream(
|
|
27
|
+
const stream = await agent.stream("Tell me a story");
|
|
28
28
|
for await (const chunk of stream) {
|
|
29
|
-
console.log(chunk)
|
|
29
|
+
console.log(chunk);
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
@@ -50,30 +50,32 @@ for await (const chunk of stream) {
|
|
|
50
50
|
|
|
51
51
|
```typescript
|
|
52
52
|
const agent = new Agent({
|
|
53
|
-
id:
|
|
54
|
-
name:
|
|
53
|
+
id: "custom-agent",
|
|
54
|
+
name: "custom-agent",
|
|
55
55
|
model: {
|
|
56
|
-
url:
|
|
57
|
-
id:
|
|
56
|
+
url: "https://api.minimax.io/anthropic/v1",
|
|
57
|
+
id: "minimax/MiniMax-M2",
|
|
58
58
|
apiKey: process.env.MINIMAX_API_KEY,
|
|
59
59
|
headers: {
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
})
|
|
60
|
+
"X-Custom-Header": "value"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
### Dynamic model selection
|
|
67
67
|
|
|
68
68
|
```typescript
|
|
69
69
|
const agent = new Agent({
|
|
70
|
-
id:
|
|
71
|
-
name:
|
|
70
|
+
id: "dynamic-agent",
|
|
71
|
+
name: "Dynamic Agent",
|
|
72
72
|
model: ({ requestContext }) => {
|
|
73
|
-
const useAdvanced = requestContext.task ===
|
|
74
|
-
return useAdvanced
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
const useAdvanced = requestContext.task === "complex";
|
|
74
|
+
return useAdvanced
|
|
75
|
+
? "minimax/MiniMax-M3"
|
|
76
|
+
: "minimax/MiniMax-M2";
|
|
77
|
+
}
|
|
78
|
+
});
|
|
77
79
|
```
|
|
78
80
|
|
|
79
81
|
## Direct provider installation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# NanoGPT
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 617 NanoGPT models through Mastra's model router. Authentication is handled automatically using the `NANO_GPT_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [NanoGPT documentation](https://docs.nano-gpt.com).
|
|
8
8
|
|
|
@@ -262,8 +262,8 @@ for await (const chunk of stream) {
|
|
|
262
262
|
| `nano-gpt/ibm-granite/granite-4.1-8b` | 131K | | | | | | $0.05 | $0.10 |
|
|
263
263
|
| `nano-gpt/inclusionai/ling-2.6-1t` | 262K | | | | | | $0.30 | $3 |
|
|
264
264
|
| `nano-gpt/inclusionai/ling-2.6-flash` | 262K | | | | | | $0.10 | $0.30 |
|
|
265
|
-
| `nano-gpt/inclusionai/ling-3.0-flash` | 262K | | | | | | $0.
|
|
266
|
-
| `nano-gpt/inclusionai/ling-3.0-flash:thinking` | 262K | | | | | | $0.
|
|
265
|
+
| `nano-gpt/inclusionai/ling-3.0-flash` | 262K | | | | | | $0.07 | $0.22 |
|
|
266
|
+
| `nano-gpt/inclusionai/ling-3.0-flash:thinking` | 262K | | | | | | $0.07 | $0.22 |
|
|
267
267
|
| `nano-gpt/inclusionai/ring-2.6-1t` | 262K | | | | | | $0.30 | $3 |
|
|
268
268
|
| `nano-gpt/inflatebot/MN-12B-Mag-Mell-R1` | 16K | | | | | | $0.49 | $0.49 |
|
|
269
269
|
| `nano-gpt/inflection/inflection-3-pi` | 8K | | | | | | $2 | $10 |
|
|
@@ -296,6 +296,8 @@ for await (const chunk of stream) {
|
|
|
296
296
|
| `nano-gpt/meta-llama/llama-4-maverick` | 1.0M | | | | | | $0.15 | $0.60 |
|
|
297
297
|
| `nano-gpt/meta-llama/llama-4-scout` | 328K | | | | | | $0.09 | $0.46 |
|
|
298
298
|
| `nano-gpt/meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
|
|
299
|
+
| `nano-gpt/meta/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
|
|
300
|
+
| `nano-gpt/meta/muse-spark-1.2-contributor` | 1.0M | | | | | | $0.10 | $0.20 |
|
|
299
301
|
| `nano-gpt/microsoft/wizardlm-2-8x22b` | 66K | | | | | | $0.49 | $0.49 |
|
|
300
302
|
| `nano-gpt/MiniMax-M1` | 1.0M | | | | | | $0.14 | $1 |
|
|
301
303
|
| `nano-gpt/MiniMax-M2` | 200K | | | | | | $0.17 | $2 |
|
|
@@ -11,22 +11,22 @@ OPENAI_API_KEY=your-api-key
|
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import { Agent } from
|
|
14
|
+
import { Agent } from "@mastra/core/agent";
|
|
15
15
|
|
|
16
16
|
const agent = new Agent({
|
|
17
|
-
id:
|
|
18
|
-
name:
|
|
19
|
-
instructions:
|
|
20
|
-
model:
|
|
21
|
-
})
|
|
17
|
+
id: "my-agent",
|
|
18
|
+
name: "My Agent",
|
|
19
|
+
instructions: "You are a helpful assistant",
|
|
20
|
+
model: "openai/chatgpt-image-latest"
|
|
21
|
+
});
|
|
22
22
|
|
|
23
23
|
// Generate a response
|
|
24
|
-
const response = await agent.generate(
|
|
24
|
+
const response = await agent.generate("Hello!");
|
|
25
25
|
|
|
26
26
|
// Stream a response
|
|
27
|
-
const stream = await agent.stream(
|
|
27
|
+
const stream = await agent.stream("Tell me a story");
|
|
28
28
|
for await (const chunk of stream) {
|
|
29
|
-
console.log(chunk)
|
|
29
|
+
console.log(chunk);
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
@@ -78,29 +78,31 @@ for await (const chunk of stream) {
|
|
|
78
78
|
|
|
79
79
|
```typescript
|
|
80
80
|
const agent = new Agent({
|
|
81
|
-
id:
|
|
82
|
-
name:
|
|
81
|
+
id: "custom-agent",
|
|
82
|
+
name: "custom-agent",
|
|
83
83
|
model: {
|
|
84
|
-
id:
|
|
84
|
+
id: "openai/chatgpt-image-latest",
|
|
85
85
|
apiKey: process.env.OPENAI_API_KEY,
|
|
86
86
|
headers: {
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
})
|
|
87
|
+
"X-Custom-Header": "value"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
### Dynamic model selection
|
|
94
94
|
|
|
95
95
|
```typescript
|
|
96
96
|
const agent = new Agent({
|
|
97
|
-
id:
|
|
98
|
-
name:
|
|
97
|
+
id: "dynamic-agent",
|
|
98
|
+
name: "Dynamic Agent",
|
|
99
99
|
model: ({ requestContext }) => {
|
|
100
|
-
const useAdvanced = requestContext.task ===
|
|
101
|
-
return useAdvanced
|
|
102
|
-
|
|
103
|
-
|
|
100
|
+
const useAdvanced = requestContext.task === "complex";
|
|
101
|
+
return useAdvanced
|
|
102
|
+
? "openai/text-embedding-ada-002"
|
|
103
|
+
: "openai/chatgpt-image-latest";
|
|
104
|
+
}
|
|
105
|
+
});
|
|
104
106
|
```
|
|
105
107
|
|
|
106
108
|
## Provider Options
|
|
@@ -108,13 +110,13 @@ const agent = new Agent({
|
|
|
108
110
|
OpenAI supports the following provider-specific options via the `providerOptions` parameter:
|
|
109
111
|
|
|
110
112
|
```typescript
|
|
111
|
-
const response = await agent.generate(
|
|
113
|
+
const response = await agent.generate("Hello!", {
|
|
112
114
|
providerOptions: {
|
|
113
115
|
openai: {
|
|
114
116
|
// See available options in the table below
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
})
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
});
|
|
118
120
|
```
|
|
119
121
|
|
|
120
122
|
### Available Options
|
|
@@ -39,7 +39,6 @@ for await (const chunk of stream) {
|
|
|
39
39
|
| `opencode/big-pickle` | 200K | | | | | | — | — |
|
|
40
40
|
| `opencode/claude-fable-5` | 1.0M | | | | | | $10 | $50 |
|
|
41
41
|
| `opencode/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
|
|
42
|
-
| `opencode/claude-opus-4-1` | 200K | | | | | | $15 | $75 |
|
|
43
42
|
| `opencode/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
|
|
44
43
|
| `opencode/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
|
|
45
44
|
| `opencode/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
|
|
@@ -11,22 +11,22 @@ PERPLEXITY_API_KEY=your-api-key
|
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import { Agent } from
|
|
14
|
+
import { Agent } from "@mastra/core/agent";
|
|
15
15
|
|
|
16
16
|
const agent = new Agent({
|
|
17
|
-
id:
|
|
18
|
-
name:
|
|
19
|
-
instructions:
|
|
20
|
-
model:
|
|
21
|
-
})
|
|
17
|
+
id: "my-agent",
|
|
18
|
+
name: "My Agent",
|
|
19
|
+
instructions: "You are a helpful assistant",
|
|
20
|
+
model: "perplexity-agent/anthropic/claude-haiku-4-5"
|
|
21
|
+
});
|
|
22
22
|
|
|
23
23
|
// Generate a response
|
|
24
|
-
const response = await agent.generate(
|
|
24
|
+
const response = await agent.generate("Hello!");
|
|
25
25
|
|
|
26
26
|
// Stream a response
|
|
27
|
-
const stream = await agent.stream(
|
|
27
|
+
const stream = await agent.stream("Tell me a story");
|
|
28
28
|
for await (const chunk of stream) {
|
|
29
|
-
console.log(chunk)
|
|
29
|
+
console.log(chunk);
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
@@ -63,32 +63,32 @@ for await (const chunk of stream) {
|
|
|
63
63
|
|
|
64
64
|
```typescript
|
|
65
65
|
const agent = new Agent({
|
|
66
|
-
id:
|
|
67
|
-
name:
|
|
66
|
+
id: "custom-agent",
|
|
67
|
+
name: "custom-agent",
|
|
68
68
|
model: {
|
|
69
|
-
url:
|
|
70
|
-
id:
|
|
69
|
+
url: "https://api.perplexity.ai/v1",
|
|
70
|
+
id: "perplexity-agent/anthropic/claude-haiku-4-5",
|
|
71
71
|
apiKey: process.env.PERPLEXITY_API_KEY,
|
|
72
72
|
headers: {
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
})
|
|
73
|
+
"X-Custom-Header": "value"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
### Dynamic model selection
|
|
80
80
|
|
|
81
81
|
```typescript
|
|
82
82
|
const agent = new Agent({
|
|
83
|
-
id:
|
|
84
|
-
name:
|
|
83
|
+
id: "dynamic-agent",
|
|
84
|
+
name: "Dynamic Agent",
|
|
85
85
|
model: ({ requestContext }) => {
|
|
86
|
-
const useAdvanced = requestContext.task ===
|
|
86
|
+
const useAdvanced = requestContext.task === "complex";
|
|
87
87
|
return useAdvanced
|
|
88
|
-
?
|
|
89
|
-
:
|
|
90
|
-
}
|
|
91
|
-
})
|
|
88
|
+
? "perplexity-agent/xai/grok-4-1-fast-non-reasoning"
|
|
89
|
+
: "perplexity-agent/anthropic/claude-haiku-4-5";
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
## Direct provider installation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Pioneer
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 102 Pioneer models through Mastra's model router. Authentication is handled automatically using the `PIONEER_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Pioneer documentation](https://agent.pioneer.ai/llms.txt).
|
|
8
8
|
|
|
@@ -36,16 +36,23 @@ for await (const chunk of stream) {
|
|
|
36
36
|
|
|
37
37
|
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
38
|
| ------------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
+
| `pioneer/claude-3-7-sonnet-latest` | 1.0M | | | | | | $3 | $15 |
|
|
40
|
+
| `pioneer/claude-fable-5` | 1.0M | | | | | | $11 | $55 |
|
|
39
41
|
| `pioneer/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
|
|
40
42
|
| `pioneer/claude-opus-4-1` | 200K | | | | | | $15 | $75 |
|
|
41
43
|
| `pioneer/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
|
|
42
44
|
| `pioneer/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
|
|
43
45
|
| `pioneer/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
|
|
44
46
|
| `pioneer/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
|
|
47
|
+
| `pioneer/claude-opus-5` | 1.0M | | | | | | $5 | $25 |
|
|
45
48
|
| `pioneer/claude-sonnet-4-5` | 1.0M | | | | | | $3 | $15 |
|
|
46
49
|
| `pioneer/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
|
|
50
|
+
| `pioneer/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
|
|
51
|
+
| `pioneer/deepseek-ai/DeepSeek-V3` | 164K | | | | | | $0.27 | $1 |
|
|
52
|
+
| `pioneer/deepseek-ai/DeepSeek-V3.1` | 164K | | | | | | $0.56 | $2 |
|
|
47
53
|
| `pioneer/deepseek-ai/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.10 | $0.20 |
|
|
48
54
|
| `pioneer/deepseek-ai/DeepSeek-V4-Pro` | 1.0M | | | | | | $0.43 | $0.87 |
|
|
55
|
+
| `pioneer/devstral-2` | 256K | | | | | | $0.40 | $2 |
|
|
49
56
|
| `pioneer/fastino/gliguard-LLMGuardrails-300M` | 8K | | | | | | $0.15 | $0.15 |
|
|
50
57
|
| `pioneer/fastino/gliner2-base-v1` | 8K | | | | | | $0.15 | $0.15 |
|
|
51
58
|
| `pioneer/fastino/gliner2-large-v1` | 8K | | | | | | $0.15 | $0.15 |
|
|
@@ -53,8 +60,11 @@ for await (const chunk of stream) {
|
|
|
53
60
|
| `pioneer/fastino/gliner2-multi-v1` | 8K | | | | | | $0.15 | $0.15 |
|
|
54
61
|
| `pioneer/fastino/gliner2-privacy-filter-PII-multi` | 8K | | | | | | $0.15 | $0.15 |
|
|
55
62
|
| `pioneer/gemini-3-flash` | 1.0M | | | | | | $0.50 | $3 |
|
|
63
|
+
| `pioneer/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
|
|
56
64
|
| `pioneer/gemini-3.1-pro` | 1.0M | | | | | | $2 | $12 |
|
|
57
65
|
| `pioneer/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
|
|
66
|
+
| `pioneer/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
|
|
67
|
+
| `pioneer/gemini-3.6-flash` | 1.0M | | | | | | $2 | $8 |
|
|
58
68
|
| `pioneer/google/diffusiongemma-26B-A4B-it` | 262K | | | | | | $0.50 | $0.50 |
|
|
59
69
|
| `pioneer/google/gemma-3-4b-pt` | 33K | | | | | | $0.15 | $0.15 |
|
|
60
70
|
| `pioneer/google/gemma-4-12B-it` | 33K | | | | | | $0.25 | $0.25 |
|
|
@@ -74,27 +84,43 @@ for await (const chunk of stream) {
|
|
|
74
84
|
| `pioneer/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
|
|
75
85
|
| `pioneer/gpt-5.4-nano` | 1.0M | | | | | | $0.20 | $1 |
|
|
76
86
|
| `pioneer/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
|
|
87
|
+
| `pioneer/gpt-5.6-luna` | 1.1M | | | | | | $1 | $6 |
|
|
88
|
+
| `pioneer/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
|
|
89
|
+
| `pioneer/gpt-5.6-terra` | 1.1M | | | | | | $3 | $15 |
|
|
90
|
+
| `pioneer/grok-4.5` | 500K | | | | | | $2 | $6 |
|
|
77
91
|
| `pioneer/HuggingFaceTB/SmolLM3-3B-Base` | 33K | | | | | | $0.15 | $0.15 |
|
|
78
92
|
| `pioneer/LiquidAI/LFM2-24B-A2B` | 33K | | | | | | $0.03 | $0.12 |
|
|
79
93
|
| `pioneer/meta-llama/Llama-3.1-8B-Instruct` | 131K | | | | | | $0.20 | $0.20 |
|
|
94
|
+
| `pioneer/meta-llama/Llama-3.2-1B` | 131K | | | | | | $0.10 | $0.10 |
|
|
80
95
|
| `pioneer/meta-llama/Llama-3.2-1B-Instruct` | 131K | | | | | | $0.10 | $0.20 |
|
|
96
|
+
| `pioneer/meta-llama/Llama-3.2-3B` | 131K | | | | | | $0.10 | $0.10 |
|
|
81
97
|
| `pioneer/meta-llama/Llama-3.2-3B-Instruct` | 131K | | | | | | $0.10 | $0.34 |
|
|
82
98
|
| `pioneer/meta-llama/Llama-3.3-70B-Instruct` | 131K | | | | | | $0.90 | $0.90 |
|
|
99
|
+
| `pioneer/meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
|
|
83
100
|
| `pioneer/MiniMaxAI/MiniMax-M2.7` | 205K | | | | | | $0.28 | $1 |
|
|
84
101
|
| `pioneer/MiniMaxAI/MiniMax-M3` | 1.0M | | | | | | $0.30 | $1 |
|
|
102
|
+
| `pioneer/mistral-large-3` | 256K | | | | | | $0.50 | $2 |
|
|
85
103
|
| `pioneer/mistral-medium-3.5` | 262K | | | | | | $2 | $8 |
|
|
104
|
+
| `pioneer/mistralai/Codestral-22B-v0.1` | 128K | | | | | | $0.30 | $0.90 |
|
|
105
|
+
| `pioneer/mistralai/Magistral-Small-2506` | 128K | | | | | | $0.50 | $2 |
|
|
106
|
+
| `pioneer/mistralai/Ministral-8B-Instruct-2410` | 128K | | | | | | $0.15 | $0.15 |
|
|
86
107
|
| `pioneer/mistralai/Mistral-7B-Instruct-v0.3` | 33K | | | | | | $0.20 | $0.20 |
|
|
87
108
|
| `pioneer/mistralai/Mistral-Nemo-Instruct-2407` | 131K | | | | | | $0.02 | $0.03 |
|
|
88
109
|
| `pioneer/mistralai/Mistral-Small-4-119B-2603` | 262K | | | | | | $0.15 | $0.60 |
|
|
110
|
+
| `pioneer/mistralai/Pixtral-12B-2409` | 128K | | | | | | $0.15 | $0.15 |
|
|
89
111
|
| `pioneer/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.95 | $4 |
|
|
90
112
|
| `pioneer/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.95 | $4 |
|
|
113
|
+
| `pioneer/moonshotai/Kimi-K3` | 1.0M | | | | | | $3 | $15 |
|
|
91
114
|
| `pioneer/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16` | 262K | | | | | | $0.05 | $0.20 |
|
|
92
115
|
| `pioneer/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8` | 1.0M | | | | | | $0.09 | $0.45 |
|
|
93
116
|
| `pioneer/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16` | 1.0M | | | | | | $0.50 | $3 |
|
|
94
117
|
| `pioneer/openai/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
|
|
95
118
|
| `pioneer/openai/gpt-oss-20b` | 131K | | | | | | $0.07 | $0.30 |
|
|
96
119
|
| `pioneer/pioneer/auto` | 1.0M | | | | | | — | — |
|
|
120
|
+
| `pioneer/poolside/laguna-s-2.1` | 1.0M | | | | | | $0.10 | $0.20 |
|
|
121
|
+
| `pioneer/Qwen/Qwen2.5-Coder-0.5B` | 33K | | | | | | $0.10 | $0.10 |
|
|
97
122
|
| `pioneer/Qwen/Qwen3-1.7B-Base` | 33K | | | | | | $0.10 | $0.10 |
|
|
123
|
+
| `pioneer/Qwen/Qwen3-235B-A22B-Instruct-2507` | 262K | | | | | | $1 | $1 |
|
|
98
124
|
| `pioneer/Qwen/Qwen3-32B` | 131K | | | | | | $0.90 | $0.90 |
|
|
99
125
|
| `pioneer/Qwen/Qwen3-4B-Base` | 33K | | | | | | $0.15 | $0.15 |
|
|
100
126
|
| `pioneer/Qwen/Qwen3-4B-Instruct-2507` | 262K | | | | | | $0.20 | $0.20 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Upstage
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 4 Upstage models through Mastra's model router. Authentication is handled automatically using the `UPSTAGE_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Upstage documentation](https://developers.upstage.ai).
|
|
8
8
|
|
|
@@ -39,6 +39,7 @@ for await (const chunk of stream) {
|
|
|
39
39
|
| `upstage/solar-mini` | 33K | | | | | | $0.15 | $0.15 |
|
|
40
40
|
| `upstage/solar-pro2` | 66K | | | | | | $0.25 | $0.25 |
|
|
41
41
|
| `upstage/solar-pro3` | 131K | | | | | | $0.25 | $0.25 |
|
|
42
|
+
| `upstage/solar-pro4` | 524K | | | | | | $0.30 | $1 |
|
|
42
43
|
|
|
43
44
|
## Advanced configuration
|
|
44
45
|
|
|
@@ -68,7 +69,7 @@ const agent = new Agent({
|
|
|
68
69
|
model: ({ requestContext }) => {
|
|
69
70
|
const useAdvanced = requestContext.task === "complex";
|
|
70
71
|
return useAdvanced
|
|
71
|
-
? "upstage/solar-
|
|
72
|
+
? "upstage/solar-pro4"
|
|
72
73
|
: "upstage/solar-mini";
|
|
73
74
|
}
|
|
74
75
|
});
|
|
@@ -56,7 +56,7 @@ const result = await agent.generate('message for agent')
|
|
|
56
56
|
|
|
57
57
|
**options.delegation** (`DelegationConfig`): Configuration for subagent delegation. Use this to control and monitor when the agent delegates tasks to other agents, including the ability to modify, reject delegations, and provide feedback to guide the supervisor.
|
|
58
58
|
|
|
59
|
-
**options.delegation.onDelegationStart** (`(context: DelegationStartContext) => DelegationStartResult | void | Promise<DelegationStartResult | void>`): Called before delegating to a subagent. Use this to modify the delegation parameters
|
|
59
|
+
**options.delegation.onDelegationStart** (`(context: DelegationStartContext) => DelegationStartResult | void | Promise<DelegationStartResult | void>`): Called before delegating to a subagent. Use this to modify the delegation parameters, reject the delegation entirely, or mutate context.requestContext to add entries to the subagent run's request context.
|
|
60
60
|
|
|
61
61
|
**options.delegation.onDelegationComplete** (`(context: DelegationCompleteContext) => { feedback?: string } | void | Promise<{ feedback?: string } | void>`): Called after a subagent delegation completes. The context includes a bail() method to stop further execution, and you can return { feedback } to guide the supervisor's next action. Feedback is saved to supervisor memory as an assistant message.
|
|
62
62
|
|
|
@@ -69,6 +69,8 @@ export const mastra = new Mastra({
|
|
|
69
69
|
|
|
70
70
|
**sendSources** (`boolean`): Whether to include source citations in the stream. (Default: `false`)
|
|
71
71
|
|
|
72
|
+
**heartbeatMs** (`number`): Interval in milliseconds for SSE heartbeats that keep connections active through infrastructure with idle timeouts.
|
|
73
|
+
|
|
72
74
|
## Additional configuration
|
|
73
75
|
|
|
74
76
|
You can use [`prepareSendMessagesRequest`](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat#transport.default-chat-transport.prepare-send-messages-request) to customize the request sent to the chat route, for example to pass additional configuration to the agent:
|
|
@@ -41,6 +41,28 @@ console.log(`Total pages: ${traces.pagination.totalPages}`)
|
|
|
41
41
|
const completeTrace = await mastraClient.getTrace(traces.spans[0].traceId)
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
+
## Listing traces for a list view
|
|
45
|
+
|
|
46
|
+
`listTracesLight()` returns the same rows as a trace list, without the `input`, `output` and `attributes` payloads. Each row carries a short `inputPreview` string instead, so a list can render a preview column without transferring the whole prompt.
|
|
47
|
+
|
|
48
|
+
Prefer it whenever you are rendering many traces at once, and fetch the full record only when a row is opened:
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
const list = await mastraClient.listTracesLight({
|
|
52
|
+
pagination: { page: 0, perPage: 25 },
|
|
53
|
+
filters: { entityType: 'agent' },
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
for (const span of list.spans) {
|
|
57
|
+
console.log(span.name, span.inputPreview)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Fetch the full payload only for the trace the user selects
|
|
61
|
+
const selected = await mastraClient.getTrace(list.spans[0].traceId)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
It accepts the same filtering, ordering and delta-polling arguments as `listTraces()`. Use `listTraces()` when you actually need the full span payloads.
|
|
65
|
+
|
|
44
66
|
## Scoring traces
|
|
45
67
|
|
|
46
68
|
Score specific traces using registered scorers for evaluation:
|