@mastra/mcp-docs-server 1.2.6 → 1.2.7-alpha.10

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 (198) hide show
  1. package/.docs/docs/agent-builder/integrations.md +1 -1
  2. package/.docs/docs/agent-builder/overview.md +4 -3
  3. package/.docs/docs/agent-builder/skill-registries.md +1 -3
  4. package/.docs/docs/agent-controller/modes.md +1 -1
  5. package/.docs/docs/agent-controller/overview.md +4 -3
  6. package/.docs/docs/agent-controller/session.md +3 -5
  7. package/.docs/docs/agents/a2a.md +2 -1
  8. package/.docs/docs/agents/agent-approval.md +2 -2
  9. package/.docs/docs/agents/code-mode.md +1 -1
  10. package/.docs/docs/agents/guardrails.md +10 -9
  11. package/.docs/docs/agents/networks.md +1 -1
  12. package/.docs/docs/agents/overview.md +5 -5
  13. package/.docs/docs/agents/skills.md +3 -5
  14. package/.docs/docs/agents/structured-output.md +1 -1
  15. package/.docs/docs/agents/supervisor-agents.md +3 -4
  16. package/.docs/docs/agents/using-tools.md +2 -4
  17. package/.docs/docs/browser/agent-browser.md +1 -3
  18. package/.docs/docs/browser/browser-viewer.md +1 -3
  19. package/.docs/docs/browser/overview.md +2 -1
  20. package/.docs/docs/browser/recording.md +1 -1
  21. package/.docs/docs/browser/stagehand.md +1 -1
  22. package/.docs/docs/capabilities/channels/discord.md +98 -0
  23. package/.docs/docs/capabilities/channels/other-adapters.md +68 -0
  24. package/.docs/docs/capabilities/channels/overview.md +255 -0
  25. package/.docs/docs/capabilities/channels/slack.md +225 -0
  26. package/.docs/docs/capabilities/channels/teams.md +100 -0
  27. package/.docs/docs/capabilities/channels/telegram.md +98 -0
  28. package/.docs/docs/capabilities/channels/whatsapp.md +99 -0
  29. package/.docs/docs/deployment/mastra-server.md +2 -4
  30. package/.docs/docs/editor/overview.md +2 -6
  31. package/.docs/docs/editor/prompts.md +1 -1
  32. package/.docs/docs/editor/tools.md +1 -3
  33. package/.docs/docs/evals/built-in-scorers.md +2 -2
  34. package/.docs/docs/evals/custom-scorers.md +1 -3
  35. package/.docs/docs/evals/datasets/overview.md +4 -5
  36. package/.docs/docs/evals/datasets/running-experiments.md +10 -8
  37. package/.docs/docs/evals/evals-with-memory.md +1 -3
  38. package/.docs/docs/evals/gates-and-verdicts.md +2 -4
  39. package/.docs/docs/evals/overview.md +4 -1
  40. package/.docs/docs/evals/quick-checks.md +3 -5
  41. package/.docs/docs/getting-started/file-based-agents.md +114 -0
  42. package/.docs/docs/getting-started/manual-install.md +17 -4
  43. package/.docs/docs/index.md +1 -1
  44. package/.docs/docs/long-running-agents/background-tasks.md +3 -3
  45. package/.docs/docs/long-running-agents/durable-agents.md +5 -7
  46. package/.docs/docs/long-running-agents/goals.md +5 -7
  47. package/.docs/docs/long-running-agents/schedules.md +1 -1
  48. package/.docs/docs/long-running-agents/signal-providers.md +1 -3
  49. package/.docs/docs/long-running-agents/signals.md +12 -23
  50. package/.docs/docs/mastra-platform/database.md +2 -2
  51. package/.docs/docs/mastra-platform/github.md +1 -1
  52. package/.docs/docs/mastra-platform/observability.md +5 -1
  53. package/.docs/docs/mcp/mcp-apps.md +3 -3
  54. package/.docs/docs/mcp/overview.md +6 -10
  55. package/.docs/docs/memory/memory-processors.md +67 -0
  56. package/.docs/docs/memory/message-history.md +56 -2
  57. package/.docs/docs/memory/observational-memory.md +5 -4
  58. package/.docs/docs/memory/overview.md +8 -6
  59. package/.docs/docs/memory/semantic-recall.md +36 -2
  60. package/.docs/docs/memory/working-memory.md +3 -3
  61. package/.docs/docs/observability/integrations/exporters/mastra-platform.md +1 -3
  62. package/.docs/docs/observability/integrations/exporters/mastra-storage.md +1 -1
  63. package/.docs/docs/observability/logging.md +1 -1
  64. package/.docs/docs/observability/tracing/overview.md +1 -1
  65. package/.docs/docs/rag/vector-databases.md +7 -2
  66. package/.docs/docs/server/auth/auth0.md +1 -1
  67. package/.docs/docs/server/auth/better-auth.md +2 -2
  68. package/.docs/docs/server/auth/clerk.md +1 -1
  69. package/.docs/docs/server/auth/firebase.md +1 -1
  70. package/.docs/docs/server/auth/google.md +3 -3
  71. package/.docs/docs/server/auth/jwt.md +2 -2
  72. package/.docs/docs/server/auth/okta.md +2 -2
  73. package/.docs/docs/server/auth/workos.md +1 -1
  74. package/.docs/docs/server/mastra-client.md +1 -1
  75. package/.docs/docs/server/mastra-server.md +1 -1
  76. package/.docs/docs/server/pubsub.md +1 -1
  77. package/.docs/docs/server/request-context.md +4 -4
  78. package/.docs/docs/server/server-adapters.md +8 -8
  79. package/.docs/docs/storage/overview.md +214 -0
  80. package/.docs/docs/studio/auth.md +1 -3
  81. package/.docs/docs/studio/overview.md +1 -1
  82. package/.docs/docs/voice/livekit.md +101 -4
  83. package/.docs/docs/workflows/agents-and-tools.md +3 -5
  84. package/.docs/docs/workflows/control-flow.md +1 -3
  85. package/.docs/docs/workflows/overview.md +6 -7
  86. package/.docs/docs/workflows/snapshots.md +1 -1
  87. package/.docs/docs/workspace/overview.md +2 -1
  88. package/.docs/docs/workspace/sandbox.md +2 -0
  89. package/.docs/guides/build-your-ui/assistant-ui.md +1 -1
  90. package/.docs/guides/build-your-ui/copilotkit/channels.md +1 -1
  91. package/.docs/guides/build-your-ui/copilotkit/generative-ui.md +2 -2
  92. package/.docs/guides/build-your-ui/copilotkit/overview.md +1 -1
  93. package/.docs/guides/concepts/streaming.md +3 -3
  94. package/.docs/guides/getting-started/quickstart.md +4 -2
  95. package/.docs/guides/guide/chef-michel.md +0 -2
  96. package/.docs/guides/guide/slack-assistant.md +2 -2
  97. package/.docs/guides/guide/stock-agent.md +0 -2
  98. package/.docs/models/embeddings.md +119 -0
  99. package/.docs/models/environment-variables.md +3 -0
  100. package/.docs/models/gateways/netlify.md +4 -1
  101. package/.docs/models/gateways/openrouter.md +12 -6
  102. package/.docs/models/gateways/vercel.md +7 -1
  103. package/.docs/models/index.md +1 -1
  104. package/.docs/models/providers/crossmodel.md +109 -0
  105. package/.docs/models/providers/google.md +2 -1
  106. package/.docs/models/providers/llmgateway.md +184 -181
  107. package/.docs/models/providers/meta.md +101 -0
  108. package/.docs/models/providers/nano-gpt.md +2 -2
  109. package/.docs/models/providers/neon.md +40 -29
  110. package/.docs/models/providers/openai.md +5 -1
  111. package/.docs/models/providers/opencode.md +2 -1
  112. package/.docs/models/providers/poolside.md +6 -5
  113. package/.docs/models/providers/routing-run.md +20 -34
  114. package/.docs/models/providers/the-grid-ai.md +3 -3
  115. package/.docs/models/providers/wandb.md +21 -14
  116. package/.docs/models/providers/xai.md +2 -1
  117. package/.docs/models/providers/zenifra.md +73 -0
  118. package/.docs/models/providers.md +3 -0
  119. package/.docs/reference/agent-controller/agent-controller-class.md +3 -3
  120. package/.docs/reference/agent-controller/session.md +4 -4
  121. package/.docs/reference/agents/agent.md +1 -1
  122. package/.docs/reference/agents/channels.md +2 -2
  123. package/.docs/reference/agents/inngest-agent.md +1 -1
  124. package/.docs/reference/agents/listSkills.md +1 -1
  125. package/.docs/reference/agents/listSuspendedRuns.md +3 -3
  126. package/.docs/reference/auth/google.md +5 -5
  127. package/.docs/reference/channels/channel-provider.md +1 -1
  128. package/.docs/reference/channels/slack-provider.md +3 -3
  129. package/.docs/reference/cli/mastra.md +119 -12
  130. package/.docs/reference/code-sdk/mount-agent-controller.md +76 -0
  131. package/.docs/reference/coding-agent/create-coding-agent.md +1 -1
  132. package/.docs/reference/configuration.md +1 -1
  133. package/.docs/reference/evals/checks.md +4 -4
  134. package/.docs/reference/evals/create-scorer.md +8 -0
  135. package/.docs/reference/file-based-agents/config.md +97 -0
  136. package/.docs/reference/file-based-agents/instructions.md +54 -0
  137. package/.docs/reference/file-based-agents/memory.md +58 -0
  138. package/.docs/reference/file-based-agents/observability.md +32 -0
  139. package/.docs/reference/file-based-agents/processors.md +56 -0
  140. package/.docs/reference/file-based-agents/server.md +37 -0
  141. package/.docs/reference/file-based-agents/skills.md +56 -0
  142. package/.docs/reference/file-based-agents/storage.md +30 -0
  143. package/.docs/reference/file-based-agents/studio.md +56 -0
  144. package/.docs/reference/file-based-agents/subagents.md +123 -0
  145. package/.docs/reference/file-based-agents/tools.md +63 -0
  146. package/.docs/reference/file-based-agents/workflows.md +52 -0
  147. package/.docs/reference/file-based-agents/workspace.md +74 -0
  148. package/.docs/reference/index.md +16 -0
  149. package/.docs/reference/memory/memory-class.md +1 -1
  150. package/.docs/reference/memory/observational-memory.md +1 -1
  151. package/.docs/reference/memory/serialized-memory-config.md +1 -1
  152. package/.docs/reference/memory/summarizeConversation.md +99 -0
  153. package/.docs/reference/memory/summarizeThread.md +93 -0
  154. package/.docs/{docs/getting-started → reference}/project-structure.md +3 -10
  155. package/.docs/reference/pubsub/lease-provider.md +5 -5
  156. package/.docs/reference/server/express-adapter.md +1 -3
  157. package/.docs/reference/server/fastify-adapter.md +1 -3
  158. package/.docs/reference/server/hono-adapter.md +1 -3
  159. package/.docs/reference/server/koa-adapter.md +1 -3
  160. package/.docs/reference/server/nestjs-adapter.md +1 -3
  161. package/.docs/reference/signals/task-signal-provider.md +1 -1
  162. package/.docs/reference/storage/clickhouse.md +34 -2
  163. package/.docs/reference/storage/cloudflare-d1.md +1 -1
  164. package/.docs/reference/storage/composite.md +64 -6
  165. package/.docs/reference/storage/convex.md +1 -1
  166. package/.docs/reference/storage/dynamodb.md +1 -1
  167. package/.docs/reference/storage/mongodb.md +46 -46
  168. package/.docs/reference/storage/retention.md +74 -6
  169. package/.docs/reference/tools/create-tool.md +2 -2
  170. package/.docs/reference/tools/mcp-client.md +22 -0
  171. package/.docs/reference/tools/mcp-server.md +161 -4
  172. package/.docs/reference/vectors/mongodb.md +93 -4
  173. package/.docs/reference/voice/livekit.md +272 -8
  174. package/.docs/reference/workspace/agentcore-runtime-sandbox.md +1 -3
  175. package/.docs/reference/workspace/agentfs-filesystem.md +1 -3
  176. package/.docs/reference/workspace/apple-container-sandbox.md +6 -8
  177. package/.docs/reference/workspace/archil-filesystem.md +1 -3
  178. package/.docs/reference/workspace/azure-blob-filesystem.md +1 -3
  179. package/.docs/reference/workspace/blaxel-sandbox.md +1 -3
  180. package/.docs/reference/workspace/daytona-sandbox.md +1 -3
  181. package/.docs/reference/workspace/docker-sandbox.md +1 -3
  182. package/.docs/reference/workspace/e2b-sandbox.md +1 -3
  183. package/.docs/reference/workspace/files-sdk-filesystem.md +1 -3
  184. package/.docs/reference/workspace/gcs-filesystem.md +1 -3
  185. package/.docs/reference/workspace/google-drive-filesystem.md +1 -3
  186. package/.docs/reference/workspace/local-filesystem.md +1 -3
  187. package/.docs/reference/workspace/local-sandbox.md +1 -3
  188. package/.docs/reference/workspace/mesa-filesystem.md +4 -4
  189. package/.docs/reference/workspace/modal-sandbox.md +1 -3
  190. package/.docs/reference/workspace/railway-sandbox.md +2 -4
  191. package/.docs/reference/workspace/s3-filesystem.md +1 -3
  192. package/.docs/reference/workspace/vercel-sandbox.md +5 -7
  193. package/.docs/reference/workspace/vercel-serverless.md +2 -4
  194. package/CHANGELOG.md +36 -0
  195. package/package.json +5 -5
  196. package/.docs/docs/agents/channels.md +0 -225
  197. package/.docs/docs/agents/file-based-agents.md +0 -297
  198. package/.docs/docs/memory/storage.md +0 -267
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Neon logo](https://models.dev/logos/neon.svg)Neon
4
4
 
5
- Access 25 Neon models through Mastra's model router. Authentication is handled automatically using the `NEON_AI_GATEWAY_TOKEN` environment variable. Configure `NEON_AI_GATEWAY_BASE_URL` as well.
5
+ Access 36 Neon models through Mastra's model router. Authentication is handled automatically using the `NEON_AI_GATEWAY_TOKEN` environment variable. Configure `NEON_AI_GATEWAY_BASE_URL` as well.
6
6
 
7
7
  Learn more in the [Neon documentation](https://neon.com/docs).
8
8
 
@@ -35,33 +35,44 @@ for await (const chunk of stream) {
35
35
 
36
36
  ## Models
37
37
 
38
- | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
39
- | ---------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
40
- | `neon/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
41
- | `neon/claude-opus-4-1` | 200K | | | | | | $15 | $75 |
42
- | `neon/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
43
- | `neon/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
44
- | `neon/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
45
- | `neon/claude-sonnet-4` | 200K | | | | | | $3 | $15 |
46
- | `neon/claude-sonnet-4-5` | 200K | | | | | | $3 | $15 |
47
- | `neon/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
48
- | `neon/gemini-2-5-flash` | 1.0M | | | | | | $0.30 | $3 |
49
- | `neon/gemini-2-5-pro` | 1.0M | | | | | | $1 | $10 |
50
- | `neon/gemini-3-1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
51
- | `neon/gemini-3-1-pro` | 1.0M | | | | | | $2 | $12 |
52
- | `neon/gemini-3-flash` | 1.0M | | | | | | $0.50 | $3 |
53
- | `neon/gemini-3-pro` | 1.0M | | | | | | $2 | $12 |
54
- | `neon/gpt-5` | 400K | | | | | | $1 | $10 |
55
- | `neon/gpt-5-1` | 400K | | | | | | $1 | $10 |
56
- | `neon/gpt-5-2` | 400K | | | | | | $2 | $14 |
57
- | `neon/gpt-5-4` | 1.1M | | | | | | $3 | $15 |
58
- | `neon/gpt-5-4-mini` | 400K | | | | | | $0.75 | $5 |
59
- | `neon/gpt-5-4-nano` | 400K | | | | | | $0.20 | $1 |
60
- | `neon/gpt-5-5` | 1.1M | | | | | | $5 | $30 |
61
- | `neon/gpt-5-mini` | 400K | | | | | | $0.25 | $2 |
62
- | `neon/gpt-5-nano` | 400K | | | | | | $0.05 | $0.40 |
63
- | `neon/gpt-oss-120b` | 131K | | | | | | $0.07 | $0.28 |
64
- | `neon/gpt-oss-20b` | 131K | | | | | | $0.05 | $0.20 |
38
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
39
+ | ---------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
40
+ | `neon/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
41
+ | `neon/claude-opus-4-1` | 200K | | | | | | $15 | $75 |
42
+ | `neon/claude-opus-4-5` | 200K | | | | | | $5 | $25 |
43
+ | `neon/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
44
+ | `neon/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
45
+ | `neon/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
46
+ | `neon/claude-sonnet-4` | 200K | | | | | | $3 | $15 |
47
+ | `neon/claude-sonnet-4-5` | 200K | | | | | | $3 | $15 |
48
+ | `neon/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
49
+ | `neon/gemini-2-5-flash` | 1.0M | | | | | | $0.30 | $3 |
50
+ | `neon/gemini-2-5-pro` | 1.0M | | | | | | $1 | $10 |
51
+ | `neon/gemini-3-1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
52
+ | `neon/gemini-3-1-pro` | 1.0M | | | | | | $2 | $12 |
53
+ | `neon/gemini-3-5-flash` | 1.0M | | | | | | $2 | $9 |
54
+ | `neon/gemini-3-flash` | 1.0M | | | | | | $0.50 | $3 |
55
+ | `neon/gemini-3-pro` | 1.0M | | | | | | $2 | $12 |
56
+ | `neon/gemma-3-12b` | 131K | | | | | | $0.15 | $0.50 |
57
+ | `neon/gpt-5` | 400K | | | | | | $1 | $10 |
58
+ | `neon/gpt-5-1` | 400K | | | | | | $1 | $10 |
59
+ | `neon/gpt-5-1-codex-max` | 400K | | | | | | $1 | $10 |
60
+ | `neon/gpt-5-1-codex-mini` | 400K | | | | | | $0.25 | $2 |
61
+ | `neon/gpt-5-2` | 400K | | | | | | $2 | $14 |
62
+ | `neon/gpt-5-2-codex` | 400K | | | | | | $2 | $14 |
63
+ | `neon/gpt-5-3-codex` | 400K | | | | | | $2 | $14 |
64
+ | `neon/gpt-5-4` | 1.1M | | | | | | $3 | $15 |
65
+ | `neon/gpt-5-4-mini` | 400K | | | | | | $0.75 | $5 |
66
+ | `neon/gpt-5-4-nano` | 400K | | | | | | $0.20 | $1 |
67
+ | `neon/gpt-5-mini` | 400K | | | | | | $0.25 | $2 |
68
+ | `neon/gpt-5-nano` | 400K | | | | | | $0.05 | $0.40 |
69
+ | `neon/gpt-oss-120b` | 131K | | | | | | $0.07 | $0.28 |
70
+ | `neon/gpt-oss-20b` | 131K | | | | | | $0.05 | $0.20 |
71
+ | `neon/llama-4-maverick` | 1.0M | | | | | | $0.50 | $2 |
72
+ | `neon/meta-llama-3-1-8b-instruct` | 131K | | | | | | $0.15 | $0.45 |
73
+ | `neon/meta-llama-3-3-70b-instruct` | 128K | | | | | | $0.50 | $2 |
74
+ | `neon/qwen3-next-80b-a3b-instruct` | 131K | | | | | | $0.15 | $1 |
75
+ | `neon/qwen35-122b-a10b` | 262K | | | | | | $0.22 | $2 |
65
76
 
66
77
  ## Advanced configuration
67
78
 
@@ -91,7 +102,7 @@ const agent = new Agent({
91
102
  model: ({ requestContext }) => {
92
103
  const useAdvanced = requestContext.task === "complex";
93
104
  return useAdvanced
94
- ? "neon/gpt-oss-20b"
105
+ ? "neon/qwen35-122b-a10b"
95
106
  : "neon/claude-haiku-4-5";
96
107
  }
97
108
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![OpenAI logo](https://models.dev/logos/openai.svg)OpenAI
4
4
 
5
- Access 51 OpenAI models through Mastra's model router. Authentication is handled automatically using the `OPENAI_API_KEY` environment variable.
5
+ Access 55 OpenAI models through Mastra's model router. Authentication is handled automatically using the `OPENAI_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [OpenAI documentation](https://platform.openai.com/docs/models).
8
8
 
@@ -70,6 +70,10 @@ for await (const chunk of stream) {
70
70
  | `openai/gpt-5.4-pro` | 1.1M | | | | | | $30 | $180 |
71
71
  | `openai/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
72
72
  | `openai/gpt-5.5-pro` | 1.1M | | | | | | $30 | $180 |
73
+ | `openai/gpt-5.6` | 1.1M | | | | | | $5 | $30 |
74
+ | `openai/gpt-5.6-luna` | 1.1M | | | | | | $1 | $6 |
75
+ | `openai/gpt-5.6-sol` | 1.1M | | | | | | $5 | $30 |
76
+ | `openai/gpt-5.6-terra` | 1.1M | | | | | | $3 | $15 |
73
77
  | `openai/gpt-image-1` | — | | | | | | — | — |
74
78
  | `openai/gpt-image-1-mini` | — | | | | | | — | — |
75
79
  | `openai/gpt-image-1.5` | — | | | | | | — | — |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![OpenCode Zen logo](https://models.dev/logos/opencode.svg)OpenCode Zen
4
4
 
5
- Access 51 OpenCode Zen models through Mastra's model router. Authentication is handled automatically using the `OPENCODE_API_KEY` environment variable.
5
+ Access 52 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
 
@@ -74,6 +74,7 @@ for await (const chunk of stream) {
74
74
  | `opencode/gpt-5.4-pro` | 1.1M | | | | | | $30 | $180 |
75
75
  | `opencode/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
76
76
  | `opencode/gpt-5.5-pro` | 1.1M | | | | | | $30 | $180 |
77
+ | `opencode/grok-4.5` | 500K | | | | | | $2 | $6 |
77
78
  | `opencode/grok-build-0.1` | 256K | | | | | | $1 | $2 |
78
79
  | `opencode/hy3-free` | 256K | | | | | | — | — |
79
80
  | `opencode/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Poolside logo](https://models.dev/logos/poolside.svg)Poolside
4
4
 
5
- Access 2 Poolside models through Mastra's model router. Authentication is handled automatically using the `POOLSIDE_API_KEY` environment variable.
5
+ Access 3 Poolside models through Mastra's model router. Authentication is handled automatically using the `POOLSIDE_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Poolside documentation](https://platform.poolside.ai).
8
8
 
@@ -34,10 +34,11 @@ for await (const chunk of stream) {
34
34
 
35
35
  ## Models
36
36
 
37
- | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
- | ------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
- | `poolside/poolside/laguna-m.1` | 262K | | | | | | — | — |
40
- | `poolside/poolside/laguna-xs.2` | 262K | | | | | | — | — |
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | --------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `poolside/poolside/laguna-m.1` | 262K | | | | | | — | — |
40
+ | `poolside/poolside/laguna-xs-2.1` | 262K | | | | | | — | — |
41
+ | `poolside/poolside/laguna-xs.2` | 262K | | | | | | — | — |
41
42
 
42
43
  ## Advanced configuration
43
44
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![routing.run logo](https://models.dev/logos/routing-run.svg)routing.run
4
4
 
5
- Access 26 routing.run models through Mastra's model router. Authentication is handled automatically using the `ROUTING_RUN_API_KEY` environment variable.
5
+ Access 12 routing.run models through Mastra's model router. Authentication is handled automatically using the `ROUTING_RUN_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [routing.run documentation](https://docs.routing.run).
8
8
 
@@ -17,7 +17,7 @@ const agent = new Agent({
17
17
  id: "my-agent",
18
18
  name: "My Agent",
19
19
  instructions: "You are a helpful assistant",
20
- model: "routing-run/route/deepseek-v3.2"
20
+ model: "routing-run/claude-opus-4-8"
21
21
  });
22
22
 
23
23
  // Generate a response
@@ -34,34 +34,20 @@ for await (const chunk of stream) {
34
34
 
35
35
  ## Models
36
36
 
37
- | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
- | ------------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
- | `routing-run/route/deepseek-v3.2` | 164K | | | | | | $0.49 | $0.74 |
40
- | `routing-run/route/deepseek-v4-flash` | 1.0M | | | | | | $0.49 | $0.74 |
41
- | `routing-run/route/deepseek-v4-flash-6bit` | 1.0M | | | | | | $0.49 | $0.74 |
42
- | `routing-run/route/deepseek-v4-pro` | 1.0M | | | | | | $0.49 | $0.74 |
43
- | `routing-run/route/deepseek-v4-pro-6bit` | 1.0M | | | | | | $0.49 | $0.74 |
44
- | `routing-run/route/gemma-4-31b-it` | 131K | | | | | | $0.10 | $0.30 |
45
- | `routing-run/route/glm-5.1` | 203K | | | | | | $1 | $3 |
46
- | `routing-run/route/glm-5.1-6bit` | 203K | | | | | | $1 | $3 |
47
- | `routing-run/route/kimi-k2.5` | 131K | | | | | | $0.46 | $2 |
48
- | `routing-run/route/kimi-k2.6` | 262K | | | | | | $0.46 | $2 |
49
- | `routing-run/route/kimi-k2.6-6bit` | 262K | | | | | | $0.46 | $2 |
50
- | `routing-run/route/mimo-v2.5` | 1.0M | | | | | | $0.45 | $1 |
51
- | `routing-run/route/mimo-v2.5-pro` | 1.0M | | | | | | $0.45 | $1 |
52
- | `routing-run/route/mimo-v2.5-pro-6bit` | 1.0M | | | | | | $0.45 | $1 |
53
- | `routing-run/route/minimax-m2.5` | 100K | | | | | | $0.19 | $1 |
54
- | `routing-run/route/minimax-m2.5-highspeed` | 100K | | | | | | $0.19 | $1 |
55
- | `routing-run/route/minimax-m2.7` | 100K | | | | | | $0.33 | $1 |
56
- | `routing-run/route/minimax-m2.7-highspeed` | 100K | | | | | | $0.33 | $1 |
57
- | `routing-run/route/mistral-large-3` | 128K | | | | | | $0.50 | $2 |
58
- | `routing-run/route/mistral-medium-2505` | 128K | | | | | | $0.40 | $2 |
59
- | `routing-run/route/mistral-small-2503` | 128K | | | | | | $0.15 | $0.60 |
60
- | `routing-run/route/qwen3.6-27b` | 202K | | | | | | $1 | $3 |
61
- | `routing-run/route/qwen3.6-27b-202k` | 202K | | | | | | $1 | $3 |
62
- | `routing-run/route/step-3.5-flash` | 262K | | | | | | $0.10 | $0.29 |
63
- | `routing-run/route/step-3.5-flash-2603` | 262K | | | | | | $0.10 | $0.30 |
64
- | `routing-run/route/stepfun-3.5-flash` | 262K | | | | | | $0.10 | $0.29 |
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | ---------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `routing-run/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
40
+ | `routing-run/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
41
+ | `routing-run/deepseek-v4-flash` | 1.0M | | | | | | $0.11 | $0.22 |
42
+ | `routing-run/deepseek-v4-pro` | 1.0M | | | | | | $0.35 | $0.70 |
43
+ | `routing-run/glm-5.2` | 200K | | | | | | $0.80 | $2 |
44
+ | `routing-run/glm-5.2-nitro` | 200K | | | | | | $0.80 | $2 |
45
+ | `routing-run/kimi-k2.6` | 200K | | | | | | $0.28 | $1 |
46
+ | `routing-run/kimi-k2.6-nitro` | 200K | | | | | | $0.28 | $1 |
47
+ | `routing-run/kimi-k2.7-code` | 200K | | | | | | $0.28 | $1 |
48
+ | `routing-run/kimi-k2.7-code-nitro` | 200K | | | | | | $0.28 | $1 |
49
+ | `routing-run/nemotron-3-ultra` | 131K | | | | | | $0.10 | $0.10 |
50
+ | `routing-run/qwen3.5-9b` | 262K | | | | | | $0.16 | $0.48 |
65
51
 
66
52
  ## Advanced configuration
67
53
 
@@ -72,8 +58,8 @@ const agent = new Agent({
72
58
  id: "custom-agent",
73
59
  name: "custom-agent",
74
60
  model: {
75
- url: "https://ai.routing.sh/v1",
76
- id: "routing-run/route/deepseek-v3.2",
61
+ url: "https://api.routing.run/v1",
62
+ id: "routing-run/claude-opus-4-8",
77
63
  apiKey: process.env.ROUTING_RUN_API_KEY,
78
64
  headers: {
79
65
  "X-Custom-Header": "value"
@@ -91,8 +77,8 @@ const agent = new Agent({
91
77
  model: ({ requestContext }) => {
92
78
  const useAdvanced = requestContext.task === "complex";
93
79
  return useAdvanced
94
- ? "routing-run/route/stepfun-3.5-flash"
95
- : "routing-run/route/deepseek-v3.2";
80
+ ? "routing-run/qwen3.5-9b"
81
+ : "routing-run/claude-opus-4-8";
96
82
  }
97
83
  });
98
84
  ```
@@ -37,13 +37,13 @@ for await (const chunk of stream) {
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | ---------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `the-grid-ai/agent-max` | 1.0M | | | | | | — | — |
40
- | `the-grid-ai/agent-prime` | 128K | | | | | | — | — |
40
+ | `the-grid-ai/agent-prime` | 197K | | | | | | — | — |
41
41
  | `the-grid-ai/agent-standard` | 128K | | | | | | — | — |
42
42
  | `the-grid-ai/code-max` | 1.0M | | | | | | — | — |
43
- | `the-grid-ai/code-prime` | 128K | | | | | | — | — |
43
+ | `the-grid-ai/code-prime` | 197K | | | | | | — | — |
44
44
  | `the-grid-ai/code-standard` | 128K | | | | | | — | — |
45
45
  | `the-grid-ai/text-max` | 1.0M | | | | | | — | — |
46
- | `the-grid-ai/text-prime` | 128K | | | | | | — | — |
46
+ | `the-grid-ai/text-prime` | 197K | | | | | | — | — |
47
47
  | `the-grid-ai/text-standard` | 128K | | | | | | — | — |
48
48
 
49
49
  ## Advanced configuration
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![Weights & Biases logo](https://models.dev/logos/wandb.svg)Weights & Biases
4
4
 
5
- Access 18 Weights & Biases models through Mastra's model router. Authentication is handled automatically using the `WANDB_API_KEY` environment variable.
5
+ Access 25 Weights & Biases models through Mastra's model router. Authentication is handled automatically using the `WANDB_API_KEY` environment variable.
6
6
 
7
7
  Learn more in the [Weights & Biases documentation](https://docs.wandb.ai).
8
8
 
@@ -17,7 +17,7 @@ const agent = new Agent({
17
17
  id: "my-agent",
18
18
  name: "My Agent",
19
19
  instructions: "You are a helpful assistant",
20
- model: "wandb/MiniMaxAI/MiniMax-M2.5"
20
+ model: "wandb/JetBrains/Mellum2-12B-A2.5B-Instruct"
21
21
  });
22
22
 
23
23
  // Generate a response
@@ -37,23 +37,30 @@ for await (const chunk of stream) {
37
37
  | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
38
  | ---------------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
39
  | `wandb/deepseek-ai/DeepSeek-V3.1` | 161K | | | | | | $0.55 | $2 |
40
+ | `wandb/deepseek-ai/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
41
+ | `wandb/deepseek-ai/DeepSeek-V4-Pro` | 1.0M | | | | | | $2 | $3 |
42
+ | `wandb/google/gemma-4-31B-it` | 262K | | | | | | $0.12 | $0.35 |
43
+ | `wandb/ibm-granite/granite-4.1-8b` | 131K | | | | | | $0.05 | $0.10 |
44
+ | `wandb/JetBrains/Mellum2-12B-A2.5B-Instruct` | 131K | | | | | | $0.05 | $0.10 |
40
45
  | `wandb/meta-llama/Llama-3.1-70B-Instruct` | 128K | | | | | | $0.80 | $0.80 |
41
46
  | `wandb/meta-llama/Llama-3.1-8B-Instruct` | 128K | | | | | | $0.22 | $0.22 |
42
47
  | `wandb/meta-llama/Llama-3.3-70B-Instruct` | 128K | | | | | | $0.71 | $0.71 |
43
- | `wandb/meta-llama/Llama-4-Scout-17B-16E-Instruct` | 64K | | | | | | $0.17 | $0.66 |
44
- | `wandb/microsoft/Phi-4-mini-instruct` | 128K | | | | | | $0.08 | $0.35 |
45
48
  | `wandb/MiniMaxAI/MiniMax-M2.5` | 197K | | | | | | $0.30 | $1 |
46
- | `wandb/moonshotai/Kimi-K2.5` | 262K | | | | | | $0.50 | $3 |
49
+ | `wandb/moonshotai/Kimi-K2.5` | 262K | | | | | | $0.60 | $3 |
50
+ | `wandb/moonshotai/Kimi-K2.6` | 262K | | | | | | $0.95 | $4 |
51
+ | `wandb/moonshotai/Kimi-K2.7-Code` | 262K | | | | | | $0.94 | $4 |
47
52
  | `wandb/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8` | 262K | | | | | | $0.20 | $0.80 |
48
- | `wandb/openai/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
49
- | `wandb/openai/gpt-oss-20b` | 131K | | | | | | $0.05 | $0.20 |
53
+ | `wandb/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B` | 262K | | | | | | $0.75 | $3 |
54
+ | `wandb/openai/gpt-oss-120b` | 131K | | | | | | $0.04 | $0.14 |
55
+ | `wandb/openai/gpt-oss-20b` | 131K | | | | | | $0.03 | $0.13 |
50
56
  | `wandb/OpenPipe/Qwen3-14B-Instruct` | 33K | | | | | | $0.05 | $0.22 |
51
- | `wandb/Qwen/Qwen3-235B-A22B-Instruct-2507` | 262K | | | | | | $0.10 | $0.10 |
52
- | `wandb/Qwen/Qwen3-235B-A22B-Thinking-2507` | 262K | | | | | | $0.10 | $0.10 |
53
57
  | `wandb/Qwen/Qwen3-30B-A3B-Instruct-2507` | 262K | | | | | | $0.10 | $0.30 |
54
58
  | `wandb/Qwen/Qwen3-Coder-480B-A35B-Instruct` | 262K | | | | | | $1 | $2 |
55
- | `wandb/zai-org/GLM-5-FP8` | 200K | | | | | | $1 | $3 |
56
- | `wandb/zai-org/GLM-5.1` | 200K | | | | | | $1 | $4 |
59
+ | `wandb/Qwen/Qwen3.5-35B-A3B` | 262K | | | | | | $0.25 | $1 |
60
+ | `wandb/Qwen/Qwen3.6-27B` | 262K | | | | | | $0.60 | $4 |
61
+ | `wandb/Qwen/Qwen3.6-35B-A3B` | 262K | | | | | | $0.25 | $1 |
62
+ | `wandb/zai-org/GLM-5.1` | 203K | | | | | | $1 | $4 |
63
+ | `wandb/zai-org/GLM-5.2` | 262K | | | | | | $1 | $4 |
57
64
 
58
65
  ## Advanced configuration
59
66
 
@@ -65,7 +72,7 @@ const agent = new Agent({
65
72
  name: "custom-agent",
66
73
  model: {
67
74
  url: "https://api.inference.wandb.ai/v1",
68
- id: "wandb/MiniMaxAI/MiniMax-M2.5",
75
+ id: "wandb/JetBrains/Mellum2-12B-A2.5B-Instruct",
69
76
  apiKey: process.env.WANDB_API_KEY,
70
77
  headers: {
71
78
  "X-Custom-Header": "value"
@@ -83,8 +90,8 @@ const agent = new Agent({
83
90
  model: ({ requestContext }) => {
84
91
  const useAdvanced = requestContext.task === "complex";
85
92
  return useAdvanced
86
- ? "wandb/zai-org/GLM-5.1"
87
- : "wandb/MiniMaxAI/MiniMax-M2.5";
93
+ ? "wandb/zai-org/GLM-5.2"
94
+ : "wandb/JetBrains/Mellum2-12B-A2.5B-Instruct";
88
95
  }
89
96
  });
90
97
  ```
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ![xAI logo](https://models.dev/logos/xai.svg)xAI
4
4
 
5
- Access 8 xAI models through Mastra's model router. Authentication is handled automatically using the `XAI_API_KEY` environment variable.
5
+ Access 9 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
 
@@ -38,6 +38,7 @@ for await (const chunk of stream) {
38
38
  | `xai/grok-4.20-0309-reasoning` | 1.0M | | | | | | $1 | $3 |
39
39
  | `xai/grok-4.20-multi-agent-0309` | 1.0M | | | | | | $1 | $3 |
40
40
  | `xai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
41
+ | `xai/grok-4.5` | 500K | | | | | | $2 | $6 |
41
42
  | `xai/grok-build-0.1` | 256K | | | | | | $1 | $2 |
42
43
  | `xai/grok-imagine-image` | 8K | | | | | | — | — |
43
44
  | `xai/grok-imagine-image-quality` | 8K | | | | | | — | — |
@@ -0,0 +1,73 @@
1
+ > Discover all available pages from the documentation index: https://mastra.ai/llms.txt
2
+
3
+ # ![Zenifra logo](https://models.dev/logos/zenifra.svg)Zenifra
4
+
5
+ Access 1 Zenifra model through Mastra's model router. Authentication is handled automatically using the `ZENIFRA_AI_KEY` environment variable.
6
+
7
+ Learn more in the [Zenifra documentation](https://docs.zenifra.com).
8
+
9
+ ```bash
10
+ ZENIFRA_AI_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: "zenifra/alibaba/qwen3.6-35b-a3b"
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
+ > **Info:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [Zenifra documentation](https://docs.zenifra.com) for details.
34
+
35
+ ## Models
36
+
37
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
38
+ | --------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
39
+ | `zenifra/alibaba/qwen3.6-35b-a3b` | 262K | | | | | | $0.19 | $0.48 |
40
+
41
+ ## Advanced configuration
42
+
43
+ ### Custom headers
44
+
45
+ ```typescript
46
+ const agent = new Agent({
47
+ id: "custom-agent",
48
+ name: "custom-agent",
49
+ model: {
50
+ url: "https://ai.zenifra.com/v1",
51
+ id: "zenifra/alibaba/qwen3.6-35b-a3b",
52
+ apiKey: process.env.ZENIFRA_AI_KEY,
53
+ headers: {
54
+ "X-Custom-Header": "value"
55
+ }
56
+ }
57
+ });
58
+ ```
59
+
60
+ ### Dynamic model selection
61
+
62
+ ```typescript
63
+ const agent = new Agent({
64
+ id: "dynamic-agent",
65
+ name: "Dynamic Agent",
66
+ model: ({ requestContext }) => {
67
+ const useAdvanced = requestContext.task === "complex";
68
+ return useAdvanced
69
+ ? "zenifra/alibaba/qwen3.6-35b-a3b"
70
+ : "zenifra/alibaba/qwen3.6-35b-a3b";
71
+ }
72
+ });
73
+ ```
@@ -35,6 +35,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
35
35
  - [Cloudflare Workers AI](https://mastra.ai/models/providers/cloudflare-workers-ai)
36
36
  - [Cortecs](https://mastra.ai/models/providers/cortecs)
37
37
  - [CrofAI](https://mastra.ai/models/providers/crof)
38
+ - [CrossModel](https://mastra.ai/models/providers/crossmodel)
38
39
  - [D.Run (China)](https://mastra.ai/models/providers/drun)
39
40
  - [Databricks](https://mastra.ai/models/providers/databricks)
40
41
  - [Deep Infra](https://mastra.ai/models/providers/deepinfra)
@@ -69,6 +70,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
69
70
  - [LongCat](https://mastra.ai/models/providers/longcat)
70
71
  - [LucidQuery](https://mastra.ai/models/providers/lucidquery)
71
72
  - [Meganova](https://mastra.ai/models/providers/meganova)
73
+ - [Meta](https://mastra.ai/models/providers/meta)
72
74
  - [MiniMax (minimax.io)](https://mastra.ai/models/providers/minimax)
73
75
  - [MiniMax (minimaxi.com)](https://mastra.ai/models/providers/minimax-cn)
74
76
  - [MiniMax Token Plan (minimax.io)](https://mastra.ai/models/providers/minimax-coding-plan)
@@ -136,6 +138,7 @@ Direct access to individual AI model providers. Each provider offers unique mode
136
138
  - [Z.AI](https://mastra.ai/models/providers/zai)
137
139
  - [Z.AI Coding Plan](https://mastra.ai/models/providers/zai-coding-plan)
138
140
  - [Zeldoc](https://mastra.ai/models/providers/zeldoc)
141
+ - [Zenifra](https://mastra.ai/models/providers/zenifra)
139
142
  - [ZenMux](https://mastra.ai/models/providers/zenmux)
140
143
  - [Zhipu AI](https://mastra.ai/models/providers/zhipuai)
141
144
  - [Zhipu AI Coding Plan](https://mastra.ai/models/providers/zhipuai-coding-plan)
@@ -174,7 +174,7 @@ await agentController.init()
174
174
 
175
175
  Create a new, fully-wired `Session` and bring it online. The session starts in the default mode with the seeded model, connects to the AgentController's shared machinery (agent, storage/lock, config catalog), and has a current thread (the most recent thread for the resource, or a freshly created one). Call `init()` once before creating sessions so shared storage is ready.
176
176
 
177
- The AgentController owns no session of its own — every consumer creates its own session and drives all work through it. In a server or multiplayer setting, each request, thread, or user gets its own session, isolated from every other: independent event bus, mode, model, state, and current thread.
177
+ The AgentController owns no session of its own — every consumer creates its own session and drives all work through it. A `resourceId` maps to exactly one session per AgentController (get-or-create): calling `createSession` with the same `resourceId` returns the existing session, so reconnects resume rather than fork the conversation. Different `resourceId`s produce independent sessions with isolated event bus, mode, model, state, and current thread. Use `session.thread.create()` and `session.thread.switch()` to manage multiple conversations within one session.
178
178
 
179
179
  `id` and `ownerId` are required — they mirror `SessionRecord.id` and `SessionRecord.ownerId` and are stable for the life of the session. `resourceId` is optional and defaults to `config.resourceId` then `config.id`.
180
180
 
@@ -270,7 +270,7 @@ const mastra = agentController.getMastra()
270
270
 
271
271
  #### `getWorkspace()`
272
272
 
273
- Return the AgentController-level workspace if it is a static `Workspace` instance. Dynamic factory workspaces are not resolved here — use [`resolveWorkspace()`](#resolveworkspace-session-requestcontext-) to resolve a factory against a session's request context.
273
+ Return the AgentController-level workspace if it's a static `Workspace` instance. Dynamic factory workspaces aren't resolved here — use [`resolveWorkspace()`](#resolveworkspace-session-requestcontext-) to resolve a factory against a session's request context.
274
274
 
275
275
  ```typescript
276
276
  const workspace = agentController.getWorkspace()
@@ -478,7 +478,7 @@ Responding to a pending tool approval is owned by the session — see [`session.
478
478
 
479
479
  Respond to a pending tool suspension. Interactive built-in tools such as `ask_user` and `request_access` pause through the native tool-suspension primitive, which emits a `tool_suspended` event carrying `toolCallId`, `toolName`, and `suspendPayload`. Pass `resumeData` to resume the suspended tool with the user's response.
480
480
 
481
- Provide `toolCallId` to select which suspension to resume. It is required when more than one tool is suspended at the same time (for example, parallel `ask_user` calls). When omitted, it resolves to the sole pending suspension.
481
+ Provide `toolCallId` to select which suspension to resume. It's required when more than one tool is suspended at the same time (for example, parallel `ask_user` calls). When omitted, it resolves to the sole pending suspension.
482
482
 
483
483
  ```typescript
484
484
  agentController.subscribe(event => {
@@ -4,7 +4,7 @@
4
4
 
5
5
  > **Beta:** The `AgentController` feature is in beta stage and subject to breaking changes in minor versions until it graduates from its beta status.
6
6
 
7
- A `Session` owns all the state tied to a single conversation. The [`AgentController`](https://mastra.ai/reference/agent-controller/agent-controller-class) is the shared host — agents, storage, config, the thread lock, and the event bus — while the `Session` holds everything that is per-conversation: identity, the active thread binding and reads, mode and model selection, run and abort state, the live agent stream, tool suspensions, follow-ups, approvals, permission grants, token usage, and the display-state snapshot.
7
+ A `Session` owns all the state tied to a single conversation. The [`AgentController`](https://mastra.ai/reference/agent-controller/agent-controller-class) is the shared host — agents, storage, config, the thread lock, and the event bus — while the `Session` holds everything that's per-conversation: identity, the active thread binding and reads, mode and model selection, run and abort state, the live agent stream, tool suspensions, follow-ups, approvals, permission grants, token usage, and the display-state snapshot.
8
8
 
9
9
  Access the session through `agentController.session`.
10
10
 
@@ -129,7 +129,7 @@ const usage = agentController.session.getTokenUsage()
129
129
 
130
130
  ## Identity
131
131
 
132
- `session.identity` owns the stable identifiers for the conversation: the resource ID, a session `id`, and an `ownerId`. The `id` and `ownerId` are stable for the life of the session and do not change when the resource ID is switched. They mirror the `id` and `ownerId` fields on `SessionRecord` in storage.
132
+ `session.identity` owns the stable identifiers for the conversation: the resource ID, a session `id`, and an `ownerId`. The `id` and `ownerId` are stable for the life of the session and don't change when the resource ID is switched. They mirror the `id` and `ownerId` fields on `SessionRecord` in storage.
133
133
 
134
134
  ### `session.identity.getId()`
135
135
 
@@ -163,7 +163,7 @@ Return the resource ID the session was created with.
163
163
  const defaultResourceId = agentController.session.identity.getDefaultResourceId()
164
164
  ```
165
165
 
166
- To change the resource ID, use [`agentController.setResourceId()`](https://mastra.ai/reference/agent-controller/agent-controller-class), which also tears down the active thread. The session `id` and `ownerId` are not affected by resource switches.
166
+ To change the resource ID, use [`agentController.setResourceId()`](https://mastra.ai/reference/agent-controller/agent-controller-class), which also tears down the active thread. The session `id` and `ownerId` aren't affected by resource switches.
167
167
 
168
168
  ## Thread
169
169
 
@@ -534,7 +534,7 @@ const displayState = agentController.session.displayState.get()
534
534
 
535
535
  ### `session.displayState.restoreTasks(tasks)`
536
536
 
537
- Restore the task portion of the snapshot after a UI replays persisted task tool history. This is a pure update of the snapshot and does not emit an event, so re-render explicitly after calling it.
537
+ Restore the task portion of the snapshot after a UI replays persisted task tool history. This is a pure update of the snapshot and doesn't emit an event, so re-render explicitly after calling it.
538
538
 
539
539
  ```typescript
540
540
  agentController.session.displayState.restoreTasks(replayedTasks)
@@ -481,7 +481,7 @@ Returns an `AgentThreadSubscription` object with these members:
481
481
 
482
482
  ## `generate()` memory options
483
483
 
484
- Pass `memory` when you call `agent.generate()` to choose which conversation thread the run should read from and write to. The common shape is `memory: { resource: string, thread: string }`, where `resource` identifies the owner and `thread` identifies the conversation. See [Threads and resources](https://mastra.ai/docs/memory/storage) for the concept model.
484
+ Pass `memory` when you call `agent.generate()` to choose which conversation thread the run should read from and write to. The common shape is `memory: { resource: string, thread: string }`, where `resource` identifies the owner and `thread` identifies the conversation. See [Threads and resources](https://mastra.ai/docs/memory/message-history) for the concept model.
485
485
 
486
486
  ```typescript
487
487
  const response = await agent.generate('What did we decide about retries?', {
@@ -4,7 +4,7 @@
4
4
 
5
5
  **Added in:** `@mastra/core@1.22.0`
6
6
 
7
- Channels connect agents to messaging platforms. Configure them via the `channels` property on the `Agent` constructor. The object you pass is a `ChannelConfig`. See the [Channels guide](https://mastra.ai/docs/agents/channels) for concepts and platform setup instructions.
7
+ Channels connect agents to messaging platforms. Configure them via the `channels` property on the `Agent` constructor. The object you pass is a `ChannelConfig`. See the [Channels overview](https://mastra.ai/docs/capabilities/channels/overview) for concepts and platform setup instructions.
8
8
 
9
9
  ## Usage example
10
10
 
@@ -291,6 +291,6 @@ type InlineLinkEntry =
291
291
 
292
292
  ## Related
293
293
 
294
- - [Channels guide](https://mastra.ai/docs/agents/channels): Concepts, quickstart, and platform setup
294
+ - [Channels overview](https://mastra.ai/docs/capabilities/channels/overview): Concepts, quickstart, and platform setup
295
295
  - [Agent class](https://mastra.ai/reference/agents/agent): Constructor parameters and methods
296
296
  - [Chat SDK adapters](https://chat-sdk.dev/adapters): Adapter configuration and platform setup
@@ -165,7 +165,7 @@ const { output, cleanup } = await durableAgent.observe(runId, {
165
165
  await output.text
166
166
  ```
167
167
 
168
- The result from `observe()` does not include `threadId` or `resourceId`.
168
+ The result from `observe()` doesn't include `threadId` or `resourceId`.
169
169
 
170
170
  Returns: `Promise<Omit<InngestAgentStreamResult, 'threadId' | 'resourceId'>>`
171
171
 
@@ -46,7 +46,7 @@ interface SkillMetadata {
46
46
 
47
47
  ## Merging behavior
48
48
 
49
- When both agent-level skills and workspace skills are configured, `.listSkills()` returns the merged set. Agent-level skills take precedence on name conflicts — if both define a skill named `code-review`, only the agent-level version appears in the result.
49
+ When both agent-level skills and workspace skills are configured, `.listSkills()` returns the merged set. Agent-level skills take precedence on name conflicts — if both define a skill named `code-review`, only the agent-level version is returned.
50
50
 
51
51
  ## Related
52
52
 
@@ -83,11 +83,11 @@ interface AgentRunToolCall {
83
83
 
84
84
  ## Discovery scope
85
85
 
86
- Results are scoped to runs started by the agent you call `listSuspendedRuns()` on: snapshots persist the owning agent's id, so runs started by other agents on the same Mastra instance are not returned. In [supervisor setups](https://mastra.ai/docs/agents/agent-approval) the supervisor sees its outer run — the one to resume — while a subagent's inner run is only visible from the subagent itself. Filter by `threadId` and `resourceId` to scope results to one conversation.
86
+ Results are scoped to runs started by the agent you call `listSuspendedRuns()` on: snapshots persist the owning agent's id, so runs started by other agents on the same Mastra instance aren't returned. In [supervisor setups](https://mastra.ai/docs/agents/agent-approval) the supervisor sees its outer run — the one to resume — while a subagent's inner run is only visible from the subagent itself. Filter by `threadId` and `resourceId` to scope results to one conversation.
87
87
 
88
- Run snapshots are only persisted while a run is waiting on input and are deleted when it finishes, so suspended runs are the only runs discoverable from storage. Suspended runs only survive restarts when the Mastra instance has a persistent [storage provider](https://mastra.ai/docs/memory/storage) configured. With the default in-memory store, snapshots are lost on restart.
88
+ Run snapshots are only persisted while a run is waiting on input and are deleted when it finishes, so suspended runs are the only runs discoverable from storage. Suspended runs only survive restarts when the Mastra instance has a persistent [storage provider](https://mastra.ai/docs/storage/overview) configured. With the default in-memory store, snapshots are lost on restart.
89
89
 
90
90
  ## Related
91
91
 
92
92
  - [Agent approval](https://mastra.ai/docs/agents/agent-approval)
93
- - [Storage](https://mastra.ai/docs/memory/storage)
93
+ - [Storage](https://mastra.ai/docs/storage/overview)