@mastra/deployer 1.58.0-alpha.0 → 1.58.0-alpha.12

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 (77) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/dist/_types/@hono_node-server/dist/index.d.mts +101 -0
  3. package/dist/_types/@mastra_hono/dist/index.d.ts +24 -1
  4. package/dist/{analyze-C6SiypMS.cjs → analyze-BIrkd7zx.cjs} +12 -5
  5. package/dist/{analyze-C6SiypMS.cjs.map → analyze-BIrkd7zx.cjs.map} +1 -1
  6. package/dist/{analyze-mZfLnmw2.js → analyze-CNv6Qdaz.js} +12 -5
  7. package/dist/{analyze-mZfLnmw2.js.map → analyze-CNv6Qdaz.js.map} +1 -1
  8. package/dist/build/analyze.cjs +1 -1
  9. package/dist/build/analyze.d.ts.map +1 -1
  10. package/dist/build/analyze.js +1 -1
  11. package/dist/build/bundler.cjs +1 -1
  12. package/dist/build/bundler.d.ts +2 -1
  13. package/dist/build/bundler.d.ts.map +1 -1
  14. package/dist/build/bundler.js +1 -1
  15. package/dist/build/fs-routing/codegen.d.ts +5 -4
  16. package/dist/build/fs-routing/codegen.d.ts.map +1 -1
  17. package/dist/build/fs-routing/discover.d.ts +12 -5
  18. package/dist/build/fs-routing/discover.d.ts.map +1 -1
  19. package/dist/build/index.cjs +5 -5
  20. package/dist/build/index.js +5 -5
  21. package/dist/build/types.d.ts +11 -0
  22. package/dist/build/types.d.ts.map +1 -1
  23. package/dist/build/watcher.d.ts.map +1 -1
  24. package/dist/{build-BEtx4cTU.cjs → build-BERX35Pi.cjs} +31 -19
  25. package/dist/build-BERX35Pi.cjs.map +1 -0
  26. package/dist/{build-C5mUjLVf.js → build-kZfvpuh9.js} +31 -19
  27. package/dist/build-kZfvpuh9.js.map +1 -0
  28. package/dist/bundler/entries.d.ts +12 -0
  29. package/dist/bundler/entries.d.ts.map +1 -0
  30. package/dist/bundler/index.cjs +6 -345
  31. package/dist/bundler/index.d.ts +52 -2
  32. package/dist/bundler/index.d.ts.map +1 -1
  33. package/dist/bundler/index.js +2 -340
  34. package/dist/bundler-Ct1ToG6x.js +565 -0
  35. package/dist/bundler-Ct1ToG6x.js.map +1 -0
  36. package/dist/{bundler-u9WOUtpl.cjs → bundler-DCGtF4jP.cjs} +7 -3
  37. package/dist/{bundler-u9WOUtpl.cjs.map → bundler-DCGtF4jP.cjs.map} +1 -1
  38. package/dist/bundler-DLXwkS7b.cjs +598 -0
  39. package/dist/bundler-DLXwkS7b.cjs.map +1 -0
  40. package/dist/{bundler-U9F2---r.js → bundler-gff4vn1T.js} +8 -4
  41. package/dist/bundler-gff4vn1T.js.map +1 -0
  42. package/dist/{bundlerOptions-CYRir4LE.cjs → bundlerOptions-CjjAPZYp.cjs} +2 -2
  43. package/dist/{bundlerOptions-CYRir4LE.cjs.map → bundlerOptions-CjjAPZYp.cjs.map} +1 -1
  44. package/dist/{bundlerOptions-9DigsVhY.js → bundlerOptions-NMtZPD7p.js} +2 -2
  45. package/dist/{bundlerOptions-9DigsVhY.js.map → bundlerOptions-NMtZPD7p.js.map} +1 -1
  46. package/dist/docs/SKILL.md +1 -1
  47. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  48. package/dist/index.cjs +5 -5
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.js +4 -4
  51. package/dist/server/index.cjs +954 -167
  52. package/dist/server/index.cjs.map +1 -1
  53. package/dist/server/index.d.ts +1 -1
  54. package/dist/server/index.d.ts.map +1 -1
  55. package/dist/server/index.js +955 -167
  56. package/dist/server/index.js.map +1 -1
  57. package/dist/services/deps.d.ts +3 -1
  58. package/dist/services/deps.d.ts.map +1 -1
  59. package/dist/services/index.cjs +1 -1
  60. package/dist/services/index.js +1 -1
  61. package/dist/{services-CHz7RuZ1.js → services-BRF1RRXB.js} +39 -4
  62. package/dist/services-BRF1RRXB.js.map +1 -0
  63. package/dist/{services-Cw3Ho44Z.cjs → services-_ksvysL5.cjs} +39 -4
  64. package/dist/services-_ksvysL5.cjs.map +1 -0
  65. package/package.json +9 -8
  66. package/dist/_types/@hono_node-server/dist/index.d.ts +0 -8
  67. package/dist/_types/@hono_node-server/dist/listener.d.ts +0 -13
  68. package/dist/_types/@hono_node-server/dist/request.d.ts +0 -25
  69. package/dist/_types/@hono_node-server/dist/server.d.ts +0 -10
  70. package/dist/_types/@hono_node-server/dist/types.d.ts +0 -44
  71. package/dist/build-BEtx4cTU.cjs.map +0 -1
  72. package/dist/build-C5mUjLVf.js.map +0 -1
  73. package/dist/bundler/index.cjs.map +0 -1
  74. package/dist/bundler/index.js.map +0 -1
  75. package/dist/bundler-U9F2---r.js.map +0 -1
  76. package/dist/services-CHz7RuZ1.js.map +0 -1
  77. package/dist/services-Cw3Ho44Z.cjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,169 @@
1
1
  # @mastra/deployer
2
2
 
3
+ ## 1.58.0-alpha.12
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`2e4624e`](https://github.com/mastra-ai/mastra/commit/2e4624edb6917e61249cb60ee377735e7af7e4a9), [`e6534fa`](https://github.com/mastra-ai/mastra/commit/e6534fab031216f6cb48c4c9907cbfdce9d60bc6), [`7fdcaa6`](https://github.com/mastra-ai/mastra/commit/7fdcaa66105d64290f9b14432a12ec99f39c4d3a), [`cfd0d9e`](https://github.com/mastra-ai/mastra/commit/cfd0d9ec77ec3c69dd96f79cdb579e03d79f22ce), [`d9d93b2`](https://github.com/mastra-ai/mastra/commit/d9d93b25e4a65ad5fa153fa35be7ed149c8d587f)]:
8
+ - @mastra/core@1.58.0-alpha.12
9
+ - @mastra/server@1.58.0-alpha.12
10
+
11
+ ## 1.58.0-alpha.11
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [[`b8ce7ec`](https://github.com/mastra-ai/mastra/commit/b8ce7ec96e39343c6c2f36d12d68a9ad816c09f7), [`a3a3624`](https://github.com/mastra-ai/mastra/commit/a3a3624f646b98e409424d8defccbd334da9e8b8), [`6246914`](https://github.com/mastra-ai/mastra/commit/62469146636911f3cbbe0880bd011c6a897a59a7), [`3f73c07`](https://github.com/mastra-ai/mastra/commit/3f73c076727e8c36b4fff7a1b40290fb68957fa8), [`7c1ebb1`](https://github.com/mastra-ai/mastra/commit/7c1ebb15690c4b3f0eabb19077cf8af573311e57), [`32980a3`](https://github.com/mastra-ai/mastra/commit/32980a3e2413d0274ac244d32c37d910edc13f00), [`4bcdfaf`](https://github.com/mastra-ai/mastra/commit/4bcdfaf0eac3199d7cb171b0a19a92c9c341eea4), [`af4636a`](https://github.com/mastra-ai/mastra/commit/af4636a74463275d71c1d13a38f7d2b738f128bf), [`a463cdf`](https://github.com/mastra-ai/mastra/commit/a463cdf1c95c3059e70f0bff27959e8558bb899d), [`0ea6b80`](https://github.com/mastra-ai/mastra/commit/0ea6b8001408ce02b56e8be0536b0fd8cbaf8ad2)]:
16
+ - @mastra/core@1.58.0-alpha.11
17
+ - @mastra/server@1.58.0-alpha.11
18
+
19
+ ## 1.58.0-alpha.10
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [[`14d5cae`](https://github.com/mastra-ai/mastra/commit/14d5cae55d28edf94c7e0e2443aa30bd5f0f2888), [`66bbfb5`](https://github.com/mastra-ai/mastra/commit/66bbfb5f05b473d39f88c0e4a481ccac41634f3a)]:
24
+ - @mastra/server@1.58.0-alpha.10
25
+ - @mastra/core@1.58.0-alpha.10
26
+
27
+ ## 1.58.0-alpha.9
28
+
29
+ ### Patch Changes
30
+
31
+ - Updated dependencies [[`86b7b77`](https://github.com/mastra-ai/mastra/commit/86b7b777980d30f66e1fd134a37d2af4c22e54cc), [`80a3324`](https://github.com/mastra-ai/mastra/commit/80a33245d3110204de6f56d61211523ffe338692), [`d9d2881`](https://github.com/mastra-ai/mastra/commit/d9d2881ede6dd6c023d144215fc812062aed0890), [`82e3365`](https://github.com/mastra-ai/mastra/commit/82e3365ef7c9bf7bee2e7a7029035ea262d68895), [`1b482c2`](https://github.com/mastra-ai/mastra/commit/1b482c2d89244dd758c41e5f927a2b44041388d2), [`e6a2860`](https://github.com/mastra-ai/mastra/commit/e6a2860649cc51f87d32d78b766ae2126446ba07), [`7bd85ea`](https://github.com/mastra-ai/mastra/commit/7bd85ea7588b71c25ce9f4019c88f8539be5dcbc)]:
32
+ - @mastra/core@1.58.0-alpha.9
33
+ - @mastra/server@1.58.0-alpha.9
34
+
35
+ ## 1.58.0-alpha.8
36
+
37
+ ### Patch Changes
38
+
39
+ - Add `bundler.minify` to minify `mastra build` output ([#21032](https://github.com/mastra-ai/mastra/pull/21032))
40
+
41
+ `mastra build` always emitted unminified code, which is larger than necessary when packaging for production — a container image or an on-prem deployment.
42
+
43
+ Set `bundler.minify: true` to minify the emitted bundle. Minification runs over whole chunks, so comments and whitespace are dropped and local identifiers are shortened while exported names are preserved.
44
+
45
+ ```typescript
46
+ export const mastra = new Mastra({
47
+ bundler: {
48
+ minify: true,
49
+ },
50
+ });
51
+ ```
52
+
53
+ Defaults to `false`, so existing builds are unchanged. `mastra dev` is never minified.
54
+
55
+ - Updated dependencies [[`1c75e32`](https://github.com/mastra-ai/mastra/commit/1c75e32f7fc0b9fb6f548b4407feaec8a1440212), [`c47165c`](https://github.com/mastra-ai/mastra/commit/c47165c983c87594c6952f1fd2fa51a90205034c), [`e08e789`](https://github.com/mastra-ai/mastra/commit/e08e789c1bf4cd2fe46363f7a4728536ceccc9bd), [`35cc901`](https://github.com/mastra-ai/mastra/commit/35cc90102cf834a84827acaf9eee0b6d6d1e2a3b), [`a8b4cf0`](https://github.com/mastra-ai/mastra/commit/a8b4cf02823cffebc4751a53337dfacf097c1ae1), [`f33264f`](https://github.com/mastra-ai/mastra/commit/f33264f517ae603279afd5c4251e2b40f6dd3618), [`689f2c4`](https://github.com/mastra-ai/mastra/commit/689f2c4b6c0835fe455702b01d21daa8abcd9331), [`eeae63e`](https://github.com/mastra-ai/mastra/commit/eeae63e7fbe8e1f237adc69bca6e2ac13c5ca907), [`4c186a0`](https://github.com/mastra-ai/mastra/commit/4c186a017275f45e6ed4c09de0f89550e2d09e8c), [`b0fa077`](https://github.com/mastra-ai/mastra/commit/b0fa077bcbc9b08551846fe372a0d3d15b71ed72), [`6810de3`](https://github.com/mastra-ai/mastra/commit/6810de34236f10ec6b82f3d0557937a831dcf9e5)]:
56
+ - @mastra/core@1.58.0-alpha.8
57
+ - @mastra/server@1.58.0-alpha.8
58
+
59
+ ## 1.58.0-alpha.7
60
+
61
+ ### Patch Changes
62
+
63
+ - Updated dependencies [[`7fb580a`](https://github.com/mastra-ai/mastra/commit/7fb580ac73fbcacf2ff00872a3395f73ae1b9fa5), [`333785c`](https://github.com/mastra-ai/mastra/commit/333785c93cbb01e42c60167e995457c28897ddbf), [`2eabc09`](https://github.com/mastra-ai/mastra/commit/2eabc097d86d52fbd0123da36a7c874154cc384f), [`83fa004`](https://github.com/mastra-ai/mastra/commit/83fa0044bfda8b703a83883dbd8bef204844d13f)]:
64
+ - @mastra/core@1.58.0-alpha.7
65
+ - @mastra/server@1.58.0-alpha.7
66
+
67
+ ## 1.58.0-alpha.6
68
+
69
+ ### Patch Changes
70
+
71
+ - Updated dependencies [[`f59032a`](https://github.com/mastra-ai/mastra/commit/f59032a73699443555a08a479e7ac578975784f2), [`bf936e2`](https://github.com/mastra-ai/mastra/commit/bf936e2c89b2ff0dad5695b873ddc009ba96d41e), [`a2610c7`](https://github.com/mastra-ai/mastra/commit/a2610c798e9baf28502b9ad3050e6f76c80fe2f3)]:
72
+ - @mastra/core@1.58.0-alpha.6
73
+ - @mastra/server@1.58.0-alpha.6
74
+
75
+ ## 1.58.0-alpha.5
76
+
77
+ ### Patch Changes
78
+
79
+ - Updated dependencies [[`6445eba`](https://github.com/mastra-ai/mastra/commit/6445eba6020abac681aba1cc9289f446cb400cbe), [`df31eb0`](https://github.com/mastra-ai/mastra/commit/df31eb0c7087d782a0d9346e467f9a4af4b0eef6), [`fcd0667`](https://github.com/mastra-ai/mastra/commit/fcd0667a4e378be35c9a1b1eb19cce78fbfd7282), [`fcd0667`](https://github.com/mastra-ai/mastra/commit/fcd0667a4e378be35c9a1b1eb19cce78fbfd7282), [`bab06b1`](https://github.com/mastra-ai/mastra/commit/bab06b18923873a584bdfc71a6b4ec7fb4727fb7)]:
80
+ - @mastra/core@1.58.0-alpha.5
81
+ - @mastra/server@1.58.0-alpha.5
82
+
83
+ ## 1.58.0-alpha.4
84
+
85
+ ### Minor Changes
86
+
87
+ - Added `bundler.entries` so `mastra build` can emit extra process entries next to the server bundle. ([#20850](https://github.com/mastra-ai/mastra/pull/20850))
88
+
89
+ A Mastra app that runs a second long-running process, such as a LiveKit voice worker, previously had to bundle that process with its own toolchain because `mastra build` only emitted `index.mjs`. Declare the extra entries in your Mastra config instead:
90
+
91
+ ```typescript title="src/mastra/index.ts"
92
+ export const mastra = new Mastra({
93
+ bundler: {
94
+ entries: { 'voice-worker': './voice-worker.ts' },
95
+ externals: true,
96
+ },
97
+ });
98
+ ```
99
+
100
+ `mastra build` now emits `.mastra/output/voice-worker.mjs` beside `.mastra/output/index.mjs`. Both share one output directory, one `package.json`, and one dependency install, so a single build produces one deployable artifact you start with different commands:
101
+
102
+ ```bash
103
+ node .mastra/output/index.mjs # server
104
+ node .mastra/output/voice-worker.mjs start # worker
105
+ ```
106
+
107
+ Dependencies imported only by an extra entry are analyzed too, so they land in the generated `package.json` and resolve at runtime.
108
+
109
+ Entry names may contain `/` to nest the output, but cannot be `index` (the server bundle), `tools` (the tool aggregator), or start with `tools/` (tool bundles).
110
+
111
+ ### Patch Changes
112
+
113
+ - Fixed user-registered middleware (`serverMiddleware` and `server.middleware`) being able to return a 401 for framework-public routes such as the Studio sign-in endpoints. ([#20989](https://github.com/mastra-ai/mastra/pull/20989))
114
+
115
+ The deployer now wraps every user middleware with `skipIfFrameworkPublic` from `@mastra/hono`, so requests to routes declared public via `createPublicRoute()` / `requiresAuth: false` always reach their handler.
116
+
117
+ - Updated dependencies [[`c271cae`](https://github.com/mastra-ai/mastra/commit/c271caebd0add9f5d610db0fdb75915fb2b71c18), [`76e5132`](https://github.com/mastra-ai/mastra/commit/76e51328dbc0749c8304e6b3f21e4401f451b081), [`0282e16`](https://github.com/mastra-ai/mastra/commit/0282e16115538c8e9b248b90f0748eb01cb5dc98)]:
118
+ - @mastra/server@1.58.0-alpha.4
119
+ - @mastra/core@1.58.0-alpha.4
120
+
121
+ ## 1.58.0-alpha.3
122
+
123
+ ### Patch Changes
124
+
125
+ - Fixed browser A2A v1 requests by allowing the `A2A-Version` header in the default CORS configuration. ([#20811](https://github.com/mastra-ai/mastra/pull/20811))
126
+
127
+ - Updated dependencies [[`cdd5c33`](https://github.com/mastra-ai/mastra/commit/cdd5c33ac6c7118a9f139e6dc0e14e6a8ae31658), [`d7cf7fa`](https://github.com/mastra-ai/mastra/commit/d7cf7fafc1ae1b50bd8462dd0e6c671a8606db93), [`0f9a448`](https://github.com/mastra-ai/mastra/commit/0f9a448502157e59f7b76f24360ad497168f5ef8), [`289f4ce`](https://github.com/mastra-ai/mastra/commit/289f4ce16e3293370440172132c52ee787cbc09f), [`4f16ff8`](https://github.com/mastra-ai/mastra/commit/4f16ff824bf2f9b0ddc93f210477c10c8a4fb1ab), [`1c67d85`](https://github.com/mastra-ai/mastra/commit/1c67d85e9da8285662f4dbbf47e0378c3fee0747), [`ba24be6`](https://github.com/mastra-ai/mastra/commit/ba24be662439c331ab23a600041f93803c89eca8), [`842b5fe`](https://github.com/mastra-ai/mastra/commit/842b5fe22b6a7fa811bd14e48eb9af523ac989f2), [`80bdf3a`](https://github.com/mastra-ai/mastra/commit/80bdf3ae16ade6ff63bde0cb16fa2df8ab7dd4dd), [`9ba1247`](https://github.com/mastra-ai/mastra/commit/9ba12470c77f1c03642d720ce67e517e878f666e), [`fd96298`](https://github.com/mastra-ai/mastra/commit/fd96298a8367622f4ebfcaa97b5b6c1fbbd14564), [`6b5fe46`](https://github.com/mastra-ai/mastra/commit/6b5fe464a97ac4845ce26475f347811fc7fb9684), [`6a84954`](https://github.com/mastra-ai/mastra/commit/6a84954a2667f85b6d59da652dab1bbff007ccb0), [`52d8ef0`](https://github.com/mastra-ai/mastra/commit/52d8ef03801f1deb7ee48532fc4190dd4a33916c), [`cdd5c33`](https://github.com/mastra-ai/mastra/commit/cdd5c33ac6c7118a9f139e6dc0e14e6a8ae31658), [`87db0e4`](https://github.com/mastra-ai/mastra/commit/87db0e49a8c04030eb74fff7f051fac330678839), [`efd5c81`](https://github.com/mastra-ai/mastra/commit/efd5c81cc25fde3c2ddd86fc1178deb4ec176e19), [`0976933`](https://github.com/mastra-ai/mastra/commit/0976933142333ec78451feef265b68bcb45aa5e7), [`7010c5d`](https://github.com/mastra-ai/mastra/commit/7010c5d15728bf9c5dfe4fb6b1bf80ce23bf143a), [`242b945`](https://github.com/mastra-ai/mastra/commit/242b94558777bfbdeb42cbfea84afff0b6ad0633), [`fea5cae`](https://github.com/mastra-ai/mastra/commit/fea5caedc7e2cfea51784a15e015952692027abf), [`4b59f78`](https://github.com/mastra-ai/mastra/commit/4b59f786cbc9a7d1ef07a07517dbd4b96865e99d), [`7010c5d`](https://github.com/mastra-ai/mastra/commit/7010c5d15728bf9c5dfe4fb6b1bf80ce23bf143a)]:
128
+ - @mastra/core@1.58.0-alpha.3
129
+ - @mastra/server@1.58.0-alpha.3
130
+
131
+ ## 1.58.0-alpha.2
132
+
133
+ ### Minor Changes
134
+
135
+ - Added discovery and bundling for `instructions.ts` in file-based agent directories, so an agent can define its prompt in TypeScript instead of `instructions.md`. ([#20847](https://github.com/mastra-ai/mastra/pull/20847))
136
+
137
+ ```typescript title="src/mastra/agents/weather/instructions.ts"
138
+ export default 'You are a helpful weather assistant.';
139
+ ```
140
+
141
+ Unlike `instructions.md`, whose text is inlined into the generated code, `instructions.ts` is imported. It can therefore import from the rest of your project, and `mastra dev` picks up edits through the normal module graph.
142
+
143
+ A directory holding only an `instructions.ts` now counts as an agent, and subagent directories follow the same rule. Symlinked `instructions.ts` files are skipped, matching how `config.ts` and `memory.ts` are handled.
144
+
145
+ If you already keep an unrelated `instructions.ts` inside an agent directory, for example a helper that `config.ts` imports, rename it. Mastra now reads that file as the agent's instructions and the build fails if it has no default export.
146
+
147
+ ### Patch Changes
148
+
149
+ - Updated dependencies [[`c4ec889`](https://github.com/mastra-ai/mastra/commit/c4ec889561c0264c43f66d04d587bee4ce35e792), [`b4c89b4`](https://github.com/mastra-ai/mastra/commit/b4c89b4371b0c86da57403ad1a3b3ef0681f3128), [`e44e8f3`](https://github.com/mastra-ai/mastra/commit/e44e8f370b66c339ddcaba946d33da6d3c3f06cd), [`c967a5e`](https://github.com/mastra-ai/mastra/commit/c967a5eec150c5dc5418c4a4388982d1fb7ad27c), [`f53d5bd`](https://github.com/mastra-ai/mastra/commit/f53d5bd4885b29e4ac29a428a6044088ea8d6aa3), [`bda2235`](https://github.com/mastra-ai/mastra/commit/bda22353ee28f2df0eaea555f7cae1549f979c0b), [`a7eb4a1`](https://github.com/mastra-ai/mastra/commit/a7eb4a11450f6170274ed5141bffe821d4fdd5a6), [`2f9ef3f`](https://github.com/mastra-ai/mastra/commit/2f9ef3f4ca06fc2dcdd5088c26b7f4da6a016791), [`e7eefcb`](https://github.com/mastra-ai/mastra/commit/e7eefcb162cda7c493e8c3bf43050ead0efbcb2c), [`4d7aca2`](https://github.com/mastra-ai/mastra/commit/4d7aca2fe75f225c83d1502d63079568e6ec163f), [`c4ec889`](https://github.com/mastra-ai/mastra/commit/c4ec889561c0264c43f66d04d587bee4ce35e792), [`414d137`](https://github.com/mastra-ai/mastra/commit/414d1379b1911f8cf9e35b38504ec70bdacc2dfd), [`9be8878`](https://github.com/mastra-ai/mastra/commit/9be8878dcf0388e84fc4873e0eec27bd49b881a4)]:
150
+ - @mastra/server@1.58.0-alpha.2
151
+ - @mastra/core@1.58.0-alpha.2
152
+
153
+ ## 1.58.0-alpha.1
154
+
155
+ ### Patch Changes
156
+
157
+ - Fixed `mastra build` so the generated output keeps the dependency version ranges declared in your app's `package.json`, instead of pinning whatever version happened to be installed. An app that depends on `zod: ^4.3.6` next to a hoisted `zod@3.25.76` now gets `^4.3.6` in `.mastra/output/package.json`, so the isolated install resolves the version the app asked for. A package pinned through `overrides`, `resolutions`, `pnpm.overrides` or `pnpm-workspace.yaml` keeps its resolved version, since that version was chosen deliberately. Specifiers the output directory cannot resolve, such as `catalog:`, `workspace:`, `file:`, `link:` and git URLs, keep using the resolved version too. ([#17915](https://github.com/mastra-ai/mastra/pull/17915))
158
+
159
+ - Fixed deployment artifact generation to reject invalid pnpm build approvals and preserve configured native dependencies without loading their binaries during validation. ([#20719](https://github.com/mastra-ai/mastra/pull/20719))
160
+
161
+ - Fixed bundler validation failing when a workspace package transitively imports a third-party dependency that was already listed in `bundler.externals`. The validation subprocess now stubs user-configured externals, matching the bundler's own treatment of them. ([#16639](https://github.com/mastra-ai/mastra/pull/16639))
162
+
163
+ - Updated dependencies [[`e7109ee`](https://github.com/mastra-ai/mastra/commit/e7109ee6f731bacc79c885906f3c7dca8d8f013a), [`697d059`](https://github.com/mastra-ai/mastra/commit/697d05953049bf6d09e89646c137b76f8ed472ad), [`772c0c8`](https://github.com/mastra-ai/mastra/commit/772c0c897cec383258de2e6178147f8014767c7b), [`578bf2e`](https://github.com/mastra-ai/mastra/commit/578bf2e6a88e9d5b8bf502204e15a95dfbb679ae), [`9deeb52`](https://github.com/mastra-ai/mastra/commit/9deeb521d0016e36417491bd04aed170c2f9b155), [`06b2d87`](https://github.com/mastra-ai/mastra/commit/06b2d87e63bcdd0ed59215c6789692b9b12de376), [`ac01d63`](https://github.com/mastra-ai/mastra/commit/ac01d6355974aec73fdb8781449ed12bac582094), [`a810a05`](https://github.com/mastra-ai/mastra/commit/a810a058f62ad407cfc1701e0be36ae91145d7cf), [`f8da216`](https://github.com/mastra-ai/mastra/commit/f8da21633e7eb0e31c9ce0fc30567870d19416d3), [`6f6a8de`](https://github.com/mastra-ai/mastra/commit/6f6a8de847dc702c98d1a1421ca41da41b011dcd), [`6104347`](https://github.com/mastra-ai/mastra/commit/61043473ba6bfd0a25156824e853e13165562e6c), [`45bfb88`](https://github.com/mastra-ai/mastra/commit/45bfb88fd52f1dd3be20e2a38905777c96499c90), [`0320d2e`](https://github.com/mastra-ai/mastra/commit/0320d2e1845ae4780c6b1a41a0d85981087ba8e0), [`e3b9307`](https://github.com/mastra-ai/mastra/commit/e3b9307098daefbfae2a52ae2ef51bc9fc701190), [`d6834c5`](https://github.com/mastra-ai/mastra/commit/d6834c5a7866b16734d23900163c2414ed70d791), [`c52d346`](https://github.com/mastra-ai/mastra/commit/c52d3462ec831a5d95926ecd3d3373f5928ad2e5), [`0023e79`](https://github.com/mastra-ai/mastra/commit/0023e7919431078280abd11c89d1edeae35fcc69), [`c2ad51e`](https://github.com/mastra-ai/mastra/commit/c2ad51e2467f901eecba8c9f4a45e22a50bd7c18), [`772c0c8`](https://github.com/mastra-ai/mastra/commit/772c0c897cec383258de2e6178147f8014767c7b), [`06b2d87`](https://github.com/mastra-ai/mastra/commit/06b2d87e63bcdd0ed59215c6789692b9b12de376), [`3dc97ea`](https://github.com/mastra-ai/mastra/commit/3dc97ea415fad353b48a13095fad1835933cc12a), [`3d01cd3`](https://github.com/mastra-ai/mastra/commit/3d01cd387321b6f9c5cac31d487c84bf51b19c78), [`7bf3086`](https://github.com/mastra-ai/mastra/commit/7bf308663f0115ca74ad20554ade740f06640859), [`a8dd139`](https://github.com/mastra-ai/mastra/commit/a8dd1391a9fe9a6632c25809ef236980afa9a020), [`e5786be`](https://github.com/mastra-ai/mastra/commit/e5786be02bb903073082bd9d6da880ebaacc343f), [`e5786be`](https://github.com/mastra-ai/mastra/commit/e5786be02bb903073082bd9d6da880ebaacc343f), [`2093fbd`](https://github.com/mastra-ai/mastra/commit/2093fbd53bb744bae19ec89f6d73db9a66fbe8a7), [`e7a5da4`](https://github.com/mastra-ai/mastra/commit/e7a5da4ef8e4dd452d2f232961b4e682a85ffe43), [`7b4393d`](https://github.com/mastra-ai/mastra/commit/7b4393d557411fdcf07b0e30e5acaf7cc85154ae)]:
164
+ - @mastra/core@1.58.0-alpha.1
165
+ - @mastra/server@1.58.0-alpha.1
166
+
3
167
  ## 1.58.0-alpha.0
4
168
 
5
169
  ### Minor Changes
@@ -0,0 +1,101 @@
1
+ import { IncomingMessage, Server, ServerOptions, ServerResponse, createServer } from "node:http";
2
+ import { Http2SecureServer, Http2Server, Http2ServerRequest, Http2ServerResponse, SecureServerOptions, ServerOptions as ServerOptions$1, createSecureServer, createServer as createServer$1 } from "node:http2";
3
+ import { Duplex } from "node:stream";
4
+ import { UpgradeWebSocket } from "hono/ws";
5
+ import { AddressInfo } from "node:net";
6
+ import { ServerOptions as ServerOptions$2, createServer as createServer$2 } from "node:https";
7
+
8
+ //#region src/websocket-types.d.ts
9
+ type WSReadyState = 0 | 1 | 2 | 3;
10
+ type WebSocketData = string | ArrayBuffer | Uint8Array | readonly Uint8Array[];
11
+ type WebSocketSendOptions = {
12
+ compress?: boolean;
13
+ };
14
+ interface WebSocketLike {
15
+ protocol: string;
16
+ readyState: WSReadyState;
17
+ close(code?: number, reason?: string): void;
18
+ send(data: string | ArrayBuffer | ArrayBufferView, options?: WebSocketSendOptions): void;
19
+ on(event: 'message', listener: (data: WebSocketData, isBinary: boolean) => void): this;
20
+ on(event: 'close', listener: (code: number, reason: Uint8Array) => void): this;
21
+ on(event: 'error', listener: (error: unknown) => void): this;
22
+ off(event: 'message', listener: (data: WebSocketData, isBinary: boolean) => void): this;
23
+ }
24
+ interface WebSocketServerLike {
25
+ options: {
26
+ noServer?: boolean;
27
+ };
28
+ on(event: 'connection', listener: (ws: WebSocketLike, request: IncomingMessage) => void): this;
29
+ on(event: 'headers', listener: (headers: string[]) => void): this;
30
+ off(event: 'headers', listener: (headers: string[]) => void): this;
31
+ emit(event: 'connection', ws: WebSocketLike, request: IncomingMessage): boolean;
32
+ handleUpgrade(request: IncomingMessage, socket: Duplex, head: Buffer, callback: (ws: WebSocketLike) => void): void;
33
+ close(): void;
34
+ }
35
+ //#endregion
36
+ //#region src/types.d.ts
37
+ type HttpBindings = {
38
+ incoming: IncomingMessage;
39
+ outgoing: ServerResponse;
40
+ };
41
+ type Http2Bindings = {
42
+ incoming: Http2ServerRequest;
43
+ outgoing: Http2ServerResponse;
44
+ };
45
+ type FetchCallback = (request: Request, env: HttpBindings | Http2Bindings) => Promise<unknown> | unknown;
46
+ type ServerType = Server | Http2Server | Http2SecureServer;
47
+ type createHttpOptions = {
48
+ serverOptions?: ServerOptions;
49
+ createServer?: typeof createServer;
50
+ };
51
+ type createHttpsOptions = {
52
+ serverOptions?: ServerOptions$2;
53
+ createServer?: typeof createServer$2;
54
+ };
55
+ type createHttp2Options = {
56
+ serverOptions?: ServerOptions$1;
57
+ createServer?: typeof createServer$1;
58
+ };
59
+ type createSecureHttp2Options = {
60
+ serverOptions?: SecureServerOptions;
61
+ createServer?: typeof createSecureServer;
62
+ };
63
+ type ServerOptions$3 = createHttpOptions | createHttpsOptions | createHttp2Options | createSecureHttp2Options;
64
+ type Options = {
65
+ fetch: FetchCallback;
66
+ overrideGlobalObjects?: boolean;
67
+ autoCleanupIncoming?: boolean;
68
+ port?: number;
69
+ hostname?: string;
70
+ websocket?: {
71
+ server: WebSocketServerLike;
72
+ };
73
+ } & ServerOptions$3;
74
+ type CustomErrorHandler = (err: unknown) => void | Response | Promise<void | Response>;
75
+ //#endregion
76
+ //#region src/server.d.ts
77
+ declare const createAdaptorServer: (options: Options) => ServerType;
78
+ declare const serve: (options: Options, listeningListener?: (info: AddressInfo) => void) => ServerType;
79
+ //#endregion
80
+ //#region src/websocket.d.ts
81
+ type UpgradeWebSocketOptions = {
82
+ onError: (err: unknown) => void;
83
+ };
84
+ declare const upgradeWebSocket: UpgradeWebSocket<WebSocketLike, UpgradeWebSocketOptions>;
85
+ //#endregion
86
+ //#region src/listener.d.ts
87
+ declare const getRequestListener: (fetchCallback: FetchCallback, options?: {
88
+ hostname?: string;
89
+ errorHandler?: CustomErrorHandler;
90
+ overrideGlobalObjects?: boolean;
91
+ autoCleanupIncoming?: boolean;
92
+ }) => (incoming: IncomingMessage | Http2ServerRequest, outgoing: ServerResponse | Http2ServerResponse) => Promise<void>;
93
+ //#endregion
94
+ //#region src/error.d.ts
95
+ declare class RequestError extends Error {
96
+ constructor(message: string, options?: {
97
+ cause?: unknown;
98
+ });
99
+ }
100
+ //#endregion
101
+ export { type Http2Bindings, type HttpBindings, RequestError, type ServerType, type WebSocketData, type WebSocketLike, type WebSocketServerLike, createAdaptorServer, getRequestListener, serve, upgradeWebSocket };
@@ -3,7 +3,7 @@ import type { Mastra } from '@mastra/core/mastra';
3
3
  import type { RequestContext } from '@mastra/core/request-context';
4
4
  import type { InMemoryTaskStore } from '@mastra/server/a2a/store';
5
5
  import type { ParsedRequestParams, ServerRoute } from '@mastra/server/server-adapter';
6
- import { MastraServer as MastraServerBase } from '@mastra/server/server-adapter';
6
+ import { MASTRA_FRAMEWORK_PUBLIC_KEY, MastraServer as MastraServerBase } from '@mastra/server/server-adapter';
7
7
  import type { Context, HonoRequest, MiddlewareHandler } from 'hono';
8
8
  export { createAuthMiddleware } from './auth-middleware.js';
9
9
  export type { HonoAuthMiddlewareOptions } from './auth-middleware.js';
@@ -16,7 +16,30 @@ export type HonoVariables = {
16
16
  taskStore: InMemoryTaskStore;
17
17
  customRouteAuthConfig?: Map<string, boolean>;
18
18
  cachedBody?: unknown;
19
+ /**
20
+ * True when the current request targets a route the framework has declared
21
+ * public (`requiresAuth: false`). Adapter authors MUST wrap user-registered
22
+ * middleware with {@link skipIfFrameworkPublic} so that user middleware
23
+ * cannot 401 these routes.
24
+ */
25
+ [MASTRA_FRAMEWORK_PUBLIC_KEY]?: boolean;
19
26
  };
27
+ export { MASTRA_FRAMEWORK_PUBLIC_KEY } from '@mastra/server/server-adapter';
28
+ /**
29
+ * Wrap a Hono middleware handler so it becomes a no-op for framework-public
30
+ * routes (routes registered with `requiresAuth: false`).
31
+ *
32
+ * Adapters that expose user-provided middleware — for example `serverMiddleware`
33
+ * on the Mastra instance or `server.middleware` in Mastra config — MUST wrap
34
+ * those handlers with this before registering them. This is the framework's
35
+ * guarantee that user middleware cannot accidentally (or intentionally) 401
36
+ * routes the framework needs to keep reachable (e.g. Studio sign-in endpoints).
37
+ *
38
+ * The framework-public flag is computed once per request by
39
+ * {@link MastraServer.registerContextMiddleware} and stashed on the Hono
40
+ * context under `MASTRA_FRAMEWORK_PUBLIC_KEY`.
41
+ */
42
+ export declare const skipIfFrameworkPublic: (handler: MiddlewareHandler) => MiddlewareHandler;
20
43
  export type HonoBindings = {};
21
44
  /**
22
45
  * Generic handler function type compatible across Hono versions.
@@ -1,7 +1,7 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.cjs");
2
2
  const require_utils = require("./utils-O98BGdnP.cjs");
3
- const require_services = require("./services-Cw3Ho44Z.cjs");
4
- const require_bundler = require("./bundler-u9WOUtpl.cjs");
3
+ const require_services = require("./services-_ksvysL5.cjs");
4
+ const require_bundler = require("./bundler-DCGtF4jP.cjs");
5
5
  let child_process = require("child_process");
6
6
  let fs = require("fs");
7
7
  let fs_promises = require("fs/promises");
@@ -1193,7 +1193,7 @@ async function validateFile(root, file, { binaryMapData, moduleResolveMapLocatio
1193
1193
  * @param workspaceMap - Map of workspace packages that gets directly passed through for later consumption
1194
1194
  * @returns Analysis result containing dependency mappings
1195
1195
  */
1196
- async function validateOutput({ output, reverseVirtualReferenceMap, usedExternals, outputDir, projectRoot, workspaceMap, depsVersionInfo }, logger) {
1196
+ async function validateOutput({ output, reverseVirtualReferenceMap, usedExternals, userExternals, outputDir, projectRoot, workspaceMap, depsVersionInfo }, logger) {
1197
1197
  const result = {
1198
1198
  dependencies: /* @__PURE__ */ new Map(),
1199
1199
  externalDependencies: /* @__PURE__ */ new Map(),
@@ -1213,6 +1213,12 @@ async function validateOutput({ output, reverseVirtualReferenceMap, usedExternal
1213
1213
  const binaryMap = await (0, fs_promises.readFile)((0, path.join)(outputDir, "binary-map.json"), "utf-8");
1214
1214
  binaryMapData = JSON.parse(binaryMap);
1215
1215
  }
1216
+ const stubbedExternals = [.../* @__PURE__ */ new Set([
1217
+ ...GLOBAL_EXTERNALS,
1218
+ ...DEPS_TO_IGNORE,
1219
+ ...userExternals,
1220
+ ...result.externalDependencies.keys()
1221
+ ])];
1216
1222
  for (const file of output) {
1217
1223
  if (file.type === "asset") continue;
1218
1224
  logger.debug("Validating module", { fileName: file.fileName });
@@ -1222,7 +1228,7 @@ async function validateOutput({ output, reverseVirtualReferenceMap, usedExternal
1222
1228
  moduleResolveMapLocation: (0, path.join)(outputDir, "module-resolve-map.json"),
1223
1229
  logger,
1224
1230
  workspaceMap,
1225
- stubbedExternals: [...GLOBAL_EXTERNALS, ...DEPS_TO_IGNORE]
1231
+ stubbedExternals
1226
1232
  });
1227
1233
  }
1228
1234
  return result;
@@ -1340,6 +1346,7 @@ async function analyzeBundle(entries, mastraEntry, { outputDir, projectRoot, pla
1340
1346
  output,
1341
1347
  reverseVirtualReferenceMap: fileNameToDependencyMap,
1342
1348
  usedExternals,
1349
+ userExternals,
1343
1350
  outputDir,
1344
1351
  projectRoot: workspaceRoot || projectRoot,
1345
1352
  workspaceMap,
@@ -1424,4 +1431,4 @@ Object.defineProperty(exports, "packWorkspaceDependencies", {
1424
1431
  }
1425
1432
  });
1426
1433
 
1427
- //# sourceMappingURL=analyze-C6SiypMS.cjs.map
1434
+ //# sourceMappingURL=analyze-BIrkd7zx.cjs.map