@mastra/mcp-docs-server 1.1.39-alpha.16 → 1.1.39-alpha.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/docs/memory/multi-user-threads.md +206 -0
- package/.docs/docs/memory/observational-memory.md +1 -0
- package/.docs/docs/memory/overview.md +1 -0
- package/.docs/docs/memory/working-memory.md +1 -1
- package/.docs/models/gateways/openrouter.md +2 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/deepinfra.md +2 -2
- package/.docs/models/providers/google.md +29 -47
- package/.docs/models/providers/llmgateway.md +186 -191
- package/.docs/models/providers/opencode.md +1 -1
- package/.docs/models/providers/orcarouter.md +2 -2
- package/.docs/models/providers/poe.md +2 -1
- package/.docs/models/providers/xai.md +2 -1
- package/.docs/reference/agents/channels.md +4 -2
- package/.docs/reference/server/register-api-route.md +1 -1
- package/CHANGELOG.md +15 -0
- package/package.json +4 -4
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Multi-user threads
|
|
2
|
+
|
|
3
|
+
A single Mastra thread can be shared by multiple users, each with their own name and functional role. You carry speaker identity in the message body so the agent can tell users apart while reading from a single shared thread.
|
|
4
|
+
|
|
5
|
+
## When to use multi-user threads
|
|
6
|
+
|
|
7
|
+
Use multi-user threads when several people collaborate on the same subject through one agent:
|
|
8
|
+
|
|
9
|
+
- Collaborative documents with editors, reviewers, and approvers
|
|
10
|
+
- Group chats where one assistant serves many participants
|
|
11
|
+
- Multi-stakeholder reviews where different roles have different authority
|
|
12
|
+
|
|
13
|
+
## Share one `resourceId` across all participants
|
|
14
|
+
|
|
15
|
+
A thread belongs to exactly one `resourceId`, so all participants on a shared thread need to pass the same value. Instead of using a user id (the default for single-user apps), key `resourceId` on the conversation itself — for example `doc_${docId}` for a shared document, or `room_${roomId}` for a group chat. With everyone pointing at the same `resourceId`, they read and write the same history.
|
|
16
|
+
|
|
17
|
+
## Tag each user message with the speaker's identity
|
|
18
|
+
|
|
19
|
+
The model needs to know who's talking on every turn. Since the message body is the one place that survives into history and back into context, wrap each user message in a small `<turn>` tag with the speaker's id, name, and role. The tag stays attached to the message, so when prior turns are recalled the model still sees who said what.
|
|
20
|
+
|
|
21
|
+
Build the tag with a small helper. The example below is one way to do it — copy it into your project and adapt it to your shape of user data:
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
export type Speaker = {
|
|
25
|
+
id: string
|
|
26
|
+
name: string
|
|
27
|
+
role: string
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function escapeAttr(value: string) {
|
|
31
|
+
return value
|
|
32
|
+
.replace(/&/g, '&')
|
|
33
|
+
.replace(/"/g, '"')
|
|
34
|
+
.replace(/</g, '<')
|
|
35
|
+
.replace(/>/g, '>')
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function asUserTurn(speaker: Speaker, text: string) {
|
|
39
|
+
const id = escapeAttr(speaker.id)
|
|
40
|
+
const name = escapeAttr(speaker.name)
|
|
41
|
+
const role = escapeAttr(speaker.role)
|
|
42
|
+
return {
|
|
43
|
+
role: 'user' as const,
|
|
44
|
+
content: `<turn author_id="${id}" author_name="${name}" functional_role="${role}">
|
|
45
|
+
${text}
|
|
46
|
+
</turn>`,
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Teach the agent how to read the `<turn>` tag in its instructions. The agent must have `memory` configured so it can be called with a `thread` and `resource`:
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
import { Agent } from '@mastra/core/agent'
|
|
55
|
+
import { Memory } from '@mastra/memory'
|
|
56
|
+
import { LibSQLStore } from '@mastra/libsql'
|
|
57
|
+
|
|
58
|
+
const memory = new Memory({
|
|
59
|
+
storage: new LibSQLStore({ url: 'file:./collab.db' }),
|
|
60
|
+
options: {
|
|
61
|
+
lastMessages: 20,
|
|
62
|
+
},
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
export const collabAgent = new Agent({
|
|
66
|
+
id: 'collab',
|
|
67
|
+
name: 'CollabAgent',
|
|
68
|
+
model: 'openai/gpt-5.4-mini',
|
|
69
|
+
memory,
|
|
70
|
+
instructions: `
|
|
71
|
+
You are a collaborative document assistant. Multiple users talk to you in the SAME thread.
|
|
72
|
+
|
|
73
|
+
Every user message is wrapped in a <turn> tag carrying the user's identity:
|
|
74
|
+
|
|
75
|
+
<turn author_id="u_alice" author_name="Alice" functional_role="editor">
|
|
76
|
+
...message text...
|
|
77
|
+
</turn>
|
|
78
|
+
|
|
79
|
+
Rules:
|
|
80
|
+
1. Address users by their author_name.
|
|
81
|
+
2. Respect functional_role: editors propose changes, reviewers approve.
|
|
82
|
+
3. When attributing past statements, read author_name from the surrounding <turn> tag.
|
|
83
|
+
4. Do not echo the <turn> tags back at users.
|
|
84
|
+
`.trim(),
|
|
85
|
+
})
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Call the agent with the wrapped message. Every participant shares the same `thread` and `resource`:
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import { asUserTurn } from './identity'
|
|
92
|
+
|
|
93
|
+
const docResourceId = 'doc_42'
|
|
94
|
+
const docThreadId = 'doc_42'
|
|
95
|
+
|
|
96
|
+
const alice = { id: 'u_alice', name: 'Alice', role: 'editor' }
|
|
97
|
+
const bob = { id: 'u_bob', name: 'Bob', role: 'reviewer' }
|
|
98
|
+
|
|
99
|
+
await collabAgent.generate([asUserTurn(alice, 'My favorite color is teal.')], {
|
|
100
|
+
memory: { thread: docThreadId, resource: docResourceId },
|
|
101
|
+
})
|
|
102
|
+
|
|
103
|
+
await collabAgent.generate([asUserTurn(bob, 'I want QA sign-off before publish.')], {
|
|
104
|
+
memory: { thread: docThreadId, resource: docResourceId },
|
|
105
|
+
})
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The `<turn>` tag persists in the message body, so when history is recalled on later turns the model still sees who said what.
|
|
109
|
+
|
|
110
|
+
## Combining with memory layers
|
|
111
|
+
|
|
112
|
+
The user-tagging pattern composes with every memory layer. Pick the layer based on how long the conversation needs to remember per-user facts:
|
|
113
|
+
|
|
114
|
+
- **Short conversations** (a single session, or a thread small enough to fit in `lastMessages`), or when you need a verbatim record of who said what: use [message history alone](#message-history-alone). The user tags in history are enough; no extra memory layer needed.
|
|
115
|
+
- **Long-running threads** (conversations that outgrow `lastMessages`, where you need per-user facts to survive history eviction): use [observational memory](#with-observational-memory-recommended).
|
|
116
|
+
- **Need a structured participants list, or your storage adapter doesn't support OM** (OM requires LibSQL, PG, or MongoDB): use [working memory](#with-working-memory).
|
|
117
|
+
|
|
118
|
+
We recommend using observational memory or working memory, not both — they cover overlapping needs, and running both at once adds latency and token cost without much benefit.
|
|
119
|
+
|
|
120
|
+
### Message history alone
|
|
121
|
+
|
|
122
|
+
For short conversations, or when you need a verbatim record of who said what, the user tags in history are enough. `lastMessages` brings prior turns back into context with their attribution intact:
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
import { Memory } from '@mastra/memory'
|
|
126
|
+
import { LibSQLStore } from '@mastra/libsql'
|
|
127
|
+
|
|
128
|
+
const memory = new Memory({
|
|
129
|
+
storage: new LibSQLStore({ url: 'file:./collab.db' }),
|
|
130
|
+
options: {
|
|
131
|
+
lastMessages: 20,
|
|
132
|
+
},
|
|
133
|
+
})
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
The model reads identity from the `<turn>` tag on the current message and from prior tagged messages brought back through `lastMessages`.
|
|
137
|
+
|
|
138
|
+
### With observational memory (recommended)
|
|
139
|
+
|
|
140
|
+
[Observational Memory](https://mastra.ai/docs/memory/observational-memory) (OM) extracts per-user facts into a background log without burning the agent's tool budget. The default Observer model reads `<turn>` tags natively and produces named attribution like `Alice stated her favorite color is teal.` and `Bob asked for QA sign-off before publish.`
|
|
141
|
+
|
|
142
|
+
Prefer OM over working memory for multi-user threads when your storage supports it. OM extracts facts automatically, scales to any number of participants, and doesn't need template upkeep. Enable it with no overrides:
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import { Memory } from '@mastra/memory'
|
|
146
|
+
import { LibSQLStore } from '@mastra/libsql'
|
|
147
|
+
|
|
148
|
+
const memory = new Memory({
|
|
149
|
+
storage: new LibSQLStore({ url: 'file:./collab.db' }),
|
|
150
|
+
options: {
|
|
151
|
+
lastMessages: 20,
|
|
152
|
+
observationalMemory: true,
|
|
153
|
+
},
|
|
154
|
+
})
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
OM requires a storage adapter that supports it: `@mastra/libsql`, `@mastra/pg`, or `@mastra/mongodb`.
|
|
158
|
+
|
|
159
|
+
> **Note:** If you switch the Observer to a weaker model and see facts collapse to a generic `User`, use [`observation.instruction`](https://mastra.ai/reference/memory/observational-memory) to teach the Observer how to read the `<turn>` tag.
|
|
160
|
+
|
|
161
|
+
### With working memory
|
|
162
|
+
|
|
163
|
+
Use working memory when OM isn't an option — for example, when your storage adapter doesn't support OM, or when you need a structured, deterministic participants list the agent can read and write on every turn.
|
|
164
|
+
|
|
165
|
+
The default [working memory](https://mastra.ai/docs/memory/working-memory) template assumes one user per thread ("First Name", "Last Name", etc.). For multi-user threads, provide a template with a participants list:
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
import { Memory } from '@mastra/memory'
|
|
169
|
+
import { LibSQLStore } from '@mastra/libsql'
|
|
170
|
+
|
|
171
|
+
const memory = new Memory({
|
|
172
|
+
storage: new LibSQLStore({ url: 'file:./collab.db' }),
|
|
173
|
+
options: {
|
|
174
|
+
lastMessages: 20,
|
|
175
|
+
workingMemory: {
|
|
176
|
+
enabled: true,
|
|
177
|
+
scope: 'thread',
|
|
178
|
+
template: `# Document Collaboration State
|
|
179
|
+
|
|
180
|
+
## Participants
|
|
181
|
+
<!-- One entry per known collaborator. Use author_id as the stable key. -->
|
|
182
|
+
<!-- - **<author_name>** (<author_id>, <functional_role>): <their position> -->
|
|
183
|
+
|
|
184
|
+
## Open Questions
|
|
185
|
+
|
|
186
|
+
## Decisions
|
|
187
|
+
`,
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
})
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Set `scope: 'thread'` so the participants list belongs to the document, not to any individual user. Add one instruction telling the agent to append new participants to the list whenever a new `author_id` shows up in a `<turn>`.
|
|
194
|
+
|
|
195
|
+
For more on templates, see [Custom templates](https://mastra.ai/docs/memory/working-memory).
|
|
196
|
+
|
|
197
|
+
## Security
|
|
198
|
+
|
|
199
|
+
Set the `speaker` from your authenticated request context, never from the request body. If a client can choose its own `author_id`, one user can impersonate another. Use [Request Context](https://mastra.ai/docs/server/request-context) to read the verified user from your auth layer and build the `<turn>` tag on the server before calling the agent.
|
|
200
|
+
|
|
201
|
+
## Related
|
|
202
|
+
|
|
203
|
+
- [Working memory](https://mastra.ai/docs/memory/working-memory)
|
|
204
|
+
- [Observational memory](https://mastra.ai/docs/memory/observational-memory)
|
|
205
|
+
- [Share memory between agents](https://mastra.ai/docs/memory/overview)
|
|
206
|
+
- [`Memory` reference](https://mastra.ai/reference/memory/memory-class)
|
|
@@ -565,6 +565,7 @@ No manual migration needed. OM reads existing messages and observes them lazily
|
|
|
565
565
|
- **[Message history](https://mastra.ai/docs/memory/message-history)**: High-fidelity record of the current conversation
|
|
566
566
|
- **[Working memory](https://mastra.ai/docs/memory/working-memory)**: Small, structured state (JSON or markdown) for user preferences, names, goals
|
|
567
567
|
- **[Semantic Recall](https://mastra.ai/docs/memory/semantic-recall)**: RAG-based retrieval of relevant past messages
|
|
568
|
+
- **[Multi-user threads](https://mastra.ai/docs/memory/multi-user-threads)**: How OM attributes facts to individual users when several people share a single thread
|
|
568
569
|
|
|
569
570
|
If you're using working memory to store conversation summaries or ongoing state that grows over time, OM is a better fit. Working memory is for small, structured data; OM is for long-running event logs. OM also manages message history automatically—the `messageTokens` setting controls how much raw history remains before observation runs.
|
|
570
571
|
|
|
@@ -7,6 +7,7 @@ Mastra agents can be configured to store [message history](https://mastra.ai/doc
|
|
|
7
7
|
- [Observational Memory](https://mastra.ai/docs/memory/observational-memory) (Recommended): Uses background agents to maintain a dense observation log that replaces raw message history as it grows. This keeps the context window small while preserving long-term memory.
|
|
8
8
|
- [Working memory](https://mastra.ai/docs/memory/working-memory): Stores persistent, structured user data such as names, preferences, and goals.
|
|
9
9
|
- [Semantic recall](https://mastra.ai/docs/memory/semantic-recall): Retrieves relevant past messages based on semantic meaning rather than exact keywords.
|
|
10
|
+
- [Multi-user threads](https://mastra.ai/docs/memory/multi-user-threads): Share one thread between multiple users.
|
|
10
11
|
|
|
11
12
|
If the combined memory exceeds the model's context limit, [memory processors](https://mastra.ai/docs/memory/memory-processors) can filter, trim, or prioritize content so the most relevant information is preserved.
|
|
12
13
|
|
|
@@ -130,7 +130,7 @@ Resource-scoped working memory requires specific storage adapters that support t
|
|
|
130
130
|
|
|
131
131
|
## Custom templates
|
|
132
132
|
|
|
133
|
-
Templates guide the agent on what information to track and update in working memory. While a default template is used if none is provided, you'll typically want to define a custom template tailored to your agent's specific use case to ensure it remembers the most relevant information.
|
|
133
|
+
Templates guide the agent on what information to track and update in working memory. While a default template is used if none is provided, you'll typically want to define a custom template tailored to your agent's specific use case to ensure it remembers the most relevant information. For threads shared by multiple users, see [Multi-user threads](https://mastra.ai/docs/memory/multi-user-threads).
|
|
134
134
|
|
|
135
135
|
Here's an example of a custom template. In this example the agent will store the users name, location, timezone, etc as soon as the user sends a message containing any of the info:
|
|
136
136
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenRouter
|
|
2
2
|
|
|
3
|
-
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access
|
|
3
|
+
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 357 models through Mastra's model router.
|
|
4
4
|
|
|
5
5
|
Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
|
|
6
6
|
|
|
@@ -126,6 +126,7 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
126
126
|
| `google/gemini-3.1-flash-lite-preview` |
|
|
127
127
|
| `google/gemini-3.1-pro-preview` |
|
|
128
128
|
| `google/gemini-3.1-pro-preview-customtools` |
|
|
129
|
+
| `google/gemini-3.5-flash` |
|
|
129
130
|
| `google/gemma-2-27b-it` |
|
|
130
131
|
| `google/gemma-3-12b-it` |
|
|
131
132
|
| `google/gemma-3-27b-it` |
|
package/.docs/models/index.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Model Providers
|
|
2
2
|
|
|
3
|
-
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to
|
|
3
|
+
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 4195 models from 121 providers through a single API.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
@@ -38,8 +38,8 @@ for await (const chunk of stream) {
|
|
|
38
38
|
| `deepinfra/deepseek-ai/DeepSeek-V3.2` | 164K | | | | | | $0.26 | $0.38 |
|
|
39
39
|
| `deepinfra/deepseek-ai/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
40
40
|
| `deepinfra/deepseek-ai/DeepSeek-V4-Pro` | 66K | | | | | | $2 | $3 |
|
|
41
|
-
| `deepinfra/google/gemma-4-26B-A4B-it` |
|
|
42
|
-
| `deepinfra/google/gemma-4-31B-it` |
|
|
41
|
+
| `deepinfra/google/gemma-4-26B-A4B-it` | 262K | | | | | | $0.07 | $0.34 |
|
|
42
|
+
| `deepinfra/google/gemma-4-31B-it` | 262K | | | | | | $0.13 | $0.38 |
|
|
43
43
|
| `deepinfra/meta-llama/Llama-3.1-70B-Instruct` | 131K | | | | | | $0.40 | $0.40 |
|
|
44
44
|
| `deepinfra/meta-llama/Llama-3.1-70B-Instruct-Turbo` | 131K | | | | | | $0.40 | $0.40 |
|
|
45
45
|
| `deepinfra/meta-llama/Llama-3.1-8B-Instruct` | 131K | | | | | | $0.02 | $0.05 |
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Google
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 21 Google models through Mastra's model router. Authentication is handled automatically using the `GOOGLE_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Google documentation](https://ai.google.dev/gemini-api/docs/models).
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
8
|
+
GOOGLE_API_KEY=your-api-key
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
```typescript
|
|
@@ -15,7 +15,7 @@ const agent = new Agent({
|
|
|
15
15
|
id: "my-agent",
|
|
16
16
|
name: "My Agent",
|
|
17
17
|
instructions: "You are a helpful assistant",
|
|
18
|
-
model: "google/gemini-
|
|
18
|
+
model: "google/gemini-2.0-flash"
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
// Generate a response
|
|
@@ -30,47 +30,29 @@ for await (const chunk of stream) {
|
|
|
30
30
|
|
|
31
31
|
## Models
|
|
32
32
|
|
|
33
|
-
| Model
|
|
34
|
-
|
|
|
35
|
-
| `google/gemini-
|
|
36
|
-
| `google/gemini-
|
|
37
|
-
| `google/gemini-
|
|
38
|
-
| `google/gemini-2.
|
|
39
|
-
| `google/gemini-2.
|
|
40
|
-
| `google/gemini-2.5-flash`
|
|
41
|
-
| `google/gemini-2.5-
|
|
42
|
-
| `google/gemini-2.5-
|
|
43
|
-
| `google/gemini-
|
|
44
|
-
| `google/gemini-
|
|
45
|
-
| `google/gemini-
|
|
46
|
-
| `google/gemini-
|
|
47
|
-
| `google/gemini-
|
|
48
|
-
| `google/gemini-
|
|
49
|
-
| `google/gemini-
|
|
50
|
-
| `google/gemini-
|
|
51
|
-
| `google/gemini-
|
|
52
|
-
| `google/gemini-
|
|
53
|
-
| `google/gemini-
|
|
54
|
-
| `google/
|
|
55
|
-
| `google/
|
|
56
|
-
| `google/gemini-3.1-flash-image-preview` | 131K | | | | | | $0.50 | $60 |
|
|
57
|
-
| `google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
|
|
58
|
-
| `google/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.25 | $2 |
|
|
59
|
-
| `google/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
|
|
60
|
-
| `google/gemini-3.1-pro-preview-customtools` | 1.0M | | | | | | $2 | $12 |
|
|
61
|
-
| `google/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
|
|
62
|
-
| `google/gemini-embedding-001` | 2K | | | | | | $0.15 | — |
|
|
63
|
-
| `google/gemini-flash-latest` | 1.0M | | | | | | $0.30 | $3 |
|
|
64
|
-
| `google/gemini-flash-lite-latest` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
65
|
-
| `google/gemini-live-2.5-flash` | 128K | | | | | | $0.50 | $2 |
|
|
66
|
-
| `google/gemini-live-2.5-flash-preview-native-audio` | 131K | | | | | | $0.50 | $2 |
|
|
67
|
-
| `google/gemma-3-12b-it` | 33K | | | | | | — | — |
|
|
68
|
-
| `google/gemma-3-27b-it` | 131K | | | | | | — | — |
|
|
69
|
-
| `google/gemma-3-4b-it` | 33K | | | | | | — | — |
|
|
70
|
-
| `google/gemma-3n-e2b-it` | 8K | | | | | | — | — |
|
|
71
|
-
| `google/gemma-3n-e4b-it` | 8K | | | | | | — | — |
|
|
72
|
-
| `google/gemma-4-26b-a4b-it` | 256K | | | | | | — | — |
|
|
73
|
-
| `google/gemma-4-31b-it` | 256K | | | | | | — | — |
|
|
33
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
34
|
+
| ------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
35
|
+
| `google/gemini-2.0-flash` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
36
|
+
| `google/gemini-2.0-flash-lite` | 1.0M | | | | | | $0.07 | $0.30 |
|
|
37
|
+
| `google/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
|
|
38
|
+
| `google/gemini-2.5-flash-image` | 33K | | | | | | $0.30 | $30 |
|
|
39
|
+
| `google/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
40
|
+
| `google/gemini-2.5-flash-preview-tts` | 8K | | | | | | $0.50 | $10 |
|
|
41
|
+
| `google/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
|
|
42
|
+
| `google/gemini-2.5-pro-preview-tts` | 8K | | | | | | $1 | $20 |
|
|
43
|
+
| `google/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
|
|
44
|
+
| `google/gemini-3-pro-preview` | 1.0M | | | | | | $2 | $12 |
|
|
45
|
+
| `google/gemini-3.1-flash-image-preview` | 66K | | | | | | $0.50 | $60 |
|
|
46
|
+
| `google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
|
|
47
|
+
| `google/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.25 | $2 |
|
|
48
|
+
| `google/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
|
|
49
|
+
| `google/gemini-3.1-pro-preview-customtools` | 1.0M | | | | | | $2 | $12 |
|
|
50
|
+
| `google/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
|
|
51
|
+
| `google/gemini-embedding-001` | 2K | | | | | | $0.15 | — |
|
|
52
|
+
| `google/gemini-flash-latest` | 1.0M | | | | | | $0.30 | $3 |
|
|
53
|
+
| `google/gemini-flash-lite-latest` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
54
|
+
| `google/gemma-4-26b-a4b-it` | 262K | | | | | | — | — |
|
|
55
|
+
| `google/gemma-4-31b-it` | 262K | | | | | | — | — |
|
|
74
56
|
|
|
75
57
|
## Advanced configuration
|
|
76
58
|
|
|
@@ -81,8 +63,8 @@ const agent = new Agent({
|
|
|
81
63
|
id: "custom-agent",
|
|
82
64
|
name: "custom-agent",
|
|
83
65
|
model: {
|
|
84
|
-
id: "google/gemini-
|
|
85
|
-
apiKey: process.env.
|
|
66
|
+
id: "google/gemini-2.0-flash",
|
|
67
|
+
apiKey: process.env.GOOGLE_API_KEY,
|
|
86
68
|
headers: {
|
|
87
69
|
"X-Custom-Header": "value"
|
|
88
70
|
}
|
|
@@ -100,7 +82,7 @@ const agent = new Agent({
|
|
|
100
82
|
const useAdvanced = requestContext.task === "complex";
|
|
101
83
|
return useAdvanced
|
|
102
84
|
? "google/gemma-4-31b-it"
|
|
103
|
-
: "google/gemini-
|
|
85
|
+
: "google/gemini-2.0-flash";
|
|
104
86
|
}
|
|
105
87
|
});
|
|
106
88
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# LLM Gateway
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 183 LLM Gateway models through Mastra's model router. Authentication is handled automatically using the `LLMGATEWAY_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [LLM Gateway documentation](https://llmgateway.io/docs).
|
|
6
6
|
|
|
@@ -32,196 +32,191 @@ for await (const chunk of stream) {
|
|
|
32
32
|
|
|
33
33
|
## Models
|
|
34
34
|
|
|
35
|
-
| Model
|
|
36
|
-
|
|
|
37
|
-
| `llmgateway/auto`
|
|
38
|
-
| `llmgateway/claude-3-5-sonnet-20241022`
|
|
39
|
-
| `llmgateway/claude-3-7-sonnet`
|
|
40
|
-
| `llmgateway/claude-3-7-sonnet-20250219`
|
|
41
|
-
| `llmgateway/claude-3-opus`
|
|
42
|
-
| `llmgateway/claude-haiku-4-5`
|
|
43
|
-
| `llmgateway/claude-haiku-4-5-20251001`
|
|
44
|
-
| `llmgateway/claude-opus-4-1-20250805`
|
|
45
|
-
| `llmgateway/claude-opus-4-20250514`
|
|
46
|
-
| `llmgateway/claude-opus-4-5-20251101`
|
|
47
|
-
| `llmgateway/claude-opus-4-6`
|
|
48
|
-
| `llmgateway/claude-opus-4-7`
|
|
49
|
-
| `llmgateway/claude-sonnet-4-20250514`
|
|
50
|
-
| `llmgateway/claude-sonnet-4-5`
|
|
51
|
-
| `llmgateway/claude-sonnet-4-5-20250929`
|
|
52
|
-
| `llmgateway/claude-sonnet-4-6`
|
|
53
|
-
| `llmgateway/codestral-2508`
|
|
54
|
-
| `llmgateway/custom`
|
|
55
|
-
| `llmgateway/deepseek-r1-0528`
|
|
56
|
-
| `llmgateway/deepseek-v3.1`
|
|
57
|
-
| `llmgateway/deepseek-v3.2`
|
|
58
|
-
| `llmgateway/deepseek-v4-flash`
|
|
59
|
-
| `llmgateway/deepseek-v4-pro`
|
|
60
|
-
| `llmgateway/devstral-2512`
|
|
61
|
-
| `llmgateway/devstral-small-2507`
|
|
62
|
-
| `llmgateway/gemini-2.0-flash`
|
|
63
|
-
| `llmgateway/gemini-2.0-flash-lite`
|
|
64
|
-
| `llmgateway/gemini-2.5-flash`
|
|
65
|
-
| `llmgateway/gemini-2.5-flash-lite`
|
|
66
|
-
| `llmgateway/gemini-2.5-
|
|
67
|
-
| `llmgateway/gemini-
|
|
68
|
-
| `llmgateway/gemini-3-flash-
|
|
69
|
-
| `llmgateway/gemini-3.1-flash-lite`
|
|
70
|
-
| `llmgateway/gemini-3.1-
|
|
71
|
-
| `llmgateway/gemini-
|
|
72
|
-
| `llmgateway/
|
|
73
|
-
| `llmgateway/gemma-
|
|
74
|
-
| `llmgateway/gemma-3-
|
|
75
|
-
| `llmgateway/
|
|
76
|
-
| `llmgateway/
|
|
77
|
-
| `llmgateway/
|
|
78
|
-
| `llmgateway/
|
|
79
|
-
| `llmgateway/
|
|
80
|
-
| `llmgateway/glm-4-
|
|
81
|
-
| `llmgateway/glm-4.
|
|
82
|
-
| `llmgateway/glm-4.
|
|
83
|
-
| `llmgateway/glm-4.
|
|
84
|
-
| `llmgateway/glm-4.
|
|
85
|
-
| `llmgateway/glm-4.
|
|
86
|
-
| `llmgateway/glm-4.
|
|
87
|
-
| `llmgateway/glm-4.
|
|
88
|
-
| `llmgateway/glm-4.
|
|
89
|
-
| `llmgateway/glm-
|
|
90
|
-
| `llmgateway/glm-
|
|
91
|
-
| `llmgateway/
|
|
92
|
-
| `llmgateway/
|
|
93
|
-
| `llmgateway/
|
|
94
|
-
| `llmgateway/
|
|
95
|
-
| `llmgateway/
|
|
96
|
-
| `llmgateway/gpt-
|
|
97
|
-
| `llmgateway/gpt-
|
|
98
|
-
| `llmgateway/gpt-
|
|
99
|
-
| `llmgateway/gpt-
|
|
100
|
-
| `llmgateway/gpt-
|
|
101
|
-
| `llmgateway/gpt-
|
|
102
|
-
| `llmgateway/gpt-
|
|
103
|
-
| `llmgateway/gpt-
|
|
104
|
-
| `llmgateway/gpt-
|
|
105
|
-
| `llmgateway/gpt-
|
|
106
|
-
| `llmgateway/gpt-5`
|
|
107
|
-
| `llmgateway/gpt-5-
|
|
108
|
-
| `llmgateway/gpt-5-mini`
|
|
109
|
-
| `llmgateway/gpt-5
|
|
110
|
-
| `llmgateway/gpt-5-
|
|
111
|
-
| `llmgateway/gpt-5.
|
|
112
|
-
| `llmgateway/gpt-5.
|
|
113
|
-
| `llmgateway/gpt-5.
|
|
114
|
-
| `llmgateway/gpt-5.
|
|
115
|
-
| `llmgateway/gpt-5.
|
|
116
|
-
| `llmgateway/gpt-5.
|
|
117
|
-
| `llmgateway/gpt-5.
|
|
118
|
-
| `llmgateway/gpt-5.
|
|
119
|
-
| `llmgateway/gpt-5.
|
|
120
|
-
| `llmgateway/gpt-5.
|
|
121
|
-
| `llmgateway/gpt-
|
|
122
|
-
| `llmgateway/gpt-
|
|
123
|
-
| `llmgateway/
|
|
124
|
-
| `llmgateway/
|
|
125
|
-
| `llmgateway/
|
|
126
|
-
| `llmgateway/
|
|
127
|
-
| `llmgateway/
|
|
128
|
-
| `llmgateway/grok-4-
|
|
129
|
-
| `llmgateway/
|
|
130
|
-
| `llmgateway/
|
|
131
|
-
| `llmgateway/
|
|
132
|
-
| `llmgateway/
|
|
133
|
-
| `llmgateway/
|
|
134
|
-
| `llmgateway/
|
|
135
|
-
| `llmgateway/
|
|
136
|
-
| `llmgateway/
|
|
137
|
-
| `llmgateway/
|
|
138
|
-
| `llmgateway/
|
|
139
|
-
| `llmgateway/
|
|
140
|
-
| `llmgateway/llama-3-
|
|
141
|
-
| `llmgateway/llama-3-
|
|
142
|
-
| `llmgateway/llama-3.
|
|
143
|
-
| `llmgateway/llama-
|
|
144
|
-
| `llmgateway/llama-
|
|
145
|
-
| `llmgateway/llama-
|
|
146
|
-
| `llmgateway/
|
|
147
|
-
| `llmgateway/
|
|
148
|
-
| `llmgateway/
|
|
149
|
-
| `llmgateway/
|
|
150
|
-
| `llmgateway/
|
|
151
|
-
| `llmgateway/
|
|
152
|
-
| `llmgateway/
|
|
153
|
-
| `llmgateway/
|
|
154
|
-
| `llmgateway/
|
|
155
|
-
| `llmgateway/
|
|
156
|
-
| `llmgateway/minimax-m2`
|
|
157
|
-
| `llmgateway/minimax-m2.
|
|
158
|
-
| `llmgateway/minimax-
|
|
159
|
-
| `llmgateway/
|
|
160
|
-
| `llmgateway/
|
|
161
|
-
| `llmgateway/
|
|
162
|
-
| `llmgateway/
|
|
163
|
-
| `llmgateway/
|
|
164
|
-
| `llmgateway/
|
|
165
|
-
| `llmgateway/
|
|
166
|
-
| `llmgateway/
|
|
167
|
-
| `llmgateway/
|
|
168
|
-
| `llmgateway/
|
|
169
|
-
| `llmgateway/
|
|
170
|
-
| `llmgateway/
|
|
171
|
-
| `llmgateway/
|
|
172
|
-
| `llmgateway/
|
|
173
|
-
| `llmgateway/
|
|
174
|
-
| `llmgateway/
|
|
175
|
-
| `llmgateway/qwen-
|
|
176
|
-
| `llmgateway/qwen-
|
|
177
|
-
| `llmgateway/qwen-
|
|
178
|
-
| `llmgateway/qwen-max
|
|
179
|
-
| `llmgateway/qwen-
|
|
180
|
-
| `llmgateway/
|
|
181
|
-
| `llmgateway/
|
|
182
|
-
| `llmgateway/
|
|
183
|
-
| `llmgateway/
|
|
184
|
-
| `llmgateway/
|
|
185
|
-
| `llmgateway/
|
|
186
|
-
| `llmgateway/
|
|
187
|
-
| `llmgateway/
|
|
188
|
-
| `llmgateway/qwen3-
|
|
189
|
-
| `llmgateway/qwen3-
|
|
190
|
-
| `llmgateway/qwen3-
|
|
191
|
-
| `llmgateway/qwen3-
|
|
192
|
-
| `llmgateway/qwen3-30b-a3b-instruct
|
|
193
|
-
| `llmgateway/qwen3-
|
|
194
|
-
| `llmgateway/qwen3-
|
|
195
|
-
| `llmgateway/qwen3-
|
|
196
|
-
| `llmgateway/qwen3-
|
|
197
|
-
| `llmgateway/qwen3-
|
|
198
|
-
| `llmgateway/qwen3-
|
|
199
|
-
| `llmgateway/qwen3-
|
|
200
|
-
| `llmgateway/qwen3-
|
|
201
|
-
| `llmgateway/qwen3-
|
|
202
|
-
| `llmgateway/qwen3-
|
|
203
|
-
| `llmgateway/qwen3-
|
|
204
|
-
| `llmgateway/qwen3-
|
|
205
|
-
| `llmgateway/qwen3-
|
|
206
|
-
| `llmgateway/qwen3-vl-
|
|
207
|
-
| `llmgateway/qwen3-vl-
|
|
208
|
-
| `llmgateway/qwen3-
|
|
209
|
-
| `llmgateway/qwen3-
|
|
210
|
-
| `llmgateway/qwen3-
|
|
211
|
-
| `llmgateway/
|
|
212
|
-
| `llmgateway/
|
|
213
|
-
| `llmgateway/
|
|
214
|
-
| `llmgateway/
|
|
215
|
-
| `llmgateway/
|
|
216
|
-
| `llmgateway/
|
|
217
|
-
| `llmgateway/
|
|
218
|
-
| `llmgateway/
|
|
219
|
-
| `llmgateway/
|
|
220
|
-
| `llmgateway/seed-1-6-flash-250715` | 256K | | | | | | $0.07 | $0.30 |
|
|
221
|
-
| `llmgateway/seed-1-8-251228` | 256K | | | | | | $0.25 | $2 |
|
|
222
|
-
| `llmgateway/sonar` | 128K | | | | | | $1 | $1 |
|
|
223
|
-
| `llmgateway/sonar-pro` | 200K | | | | | | $3 | $15 |
|
|
224
|
-
| `llmgateway/sonar-reasoning-pro` | 128K | | | | | | $2 | $8 |
|
|
35
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
36
|
+
| ---------------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
37
|
+
| `llmgateway/auto` | 128K | | | | | | — | — |
|
|
38
|
+
| `llmgateway/claude-3-5-sonnet-20241022` | 200K | | | | | | $3 | $15 |
|
|
39
|
+
| `llmgateway/claude-3-7-sonnet` | 200K | | | | | | $3 | $15 |
|
|
40
|
+
| `llmgateway/claude-3-7-sonnet-20250219` | 200K | | | | | | $3 | $15 |
|
|
41
|
+
| `llmgateway/claude-3-opus` | 200K | | | | | | $15 | $75 |
|
|
42
|
+
| `llmgateway/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
|
|
43
|
+
| `llmgateway/claude-haiku-4-5-20251001` | 200K | | | | | | $1 | $5 |
|
|
44
|
+
| `llmgateway/claude-opus-4-1-20250805` | 200K | | | | | | $15 | $75 |
|
|
45
|
+
| `llmgateway/claude-opus-4-20250514` | 200K | | | | | | $15 | $75 |
|
|
46
|
+
| `llmgateway/claude-opus-4-5-20251101` | 200K | | | | | | $5 | $25 |
|
|
47
|
+
| `llmgateway/claude-opus-4-6` | 1.0M | | | | | | $5 | $25 |
|
|
48
|
+
| `llmgateway/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
|
|
49
|
+
| `llmgateway/claude-sonnet-4-20250514` | 200K | | | | | | $3 | $15 |
|
|
50
|
+
| `llmgateway/claude-sonnet-4-5` | 200K | | | | | | $3 | $15 |
|
|
51
|
+
| `llmgateway/claude-sonnet-4-5-20250929` | 200K | | | | | | $3 | $15 |
|
|
52
|
+
| `llmgateway/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
|
|
53
|
+
| `llmgateway/codestral-2508` | 256K | | | | | | $0.30 | $0.90 |
|
|
54
|
+
| `llmgateway/custom` | 128K | | | | | | — | — |
|
|
55
|
+
| `llmgateway/deepseek-r1-0528` | 64K | | | | | | $0.80 | $2 |
|
|
56
|
+
| `llmgateway/deepseek-v3.1` | 128K | | | | | | $0.56 | $2 |
|
|
57
|
+
| `llmgateway/deepseek-v3.2` | 164K | | | | | | $0.28 | $0.42 |
|
|
58
|
+
| `llmgateway/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
59
|
+
| `llmgateway/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
|
|
60
|
+
| `llmgateway/devstral-2512` | 262K | | | | | | $0.40 | $2 |
|
|
61
|
+
| `llmgateway/devstral-small-2507` | 128K | | | | | | $0.10 | $0.30 |
|
|
62
|
+
| `llmgateway/gemini-2.0-flash` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
63
|
+
| `llmgateway/gemini-2.0-flash-lite` | 1.0M | | | | | | $0.07 | $0.30 |
|
|
64
|
+
| `llmgateway/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
|
|
65
|
+
| `llmgateway/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
66
|
+
| `llmgateway/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
|
|
67
|
+
| `llmgateway/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
|
|
68
|
+
| `llmgateway/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
|
|
69
|
+
| `llmgateway/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.25 | $2 |
|
|
70
|
+
| `llmgateway/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
|
|
71
|
+
| `llmgateway/gemini-pro-latest` | 1.0M | | | | | | $2 | $12 |
|
|
72
|
+
| `llmgateway/gemma-2-27b-it-together` | 8K | | | | | | $0.08 | $0.08 |
|
|
73
|
+
| `llmgateway/gemma-3-1b-it` | 1.0M | | | | | | $0.08 | $0.30 |
|
|
74
|
+
| `llmgateway/gemma-3-27b` | 128K | | | | | | $0.27 | $0.27 |
|
|
75
|
+
| `llmgateway/glm-4-32b-0414-128k` | 128K | | | | | | $0.10 | $0.10 |
|
|
76
|
+
| `llmgateway/glm-4.5` | 131K | | | | | | $0.60 | $2 |
|
|
77
|
+
| `llmgateway/glm-4.5-air` | 131K | | | | | | $0.20 | $1 |
|
|
78
|
+
| `llmgateway/glm-4.5-airx` | 128K | | | | | | $1 | $5 |
|
|
79
|
+
| `llmgateway/glm-4.5-flash` | 131K | | | | | | — | — |
|
|
80
|
+
| `llmgateway/glm-4.5-x` | 128K | | | | | | $2 | $9 |
|
|
81
|
+
| `llmgateway/glm-4.5v` | 64K | | | | | | $0.60 | $2 |
|
|
82
|
+
| `llmgateway/glm-4.6` | 205K | | | | | | $0.60 | $2 |
|
|
83
|
+
| `llmgateway/glm-4.6v` | 128K | | | | | | $0.30 | $0.90 |
|
|
84
|
+
| `llmgateway/glm-4.6v-flash` | 128K | | | | | | — | — |
|
|
85
|
+
| `llmgateway/glm-4.6v-flashx` | 128K | | | | | | $0.04 | $0.40 |
|
|
86
|
+
| `llmgateway/glm-4.7` | 205K | | | | | | $0.60 | $2 |
|
|
87
|
+
| `llmgateway/glm-4.7-flash` | 200K | | | | | | — | — |
|
|
88
|
+
| `llmgateway/glm-4.7-flashx` | 200K | | | | | | $0.07 | $0.40 |
|
|
89
|
+
| `llmgateway/glm-5` | 205K | | | | | | $1 | $3 |
|
|
90
|
+
| `llmgateway/glm-5.1` | 200K | | | | | | $6 | $24 |
|
|
91
|
+
| `llmgateway/gpt-3.5-turbo` | 16K | | | | | | $0.50 | $2 |
|
|
92
|
+
| `llmgateway/gpt-4` | 8K | | | | | | $30 | $60 |
|
|
93
|
+
| `llmgateway/gpt-4-turbo` | 128K | | | | | | $10 | $30 |
|
|
94
|
+
| `llmgateway/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
|
|
95
|
+
| `llmgateway/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
|
|
96
|
+
| `llmgateway/gpt-4.1-nano` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
97
|
+
| `llmgateway/gpt-4o` | 128K | | | | | | $3 | $10 |
|
|
98
|
+
| `llmgateway/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
|
|
99
|
+
| `llmgateway/gpt-4o-mini-search-preview` | 128K | | | | | | $0.15 | $0.60 |
|
|
100
|
+
| `llmgateway/gpt-4o-search-preview` | 128K | | | | | | $3 | $10 |
|
|
101
|
+
| `llmgateway/gpt-5` | 400K | | | | | | $1 | $10 |
|
|
102
|
+
| `llmgateway/gpt-5-chat-latest` | 400K | | | | | | $1 | $10 |
|
|
103
|
+
| `llmgateway/gpt-5-mini` | 400K | | | | | | $0.25 | $2 |
|
|
104
|
+
| `llmgateway/gpt-5-nano` | 400K | | | | | | $0.05 | $0.40 |
|
|
105
|
+
| `llmgateway/gpt-5-pro` | 400K | | | | | | $15 | $120 |
|
|
106
|
+
| `llmgateway/gpt-5.1` | 400K | | | | | | $1 | $10 |
|
|
107
|
+
| `llmgateway/gpt-5.1-codex` | 400K | | | | | | $1 | $10 |
|
|
108
|
+
| `llmgateway/gpt-5.1-codex-mini` | 400K | | | | | | $0.25 | $2 |
|
|
109
|
+
| `llmgateway/gpt-5.2` | 400K | | | | | | $2 | $14 |
|
|
110
|
+
| `llmgateway/gpt-5.2-chat-latest` | 128K | | | | | | $2 | $14 |
|
|
111
|
+
| `llmgateway/gpt-5.2-codex` | 400K | | | | | | $2 | $14 |
|
|
112
|
+
| `llmgateway/gpt-5.2-pro` | 400K | | | | | | $21 | $168 |
|
|
113
|
+
| `llmgateway/gpt-5.3-chat-latest` | 128K | | | | | | $2 | $14 |
|
|
114
|
+
| `llmgateway/gpt-5.3-codex` | 400K | | | | | | $2 | $14 |
|
|
115
|
+
| `llmgateway/gpt-5.4` | 1.1M | | | | | | $3 | $15 |
|
|
116
|
+
| `llmgateway/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
|
|
117
|
+
| `llmgateway/gpt-5.4-nano` | 400K | | | | | | $0.20 | $1 |
|
|
118
|
+
| `llmgateway/gpt-5.4-pro` | 1.1M | | | | | | $30 | $180 |
|
|
119
|
+
| `llmgateway/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
|
|
120
|
+
| `llmgateway/gpt-5.5-pro` | 1.1M | | | | | | $30 | $180 |
|
|
121
|
+
| `llmgateway/gpt-oss-120b` | 131K | | | | | | $0.15 | $0.75 |
|
|
122
|
+
| `llmgateway/gpt-oss-20b` | 131K | | | | | | $0.10 | $0.50 |
|
|
123
|
+
| `llmgateway/grok-4-0709` | 256K | | | | | | $3 | $15 |
|
|
124
|
+
| `llmgateway/grok-4-1-fast-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
|
|
125
|
+
| `llmgateway/grok-4-20-beta-0309-non-reasoning` | 2.0M | | | | | | $2 | $6 |
|
|
126
|
+
| `llmgateway/grok-4-20-beta-0309-reasoning` | 2.0M | | | | | | $2 | $6 |
|
|
127
|
+
| `llmgateway/grok-4-3` | 1.0M | | | | | | $1 | $3 |
|
|
128
|
+
| `llmgateway/grok-4-fast-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
|
|
129
|
+
| `llmgateway/hermes-2-pro-llama-3-8b` | 8K | | | | | | $0.14 | $0.14 |
|
|
130
|
+
| `llmgateway/kimi-k2` | 131K | | | | | | $1 | $3 |
|
|
131
|
+
| `llmgateway/kimi-k2-thinking` | 262K | | | | | | $0.60 | $3 |
|
|
132
|
+
| `llmgateway/kimi-k2-thinking-turbo` | 262K | | | | | | $1 | $8 |
|
|
133
|
+
| `llmgateway/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
|
|
134
|
+
| `llmgateway/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
|
|
135
|
+
| `llmgateway/llama-3-70b-instruct` | 8K | | | | | | $0.51 | $0.74 |
|
|
136
|
+
| `llmgateway/llama-3-8b-instruct` | 8K | | | | | | $0.04 | $0.04 |
|
|
137
|
+
| `llmgateway/llama-3.1-70b-instruct` | 128K | | | | | | $0.72 | $0.72 |
|
|
138
|
+
| `llmgateway/llama-3.1-8b-instruct` | 128K | | | | | | $0.22 | $0.22 |
|
|
139
|
+
| `llmgateway/llama-3.1-nemotron-ultra-253b` | 128K | | | | | | $0.60 | $2 |
|
|
140
|
+
| `llmgateway/llama-3.2-11b-instruct` | 128K | | | | | | $0.07 | $0.33 |
|
|
141
|
+
| `llmgateway/llama-3.2-3b-instruct` | 33K | | | | | | $0.03 | $0.05 |
|
|
142
|
+
| `llmgateway/llama-3.3-70b-instruct` | 128K | | | | | | — | — |
|
|
143
|
+
| `llmgateway/llama-4-maverick-17b-instruct` | 8K | | | | | | $0.24 | $0.97 |
|
|
144
|
+
| `llmgateway/llama-4-scout` | 33K | | | | | | $0.18 | $0.59 |
|
|
145
|
+
| `llmgateway/llama-4-scout-17b-instruct` | 8K | | | | | | $0.17 | $0.66 |
|
|
146
|
+
| `llmgateway/mimo-v2-flash` | 262K | | | | | | $0.10 | $0.30 |
|
|
147
|
+
| `llmgateway/mimo-v2-omni` | 262K | | | | | | $0.40 | $2 |
|
|
148
|
+
| `llmgateway/mimo-v2-pro` | 1.0M | | | | | | $1 | $3 |
|
|
149
|
+
| `llmgateway/mimo-v2.5` | 1.0M | | | | | | $0.40 | $2 |
|
|
150
|
+
| `llmgateway/mimo-v2.5-pro` | 1.0M | | | | | | $1 | $3 |
|
|
151
|
+
| `llmgateway/minimax-m2` | 197K | | | | | | $0.30 | $1 |
|
|
152
|
+
| `llmgateway/minimax-m2.1` | 205K | | | | | | $0.30 | $1 |
|
|
153
|
+
| `llmgateway/minimax-m2.1-lightning` | 197K | | | | | | $0.12 | $0.48 |
|
|
154
|
+
| `llmgateway/minimax-m2.5` | 205K | | | | | | $0.30 | $1 |
|
|
155
|
+
| `llmgateway/minimax-m2.5-highspeed` | 205K | | | | | | $0.60 | $2 |
|
|
156
|
+
| `llmgateway/minimax-m2.7` | 205K | | | | | | $0.30 | $1 |
|
|
157
|
+
| `llmgateway/minimax-m2.7-highspeed` | 205K | | | | | | $0.60 | $2 |
|
|
158
|
+
| `llmgateway/minimax-text-01` | 1.0M | | | | | | $0.20 | $1 |
|
|
159
|
+
| `llmgateway/ministral-14b-2512` | 262K | | | | | | $0.20 | $0.20 |
|
|
160
|
+
| `llmgateway/ministral-3b-2512` | 131K | | | | | | $0.10 | $0.10 |
|
|
161
|
+
| `llmgateway/ministral-8b-2512` | 262K | | | | | | $0.15 | $0.15 |
|
|
162
|
+
| `llmgateway/mistral-large-2512` | 262K | | | | | | $0.50 | $2 |
|
|
163
|
+
| `llmgateway/mistral-large-latest` | 262K | | | | | | $0.50 | $2 |
|
|
164
|
+
| `llmgateway/mistral-small-2506` | 128K | | | | | | $0.10 | $0.30 |
|
|
165
|
+
| `llmgateway/o1` | 200K | | | | | | $15 | $60 |
|
|
166
|
+
| `llmgateway/o3` | 200K | | | | | | $2 | $8 |
|
|
167
|
+
| `llmgateway/o3-mini` | 200K | | | | | | $1 | $4 |
|
|
168
|
+
| `llmgateway/o4-mini` | 200K | | | | | | $1 | $4 |
|
|
169
|
+
| `llmgateway/pixtral-large-latest` | 128K | | | | | | $2 | $6 |
|
|
170
|
+
| `llmgateway/qwen-coder-plus` | 131K | | | | | | $0.50 | $1 |
|
|
171
|
+
| `llmgateway/qwen-flash` | 1.0M | | | | | | $0.05 | $0.40 |
|
|
172
|
+
| `llmgateway/qwen-max` | 33K | | | | | | $2 | $6 |
|
|
173
|
+
| `llmgateway/qwen-max-latest` | 33K | | | | | | $2 | $6 |
|
|
174
|
+
| `llmgateway/qwen-omni-turbo` | 33K | | | | | | $0.07 | $0.27 |
|
|
175
|
+
| `llmgateway/qwen-plus` | 1.0M | | | | | | $0.40 | $1 |
|
|
176
|
+
| `llmgateway/qwen-plus-latest` | 131K | | | | | | $0.30 | $0.90 |
|
|
177
|
+
| `llmgateway/qwen-turbo` | 1.0M | | | | | | $0.05 | $0.20 |
|
|
178
|
+
| `llmgateway/qwen-vl-max` | 131K | | | | | | $0.80 | $3 |
|
|
179
|
+
| `llmgateway/qwen-vl-plus` | 131K | | | | | | $0.21 | $0.63 |
|
|
180
|
+
| `llmgateway/qwen2-5-vl-32b-instruct` | 131K | | | | | | $0.30 | $0.30 |
|
|
181
|
+
| `llmgateway/qwen2-5-vl-72b-instruct` | 131K | | | | | | $3 | $8 |
|
|
182
|
+
| `llmgateway/qwen25-coder-7b` | 131K | | | | | | $0.05 | $0.05 |
|
|
183
|
+
| `llmgateway/qwen3-235b-a22b-fp8` | 131K | | | | | | $0.50 | $3 |
|
|
184
|
+
| `llmgateway/qwen3-235b-a22b-instruct-2507` | 131K | | | | | | $0.80 | $2 |
|
|
185
|
+
| `llmgateway/qwen3-235b-a22b-thinking-2507` | 131K | | | | | | $0.80 | $2 |
|
|
186
|
+
| `llmgateway/qwen3-30b-a3b-fp8` | 131K | | | | | | $0.10 | $0.10 |
|
|
187
|
+
| `llmgateway/qwen3-30b-a3b-instruct-2507` | 131K | | | | | | $0.10 | $0.10 |
|
|
188
|
+
| `llmgateway/qwen3-30b-a3b-thinking-2507` | 131K | | | | | | $0.10 | $0.10 |
|
|
189
|
+
| `llmgateway/qwen3-32b` | 131K | | | | | | $0.70 | $3 |
|
|
190
|
+
| `llmgateway/qwen3-32b-fp8` | 131K | | | | | | $0.10 | $0.10 |
|
|
191
|
+
| `llmgateway/qwen3-4b-fp8` | 131K | | | | | | $0.03 | $0.05 |
|
|
192
|
+
| `llmgateway/qwen3-coder-30b-a3b-instruct` | 262K | | | | | | $0.45 | $2 |
|
|
193
|
+
| `llmgateway/qwen3-coder-480b-a35b-instruct` | 262K | | | | | | $2 | $8 |
|
|
194
|
+
| `llmgateway/qwen3-coder-flash` | 1.0M | | | | | | $0.30 | $2 |
|
|
195
|
+
| `llmgateway/qwen3-coder-next` | 262K | | | | | | $0.80 | $4 |
|
|
196
|
+
| `llmgateway/qwen3-coder-plus` | 1.0M | | | | | | $1 | $5 |
|
|
197
|
+
| `llmgateway/qwen3-max` | 262K | | | | | | $1 | $6 |
|
|
198
|
+
| `llmgateway/qwen3-max-2026-01-23` | 256K | | | | | | $3 | $15 |
|
|
199
|
+
| `llmgateway/qwen3-next-80b-a3b-instruct` | 131K | | | | | | $0.50 | $2 |
|
|
200
|
+
| `llmgateway/qwen3-next-80b-a3b-thinking` | 131K | | | | | | $0.50 | $6 |
|
|
201
|
+
| `llmgateway/qwen3-vl-235b-a22b-instruct` | 131K | | | | | | $0.80 | $2 |
|
|
202
|
+
| `llmgateway/qwen3-vl-235b-a22b-thinking` | 131K | | | | | | $0.80 | $2 |
|
|
203
|
+
| `llmgateway/qwen3-vl-30b-a3b-instruct` | 131K | | | | | | $0.10 | $0.10 |
|
|
204
|
+
| `llmgateway/qwen3-vl-30b-a3b-thinking` | 131K | | | | | | $0.10 | $0.10 |
|
|
205
|
+
| `llmgateway/qwen3-vl-8b-instruct` | 131K | | | | | | $0.10 | $0.10 |
|
|
206
|
+
| `llmgateway/qwen3-vl-flash` | 1.0M | | | | | | $0.05 | $0.40 |
|
|
207
|
+
| `llmgateway/qwen3-vl-plus` | 262K | | | | | | $0.20 | $2 |
|
|
208
|
+
| `llmgateway/qwen3.6-35b-a3b` | 262K | | | | | | $0.25 | $1 |
|
|
209
|
+
| `llmgateway/qwen3.6-max-preview` | 262K | | | | | | $1 | $8 |
|
|
210
|
+
| `llmgateway/qwen3.6-plus` | 1.0M | | | | | | $0.50 | $3 |
|
|
211
|
+
| `llmgateway/qwen35-397b-a17b` | 262K | | | | | | $0.60 | $4 |
|
|
212
|
+
| `llmgateway/qwq-plus` | 131K | | | | | | $0.80 | $2 |
|
|
213
|
+
| `llmgateway/seed-1-6-250615` | 256K | | | | | | $0.25 | $2 |
|
|
214
|
+
| `llmgateway/seed-1-6-250915` | 256K | | | | | | $0.25 | $2 |
|
|
215
|
+
| `llmgateway/seed-1-6-flash-250715` | 256K | | | | | | $0.07 | $0.30 |
|
|
216
|
+
| `llmgateway/seed-1-8-251228` | 256K | | | | | | $0.25 | $2 |
|
|
217
|
+
| `llmgateway/sonar` | 128K | | | | | | $1 | $1 |
|
|
218
|
+
| `llmgateway/sonar-pro` | 200K | | | | | | $3 | $15 |
|
|
219
|
+
| `llmgateway/sonar-reasoning-pro` | 128K | | | | | | $2 | $8 |
|
|
225
220
|
|
|
226
221
|
## Advanced configuration
|
|
227
222
|
|
|
@@ -46,6 +46,7 @@ for await (const chunk of stream) {
|
|
|
46
46
|
| `opencode/deepseek-v4-flash-free` | 200K | | | | | | — | — |
|
|
47
47
|
| `opencode/gemini-3-flash` | 1.0M | | | | | | $0.50 | $3 |
|
|
48
48
|
| `opencode/gemini-3.1-pro` | 1.0M | | | | | | $2 | $12 |
|
|
49
|
+
| `opencode/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
|
|
49
50
|
| `opencode/glm-5` | 205K | | | | | | $1 | $3 |
|
|
50
51
|
| `opencode/glm-5.1` | 205K | | | | | | $1 | $4 |
|
|
51
52
|
| `opencode/gpt-5` | 400K | | | | | | $1 | $9 |
|
|
@@ -68,7 +69,6 @@ for await (const chunk of stream) {
|
|
|
68
69
|
| `opencode/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
|
|
69
70
|
| `opencode/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
|
|
70
71
|
| `opencode/minimax-m2.5` | 205K | | | | | | $0.30 | $1 |
|
|
71
|
-
| `opencode/minimax-m2.5-free` | 205K | | | | | | — | — |
|
|
72
72
|
| `opencode/minimax-m2.7` | 205K | | | | | | $0.30 | $1 |
|
|
73
73
|
| `opencode/nemotron-3-super-free` | 205K | | | | | | — | — |
|
|
74
74
|
| `opencode/qwen3.5-plus` | 262K | | | | | | $0.20 | $1 |
|
|
@@ -57,8 +57,8 @@ for await (const chunk of stream) {
|
|
|
57
57
|
| `orcarouter/google/gemini-3.1-pro-preview-customtools` | 1.0M | | | | | | $4 | $18 |
|
|
58
58
|
| `orcarouter/google/gemini-flash-latest` | 1.0M | | | | | | $0.50 | $3 |
|
|
59
59
|
| `orcarouter/google/gemini-flash-lite-latest` | 1.0M | | | | | | $0.25 | $2 |
|
|
60
|
-
| `orcarouter/google/gemma-4-26b-a4b-it` |
|
|
61
|
-
| `orcarouter/google/gemma-4-31b-it` |
|
|
60
|
+
| `orcarouter/google/gemma-4-26b-a4b-it` | 262K | | | | | | $0.06 | $0.33 |
|
|
61
|
+
| `orcarouter/google/gemma-4-31b-it` | 262K | | | | | | $0.13 | $0.38 |
|
|
62
62
|
| `orcarouter/grok/grok-4.3` | 1.0M | | | | | | $1 | $3 |
|
|
63
63
|
| `orcarouter/kimi/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
|
|
64
64
|
| `orcarouter/kimi/kimi-k2.6` | 262K | | | | | | $0.95 | $4 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Poe
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 125 Poe models through Mastra's model router. Authentication is handled automatically using the `POE_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Poe documentation](https://creator.poe.com/docs/external-applications/openai-compatible-api).
|
|
6
6
|
|
|
@@ -62,6 +62,7 @@ for await (const chunk of stream) {
|
|
|
62
62
|
| `poe/google/gemini-3-flash` | 1.0M | | | | | | $0.40 | $2 |
|
|
63
63
|
| `poe/google/gemini-3.1-flash-lite` | 1.0M | | | | | | $0.25 | $2 |
|
|
64
64
|
| `poe/google/gemini-3.1-pro` | 1.0M | | | | | | $2 | $12 |
|
|
65
|
+
| `poe/google/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
|
|
65
66
|
| `poe/google/gemma-4-31b` | 262K | | | | | | — | — |
|
|
66
67
|
| `poe/google/imagen-3` | 480 | | | | | | — | — |
|
|
67
68
|
| `poe/google/imagen-3-fast` | 480 | | | | | | — | — |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# xAI
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 16 xAI models through Mastra's model router. Authentication is handled automatically using the `XAI_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [xAI documentation](https://docs.x.ai/docs/models).
|
|
6
6
|
|
|
@@ -43,6 +43,7 @@ for await (const chunk of stream) {
|
|
|
43
43
|
| `xai/grok-4.20-multi-agent-0309` | 2.0M | | | | | | $2 | $6 |
|
|
44
44
|
| `xai/grok-4.3` | 1.0M | | | | | | $1 | $3 |
|
|
45
45
|
| `xai/grok-beta` | 131K | | | | | | $5 | $15 |
|
|
46
|
+
| `xai/grok-build-0.1` | 256K | | | | | | $1 | $2 |
|
|
46
47
|
| `xai/grok-imagine-image` | 1K | | | | | | — | — |
|
|
47
48
|
| `xai/grok-imagine-image-quality` | 1K | | | | | | — | — |
|
|
48
49
|
| `xai/grok-imagine-video` | 1K | | | | | | — | — |
|
|
@@ -31,7 +31,7 @@ export const supportAgent = new Agent({
|
|
|
31
31
|
|
|
32
32
|
**handlers** (`ChannelHandlers`): Override default message handlers for DMs, mentions, and subscribed threads.
|
|
33
33
|
|
|
34
|
-
**inlineMedia** (`string[] | ((mimeType: string) => boolean)`): Controls which attachment types are sent as file parts to the model. Types that do not match are described as text summaries. Accepts an array of mime type globs or a predicate function. (Default: `['image
|
|
34
|
+
**inlineMedia** (`string[] | ((mimeType: string) => boolean)`): Controls which attachment types are sent as file parts to the model. Types that do not match are described as text summaries. Accepts an array of mime type globs or a predicate function. The default matches the formats supported by major vision models. (Default: `['image/png', 'image/jpeg', 'image/webp', 'application/pdf']`)
|
|
35
35
|
|
|
36
36
|
**inlineLinks** (`InlineLinkEntry[]`): Promote URLs found in message text to file parts so the model can process linked content. Each entry matches a domain. Disabled by default.
|
|
37
37
|
|
|
@@ -91,7 +91,7 @@ const agent = new Agent({
|
|
|
91
91
|
|
|
92
92
|
Override built-in event handlers. Each handler can be:
|
|
93
93
|
|
|
94
|
-
- **Omitted**: uses the default Mastra handler (routes
|
|
94
|
+
- **Omitted**: uses the default Mastra handler (routes the message through the agent and posts the response)
|
|
95
95
|
- **`false`**: disables the handler entirely
|
|
96
96
|
- **A function** `(thread, message, defaultHandler) => Promise<void>`: wraps or replaces the default
|
|
97
97
|
|
|
@@ -138,6 +138,8 @@ type ChannelHandler = (
|
|
|
138
138
|
|
|
139
139
|
Controls which attachment types (images, video, PDFs, etc.) are sent as file parts to the model. Types that do not match are described as text summaries so the agent knows about the file without crashing models that reject unsupported types.
|
|
140
140
|
|
|
141
|
+
The default (`['image/png', 'image/jpeg', 'image/webp', 'application/pdf']`) matches the formats supported by major vision models. Override `inlineMedia` to expand the list (e.g. `['image/*', 'audio/*']`) or replace it entirely with a predicate function.
|
|
142
|
+
|
|
141
143
|
Supported glob patterns:
|
|
142
144
|
|
|
143
145
|
| Pattern | Matches |
|
|
@@ -18,7 +18,7 @@ The URL path for the route. Supports path parameters using `:param` syntax.
|
|
|
18
18
|
registerApiRoute("/items/:itemId", { ... })
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
**Note:**
|
|
21
|
+
**Note:** Custom route paths can't start with the server's configured `apiPrefix` (default: `/api`), as that prefix is reserved for built-in Mastra routes. If you set a custom `apiPrefix`, only that prefix is reserved — for example, with `apiPrefix: '/mastra/api'`, paths like `/api/my-endpoint` are allowed.
|
|
22
22
|
|
|
23
23
|
### options
|
|
24
24
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @mastra/mcp-docs-server
|
|
2
2
|
|
|
3
|
+
## 1.1.39-alpha.19
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`27fd1b7`](https://github.com/mastra-ai/mastra/commit/27fd1b79ac62eb7694f92587eb7d1be05b59be01), [`a702009`](https://github.com/mastra-ai/mastra/commit/a702009d3cfaa745120f501e21c783ed4d6a3072), [`46cbb7e`](https://github.com/mastra-ai/mastra/commit/46cbb7e84a0fadcf8c26ddfad38278732c22143e), [`8534d79`](https://github.com/mastra-ai/mastra/commit/8534d791fa1cb70fe1c19e2604c4b63cc10dd051), [`c78f8cd`](https://github.com/mastra-ai/mastra/commit/c78f8cd6222a86e6c60ae5210b6929ad5221b6fb), [`e146aad`](https://github.com/mastra-ai/mastra/commit/e146aadbba66c410ba0e74bac4c50135495cb8dd), [`1a0ec78`](https://github.com/mastra-ai/mastra/commit/1a0ec789a26cae443744e9abbd62ed6ee676af39), [`d52b6fe`](https://github.com/mastra-ai/mastra/commit/d52b6fe1c56853eb38864baae0bbfa75cc739ccb)]:
|
|
8
|
+
- @mastra/core@1.36.0-alpha.10
|
|
9
|
+
- @mastra/mcp@1.8.0-alpha.2
|
|
10
|
+
|
|
11
|
+
## 1.1.39-alpha.17
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [[`1698f5e`](https://github.com/mastra-ai/mastra/commit/1698f5ec141d34f22a873efdb145ce3cdf848a5e)]:
|
|
16
|
+
- @mastra/core@1.36.0-alpha.9
|
|
17
|
+
|
|
3
18
|
## 1.1.39-alpha.16
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mcp-docs-server",
|
|
3
|
-
"version": "1.1.39-alpha.
|
|
3
|
+
"version": "1.1.39-alpha.19",
|
|
4
4
|
"description": "MCP server for accessing Mastra.ai documentation, changelogs, and news.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"jsdom": "^26.1.0",
|
|
30
30
|
"local-pkg": "^1.1.2",
|
|
31
31
|
"zod": "^4.3.6",
|
|
32
|
-
"@mastra/core": "1.36.0-alpha.
|
|
33
|
-
"@mastra/mcp": "^1.8.0-alpha.
|
|
32
|
+
"@mastra/core": "1.36.0-alpha.10",
|
|
33
|
+
"@mastra/mcp": "^1.8.0-alpha.2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@hono/node-server": "^1.19.11",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"vitest": "4.1.5",
|
|
49
49
|
"@internal/lint": "0.0.96",
|
|
50
50
|
"@internal/types-builder": "0.0.71",
|
|
51
|
-
"@mastra/core": "1.36.0-alpha.
|
|
51
|
+
"@mastra/core": "1.36.0-alpha.10"
|
|
52
52
|
},
|
|
53
53
|
"homepage": "https://mastra.ai",
|
|
54
54
|
"repository": {
|