mastracode 0.25.0-alpha.5 → 0.25.0
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/CHANGELOG.md +257 -0
- package/dist/{chunk-CVFSV7RY.cjs → chunk-56DXOAGL.cjs} +3 -3
- package/dist/chunk-56DXOAGL.cjs.map +1 -0
- package/dist/{chunk-YWVAQSWV.js → chunk-A7QOOY25.js} +3 -3
- package/dist/chunk-A7QOOY25.js.map +1 -0
- package/dist/cli.cjs +5 -5
- package/dist/cli.js +1 -1
- package/dist/tui.cjs +11 -11
- package/dist/tui.js +1 -1
- package/package.json +12 -12
- package/dist/chunk-CVFSV7RY.cjs.map +0 -1
- package/dist/chunk-YWVAQSWV.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,262 @@
|
|
|
1
1
|
# mastracode
|
|
2
2
|
|
|
3
|
+
## 0.25.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added ACP server mode for `mastracode`. ([#18231](https://github.com/mastra-ai/mastra/pull/18231))
|
|
8
|
+
|
|
9
|
+
You can now connect ACP-compatible editors and clients to `mastracode` over stdio. This lets clients start sessions, send prompts, and receive streamed responses.
|
|
10
|
+
|
|
11
|
+
**Example**
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
mastracode --acp
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
- Added automatic OpenAI subscription support for Stagehand browser automation. When a user has an active OpenAI subscription (authenticated via /login), Stagehand now uses the subscription credentials for its AI operations (act/extract/observe) instead of requiring a separate OPENAI_API_KEY. ([#18233](https://github.com/mastra-ai/mastra/pull/18233))
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Removed the deprecated `Harness.getState()` and `Harness.setState()` compatibility wrappers, along with the unused private `updateState`. Harness state has lived on the session for a while; these were thin proxies marked `@deprecated`. ([#18200](https://github.com/mastra-ai/mastra/pull/18200))
|
|
22
|
+
|
|
23
|
+
**Before**
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
const state = harness.getState();
|
|
27
|
+
await harness.setState({ count: 1 });
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**After**
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
const state = harness.session.state.get();
|
|
34
|
+
await harness.session.state.set({ count: 1 });
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This does not affect the tool-facing harness context, which continues to expose `state` / `getState` / `setState` / `updateState` alongside `session.state`.
|
|
38
|
+
|
|
39
|
+
`mastracode` is updated to set browser settings via `session.state.set()`.
|
|
40
|
+
|
|
41
|
+
- Moved the observational-memory model accessors off the Harness onto `session.om`. Reading and switching the observer/reflector models and reading observation/reflection thresholds now live on the session, next to the state they read and write. ([#18200](https://github.com/mastra-ai/mastra/pull/18200))
|
|
42
|
+
|
|
43
|
+
**Before**
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
const observer = harness.getObserverModelId();
|
|
47
|
+
await harness.switchObserverModel({ modelId: 'openai/gpt-4o' });
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**After**
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
const observer = harness.session.om.observer.modelId();
|
|
54
|
+
await harness.session.om.observer.switchModel({ modelId: 'openai/gpt-4o' });
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The accessors are grouped by role under `session.om.observer` and `session.om.reflector`, each exposing `modelId()`, `threshold()`, `resolvedModel()`, and `switchModel({ modelId })`.
|
|
58
|
+
|
|
59
|
+
Removed `Harness.getObserverModelId`, `getReflectorModelId`, `getObservationThreshold`, `getReflectionThreshold`, `getResolvedObserverModel`, `getResolvedReflectorModel`, `switchObserverModel`, and `switchReflectorModel`.
|
|
60
|
+
|
|
61
|
+
`mastracode` is updated to consume the new API: the `/om` command and status line now read and switch observer/reflector models via `session.om`.
|
|
62
|
+
|
|
63
|
+
- Moved the run-control surface off the Harness onto the `Session`. Sending messages and signals, steering, following up, aborting, responding to tool suspensions, and saving system reminders now live on the session that owns the run state they drive, instead of being delegated through the Harness. This is the final step of the single-session extraction series and a prerequisite for the upcoming multi-session (`createSession`) work: every per-session operation now lives on `Session`, while the Harness retains only genuinely shared machinery (agent, config builders, storage/lock gateway), which it injects into each session via the `SessionMachinery` provider. ([#18213](https://github.com/mastra-ai/mastra/pull/18213))
|
|
64
|
+
|
|
65
|
+
**Before**
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
await harness.sendMessage({ content: 'hello' });
|
|
69
|
+
harness.sendSignal({ content: 'steer the run' });
|
|
70
|
+
harness.abort();
|
|
71
|
+
await harness.respondToToolSuspension({ toolCallId, approved: true });
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**After**
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
const session = await harness.createSession();
|
|
78
|
+
await session.sendMessage({ content: 'hello' });
|
|
79
|
+
session.sendSignal({ content: 'steer the run' });
|
|
80
|
+
session.abort();
|
|
81
|
+
await session.respondToToolSuspension({ toolCallId, approved: true });
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Removed `Harness.sendMessage`, `Harness.sendSignal`, `Harness.sendNotificationSignal`, `Harness.steer`, `Harness.followUp`, `Harness.abort`, `Harness.respondToToolSuspension`, `Harness.saveSystemReminderMessage`, and `Harness.waitForCurrentThreadStreamIdle`. The `Session` reaches Harness-owned machinery through the injected `SessionMachinery` provider, so the heavy run loop is still constructed and owned by the Harness while being parameterized by the session it runs on.
|
|
85
|
+
|
|
86
|
+
`mastracode` is updated to consume the new API: the TUI run loop, slash-command dispatch, goal lifecycle, prompt handlers, and headless entry points all drive run-control through the session returned by `harness.createSession()`.
|
|
87
|
+
|
|
88
|
+
- The Harness event bus now lives on the Session. Each `Session` owns its own listeners and emit pipeline (`session.subscribe()` / internal `session.emit()`), so events emitted on one session are delivered only to that session's subscribers — never to another session's. This is the isolation foundation for serving a single Harness to multiple concurrent sessions (e.g. one Harness backing many channel threads). ([#18213](https://github.com/mastra-ai/mastra/pull/18213))
|
|
89
|
+
|
|
90
|
+
Breaking (Harness is under active development): `Harness.subscribe()` is removed. Subscribe on the session instead:
|
|
91
|
+
|
|
92
|
+
```diff
|
|
93
|
+
- harness.subscribe(listener)
|
|
94
|
+
+ harness.session.subscribe(listener)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Session subsystems (mode/model/om/permissions/subagents/state) no longer receive an injected `emit` callback — they emit directly to their session's bus. `mastracode` is updated to subscribe via `harness.session.subscribe()`.
|
|
98
|
+
|
|
99
|
+
- Replaced `Harness.switchModel()` with `harness.session.model.switch()`. Model switching now lives on the session, alongside the active mode/model state it already owns. ([#18197](https://github.com/mastra-ai/mastra/pull/18197))
|
|
100
|
+
|
|
101
|
+
**Before**
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
await harness.switchModel({ modelId: 'openai/gpt-5' });
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**After**
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
await harness.session.model.switch({ modelId: 'openai/gpt-5' });
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
- Replaced `Harness.switchMode()` with `harness.session.mode.switch()`. Switching modes now lives on the session, alongside the active mode/model state it already owns. ([#18197](https://github.com/mastra-ai/mastra/pull/18197))
|
|
114
|
+
|
|
115
|
+
**Before**
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
await harness.switchMode({ modeId: 'build' });
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**After**
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
await harness.session.mode.switch({ modeId: 'build' });
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
`mastracode` is updated to consume the new API: the TUI and headless callers now invoke `harness.session.mode.switch()` instead of the removed `harness.switchMode()`.
|
|
128
|
+
|
|
129
|
+
- Restored task list progress and history rendering behavior in Mastra Code. ([#18248](https://github.com/mastra-ai/mastra/pull/18248))
|
|
130
|
+
|
|
131
|
+
- Made the Harness a pure factory + shared-resource owner and removed its singleton session. The Harness no longer holds a `#session` field or exposes a `harness.session` getter; instead, callers create fully isolated sessions via `harness.createSession()`. Each session owns its own mode, model, state, thread, run-control, event bus, and stream engine, so a single Harness can now serve many concurrent sessions (e.g. one per user/thread in a server or channel adapter) without cross-session state or event leakage. ([#18213](https://github.com/mastra-ai/mastra/pull/18213))
|
|
132
|
+
|
|
133
|
+
`harness.createSession({ resourceId? })` constructs and wires a new `Session`, replays the current workspace status onto it, and selects or creates its thread before returning. Harness methods that previously read the singleton session are now parameterized by an explicit `session` argument (`setResourceId`, `getKnownResourceIds`, `getCurrentModelAuthStatus`, `loadOMProgress`, `getObservationalMemoryRecord`, `destroy`). `harness.init()` is now idempotent, so repeated calls reuse the same initialization instead of rebuilding internal state.
|
|
134
|
+
|
|
135
|
+
**Before**
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
const harness = new Harness(config);
|
|
139
|
+
await harness.init();
|
|
140
|
+
const session = harness.session; // singleton
|
|
141
|
+
await session.sendMessage({ content: 'hello' });
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**After**
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
const harness = new Harness(config);
|
|
148
|
+
await harness.init();
|
|
149
|
+
const session = await harness.createSession({ resourceId });
|
|
150
|
+
await session.sendMessage({ content: 'hello' });
|
|
151
|
+
|
|
152
|
+
// A second, fully isolated session from the same Harness:
|
|
153
|
+
const other = await harness.createSession({ resourceId: otherUser });
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Removed `harness.session`, `harness.getSession()`, the singleton `#session` field, and the deprecated `harness.subscribe`/`harness.emit`/`harness.memory` delegators.
|
|
157
|
+
|
|
158
|
+
`mastracode` is updated to consume the new API: composition roots call `createSession()` once at startup and store the result on `state.session`, and all per-session operations flow through that session object.
|
|
159
|
+
|
|
160
|
+
- Added a public ACP export so workflows can import the ACP agent with `import { MastraCodeAcpAgent } from 'mastracode/acp'`. ([#18367](https://github.com/mastra-ai/mastra/pull/18367))
|
|
161
|
+
|
|
162
|
+
- MastraCode now automatically retries transient ECONNRESET model stream failures with exponential backoff. Dropped provider sockets recover without manual intervention using a global policy of 2 retries with delays of 1000ms, 2000ms, and 4000ms (capped at 30000ms), applied to all model calls independent of model-pack settings. ([#18370](https://github.com/mastra-ai/mastra/pull/18370))
|
|
163
|
+
|
|
164
|
+
- Exported isBadRequestError matcher for detecting transient HTTP 400 errors that can be retried ([#18384](https://github.com/mastra-ai/mastra/pull/18384))
|
|
165
|
+
|
|
166
|
+
- Migrate TUI thread operations to the session-scoped `session.thread.*` APIs following the core thread lifecycle migration. ([#18213](https://github.com/mastra-ai/mastra/pull/18213))
|
|
167
|
+
|
|
168
|
+
- Added automatic retry (once) for transient OpenAI Bad Request (400) errors that occur during service degradation ([#18384](https://github.com/mastra-ai/mastra/pull/18384))
|
|
169
|
+
|
|
170
|
+
- Resolve notification stream options from the target resource's session (falling back to the active session's model, then the mode default) so a woken GitHub-signal notification always has a model to run with. ([#18213](https://github.com/mastra-ai/mastra/pull/18213))
|
|
171
|
+
|
|
172
|
+
- Moved the tool-permission rule accessors off the Harness onto `session.permissions`. Reading and writing the persisted per-category / per-tool approval policies now lives on the session, next to the state it reads and writes. ([#18200](https://github.com/mastra-ai/mastra/pull/18200))
|
|
173
|
+
|
|
174
|
+
**Before**
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
const rules = harness.getPermissionRules();
|
|
178
|
+
harness.setPermissionForCategory({ category: 'execute', policy: 'ask' });
|
|
179
|
+
harness.setPermissionForTool({ toolName: 'dangerous_tool', policy: 'deny' });
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**After**
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
const rules = harness.session.permissions.getRules();
|
|
186
|
+
await harness.session.permissions.setForCategory({ category: 'execute', policy: 'ask' });
|
|
187
|
+
await harness.session.permissions.setForTool({ toolName: 'dangerous_tool', policy: 'deny' });
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Removed `Harness.getPermissionRules`, `Harness.setPermissionForCategory`, and `Harness.setPermissionForTool`. The setters now return a promise that resolves once the change is persisted to session state, so callers that read the rules back can await the write. Tool-category resolution stays on the harness as `harness.getToolCategory()` since it reads harness config rather than session state.
|
|
191
|
+
|
|
192
|
+
`mastracode` is updated to consume the new API: the `/permissions` command reads and sets policies via `session.permissions`.
|
|
193
|
+
|
|
194
|
+
- Replaced `Harness.getModelName()` and `Harness.getFullModelId()` with session accessors. The full model id is read via the existing `harness.session.model.get()`, and the short display name moves to a new `harness.session.model.displayName()`. ([#18200](https://github.com/mastra-ai/mastra/pull/18200))
|
|
195
|
+
|
|
196
|
+
**Before**
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
const name = harness.getModelName();
|
|
200
|
+
const fullId = harness.getFullModelId();
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**After**
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
const name = harness.session.model.displayName();
|
|
207
|
+
const fullId = harness.session.model.get();
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
`mastracode` is updated to consume the new API: the TUI status line and message renderer now read the model id via `harness.session.model.get()`.
|
|
211
|
+
|
|
212
|
+
- Fix Stagehand AI ops (`observe`, `act`, `extract`) failing with `Bad Request` (HTTP 400) when the user is signed in to OpenAI Codex OAuth. ([#18399](https://github.com/mastra-ai/mastra/pull/18399))
|
|
213
|
+
|
|
214
|
+
Stagehand drives its browser actions through AI SDK's non-streaming `generateText`, but Codex's `/responses` backend only accepts streamed requests and replies with Server-Sent Events. The previous integration routed Stagehand traffic to Codex by rewriting the request URL inside a custom `fetch`, but did not translate between the streaming and non-streaming shapes — so every Stagehand AI call was rejected by Codex.
|
|
215
|
+
|
|
216
|
+
MastraCode now configures Stagehand with proper AI SDK provider options (`baseURL`, `headers`, `middleware`) and a dedicated `buildCodexStagehandFetch` that:
|
|
217
|
+
- Injects (and refreshes) the Codex OAuth bearer per call
|
|
218
|
+
- Forces `stream: true` on the outgoing request body
|
|
219
|
+
- Aggregates the SSE response into the non-streaming JSON shape `@ai-sdk/openai`'s Responses parser expects
|
|
220
|
+
|
|
221
|
+
The shared OAuth-bearer-refresh logic is extracted into a `getCodexBearer` helper used by both the main agent fetch and the Stagehand fetch.
|
|
222
|
+
|
|
223
|
+
`observe`, `act`, and `extract` now work end-to-end against Codex OAuth using a Codex-compatible OpenAI model, with no `OPENAI_API_KEY` required.
|
|
224
|
+
|
|
225
|
+
- Fixed ACP server mode so sessions can start, receive prompts, and handle tool approvals after the Harness session changes. ([#18367](https://github.com/mastra-ai/mastra/pull/18367))
|
|
226
|
+
|
|
227
|
+
- Fixed Mastra Code steering display so messages wait for runtime acceptance, blocked inputs are shown as blocked instead of chat, abort cleanup removes pending steering without duplicating output, and plan approvals continue correctly in same-mode and cross-mode flows. ([#18183](https://github.com/mastra-ai/mastra/pull/18183))
|
|
228
|
+
|
|
229
|
+
- Fixed thread loading in worktrees to only show threads explicitly tagged for the current worktree path, preventing threads from other worktrees or the main repo from being incorrectly loaded on startup ([#18332](https://github.com/mastra-ai/mastra/pull/18332))
|
|
230
|
+
|
|
231
|
+
- Moved the subagent model accessors off the Harness onto `session.subagents.model`. Reading and setting the global or per-`agentType` subagent model now lives on the session, next to the state it reads and writes, and is grouped under `session.subagents` to leave room for future subagent settings. ([#18200](https://github.com/mastra-ai/mastra/pull/18200))
|
|
232
|
+
|
|
233
|
+
**Before**
|
|
234
|
+
|
|
235
|
+
```typescript
|
|
236
|
+
const modelId = harness.getSubagentModelId({ agentType: 'explore' });
|
|
237
|
+
await harness.setSubagentModelId({ modelId: 'anthropic/claude-sonnet-4', agentType: 'explore' });
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**After**
|
|
241
|
+
|
|
242
|
+
```typescript
|
|
243
|
+
const modelId = harness.session.subagents.model.get({ agentType: 'explore' });
|
|
244
|
+
await harness.session.subagents.model.set({ modelId: 'anthropic/claude-sonnet-4', agentType: 'explore' });
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
`get()` prefers the per-`agentType` value, then the global subagent model, returning `null` when neither is set. `set()` persists to thread settings and emits a `subagent_model_changed` event. Removed `Harness.getSubagentModelId` and `Harness.setSubagentModelId`.
|
|
248
|
+
|
|
249
|
+
`mastracode` is updated to consume the new API: the `/subagents` command, model-pack activation, and startup model restoration read and set subagent models via `session.subagents.model`.
|
|
250
|
+
|
|
251
|
+
- Updated dependencies [[`5bd72d2`](https://github.com/mastra-ai/mastra/commit/5bd72d255f45b5ea8ab342643bd463814a980a24), [`1cc9ee1`](https://github.com/mastra-ai/mastra/commit/1cc9ee1ba51db53020a735626d33017a60b4b5b3), [`417baae`](https://github.com/mastra-ai/mastra/commit/417baae40b995db5819c845036947f0c27dc1c00), [`b4a43c7`](https://github.com/mastra-ai/mastra/commit/b4a43c705c961d24c9888690ae84451ca1630197), [`65f255a`](https://github.com/mastra-ai/mastra/commit/65f255a38667beb6ceeadabfa9eb5059bfec8298), [`74955f9`](https://github.com/mastra-ai/mastra/commit/74955f9120cde8b1d8ce4399232b4033236be858), [`30ebaf0`](https://github.com/mastra-ai/mastra/commit/30ebaf07bed5f4d30f2f257836c15d1bf7e40aae), [`5704634`](https://github.com/mastra-ai/mastra/commit/5704634b22133167dea337a942a34f57aaa3fa14), [`5c4e9a4`](https://github.com/mastra-ai/mastra/commit/5c4e9a4cfb2216bb3ea7f8988ad3727f3b92bb3a), [`4a88c6e`](https://github.com/mastra-ai/mastra/commit/4a88c6e2bdce316f8d7551b4ec3449b0b06fc71c), [`417baae`](https://github.com/mastra-ai/mastra/commit/417baae40b995db5819c845036947f0c27dc1c00), [`74955f9`](https://github.com/mastra-ai/mastra/commit/74955f9120cde8b1d8ce4399232b4033236be858), [`74955f9`](https://github.com/mastra-ai/mastra/commit/74955f9120cde8b1d8ce4399232b4033236be858), [`25961e3`](https://github.com/mastra-ai/mastra/commit/25961e3260ff3b1464637af8fcdb36210551c39f), [`6a1428a`](https://github.com/mastra-ai/mastra/commit/6a1428a23133fc070fc6c1caa08d28f3ba4fe5ff), [`87a17ef`](https://github.com/mastra-ai/mastra/commit/87a17efbd725aca6639febdc5e69e2abb3048689), [`e11ff30`](https://github.com/mastra-ai/mastra/commit/e11ff301408bf1731dca2fb7fbfcd8c819500a35), [`7794d71`](https://github.com/mastra-ai/mastra/commit/7794d71872c68733a30e028dfb7b1705daf6c5d2), [`9d2c946`](https://github.com/mastra-ai/mastra/commit/9d2c946d0859e90ae4bcec5beeb1da7398d2ad1e), [`c0eda2b`](https://github.com/mastra-ai/mastra/commit/c0eda2bcd91a228427314b12c91d8b147f3a739f), [`7b29f33`](https://github.com/mastra-ai/mastra/commit/7b29f332a357a83e555f29e718e5f2fab9979943), [`c0eda2b`](https://github.com/mastra-ai/mastra/commit/c0eda2bcd91a228427314b12c91d8b147f3a739f), [`b13925b`](https://github.com/mastra-ai/mastra/commit/b13925bfa91aa8700f56fa54a9ce707ee7e4ba62), [`f1ec385`](https://github.com/mastra-ai/mastra/commit/f1ec385386f62b1a0847ec5353ae2bb169d1c3d9), [`e14986f`](https://github.com/mastra-ai/mastra/commit/e14986f6e5478d6384d04ff9a7f9a79a46a8b529), [`24912b1`](https://github.com/mastra-ai/mastra/commit/24912b1f855d29ec36af4ef4bde1f7417e20cdf5), [`bf94ec6`](https://github.com/mastra-ai/mastra/commit/bf94ec68192d9f16e46ef7e5ac36370aeeddf35d), [`a29f371`](https://github.com/mastra-ai/mastra/commit/a29f371aef629ac8562661524a497127e93b5131), [`7686216`](https://github.com/mastra-ai/mastra/commit/7686216f37e74568feddec17cef3c3d24e10e60a), [`6075e17`](https://github.com/mastra-ai/mastra/commit/6075e173c4f11b889df5a592e0a708d6307220eb), [`74955f9`](https://github.com/mastra-ai/mastra/commit/74955f9120cde8b1d8ce4399232b4033236be858), [`073f910`](https://github.com/mastra-ai/mastra/commit/073f910481e7d94b95ba3830f96531774ae95d33), [`0be490f`](https://github.com/mastra-ai/mastra/commit/0be490fabb538c5a7de796ea0aff7d04a0bea1f3), [`0be490f`](https://github.com/mastra-ai/mastra/commit/0be490fabb538c5a7de796ea0aff7d04a0bea1f3), [`ebbe1d3`](https://github.com/mastra-ai/mastra/commit/ebbe1d31a965a3adb0e728758f326b8122b4b55f), [`974f614`](https://github.com/mastra-ai/mastra/commit/974f614e083bd68278536f94453f7b320b86a3c7), [`25961e3`](https://github.com/mastra-ai/mastra/commit/25961e3260ff3b1464637af8fcdb36210551c39f), [`3818814`](https://github.com/mastra-ai/mastra/commit/38188149ce454c4403fe9fcbdf73b735c68d36be), [`25d1854`](https://github.com/mastra-ai/mastra/commit/25d18545337e615f3fc573ddbfc0c413157bd148), [`975c59a`](https://github.com/mastra-ai/mastra/commit/975c59ae363ee275fc55062392e1ffd2cbccbd53), [`1f97ce5`](https://github.com/mastra-ai/mastra/commit/1f97ce5695463bebb4eaacf501da6fb403e20885), [`74955f9`](https://github.com/mastra-ai/mastra/commit/74955f9120cde8b1d8ce4399232b4033236be858), [`7f51548`](https://github.com/mastra-ai/mastra/commit/7f515481213780be7047cef00640b9d35f3d545c), [`64f58c0`](https://github.com/mastra-ai/mastra/commit/64f58c04e78b40137497d47f781e897e416f22a5), [`74955f9`](https://github.com/mastra-ai/mastra/commit/74955f9120cde8b1d8ce4399232b4033236be858), [`42b13ad`](https://github.com/mastra-ai/mastra/commit/42b13ad9d92a9d72ea6e96a8c87bf83797167eac), [`ebbe1d3`](https://github.com/mastra-ai/mastra/commit/ebbe1d31a965a3adb0e728758f326b8122b4b55f), [`d95f394`](https://github.com/mastra-ai/mastra/commit/d95f394fd24c8411886930d727679c4d5252aa26), [`417baae`](https://github.com/mastra-ai/mastra/commit/417baae40b995db5819c845036947f0c27dc1c00), [`b89fbd1`](https://github.com/mastra-ai/mastra/commit/b89fbd15bfdceeee469651c81133f70cc22a6fb9), [`cff28df`](https://github.com/mastra-ai/mastra/commit/cff28df33476e41c9538cf9dba7fc8013d69ebb1), [`8e25a78`](https://github.com/mastra-ai/mastra/commit/8e25a78e0597575f0b0729bae8c5e190c84869b5), [`417baae`](https://github.com/mastra-ai/mastra/commit/417baae40b995db5819c845036947f0c27dc1c00), [`f3f0c9d`](https://github.com/mastra-ai/mastra/commit/f3f0c9d7c878db5a13177871ce3523a14f14b311), [`a5b22d3`](https://github.com/mastra-ai/mastra/commit/a5b22d314d62a68d801886a8d3d0eb6c089473db), [`31be1cf`](https://github.com/mastra-ai/mastra/commit/31be1cf5f2a7b5eef12f6123a40653b4d8115c16), [`31be1cf`](https://github.com/mastra-ai/mastra/commit/31be1cf5f2a7b5eef12f6123a40653b4d8115c16), [`417baae`](https://github.com/mastra-ai/mastra/commit/417baae40b995db5819c845036947f0c27dc1c00), [`74955f9`](https://github.com/mastra-ai/mastra/commit/74955f9120cde8b1d8ce4399232b4033236be858), [`74955f9`](https://github.com/mastra-ai/mastra/commit/74955f9120cde8b1d8ce4399232b4033236be858)]:
|
|
252
|
+
- @mastra/core@1.46.0
|
|
253
|
+
- @mastra/pg@1.14.1
|
|
254
|
+
- @mastra/github-signals@0.2.1
|
|
255
|
+
- @mastra/libsql@1.14.1
|
|
256
|
+
- @mastra/memory@1.21.1
|
|
257
|
+
- @mastra/observability@1.15.1
|
|
258
|
+
- @mastra/mcp@1.12.0
|
|
259
|
+
|
|
3
260
|
## 0.25.0-alpha.5
|
|
4
261
|
|
|
5
262
|
### Patch Changes
|
|
@@ -1202,7 +1202,7 @@ function getInstallCommand(pm, version) {
|
|
|
1202
1202
|
}
|
|
1203
1203
|
function getCurrentVersion() {
|
|
1204
1204
|
{
|
|
1205
|
-
return "0.25.0
|
|
1205
|
+
return "0.25.0";
|
|
1206
1206
|
}
|
|
1207
1207
|
}
|
|
1208
1208
|
async function fetchLatestVersion() {
|
|
@@ -19231,5 +19231,5 @@ exports.createTUIState = createTUIState;
|
|
|
19231
19231
|
exports.detectTerminalTheme = detectTerminalTheme;
|
|
19232
19232
|
exports.formatOMStatus = formatOMStatus;
|
|
19233
19233
|
exports.getCurrentVersion = getCurrentVersion;
|
|
19234
|
-
//# sourceMappingURL=chunk-
|
|
19235
|
-
//# sourceMappingURL=chunk-
|
|
19234
|
+
//# sourceMappingURL=chunk-56DXOAGL.cjs.map
|
|
19235
|
+
//# sourceMappingURL=chunk-56DXOAGL.cjs.map
|