mastra 1.22.0-alpha.7 → 1.22.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/dist/analytics/index.js +1 -1
  3. package/dist/{analytics-CZk4R5sO.js → analytics-CzFlN5Uy.js} +3 -2
  4. package/dist/{analytics-CZk4R5sO.js.map → analytics-CzFlN5Uy.js.map} +1 -1
  5. package/dist/api-DUOmLi5v.js +11 -0
  6. package/dist/api-DUOmLi5v.js.map +1 -0
  7. package/dist/api-icxI1leL.js +2 -0
  8. package/dist/{client-RyOogiHS.js → client-x6vJatG_.js} +2 -2
  9. package/dist/{client-RyOogiHS.js.map → client-x6vJatG_.js.map} +1 -1
  10. package/dist/commands/create/create.js +2 -2
  11. package/dist/commands/experiment/ExperimentBundler.d.ts +48 -0
  12. package/dist/commands/experiment/ExperimentBundler.d.ts.map +1 -0
  13. package/dist/commands/experiment/build.d.ts +7 -0
  14. package/dist/commands/experiment/build.d.ts.map +1 -0
  15. package/dist/commands/experiment/runtime.d.ts +68 -0
  16. package/dist/commands/experiment/runtime.d.ts.map +1 -0
  17. package/dist/commands/experiment/runtime.js +2 -0
  18. package/dist/{create-ISub_13V.js → create-DxtDgme6.js} +5 -4
  19. package/dist/{create-ISub_13V.js.map → create-DxtDgme6.js.map} +1 -1
  20. package/dist/credentials-BwBqBx2B.js +2 -0
  21. package/dist/{orgs-DoKnmO72.js → credentials-CE1thn6C.js} +7 -165
  22. package/dist/credentials-CE1thn6C.js.map +1 -0
  23. package/dist/docs/SKILL.md +1 -1
  24. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  25. package/dist/docs/references/reference-cli-mastra.md +65 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +161 -7
  28. package/dist/index.js.map +1 -1
  29. package/dist/internal/auth.js +4 -2
  30. package/dist/orgs-DOhO9kNz.js +129 -0
  31. package/dist/orgs-DOhO9kNz.js.map +1 -0
  32. package/dist/runtime-HAbtsZz-.js +481 -0
  33. package/dist/runtime-HAbtsZz-.js.map +1 -0
  34. package/dist/studio/assets/{core-ChLSFNYI.js → core-BNwtVCAZ.js} +1 -1
  35. package/dist/studio/assets/{index-CpzxncK4.js → index-BhWeaX1f.js} +2 -2
  36. package/dist/studio/assets/{main-B36lqjtQ.js → main-BiFSrjyM.js} +3 -3
  37. package/dist/studio/index.html +1 -1
  38. package/package.json +7 -7
  39. package/dist/orgs-DoKnmO72.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,78 @@
1
1
  # mastra
2
2
 
3
+ ## 1.22.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Added overwrite protection to `mastra env vars pull`. ([#19824](https://github.com/mastra-ai/mastra/pull/19824))
8
+
9
+ Use `--force` to intentionally replace an existing env file.
10
+
11
+ ```bash
12
+ mastra env vars pull production --force
13
+ ```
14
+
15
+ - Added `mastra experiment build` to create standalone companion-worker artifacts for running experiments without an HTTP server. For example, run `mastra experiment build --output-dir .mastra/experiment-worker`, then send versioned NDJSON requests on standard input and read protocol events from standard output. ([#20662](https://github.com/mastra-ai/mastra/pull/20662))
16
+
17
+ ### Patch Changes
18
+
19
+ - Stored workflows can now be managed over HTTP: create or update a declarative workflow definition with `POST /stored/workflows`, list/fetch with `GET`, and remove with `DELETE` — with malformed graphs rejected at the API boundary with actionable errors instead of failing deep inside rehydration. ([#20471](https://github.com/mastra-ai/mastra/pull/20471))
20
+
21
+ ```ts
22
+ await fetch(`${baseUrl}/stored/workflows`, {
23
+ method: 'POST',
24
+ headers: { 'Content-Type': 'application/json' },
25
+ body: JSON.stringify({
26
+ id: 'greeting-workflow',
27
+ inputSchema: { type: 'object', properties: { name: { type: 'string' } }, required: ['name'] },
28
+ outputSchema: { type: 'object', properties: { text: { type: 'string' } }, required: ['text'] },
29
+ graph: [{ type: 'agent', id: 'greet', agentId: 'greeter-agent' }],
30
+ }),
31
+ });
32
+ ```
33
+
34
+ **`DELETE /stored/workflows/:storedWorkflowId` now unregisters the live workflow instance** in addition to removing the stored row. Previously the handler only called `store.delete(id)`, leaving the rehydrated `Workflow` on `Mastra` until the process restarted. The handler now calls `mastra.removeWorkflow(id)` after `store.delete`. Idempotent on missing ids.
35
+
36
+ **`POST /stored/workflows` body schema is now a typed discriminated union.** The `graph` field was previously typed as `z.array(z.any())` and would only surface malformed entries deep inside `rehydrateWorkflow`. It is now a discriminated union over `type: 'step' | 'agent' | 'tool' | 'mapping' | 'parallel' | 'foreach' | 'sleep' | 'sleepUntil'`, matching the serialized graph shape `toStorableGraph` emits. Combined with the new `Mastra.addStoredWorkflow` pre-flight, invalid ids, mis-classified refs, and JSON Schemas that use converter-unsupported keywords (`oneOf` / `anyOf` / …) are rejected at the HTTP boundary with actionable errors before rehydration runs. `inputSchema` / `outputSchema` / `stateSchema` / `requestContextSchema` remain `z.any()` — they're JSON Schema Draft 2020-12 blobs, validated in `addStoredWorkflow` before the row is persisted.
37
+
38
+ **`foreach.opts` is now optional on both sides of the wire.** Previously the Zod schema declared `opts` optional but the underlying `SerializedForeachEntry.opts` was required, forcing a `Parameters<Mastra['addStoredWorkflow']>[0]` cast in the handler that defeated compile-time drift detection. `SerializedForeachEntry.opts` is now optional in core, the Zod schema and the runtime type agree, and the handler cast is gone. Runtime unchanged (engine already read `entry.opts?.concurrency ?? 1`).
39
+
40
+ **`conditional` and `loop` entries now round-trip through `POST /stored/workflows`.** The body schema's discriminated union has been extended with `type: 'conditional'` (`steps: SingleStepEntry[]`, `predicates: Predicate[]`) and `type: 'loop'` (`step: SingleStepEntry`, `loopType: 'dowhile' | 'dountil'`, `predicate: Predicate`), where `Predicate` is the same structural JSON shape now exported from `@mastra/core/workflows`. Legacy closure-based `serializedConditions` payloads are rejected at the HTTP boundary rather than silently reaching the rehydrator.
41
+
42
+ **Nested workflow references now round-trip through `POST /stored/workflows`.** The body schema's `SingleStepEntry` union gains a `type: 'workflow'` variant (`id`, `workflowId`, optional `description`) that can appear at the top level or inside any composite entry. `serializedStepFlowEntrySchema` (returned by `GET /workflows/:id`) mirrors the same variant so clients see nested-workflow steps in code-defined workflows as well — a stored parent workflow can reference a previously stored child and run it end to end through the standard workflow endpoints.
43
+
44
+ **`mastra` CLI:** regenerated API route metadata so the CLI's route table includes the new stored-workflow endpoints.
45
+
46
+ - Fixed Studio navigation and authentication redirects when Studio is mounted at a custom base path. ([#19799](https://github.com/mastra-ai/mastra/pull/19799))
47
+
48
+ - Add `--no-install` flag to create command. It allows you to skip dependency installation. ([#20619](https://github.com/mastra-ai/mastra/pull/20619))
49
+
50
+ - Fixed the slash-command menu in the Factory web chat. Typing `/` in the composer now shows the list of available commands again; the menu was rendering but invisibly clipped by the composer box. ([#20476](https://github.com/mastra-ai/mastra/pull/20476))
51
+
52
+ - `mastra create` now pins every Mastra dependency in generated default and empty projects to the exact version published on the invoked release channel instead of writing the channel tag (for example `alpha`) verbatim. If the CLI cannot resolve exact versions, it warns and falls back to the channel tag. ([#20448](https://github.com/mastra-ai/mastra/pull/20448))
53
+
54
+ - Fixed Factory thread history loading so short pages continue loading without duplicate requests. ([#20455](https://github.com/mastra-ai/mastra/pull/20455))
55
+
56
+ - Track Mastra platform observability setup outcome (skipped, cancelled, completed, failed) in create command telemetry. ([#20449](https://github.com/mastra-ai/mastra/pull/20449))
57
+
58
+ - Fixed Factory Intake issue menus so open issues can be opened in their connected provider. ([#20631](https://github.com/mastra-ai/mastra/pull/20631))
59
+
60
+ - Added a My account settings page with signed-in identity details and an explicit logout action. ([#20454](https://github.com/mastra-ai/mastra/pull/20454))
61
+
62
+ - Improved Factory model setup with clearer provider branding and easier API key provider discovery. ([#20468](https://github.com/mastra-ai/mastra/pull/20468))
63
+
64
+ - Workspace sidebar rows now show a merge icon once the session's pull request is merged, so a finished branch is recognisable without opening the thread. ([#20361](https://github.com/mastra-ai/mastra/pull/20361))
65
+
66
+ - Updated dependencies [[`4844167`](https://github.com/mastra-ai/mastra/commit/4844167cff2d5ec5004e94edd34970833040fa3f), [`c5e56ff`](https://github.com/mastra-ai/mastra/commit/c5e56ff3bcabdf062708f2d48744fec304df6792), [`594f7b2`](https://github.com/mastra-ai/mastra/commit/594f7b28f5263fb9982fd50d95c471fb971ea984), [`7f4e26d`](https://github.com/mastra-ai/mastra/commit/7f4e26dd57bd9b23c278ea21235ab823a3810a6c), [`311f943`](https://github.com/mastra-ai/mastra/commit/311f943bee60e8fdf5c84499ea50e884276c936c), [`322daa6`](https://github.com/mastra-ai/mastra/commit/322daa6d90552909204044790d850958f6745fed), [`db4e6ff`](https://github.com/mastra-ai/mastra/commit/db4e6ff744503112eb64deeaf6c2b54bf26a54c7), [`5faf93f`](https://github.com/mastra-ai/mastra/commit/5faf93f03e19daea394b9e2a923f2e4f833407f2), [`82201f7`](https://github.com/mastra-ai/mastra/commit/82201f75fae8e050a8de2df08b74875ee74c6b83), [`cadaa13`](https://github.com/mastra-ai/mastra/commit/cadaa1372e1077c8e85eb64c5499ba8803caa323), [`0c89896`](https://github.com/mastra-ai/mastra/commit/0c8989673fb7d106837098398131e570c6023b68), [`6d19a65`](https://github.com/mastra-ai/mastra/commit/6d19a6517f5da3911023d446b7e2d5dad8adb1cb), [`23b4238`](https://github.com/mastra-ai/mastra/commit/23b423844ad0bcf2a502a68dd62866d6160f9f6d), [`80ad891`](https://github.com/mastra-ai/mastra/commit/80ad891f8cd10379aa5b5af7510c763783b2ab56), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`b1abe41`](https://github.com/mastra-ai/mastra/commit/b1abe41fbb5060b864aaa79e0ac3b5afcd414513), [`fb18da5`](https://github.com/mastra-ai/mastra/commit/fb18da56fc35689ae370621a8f10b5b0d8606e20), [`e320a76`](https://github.com/mastra-ai/mastra/commit/e320a763feaf65c6be3cebecf746defcbde161b3), [`03b4918`](https://github.com/mastra-ai/mastra/commit/03b4918c80d188ce375334c393e131c6e94bd7eb), [`14ef73a`](https://github.com/mastra-ai/mastra/commit/14ef73a4bbd73e7808414816eb0628ce1d80b5d7), [`b582f7f`](https://github.com/mastra-ai/mastra/commit/b582f7fa2f9c1f87d19efc63d344fbe5dda2608c), [`0a6598b`](https://github.com/mastra-ai/mastra/commit/0a6598bde80bde008986ad6616bed9632b9294cb), [`06000d7`](https://github.com/mastra-ai/mastra/commit/06000d73712911572e913b8a83339270296d0a22), [`1d677d5`](https://github.com/mastra-ai/mastra/commit/1d677d5f99d7db403f7828585e8c25f299f72628), [`9e1dad8`](https://github.com/mastra-ai/mastra/commit/9e1dad8f7b1cab2bb7ade90e5b7561f24577b88a), [`2f43145`](https://github.com/mastra-ai/mastra/commit/2f4314504c03cbba280414ac81ba3197448ee6b0), [`4e35a56`](https://github.com/mastra-ai/mastra/commit/4e35a56cdf8d74a5ff6d5eda01f2c1deaf6cc7be), [`d94b8e1`](https://github.com/mastra-ai/mastra/commit/d94b8e1cee67416d518a8c30099040061bef6a1c), [`93e28ec`](https://github.com/mastra-ai/mastra/commit/93e28ecce9031c02397e0ae8406593e5c7a95883), [`729dab4`](https://github.com/mastra-ai/mastra/commit/729dab408faccfaef0cbb048e5a4338f9172847e), [`484003d`](https://github.com/mastra-ai/mastra/commit/484003d33ff59330c86b19863e4a38732d7e4155), [`3de0188`](https://github.com/mastra-ai/mastra/commit/3de0188bfaf9a9c09c95fe322b53838cf52c70b6), [`8ac9019`](https://github.com/mastra-ai/mastra/commit/8ac9019db164b0703035c27da22c28e675053ce2), [`34d34d8`](https://github.com/mastra-ai/mastra/commit/34d34d8c811df512fef4dd5459f79b7821be1866), [`6306f2c`](https://github.com/mastra-ai/mastra/commit/6306f2cac6fbe9a89d881044a609cc1d4aace797), [`b582f7f`](https://github.com/mastra-ai/mastra/commit/b582f7fa2f9c1f87d19efc63d344fbe5dda2608c), [`933d291`](https://github.com/mastra-ai/mastra/commit/933d291146b789c19442ad206f94da3e4be90c64), [`a1cb98d`](https://github.com/mastra-ai/mastra/commit/a1cb98d11990b560b98482292a1f34aa1a2d9092), [`598ad82`](https://github.com/mastra-ai/mastra/commit/598ad82d41c41389a686338a1d0e50b7400e1938), [`1fd6aad`](https://github.com/mastra-ai/mastra/commit/1fd6aad1ea4a9d32f65efa832307c35e981a4c0a)]:
67
+ - @mastra/core@1.56.0
68
+ - @mastra/deployer@1.56.0
69
+
70
+ ## 1.22.0-alpha.8
71
+
72
+ ### Minor Changes
73
+
74
+ - Added `mastra experiment build` to create standalone companion-worker artifacts for running experiments without an HTTP server. For example, run `mastra experiment build --output-dir .mastra/experiment-worker`, then send versioned NDJSON requests on standard input and read protocol events from standard output. ([#20662](https://github.com/mastra-ai/mastra/pull/20662))
75
+
3
76
  ## 1.22.0-alpha.7
4
77
 
5
78
  ### Patch Changes
@@ -1,2 +1,2 @@
1
- import { i as setAnalytics, n as bucketApiHost, r as getAnalytics, t as PosthogAnalytics } from "../analytics-CZk4R5sO.js";
1
+ import { i as setAnalytics, n as bucketApiHost, r as getAnalytics, t as PosthogAnalytics } from "../analytics-CzFlN5Uy.js";
2
2
  export { PosthogAnalytics, bucketApiHost, getAnalytics, setAnalytics };
@@ -1,4 +1,5 @@
1
- import { d as loadCredentials, r as resolveCurrentOrg, u as getToken } from "./orgs-DoKnmO72.js";
1
+ import { a as loadCredentials, i as getToken } from "./credentials-CE1thn6C.js";
2
+ import { r as resolveCurrentOrg } from "./orgs-DOhO9kNz.js";
2
3
  import { InvalidArgumentError } from "commander";
3
4
  import color from "picocolors";
4
5
  import { randomUUID } from "crypto";
@@ -1777,4 +1778,4 @@ var PosthogAnalytics = class PosthogAnalytics {
1777
1778
  //#endregion
1778
1779
  export { DepsService as A, validateProjectName as B, writeAPIKey as C, writeIndexFile as D, writeCodeSample as E, normalizeCreateCommandOptions as F, parseCreateLLMProvider as I, parseCreateTimeout as L, CREATE_LLM_PROVIDERS as M, configureCreateCommand as N, writeObservabilityEnv as O, getCreateMode as P, selectMatchingDistTag as R, readPackageName as S, writeClaudeMarkdown as T, checkForPkgJson as _, getPackageManager as a, getAPIKey as b, isGitInitialized as c, parseMcp as d, shouldSkipDotenvLoading as f, checkAndInstallCoreDeps as g, LLMProvider as h, setAnalytics as i, installMastraDocsMCPServer as j, FileService as k, parseComponents as l, COMPONENTS as m, bucketApiHost as n, getVersionTag as o, wrapAction as p, getAnalytics as r, gitInit as s, PosthogAnalytics as t, parseLlmProvider as u, createComponentsDir as v, writeAgentsMarkdown as w, interactivePrompt as x, createMastraDir as y, validateCreateOptionConflicts as z };
1779
1780
 
1780
- //# sourceMappingURL=analytics-CZk4R5sO.js.map
1781
+ //# sourceMappingURL=analytics-CzFlN5Uy.js.map