@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.
Files changed (97) hide show
  1. package/.docs/docs/agents/agent-approval.md +2 -0
  2. package/.docs/docs/agents/code-mode.md +2 -2
  3. package/.docs/docs/agents/processors.md +1 -1
  4. package/.docs/docs/agents/skills.md +1 -1
  5. package/.docs/docs/agents/using-tools.md +1 -1
  6. package/.docs/docs/capabilities/channels.md +34 -1
  7. package/.docs/docs/datasets/running-experiments.md +46 -0
  8. package/.docs/docs/harness/agent-controller.md +1 -1
  9. package/.docs/docs/mcp/overview.md +4 -5
  10. package/.docs/docs/server/request-context.md +21 -0
  11. package/.docs/docs/studio/overview.md +1 -1
  12. package/.docs/docs/workspace/filesystem.md +182 -153
  13. package/.docs/docs/workspace/lsp.md +4 -5
  14. package/.docs/docs/workspace/sandbox.md +234 -141
  15. package/.docs/docs/workspace/search.md +52 -4
  16. package/.docs/docs/workspace/skills.md +62 -33
  17. package/.docs/integrations/browsers/browser-viewer.md +2 -2
  18. package/.docs/integrations/databases/postgresql.md +2 -1
  19. package/.docs/integrations/file-storage/amazon-s3.md +1 -1
  20. package/.docs/integrations/file-storage/azure-blob.md +1 -1
  21. package/.docs/integrations/file-storage/google-cloud-storage.md +1 -1
  22. package/.docs/integrations/file-storage/mesa.md +1 -1
  23. package/.docs/integrations/file-storage/vercel-files.md +1 -1
  24. package/.docs/integrations/observability/opentelemetry.md +34 -2
  25. package/.docs/integrations/sandboxes/apple-container.md +1 -1
  26. package/.docs/integrations/sandboxes/daytona.md +1 -1
  27. package/.docs/integrations/sandboxes/docker.md +1 -1
  28. package/.docs/integrations/sandboxes/e2b.md +1 -1
  29. package/.docs/integrations/sandboxes/modal.md +1 -1
  30. package/.docs/models/environment-variables.md +3 -0
  31. package/.docs/models/gateways/openrouter.md +4 -1
  32. package/.docs/models/gateways/vercel.md +1 -2
  33. package/.docs/models/index.md +1 -1
  34. package/.docs/models/providers/abacus.md +14 -1
  35. package/.docs/models/providers/alibaba-token-plan-cn.md +2 -1
  36. package/.docs/models/providers/alibaba-token-plan.md +2 -1
  37. package/.docs/models/providers/amd.md +73 -0
  38. package/.docs/models/providers/baseten.md +2 -1
  39. package/.docs/models/providers/chutes.md +2 -1
  40. package/.docs/models/providers/cloudflare-workers-ai.md +3 -1
  41. package/.docs/models/providers/cortecs.md +5 -2
  42. package/.docs/models/providers/crossmodel.md +4 -3
  43. package/.docs/models/providers/deepinfra.md +7 -1
  44. package/.docs/models/providers/digitalocean.md +3 -2
  45. package/.docs/models/providers/edenai.md +233 -23
  46. package/.docs/models/providers/empiriolabs.md +11 -1
  47. package/.docs/models/providers/fireworks-ai.md +2 -1
  48. package/.docs/models/providers/huggingface.md +6 -1
  49. package/.docs/models/providers/hyper.md +9 -7
  50. package/.docs/models/providers/inferx.md +19 -13
  51. package/.docs/models/providers/kilo.md +17 -15
  52. package/.docs/models/providers/llmtr.md +35 -10
  53. package/.docs/models/providers/merge-gateway.md +4 -2
  54. package/.docs/models/providers/nano-gpt.md +19 -15
  55. package/.docs/models/providers/nvidia.md +2 -1
  56. package/.docs/models/providers/ofox.md +34 -3
  57. package/.docs/models/providers/opencode-go.md +4 -3
  58. package/.docs/models/providers/opencode.md +2 -1
  59. package/.docs/models/providers/perplexity-agent.md +4 -2
  60. package/.docs/models/providers/qvac.md +35 -0
  61. package/.docs/models/providers/requesty.md +3 -3
  62. package/.docs/models/providers/runinfra.md +76 -0
  63. package/.docs/models/providers/scnet-token-plan.md +85 -0
  64. package/.docs/models/providers/togetherai.md +2 -1
  65. package/.docs/models/providers/umans-ai-coding-plan.md +2 -1
  66. package/.docs/models/providers/umans-ai.md +2 -1
  67. package/.docs/models/providers/xai.md +2 -1
  68. package/.docs/models/providers/zai-coding-plan.md +3 -2
  69. package/.docs/models/providers/zhipuai-coding-plan.md +2 -1
  70. package/.docs/models/providers.md +3 -0
  71. package/.docs/reference/agent-controller/agent-controller-class.md +26 -1
  72. package/.docs/reference/browser/browser-viewer.md +1 -1
  73. package/.docs/reference/configuration.md +1 -1
  74. package/.docs/reference/core/removeWorkspace.md +1 -1
  75. package/.docs/reference/datasets/addItem.md +5 -0
  76. package/.docs/reference/datasets/addItems.md +12 -2
  77. package/.docs/reference/datasets/startExperiment.md +1 -1
  78. package/.docs/reference/datasets/updateItem.md +3 -0
  79. package/.docs/reference/file-based-agents/workspace.md +3 -3
  80. package/.docs/reference/memory/observational-memory.md +4 -0
  81. package/.docs/reference/observability/tracing/exporters/mastra-platform-exporter.md +2 -0
  82. package/.docs/reference/processors/provider-history-compat.md +6 -5
  83. package/.docs/reference/processors/skill-search-processor.md +1 -1
  84. package/.docs/reference/pubsub/base.md +13 -3
  85. package/.docs/reference/pubsub/caching-pubsub.md +2 -0
  86. package/.docs/reference/pubsub/event-emitter.md +2 -0
  87. package/.docs/reference/pubsub/redis-streams.md +11 -3
  88. package/.docs/reference/tools/create-code-mode.md +1 -1
  89. package/.docs/reference/tools/create-tool.md +11 -3
  90. package/.docs/reference/tools/mcp-client.md +34 -5
  91. package/.docs/reference/tools/mcp-server.md +4 -1
  92. package/.docs/reference/workspace/local-filesystem.md +1 -1
  93. package/.docs/reference/workspace/local-sandbox.md +1 -1
  94. package/.docs/reference/workspace/workspace-class.md +52 -15
  95. package/CHANGELOG.md +50 -0
  96. package/package.json +4 -4
  97. package/.docs/docs/workspace/overview.md +0 -416
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![OpenCode Go logo](https://models.dev/logos/opencode-go.svg)OpenCode Go
4
4
 
5
- Access 24 OpenCode Go models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
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.07 | $0.14 |
40
- | `opencode-go/deepseek-v4-pro` | 1.0M | | | | | | $0.43 | $0.87 |
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 logo](https://models.dev/logos/opencode.svg)OpenCode Zen
4
4
 
5
- Access 90 OpenCode Zen models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
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 logo](https://models.dev/logos/perplexity-agent.svg)Perplexity Agent
4
4
 
5
- Access 20 Perplexity Agent models through Mastra's model router. Authentication is handled automatically using the `PERPLEXITY_API_KEY` environment variable.
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-1-fast-non-reasoning"
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 logo](https://models.dev/logos/qvac.svg)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.25 | $2 |
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 | $9 |
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.75 | $4 |
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 logo](https://models.dev/logos/runinfra.svg)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 logo](https://models.dev/logos/scnet-token-plan.svg)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 logo](https://models.dev/logos/togetherai.svg)Together AI
4
4
 
5
- Access 35 Together AI models through Mastra's model router. Authentication is handled automatically using the `TOGETHER_API_KEY` environment variable.
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 logo](https://models.dev/logos/umans-ai-coding-plan.svg)Umans AI Coding Plan
4
4
 
5
- Access 8 Umans AI Coding Plan models through Mastra's model router. Authentication is handled automatically using the `UMANS_AI_CODING_PLAN_API_KEY` environment variable.
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 logo](https://models.dev/logos/umans-ai.svg)Umans AI
4
4
 
5
- Access 7 Umans AI models through Mastra's model router. Authentication is handled automatically using the `UMANS_AI_API_KEY` environment variable.
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 logo](https://models.dev/logos/xai.svg)xAI
4
4
 
5
- Access 11 xAI models through Mastra's model router. Authentication is handled automatically using the `XAI_API_KEY` environment variable.
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 logo](https://models.dev/logos/zai-coding-plan.svg)Z.AI Coding Plan
4
4
 
5
- Access 4 Z.AI Coding Plan models through Mastra's model router. Authentication is handled automatically using the `ZHIPU_API_KEY` environment variable.
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.2-highspeed"
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 logo](https://models.dev/logos/zhipuai-coding-plan.svg)Zhipu AI Coding Plan
4
4
 
5
- Access 7 Zhipu AI Coding Plan models through Mastra's model router. Authentication is handled automatically using the `ZHIPU_API_KEY` environment variable.
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
- - [Workspace](https://mastra.ai/docs/workspace/overview)
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
- - [Workspace overview](https://mastra.ai/docs/workspace/overview): Workspace configuration
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/overview) for implementation details.
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
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
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
- { input: { question: 'What is AI?' }, groundTruth: { answer: 'Artificial Intelligence' } },
21
- { input: { question: 'What is ML?' }, groundTruth: { answer: 'Machine Learning' } },
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. For workflow targets, per-step scorers can be passed via scorers: { steps: { stepId: \[...] } } and run against each step's output; their results carry the originating stepId and keep targetScope: "span" (matching runEvals).
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/overview) gives an agent filesystem access and command execution. File-based agents get a default workspace automatically when discovered through `mastra dev` or `mastra build`, so they can read and write files and run shell commands without extra configuration.
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 [Workspaces](https://mastra.ai/docs/workspace/overview).
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 [workspace overview](https://mastra.ai/docs/workspace/overview), [sandbox guide](https://mastra.ai/docs/workspace/sandbox), and [workspace search](https://mastra.ai/docs/workspace/search).
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