@mastra/mcp-docs-server 1.2.23-alpha.5 → 1.2.23-alpha.8

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 (138) hide show
  1. package/.docs/docs/agents/code-mode.md +1 -1
  2. package/.docs/docs/agents/human-in-the-loop.md +1 -1
  3. package/.docs/docs/agents/networks.md +1 -1
  4. package/.docs/docs/agents/processors.md +1 -1
  5. package/.docs/docs/agents/structured-output.md +1 -1
  6. package/.docs/docs/auth/fga.md +1 -1
  7. package/.docs/docs/channels.md +2 -2
  8. package/.docs/docs/connections/mcp.md +1 -1
  9. package/.docs/docs/datasets/running-experiments.md +1 -1
  10. package/.docs/docs/deployment/sandbox.md +2 -2
  11. package/.docs/docs/deployment/workers.md +2 -2
  12. package/.docs/docs/evals/custom-scorers.md +1 -1
  13. package/.docs/docs/evals/multi-turn.md +1 -1
  14. package/.docs/docs/evals/overview.md +2 -2
  15. package/.docs/docs/evals/quick-checks.md +1 -1
  16. package/.docs/docs/evals/vitest-integration.md +136 -0
  17. package/.docs/docs/guides/context-engineering.md +1 -1
  18. package/.docs/docs/guides/multi-agent-systems.md +1 -1
  19. package/.docs/docs/guides/streaming.md +72 -52
  20. package/.docs/docs/harness/agent-controller.md +1 -1
  21. package/.docs/docs/harness/background-tasks.md +1 -1
  22. package/.docs/docs/harness/durable-agents.md +1 -1
  23. package/.docs/docs/harness/schedules.md +1 -1
  24. package/.docs/docs/harness/signal-providers.md +1 -1
  25. package/.docs/docs/harness/signals.md +1 -1
  26. package/.docs/docs/index.md +1 -1
  27. package/.docs/docs/mastra-platform/deploy.md +15 -15
  28. package/.docs/docs/mastra-platform/environments.md +2 -2
  29. package/.docs/docs/mastra-platform/github.md +2 -2
  30. package/.docs/docs/mastra-platform/regions.md +1 -1
  31. package/.docs/docs/mastra-platform/server.md +4 -4
  32. package/.docs/docs/mastra-platform/studio.md +1 -1
  33. package/.docs/docs/mastra-platform/trace-intelligence.md +1 -1
  34. package/.docs/docs/mastra-platform/workspaces.md +1 -1
  35. package/.docs/docs/memory/message-history.md +3 -3
  36. package/.docs/docs/memory/observational-memory.md +18 -18
  37. package/.docs/docs/memory/overview.md +1 -1
  38. package/.docs/docs/memory/working-memory.md +1 -1
  39. package/.docs/docs/observability/feedback.md +1 -1
  40. package/.docs/docs/observability/logging.md +1 -1
  41. package/.docs/docs/observability/tracing/overview.md +1 -1
  42. package/.docs/docs/sandbox/lsp.md +1 -1
  43. package/.docs/docs/sandbox/overview.md +1 -1
  44. package/.docs/docs/server/mastra-client.md +1 -1
  45. package/.docs/docs/server/overview.md +1 -1
  46. package/.docs/docs/server/pubsub.md +1 -1
  47. package/.docs/docs/server/request-context.md +2 -2
  48. package/.docs/docs/server/server-adapters.md +1 -1
  49. package/.docs/docs/skills.md +1 -1
  50. package/.docs/docs/studio/deployment.md +1 -1
  51. package/.docs/docs/studio/editor.md +1 -1
  52. package/.docs/docs/studio/overview.md +1 -1
  53. package/.docs/docs/subagents.md +2 -2
  54. package/.docs/docs/workflows/control-flow.md +1 -1
  55. package/.docs/docs/workflows/overview.md +1 -1
  56. package/.docs/docs/workflows/scheduled-workflows.md +1 -1
  57. package/.docs/docs/workflows/suspend-and-resume.md +2 -2
  58. package/.docs/integrations/sandboxes/agentcore.md +2 -0
  59. package/.docs/integrations/sandboxes/apple-container.md +4 -2
  60. package/.docs/integrations/sandboxes/blaxel.md +2 -0
  61. package/.docs/integrations/sandboxes/cloudflare-sandbox.md +1 -1
  62. package/.docs/integrations/sandboxes/daytona.md +2 -0
  63. package/.docs/integrations/sandboxes/docker.md +3 -1
  64. package/.docs/integrations/sandboxes/e2b.md +2 -0
  65. package/.docs/integrations/sandboxes/modal.md +3 -1
  66. package/.docs/integrations/sandboxes/railway.md +2 -0
  67. package/.docs/integrations/sandboxes/vercel.md +4 -0
  68. package/.docs/models/gateways/merge-gateway.md +2 -1
  69. package/.docs/models/gateways/netlify.md +1 -1
  70. package/.docs/models/gateways/openrouter.md +1 -1
  71. package/.docs/models/gateways/vercel.md +3 -1
  72. package/.docs/models/index.md +1 -1
  73. package/.docs/models/providers/abliteration-ai.md +7 -6
  74. package/.docs/models/providers/chutes.md +1 -1
  75. package/.docs/models/providers/coralbricks.md +4 -4
  76. package/.docs/models/providers/cortecs.md +3 -3
  77. package/.docs/models/providers/crossmodel.md +2 -2
  78. package/.docs/models/providers/edenai.md +7 -5
  79. package/.docs/models/providers/google.md +1 -2
  80. package/.docs/models/providers/groq.md +2 -1
  81. package/.docs/models/providers/hyper.md +8 -6
  82. package/.docs/models/providers/iteracompute.md +8 -7
  83. package/.docs/models/providers/kilo.md +23 -24
  84. package/.docs/models/providers/llmgateway-providers.md +2 -26
  85. package/.docs/models/providers/llmgateway.md +3 -14
  86. package/.docs/models/providers/nano-gpt.md +5 -3
  87. package/.docs/models/providers/requesty.md +4 -4
  88. package/.docs/models/providers/vancine.md +13 -11
  89. package/.docs/reference/agent-controller/agent-controller-class.md +2 -2
  90. package/.docs/reference/agent-controller/session.md +3 -3
  91. package/.docs/reference/agents/durable-agent.md +77 -9
  92. package/.docs/reference/agents/getDefaultGenerateOptions.md +1 -1
  93. package/.docs/reference/agents/listSuspendedRuns.md +2 -2
  94. package/.docs/reference/ai-sdk/chat-route.md +1 -1
  95. package/.docs/reference/ai-sdk/network-route.md +1 -1
  96. package/.docs/reference/ai-sdk/workflow-route.md +1 -1
  97. package/.docs/reference/browser/browser-viewer.md +1 -1
  98. package/.docs/reference/cli/mastra.md +4 -4
  99. package/.docs/reference/core/mastra-class.md +1 -1
  100. package/.docs/reference/datasets/createExperiment.md +1 -1
  101. package/.docs/reference/editor/tool-provider.md +1 -1
  102. package/.docs/reference/editor/versioning.md +1 -1
  103. package/.docs/reference/evals/multi-turn-judge.md +1 -1
  104. package/.docs/reference/evals/rubric.md +1 -1
  105. package/.docs/reference/file-based-agents/schedules.md +2 -2
  106. package/.docs/reference/file-based-agents/workspace.md +1 -1
  107. package/.docs/reference/manual-install.md +3 -3
  108. package/.docs/reference/memory/observational-memory.md +4 -4
  109. package/.docs/reference/memory/settled.md +1 -1
  110. package/.docs/reference/migrations/mastra-cloud.md +9 -9
  111. package/.docs/reference/migrations/upgrade-to-v1/overview.md +1 -1
  112. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +1 -1
  113. package/.docs/reference/processors/processor-interface.md +1 -1
  114. package/.docs/reference/processors/regex-filter-processor.md +3 -3
  115. package/.docs/reference/processors/token-cost-control.md +2 -2
  116. package/.docs/reference/processors/token-limiter-processor.md +1 -1
  117. package/.docs/reference/processors/tool-search-processor.md +1 -1
  118. package/.docs/reference/processors/working-memory-processor.md +1 -1
  119. package/.docs/reference/pubsub/base.md +2 -2
  120. package/.docs/reference/pubsub/lease-provider.md +2 -2
  121. package/.docs/reference/rag/vector-databases.md +33 -33
  122. package/.docs/reference/server/create-route.md +1 -1
  123. package/.docs/reference/signals/task-signal-provider.md +1 -1
  124. package/.docs/reference/storage/composite.md +1 -1
  125. package/.docs/reference/storage/retention.md +4 -4
  126. package/.docs/reference/streaming/ChunkType.md +1 -1
  127. package/.docs/reference/tools/isolated-vm-transport.md +1 -1
  128. package/.docs/reference/tools/mcp-client.md +2 -2
  129. package/.docs/reference/vectors/couchbase.md +1 -1
  130. package/.docs/reference/vectors/mongodb.md +2 -2
  131. package/.docs/reference/voice/overview.md +1 -1
  132. package/.docs/reference/workflows/workflow-methods/foreach.md +1 -1
  133. package/.docs/reference/workspace/platform-sandbox.md +3 -1
  134. package/.docs/reference/workspace/process-manager.md +1 -1
  135. package/.docs/reference/workspace/sandbox.md +20 -3
  136. package/.docs/reference/workspace/workspace-class.md +3 -3
  137. package/package.json +6 -7
  138. package/CHANGELOG.md +0 -5936
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![Kilo Gateway logo](https://models.dev/logos/kilo.svg)Kilo Gateway
6
6
 
7
- Access 364 Kilo Gateway models through Mastra's model router. Authentication is handled automatically using the `KILO_API_KEY` environment variable.
7
+ Access 363 Kilo Gateway models through Mastra's model router. Authentication is handled automatically using the `KILO_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [Kilo Gateway documentation](https://kilo.ai).
10
10
 
@@ -42,14 +42,14 @@ for await (const chunk of stream) {
42
42
  | `kilo/~anthropic/claude-haiku-latest` | 200K | | | | | | $1 | $5 |
43
43
  | `kilo/~anthropic/claude-opus-latest` | 1.0M | | | | | | $5 | $25 |
44
44
  | `kilo/~anthropic/claude-sonnet-latest` | 1.0M | | | | | | $2 | $10 |
45
- | `kilo/~deepseek/deepseek-v4-flash-latest` | 1.0M | | | | | | $0.03 | $0.16 |
45
+ | `kilo/~deepseek/deepseek-v4-flash-latest` | 1.0M | | | | | | $0.05 | $0.16 |
46
46
  | `kilo/~google/gemini-flash-latest` | 1.0M | | | | | | $0.75 | $4 |
47
47
  | `kilo/~google/gemini-pro-latest` | 1.0M | | | | | | $2 | $12 |
48
48
  | `kilo/~moonshotai/kimi-latest` | 1.0M | | | | | | $3 | $13 |
49
49
  | `kilo/~openai/gpt-latest` | 1.1M | | | | | | $2 | $10 |
50
50
  | `kilo/~openai/gpt-mini-latest` | 400K | | | | | | $0.75 | $5 |
51
51
  | `kilo/~x-ai/grok-latest` | 500K | | | | | | $2 | $6 |
52
- | `kilo/~z-ai/glm-latest` | 262K | | | | | | $1 | $4 |
52
+ | `kilo/~z-ai/glm-latest` | 1.0M | | | | | | $1 | $4 |
53
53
  | `kilo/aion-labs/aion-2.0` | 131K | | | | | | $0.80 | $2 |
54
54
  | `kilo/aion-labs/aion-3.0` | 131K | | | | | | $3 | $6 |
55
55
  | `kilo/aion-labs/aion-3.0-mini` | 131K | | | | | | $0.70 | $1 |
@@ -77,7 +77,7 @@ for await (const chunk of stream) {
77
77
  | `kilo/anthropic/claude-sonnet-4.5` | 1.0M | | | | | | $3 | $15 |
78
78
  | `kilo/anthropic/claude-sonnet-4.6` | 1.0M | | | | | | $3 | $15 |
79
79
  | `kilo/anthropic/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
80
- | `kilo/arcee-ai/trinity-large-thinking` | 262K | | | | | | $0.22 | $0.85 |
80
+ | `kilo/arcee-ai/trinity-large-thinking` | 262K | | | | | | $0.25 | $0.80 |
81
81
  | `kilo/baidu/ernie-4.5-vl-424b-a47b` | 123K | | | | | | $0.42 | $1 |
82
82
  | `kilo/bytedance-seed/seed-1.6` | 262K | | | | | | $0.25 | $2 |
83
83
  | `kilo/bytedance-seed/seed-1.6-flash` | 262K | | | | | | $0.07 | $0.30 |
@@ -92,8 +92,8 @@ for await (const chunk of stream) {
92
92
  | `kilo/cohere/command-r-plus-08-2024` | 128K | | | | | | $3 | $10 |
93
93
  | `kilo/cohere/command-r7b-12-2024` | 128K | | | | | | $0.04 | $0.15 |
94
94
  | `kilo/cohere/north-mini-code:free` | 256K | | | | | | — | — |
95
- | `kilo/deepseek/deepseek-chat` | 128K | | | | | | $0.40 | $1 |
96
- | `kilo/deepseek/deepseek-chat-v3-0324` | 164K | | | | | | $0.27 | $1 |
95
+ | `kilo/deepseek/deepseek-chat` | 128K | | | | | | $0.26 | $1 |
96
+ | `kilo/deepseek/deepseek-chat-v3-0324` | 164K | | | | | | $0.25 | $1 |
97
97
  | `kilo/deepseek/deepseek-chat-v3.1` | 161K | | | | | | $0.27 | $1 |
98
98
  | `kilo/deepseek/deepseek-r1` | 64K | | | | | | $0.70 | $3 |
99
99
  | `kilo/deepseek/deepseek-r1-0528` | 164K | | | | | | $0.70 | $3 |
@@ -103,30 +103,30 @@ for await (const chunk of stream) {
103
103
  | `kilo/deepseek/deepseek-v3.2-exp` | 164K | | | | | | $0.27 | $0.41 |
104
104
  | `kilo/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
105
105
  | `kilo/deepseek/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.44 | $1 |
106
- | `kilo/deepseek/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.22 | $0.66 |
106
+ | `kilo/deepseek/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.44 | $1 |
107
107
  | `kilo/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
108
108
  | `kilo/deepseek/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
109
109
  | `kilo/dots-studio/dots-3-note-preview:free` | 512K | | | | | | — | — |
110
110
  | `kilo/google/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
111
- | `kilo/google/gemini-2.5-flash-image` | 33K | | | | | | $0.30 | $3 |
111
+ | `kilo/google/gemini-2.5-flash-image` | 33K | | | | | | $0.15 | $1 |
112
112
  | `kilo/google/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
113
113
  | `kilo/google/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
114
114
  | `kilo/google/gemini-2.5-pro-preview` | 1.0M | | | | | | $1 | $10 |
115
115
  | `kilo/google/gemini-2.5-pro-preview-05-06` | 1.0M | | | | | | $1 | $10 |
116
- | `kilo/google/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
116
+ | `kilo/google/gemini-3-flash-preview` | 1.0M | | | | | | $0.25 | $2 |
117
117
  | `kilo/google/gemini-3-pro-image` | 131K | | | | | | $2 | $12 |
118
- | `kilo/google/gemini-3-pro-image-preview` | 66K | | | | | | $2 | $12 |
118
+ | `kilo/google/gemini-3-pro-image-preview` | 66K | | | | | | $1 | $6 |
119
119
  | `kilo/google/gemini-3.1-flash-image` | 131K | | | | | | $0.50 | $3 |
120
120
  | `kilo/google/gemini-3.1-flash-image-preview` | 66K | | | | | | $0.50 | $3 |
121
- | `kilo/google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
121
+ | `kilo/google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.13 | $0.75 |
122
122
  | `kilo/google/gemini-3.1-flash-lite-image` | 66K | | | | | | $0.25 | $2 |
123
- | `kilo/google/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.25 | $2 |
124
- | `kilo/google/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
123
+ | `kilo/google/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.13 | $0.75 |
124
+ | `kilo/google/gemini-3.1-pro-preview` | 1.0M | | | | | | $1 | $6 |
125
125
  | `kilo/google/gemini-3.1-pro-preview-customtools` | 1.0M | | | | | | $2 | $12 |
126
- | `kilo/google/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
127
- | `kilo/google/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.30 | $3 |
128
- | `kilo/google/gemini-3.6-flash` | 1.0M | | | | | | $0.75 | $4 |
129
- | `kilo/google/gemini-3.7-flash` | 1.0M | | | | | | $2 | $8 |
126
+ | `kilo/google/gemini-3.5-flash` | 1.0M | | | | | | $0.75 | $5 |
127
+ | `kilo/google/gemini-3.5-flash-lite` | 1.0M | | | | | | $0.15 | $1 |
128
+ | `kilo/google/gemini-3.6-flash` | 1.0M | | | | | | $0.38 | $2 |
129
+ | `kilo/google/gemini-3.7-flash` | 1.0M | | | | | | $0.75 | $4 |
130
130
  | `kilo/google/gemma-2-27b-it` | 8K | | | | | | $0.65 | $0.65 |
131
131
  | `kilo/google/gemma-3-12b-it` | 131K | | | | | | $0.05 | $0.15 |
132
132
  | `kilo/google/gemma-3-27b-it` | 131K | | | | | | $0.08 | $0.16 |
@@ -138,6 +138,7 @@ for await (const chunk of stream) {
138
138
  | `kilo/gryphe/mythomax-l2-13b` | 4K | | | | | | $0.06 | $0.06 |
139
139
  | `kilo/ibm-granite/granite-4.0-h-micro` | 131K | | | | | | $0.02 | $0.11 |
140
140
  | `kilo/ibm-granite/granite-4.1-8b` | 131K | | | | | | $0.05 | $0.10 |
141
+ | `kilo/ibm-granite/granite-4.2-8b` | 131K | | | | | | $0.10 | $0.15 |
141
142
  | `kilo/inception/mercury-2` | 128K | | | | | | $0.25 | $0.75 |
142
143
  | `kilo/inclusionai/ling-3.0-flash` | 262K | | | | | | $0.06 | $0.18 |
143
144
  | `kilo/inclusionai/ling-3.0-flash-fin:free` | 262K | | | | | | — | — |
@@ -146,11 +147,10 @@ for await (const chunk of stream) {
146
147
  | `kilo/kilo-auto/free` | 256K | | | | | | — | — |
147
148
  | `kilo/kilo-auto/frontier` | 1.0M | | | | | | $5 | $25 |
148
149
  | `kilo/kilo-auto/small` | 262K | | | | | | $0.05 | $0.40 |
149
- | `kilo/kwaipilot/kat-coder-air-v2.5` | 256K | | | | | | $0.15 | $0.60 |
150
- | `kilo/kwaipilot/kat-coder-pro-v2` | 256K | | | | | | $0.30 | $1 |
151
- | `kilo/kwaipilot/kat-coder-pro-v2.5` | 256K | | | | | | $0.74 | $3 |
150
+ | `kilo/kwaipilot/kat-coder-pro-v2` | 262K | | | | | | $0.30 | $1 |
151
+ | `kilo/kwaipilot/kat-coder-pro-v2.5` | 262K | | | | | | $0.74 | $3 |
152
152
  | `kilo/liquid/lfm-2.5-2.6b:free` | 66K | | | | | | — | — |
153
- | `kilo/mancer/weaver` | 8K | | | | | | $0.50 | $0.75 |
153
+ | `kilo/mancer/weaver` | 8K | | | | | | $0.40 | $0.75 |
154
154
  | `kilo/meituan/longcat-2.0` | 1.0M | | | | | | $0.75 | $3 |
155
155
  | `kilo/meituan/longcat-2.0-free` | 1.0M | | | | | | — | — |
156
156
  | `kilo/meta-llama/llama-3.1-70b-instruct` | 131K | | | | | | $0.40 | $0.40 |
@@ -159,7 +159,7 @@ for await (const chunk of stream) {
159
159
  | `kilo/meta-llama/llama-3.2-3b-instruct` | 131K | | | | | | $0.05 | $0.33 |
160
160
  | `kilo/meta-llama/llama-3.3-70b-instruct` | 128K | | | | | | $0.10 | $0.32 |
161
161
  | `kilo/meta-llama/llama-4-maverick` | 128K | | | | | | $0.20 | $0.70 |
162
- | `kilo/meta-llama/llama-4-scout` | 131K | | | | | | $0.10 | $0.30 |
162
+ | `kilo/meta-llama/llama-4-scout` | 328K | | | | | | $0.10 | $0.30 |
163
163
  | `kilo/meta-llama/llama-guard-4-12b` | 164K | | | | | | $0.18 | $0.18 |
164
164
  | `kilo/meta/muse-glimmer-30b` | 131K | | | | | | $0.30 | $1 |
165
165
  | `kilo/meta/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
@@ -367,7 +367,6 @@ for await (const chunk of stream) {
367
367
  | `kilo/tencent/hy-mt2-7b` | 8K | | | | | | $0.07 | $0.29 |
368
368
  | `kilo/tencent/hy3` | 262K | | | | | | $0.14 | $0.58 |
369
369
  | `kilo/tencent/hy3-preview` | 262K | | | | | | $0.18 | $0.60 |
370
- | `kilo/tencent/hy3:free` | 262K | | | | | | — | — |
371
370
  | `kilo/tencent/hy4-preview` | 1.0M | | | | | | $0.83 | $3 |
372
371
  | `kilo/thedrummer/cydonia-24b-v4.1` | 131K | | | | | | $0.30 | $0.50 |
373
372
  | `kilo/thedrummer/skyfall-36b-v2` | 33K | | | | | | $0.55 | $0.80 |
@@ -376,7 +375,7 @@ for await (const chunk of stream) {
376
375
  | `kilo/thinkingmachines/inkling-small` | 524K | | | | | | $0.45 | $1 |
377
376
  | `kilo/thinkingmachines/inkling-small:free` | 1.0M | | | | | | — | — |
378
377
  | `kilo/thinkingmachines/inkling:free` | 1.0M | | | | | | — | — |
379
- | `kilo/undi95/remm-slerp-l2-13b` | 6K | | | | | | $0.45 | $0.65 |
378
+ | `kilo/undi95/remm-slerp-l2-13b` | 6K | | | | | | $0.35 | $0.65 |
380
379
  | `kilo/upstage/solar-pro-3` | 131K | | | | | | $0.15 | $0.60 |
381
380
  | `kilo/upstage/solar-pro4` | 524K | | | | | | $0.30 | $1 |
382
381
  | `kilo/writer/palmyra-x5` | 1.0M | | | | | | $0.60 | $6 |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![LLM Gateway logo](https://models.dev/logos/llmgateway-providers.svg)LLM Gateway
6
6
 
7
- Access 384 LLM Gateway models through Mastra's model router. Authentication is handled automatically using the `LLMGATEWAY_API_KEY` environment variable.
7
+ Access 360 LLM Gateway models through Mastra's model router. Authentication is handled automatically using the `LLMGATEWAY_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [LLM Gateway documentation](https://llmgateway.io/docs).
10
10
 
@@ -246,31 +246,6 @@ for await (const chunk of stream) {
246
246
  | `llmgateway-providers/moonshot/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
247
247
  | `llmgateway-providers/moonshot/kimi-k2.7-code-highspeed` | 262K | | | | | | $2 | $8 |
248
248
  | `llmgateway-providers/moonshot/kimi-k3` | 1.0M | | | | | | $3 | $15 |
249
- | `llmgateway-providers/nebius/cosmos3-super-reasoner` | 262K | | | | | | $0.10 | $0.30 |
250
- | `llmgateway-providers/nebius/deepseek-v4-pro` | 1.0M | | | | | | $2 | $4 |
251
- | `llmgateway-providers/nebius/gemma-3-27b` | 110K | | | | | | $0.10 | $0.30 |
252
- | `llmgateway-providers/nebius/glm-5.1` | 203K | | | | | | $1 | $4 |
253
- | `llmgateway-providers/nebius/glm-5.2` | 1.0M | | | | | | $1 | $4 |
254
- | `llmgateway-providers/nebius/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.60 |
255
- | `llmgateway-providers/nebius/hermes-4-405b` | 131K | | | | | | $1 | $3 |
256
- | `llmgateway-providers/nebius/hermes-4-70b` | 131K | | | | | | $0.13 | $0.40 |
257
- | `llmgateway-providers/nebius/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
258
- | `llmgateway-providers/nebius/kimi-k2.7-code` | 262K | | | | | | $0.95 | $4 |
259
- | `llmgateway-providers/nebius/kimi-k3` | 1.0M | | | | | | $3 | $15 |
260
- | `llmgateway-providers/nebius/llama-3.1-nemotron-ultra-253b` | 128K | | | | | | $0.60 | $2 |
261
- | `llmgateway-providers/nebius/llama-3.3-70b-instruct` | 128K | | | | | | $0.13 | $0.40 |
262
- | `llmgateway-providers/nebius/minicpm-v-4.5` | 32K | | | | | | $0.66 | $1 |
263
- | `llmgateway-providers/nebius/minimax-m2.5` | 197K | | | | | | $0.30 | $1 |
264
- | `llmgateway-providers/nebius/minimax-m3` | 1.0M | | | | | | $0.30 | $1 |
265
- | `llmgateway-providers/nebius/nemotron-3-nano-30b` | 262K | | | | | | $0.06 | $0.24 |
266
- | `llmgateway-providers/nebius/nemotron-3-nano-omni` | 262K | | | | | | $0.06 | $0.24 |
267
- | `llmgateway-providers/nebius/nemotron-3-super-120b` | 262K | | | | | | $0.30 | $0.90 |
268
- | `llmgateway-providers/nebius/nemotron-3-ultra-550b` | 1.0M | | | | | | $1 | $3 |
269
- | `llmgateway-providers/nebius/qwen2-5-vl-72b-instruct` | 32K | | | | | | $0.25 | $0.75 |
270
- | `llmgateway-providers/nebius/qwen3-235b-a22b-instruct-2507` | 262K | | | | | | $0.20 | $0.60 |
271
- | `llmgateway-providers/nebius/qwen3-30b-a3b-instruct-2507` | 262K | | | | | | $0.10 | $0.30 |
272
- | `llmgateway-providers/nebius/qwen3-32b` | 41K | | | | | | $0.10 | $0.30 |
273
- | `llmgateway-providers/nebius/qwen3-next-80b-a3b-thinking` | 131K | | | | | | $0.15 | $1 |
274
249
  | `llmgateway-providers/novita/deepseek-v3.2` | 164K | | | | | | $0.27 | $0.40 |
275
250
  | `llmgateway-providers/novita/deepseek-v4-flash` | 1.1M | | | | | | $0.14 | $0.28 |
276
251
  | `llmgateway-providers/novita/ernie-4.5-vl-424b-a47b` | 123K | | | | | | $0.42 | $1 |
@@ -356,6 +331,7 @@ for await (const chunk of stream) {
356
331
  | `llmgateway-providers/runware/deepseek-v4-pro` | 1.0M | | | | | | $0.96 | $2 |
357
332
  | `llmgateway-providers/runware/gemma-4-31b-it` | 262K | | | | | | $0.10 | $0.30 |
358
333
  | `llmgateway-providers/runware/glm-5.2` | 1.0M | | | | | | $0.80 | $3 |
334
+ | `llmgateway-providers/runware/glm-5.3-flash` | 1.0M | | | | | | $0.15 | $0.50 |
359
335
  | `llmgateway-providers/runware/gpt-oss-120b` | 131K | | | | | | $0.03 | $0.14 |
360
336
  | `llmgateway-providers/runware/kimi-k2.6` | 262K | | | | | | $0.60 | $3 |
361
337
  | `llmgateway-providers/sakana/fugu-ultra` | 1.0M | | | | | | $5 | $30 |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![DevPass (LLM Gateway) logo](https://models.dev/logos/llmgateway.svg)DevPass (LLM Gateway)
6
6
 
7
- Access 191 DevPass (LLM Gateway) models through Mastra's model router. Authentication is handled automatically using the `LLMGATEWAY_API_KEY` environment variable.
7
+ Access 180 DevPass (LLM Gateway) models through Mastra's model router. Authentication is handled automatically using the `LLMGATEWAY_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [DevPass (LLM Gateway) documentation](https://llmgateway.io/docs).
10
10
 
@@ -53,7 +53,6 @@ for await (const chunk of stream) {
53
53
  | `llmgateway/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
54
54
  | `llmgateway/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
55
55
  | `llmgateway/codestral-2508` | 256K | | | | | | $0.30 | $0.90 |
56
- | `llmgateway/cosmos3-super-reasoner` | 262K | | | | | | $0.10 | $0.30 |
57
56
  | `llmgateway/custom` | 128K | | | | | | — | — |
58
57
  | `llmgateway/deepseek-v3.2` | 164K | | | | | | $0.26 | $0.38 |
59
58
  | `llmgateway/deepseek-v4-flash` | 1.1M | | | | | | $0.05 | $0.10 |
@@ -72,7 +71,6 @@ for await (const chunk of stream) {
72
71
  | `llmgateway/gemini-3.6-flash` | 1.0M | | | | | | $0.75 | $4 |
73
72
  | `llmgateway/gemini-3.7-flash` | 1.0M | | | | | | $0.75 | $4 |
74
73
  | `llmgateway/gemini-pro-latest` | 1.0M | | | | | | $2 | $12 |
75
- | `llmgateway/gemma-3-27b` | 110K | | | | | | $0.10 | $0.30 |
76
74
  | `llmgateway/gemma-4-26b-a4b-it` | 262K | | | | | | $0.07 | $0.34 |
77
75
  | `llmgateway/gemma-4-31b-it` | 262K | | | | | | $0.10 | $0.30 |
78
76
  | `llmgateway/glm-4-32b-0414-128k` | 128K | | | | | | $0.10 | $0.10 |
@@ -136,8 +134,6 @@ for await (const chunk of stream) {
136
134
  | `llmgateway/grok-4-5` | 500K | | | | | | $2 | $6 |
137
135
  | `llmgateway/grok-4-6` | 500K | | | | | | $2 | $6 |
138
136
  | `llmgateway/grok-build-0-1` | 256K | | | | | | $1 | $2 |
139
- | `llmgateway/hermes-4-405b` | 131K | | | | | | $1 | $3 |
140
- | `llmgateway/hermes-4-70b` | 131K | | | | | | $0.13 | $0.40 |
141
137
  | `llmgateway/hy3` | 262K | | | | | | $0.14 | $0.58 |
142
138
  | `llmgateway/kimi-k2` | 256K | | | | | | $0.57 | $2 |
143
139
  | `llmgateway/kimi-k2-thinking` | 262K | | | | | | $0.60 | $3 |
@@ -150,15 +146,13 @@ for await (const chunk of stream) {
150
146
  | `llmgateway/ling-3.0-flash` | 262K | | | | | | $0.06 | $0.18 |
151
147
  | `llmgateway/llama-3-70b-instruct` | 8K | | | | | | $0.51 | $0.74 |
152
148
  | `llmgateway/llama-3.1-70b-instruct` | 128K | | | | | | $0.72 | $0.72 |
153
- | `llmgateway/llama-3.1-nemotron-ultra-253b` | 128K | | | | | | $0.60 | $2 |
154
149
  | `llmgateway/llama-3.2-11b-instruct` | 128K | | | | | | $0.07 | $0.33 |
155
150
  | `llmgateway/llama-3.2-3b-instruct` | 33K | | | | | | $0.03 | $0.05 |
156
- | `llmgateway/llama-3.3-70b-instruct` | 131K | | | | | | $0.13 | $0.40 |
151
+ | `llmgateway/llama-3.3-70b-instruct` | 131K | | | | | | $0.14 | $0.40 |
157
152
  | `llmgateway/llama-4-maverick-17b-instruct` | 1.0M | | | | | | $0.27 | $0.85 |
158
153
  | `llmgateway/llama-4-scout-17b-instruct` | 131K | | | | | | $0.18 | $0.59 |
159
154
  | `llmgateway/mimo-v2.5` | 1.0M | | | | | | $0.14 | $0.28 |
160
155
  | `llmgateway/mimo-v2.5-pro` | 1.0M | | | | | | $0.43 | $0.87 |
161
- | `llmgateway/minicpm-v-4.5` | 32K | | | | | | $0.66 | $1 |
162
156
  | `llmgateway/minimax-m2` | 197K | | | | | | $0.20 | $1 |
163
157
  | `llmgateway/minimax-m2.1` | 205K | | | | | | $0.27 | $1 |
164
158
  | `llmgateway/minimax-m2.1-lightning` | 197K | | | | | | $0.12 | $0.48 |
@@ -176,9 +170,6 @@ for await (const chunk of stream) {
176
170
  | `llmgateway/mistral-small-2506` | 128K | | | | | | $0.10 | $0.30 |
177
171
  | `llmgateway/muse-spark-1.1` | 1.0M | | | | | | $1 | $4 |
178
172
  | `llmgateway/muse-spark-1.2` | 1.0M | | | | | | $1 | $4 |
179
- | `llmgateway/nemotron-3-nano-30b` | 262K | | | | | | $0.06 | $0.24 |
180
- | `llmgateway/nemotron-3-nano-omni` | 262K | | | | | | $0.06 | $0.24 |
181
- | `llmgateway/nemotron-3-super-120b` | 262K | | | | | | $0.30 | $0.90 |
182
173
  | `llmgateway/nemotron-3-ultra-550b` | 1.0M | | | | | | $0.50 | $2 |
183
174
  | `llmgateway/o1` | 200K | | | | | | $15 | $60 |
184
175
  | `llmgateway/o3` | 200K | | | | | | $2 | $8 |
@@ -190,12 +181,10 @@ for await (const chunk of stream) {
190
181
  | `llmgateway/qwen-omni-turbo` | 33K | | | | | | $0.20 | $0.80 |
191
182
  | `llmgateway/qwen-plus` | 131K | | | | | | $0.40 | $1 |
192
183
  | `llmgateway/qwen-plus-latest` | 1.0M | | | | | | $0.40 | $1 |
193
- | `llmgateway/qwen2-5-vl-72b-instruct` | 32K | | | | | | $0.25 | $0.75 |
194
184
  | `llmgateway/qwen3-235b-a22b-fp8` | 41K | | | | | | $0.20 | $0.80 |
195
185
  | `llmgateway/qwen3-235b-a22b-instruct-2507` | 262K | | | | | | $0.09 | $0.58 |
196
186
  | `llmgateway/qwen3-235b-a22b-thinking-2507` | 262K | | | | | | $0.30 | $3 |
197
- | `llmgateway/qwen3-30b-a3b-instruct-2507` | 262K | | | | | | $0.10 | $0.30 |
198
- | `llmgateway/qwen3-32b` | 41K | | | | | | $0.10 | $0.30 |
187
+ | `llmgateway/qwen3-32b` | 41K | | | | | | $0.36 | $0.87 |
199
188
  | `llmgateway/qwen3-coder-30b-a3b-instruct` | 262K | | | | | | $0.07 | $0.27 |
200
189
  | `llmgateway/qwen3-coder-480b-a35b-instruct` | 262K | | | | | | $0.38 | $2 |
201
190
  | `llmgateway/qwen3-coder-flash` | 1.0M | | | | | | $0.30 | $2 |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![NanoGPT logo](https://models.dev/logos/nano-gpt.svg)NanoGPT
6
6
 
7
- Access 606 NanoGPT models through Mastra's model router. Authentication is handled automatically using the `NANO_GPT_API_KEY` environment variable.
7
+ Access 608 NanoGPT models through Mastra's model router. Authentication is handled automatically using the `NANO_GPT_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [NanoGPT documentation](https://docs.nano-gpt.com).
10
10
 
@@ -41,6 +41,7 @@ for await (const chunk of stream) {
41
41
  | `nano-gpt/abacusai/Dracarys-72B-Instruct` | 33K | | | | | | $0.49 | $0.49 |
42
42
  | `nano-gpt/abliteration-ai/abliterated-model` | 262K | | | | | | $3 | $3 |
43
43
  | `nano-gpt/abliteration-ai/abliterated-model-large` | 1.0M | | | | | | $5 | $5 |
44
+ | `nano-gpt/abliteration-ai/abliterated-model-large-v2` | 1.0M | | | | | | $5 | $5 |
44
45
  | `nano-gpt/aion-labs/aion-2.0` | 131K | | | | | | $0.80 | $2 |
45
46
  | `nano-gpt/aion-labs/aion-3.0` | 131K | | | | | | $3 | $6 |
46
47
  | `nano-gpt/aion-labs/aion-3.0-mini` | 131K | | | | | | $0.70 | $1 |
@@ -206,7 +207,7 @@ for await (const chunk of stream) {
206
207
  | `nano-gpt/gemini-2.5-pro-preview-06-05` | 1.0M | | | | | | $3 | $10 |
207
208
  | `nano-gpt/gemini-3-pro-image-preview` | 1.0M | | | | | | $2 | $12 |
208
209
  | `nano-gpt/gemini-exp-1206` | 2.1M | | | | | | $1 | $5 |
209
- | `nano-gpt/gemma-4-12b-it` | 262K | | | | | | $0.06 | $0.30 |
210
+ | `nano-gpt/gemma-4-12b-it` | 262K | | | | | | $0.05 | $0.25 |
210
211
  | `nano-gpt/gemma-4-26b-a4b-it-chimerax` | 262K | | | | | | $0.12 | $0.38 |
211
212
  | `nano-gpt/gemma-4-26b-a4b-it-darksoul` | 262K | | | | | | $0.12 | $0.38 |
212
213
  | `nano-gpt/gemma-4-26b-a4b-it-luminous` | 262K | | | | | | $0.12 | $0.38 |
@@ -272,6 +273,7 @@ for await (const chunk of stream) {
272
273
  | `nano-gpt/huihui-ai/Llama-3.3-70B-Instruct-abliterated` | 16K | | | | | | $0.70 | $0.70 |
273
274
  | `nano-gpt/huihui-ai/Qwen2.5-32B-Instruct-abliterated` | 33K | | | | | | $0.70 | $0.70 |
274
275
  | `nano-gpt/ibm-granite/granite-4.1-8b` | 131K | | | | | | $0.05 | $0.10 |
276
+ | `nano-gpt/ibm-granite/granite-4.2-8b` | 131K | | | | | | $0.10 | $0.15 |
275
277
  | `nano-gpt/inclusionai/ling-3.0-flash` | 262K | | | | | | $0.07 | $0.22 |
276
278
  | `nano-gpt/inclusionai/ling-3.0-flash:thinking` | 262K | | | | | | $0.07 | $0.22 |
277
279
  | `nano-gpt/inflatebot/MN-12B-Mag-Mell-R1` | 16K | | | | | | $0.49 | $0.49 |
@@ -643,7 +645,7 @@ for await (const chunk of stream) {
643
645
  | `nano-gpt/z-ai/glm-5.3:thinking` | 1.0M | | | | | | $1 | $3 |
644
646
  | `nano-gpt/z-ai/glm-5v-turbo` | 203K | | | | | | $1 | $4 |
645
647
  | `nano-gpt/z-ai/glm-5v-turbo:thinking` | 203K | | | | | | $1 | $4 |
646
- | `nano-gpt/z-ai/glm-latest` | 1.0M | | | | | | $0.42 | $1 |
648
+ | `nano-gpt/z-ai/glm-latest` | 1.0M | | | | | | $1 | $3 |
647
649
 
648
650
  ## Advanced configuration
649
651
 
@@ -61,7 +61,7 @@ for await (const chunk of stream) {
61
61
  | `requesty/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
62
62
  | `requesty/claude-sonnet-5@eu` | 1.0M | | | | | | $2 | $11 |
63
63
  | `requesty/deepseek-v4-flash` | 1.0M | | | | | | $0.44 | $1 |
64
- | `requesty/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.14 | $0.28 |
64
+ | `requesty/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.08 | $0.15 |
65
65
  | `requesty/deepseek-v4-flash-0731@eu` | 1.0M | | | | | | $0.14 | $0.28 |
66
66
  | `requesty/deepseek-v4-pro` | 1.0M | | | | | | $1 | $4 |
67
67
  | `requesty/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
@@ -86,12 +86,12 @@ for await (const chunk of stream) {
86
86
  | `requesty/gemma-4-31b-it` | 262K | | | | | | — | — |
87
87
  | `requesty/glm-5.1` | 200K | | | | | | $1 | $4 |
88
88
  | `requesty/glm-5.1@eu` | 200K | | | | | | $1 | $4 |
89
- | `requesty/glm-5.2` | 1.0M | | | | | | $1 | $4 |
89
+ | `requesty/glm-5.2` | 1.0M | | | | | | $0.80 | $3 |
90
90
  | `requesty/glm-5.2-fast` | 1.0M | | | | | | $2 | $7 |
91
91
  | `requesty/glm-5.2@eu` | 1.0M | | | | | | $1 | $4 |
92
92
  | `requesty/glm-5.3` | 1.0M | | | | | | $1 | $4 |
93
- | `requesty/glm-5.3-flash` | 1.0M | | | | | | $0.15 | $0.50 |
94
- | `requesty/glm-5.3@eu` | 1.0M | | | | | | $2 | $5 |
93
+ | `requesty/glm-5.3-flash` | 131K | | | | | | $0.07 | $0.25 |
94
+ | `requesty/glm-5.3@eu` | 1.0M | | | | | | $1 | $4 |
95
95
  | `requesty/gpt-4.1-mini@eu` | 1.0M | | | | | | $0.44 | $2 |
96
96
  | `requesty/gpt-4.1-nano@eu` | 1.0M | | | | | | $0.11 | $0.44 |
97
97
  | `requesty/gpt-4.1@eu` | 1.0M | | | | | | $2 | $9 |
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ![Vancine logo](https://models.dev/logos/vancine.svg)Vancine
6
6
 
7
- Access 8 Vancine models through Mastra's model router. Authentication is handled automatically using the `VANCINE_API_KEY` environment variable.
7
+ Access 10 Vancine models through Mastra's model router. Authentication is handled automatically using the `VANCINE_API_KEY` environment variable.
8
8
 
9
9
  Learn more in the [Vancine documentation](https://vancine.com/docs).
10
10
 
@@ -36,16 +36,18 @@ for await (const chunk of stream) {
36
36
 
37
37
  ## Models
38
38
 
39
- | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
40
- | --------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
41
- | `vancine/deepseek-v4-flash` | 1.0M | | | | | | $0.22 | $0.66 |
42
- | `vancine/deepseek-v4-pro` | 1.0M | | | | | | $0.66 | $2 |
43
- | `vancine/glm-5.3` | 1.0M | | | | | | $1 | $4 |
44
- | `vancine/glm-5.3-flash` | 1.0M | | | | | | $0.06 | $0.20 |
45
- | `vancine/kimi-k3` | 1.0M | | | | | | $2 | $12 |
46
- | `vancine/MiniMax-M3` | 1.0M | | | | | | $0.24 | $0.96 |
47
- | `vancine/qwen3.8-flash` | 1.0M | | | | | | $0.12 | $0.38 |
48
- | `vancine/qwen3.8-max` | 1.0M | | | | | | $2 | $5 |
39
+ | Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
40
+ | -------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
41
+ | `vancine/deepseek-v4-flash` | 1.0M | | | | | | $0.22 | $0.66 |
42
+ | `vancine/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.22 | $0.66 |
43
+ | `vancine/deepseek-v4-pro` | 1.0M | | | | | | $0.66 | $2 |
44
+ | `vancine/glm-5.3` | 1.0M | | | | | | $1 | $4 |
45
+ | `vancine/glm-5.3-flash` | 1.0M | | | | | | $0.06 | $0.20 |
46
+ | `vancine/hy4-preview` | 1.0M | | | | | | $0.67 | $2 |
47
+ | `vancine/kimi-k3` | 1.0M | | | | | | $2 | $12 |
48
+ | `vancine/MiniMax-M3` | 1.0M | | | | | | $0.24 | $0.96 |
49
+ | `vancine/qwen3.8-flash` | 1.0M | | | | | | $0.12 | $0.38 |
50
+ | `vancine/qwen3.8-max` | 1.0M | | | | | | $2 | $5 |
49
51
 
50
52
  ## Advanced configuration
51
53
 
@@ -200,7 +200,7 @@ Returns: `Promise<Session<TState> | undefined>`
200
200
 
201
201
  #### `onSessionCreated(listener, options?)`
202
202
 
203
- 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.
203
+ Subscribe to process-local notifications after `createSession()` materializes a new live session, with isolated listener errors prevented from affecting other listeners. Call the returned function to unsubscribe.
204
204
 
205
205
  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.
206
206
 
@@ -225,7 +225,7 @@ Returns: `() => void`
225
225
 
226
226
  #### `onSessionDeleted(listener)`
227
227
 
228
- 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.
228
+ Subscribe to process-local notifications after `deleteSession()` tears down a live session, with isolated listener errors prevented from affecting other listeners. Call the returned function to unsubscribe.
229
229
 
230
230
  ```typescript
231
231
  const unsubscribe = controller.onSessionDeleted(session => {
@@ -745,7 +745,7 @@ const state = session.state.get()
745
745
 
746
746
  ### `session.state.set(updates)`
747
747
 
748
- Merge a partial update into the state. Updates are queued so concurrent calls apply in order, validated against the schema, and emit `state_changed` with the changed keys.
748
+ Merge a partial update into the state. The queue applies concurrent calls in order and validates them against the schema before emitting `state_changed` with the changed keys.
749
749
 
750
750
  ```typescript
751
751
  await session.state.set({ yolo: true })
@@ -753,7 +753,7 @@ await session.state.set({ yolo: true })
753
753
 
754
754
  ### `session.state.update(updater)`
755
755
 
756
- Run an updater against the current snapshot and apply its result atomically within the write queue. Use this for read-modify-write changes that must see the latest state. The updater returns `updates` to merge, optional `events` to emit, and a `result` value that `update()` resolves to.
756
+ Run an updater against the current snapshot and apply its result atomically within the write queue. Use this for read-modify-write changes that must see the latest state. The updater returns mergeable `updates` and optional `events`, plus the `result` value that `update()` resolves to.
757
757
 
758
758
  ```typescript
759
759
  const added = await session.state.update(current => ({
@@ -766,7 +766,7 @@ const added = await session.state.update(current => ({
766
766
 
767
767
  A `Session` is a live runtime object. Its event bus, arbitrary `session.state`, permission rules, permission grants, pending approvals, suspensions, follow-ups, run state, and stream state don't automatically survive controller or process recreation. The host must restore any of this state when recreating a session.
768
768
 
769
- With configured storage, threads, messages, and token usage persist. Thread settings restore mode and model choices. They can also restore observational memory settings and subagent model selections, including per-agent-type overrides. A chat channel can map back to stored threads, but channel-to-session and auto-approval state held by `AgentControllerChannels` remains in memory.
769
+ Configured storage persists threads and messages along with token usage, while thread settings restore mode and model choices. Restored settings can include observational memory and subagent model selections with per-agent-type overrides. A chat channel can map back to stored threads. However, `AgentControllerChannels` keeps channel-to-session and auto-approval state in memory.
770
770
 
771
771
  ## Related
772
772
 
@@ -178,7 +178,7 @@ const { output, cleanup } = await durableAgent.observe(runId, {
178
178
  await output.text
179
179
  ```
180
180
 
181
- By default `observe()` waits indefinitely for events. If the process running the run stops unexpectedly, the run stops producing events but never emits a completion event, so the observed stream would wait forever. Pass `idleTimeoutMs` to bound that wait: after that many milliseconds of silence the stream ends. An optional `isAlive` check is consulted first. Return `true` while the run is still being worked on (for example a long-running tool call, or a run paused waiting for human input) to keep waiting. Returning `false`, or omitting `isAlive`, ends the stream with an error. A transient throw from `isAlive` is treated as "still alive", so a momentary check failure never ends a live stream.
181
+ By default `observe()` waits indefinitely for events. If the process running the run stops unexpectedly, the run stops producing events but never emits a completion event, so the observed stream would wait forever. Pass `idleTimeoutMs` to end the stream after a bounded period of silence. Before timing out, `observe()` can consult an optional `isAlive` check. Return `true` while work continues, such as during a long-running tool call or a pause for human input. A `false` result ends the stream with an error, as does omitting `isAlive`. A transient throw from `isAlive` is treated as "still alive", so a momentary check failure never ends a live stream.
182
182
 
183
183
  ```typescript
184
184
  const { output } = await durableAgent.observe(runId, {
@@ -219,11 +219,83 @@ interface PrepareResult {
219
219
  }
220
220
  ```
221
221
 
222
+ ### Cancellation
223
+
224
+ #### `abortRunStream(runId)`
225
+
226
+ Stops a run by ID from any process that shares the agent's [PubSub](https://mastra.ai/docs/server/pubsub). Only the `runId` from `stream()` or `prepare()` is needed, so a later request can stop a run it didn't start. The run ends the same way as `abort()` on the stream result: the `finish` event carries reason `abort`, `onAbort` fires, and `observe()` consumers see the stream end.
227
+
228
+ ```typescript
229
+ const { runId } = await durableAgent.stream('Summarize the document')
230
+
231
+ // later, from a different request handler
232
+ durableAgent.abortRunStream(runId)
233
+ ```
234
+
235
+ The abort request is published over PubSub, so a multi-process deployment needs a shared backend such as [`RedisStreamsPubSub`](https://mastra.ai/reference/pubsub/redis-streams). The default `EventEmitterPubSub` only reaches runs in the same process. `InngestAgent` doesn't implement this method. Cancel an Inngest run with the `abort()` returned by its `stream()`.
236
+
237
+ Stopping a durable run through `abortRunStream()` or `abortThreadStream()` requires `@mastra/core@1.62.0` or later. Earlier versions record the abort without stopping the run.
238
+
239
+ Returns: `boolean`. `true` when this process aborted the run locally or can see it executing. The abort request is published either way.
240
+
241
+ #### `abortThreadStream({ threadId, resourceId? })`
242
+
243
+ Aborts the active run on a memory thread with the same abort request as `abortRunStream()`. The run is resolved from this process's thread runtime, so it must have been started here or observed through `subscribeToThread()` on this process. The server route `POST /agents/:agentId/threads/abort` uses this method.
244
+
245
+ ```typescript
246
+ durableAgent.abortThreadStream({ resourceId: 'user-1', threadId: 'thread-1' })
247
+ ```
248
+
249
+ Returns: `boolean`. `false` when this process has no active run recorded for the thread. No abort request is sent in that case.
250
+
222
251
  ### Recovery
223
252
 
253
+ #### `listActiveRuns(options?)`
254
+
255
+ Lists this agent's runs whose persisted snapshot is in `running` status: runs whose agentic loop was mid-execution when the workflow engine last saved state. On a live process they transition to `suspended` or a terminal status. After a crash or restart they stay `running` with nothing driving them, which is what `recoverActiveRuns()` re-drives. Runs started by other durable agents on the same storage aren't included.
256
+
257
+ ```typescript
258
+ const { runs, total } = await durableAgent.listActiveRuns({ resourceId: 'user-1' })
259
+
260
+ for (const run of runs) {
261
+ await durableAgent.recoverActiveRuns({ runId: run.runId })
262
+ }
263
+ ```
264
+
265
+ Reads workflow snapshot storage on the Mastra instance the agent is registered with, and throws if the agent isn't registered with one. Use persistent storage: the default in-memory store loses these rows on the restart that orphans them.
266
+
267
+ Only runs in `running` status are returned. Suspended runs keep their snapshots but aren't included, and finished runs aren't retained. Filter by `resourceId` to scope the list to one user.
268
+
269
+ Returns:
270
+
271
+ ```typescript
272
+ interface DurableAgentListActiveRunsResult {
273
+ runs: Array<{
274
+ runId: string
275
+ status: 'running'
276
+ threadId?: string
277
+ resourceId?: string
278
+ updatedAt: Date
279
+ }>
280
+ total: number
281
+ }
282
+ ```
283
+
284
+ **options.threadId** (`string`): Only return runs that belong to this memory thread.
285
+
286
+ **options.resourceId** (`string`): Only return runs that belong to this memory resource.
287
+
288
+ **options.fromDate** (`Date`): Only return runs created at or after this date.
289
+
290
+ **options.toDate** (`Date`): Only return runs created at or before this date.
291
+
292
+ **options.perPage** (`number`): Runs per page. Applies only when page is also set. Must be a positive integer.
293
+
294
+ **options.page** (`number`): Zero-indexed page number. Applies only when perPage is also set. Must be a non-negative integer.
295
+
224
296
  #### `recoverActiveRuns(options?)`
225
297
 
226
- Discovers runs stuck in `running` status for this agent and re-drives them from the last persisted snapshot. Recovers up to `options.limit` runs (default: 100). Returns a summary of what was recovered.
298
+ Discovers runs stuck in `running` status for this agent and re-drives them from the last persisted snapshot. Accepts the same filters and pagination as `listActiveRuns()`, plus `runId`. Returns a summary of what was recovered.
227
299
 
228
300
  ```typescript
229
301
  const result = await durableAgent.recoverActiveRuns()
@@ -246,11 +318,7 @@ interface DurableAgentRecoverActiveRunsResult {
246
318
  }
247
319
  ```
248
320
 
249
- **options.runId** (`string`): Recover a specific run by ID. When set, discovery filters are ignored.
250
-
251
- **options.limit** (`number`): Maximum number of active runs to discover. Defaults to 100.
252
-
253
- **options.createdBefore** (`Date`): Only recover runs created before this date.
321
+ **options.runId** (`string`): Recover a specific run by ID. When set, the discovery filters and pagination are ignored.
254
322
 
255
323
  #### `recover(runId, options?)`
256
324
 
@@ -272,7 +340,7 @@ Returns: [`Promise<DurableAgentStreamResult>`](#durableagentstreamresult)
272
340
 
273
341
  `stream()` accepts a `DurableAgentStreamOptions` object. It supports the agent execution options below, plus lifecycle callbacks.
274
342
 
275
- **runId** (`string`): Unique identifier for this run. Use it later with resume() or observe().
343
+ **runId** (`string`): Unique identifier for this run. Use it later with resume(), observe(), or abortRunStream().
276
344
 
277
345
  **instructions** (`AgentExecutionOptions['instructions']`): Overrides the agent's default instructions for this run. Accepts a static string or the same dynamic instructions value the agent supports.
278
346
 
@@ -340,7 +408,7 @@ Returns: [`Promise<DurableAgentStreamResult>`](#durableagentstreamresult)
340
408
 
341
409
  **onSuspended** (`(data: AgentSuspendedEventData) => void | Promise<void>`): Called when the run suspends, for example for tool approval.
342
410
 
343
- **onAbort** (`AgentExecutionOptions['onAbort']`): Called when the run is aborted via abortSignal or result.abort(). Receives the steps completed before the abort and, in text, the assistant text streamed so far.
411
+ **onAbort** (`AgentExecutionOptions['onAbort']`): Called when the run is aborted via abortSignal, result.abort(), abortRunStream(), or abortThreadStream(). Receives the steps completed before the abort and, in text, the assistant text streamed so far.
344
412
 
345
413
  **onIterationComplete** (`AgentExecutionOptions['onIterationComplete']`): Called after every agentic-loop iteration with the latest messageList, finishReason, and isFinal flag. Observation-only on durable agents: returning continue: false or feedback does not influence the loop.
346
414
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  > **Warning:** **Deprecated**: This method is deprecated and only works with V1 models. For V2 models, use the new [`.getDefaultOptions()`](https://mastra.ai/reference/agents/getDefaultOptions) method instead.
8
8
 
9
- Agents can be configured with default generation options for controlling model behavior, output formatting and tool and workflow calls. The `.getDefaultGenerateOptionsLegacy()` method retrieves these defaults, resolving them if they're functions. These options apply to all `generateLegacy()` calls unless overridden and are useful for inspecting an agent’s unknown defaults.
9
+ Configure agents with default generation options that control model behavior and output formatting, including tool and workflow calls. The `.getDefaultGenerateOptionsLegacy()` method retrieves these defaults and resolves any functions. These options apply to all `generateLegacy()` calls unless overridden and are useful for inspecting an agent’s unknown defaults.
10
10
 
11
11
  ## Usage example
12
12
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  **Added in:** `@mastra/core@1.43.0`
8
8
 
9
- The `.listSuspendedRuns()` method lists suspended agent runs from workflow snapshot storage: runs waiting on a tool call requiring [approval](https://mastra.ai/docs/agents/human-in-the-loop), or on a tool that called `suspend()`. Because discovery is backed by storage rather than in-memory state, it works after a server restart and across multiple server instances.
9
+ The `.listSuspendedRuns()` method uses workflow snapshot storage to find suspended agent runs, including runs awaiting [approval](https://mastra.ai/docs/agents/human-in-the-loop) for a tool call and runs paused by a tool that called `suspend()`. Storage-backed discovery continues to work after a server restart and across multiple server instances.
10
10
 
11
11
  Pass the returned `runId` to [`resumeStream()`](https://mastra.ai/docs/agents/human-in-the-loop), `approveToolCall()`, or `declineToolCall()` to continue the run.
12
12
 
@@ -85,7 +85,7 @@ interface AgentRunToolCall {
85
85
 
86
86
  ## Discovery scope
87
87
 
88
- 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/human-in-the-loop) 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.
88
+ Results are scoped to the agent you call `listSuspendedRuns()` on because snapshots persist the owning agent's id. Runs started by other agents on the same Mastra instance aren't returned. In [supervisor setups](https://mastra.ai/docs/agents/human-in-the-loop), the supervisor sees its outer run to resume, while a subagent's inner run is visible only from the subagent itself. Filter by `threadId` and `resourceId` to limit results to one conversation.
89
89
 
90
90
  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) configured. With the default in-memory store, snapshots are lost on restart.
91
91