@mastra/mcp-docs-server 1.2.19-alpha.3 → 1.2.19-alpha.6
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/evals/overview.md +33 -1
- package/.docs/docs/observability/integrations/exporters/mastra-storage.md +11 -8
- package/.docs/integrations/sandboxes/e2b.md +2 -0
- package/.docs/integrations/tools/parallel.md +240 -0
- package/.docs/integrations.md +1 -0
- package/.docs/models/gateways/merge-gateway.md +2 -1
- package/.docs/models/gateways/netlify.md +1 -1
- package/.docs/models/gateways/openrouter.md +6 -3
- package/.docs/models/gateways/vercel.md +3 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/crof.md +3 -8
- package/.docs/models/providers/crossmodel.md +56 -55
- package/.docs/models/providers/deepseek.md +8 -7
- package/.docs/models/providers/digitalocean.md +1 -1
- package/.docs/models/providers/edenai.md +10 -8
- package/.docs/models/providers/hyper.md +3 -3
- package/.docs/models/providers/kilo.md +17 -12
- package/.docs/models/providers/llmgateway-providers.md +7 -3
- package/.docs/models/providers/llmgateway.md +1 -3
- package/.docs/models/providers/nano-gpt.md +5 -2
- package/.docs/models/providers/nvidia.md +3 -1
- package/.docs/models/providers/ofox.md +114 -110
- package/.docs/models/providers/opencode-go.md +25 -24
- package/.docs/models/providers/opencode.md +1 -1
- package/.docs/models/providers/scaleway.md +2 -1
- package/.docs/reference/ai-sdk/handle-chat-stream.md +11 -0
- package/.docs/reference/ai-sdk/with-sse-heartbeat.md +47 -0
- package/.docs/reference/index.md +1 -0
- package/.docs/reference/streaming/ChunkType.md +29 -1
- package/.docs/reference/workspace/workspace-class.md +13 -1
- package/CHANGELOG.md +15 -0
- package/package.json +5 -5
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Ofox
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 111 Ofox models through Mastra's model router. Authentication is handled automatically using the `OFOX_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Ofox documentation](https://ofox.ai/docs).
|
|
8
8
|
|
|
@@ -34,115 +34,119 @@ for await (const chunk of stream) {
|
|
|
34
34
|
|
|
35
35
|
## Models
|
|
36
36
|
|
|
37
|
-
| Model
|
|
38
|
-
|
|
|
39
|
-
| `ofox/anthropic/claude-fable-5`
|
|
40
|
-
| `ofox/anthropic/claude-haiku-4.5`
|
|
41
|
-
| `ofox/anthropic/claude-opus-4.5`
|
|
42
|
-
| `ofox/anthropic/claude-opus-4.6`
|
|
43
|
-
| `ofox/anthropic/claude-opus-4.7`
|
|
44
|
-
| `ofox/anthropic/claude-opus-4.8`
|
|
45
|
-
| `ofox/anthropic/claude-opus-5`
|
|
46
|
-
| `ofox/anthropic/claude-sonnet-4.5`
|
|
47
|
-
| `ofox/anthropic/claude-sonnet-4.6`
|
|
48
|
-
| `ofox/anthropic/claude-sonnet-5`
|
|
49
|
-
| `ofox/bailian/qwen-flash`
|
|
50
|
-
| `ofox/bailian/qwen-max`
|
|
51
|
-
| `ofox/bailian/qwen-plus`
|
|
52
|
-
| `ofox/bailian/qwen-turbo`
|
|
53
|
-
| `ofox/bailian/qwen-vl-max`
|
|
54
|
-
| `ofox/bailian/qwen3-coder-flash`
|
|
55
|
-
| `ofox/bailian/qwen3-coder-next`
|
|
56
|
-
| `ofox/bailian/qwen3-coder-plus`
|
|
57
|
-
| `ofox/bailian/qwen3-max`
|
|
58
|
-
| `ofox/bailian/qwen3.5-122b-a10b`
|
|
59
|
-
| `ofox/bailian/qwen3.5-27b`
|
|
60
|
-
| `ofox/bailian/qwen3.5-35b-a3b`
|
|
61
|
-
| `ofox/bailian/qwen3.5-397b-a17b`
|
|
62
|
-
| `ofox/bailian/qwen3.5-flash`
|
|
63
|
-
| `ofox/bailian/qwen3.5-plus`
|
|
64
|
-
| `ofox/bailian/qwen3.6-27b`
|
|
65
|
-
| `ofox/bailian/qwen3.6-flash`
|
|
66
|
-
| `ofox/bailian/qwen3.6-max-preview`
|
|
67
|
-
| `ofox/bailian/qwen3.6-plus`
|
|
68
|
-
| `ofox/bailian/qwen3.7-max`
|
|
69
|
-
| `ofox/bailian/qwen3.7-plus`
|
|
70
|
-
| `ofox/bailian/qwen3.8-
|
|
71
|
-
| `ofox/
|
|
72
|
-
| `ofox/deepseek/deepseek-
|
|
73
|
-
| `ofox/deepseek/deepseek-v4-
|
|
74
|
-
| `ofox/deepseek/deepseek-v4-
|
|
75
|
-
| `ofox/
|
|
76
|
-
| `ofox/
|
|
77
|
-
| `ofox/
|
|
78
|
-
| `ofox/
|
|
79
|
-
| `ofox/google/gemini-
|
|
80
|
-
| `ofox/google/gemini-
|
|
81
|
-
| `ofox/google/gemini-
|
|
82
|
-
| `ofox/google/gemini-3
|
|
83
|
-
| `ofox/google/gemini-3.
|
|
84
|
-
| `ofox/google/gemini-3.
|
|
85
|
-
| `ofox/
|
|
86
|
-
| `ofox/
|
|
87
|
-
| `ofox/
|
|
88
|
-
| `ofox/
|
|
89
|
-
| `ofox/minimax/
|
|
90
|
-
| `ofox/minimax/minimax-m2
|
|
91
|
-
| `ofox/minimax/minimax-m2.
|
|
92
|
-
| `ofox/minimax/minimax-m2.
|
|
93
|
-
| `ofox/minimax/minimax-
|
|
94
|
-
| `ofox/
|
|
95
|
-
| `ofox/
|
|
96
|
-
| `ofox/
|
|
97
|
-
| `ofox/
|
|
98
|
-
| `ofox/moonshotai/kimi-
|
|
99
|
-
| `ofox/
|
|
100
|
-
| `ofox/
|
|
101
|
-
| `ofox/
|
|
102
|
-
| `ofox/
|
|
103
|
-
| `ofox/openai/gpt-
|
|
104
|
-
| `ofox/openai/gpt-
|
|
105
|
-
| `ofox/openai/gpt-
|
|
106
|
-
| `ofox/openai/gpt-
|
|
107
|
-
| `ofox/openai/gpt-5
|
|
108
|
-
| `ofox/openai/gpt-5
|
|
109
|
-
| `ofox/openai/gpt-5
|
|
110
|
-
| `ofox/openai/gpt-5.
|
|
111
|
-
| `ofox/openai/gpt-5.
|
|
112
|
-
| `ofox/openai/gpt-5.
|
|
113
|
-
| `ofox/openai/gpt-5.
|
|
114
|
-
| `ofox/openai/gpt-5.
|
|
115
|
-
| `ofox/openai/gpt-5.
|
|
116
|
-
| `ofox/openai/gpt-5.
|
|
117
|
-
| `ofox/openai/gpt-5.
|
|
118
|
-
| `ofox/openai/gpt-5.
|
|
119
|
-
| `ofox/openai/gpt-5.
|
|
120
|
-
| `ofox/
|
|
121
|
-
| `ofox/
|
|
122
|
-
| `ofox/
|
|
123
|
-
| `ofox/
|
|
124
|
-
| `ofox/volcengine/doubao-seed-
|
|
125
|
-
| `ofox/volcengine/doubao-seed-
|
|
126
|
-
| `ofox/volcengine/doubao-seed-
|
|
127
|
-
| `ofox/volcengine/doubao-seed-
|
|
128
|
-
| `ofox/volcengine/doubao-seed-2.
|
|
129
|
-
| `ofox/volcengine/doubao-seed-2.
|
|
130
|
-
| `ofox/volcengine/doubao-seed-
|
|
131
|
-
| `ofox/volcengine/doubao-seed-
|
|
132
|
-
| `ofox/
|
|
133
|
-
| `ofox/
|
|
134
|
-
| `ofox/
|
|
135
|
-
| `ofox/
|
|
136
|
-
| `ofox/x-ai/grok-4.
|
|
137
|
-
| `ofox/
|
|
138
|
-
| `ofox/
|
|
139
|
-
| `ofox/
|
|
140
|
-
| `ofox/
|
|
141
|
-
| `ofox/z-ai/glm-
|
|
142
|
-
| `ofox/z-ai/glm-
|
|
143
|
-
| `ofox/z-ai/glm-
|
|
144
|
-
| `ofox/z-ai/glm-5
|
|
145
|
-
| `ofox/z-ai/glm-
|
|
37
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
|
+
| -------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
+
| `ofox/anthropic/claude-fable-5` | 1.0M | | | | | | $10 | $50 |
|
|
40
|
+
| `ofox/anthropic/claude-haiku-4.5` | 200K | | | | | | $1 | $5 |
|
|
41
|
+
| `ofox/anthropic/claude-opus-4.5` | 200K | | | | | | $5 | $25 |
|
|
42
|
+
| `ofox/anthropic/claude-opus-4.6` | 1.0M | | | | | | $5 | $25 |
|
|
43
|
+
| `ofox/anthropic/claude-opus-4.7` | 1.0M | | | | | | $5 | $25 |
|
|
44
|
+
| `ofox/anthropic/claude-opus-4.8` | 1.0M | | | | | | $5 | $25 |
|
|
45
|
+
| `ofox/anthropic/claude-opus-5` | 1.0M | | | | | | $5 | $25 |
|
|
46
|
+
| `ofox/anthropic/claude-sonnet-4.5` | 200K | | | | | | $3 | $15 |
|
|
47
|
+
| `ofox/anthropic/claude-sonnet-4.6` | 1.0M | | | | | | $3 | $15 |
|
|
48
|
+
| `ofox/anthropic/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
|
|
49
|
+
| `ofox/bailian/qwen-flash` | 1.0M | | | | | | $0.02 | $0.22 |
|
|
50
|
+
| `ofox/bailian/qwen-max` | 33K | | | | | | $0.35 | $1 |
|
|
51
|
+
| `ofox/bailian/qwen-plus` | 1.0M | | | | | | $0.12 | $0.29 |
|
|
52
|
+
| `ofox/bailian/qwen-turbo` | 128K | | | | | | $0.05 | $0.09 |
|
|
53
|
+
| `ofox/bailian/qwen-vl-max` | 131K | | | | | | $0.23 | $0.58 |
|
|
54
|
+
| `ofox/bailian/qwen3-coder-flash` | 1.0M | | | | | | $0.50 | $3 |
|
|
55
|
+
| `ofox/bailian/qwen3-coder-next` | 262K | | | | | | $0.20 | $2 |
|
|
56
|
+
| `ofox/bailian/qwen3-coder-plus` | 1.0M | | | | | | $2 | $9 |
|
|
57
|
+
| `ofox/bailian/qwen3-max` | 262K | | | | | | $0.36 | $1 |
|
|
58
|
+
| `ofox/bailian/qwen3.5-122b-a10b` | 256K | | | | | | $0.29 | $2 |
|
|
59
|
+
| `ofox/bailian/qwen3.5-27b` | 262K | | | | | | $0.29 | $2 |
|
|
60
|
+
| `ofox/bailian/qwen3.5-35b-a3b` | 262K | | | | | | $0.29 | $2 |
|
|
61
|
+
| `ofox/bailian/qwen3.5-397b-a17b` | 256K | | | | | | $0.55 | $4 |
|
|
62
|
+
| `ofox/bailian/qwen3.5-flash` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
63
|
+
| `ofox/bailian/qwen3.5-plus` | 1.0M | | | | | | $0.40 | $2 |
|
|
64
|
+
| `ofox/bailian/qwen3.6-27b` | 256K | | | | | | $0.60 | $4 |
|
|
65
|
+
| `ofox/bailian/qwen3.6-flash` | 1.0M | | | | | | $0.25 | $2 |
|
|
66
|
+
| `ofox/bailian/qwen3.6-max-preview` | 262K | | | | | | $2 | $13 |
|
|
67
|
+
| `ofox/bailian/qwen3.6-plus` | 1.0M | | | | | | $0.50 | $3 |
|
|
68
|
+
| `ofox/bailian/qwen3.7-max` | 1.0M | | | | | | $3 | $8 |
|
|
69
|
+
| `ofox/bailian/qwen3.7-plus` | 1.0M | | | | | | $0.40 | $2 |
|
|
70
|
+
| `ofox/bailian/qwen3.8-27b` | 1.1M | | | | | | $0.45 | $3 |
|
|
71
|
+
| `ofox/bailian/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
|
|
72
|
+
| `ofox/deepseek/deepseek-v3.2` | 128K | | | | | | $0.29 | $0.43 |
|
|
73
|
+
| `ofox/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.44 | $1 |
|
|
74
|
+
| `ofox/deepseek/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.44 | $1 |
|
|
75
|
+
| `ofox/deepseek/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.44 | $1 |
|
|
76
|
+
| `ofox/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $1 | $4 |
|
|
77
|
+
| `ofox/deepseek/deepseek-v4-pro-0423` | 1.0M | | | | | | $1 | $4 |
|
|
78
|
+
| `ofox/deepseek/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
|
|
79
|
+
| `ofox/google/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
|
|
80
|
+
| `ofox/google/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
81
|
+
| `ofox/google/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
|
|
82
|
+
| `ofox/google/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
|
|
83
|
+
| `ofox/google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
|
|
84
|
+
| `ofox/google/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
|
|
85
|
+
| `ofox/google/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
|
|
86
|
+
| `ofox/google/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
|
|
87
|
+
| `ofox/google/gemini-3.6-flash` | 1.0M | | | | | | $0.75 | $4 |
|
|
88
|
+
| `ofox/google/gemini-3.7-flash` | 1.0M | | | | | | $0.75 | $4 |
|
|
89
|
+
| `ofox/minimax/m2-her` | 200K | | | | | | $0.30 | $1 |
|
|
90
|
+
| `ofox/minimax/minimax-m2` | 197K | | | | | | $0.30 | $1 |
|
|
91
|
+
| `ofox/minimax/minimax-m2.1` | 205K | | | | | | $0.30 | $1 |
|
|
92
|
+
| `ofox/minimax/minimax-m2.1-lightning` | 205K | | | | | | $0.30 | $2 |
|
|
93
|
+
| `ofox/minimax/minimax-m2.5` | 205K | | | | | | $0.30 | $1 |
|
|
94
|
+
| `ofox/minimax/minimax-m2.5-lightning` | 205K | | | | | | $0.30 | $2 |
|
|
95
|
+
| `ofox/minimax/minimax-m2.7` | 205K | | | | | | $0.30 | $1 |
|
|
96
|
+
| `ofox/minimax/minimax-m2.7-highspeed` | 205K | | | | | | $0.60 | $2 |
|
|
97
|
+
| `ofox/minimax/minimax-m3` | 512K | | | | | | $0.60 | $2 |
|
|
98
|
+
| `ofox/moonshotai/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
|
|
99
|
+
| `ofox/moonshotai/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
|
|
100
|
+
| `ofox/moonshotai/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
|
|
101
|
+
| `ofox/moonshotai/kimi-k2.7-code-highspeed` | 262K | | | | | | $2 | $8 |
|
|
102
|
+
| `ofox/moonshotai/kimi-k3` | 1.0M | | | | | | $3 | $15 |
|
|
103
|
+
| `ofox/openai/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
|
|
104
|
+
| `ofox/openai/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
|
|
105
|
+
| `ofox/openai/gpt-4o` | 128K | | | | | | $3 | $10 |
|
|
106
|
+
| `ofox/openai/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
|
|
107
|
+
| `ofox/openai/gpt-5` | 400K | | | | | | $1 | $10 |
|
|
108
|
+
| `ofox/openai/gpt-5-mini` | 256K | | | | | | $0.25 | $2 |
|
|
109
|
+
| `ofox/openai/gpt-5-nano` | 400K | | | | | | $0.05 | $0.40 |
|
|
110
|
+
| `ofox/openai/gpt-5.1` | 400K | | | | | | $1 | $10 |
|
|
111
|
+
| `ofox/openai/gpt-5.1-codex-max` | 256K | | | | | | $1 | $10 |
|
|
112
|
+
| `ofox/openai/gpt-5.1-codex-mini` | 256K | | | | | | $0.25 | $2 |
|
|
113
|
+
| `ofox/openai/gpt-5.2` | 400K | | | | | | $2 | $14 |
|
|
114
|
+
| `ofox/openai/gpt-5.2-codex` | 400K | | | | | | $2 | $14 |
|
|
115
|
+
| `ofox/openai/gpt-5.3-codex` | 400K | | | | | | $2 | $14 |
|
|
116
|
+
| `ofox/openai/gpt-5.4` | 1.1M | | | | | | $3 | $15 |
|
|
117
|
+
| `ofox/openai/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
|
|
118
|
+
| `ofox/openai/gpt-5.4-nano` | 400K | | | | | | $0.20 | $1 |
|
|
119
|
+
| `ofox/openai/gpt-5.4-pro` | 1.1M | | | | | | $30 | $180 |
|
|
120
|
+
| `ofox/openai/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
|
|
121
|
+
| `ofox/openai/gpt-5.6-luna` | 1.1M | | | | | | $0.20 | $1 |
|
|
122
|
+
| `ofox/openai/gpt-5.6-sol` | 1.1M | | | | | | $3 | $15 |
|
|
123
|
+
| `ofox/openai/gpt-5.6-terra` | 1.1M | | | | | | $2 | $12 |
|
|
124
|
+
| `ofox/volcengine/doubao-seed-1-6` | 256K | | | | | | $0.12 | $0.29 |
|
|
125
|
+
| `ofox/volcengine/doubao-seed-1-6-flash` | 256K | | | | | | $0.03 | $0.22 |
|
|
126
|
+
| `ofox/volcengine/doubao-seed-1-6-vision` | 256K | | | | | | $0.12 | $1 |
|
|
127
|
+
| `ofox/volcengine/doubao-seed-1-8` | 256K | | | | | | $0.12 | $0.29 |
|
|
128
|
+
| `ofox/volcengine/doubao-seed-2.0-code` | 256K | | | | | | $0.67 | $3 |
|
|
129
|
+
| `ofox/volcengine/doubao-seed-2.0-lite` | 256K | | | | | | $0.13 | $0.76 |
|
|
130
|
+
| `ofox/volcengine/doubao-seed-2.0-mini` | 256K | | | | | | $0.06 | $0.56 |
|
|
131
|
+
| `ofox/volcengine/doubao-seed-2.0-pro` | 256K | | | | | | $0.67 | $3 |
|
|
132
|
+
| `ofox/volcengine/doubao-seed-2.1-pro` | 256K | | | | | | $0.71 | $4 |
|
|
133
|
+
| `ofox/volcengine/doubao-seed-2.1-turbo` | 256K | | | | | | $0.35 | $2 |
|
|
134
|
+
| `ofox/volcengine/doubao-seed-character` | 256K | | | | | | $0.18 | $0.88 |
|
|
135
|
+
| `ofox/volcengine/doubao-seed-evolving` | 256K | | | | | | $0.88 | $4 |
|
|
136
|
+
| `ofox/x-ai/grok-4.1-fast` | 2.0M | | | | | | $0.20 | $0.50 |
|
|
137
|
+
| `ofox/x-ai/grok-4.20` | 2.0M | | | | | | $4 | $12 |
|
|
138
|
+
| `ofox/x-ai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
|
|
139
|
+
| `ofox/x-ai/grok-4.5` | 500K | | | | | | $2 | $6 |
|
|
140
|
+
| `ofox/x-ai/grok-4.6` | 500K | | | | | | $2 | $6 |
|
|
141
|
+
| `ofox/z-ai/glm-4.6` | 205K | | | | | | $0.40 | $2 |
|
|
142
|
+
| `ofox/z-ai/glm-4.7` | 205K | | | | | | $0.40 | $2 |
|
|
143
|
+
| `ofox/z-ai/glm-4.7-flashx` | 200K | | | | | | $0.07 | $0.43 |
|
|
144
|
+
| `ofox/z-ai/glm-5` | 205K | | | | | | $1 | $3 |
|
|
145
|
+
| `ofox/z-ai/glm-5-turbo` | 200K | | | | | | $1 | $4 |
|
|
146
|
+
| `ofox/z-ai/glm-5.1` | 200K | | | | | | $1 | $4 |
|
|
147
|
+
| `ofox/z-ai/glm-5.2` | 1.0M | | | | | | $0.98 | $3 |
|
|
148
|
+
| `ofox/z-ai/glm-5.3` | 1.0M | | | | | | $1 | $4 |
|
|
149
|
+
| `ofox/z-ai/glm-5v-turbo` | 200K | | | | | | $1 | $4 |
|
|
146
150
|
|
|
147
151
|
## Advanced configuration
|
|
148
152
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# OpenCode Go
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 28 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
|
|
|
@@ -34,29 +34,30 @@ for await (const chunk of stream) {
|
|
|
34
34
|
|
|
35
35
|
## Models
|
|
36
36
|
|
|
37
|
-
| Model
|
|
38
|
-
|
|
|
39
|
-
| `opencode-go/deepseek-v4-flash`
|
|
40
|
-
| `opencode-go/deepseek-v4-
|
|
41
|
-
| `opencode-go/
|
|
42
|
-
| `opencode-go/glm-5.
|
|
43
|
-
| `opencode-go/glm-5.
|
|
44
|
-
| `opencode-go/
|
|
45
|
-
| `opencode-go/
|
|
46
|
-
| `opencode-go/
|
|
47
|
-
| `opencode-go/
|
|
48
|
-
| `opencode-go/kimi-k2.
|
|
49
|
-
| `opencode-go/kimi-
|
|
50
|
-
| `opencode-go/
|
|
51
|
-
| `opencode-go/mimo-v2.5
|
|
52
|
-
| `opencode-go/
|
|
53
|
-
| `opencode-go/minimax-
|
|
54
|
-
| `opencode-go/
|
|
55
|
-
| `opencode-go/
|
|
56
|
-
| `opencode-go/
|
|
57
|
-
| `opencode-go/qwen3.
|
|
58
|
-
| `opencode-go/qwen3.7-
|
|
59
|
-
| `opencode-go/qwen3.
|
|
37
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
|
+
| ------------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
+
| `opencode-go/deepseek-v4-flash` | 1.0M | | | | | | $0.22 | $0.66 |
|
|
40
|
+
| `opencode-go/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.22 | $0.66 |
|
|
41
|
+
| `opencode-go/deepseek-v4-pro` | 1.0M | | | | | | $0.66 | $2 |
|
|
42
|
+
| `opencode-go/glm-5.1` | 203K | | | | | | $1 | $4 |
|
|
43
|
+
| `opencode-go/glm-5.2` | 1.0M | | | | | | $1 | $4 |
|
|
44
|
+
| `opencode-go/glm-5.3` | 1.0M | | | | | | $1 | $4 |
|
|
45
|
+
| `opencode-go/gpt-5.6-luna` | 1.1M | | | | | | $0.20 | $1 |
|
|
46
|
+
| `opencode-go/grok-4.5` | 500K | | | | | | $2 | $6 |
|
|
47
|
+
| `opencode-go/hy3` | 256K | | | | | | $0.02 | $0.07 |
|
|
48
|
+
| `opencode-go/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
|
|
49
|
+
| `opencode-go/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
|
|
50
|
+
| `opencode-go/kimi-k3` | 1.0M | | | | | | $3 | $15 |
|
|
51
|
+
| `opencode-go/mimo-v2.5` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
52
|
+
| `opencode-go/mimo-v2.5-pro` | 1.0M | | | | | | $0.43 | $0.87 |
|
|
53
|
+
| `opencode-go/minimax-m2.7` | 205K | | | | | | $0.30 | $1 |
|
|
54
|
+
| `opencode-go/minimax-m3` | 1.0M | | | | | | $0.30 | $1 |
|
|
55
|
+
| `opencode-go/muse-spark-1.2-contributor` | 1.0M | | | | | | $0.10 | $0.20 |
|
|
56
|
+
| `opencode-go/ox-alpha-free` | 1.0M | | | | | | — | — |
|
|
57
|
+
| `opencode-go/qwen3.6-plus` | 1.0M | | | | | | $0.50 | $3 |
|
|
58
|
+
| `opencode-go/qwen3.7-max` | 1.0M | | | | | | $3 | $8 |
|
|
59
|
+
| `opencode-go/qwen3.7-plus` | 1.0M | | | | | | $0.40 | $2 |
|
|
60
|
+
| `opencode-go/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
|
|
60
61
|
|
|
61
62
|
## Advanced configuration
|
|
62
63
|
|
|
@@ -77,7 +77,7 @@ for await (const chunk of stream) {
|
|
|
77
77
|
| `opencode/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
|
|
78
78
|
| `opencode/gpt-5.5-pro` | 1.1M | | | | | | $30 | $180 |
|
|
79
79
|
| `opencode/gpt-5.6-luna` | 1.1M | | | | | | $0.20 | $1 |
|
|
80
|
-
| `opencode/gpt-5.6-sol` | 1.1M | | | | | | $
|
|
80
|
+
| `opencode/gpt-5.6-sol` | 1.1M | | | | | | $2 | $10 |
|
|
81
81
|
| `opencode/gpt-5.6-terra` | 1.1M | | | | | | $3 | $15 |
|
|
82
82
|
| `opencode/grok-4.5` | 500K | | | | | | $2 | $6 |
|
|
83
83
|
| `opencode/grok-4.6` | 500K | | | | | | $2 | $6 |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Scaleway
|
|
4
4
|
|
|
5
|
-
Access
|
|
5
|
+
Access 15 Scaleway models through Mastra's model router. Authentication is handled automatically using the `SCALEWAY_API_KEY` environment variable.
|
|
6
6
|
|
|
7
7
|
Learn more in the [Scaleway documentation](https://www.scaleway.com/en/docs/generative-apis/).
|
|
8
8
|
|
|
@@ -37,6 +37,7 @@ for await (const chunk of stream) {
|
|
|
37
37
|
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
38
|
| ---------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
39
|
| `scaleway/bge-multilingual-gemma2` | 8K | | | | | | $0.10 | — |
|
|
40
|
+
| `scaleway/deepseek-v4-flash-0731` | 256K | | | | | | $0.47 | $0.94 |
|
|
40
41
|
| `scaleway/gemma-4-26b-a4b-it` | 256K | | | | | | $0.25 | $0.50 |
|
|
41
42
|
| `scaleway/glm-5.2` | 256K | | | | | | $2 | $6 |
|
|
42
43
|
| `scaleway/gpt-oss-120b` | 128K | | | | | | $0.15 | $0.60 |
|
|
@@ -49,6 +49,17 @@ export async function POST(req: Request) {
|
|
|
49
49
|
}
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
+
## Keeping connections alive
|
|
53
|
+
|
|
54
|
+
Proxies and load balancers often close a connection that sends no bytes for a while, which drops the response during long reasoning bursts or slow tool calls. Wrap the encoded response with [`withSseHeartbeat()`](https://mastra.ai/reference/ai-sdk/with-sse-heartbeat) to emit periodic SSE comments while the stream is idle:
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import { handleChatStream, withSseHeartbeat } from '@mastra/ai-sdk'
|
|
58
|
+
import { createUIMessageStreamResponse } from 'ai'
|
|
59
|
+
|
|
60
|
+
return withSseHeartbeat(createUIMessageStreamResponse({ stream }), 15000)
|
|
61
|
+
```
|
|
62
|
+
|
|
52
63
|
## Parameters
|
|
53
64
|
|
|
54
65
|
**version** (`'v5' | 'v6' | 'v7'`): Selects the AI SDK stream contract to emit. Omit it or pass 'v5' for the existing default behavior. Pass 'v6' when your app is typed against AI SDK v6 response helpers. Pass 'v7' when your app is typed against AI SDK v7. (Default: `'v5'`)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
+
|
|
3
|
+
# withSseHeartbeat()
|
|
4
|
+
|
|
5
|
+
Wraps a server-sent events `Response` so it emits periodic `: heartbeat` comments while the underlying stream is idle. Proxies and load balancers often close connections that send no bytes for a while, which drops responses during long reasoning bursts or slow tool calls.
|
|
6
|
+
|
|
7
|
+
Use this when you build the response yourself with [`handleChatStream()`](https://mastra.ai/reference/ai-sdk/handle-chat-stream), [`handleWorkflowStream()`](https://mastra.ai/reference/ai-sdk/handle-workflow-stream), or [`handleNetworkStream()`](https://mastra.ai/reference/ai-sdk/handle-network-stream). [`chatRoute()`](https://mastra.ai/reference/ai-sdk/chat-route) applies the same wrapper internally through its `heartbeatMs` option.
|
|
8
|
+
|
|
9
|
+
## Usage example
|
|
10
|
+
|
|
11
|
+
Next.js App Router example:
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { handleChatStream, withSseHeartbeat } from '@mastra/ai-sdk'
|
|
15
|
+
import { createUIMessageStreamResponse } from 'ai'
|
|
16
|
+
import { mastra } from '@/src/mastra'
|
|
17
|
+
|
|
18
|
+
export async function POST(req: Request) {
|
|
19
|
+
const params = await req.json()
|
|
20
|
+
const stream = await handleChatStream({
|
|
21
|
+
mastra,
|
|
22
|
+
agentId: 'weatherAgent',
|
|
23
|
+
version: 'v7',
|
|
24
|
+
params,
|
|
25
|
+
})
|
|
26
|
+
return withSseHeartbeat(createUIMessageStreamResponse({ stream }), 15000)
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Wrap the response after it has been encoded. `handleChatStream()` returns a stream of UI message chunks, and heartbeats are raw SSE comments that only exist once those chunks are serialized to the wire format.
|
|
31
|
+
|
|
32
|
+
## Parameters
|
|
33
|
+
|
|
34
|
+
**response** (`Response`): The server-sent events response to wrap. Status, status text, and headers are preserved.
|
|
35
|
+
|
|
36
|
+
**heartbeatMs** (`number`): Interval in milliseconds between heartbeats. Omit it or pass a value of 0 or less to disable heartbeats.
|
|
37
|
+
|
|
38
|
+
## Returns
|
|
39
|
+
|
|
40
|
+
A `Response` that streams the source body with heartbeat comments inserted during idle periods. The input response is returned unchanged when `heartbeatMs` is omitted, is `0` or less, or the response has no body.
|
|
41
|
+
|
|
42
|
+
## Behavior
|
|
43
|
+
|
|
44
|
+
- Heartbeats are only inserted between complete SSE frames, so a partially delivered frame is never split.
|
|
45
|
+
- Source data, stream completion, and stream errors always take priority over a due heartbeat.
|
|
46
|
+
- Canceling the wrapped response cancels the source stream and clears the pending heartbeat timer.
|
|
47
|
+
- A `RangeError` is thrown when heartbeats are enabled with a value that can't be scheduled with a timer, meaning a non-finite number or a value greater than `2147483647`. Use `assertValidHeartbeatMs()` to apply the same check to user-supplied configuration before you start streaming.
|
package/.docs/reference/index.md
CHANGED
|
@@ -45,6 +45,7 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
45
45
|
- [toAISdkV4Messages()](https://mastra.ai/reference/ai-sdk/to-ai-sdk-v4-messages)
|
|
46
46
|
- [toAISdkV5Messages()](https://mastra.ai/reference/ai-sdk/to-ai-sdk-v5-messages)
|
|
47
47
|
- [withMastra()](https://mastra.ai/reference/ai-sdk/with-mastra)
|
|
48
|
+
- [withSseHeartbeat()](https://mastra.ai/reference/ai-sdk/with-sse-heartbeat)
|
|
48
49
|
- [workflowRoute()](https://mastra.ai/reference/ai-sdk/workflow-route)
|
|
49
50
|
- [workflowSnapshotToStream()](https://mastra.ai/reference/ai-sdk/workflow-snapshot-to-stream)
|
|
50
51
|
- [Auth0](https://mastra.ai/reference/auth/auth0)
|
|
@@ -272,8 +272,36 @@ Contains file data.
|
|
|
272
272
|
|
|
273
273
|
**payload.providerMetadata** (`SharedV2ProviderMetadata`): Provider-specific metadata
|
|
274
274
|
|
|
275
|
+
### reasoning-file
|
|
276
|
+
|
|
277
|
+
Contains a file generated by the model as part of its reasoning. Emitted by providers on the AI SDK v7 specification.
|
|
278
|
+
|
|
279
|
+
**type** (`"reasoning-file"`): Chunk type identifier
|
|
280
|
+
|
|
281
|
+
**payload** (`ReasoningFilePayload`): Reasoning file data
|
|
282
|
+
|
|
283
|
+
**payload.data** (`string | Uint8Array`): The file data
|
|
284
|
+
|
|
285
|
+
**payload.base64** (`string`): Base64 encoded data if applicable
|
|
286
|
+
|
|
287
|
+
**payload.mimeType** (`string`): MIME type of the file
|
|
288
|
+
|
|
289
|
+
**payload.providerMetadata** (`SharedV2ProviderMetadata`): Provider-specific metadata
|
|
290
|
+
|
|
275
291
|
## Control chunks
|
|
276
292
|
|
|
293
|
+
### custom
|
|
294
|
+
|
|
295
|
+
Contains a provider-specific content block that doesn't map to any other standardized chunk type. Emitted by providers on the AI SDK v7 specification.
|
|
296
|
+
|
|
297
|
+
**type** (`"custom"`): Chunk type identifier
|
|
298
|
+
|
|
299
|
+
**payload** (`CustomPayload`): Custom provider content
|
|
300
|
+
|
|
301
|
+
**payload.kind** (`string`): The kind of custom content, in the format {provider}.{provider-type}
|
|
302
|
+
|
|
303
|
+
**payload.providerMetadata** (`SharedV2ProviderMetadata`): Provider-specific metadata
|
|
304
|
+
|
|
277
305
|
### start
|
|
278
306
|
|
|
279
307
|
Signals the start of streaming.
|
|
@@ -324,7 +352,7 @@ Signals the completion of a processing step.
|
|
|
324
352
|
|
|
325
353
|
### raw
|
|
326
354
|
|
|
327
|
-
Contains raw data from the provider.
|
|
355
|
+
Contains raw data from the provider. Content types Mastra doesn't recognize are also emitted as `raw` chunks rather than being discarded. Raw chunks only appear when `includeRawChunks` is enabled.
|
|
328
356
|
|
|
329
357
|
**type** (`"raw"`): Chunk type identifier
|
|
330
358
|
|
|
@@ -233,6 +233,18 @@ Initialization performs:
|
|
|
233
233
|
- Starts the sandbox provider (creates working directory, sets up isolation if configured)
|
|
234
234
|
- Indexes files from `autoIndexPaths` for search
|
|
235
235
|
|
|
236
|
+
#### `stop()`
|
|
237
|
+
|
|
238
|
+
Stop the workspace's live resources without destroying them.
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
await workspace.stop()
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
`stop()` shuts down language servers and closes the browser, then stops the sandbox provider. Remote sandbox providers suspend or pause the sandbox so it can resume later. `LocalSandbox` kills its background processes and unmounts filesystems. Stopping isn't a teardown. The filesystem, search index, and skills keep working, and the next sandbox operation starts the sandbox again.
|
|
245
|
+
|
|
246
|
+
`mastra.shutdown()` calls `stop()` for registered workspaces, so a process restart suspends remote sandboxes instead of deleting them. To fully tear a workspace down, call `destroy()` or `mastra.removeWorkspace(id, { destroy: true })` explicitly.
|
|
247
|
+
|
|
236
248
|
#### `destroy()`
|
|
237
249
|
|
|
238
250
|
Destroy the workspace and clean up resources.
|
|
@@ -243,7 +255,7 @@ await workspace.destroy()
|
|
|
243
255
|
|
|
244
256
|
`destroy()` closes workspace-owned resources in order: language servers, browsers, sandbox providers, and filesystem providers. It also clears cached sandbox references.
|
|
245
257
|
|
|
246
|
-
Call `destroy()` when your application is done with a workspace
|
|
258
|
+
Call `destroy()` when your application is done with a workspace and its sandbox. To remove a workspace from the Mastra registry, use [`mastra.removeWorkspace()`](https://mastra.ai/reference/core/removeWorkspace).
|
|
247
259
|
|
|
248
260
|
`LocalFilesystem.destroy()` doesn't delete files on disk. Resolver-backed filesystem and sandbox providers are owned by your application and must be cleaned up by your application.
|
|
249
261
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.2.19-alpha.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`2c85f42`](https://github.com/mastra-ai/mastra/commit/2c85f428e04ccd63ea31a7ec80b5b327afdad555), [`11bbeb9`](https://github.com/mastra-ai/mastra/commit/11bbeb9b108ef2264e05acefc6dafb9cbb342921), [`1a485f3`](https://github.com/mastra-ai/mastra/commit/1a485f3538f5ec64d58bd8b5e1e99de0c695c87b), [`0d37487`](https://github.com/mastra-ai/mastra/commit/0d37487d9f349388a3f1cef6a536cf9dcc4b6273), [`8661d7d`](https://github.com/mastra-ai/mastra/commit/8661d7d7179f0a024456aabdd8679bcecd09ac28), [`575e343`](https://github.com/mastra-ai/mastra/commit/575e343900451021d96110916497d334af7bc252), [`cacb839`](https://github.com/mastra-ai/mastra/commit/cacb8392d9e74189b56d857290b0615f98a2683d), [`b47b26e`](https://github.com/mastra-ai/mastra/commit/b47b26e6fe95cb8a3482be2c5e52de157fe59d0b), [`0d37487`](https://github.com/mastra-ai/mastra/commit/0d37487d9f349388a3f1cef6a536cf9dcc4b6273), [`c46eb09`](https://github.com/mastra-ai/mastra/commit/c46eb09ce4987509af57a0ac582c61241a6dd2f1), [`30ed33e`](https://github.com/mastra-ai/mastra/commit/30ed33ee14084a26019aba15fceadda6d6ddefaf), [`91ad69d`](https://github.com/mastra-ai/mastra/commit/91ad69d64994c89199b0c55399e64ed91c61df2f), [`c4e2364`](https://github.com/mastra-ai/mastra/commit/c4e2364742bc37beebfa995db2d42efce6cfc7b8), [`8dc408d`](https://github.com/mastra-ai/mastra/commit/8dc408d34438f9e13297f792c11a5cfd6cf952e1), [`c92def1`](https://github.com/mastra-ai/mastra/commit/c92def10a13c822972c96f0a4ca6ffc1f4258aed), [`c5eaec5`](https://github.com/mastra-ai/mastra/commit/c5eaec5a860d80d0e3805e67db0414b87ac8cbed), [`e66b2ba`](https://github.com/mastra-ai/mastra/commit/e66b2ba100db63eaeab6e21e1ea34b113f2ec781)]:
|
|
8
|
+
- @mastra/core@1.62.0-alpha.3
|
|
9
|
+
- @mastra/mcp@1.17.2-alpha.0
|
|
10
|
+
|
|
11
|
+
## 1.2.19-alpha.4
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [[`e737014`](https://github.com/mastra-ai/mastra/commit/e737014e0fc7035759762bb5b48baef1d6c0f6a7), [`d6ce34a`](https://github.com/mastra-ai/mastra/commit/d6ce34aeceb06ddf3d595a1eed5cc74f481a46a1), [`e6f8450`](https://github.com/mastra-ai/mastra/commit/e6f845074d478527026b18d85031b23353e1d0a4)]:
|
|
16
|
+
- @mastra/core@1.62.0-alpha.2
|
|
17
|
+
|
|
3
18
|
## 1.2.19-alpha.2
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mcp-docs-server",
|
|
3
|
-
"version": "1.2.19-alpha.
|
|
3
|
+
"version": "1.2.19-alpha.6",
|
|
4
4
|
"description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"jsdom": "^26.1.0",
|
|
29
29
|
"local-pkg": "^1.1.2",
|
|
30
30
|
"zod": "^4.4.3",
|
|
31
|
-
"@mastra/
|
|
32
|
-
"@mastra/
|
|
31
|
+
"@mastra/mcp": "^1.17.2-alpha.0",
|
|
32
|
+
"@mastra/core": "1.62.0-alpha.3"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@hono/node-server": "^2.0.0",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"tsx": "^4.23.1",
|
|
46
46
|
"typescript": "^6.0.3",
|
|
47
47
|
"vitest": "4.1.10",
|
|
48
|
+
"@internal/lint": "0.0.125",
|
|
48
49
|
"@internal/types-builder": "0.0.100",
|
|
49
|
-
"@mastra/core": "1.
|
|
50
|
-
"@internal/lint": "0.0.125"
|
|
50
|
+
"@mastra/core": "1.62.0-alpha.3"
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://mastra.ai",
|
|
53
53
|
"repository": {
|