@mastra/mcp-docs-server 1.0.0-beta.14 → 1.0.0-beta.16
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/organized/changelogs/%40mastra%2Fagent-builder.md +41 -41
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +51 -51
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +235 -235
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +85 -85
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +235 -235
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +235 -235
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +258 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +338 -338
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +67 -67
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +235 -235
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +10 -10
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Flance.md +235 -235
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +235 -235
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +30 -30
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +168 -168
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +259 -259
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +259 -259
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +279 -279
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +108 -108
- package/.docs/organized/changelogs/%40mastra%2Freact.md +77 -77
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +180 -180
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +235 -235
- package/.docs/organized/changelogs/create-mastra.md +11 -11
- package/.docs/organized/changelogs/mastra.md +40 -40
- package/.docs/organized/code-examples/agent-v6.md +70 -11
- package/.docs/organized/code-examples/client-side-tools.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +8 -3
- package/.docs/raw/deployment/overview.mdx +3 -4
- package/.docs/raw/deployment/workflow-runners.mdx +14 -0
- package/.docs/raw/getting-started/studio.mdx +1 -1
- package/.docs/raw/guides/deployment/inngest.mdx +198 -140
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +11 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +11 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +68 -0
- package/.docs/raw/mastra-cloud/deployment.mdx +39 -0
- package/.docs/raw/mastra-cloud/observability.mdx +9 -15
- package/.docs/raw/mastra-cloud/overview.mdx +14 -44
- package/.docs/raw/mastra-cloud/setup.mdx +64 -0
- package/.docs/raw/mastra-cloud/studio.mdx +35 -0
- package/.docs/raw/reference/client-js/workflows.mdx +15 -0
- package/.docs/raw/reference/logging/pino-logger.mdx +1 -1
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +39 -18
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +4 -2
- package/.docs/raw/reference/storage/composite.mdx +223 -0
- package/.docs/raw/reference/storage/lance.mdx +3 -2
- package/.docs/raw/reference/storage/libsql.mdx +5 -2
- package/.docs/raw/reference/storage/mongodb.mdx +4 -2
- package/.docs/raw/reference/storage/mssql.mdx +4 -2
- package/.docs/raw/reference/storage/postgresql.mdx +4 -2
- package/.docs/raw/reference/tools/mcp-server.mdx +9 -0
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +51 -3
- package/.docs/raw/reference/workflows/run.mdx +8 -2
- package/.docs/raw/voice/overview.mdx +1 -1
- package/.docs/raw/workflows/overview.mdx +1 -1
- package/.docs/raw/workflows/snapshots.mdx +2 -1
- package/CHANGELOG.md +15 -0
- package/package.json +5 -5
- package/.docs/raw/mastra-cloud/dashboard.mdx +0 -96
- package/.docs/raw/mastra-cloud/setting-up.mdx +0 -106
- package/.docs/raw/workflows/inngest-workflow.mdx +0 -362
|
@@ -1,5 +1,184 @@
|
|
|
1
1
|
# @mastra/server
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.16
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fix workflow observability view broken by invalid entityType parameter ([#11427](https://github.com/mastra-ai/mastra/pull/11427))
|
|
8
|
+
|
|
9
|
+
The UI workflow observability view was failing with a Zod validation error when trying to filter traces by workflow. The UI was sending `entityType=workflow`, but the backend's `EntityType` enum only accepts `workflow_run`.
|
|
10
|
+
|
|
11
|
+
**Root Cause**: The legacy value transformation was happening in the handler (after validation), but Zod validation occurred earlier in the request pipeline, rejecting the request before it could be transformed.
|
|
12
|
+
|
|
13
|
+
**Solution**:
|
|
14
|
+
- Added `z.preprocess()` to the query schema to transform `workflow` → `workflow_run` before validation
|
|
15
|
+
- Kept handler transformation for defense in depth
|
|
16
|
+
- Updated UI to use `EntityType.WORKFLOW_RUN` enum value for type safety
|
|
17
|
+
|
|
18
|
+
This maintains backward compatibility with legacy clients while fixing the validation error.
|
|
19
|
+
|
|
20
|
+
Fixes #11412
|
|
21
|
+
|
|
22
|
+
- Add storage composition to MastraStorage ([#11401](https://github.com/mastra-ai/mastra/pull/11401))
|
|
23
|
+
|
|
24
|
+
`MastraStorage` can now compose storage domains from different adapters. Use it when you need different databases for different purposes - for example, PostgreSQL for memory and workflows, but a different database for observability.
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import { MastraStorage } from '@mastra/core/storage';
|
|
28
|
+
import { MemoryPG, WorkflowsPG, ScoresPG } from '@mastra/pg';
|
|
29
|
+
import { MemoryLibSQL } from '@mastra/libsql';
|
|
30
|
+
|
|
31
|
+
// Compose domains from different stores
|
|
32
|
+
const storage = new MastraStorage({
|
|
33
|
+
id: 'composite',
|
|
34
|
+
domains: {
|
|
35
|
+
memory: new MemoryLibSQL({ url: 'file:./local.db' }),
|
|
36
|
+
workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
|
|
37
|
+
scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Breaking changes:**
|
|
43
|
+
- `storage.supports` property no longer exists
|
|
44
|
+
- `StorageSupports` type is no longer exported from `@mastra/core/storage`
|
|
45
|
+
|
|
46
|
+
All stores now support the same features. For domain availability, use `getStore()`:
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
const store = await storage.getStore('memory');
|
|
50
|
+
if (store) {
|
|
51
|
+
// domain is available
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
- Updated dependencies [[`3d93a15`](https://github.com/mastra-ai/mastra/commit/3d93a15796b158c617461c8b98bede476ebb43e2), [`efe406a`](https://github.com/mastra-ai/mastra/commit/efe406a1353c24993280ebc2ed61dd9f65b84b26), [`119e5c6`](https://github.com/mastra-ai/mastra/commit/119e5c65008f3e5cfca954eefc2eb85e3bf40da4), [`74e504a`](https://github.com/mastra-ai/mastra/commit/74e504a3b584eafd2f198001c6a113bbec589fd3), [`e33fdbd`](https://github.com/mastra-ai/mastra/commit/e33fdbd07b33920d81e823122331b0c0bee0bb59), [`929f69c`](https://github.com/mastra-ai/mastra/commit/929f69c3436fa20dd0f0e2f7ebe8270bd82a1529), [`8a73529`](https://github.com/mastra-ai/mastra/commit/8a73529ca01187f604b1f3019d0a725ac63ae55f)]:
|
|
56
|
+
- @mastra/core@1.0.0-beta.16
|
|
57
|
+
|
|
58
|
+
## 1.0.0-beta.15
|
|
59
|
+
|
|
60
|
+
### Minor Changes
|
|
61
|
+
|
|
62
|
+
- Unified observability schema with entity-based span identification ([#11132](https://github.com/mastra-ai/mastra/pull/11132))
|
|
63
|
+
|
|
64
|
+
## What changed
|
|
65
|
+
|
|
66
|
+
Spans now use a unified identification model with `entityId`, `entityType`, and `entityName` instead of separate `agentId`, `toolId`, `workflowId` fields.
|
|
67
|
+
|
|
68
|
+
**Before:**
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
// Old span structure
|
|
72
|
+
span.agentId; // 'my-agent'
|
|
73
|
+
span.toolId; // undefined
|
|
74
|
+
span.workflowId; // undefined
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**After:**
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
// New span structure
|
|
81
|
+
span.entityType; // EntityType.AGENT
|
|
82
|
+
span.entityId; // 'my-agent'
|
|
83
|
+
span.entityName; // 'My Agent'
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## New `listTraces()` API
|
|
87
|
+
|
|
88
|
+
Query traces with filtering, pagination, and sorting:
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
const { spans, pagination } = await storage.listTraces({
|
|
92
|
+
filters: {
|
|
93
|
+
entityType: EntityType.AGENT,
|
|
94
|
+
entityId: 'my-agent',
|
|
95
|
+
userId: 'user-123',
|
|
96
|
+
environment: 'production',
|
|
97
|
+
status: TraceStatus.SUCCESS,
|
|
98
|
+
startedAt: { start: new Date('2024-01-01'), end: new Date('2024-01-31') },
|
|
99
|
+
},
|
|
100
|
+
pagination: { page: 0, perPage: 50 },
|
|
101
|
+
orderBy: { field: 'startedAt', direction: 'DESC' },
|
|
102
|
+
});
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Available filters:** date ranges (`startedAt`, `endedAt`), entity (`entityType`, `entityId`, `entityName`), identity (`userId`, `organizationId`), correlation IDs (`runId`, `sessionId`, `threadId`), deployment (`environment`, `source`, `serviceName`), `tags`, `metadata`, and `status`.
|
|
106
|
+
|
|
107
|
+
## New retrieval methods
|
|
108
|
+
- `getSpan({ traceId, spanId })` - Get a single span
|
|
109
|
+
- `getRootSpan({ traceId })` - Get the root span of a trace
|
|
110
|
+
- `getTrace({ traceId })` - Get all spans for a trace
|
|
111
|
+
|
|
112
|
+
## Backward compatibility
|
|
113
|
+
|
|
114
|
+
The legacy `getTraces()` method continues to work. When you pass `name: "agent run: my-agent"`, it automatically transforms to `entityId: "my-agent", entityType: AGENT`.
|
|
115
|
+
|
|
116
|
+
## Migration
|
|
117
|
+
|
|
118
|
+
**Automatic:** SQL-based stores (PostgreSQL, LibSQL, MSSQL) automatically add new columns to existing `spans` tables on initialization. Existing data is preserved with new columns set to `NULL`.
|
|
119
|
+
|
|
120
|
+
**No action required:** Your existing code continues to work. Adopt the new fields and `listTraces()` API at your convenience.
|
|
121
|
+
|
|
122
|
+
### Patch Changes
|
|
123
|
+
|
|
124
|
+
- Refactor storage architecture to use domain-specific stores via `getStore()` pattern ([#11361](https://github.com/mastra-ai/mastra/pull/11361))
|
|
125
|
+
|
|
126
|
+
### Summary
|
|
127
|
+
|
|
128
|
+
This release introduces a new storage architecture that replaces passthrough methods on `MastraStorage` with domain-specific storage interfaces accessed via `getStore()`. This change reduces code duplication across storage adapters and provides a cleaner, more modular API.
|
|
129
|
+
|
|
130
|
+
### Migration Guide
|
|
131
|
+
|
|
132
|
+
All direct method calls on storage instances should be updated to use `getStore()`:
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
// Before
|
|
136
|
+
const thread = await storage.getThreadById({ threadId });
|
|
137
|
+
await storage.persistWorkflowSnapshot({ workflowName, runId, snapshot });
|
|
138
|
+
await storage.createSpan(span);
|
|
139
|
+
|
|
140
|
+
// After
|
|
141
|
+
const memory = await storage.getStore('memory');
|
|
142
|
+
const thread = await memory?.getThreadById({ threadId });
|
|
143
|
+
|
|
144
|
+
const workflows = await storage.getStore('workflows');
|
|
145
|
+
await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
|
|
146
|
+
|
|
147
|
+
const observability = await storage.getStore('observability');
|
|
148
|
+
await observability?.createSpan(span);
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Available Domains
|
|
152
|
+
- **`memory`**: Thread and message operations (`getThreadById`, `saveThread`, `saveMessages`, etc.)
|
|
153
|
+
- **`workflows`**: Workflow state persistence (`persistWorkflowSnapshot`, `loadWorkflowSnapshot`, `getWorkflowRunById`, etc.)
|
|
154
|
+
- **`scores`**: Evaluation scores (`saveScore`, `listScoresByScorerId`, etc.)
|
|
155
|
+
- **`observability`**: Tracing and spans (`createSpan`, `updateSpan`, `getTrace`, etc.)
|
|
156
|
+
- **`agents`**: Stored agent configurations (`createAgent`, `getAgentById`, `listAgents`, etc.)
|
|
157
|
+
|
|
158
|
+
### Breaking Changes
|
|
159
|
+
- Passthrough methods have been removed from `MastraStorage` base class
|
|
160
|
+
- All storage adapters now require accessing domains via `getStore()`
|
|
161
|
+
- The `stores` property on storage instances is now the canonical way to access domain storage
|
|
162
|
+
|
|
163
|
+
### Internal Changes
|
|
164
|
+
- Each storage adapter now initializes domain-specific stores in its constructor
|
|
165
|
+
- Domain stores share database connections and handle their own table initialization
|
|
166
|
+
|
|
167
|
+
- Add `/api/system/packages` endpoint that returns installed Mastra packages and versions from the dev environment ([#11211](https://github.com/mastra-ai/mastra/pull/11211))
|
|
168
|
+
|
|
169
|
+
- Add `perStep` option to workflow run methods, allowing a workflow to run just a step instead of all the workflow steps ([#11276](https://github.com/mastra-ai/mastra/pull/11276))
|
|
170
|
+
|
|
171
|
+
- Fixed voice transcription endpoint ([#11348](https://github.com/mastra-ai/mastra/pull/11348))
|
|
172
|
+
|
|
173
|
+
The voice transcription endpoint (`/api/agents/:agentId/voice/listen`) now correctly handles multipart/form-data requests for audio uploads rather than only parsing JSON request bodies.
|
|
174
|
+
|
|
175
|
+
Both Express and Hono adapters now parse multipart/form-data bodies and handle JSON-encoded form fields.
|
|
176
|
+
|
|
177
|
+
**Breaking change:** The server schema field for the transcription endpoint was renamed from `audioData` to `audio` to match the client SDK. If you are making direct API calls to the transcription endpoint (not using the SDK), you will need to update your request body to use `audio` instead of `audioData`.
|
|
178
|
+
|
|
179
|
+
- Updated dependencies [[`33a4d2e`](https://github.com/mastra-ai/mastra/commit/33a4d2e4ed8af51f69256232f00c34d6b6b51d48), [`4aaa844`](https://github.com/mastra-ai/mastra/commit/4aaa844a4f19d054490f43638a990cc57bda8d2f), [`4a1a6cb`](https://github.com/mastra-ai/mastra/commit/4a1a6cb3facad54b2bb6780b00ce91d6de1edc08), [`31d13d5`](https://github.com/mastra-ai/mastra/commit/31d13d5fdc2e2380e2e3ee3ec9fb29d2a00f265d), [`4c62166`](https://github.com/mastra-ai/mastra/commit/4c621669f4a29b1f443eca3ba70b814afa286266), [`7bcbf10`](https://github.com/mastra-ai/mastra/commit/7bcbf10133516e03df964b941f9a34e9e4ab4177), [`4353600`](https://github.com/mastra-ai/mastra/commit/43536005a65988a8eede236f69122e7f5a284ba2), [`6986fb0`](https://github.com/mastra-ai/mastra/commit/6986fb064f5db6ecc24aa655e1d26529087b43b3), [`053e979`](https://github.com/mastra-ai/mastra/commit/053e9793b28e970086b0507f7f3b76ea32c1e838), [`e26dc9c`](https://github.com/mastra-ai/mastra/commit/e26dc9c3ccfec54ae3dc3e2b2589f741f9ae60a6), [`55edf73`](https://github.com/mastra-ai/mastra/commit/55edf7302149d6c964fbb7908b43babfc2b52145), [`27c0009`](https://github.com/mastra-ai/mastra/commit/27c0009777a6073d7631b0eb7b481d94e165b5ca), [`dee388d`](https://github.com/mastra-ai/mastra/commit/dee388dde02f2e63c53385ae69252a47ab6825cc), [`3f3fc30`](https://github.com/mastra-ai/mastra/commit/3f3fc3096f24c4a26cffeecfe73085928f72aa63), [`d90ea65`](https://github.com/mastra-ai/mastra/commit/d90ea6536f7aa51c6545a4e9215b55858e98e16d), [`d171e55`](https://github.com/mastra-ai/mastra/commit/d171e559ead9f52ec728d424844c8f7b164c4510), [`10c2735`](https://github.com/mastra-ai/mastra/commit/10c27355edfdad1ee2b826b897df74125eb81fb8), [`1924cf0`](https://github.com/mastra-ai/mastra/commit/1924cf06816e5e4d4d5333065ec0f4bb02a97799), [`b339816`](https://github.com/mastra-ai/mastra/commit/b339816df0984d0243d944ac2655d6ba5f809cde)]:
|
|
180
|
+
- @mastra/core@1.0.0-beta.15
|
|
181
|
+
|
|
3
182
|
## 1.0.0-beta.14
|
|
4
183
|
|
|
5
184
|
### Patch Changes
|
|
@@ -320,183 +499,4 @@
|
|
|
320
499
|
|
|
321
500
|
- Allow direct access to server app handle directly from Mastra instance. ([#10598](https://github.com/mastra-ai/mastra/pull/10598))
|
|
322
501
|
|
|
323
|
-
|
|
324
|
-
// Before: HTTP request to localhost
|
|
325
|
-
const response = await fetch(`http://localhost:5000/api/tools`);
|
|
326
|
-
|
|
327
|
-
// After: Direct call via app.fetch()
|
|
328
|
-
const app = mastra.getServerApp<Hono>();
|
|
329
|
-
const response = await app.fetch(new Request('http://internal/api/tools'));
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
- Added `mastra.getServerApp<T>()` to access the underlying Hono/Express app
|
|
333
|
-
- Added `mastra.getMastraServer()` and `mastra.setMastraServer()` for adapter access
|
|
334
|
-
- Added `MastraServerBase` class in `@mastra/core/server` for adapter implementations
|
|
335
|
-
- Server adapters now auto-register with Mastra in their constructor
|
|
336
|
-
|
|
337
|
-
- fix(a2a): fix streaming and memory support for A2A protocol ([#10653](https://github.com/mastra-ai/mastra/pull/10653))
|
|
338
|
-
|
|
339
|
-
**Client (`@mastra/client-js`):**
|
|
340
|
-
- Fixed `sendStreamingMessage` to properly return a streaming response instead of attempting to parse it as JSON
|
|
341
|
-
|
|
342
|
-
**Server (`@mastra/server`):**
|
|
343
|
-
- Fixed A2A message handler to pass `contextId` as `threadId` for memory persistence across conversations
|
|
344
|
-
- Added support for user-provided `resourceId` via `params.metadata.resourceId` or `message.metadata.resourceId`, falling back to `agentId`
|
|
345
|
-
|
|
346
|
-
- Add stream data redaction to prevent sensitive information leaks in agent stream API responses. ([#10705](https://github.com/mastra-ai/mastra/pull/10705))
|
|
347
|
-
|
|
348
|
-
The `stream` API endpoint now automatically redacts `request` data from stream chunks (`step-start`, `step-finish`, `finish`) which could contain system prompts, tool definitions, and API keys. Redaction is enabled by default and can be disabled for debugging/internal services via `streamOptions.redact`.
|
|
349
|
-
|
|
350
|
-
- Updated dependencies [[`ac0d2f4`](https://github.com/mastra-ai/mastra/commit/ac0d2f4ff8831f72c1c66c2be809706d17f65789), [`1a0d3fc`](https://github.com/mastra-ai/mastra/commit/1a0d3fc811482c9c376cdf79ee615c23bae9b2d6), [`85a628b`](https://github.com/mastra-ai/mastra/commit/85a628b1224a8f64cd82ea7f033774bf22df7a7e), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`15f9e21`](https://github.com/mastra-ai/mastra/commit/15f9e216177201ea6e3f6d0bfb063fcc0953444f), [`ff94dea`](https://github.com/mastra-ai/mastra/commit/ff94dea935f4e34545c63bcb6c29804732698809), [`5b2ff46`](https://github.com/mastra-ai/mastra/commit/5b2ff4651df70c146523a7fca773f8eb0a2272f8), [`db41688`](https://github.com/mastra-ai/mastra/commit/db4168806d007417e2e60b4f68656dca4e5f40c9), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`bff1145`](https://github.com/mastra-ai/mastra/commit/bff114556b3cbadad9b2768488708f8ad0e91475), [`5c8ca24`](https://github.com/mastra-ai/mastra/commit/5c8ca247094e0cc2cdbd7137822fb47241f86e77), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`22553f1`](https://github.com/mastra-ai/mastra/commit/22553f11c63ee5e966a9c034a349822249584691), [`7237163`](https://github.com/mastra-ai/mastra/commit/72371635dbf96a87df4b073cc48fc655afbdce3d), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`873ecbb`](https://github.com/mastra-ai/mastra/commit/873ecbb517586aa17d2f1e99283755b3ebb2863f), [`4f9bbe5`](https://github.com/mastra-ai/mastra/commit/4f9bbe5968f42c86f4930b8193de3c3c17e5bd36), [`02e51fe`](https://github.com/mastra-ai/mastra/commit/02e51feddb3d4155cfbcc42624fd0d0970d032c0), [`8f3fa3a`](https://github.com/mastra-ai/mastra/commit/8f3fa3a652bb77da092f913ec51ae46e3a7e27dc), [`cd29ad2`](https://github.com/mastra-ai/mastra/commit/cd29ad23a255534e8191f249593849ed29160886), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`854e3da`](https://github.com/mastra-ai/mastra/commit/854e3dad5daac17a91a20986399d3a51f54bf68b), [`ce18d38`](https://github.com/mastra-ai/mastra/commit/ce18d38678c65870350d123955014a8432075fd9), [`cccf9c8`](https://github.com/mastra-ai/mastra/commit/cccf9c8b2d2dfc1a5e63919395b83d78c89682a0), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`f0fdc14`](https://github.com/mastra-ai/mastra/commit/f0fdc14ee233d619266b3d2bbdeea7d25cfc6d13), [`db18bc9`](https://github.com/mastra-ai/mastra/commit/db18bc9c3825e2c1a0ad9a183cc9935f6691bfa1), [`9b37b56`](https://github.com/mastra-ai/mastra/commit/9b37b565e1f2a76c24f728945cc740c2b09be9da), [`41a23c3`](https://github.com/mastra-ai/mastra/commit/41a23c32f9877d71810f37e24930515df2ff7a0f), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`d1e74a0`](https://github.com/mastra-ai/mastra/commit/d1e74a0a293866dece31022047f5dbab65a304d0), [`39e7869`](https://github.com/mastra-ai/mastra/commit/39e7869bc7d0ee391077ce291474d8a84eedccff), [`5761926`](https://github.com/mastra-ai/mastra/commit/57619260c4a2cdd598763abbacd90de594c6bc76), [`c900fdd`](https://github.com/mastra-ai/mastra/commit/c900fdd504c41348efdffb205cfe80d48c38fa33), [`604a79f`](https://github.com/mastra-ai/mastra/commit/604a79fecf276e26a54a3fe01bb94e65315d2e0e), [`887f0b4`](https://github.com/mastra-ai/mastra/commit/887f0b4746cdbd7cb7d6b17ac9f82aeb58037ea5), [`2562143`](https://github.com/mastra-ai/mastra/commit/256214336b4faa78646c9c1776612393790d8784), [`ef11a61`](https://github.com/mastra-ai/mastra/commit/ef11a61920fa0ed08a5b7ceedd192875af119749)]:
|
|
351
|
-
- @mastra/core@1.0.0-beta.6
|
|
352
|
-
|
|
353
|
-
## 1.0.0-beta.5
|
|
354
|
-
|
|
355
|
-
### Patch Changes
|
|
356
|
-
|
|
357
|
-
- Extract routing from @deployer/server into server adapter packages. ([#10263](https://github.com/mastra-ai/mastra/pull/10263))
|
|
358
|
-
New packages:
|
|
359
|
-
- @mastra/express
|
|
360
|
-
- @mastra/hono
|
|
361
|
-
|
|
362
|
-
These packages support mastra server routes on express and hono respectively.
|
|
363
|
-
Better abstractions will be built on top of these packages in the near future, enabling users to easily attach mastra routes to any existing server framework.
|
|
364
|
-
|
|
365
|
-
- Add timeTravel APIs and add timeTravel feature to studio ([#10361](https://github.com/mastra-ai/mastra/pull/10361))
|
|
366
|
-
|
|
367
|
-
- Fixed server handler bugs: filter parsing now handles colons in values (timestamps, URLs), dateRange validation now converts JSON strings to Date objects, deleteMessages schema accepts object forms, and added missing responseSchema for legacy stream route ([#10362](https://github.com/mastra-ai/mastra/pull/10362))
|
|
368
|
-
|
|
369
|
-
- Updated dependencies [[`21a15de`](https://github.com/mastra-ai/mastra/commit/21a15de369fe82aac26bb642ed7be73505475e8b), [`feb7ee4`](https://github.com/mastra-ai/mastra/commit/feb7ee4d09a75edb46c6669a3beaceec78811747), [`b0e2ea5`](https://github.com/mastra-ai/mastra/commit/b0e2ea5b52c40fae438b9e2f7baee6f0f89c5442), [`c456e01`](https://github.com/mastra-ai/mastra/commit/c456e0149e3c176afcefdbd9bb1d2c5917723725), [`ab035c2`](https://github.com/mastra-ai/mastra/commit/ab035c2ef6d8cc7bb25f06f1a38508bd9e6f126b), [`1a46a56`](https://github.com/mastra-ai/mastra/commit/1a46a566f45a3fcbadc1cf36bf86d351f264bfa3), [`3cf540b`](https://github.com/mastra-ai/mastra/commit/3cf540b9fbfea8f4fc8d3a2319a4e6c0b0cbfd52), [`1c6ce51`](https://github.com/mastra-ai/mastra/commit/1c6ce51f875915ab57fd36873623013699a2a65d), [`898a972`](https://github.com/mastra-ai/mastra/commit/898a9727d286c2510d6b702dfd367e6aaf5c6b0f), [`a97003a`](https://github.com/mastra-ai/mastra/commit/a97003aa1cf2f4022a41912324a1e77263b326b8), [`ccc141e`](https://github.com/mastra-ai/mastra/commit/ccc141ed27da0abc3a3fc28e9e5128152e8e37f4), [`fe3b897`](https://github.com/mastra-ai/mastra/commit/fe3b897c2ccbcd2b10e81b099438c7337feddf89), [`00123ba`](https://github.com/mastra-ai/mastra/commit/00123ba96dc9e5cd0b110420ebdba56d8f237b25), [`29c4309`](https://github.com/mastra-ai/mastra/commit/29c4309f818b24304c041bcb4a8f19b5f13f6b62), [`16785ce`](https://github.com/mastra-ai/mastra/commit/16785ced928f6f22638f4488cf8a125d99211799), [`de8239b`](https://github.com/mastra-ai/mastra/commit/de8239bdcb1d8c0cfa06da21f1569912a66bbc8a), [`b5e6cd7`](https://github.com/mastra-ai/mastra/commit/b5e6cd77fc8c8e64e0494c1d06cee3d84e795d1e), [`3759cb0`](https://github.com/mastra-ai/mastra/commit/3759cb064935b5f74c65ac2f52a1145f7352899d), [`651e772`](https://github.com/mastra-ai/mastra/commit/651e772eb1475fb13e126d3fcc01751297a88214), [`b61b93f`](https://github.com/mastra-ai/mastra/commit/b61b93f9e058b11dd2eec169853175d31dbdd567), [`bae33d9`](https://github.com/mastra-ai/mastra/commit/bae33d91a63fbb64d1e80519e1fc1acaed1e9013), [`c0b731f`](https://github.com/mastra-ai/mastra/commit/c0b731fb27d712dc8582e846df5c0332a6a0c5ba), [`43ca8f2`](https://github.com/mastra-ai/mastra/commit/43ca8f2c7334851cc7b4d3d2f037d8784bfbdd5f), [`2ca67cc`](https://github.com/mastra-ai/mastra/commit/2ca67cc3bb1f6a617353fdcab197d9efebe60d6f), [`9e67002`](https://github.com/mastra-ai/mastra/commit/9e67002b52c9be19936c420a489dbee9c5fd6a78), [`35edc49`](https://github.com/mastra-ai/mastra/commit/35edc49ac0556db609189641d6341e76771b81fc)]:
|
|
370
|
-
- @mastra/core@1.0.0-beta.5
|
|
371
|
-
|
|
372
|
-
## 1.0.0-beta.4
|
|
373
|
-
|
|
374
|
-
### Patch Changes
|
|
375
|
-
|
|
376
|
-
- Network handler now accesses thread and resource parameters from the nested memory object instead of directly from request body. ([#10294](https://github.com/mastra-ai/mastra/pull/10294))
|
|
377
|
-
|
|
378
|
-
- Updated dependencies [[`352a5d6`](https://github.com/mastra-ai/mastra/commit/352a5d625cfe09849b21e8f52a24c9f0366759d5), [`a0a5b4b`](https://github.com/mastra-ai/mastra/commit/a0a5b4bbebe6c701ebbadf744873aa0d5ca01371), [`69ea758`](https://github.com/mastra-ai/mastra/commit/69ea758358edd7117f191c2e69c8bb5fc79e7a1a), [`993ad98`](https://github.com/mastra-ai/mastra/commit/993ad98d7ad3bebda9ecef5fec5c94349a0d04bc), [`3ff2c17`](https://github.com/mastra-ai/mastra/commit/3ff2c17a58e312fad5ea37377262c12d92ca0908)]:
|
|
379
|
-
- @mastra/core@1.0.0-beta.4
|
|
380
|
-
|
|
381
|
-
## 1.0.0-beta.3
|
|
382
|
-
|
|
383
|
-
### Patch Changes
|
|
384
|
-
|
|
385
|
-
- Fix semantic search endpoint to return results in the correct format. Also fix the delete messages endpoint to properly normalize ids in the expected format. ([#10032](https://github.com/mastra-ai/mastra/pull/10032))
|
|
386
|
-
|
|
387
|
-
- Updated dependencies [[`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`ad6250d`](https://github.com/mastra-ai/mastra/commit/ad6250dbdaad927e29f74a27b83f6c468b50a705), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`e1bb9c9`](https://github.com/mastra-ai/mastra/commit/e1bb9c94b4eb68b019ae275981be3feb769b5365), [`351a11f`](https://github.com/mastra-ai/mastra/commit/351a11fcaf2ed1008977fa9b9a489fc422e51cd4)]:
|
|
388
|
-
- @mastra/core@1.0.0-beta.3
|
|
389
|
-
|
|
390
|
-
## 1.0.0-beta.2
|
|
391
|
-
|
|
392
|
-
### Patch Changes
|
|
393
|
-
|
|
394
|
-
- Updated dependencies [[`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46)]:
|
|
395
|
-
- @mastra/core@1.0.0-beta.2
|
|
396
|
-
|
|
397
|
-
## 1.0.0-beta.1
|
|
398
|
-
|
|
399
|
-
### Patch Changes
|
|
400
|
-
|
|
401
|
-
- Updated dependencies [[`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d)]:
|
|
402
|
-
- @mastra/core@1.0.0-beta.1
|
|
403
|
-
|
|
404
|
-
## 1.0.0-beta.0
|
|
405
|
-
|
|
406
|
-
### Major Changes
|
|
407
|
-
|
|
408
|
-
- Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
|
|
409
|
-
|
|
410
|
-
- Every Mastra primitive (agent, MCPServer, workflow, tool, processor, scorer, and vector) now has a get, list, and add method associated with it. Each primitive also now requires an id to be set. ([#9675](https://github.com/mastra-ai/mastra/pull/9675))
|
|
411
|
-
|
|
412
|
-
Primitives that are added to other primitives are also automatically added to the Mastra instance
|
|
413
|
-
|
|
414
|
-
- Update handlers to use `listWorkflowRuns` instead of `getWorkflowRuns`. Fix type names from `StoragelistThreadsByResourceIdInput/Output` to `StorageListThreadsByResourceIdInput/Output`. ([#9507](https://github.com/mastra-ai/mastra/pull/9507))
|
|
415
|
-
|
|
416
|
-
- **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
|
|
417
|
-
|
|
418
|
-
Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
|
|
419
|
-
|
|
420
|
-
**Storage changes:**
|
|
421
|
-
- `StoragePagination.perPage` type changed from `number` to `number | false`
|
|
422
|
-
- All storage implementations support `perPage: false`:
|
|
423
|
-
- Memory: `listMessages()`
|
|
424
|
-
- Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
|
|
425
|
-
- HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
|
|
426
|
-
|
|
427
|
-
**Memory changes:**
|
|
428
|
-
- `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
|
|
429
|
-
- Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
|
|
430
|
-
|
|
431
|
-
**Stricter validation:**
|
|
432
|
-
- `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
|
|
433
|
-
|
|
434
|
-
**Migration:**
|
|
435
|
-
|
|
436
|
-
```typescript
|
|
437
|
-
// Storage/Memory: Replace getMessagesPaginated with listMessages
|
|
438
|
-
- storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
|
|
439
|
-
+ storage.listMessages({ threadId, page: 0, perPage: 20 })
|
|
440
|
-
+ storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
|
|
441
|
-
|
|
442
|
-
// Memory: Replace selectBy with flat parameters
|
|
443
|
-
- memory.query({ threadId, selectBy: { last: 20, include: [...] } })
|
|
444
|
-
+ memory.query({ threadId, perPage: 20, include: [...] })
|
|
445
|
-
|
|
446
|
-
// Client SDK
|
|
447
|
-
- thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
|
|
448
|
-
+ thread.listMessages({ page: 0, perPage: 20 })
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
- # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
|
|
452
|
-
|
|
453
|
-
## Storage Layer
|
|
454
|
-
|
|
455
|
-
### BREAKING: Removed `storage.getMessages()`
|
|
456
|
-
|
|
457
|
-
The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
|
|
458
|
-
|
|
459
|
-
**Migration:**
|
|
460
|
-
|
|
461
|
-
```typescript
|
|
462
|
-
// Before
|
|
463
|
-
const messages = await storage.getMessages({ threadId: 'thread-1' });
|
|
464
|
-
|
|
465
|
-
// After
|
|
466
|
-
const result = await storage.listMessages({
|
|
467
|
-
threadId: 'thread-1',
|
|
468
|
-
page: 0,
|
|
469
|
-
perPage: 50,
|
|
470
|
-
});
|
|
471
|
-
const messages = result.messages; // Access messages array
|
|
472
|
-
console.log(result.total); // Total count
|
|
473
|
-
console.log(result.hasMore); // Whether more pages exist
|
|
474
|
-
```
|
|
475
|
-
|
|
476
|
-
### Message ordering default
|
|
477
|
-
|
|
478
|
-
`listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
|
|
479
|
-
|
|
480
|
-
**To use DESC ordering (newest first):**
|
|
481
|
-
|
|
482
|
-
```typescript
|
|
483
|
-
const result = await storage.listMessages({
|
|
484
|
-
threadId: 'thread-1',
|
|
485
|
-
orderBy: { field: 'createdAt', direction: 'DESC' },
|
|
486
|
-
});
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
## Client SDK
|
|
490
|
-
|
|
491
|
-
### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
|
|
492
|
-
|
|
493
|
-
**Migration:**
|
|
494
|
-
|
|
495
|
-
```typescript
|
|
496
|
-
// Before
|
|
497
|
-
const response = await client.getThreadMessages(threadId, { agentId });
|
|
498
|
-
|
|
499
|
-
// After
|
|
500
|
-
const response = await client.listThreadMessages(threadId, { agentId });
|
|
501
|
-
|
|
502
|
-
... 4410 more lines hidden. See full changelog in package directory.
|
|
502
|
+
... 4589 more lines hidden. See full changelog in package directory.
|