mastra 1.9.0-alpha.7 → 1.9.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 +441 -0
- package/dist/analytics/index.js +3 -1
- package/dist/api-C4LNCE5C.js +4 -0
- package/dist/api-C4LNCE5C.js.map +1 -0
- package/dist/{chunk-XYLR4T2Z.js → chunk-47DYOQCB.js} +314 -41
- package/dist/chunk-47DYOQCB.js.map +1 -0
- package/dist/{chunk-IWBPL7VB.js → chunk-4Z57PBTZ.js} +3 -3
- package/dist/{chunk-IWBPL7VB.js.map → chunk-4Z57PBTZ.js.map} +1 -1
- package/dist/{chunk-CFGTYG4J.js → chunk-EXG3XKBK.js} +16 -12
- package/dist/chunk-EXG3XKBK.js.map +1 -0
- package/dist/{chunk-XXPK7INX.js → chunk-L2SGSIJI.js} +3 -3
- package/dist/{chunk-XXPK7INX.js.map → chunk-L2SGSIJI.js.map} +1 -1
- package/dist/{chunk-SNSX7USI.js → chunk-TZD66T6S.js} +62 -8
- package/dist/chunk-TZD66T6S.js.map +1 -0
- package/dist/commands/actions/create-project.d.ts +2 -0
- package/dist/commands/actions/create-project.d.ts.map +1 -1
- package/dist/commands/actions/init-project.d.ts +2 -0
- package/dist/commands/actions/init-project.d.ts.map +1 -1
- package/dist/commands/actions/lint-project.d.ts +6 -0
- package/dist/commands/actions/lint-project.d.ts.map +1 -1
- package/dist/commands/api/route-metadata.generated.d.ts +12 -121
- package/dist/commands/api/route-metadata.generated.d.ts.map +1 -1
- package/dist/commands/auth/credentials.d.ts +1 -0
- package/dist/commands/auth/credentials.d.ts.map +1 -1
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/orgs.d.ts +21 -0
- package/dist/commands/auth/orgs.d.ts.map +1 -1
- package/dist/commands/create/create.d.ts +2 -0
- package/dist/commands/create/create.d.ts.map +1 -1
- package/dist/commands/create/create.js +5 -2
- package/dist/commands/create/utils.d.ts +4 -1
- package/dist/commands/create/utils.d.ts.map +1 -1
- package/dist/commands/deploy-preflight.d.ts +35 -0
- package/dist/commands/deploy-preflight.d.ts.map +1 -0
- package/dist/commands/init/init.d.ts +10 -1
- package/dist/commands/init/init.d.ts.map +1 -1
- package/dist/commands/init/observability-provision.d.ts +46 -0
- package/dist/commands/init/observability-provision.d.ts.map +1 -0
- package/dist/commands/init/utils.d.ts +29 -0
- package/dist/commands/init/utils.d.ts.map +1 -1
- package/dist/commands/lint/index.d.ts +23 -2
- package/dist/commands/lint/index.d.ts.map +1 -1
- package/dist/commands/lint/rules/mastraCoreRule.d.ts.map +1 -1
- package/dist/commands/lint/rules/nextConfigRule.d.ts.map +1 -1
- package/dist/commands/lint/rules/tsConfigRule.d.ts.map +1 -1
- package/dist/commands/lint/rules/types.d.ts +10 -6
- package/dist/commands/lint/rules/types.d.ts.map +1 -1
- package/dist/commands/server/deploy.d.ts +8 -0
- package/dist/commands/server/deploy.d.ts.map +1 -1
- package/dist/commands/studio/deploy.d.ts +8 -0
- package/dist/commands/studio/deploy.d.ts.map +1 -1
- package/dist/commands/studio/projects.d.ts.map +1 -1
- package/dist/credentials-EGXLGJFI.js +4 -0
- package/dist/{credentials-W3RRLQGU.js.map → credentials-EGXLGJFI.js.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +4 -4
- package/dist/docs/references/reference-cli-mastra.md +33 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4338 -4175
- package/dist/index.js.map +1 -1
- package/dist/studio/assets/{index-BpJNllbo.js → index-B2Kjoexn.js} +1 -1
- package/dist/studio/assets/{index-C6B6E635.js → index-BKCXdwzN.js} +1 -1
- package/dist/studio/assets/{index-CNq7kqBW.js → index-BLcjScJQ.js} +1 -1
- package/dist/studio/assets/{index-DtEhQPaU.js → index-BNbRFtES.js} +1 -1
- package/dist/studio/assets/{index-DF5iXdx3.js → index-BQM0B3Yu.js} +1 -1
- package/dist/studio/assets/{index-BFsDiTnF.js → index-BgnKIsIs.js} +1 -1
- package/dist/studio/assets/{index-59HIjyzf.js → index-Bt0ZpYCg.js} +1 -1
- package/dist/studio/assets/{index-qZ1jNTeH.js → index-CDjxPkI6.js} +1 -1
- package/dist/studio/assets/{index-pdjryelw.js → index-CTgCMrcV.js} +1 -1
- package/dist/studio/assets/{index-DzrElQ0u.js → index-CezxKApF.js} +1 -1
- package/dist/studio/assets/{index-sOI40k8x.js → index-DDMUDnRZ.js} +1 -1
- package/dist/studio/assets/{index-CueDIRtZ.js → index-Dp_SqeRt.js} +1 -1
- package/dist/studio/assets/{index-D4JRKj5S.js → index-DyR-ZHgs.js} +1 -1
- package/dist/studio/assets/{index-VTq4Aj--.js → index-DybDG8dE.js} +1 -1
- package/dist/studio/assets/{index-B-VeBUC9.js → index-JmIi7w_c.js} +1 -1
- package/dist/studio/assets/{index-LO3_dfGw.js → index-OfT_DHC3.js} +1 -1
- package/dist/studio/assets/{index-BjWAqTDt.js → index-q5ls1Ctm.js} +1 -1
- package/dist/studio/assets/{index-B4muIpPm.js → index-qAMgL7a1.js} +1 -1
- package/dist/studio/assets/{main-D1e3Iz6W.js → main-D5p0mb31.js} +380 -297
- package/dist/studio/assets/style-DtiXTyRw.css +1 -0
- package/dist/studio/index.html +2 -2
- package/package.json +8 -8
- package/dist/api-FDFPLDYS.js +0 -4
- package/dist/api-FDFPLDYS.js.map +0 -1
- package/dist/chunk-CFGTYG4J.js.map +0 -1
- package/dist/chunk-SNSX7USI.js.map +0 -1
- package/dist/chunk-XYLR4T2Z.js.map +0 -1
- package/dist/credentials-W3RRLQGU.js +0 -4
- package/dist/studio/assets/style-OvE4uHX1.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,446 @@
|
|
|
1
1
|
# mastra
|
|
2
2
|
|
|
3
|
+
## 1.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added preflight checks to mastra lint with --preflight and removed the verify command. ([#16470](https://github.com/mastra-ai/mastra/pull/16470))
|
|
8
|
+
|
|
9
|
+
- Add "Enable Mastra Observability? (will open auth flow)" prompt to `create-mastra` and `mastra init`. ([#15728](https://github.com/mastra-ai/mastra/pull/15728))
|
|
10
|
+
|
|
11
|
+
When the user opts in, the CLI runs the interactive browser login flow (if not already authenticated), lets them pick an existing project or create a new one, mints a fresh organization access token, and writes `MASTRA_PLATFORM_ACCESS_TOKEN` + `MASTRA_PROJECT_ID` to `.env`. The generated project already registers a `MastraPlatformExporter`, so no additional setup is needed to start sending traces.
|
|
12
|
+
|
|
13
|
+
`MASTRA_PLATFORM_ACCESS_TOKEN` replaces `MASTRA_CLOUD_ACCESS_TOKEN`. The old name is still read by the exporter for backwards compatibility but is deprecated.
|
|
14
|
+
|
|
15
|
+
If provisioning fails (e.g., the platform is unreachable), the command falls back to writing placeholder env vars with instructions.
|
|
16
|
+
|
|
17
|
+
Both commands also accept `--observability` / `--no-observability` flags for non-interactive use, and `--observability-project <name>` to bypass the project picker.
|
|
18
|
+
|
|
19
|
+
- Added `mastra api`, a machine-readable runtime CLI for calling Mastra server resources with JSON input and output. ([#16128](https://github.com/mastra-ai/mastra/pull/16128))
|
|
20
|
+
|
|
21
|
+
The new API CLI supports agents, workflows, tools, MCP servers, memory threads, working memory, observability traces/logs/scores, datasets, and experiments. It includes schema-aware request handling so a single JSON input is split into path, query, and body fields based on server route contracts, plus ergonomic raw-input wrapping for tool execution.
|
|
22
|
+
|
|
23
|
+
Exposed a route-derived server API schema manifest at runtime and generated CLI route metadata from it, enabling `--schema` output, response-shape-aware normalization, and server-aligned pagination output.
|
|
24
|
+
|
|
25
|
+
- Updated the Studio observability UI with a filterable metrics dashboard and saved filter persistence. ([#15747](https://github.com/mastra-ai/mastra/pull/15747))
|
|
26
|
+
|
|
27
|
+
**Metrics dashboard filters**
|
|
28
|
+
|
|
29
|
+
The metrics page now includes a dimensional filter toolbar for `rootEntityType`, `entityName`, `entityId`, `tags`, `serviceName`, `environment`, and common identity/correlation IDs such as `threadId`, `resourceId`, `userId`, `organizationId`, `runId`, `sessionId`, `requestId`, and `experimentId`. Active metrics filters are reflected in the URL and can be saved to the Metrics page's own localStorage key.
|
|
30
|
+
|
|
31
|
+
**Memory card**
|
|
32
|
+
|
|
33
|
+
A new **Memory** card shows thread and resource activity in one tabbed card. Rows include run counts, token usage, and cost for the active date range and filters. The dashboard also restores the Total Threads and Total Resources KPI cards.
|
|
34
|
+
|
|
35
|
+
**Drilldowns**
|
|
36
|
+
|
|
37
|
+
Metrics cards can now link into Traces or Logs while preserving the active date range and relevant filters:
|
|
38
|
+
- Latency, Trace Volume, Token Usage by Agent, and Model Usage & Cost expose header drilldown actions.
|
|
39
|
+
- Token Usage by Agent, Trace Volume, and Model Usage & Cost rows/bars drill into Traces scoped to the clicked entity.
|
|
40
|
+
- Trace Volume error segments can drill into Logs with `level=error`.
|
|
41
|
+
- Memory rows drill into Traces scoped to the clicked `threadId` or `resourceId`.
|
|
42
|
+
- Latency chart points narrow Traces to the clicked time bucket.
|
|
43
|
+
|
|
44
|
+
Metrics-to-Traces drilldowns open the branch-oriented trace list so nested agent, workflow, and tool spans are visible. KPI cards remain non-clickable.
|
|
45
|
+
|
|
46
|
+
- Scope `mastra worker` as `build` / `start` / `dev` subcommands, mirroring the server's `mastra build` / `mastra start` / `mastra dev` shape. ([#16309](https://github.com/mastra-ai/mastra/pull/16309))
|
|
47
|
+
|
|
48
|
+
Previously `mastra worker [name]` both bundled and ran in one shot. Splitting it into discrete `build` and `start` steps makes the worker lifecycle match the server lifecycle: bundle once on CI, ship the artifact, then start it (with `[name]` setting `MASTRA_WORKERS`) on the target host.
|
|
49
|
+
|
|
50
|
+
**New surface:**
|
|
51
|
+
- `mastra worker build` — bundles a role-agnostic worker artifact.
|
|
52
|
+
- `mastra worker start [name]` — runs the built worker. `[name]` sets `MASTRA_WORKERS` for the spawned process.
|
|
53
|
+
- `mastra worker dev [name]` — build + start in one step (the closest equivalent of the old `mastra worker [name]`).
|
|
54
|
+
|
|
55
|
+
**Output location:** by default the worker bundle writes to `.mastra/output/index.mjs`, the same path as `mastra build`. In a split deployment (one host runs the server, another runs the worker) that's what you want — each host bundles only the role it ships. Running both `mastra build` and `mastra worker build` back-to-back in the same project will overwrite, by design.
|
|
56
|
+
|
|
57
|
+
If you want both bundles to coexist on disk in the same project, pass `--output-dir <path>` to `mastra worker build` to redirect the worker bundle anywhere — relative or absolute. When a custom path is given, `prepare` wipes only that target so adjacent build artifacts (including `.mastra/output/`) are left alone:
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
mastra build # writes .mastra/output/index.mjs (server)
|
|
61
|
+
mastra worker build --output-dir dist/worker # writes dist/worker/index.mjs
|
|
62
|
+
mastra worker start --dir dist/worker # runs the worker bundle from there
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Breaking change:** `mastra worker [name]` no longer works. Use `mastra worker dev [name]` for the same one-shot behavior, or split it into `mastra worker build` + `mastra worker start [name]` for production deployments.
|
|
66
|
+
|
|
67
|
+
- Worker review fixes: ([#16309](https://github.com/mastra-ai/mastra/pull/16309))
|
|
68
|
+
- Step-execution endpoint (`POST /workflows/:id/runs/:runId/steps/execute`) is
|
|
69
|
+
now gated by Mastra's standard `requiresAuth: true` + `authenticateToken`
|
|
70
|
+
pipeline rather than a parallel "worker secret" body field. The previously
|
|
71
|
+
introduced `workerSecret` config knob and `MASTRA_WORKER_SECRET` env var
|
|
72
|
+
have been removed (they were never released). To gate the endpoint on a
|
|
73
|
+
standalone-worker deployment, configure an auth provider on the server's
|
|
74
|
+
`Mastra` instance — without one the framework currently treats
|
|
75
|
+
`requiresAuth: true` as a no-op for this route.
|
|
76
|
+
- `HttpRemoteStrategy` now sends credentials as a normal `Authorization:
|
|
77
|
+
Bearer <token>` header. The token comes from the new
|
|
78
|
+
`MASTRA_WORKER_AUTH_TOKEN` env var or an explicit `auth` constructor option.
|
|
79
|
+
- Honor the caller's `abortSignal` in `HttpRemoteStrategy` by combining it
|
|
80
|
+
with the per-request timeout via `AbortSignal.any` (with a manual fallback
|
|
81
|
+
for runtimes that don't expose it).
|
|
82
|
+
- Implement comma-separated name filtering for the `MASTRA_WORKERS` env var.
|
|
83
|
+
`MASTRA_WORKERS=scheduler,backgroundTasks` now boots only those named
|
|
84
|
+
workers; `MASTRA_WORKERS=false` still disables all workers.
|
|
85
|
+
- Restore `Mastra.startEventEngine` / `stopEventEngine` as `@deprecated`
|
|
86
|
+
aliases for the renamed `startWorkers` / `stopWorkers`.
|
|
87
|
+
- `BackgroundTaskWorker` now subscribes to PubSub in `start()` instead of
|
|
88
|
+
`init()`, matching the lifecycle of the other workers and making
|
|
89
|
+
`isRunning` accurately reflect subscription state.
|
|
90
|
+
- `RedisStreamsPubSub` adds a `maxDeliveryAttempts` option (default 5) that
|
|
91
|
+
drops events after the configured number of failed deliveries instead of
|
|
92
|
+
redelivering forever, and replaces empty `catch {}` blocks with
|
|
93
|
+
`logger.warn`/`logger.debug` calls.
|
|
94
|
+
- `RedisStreamsPubSub.unsubscribe(topic, cb)` now honors the topic argument
|
|
95
|
+
so the same callback can be subscribed to multiple topics independently.
|
|
96
|
+
- `PullTransport` guards the async router callback against unhandled promise
|
|
97
|
+
rejections by attaching a `.catch` that nacks the message.
|
|
98
|
+
- Drop the dead `MASTRA_WORKER_NAME` env var injection in the CLI worker
|
|
99
|
+
spawn (the bundle entrypoint already passes the worker name directly).
|
|
100
|
+
- Add a real cross-process e2e auth suite
|
|
101
|
+
(`pubsub/redis-streams/src/auth-e2e.test.ts`) covering happy path, wrong
|
|
102
|
+
token, missing token, anonymous direct hits, and the no-auth-provider
|
|
103
|
+
pin-down behavior.
|
|
104
|
+
- Step-execution route now has a response schema, satisfying
|
|
105
|
+
`schema-consistency.test.ts`.
|
|
106
|
+
- Internal type cleanups (drop several `as any` casts in worker strategies
|
|
107
|
+
and `BackgroundTaskWorker`).
|
|
108
|
+
- `RedisStreamsPubSub.maxDeliveryAttempts` now rejects negative / NaN values
|
|
109
|
+
at construction. `0` still means "no cap" for back-compat but emits a
|
|
110
|
+
one-time warning; pass `Infinity` to disable the cap explicitly.
|
|
111
|
+
- `PullTransport` accepts a logger and uses it for unhandled router-callback
|
|
112
|
+
rejections instead of `console.error`.
|
|
113
|
+
- `BackgroundTaskWorker.start()` now throws if `init()` was not called,
|
|
114
|
+
matching the contract of the other workers.
|
|
115
|
+
- Cross-process integration tests now spawn a single user-owned project
|
|
116
|
+
(`test-fixtures/cli-project/src/mastra/index.ts`) through two generic
|
|
117
|
+
entries that mirror what `BuildBundler` and `WorkerBundler` emit. The
|
|
118
|
+
previous one-off `server.entry.ts` / `worker.entry.ts` /
|
|
119
|
+
`scheduler.entry.ts` / `background.entry.ts` files have been deleted —
|
|
120
|
+
they implied users hand-roll entry files, which they don't. Worker role
|
|
121
|
+
is selected via `MASTRA_WORKERS` exactly as in production.
|
|
122
|
+
|
|
123
|
+
Push-capable PubSub:
|
|
124
|
+
- The `PubSub` abstract class now declares a `supportedModes` getter
|
|
125
|
+
(defaulting to `['pull']` for backward compatibility) so consumers can
|
|
126
|
+
tell whether a broker delivers events through a pull loop, an in-process
|
|
127
|
+
push, or an out-of-process HTTP push. `EventEmitterPubSub` reports
|
|
128
|
+
`['pull', 'push']` (EventEmitter dispatches synchronously and works for
|
|
129
|
+
either path), `@mastra/redis-streams` reports `['pull']`.
|
|
130
|
+
- `Mastra` now exposes a public `handleWorkflowEvent(event)` method backed
|
|
131
|
+
by a shared `WorkflowEventProcessor`. It is the single entry point used
|
|
132
|
+
by the existing pull-mode `OrchestrationWorker`, by in-process push
|
|
133
|
+
pubsubs (auto-wired during `startWorkers()`), and by the new
|
|
134
|
+
`POST /api/workflows/events` route which lets push-mode brokers (GCP
|
|
135
|
+
Pub/Sub push, SNS, EventBridge) deliver events over HTTP.
|
|
136
|
+
- When the configured pubsub does not support `'pull'`, Mastra
|
|
137
|
+
automatically skips creating an `OrchestrationWorker` and
|
|
138
|
+
`OrchestrationWorker.init()` throws a clear error if it is constructed
|
|
139
|
+
against a push-only pubsub.
|
|
140
|
+
- `WorkflowEventProcessor` gains a `handle(event)` method that returns a
|
|
141
|
+
structured `{ ok, retry }` result. The original `process(event, ack?)`
|
|
142
|
+
method is preserved as a thin wrapper for back-compat.
|
|
143
|
+
|
|
144
|
+
Public-API example for a push-capable PubSub:
|
|
145
|
+
|
|
146
|
+
```ts
|
|
147
|
+
import { Mastra } from '@mastra/core/mastra';
|
|
148
|
+
import { EventEmitterPubSub } from '@mastra/core/pubsub';
|
|
149
|
+
|
|
150
|
+
const mastra = new Mastra({
|
|
151
|
+
// A push-capable broker (GCP Pub/Sub push, SNS, EventEmitter, …).
|
|
152
|
+
// EventEmitterPubSub reports supportedModes = ['pull', 'push'].
|
|
153
|
+
pubsub: new EventEmitterPubSub(),
|
|
154
|
+
workflows: { myWorkflow },
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// In-process push pubsubs are auto-wired here. For out-of-process
|
|
158
|
+
// push (e.g. HTTP webhook from a cloud broker), POST the event to
|
|
159
|
+
// /api/workflows/events on your Mastra server instead.
|
|
160
|
+
await mastra.startWorkers();
|
|
161
|
+
|
|
162
|
+
// Direct invocation (e.g. inside an HTTP handler that bridges from a
|
|
163
|
+
// cloud broker's push delivery):
|
|
164
|
+
await mastra.handleWorkflowEvent({
|
|
165
|
+
id: 'evt-1',
|
|
166
|
+
type: 'workflow.start',
|
|
167
|
+
runId: 'run-1',
|
|
168
|
+
createdAt: new Date(),
|
|
169
|
+
data: { workflowId: 'myWorkflow', inputData: { name: 'world' } },
|
|
170
|
+
});
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
CI follow-ups:
|
|
174
|
+
- `Mastra` only auto-registers `SchedulerWorker` when storage is configured.
|
|
175
|
+
Without storage the worker would crash on startup (`deps.storage.getStore`
|
|
176
|
+
on undefined); the scheduler now silently no-ops in that case, matching the
|
|
177
|
+
pre-worker scheduler behavior.
|
|
178
|
+
- `SchedulerWorker.init` defensively logs and returns when called without
|
|
179
|
+
storage instead of throwing a TypeError.
|
|
180
|
+
- `RECEIVE_WORKFLOW_EVENT_ROUTE` (`POST /workflows/events`) `createdAt` is
|
|
181
|
+
now a plain `z.string()` on the wire and the handler converts it to a
|
|
182
|
+
`Date` (validating "Invalid Date" -> 400). The previous
|
|
183
|
+
`union(...).transform().refine()` schema couldn't be exercised by the
|
|
184
|
+
shared adapter test suite because the generator didn't unwrap Zod 4's
|
|
185
|
+
`ZodPipe`.
|
|
186
|
+
- `_test-utils/route-test-utils` recognizes Zod 4's `number_format` check
|
|
187
|
+
(used for `int()` / `safeint()`), and `generateContextualValue` now
|
|
188
|
+
produces a valid ISO timestamp for `createdAt` / `updatedAt` fields.
|
|
189
|
+
|
|
190
|
+
### Patch Changes
|
|
191
|
+
|
|
192
|
+
- Start the Mastra Platform auth flow immediately after users opt in to observability during `create mastra` and `mastra init`, then reuse that token when provisioning the observability project. ([#16502](https://github.com/mastra-ai/mastra/pull/16502))
|
|
193
|
+
|
|
194
|
+
- Updated the generated project template and runtime bootstrap to use `MastraStorageExporter` and `MastraPlatformExporter` from `@mastra/observability`. ([#16223](https://github.com/mastra-ai/mastra/pull/16223))
|
|
195
|
+
|
|
196
|
+
- `mastra studio deploy` and `mastra server deploy` now read `MASTRA_PROJECT_ID` and `MASTRA_ORG_ID` from the project's `.env` file, so projects scaffolded with Mastra Observability auto-link to the existing platform project on first deploy instead of creating a new one. Existing `process.env` values still take precedence. ([#15728](https://github.com/mastra-ai/mastra/pull/15728))
|
|
197
|
+
|
|
198
|
+
- Add pre-deploy validation (preflight) to `mastra studio deploy` and `mastra server deploy` that inspects the built bundle before upload and surfaces likely deployment failures locally. ([#16317](https://github.com/mastra-ai/mastra/pull/16317))
|
|
199
|
+
|
|
200
|
+
**What it checks**
|
|
201
|
+
- **Missing env vars** (warning) — `process.env.FOO` references in the bundle that aren't satisfied by the resolved `.env`/`.env.local` (or `--env-file`). Common platform/runtime/tooling vars (`PORT`, `NODE_ENV`, `MASTRA_*`, `OTEL_*`, `DEBUG`, etc.) are allowlisted.
|
|
202
|
+
- **Local storage paths** (error) — SQLite/file URLs (`file:./mastra.db`, `sqlite://...`) and `localhost`/`127.0.0.1` connection strings that won't survive on a remote container.
|
|
203
|
+
|
|
204
|
+
**How it runs**
|
|
205
|
+
- Runs after the local build (or after `--skip-build` when `.mastra/output/index.mjs` already exists), before zipping/uploading.
|
|
206
|
+
- Errors always block the deploy and exit non-zero (so CI surfaces them as a real failure). Warnings prompt for confirmation in interactive mode and pass through silently in `--yes` / headless mode; declining the prompt cancels with exit code 0.
|
|
207
|
+
- Opt out entirely with `--skip-preflight` or `MASTRA_SKIP_PREFLIGHT=1`.
|
|
208
|
+
|
|
209
|
+
- Fixed peer dependency ranges so packages that use the Mastra server require a compatible Mastra core version. ([#16208](https://github.com/mastra-ai/mastra/pull/16208))
|
|
210
|
+
|
|
211
|
+
- Improved `mastra auth login` to skip the browser flow when an existing token is still valid (or can be refreshed) and surface the logged-in user's email. ([#16512](https://github.com/mastra-ai/mastra/pull/16512))
|
|
212
|
+
|
|
213
|
+
The `mastra create` observability prompt also prints the logged-in user when authentication resolves from cached credentials, so you can confirm which account you're about to enable observability for.
|
|
214
|
+
|
|
215
|
+
- Fixed Next.js config linting so project config files are parsed without executing code. #16180 ([#16184](https://github.com/mastra-ai/mastra/pull/16184))
|
|
216
|
+
|
|
217
|
+
- **Added** new local `thread-list` component used by chat threads, replacing the removed `Threads` exports from `@mastra/playground-ui`. ([#16433](https://github.com/mastra-ai/mastra/pull/16433))
|
|
218
|
+
|
|
219
|
+
**Improved** agent header, agent information panel, agent playground view, version bar, page tabs, and workflow information/run list with refined layouts and consistent use of design system primitives.
|
|
220
|
+
|
|
221
|
+
**Improved** chat composer with a subtle send animation and refined border treatment for better feedback when submitting a message.
|
|
222
|
+
|
|
223
|
+
- dependencies updates: ([#16399](https://github.com/mastra-ai/mastra/pull/16399))
|
|
224
|
+
- Updated dependency [`@babel/parser@^7.29.3` ↗︎](https://www.npmjs.com/package/@babel/parser/v/7.29.3) (from `^7.28.4`, in `dependencies`)
|
|
225
|
+
- Updated dependency [`@babel/types@^7.29.0` ↗︎](https://www.npmjs.com/package/@babel/types/v/7.29.0) (from `^7.28.4`, in `dependencies`)
|
|
226
|
+
|
|
227
|
+
- Add `mastra verify` command — validate that a Mastra project is ready to deploy without uploading anything. ([#16443](https://github.com/mastra-ai/mastra/pull/16443))
|
|
228
|
+
|
|
229
|
+
`mastra verify` runs the same preflight checks as `mastra studio deploy` and `mastra server deploy` (missing env vars, host-local storage paths) but stops after reporting issues. Useful as a CI gate, a pre-commit hook, or while iterating locally.
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# basic usage — runs `mastra build` then validates
|
|
233
|
+
mastra verify
|
|
234
|
+
|
|
235
|
+
# skip the build step and check the existing .mastra/output
|
|
236
|
+
mastra verify --skip-build
|
|
237
|
+
|
|
238
|
+
# validate against a specific env file
|
|
239
|
+
mastra verify --env-file .env.production
|
|
240
|
+
|
|
241
|
+
# treat warnings as errors (good for CI)
|
|
242
|
+
mastra verify --strict
|
|
243
|
+
|
|
244
|
+
# machine-readable output for CI tooling
|
|
245
|
+
mastra verify --json
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Exit codes:
|
|
249
|
+
- `0` — preflight passed (no issues, or warnings only)
|
|
250
|
+
- `1` — at least one error-severity issue, or any issue in `--strict` mode
|
|
251
|
+
|
|
252
|
+
- Mastra Observability provisioning now creates new platform projects as observability-only (no Studio or Server runtime attached). The first `mastra studio deploy` or `mastra server deploy` flips the matching runtime flag, so projects are no longer mislabelled as Studio in the platform UI before any deploy has happened. ([#15728](https://github.com/mastra-ai/mastra/pull/15728))
|
|
253
|
+
|
|
254
|
+
- Refactored the Mastra version dialog to use the new CodeBlock component and simplified the package versions copy button to an icon-only button with tooltip. ([#16202](https://github.com/mastra-ai/mastra/pull/16202))
|
|
255
|
+
|
|
256
|
+
- `mastra studio deploy` and `mastra server deploy` now prompt you to pick from existing projects in the selected organization instead of silently matching by `package.json` name or always creating a new project. ([#15728](https://github.com/mastra-ai/mastra/pull/15728))
|
|
257
|
+
|
|
258
|
+
**What changed**
|
|
259
|
+
- When existing projects are found, both commands show an interactive selector listing them (plus a "Create new project" option).
|
|
260
|
+
- `--project <id-or-slug>` still bypasses the selector for non-interactive use.
|
|
261
|
+
- `-y/--yes` auto-accepts only when there is exactly one project whose name or slug matches the local `package.json` name; otherwise it errors asking you to pass `--project`.
|
|
262
|
+
- Projects saved in `.mastra-project.json` for the same organization are still auto-matched (no prompt).
|
|
263
|
+
|
|
264
|
+
This fixes deploys accidentally creating duplicate projects or targeting the wrong existing project when the local package name happened to collide.
|
|
265
|
+
|
|
266
|
+
- Removed Agent Builder routes from the default generated API route contracts. ([#16499](https://github.com/mastra-ai/mastra/pull/16499))
|
|
267
|
+
|
|
268
|
+
- Removed the unintended search input from the Traces page in Studio. ([#16418](https://github.com/mastra-ai/mastra/pull/16418))
|
|
269
|
+
|
|
270
|
+
- Updated dependencies [[`9f17410`](https://github.com/mastra-ai/mastra/commit/9f1741080def23d42ee50b39887a385ae316a3c6), [`7ad5585`](https://github.com/mastra-ai/mastra/commit/7ad55856406f1de398dc713f6a9eaa78b2784bb6), [`ac47842`](https://github.com/mastra-ai/mastra/commit/ac478427aa7a5f5fdaed633a911218689b438c60), [`cc189cc`](https://github.com/mastra-ai/mastra/commit/cc189cc0128eb7af233476b5e421ec6888bffde7), [`d1fdbd0`](https://github.com/mastra-ai/mastra/commit/d1fdbd012add5623cb7e6b7f882b605ab358bbb4), [`210ea7a`](https://github.com/mastra-ai/mastra/commit/210ea7af559791b73a44fc9c12179908aaa3183f), [`7c275a8`](https://github.com/mastra-ai/mastra/commit/7c275a810595e1a6c41ccc39720531ab65734700), [`bae019e`](https://github.com/mastra-ai/mastra/commit/bae019ecb6694da96909f7ec7b9eb3a0a33aa887), [`890b24c`](https://github.com/mastra-ai/mastra/commit/890b24cc7d32ed6aa4dfe253e54dc6bf4099f690), [`f984b4d`](https://github.com/mastra-ai/mastra/commit/f984b4d6c60bf2ae2a9b156f0e8c35a66fe96c91), [`6742347`](https://github.com/mastra-ai/mastra/commit/6742347d71955d7639adc9ddf6ff8282de7ee3ba), [`b59316f`](https://github.com/mastra-ai/mastra/commit/b59316ffa0f7688165b0f9c81ccdf85da461e5b2), [`0f48ebf`](https://github.com/mastra-ai/mastra/commit/0f48ebfc7ac7897b2092a189f45751924cf56d1c), [`37c0dc5`](https://github.com/mastra-ai/mastra/commit/37c0dc5697d343db98628bf867bf71ce6deec6d7), [`087e413`](https://github.com/mastra-ai/mastra/commit/087e4133e5d6efa36619e9556c16750e4179c047), [`83218c8`](https://github.com/mastra-ai/mastra/commit/83218c88b37773c9424fbe733b37be556e55e94d), [`ef6b584`](https://github.com/mastra-ai/mastra/commit/ef6b5847ac33c0a7e80af3a86e8801e2933dd3ee), [`c6eb39e`](https://github.com/mastra-ai/mastra/commit/c6eb39ea6dca381c6563cb240237fbe608e02f93), [`7b0ad1f`](https://github.com/mastra-ai/mastra/commit/7b0ad1f5c53dc118c6da12ae82ae2587037dc2b8), [`d91ebe2`](https://github.com/mastra-ai/mastra/commit/d91ebe28ee065d8f2ed6df741c3c07f58d359529), [`62666c3`](https://github.com/mastra-ai/mastra/commit/62666c367eaeac3941ead454b1d38810cc855721), [`33f5061`](https://github.com/mastra-ai/mastra/commit/33f5061cd1c0335020c3faae61ce96de822854fa), [`4af2160`](https://github.com/mastra-ai/mastra/commit/4af2160322f4718cac421930cce85641e9512389), [`087e413`](https://github.com/mastra-ai/mastra/commit/087e4133e5d6efa36619e9556c16750e4179c047), [`265ec9f`](https://github.com/mastra-ai/mastra/commit/265ec9f887b5c81255c873a76ff7796f16e4f99b), [`0011a7e`](https://github.com/mastra-ai/mastra/commit/0011a7e2bba6a4fc97a638c3f4089c0e9308b37c), [`ce01024`](https://github.com/mastra-ai/mastra/commit/ce010242eee9bdfc09e4c26725b9d37998679a8d), [`6ce80bf`](https://github.com/mastra-ai/mastra/commit/6ce80bf4872a891e0bddf8b80561a80584efb14b), [`f984b4d`](https://github.com/mastra-ai/mastra/commit/f984b4d6c60bf2ae2a9b156f0e8c35a66fe96c91), [`136c959`](https://github.com/mastra-ai/mastra/commit/136c9592fb0eeb0cd212f28629d8a29b7557a2fc), [`9268531`](https://github.com/mastra-ai/mastra/commit/9268531e7ec4be98beeba3b3ae8be0a7ea380662), [`13ead79`](https://github.com/mastra-ai/mastra/commit/13ead79149486b88144db7e11e6ff551caef5be1), [`dccd8f1`](https://github.com/mastra-ai/mastra/commit/dccd8f1f8b8f1ad203b77556207e5529567c616d), [`4df7cc7`](https://github.com/mastra-ai/mastra/commit/4df7cc79342fd065fe7fdeef93c094db14b12bcd), [`f180e49`](https://github.com/mastra-ai/mastra/commit/f180e4990e71b04c9a475b523584071712f0048f), [`9260e01`](https://github.com/mastra-ai/mastra/commit/9260e015276fb1b500f7878ee452b47476bf1583), [`2f6c54e`](https://github.com/mastra-ai/mastra/commit/2f6c54e17c041cac1def54baaa6b771647836414), [`aca3121`](https://github.com/mastra-ai/mastra/commit/aca31211233dac25459f140ea4fcfb3a5af64c18), [`e06a159`](https://github.com/mastra-ai/mastra/commit/e06a1598ca07a6c3778aefc2a2d288363c6294ff), [`4dd900d`](https://github.com/mastra-ai/mastra/commit/4dd900d75dfe9be89f8c15188b368a8622aa1e18), [`b560d6f`](https://github.com/mastra-ai/mastra/commit/b560d6f88b9b904b15c10f75c949eb145bc27684), [`99869ec`](https://github.com/mastra-ai/mastra/commit/99869ecb1f2aa6dfcc44fa4e843e5ee0344efa64), [`900d086`](https://github.com/mastra-ai/mastra/commit/900d086bb737b9cf2fcf68f11b0389b801a2738c), [`4c0e286`](https://github.com/mastra-ai/mastra/commit/4c0e28637c9cfb4f416549b55e97ebfa13319dfc), [`55f1e2d`](https://github.com/mastra-ai/mastra/commit/55f1e2d65425b95a49ae788053b266f256e38c96), [`4ff5bdf`](https://github.com/mastra-ai/mastra/commit/4ff5bdfe170cba6dfb5260c6af0f4ba668430772), [`9cdf38e`](https://github.com/mastra-ai/mastra/commit/9cdf38e58506e1109c8b38f97cd7770978a4218e), [`087e413`](https://github.com/mastra-ai/mastra/commit/087e4133e5d6efa36619e9556c16750e4179c047), [`db34bc6`](https://github.com/mastra-ai/mastra/commit/db34bc6fb36cf125bda0c46be4d3fdc774b70cc4), [`990851e`](https://github.com/mastra-ai/mastra/commit/990851edcb0e30be5c2c18b6532f1a876cc2d335), [`bbcd93c`](https://github.com/mastra-ai/mastra/commit/bbcd93cf7d8aa1007d6d84bfd033b8015c912087), [`8373ff4`](https://github.com/mastra-ai/mastra/commit/8373ff46745d77af79f183c4470f80fa2727a6b2), [`d48a705`](https://github.com/mastra-ai/mastra/commit/d48a705ff3dfbdc7a996e07ecd8293b5effd9a2a), [`308bd07`](https://github.com/mastra-ai/mastra/commit/308bd074f35cef0c75d82fc1eb19382fe04ecf6f), [`6068a6c`](https://github.com/mastra-ai/mastra/commit/6068a6c42950fad3ebfc92346417896ba60803d2), [`36b3bbf`](https://github.com/mastra-ai/mastra/commit/36b3bbf5a8d59f7e23d47e29340e76c681b4929c), [`d86f031`](https://github.com/mastra-ai/mastra/commit/d86f031eb6b0b2570145afafea664e59bf688962), [`b275631`](https://github.com/mastra-ai/mastra/commit/b275631dc10541a482b2e2d4a3e3cfa843bd5fa1), [`00106be`](https://github.com/mastra-ai/mastra/commit/00106bede59b81e5b0e9cd6aad8d3b5dbc336387), [`bd36d8e`](https://github.com/mastra-ai/mastra/commit/bd36d8eb6de8c9a0310352649dbd4b06703c2299), [`11c1528`](https://github.com/mastra-ai/mastra/commit/11c152848c5d0ef227184853b5040f5b41ee7b1e), [`4999667`](https://github.com/mastra-ai/mastra/commit/49996678b68356cad7f088430009690406c50fbd), [`e2a079c`](https://github.com/mastra-ai/mastra/commit/e2a079cc3755b1895f7bd5dc36e9be81b11c7c22), [`8ac9141`](https://github.com/mastra-ai/mastra/commit/8ac9141439caa8fdd674944c4d84f29b3c730296), [`25184ff`](https://github.com/mastra-ai/mastra/commit/25184ffaf1293ec95119426eb1a1f8d38831b96c), [`534a456`](https://github.com/mastra-ai/mastra/commit/534a456a25e4df1e5407e7e632f4cb3b1fa14f9d), [`105e454`](https://github.com/mastra-ai/mastra/commit/105e454c95af06a7c741c15969d8f9b0f02463a7), [`aebde9c`](https://github.com/mastra-ai/mastra/commit/aebde9cfacf56592c6b6350cae721740fe090b8a), [`36bae07`](https://github.com/mastra-ai/mastra/commit/36bae07c0e70b1b3006f2fd20830e8883dcbd066), [`5688881`](https://github.com/mastra-ai/mastra/commit/5688881669c7ed157f31ac77f6fc5f8d95ceea32)]:
|
|
271
|
+
- @mastra/core@1.33.0
|
|
272
|
+
- @mastra/deployer@1.33.0
|
|
273
|
+
|
|
274
|
+
## 1.9.0-alpha.18
|
|
275
|
+
|
|
276
|
+
### Patch Changes
|
|
277
|
+
|
|
278
|
+
- Updated dependencies [[`4999667`](https://github.com/mastra-ai/mastra/commit/49996678b68356cad7f088430009690406c50fbd)]:
|
|
279
|
+
- @mastra/core@1.33.0-alpha.17
|
|
280
|
+
- @mastra/deployer@1.33.0-alpha.17
|
|
281
|
+
|
|
282
|
+
## 1.9.0-alpha.17
|
|
283
|
+
|
|
284
|
+
### Minor Changes
|
|
285
|
+
|
|
286
|
+
- Added preflight checks to mastra lint with --preflight and removed the verify command. ([#16470](https://github.com/mastra-ai/mastra/pull/16470))
|
|
287
|
+
|
|
288
|
+
### Patch Changes
|
|
289
|
+
|
|
290
|
+
- Improved `mastra auth login` to skip the browser flow when an existing token is still valid (or can be refreshed) and surface the logged-in user's email. ([#16512](https://github.com/mastra-ai/mastra/pull/16512))
|
|
291
|
+
|
|
292
|
+
The `mastra create` observability prompt also prints the logged-in user when authentication resolves from cached credentials, so you can confirm which account you're about to enable observability for.
|
|
293
|
+
|
|
294
|
+
- Removed Agent Builder routes from the default generated API route contracts. ([#16499](https://github.com/mastra-ai/mastra/pull/16499))
|
|
295
|
+
|
|
296
|
+
- Updated dependencies [[`cc189cc`](https://github.com/mastra-ai/mastra/commit/cc189cc0128eb7af233476b5e421ec6888bffde7)]:
|
|
297
|
+
- @mastra/core@1.33.0-alpha.16
|
|
298
|
+
- @mastra/deployer@1.33.0-alpha.16
|
|
299
|
+
|
|
300
|
+
## 1.9.0-alpha.16
|
|
301
|
+
|
|
302
|
+
### Patch Changes
|
|
303
|
+
|
|
304
|
+
- Start the Mastra Platform auth flow immediately after users opt in to observability during `create mastra` and `mastra init`, then reuse that token when provisioning the observability project. ([#16502](https://github.com/mastra-ai/mastra/pull/16502))
|
|
305
|
+
|
|
306
|
+
- Updated dependencies [[`105e454`](https://github.com/mastra-ai/mastra/commit/105e454c95af06a7c741c15969d8f9b0f02463a7)]:
|
|
307
|
+
- @mastra/core@1.33.0-alpha.15
|
|
308
|
+
- @mastra/deployer@1.33.0-alpha.15
|
|
309
|
+
|
|
310
|
+
## 1.9.0-alpha.15
|
|
311
|
+
|
|
312
|
+
### Minor Changes
|
|
313
|
+
|
|
314
|
+
- Add "Enable Mastra Observability? (will open auth flow)" prompt to `create-mastra` and `mastra init`. ([#15728](https://github.com/mastra-ai/mastra/pull/15728))
|
|
315
|
+
|
|
316
|
+
When the user opts in, the CLI runs the interactive browser login flow (if not already authenticated), lets them pick an existing project or create a new one, mints a fresh organization access token, and writes `MASTRA_PLATFORM_ACCESS_TOKEN` + `MASTRA_PROJECT_ID` to `.env`. The generated project already registers a `MastraPlatformExporter`, so no additional setup is needed to start sending traces.
|
|
317
|
+
|
|
318
|
+
`MASTRA_PLATFORM_ACCESS_TOKEN` replaces `MASTRA_CLOUD_ACCESS_TOKEN`. The old name is still read by the exporter for backwards compatibility but is deprecated.
|
|
319
|
+
|
|
320
|
+
If provisioning fails (e.g., the platform is unreachable), the command falls back to writing placeholder env vars with instructions.
|
|
321
|
+
|
|
322
|
+
Both commands also accept `--observability` / `--no-observability` flags for non-interactive use, and `--observability-project <name>` to bypass the project picker.
|
|
323
|
+
|
|
324
|
+
### Patch Changes
|
|
325
|
+
|
|
326
|
+
- `mastra studio deploy` and `mastra server deploy` now read `MASTRA_PROJECT_ID` and `MASTRA_ORG_ID` from the project's `.env` file, so projects scaffolded with Mastra Observability auto-link to the existing platform project on first deploy instead of creating a new one. Existing `process.env` values still take precedence. ([#15728](https://github.com/mastra-ai/mastra/pull/15728))
|
|
327
|
+
|
|
328
|
+
- Mastra Observability provisioning now creates new platform projects as observability-only (no Studio or Server runtime attached). The first `mastra studio deploy` or `mastra server deploy` flips the matching runtime flag, so projects are no longer mislabelled as Studio in the platform UI before any deploy has happened. ([#15728](https://github.com/mastra-ai/mastra/pull/15728))
|
|
329
|
+
|
|
330
|
+
- `mastra studio deploy` and `mastra server deploy` now prompt you to pick from existing projects in the selected organization instead of silently matching by `package.json` name or always creating a new project. ([#15728](https://github.com/mastra-ai/mastra/pull/15728))
|
|
331
|
+
|
|
332
|
+
**What changed**
|
|
333
|
+
- When existing projects are found, both commands show an interactive selector listing them (plus a "Create new project" option).
|
|
334
|
+
- `--project <id-or-slug>` still bypasses the selector for non-interactive use.
|
|
335
|
+
- `-y/--yes` auto-accepts only when there is exactly one project whose name or slug matches the local `package.json` name; otherwise it errors asking you to pass `--project`.
|
|
336
|
+
- Projects saved in `.mastra-project.json` for the same organization are still auto-matched (no prompt).
|
|
337
|
+
|
|
338
|
+
This fixes deploys accidentally creating duplicate projects or targeting the wrong existing project when the local package name happened to collide.
|
|
339
|
+
|
|
340
|
+
- Updated dependencies:
|
|
341
|
+
- @mastra/deployer@1.33.0-alpha.14
|
|
342
|
+
- @mastra/core@1.33.0-alpha.14
|
|
343
|
+
|
|
344
|
+
## 1.9.0-alpha.14
|
|
345
|
+
|
|
346
|
+
### Patch Changes
|
|
347
|
+
|
|
348
|
+
- **Added** new local `thread-list` component used by chat threads, replacing the removed `Threads` exports from `@mastra/playground-ui`. ([#16433](https://github.com/mastra-ai/mastra/pull/16433))
|
|
349
|
+
|
|
350
|
+
**Improved** agent header, agent information panel, agent playground view, version bar, page tabs, and workflow information/run list with refined layouts and consistent use of design system primitives.
|
|
351
|
+
|
|
352
|
+
**Improved** chat composer with a subtle send animation and refined border treatment for better feedback when submitting a message.
|
|
353
|
+
|
|
354
|
+
- Updated dependencies [[`f984b4d`](https://github.com/mastra-ai/mastra/commit/f984b4d6c60bf2ae2a9b156f0e8c35a66fe96c91), [`ce01024`](https://github.com/mastra-ai/mastra/commit/ce010242eee9bdfc09e4c26725b9d37998679a8d), [`f984b4d`](https://github.com/mastra-ai/mastra/commit/f984b4d6c60bf2ae2a9b156f0e8c35a66fe96c91), [`8373ff4`](https://github.com/mastra-ai/mastra/commit/8373ff46745d77af79f183c4470f80fa2727a6b2), [`11c1528`](https://github.com/mastra-ai/mastra/commit/11c152848c5d0ef227184853b5040f5b41ee7b1e)]:
|
|
355
|
+
- @mastra/core@1.33.0-alpha.13
|
|
356
|
+
- @mastra/deployer@1.33.0-alpha.13
|
|
357
|
+
|
|
358
|
+
## 1.9.0-alpha.13
|
|
359
|
+
|
|
360
|
+
### Patch Changes
|
|
361
|
+
|
|
362
|
+
- Updated dependencies [[`b59316f`](https://github.com/mastra-ai/mastra/commit/b59316ffa0f7688165b0f9c81ccdf85da461e5b2), [`55f1e2d`](https://github.com/mastra-ai/mastra/commit/55f1e2d65425b95a49ae788053b266f256e38c96), [`d48a705`](https://github.com/mastra-ai/mastra/commit/d48a705ff3dfbdc7a996e07ecd8293b5effd9a2a)]:
|
|
363
|
+
- @mastra/core@1.33.0-alpha.12
|
|
364
|
+
- @mastra/deployer@1.33.0-alpha.12
|
|
365
|
+
|
|
366
|
+
## 1.9.0-alpha.12
|
|
367
|
+
|
|
368
|
+
### Patch Changes
|
|
369
|
+
|
|
370
|
+
- Add pre-deploy validation (preflight) to `mastra studio deploy` and `mastra server deploy` that inspects the built bundle before upload and surfaces likely deployment failures locally. ([#16317](https://github.com/mastra-ai/mastra/pull/16317))
|
|
371
|
+
|
|
372
|
+
**What it checks**
|
|
373
|
+
- **Missing env vars** (warning) — `process.env.FOO` references in the bundle that aren't satisfied by the resolved `.env`/`.env.local` (or `--env-file`). Common platform/runtime/tooling vars (`PORT`, `NODE_ENV`, `MASTRA_*`, `OTEL_*`, `DEBUG`, etc.) are allowlisted.
|
|
374
|
+
- **Local storage paths** (error) — SQLite/file URLs (`file:./mastra.db`, `sqlite://...`) and `localhost`/`127.0.0.1` connection strings that won't survive on a remote container.
|
|
375
|
+
|
|
376
|
+
**How it runs**
|
|
377
|
+
- Runs after the local build (or after `--skip-build` when `.mastra/output/index.mjs` already exists), before zipping/uploading.
|
|
378
|
+
- Errors always block the deploy and exit non-zero (so CI surfaces them as a real failure). Warnings prompt for confirmation in interactive mode and pass through silently in `--yes` / headless mode; declining the prompt cancels with exit code 0.
|
|
379
|
+
- Opt out entirely with `--skip-preflight` or `MASTRA_SKIP_PREFLIGHT=1`.
|
|
380
|
+
|
|
381
|
+
- Add `mastra verify` command — validate that a Mastra project is ready to deploy without uploading anything. ([#16443](https://github.com/mastra-ai/mastra/pull/16443))
|
|
382
|
+
|
|
383
|
+
`mastra verify` runs the same preflight checks as `mastra studio deploy` and `mastra server deploy` (missing env vars, host-local storage paths) but stops after reporting issues. Useful as a CI gate, a pre-commit hook, or while iterating locally.
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
# basic usage — runs `mastra build` then validates
|
|
387
|
+
mastra verify
|
|
388
|
+
|
|
389
|
+
# skip the build step and check the existing .mastra/output
|
|
390
|
+
mastra verify --skip-build
|
|
391
|
+
|
|
392
|
+
# validate against a specific env file
|
|
393
|
+
mastra verify --env-file .env.production
|
|
394
|
+
|
|
395
|
+
# treat warnings as errors (good for CI)
|
|
396
|
+
mastra verify --strict
|
|
397
|
+
|
|
398
|
+
# machine-readable output for CI tooling
|
|
399
|
+
mastra verify --json
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
Exit codes:
|
|
403
|
+
- `0` — preflight passed (no issues, or warnings only)
|
|
404
|
+
- `1` — at least one error-severity issue, or any issue in `--strict` mode
|
|
405
|
+
|
|
406
|
+
- Updated dependencies [[`37c0dc5`](https://github.com/mastra-ai/mastra/commit/37c0dc5697d343db98628bf867bf71ce6deec6d7), [`ef6b584`](https://github.com/mastra-ai/mastra/commit/ef6b5847ac33c0a7e80af3a86e8801e2933dd3ee), [`4dd900d`](https://github.com/mastra-ai/mastra/commit/4dd900d75dfe9be89f8c15188b368a8622aa1e18), [`4ff5bdf`](https://github.com/mastra-ai/mastra/commit/4ff5bdfe170cba6dfb5260c6af0f4ba668430772), [`bbcd93c`](https://github.com/mastra-ai/mastra/commit/bbcd93cf7d8aa1007d6d84bfd033b8015c912087), [`308bd07`](https://github.com/mastra-ai/mastra/commit/308bd074f35cef0c75d82fc1eb19382fe04ecf6f)]:
|
|
407
|
+
- @mastra/core@1.33.0-alpha.11
|
|
408
|
+
- @mastra/deployer@1.33.0-alpha.11
|
|
409
|
+
|
|
410
|
+
## 1.9.0-alpha.11
|
|
411
|
+
|
|
412
|
+
### Patch Changes
|
|
413
|
+
|
|
414
|
+
- Updated the generated project template and runtime bootstrap to use `MastraStorageExporter` and `MastraPlatformExporter` from `@mastra/observability`. ([#16223](https://github.com/mastra-ai/mastra/pull/16223))
|
|
415
|
+
|
|
416
|
+
- dependencies updates: ([#16399](https://github.com/mastra-ai/mastra/pull/16399))
|
|
417
|
+
- Updated dependency [`@babel/parser@^7.29.3` ↗︎](https://www.npmjs.com/package/@babel/parser/v/7.29.3) (from `^7.28.4`, in `dependencies`)
|
|
418
|
+
- Updated dependency [`@babel/types@^7.29.0` ↗︎](https://www.npmjs.com/package/@babel/types/v/7.29.0) (from `^7.28.4`, in `dependencies`)
|
|
419
|
+
|
|
420
|
+
- Removed the unintended search input from the Traces page in Studio. ([#16418](https://github.com/mastra-ai/mastra/pull/16418))
|
|
421
|
+
|
|
422
|
+
- Updated dependencies [[`7ad5585`](https://github.com/mastra-ai/mastra/commit/7ad55856406f1de398dc713f6a9eaa78b2784bb6), [`210ea7a`](https://github.com/mastra-ai/mastra/commit/210ea7af559791b73a44fc9c12179908aaa3183f), [`83218c8`](https://github.com/mastra-ai/mastra/commit/83218c88b37773c9424fbe733b37be556e55e94d), [`265ec9f`](https://github.com/mastra-ai/mastra/commit/265ec9f887b5c81255c873a76ff7796f16e4f99b), [`6ce80bf`](https://github.com/mastra-ai/mastra/commit/6ce80bf4872a891e0bddf8b80561a80584efb14b), [`9268531`](https://github.com/mastra-ai/mastra/commit/9268531e7ec4be98beeba3b3ae8be0a7ea380662), [`13ead79`](https://github.com/mastra-ai/mastra/commit/13ead79149486b88144db7e11e6ff551caef5be1), [`bd36d8e`](https://github.com/mastra-ai/mastra/commit/bd36d8eb6de8c9a0310352649dbd4b06703c2299), [`8ac9141`](https://github.com/mastra-ai/mastra/commit/8ac9141439caa8fdd674944c4d84f29b3c730296)]:
|
|
423
|
+
- @mastra/core@1.33.0-alpha.10
|
|
424
|
+
- @mastra/deployer@1.33.0-alpha.10
|
|
425
|
+
|
|
426
|
+
## 1.9.0-alpha.10
|
|
427
|
+
|
|
428
|
+
## 1.9.0-alpha.9
|
|
429
|
+
|
|
430
|
+
### Patch Changes
|
|
431
|
+
|
|
432
|
+
- Updated dependencies [[`5688881`](https://github.com/mastra-ai/mastra/commit/5688881669c7ed157f31ac77f6fc5f8d95ceea32)]:
|
|
433
|
+
- @mastra/core@1.33.0-alpha.9
|
|
434
|
+
- @mastra/deployer@1.33.0-alpha.9
|
|
435
|
+
|
|
436
|
+
## 1.9.0-alpha.8
|
|
437
|
+
|
|
438
|
+
### Patch Changes
|
|
439
|
+
|
|
440
|
+
- Updated dependencies [[`7c275a8`](https://github.com/mastra-ai/mastra/commit/7c275a810595e1a6c41ccc39720531ab65734700), [`890b24c`](https://github.com/mastra-ai/mastra/commit/890b24cc7d32ed6aa4dfe253e54dc6bf4099f690), [`0f48ebf`](https://github.com/mastra-ai/mastra/commit/0f48ebfc7ac7897b2092a189f45751924cf56d1c), [`f180e49`](https://github.com/mastra-ai/mastra/commit/f180e4990e71b04c9a475b523584071712f0048f), [`9260e01`](https://github.com/mastra-ai/mastra/commit/9260e015276fb1b500f7878ee452b47476bf1583), [`2f6c54e`](https://github.com/mastra-ai/mastra/commit/2f6c54e17c041cac1def54baaa6b771647836414), [`e06a159`](https://github.com/mastra-ai/mastra/commit/e06a1598ca07a6c3778aefc2a2d288363c6294ff), [`db34bc6`](https://github.com/mastra-ai/mastra/commit/db34bc6fb36cf125bda0c46be4d3fdc774b70cc4)]:
|
|
441
|
+
- @mastra/core@1.33.0-alpha.8
|
|
442
|
+
- @mastra/deployer@1.33.0-alpha.8
|
|
443
|
+
|
|
3
444
|
## 1.9.0-alpha.7
|
|
4
445
|
|
|
5
446
|
### Minor Changes
|
package/dist/analytics/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export { PosthogAnalytics, getAnalytics, setAnalytics } from '../chunk-
|
|
1
|
+
export { PosthogAnalytics, getAnalytics, setAnalytics } from '../chunk-TZD66T6S.js';
|
|
2
|
+
import '../chunk-EXG3XKBK.js';
|
|
3
|
+
import '../chunk-L2SGSIJI.js';
|
|
2
4
|
//# sourceMappingURL=index.js.map
|
|
3
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"api-C4LNCE5C.js"}
|