@mastra/server 0.0.0-span-scorring-test-20251124132129 → 0.0.0-standard-schema-20260126101119

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 (402) hide show
  1. package/CHANGELOG.md +1811 -32
  2. package/README.md +2 -2
  3. package/a2a/store.d.ts +1 -0
  4. package/auth.d.ts +1 -0
  5. package/dist/{chunk-SHWNNZBL.js → chunk-24SISJRB.js} +13 -17
  6. package/dist/chunk-24SISJRB.js.map +1 -0
  7. package/dist/chunk-2VUOF2MV.cjs +190 -0
  8. package/dist/chunk-2VUOF2MV.cjs.map +1 -0
  9. package/dist/chunk-3JOHBO6Z.cjs +603 -0
  10. package/dist/chunk-3JOHBO6Z.cjs.map +1 -0
  11. package/dist/chunk-3W67K7YE.js +13 -0
  12. package/dist/chunk-3W67K7YE.js.map +1 -0
  13. package/dist/{chunk-ASZUOBKV.js → chunk-47MMB22J.js} +42 -20
  14. package/dist/chunk-47MMB22J.js.map +1 -0
  15. package/dist/chunk-4HFYR562.cjs +82 -0
  16. package/dist/chunk-4HFYR562.cjs.map +1 -0
  17. package/dist/chunk-55TH4ME5.js +170 -0
  18. package/dist/chunk-55TH4ME5.js.map +1 -0
  19. package/dist/chunk-5WFQ4ZBQ.cjs +31787 -0
  20. package/dist/chunk-5WFQ4ZBQ.cjs.map +1 -0
  21. package/dist/{chunk-QU6N55W6.cjs → chunk-6G2RQWKA.cjs} +17 -21
  22. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  23. package/dist/{chunk-ZLRTFRL4.js → chunk-6GFG23PC.js} +407 -91
  24. package/dist/chunk-6GFG23PC.js.map +1 -0
  25. package/dist/{chunk-UXGQZUYZ.js → chunk-7AINN3FK.js} +13 -3
  26. package/dist/chunk-7AINN3FK.js.map +1 -0
  27. package/dist/chunk-7D3UAMQM.cjs +82 -0
  28. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  29. package/dist/chunk-ASLDC3OZ.cjs +450 -0
  30. package/dist/chunk-ASLDC3OZ.cjs.map +1 -0
  31. package/dist/{chunk-QGWCNTG6.cjs → chunk-C3FFJPAW.cjs} +493 -172
  32. package/dist/chunk-C3FFJPAW.cjs.map +1 -0
  33. package/dist/{chunk-3R5EV3HV.js → chunk-C7GSYEQP.js} +36 -29
  34. package/dist/chunk-C7GSYEQP.js.map +1 -0
  35. package/dist/chunk-CK632IRI.cjs +47 -0
  36. package/dist/chunk-CK632IRI.cjs.map +1 -0
  37. package/dist/{chunk-R4M3BSUG.js → chunk-DOU5IGJB.js} +26 -10
  38. package/dist/chunk-DOU5IGJB.js.map +1 -0
  39. package/dist/{chunk-6DTV6NEW.js → chunk-DP474KY4.js} +11 -8
  40. package/dist/chunk-DP474KY4.js.map +1 -0
  41. package/dist/{chunk-FXDZLX2Y.js → chunk-DUVMVT64.js} +37 -26
  42. package/dist/chunk-DUVMVT64.js.map +1 -0
  43. package/dist/chunk-F2IYPGYA.cjs +322 -0
  44. package/dist/chunk-F2IYPGYA.cjs.map +1 -0
  45. package/dist/{chunk-VQAT5HX6.js → chunk-FDSHHJRG.js} +458 -116
  46. package/dist/chunk-FDSHHJRG.js.map +1 -0
  47. package/dist/chunk-FRRHYZR6.cjs +88 -0
  48. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  49. package/dist/{chunk-ZULZ2752.js → chunk-FXW7MD4U.js} +3 -3
  50. package/dist/chunk-FXW7MD4U.js.map +1 -0
  51. package/dist/chunk-G2F73L4P.js +45 -0
  52. package/dist/chunk-G2F73L4P.js.map +1 -0
  53. package/dist/{chunk-UOFV2ZCI.js → chunk-G3C3UIEK.js} +316 -96
  54. package/dist/chunk-G3C3UIEK.js.map +1 -0
  55. package/dist/chunk-GIMXFF2O.js +31748 -0
  56. package/dist/chunk-GIMXFF2O.js.map +1 -0
  57. package/dist/{chunk-YJ3VDL3Z.cjs → chunk-GZFULNC5.cjs} +37 -31
  58. package/dist/chunk-GZFULNC5.cjs.map +1 -0
  59. package/dist/{chunk-4ECGVOJZ.cjs → chunk-HAZKO3MH.cjs} +40 -33
  60. package/dist/chunk-HAZKO3MH.cjs.map +1 -0
  61. package/dist/{chunk-KB5NSROG.cjs → chunk-HKK5WZO5.cjs} +47 -42
  62. package/dist/chunk-HKK5WZO5.cjs.map +1 -0
  63. package/dist/{chunk-UZ6CYAOG.cjs → chunk-HQHCI62G.cjs} +62 -15
  64. package/dist/chunk-HQHCI62G.cjs.map +1 -0
  65. package/dist/{chunk-PKRHEXX7.js → chunk-HT4LP3BO.js} +19 -18
  66. package/dist/chunk-HT4LP3BO.js.map +1 -0
  67. package/dist/chunk-HZINLMHL.cjs +252 -0
  68. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  69. package/dist/{chunk-RQK4FQUD.js → chunk-IGXRQWNN.js} +6 -48
  70. package/dist/chunk-IGXRQWNN.js.map +1 -0
  71. package/dist/chunk-IS3HHGL4.js +250 -0
  72. package/dist/chunk-IS3HHGL4.js.map +1 -0
  73. package/dist/chunk-JW2MKBAS.js +246 -0
  74. package/dist/chunk-JW2MKBAS.js.map +1 -0
  75. package/dist/chunk-K4HSW5ZF.js +77 -0
  76. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  77. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  78. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  79. package/dist/{chunk-I5VZ5SKG.js → chunk-LNWEFD7L.js} +17 -11
  80. package/dist/chunk-LNWEFD7L.js.map +1 -0
  81. package/dist/{chunk-2NW6POYK.cjs → chunk-MCYD5LW7.cjs} +19 -18
  82. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  83. package/dist/{chunk-UJNHKFBR.cjs → chunk-N2HDS7BY.cjs} +83 -13
  84. package/dist/chunk-N2HDS7BY.cjs.map +1 -0
  85. package/dist/{chunk-FAQICBMH.js → chunk-N5RGHD5P.js} +81 -14
  86. package/dist/chunk-N5RGHD5P.js.map +1 -0
  87. package/dist/{chunk-MWQQRVQC.cjs → chunk-OD6Y7FEM.cjs} +34 -13
  88. package/dist/chunk-OD6Y7FEM.cjs.map +1 -0
  89. package/dist/chunk-OEF6DYI4.js +177 -0
  90. package/dist/chunk-OEF6DYI4.js.map +1 -0
  91. package/dist/chunk-OGFXTALR.js +312 -0
  92. package/dist/chunk-OGFXTALR.js.map +1 -0
  93. package/dist/{chunk-ICANWSEW.js → chunk-OJWVANX3.js} +25 -20
  94. package/dist/chunk-OJWVANX3.js.map +1 -0
  95. package/dist/chunk-OS7SAIRA.js +250 -0
  96. package/dist/chunk-OS7SAIRA.js.map +1 -0
  97. package/dist/chunk-OSJ3HUP2.js +184 -0
  98. package/dist/chunk-OSJ3HUP2.js.map +1 -0
  99. package/dist/chunk-PWXUI3OG.cjs +252 -0
  100. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  101. package/dist/{chunk-Z36N2OQA.cjs → chunk-PXQDIUYD.cjs} +358 -137
  102. package/dist/chunk-PXQDIUYD.cjs.map +1 -0
  103. package/dist/{chunk-NDFAQBQD.cjs → chunk-PXTREZVA.cjs} +514 -166
  104. package/dist/chunk-PXTREZVA.cjs.map +1 -0
  105. package/dist/chunk-Q3SOCUG3.js +576 -0
  106. package/dist/chunk-Q3SOCUG3.js.map +1 -0
  107. package/dist/chunk-QHJ75L3U.cjs +252 -0
  108. package/dist/chunk-QHJ75L3U.cjs.map +1 -0
  109. package/dist/chunk-RIX6WEJ2.js +83 -0
  110. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  111. package/dist/{chunk-ZODCSH2W.cjs → chunk-RYU5JLTE.cjs} +54 -32
  112. package/dist/chunk-RYU5JLTE.cjs.map +1 -0
  113. package/dist/{chunk-35NT4TMQ.cjs → chunk-SI45XQYH.cjs} +66 -55
  114. package/dist/chunk-SI45XQYH.cjs.map +1 -0
  115. package/dist/{chunk-LPM6BBAX.cjs → chunk-SLDAFSKJ.cjs} +5 -56
  116. package/dist/chunk-SLDAFSKJ.cjs.map +1 -0
  117. package/dist/{chunk-2PLXW4ZX.cjs → chunk-T6YYVQHJ.cjs} +74 -74
  118. package/dist/chunk-T6YYVQHJ.cjs.map +1 -0
  119. package/dist/chunk-TF4LSD27.cjs +180 -0
  120. package/dist/chunk-TF4LSD27.cjs.map +1 -0
  121. package/dist/{chunk-V5WWQN7P.cjs → chunk-UWYAL2Z3.cjs} +13 -2
  122. package/dist/chunk-UWYAL2Z3.cjs.map +1 -0
  123. package/dist/chunk-WNI2WZML.js +442 -0
  124. package/dist/chunk-WNI2WZML.js.map +1 -0
  125. package/dist/{chunk-5PONYNYP.cjs → chunk-WTF4ECYJ.cjs} +20 -17
  126. package/dist/chunk-WTF4ECYJ.cjs.map +1 -0
  127. package/dist/chunk-XKLJYRAA.js +77 -0
  128. package/dist/chunk-XKLJYRAA.js.map +1 -0
  129. package/dist/{dist-G2BYZJOC.cjs → dist-2GQKYJ34.cjs} +28 -28
  130. package/dist/dist-2GQKYJ34.cjs.map +1 -0
  131. package/dist/{dist-X7XR3M3Z.js → dist-C6BUHOEE.js} +3 -3
  132. package/dist/dist-C6BUHOEE.js.map +1 -0
  133. package/dist/dist-DGOEFPQD.cjs +16 -0
  134. package/dist/{dist-P4MXBQ3U.cjs.map → dist-DGOEFPQD.cjs.map} +1 -1
  135. package/dist/dist-FT2OR7OS.js +3 -0
  136. package/dist/{dist-YREX2TJT.js.map → dist-FT2OR7OS.js.map} +1 -1
  137. package/dist/{dist-XVBSOGFK.js → dist-G4CR4WYY.js} +3 -3
  138. package/dist/dist-G4CR4WYY.js.map +1 -0
  139. package/dist/{dist-PQZUVLPC.js → dist-G5QFRYLQ.js} +3 -3
  140. package/dist/dist-G5QFRYLQ.js.map +1 -0
  141. package/dist/{dist-4MVGNSRL.cjs → dist-JPQK5S4K.cjs} +20 -20
  142. package/dist/dist-JPQK5S4K.cjs.map +1 -0
  143. package/dist/{dist-R7WYX6LC.js → dist-MIDN25GT.js} +3 -3
  144. package/dist/dist-MIDN25GT.js.map +1 -0
  145. package/dist/{dist-RFMYFILX.cjs → dist-SNKH6NS2.cjs} +30 -30
  146. package/dist/dist-SNKH6NS2.cjs.map +1 -0
  147. package/dist/{dist-FZYCV3VB.cjs → dist-XBQPKAO4.cjs} +26 -26
  148. package/dist/dist-XBQPKAO4.cjs.map +1 -0
  149. package/dist/docs/README.md +31 -0
  150. package/dist/docs/SKILL.md +32 -0
  151. package/dist/docs/SOURCE_MAP.json +6 -0
  152. package/dist/docs/server/01-custom-adapters.md +380 -0
  153. package/dist/docs/server/02-reference.md +819 -0
  154. package/dist/server/auth/defaults.d.ts +3 -0
  155. package/dist/server/auth/defaults.d.ts.map +1 -0
  156. package/dist/server/auth/helpers.d.ts +14 -0
  157. package/dist/server/auth/helpers.d.ts.map +1 -0
  158. package/dist/server/auth/index.cjs +44 -0
  159. package/dist/server/auth/index.cjs.map +1 -0
  160. package/dist/server/auth/index.d.ts +3 -0
  161. package/dist/server/auth/index.d.ts.map +1 -0
  162. package/dist/server/auth/index.js +3 -0
  163. package/dist/server/auth/index.js.map +1 -0
  164. package/dist/server/auth/path-pattern.d.ts +43 -0
  165. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  166. package/dist/server/handlers/a2a.cjs +9 -9
  167. package/dist/server/handlers/a2a.d.ts +34 -420
  168. package/dist/server/handlers/a2a.d.ts.map +1 -1
  169. package/dist/server/handlers/a2a.js +1 -1
  170. package/dist/server/handlers/agent-builder.cjs +16 -28
  171. package/dist/server/handlers/agent-builder.d.ts +154 -460
  172. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  173. package/dist/server/handlers/agent-builder.js +1 -1
  174. package/dist/server/handlers/agent-versions.cjs +60 -0
  175. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  176. package/dist/server/handlers/agent-versions.d.ts +425 -0
  177. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  178. package/dist/server/handlers/agent-versions.js +3 -0
  179. package/dist/server/handlers/agent-versions.js.map +1 -0
  180. package/dist/server/handlers/agents.cjs +43 -23
  181. package/dist/server/handlers/agents.d.ts +362 -2912
  182. package/dist/server/handlers/agents.d.ts.map +1 -1
  183. package/dist/server/handlers/agents.js +1 -1
  184. package/dist/server/handlers/error.cjs +6 -2
  185. package/dist/server/handlers/error.d.ts +22 -0
  186. package/dist/server/handlers/error.d.ts.map +1 -1
  187. package/dist/server/handlers/error.js +1 -1
  188. package/dist/server/handlers/logs.cjs +4 -4
  189. package/dist/server/handlers/logs.d.ts +63 -111
  190. package/dist/server/handlers/logs.d.ts.map +1 -1
  191. package/dist/server/handlers/logs.js +1 -1
  192. package/dist/server/handlers/mcp.cjs +40 -0
  193. package/dist/server/handlers/mcp.cjs.map +1 -0
  194. package/dist/server/handlers/mcp.d.ts +92 -0
  195. package/dist/server/handlers/mcp.d.ts.map +1 -0
  196. package/dist/server/handlers/mcp.js +3 -0
  197. package/dist/server/handlers/mcp.js.map +1 -0
  198. package/dist/server/handlers/memory.cjs +28 -24
  199. package/dist/server/handlers/memory.d.ts +244 -756
  200. package/dist/server/handlers/memory.d.ts.map +1 -1
  201. package/dist/server/handlers/memory.js +1 -1
  202. package/dist/server/handlers/observability.cjs +7 -23
  203. package/dist/server/handlers/observability.d.ts +97 -114
  204. package/dist/server/handlers/observability.d.ts.map +1 -1
  205. package/dist/server/handlers/observability.js +1 -1
  206. package/dist/server/handlers/processors.cjs +20 -0
  207. package/dist/server/handlers/processors.cjs.map +1 -0
  208. package/dist/server/handlers/processors.d.ts +90 -0
  209. package/dist/server/handlers/processors.d.ts.map +1 -0
  210. package/dist/server/handlers/processors.js +3 -0
  211. package/dist/server/handlers/processors.js.map +1 -0
  212. package/dist/server/handlers/scores.cjs +7 -7
  213. package/dist/server/handlers/scores.d.ts +18 -54
  214. package/dist/server/handlers/scores.d.ts.map +1 -1
  215. package/dist/server/handlers/scores.js +1 -1
  216. package/dist/server/handlers/stored-agents.cjs +28 -0
  217. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  218. package/dist/server/handlers/stored-agents.d.ts +214 -0
  219. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  220. package/dist/server/handlers/stored-agents.js +3 -0
  221. package/dist/server/handlers/stored-agents.js.map +1 -0
  222. package/dist/server/handlers/system.cjs +12 -0
  223. package/dist/server/handlers/system.cjs.map +1 -0
  224. package/dist/server/handlers/system.d.ts +7 -0
  225. package/dist/server/handlers/system.d.ts.map +1 -0
  226. package/dist/server/handlers/system.js +3 -0
  227. package/dist/server/handlers/system.js.map +1 -0
  228. package/dist/server/handlers/test-utils.cjs +2 -2
  229. package/dist/server/handlers/test-utils.cjs.map +1 -1
  230. package/dist/server/handlers/test-utils.d.ts +3 -3
  231. package/dist/server/handlers/test-utils.d.ts.map +1 -1
  232. package/dist/server/handlers/test-utils.js +2 -2
  233. package/dist/server/handlers/test-utils.js.map +1 -1
  234. package/dist/server/handlers/tools.cjs +6 -6
  235. package/dist/server/handlers/tools.d.ts +7 -36
  236. package/dist/server/handlers/tools.d.ts.map +1 -1
  237. package/dist/server/handlers/tools.js +1 -1
  238. package/dist/server/handlers/vector.cjs +13 -13
  239. package/dist/server/handlers/vector.d.ts +16 -57
  240. package/dist/server/handlers/vector.d.ts.map +1 -1
  241. package/dist/server/handlers/vector.js +1 -1
  242. package/dist/server/handlers/voice.cjs +8 -8
  243. package/dist/server/handlers/voice.d.ts +18 -56
  244. package/dist/server/handlers/voice.d.ts.map +1 -1
  245. package/dist/server/handlers/voice.js +1 -1
  246. package/dist/server/handlers/workflows.cjs +46 -26
  247. package/dist/server/handlers/workflows.d.ts +358 -533
  248. package/dist/server/handlers/workflows.d.ts.map +1 -1
  249. package/dist/server/handlers/workflows.js +1 -1
  250. package/dist/server/handlers.cjs +36 -31
  251. package/dist/server/handlers.d.ts +1 -0
  252. package/dist/server/handlers.d.ts.map +1 -1
  253. package/dist/server/handlers.js +12 -11
  254. package/dist/server/schemas/a2a.d.ts +56 -700
  255. package/dist/server/schemas/a2a.d.ts.map +1 -1
  256. package/dist/server/schemas/agent-builder.d.ts +26 -143
  257. package/dist/server/schemas/agent-builder.d.ts.map +1 -1
  258. package/dist/server/schemas/agent-versions.d.ts +379 -0
  259. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  260. package/dist/server/schemas/agents.d.ts +152 -1031
  261. package/dist/server/schemas/agents.d.ts.map +1 -1
  262. package/dist/server/schemas/common.d.ts +37 -103
  263. package/dist/server/schemas/common.d.ts.map +1 -1
  264. package/dist/server/schemas/logs.d.ts +38 -106
  265. package/dist/server/schemas/logs.d.ts.map +1 -1
  266. package/dist/server/schemas/mcp.d.ts +91 -0
  267. package/dist/server/schemas/mcp.d.ts.map +1 -0
  268. package/dist/server/schemas/memory.d.ts +288 -831
  269. package/dist/server/schemas/memory.d.ts.map +1 -1
  270. package/dist/server/schemas/processors.d.ts +162 -0
  271. package/dist/server/schemas/processors.d.ts.map +1 -0
  272. package/dist/server/schemas/scores.d.ts +31 -213
  273. package/dist/server/schemas/scores.d.ts.map +1 -1
  274. package/dist/server/schemas/stored-agents.d.ts +274 -0
  275. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  276. package/dist/server/schemas/system.d.ts +14 -0
  277. package/dist/server/schemas/system.d.ts.map +1 -0
  278. package/dist/server/schemas/vectors.d.ts +21 -81
  279. package/dist/server/schemas/vectors.d.ts.map +1 -1
  280. package/dist/server/schemas/workflows.d.ts +248 -382
  281. package/dist/server/schemas/workflows.d.ts.map +1 -1
  282. package/dist/server/server-adapter/index.cjs +441 -137
  283. package/dist/server/server-adapter/index.cjs.map +1 -1
  284. package/dist/server/server-adapter/index.d.ts +94 -16
  285. package/dist/server/server-adapter/index.d.ts.map +1 -1
  286. package/dist/server/server-adapter/index.js +325 -35
  287. package/dist/server/server-adapter/index.js.map +1 -1
  288. package/dist/server/server-adapter/openapi-utils.d.ts +9 -9
  289. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  290. package/dist/server/server-adapter/redact.d.ts +26 -0
  291. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  292. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
  293. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  294. package/dist/server/server-adapter/routes/index.d.ts +18 -7
  295. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  296. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  297. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  298. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  299. package/dist/server/server-adapter/routes/processors.d.ts +3 -0
  300. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
  301. package/dist/server/server-adapter/routes/route-builder.d.ts +66 -6
  302. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  303. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  304. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  305. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  306. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  307. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  308. package/dist/server/utils.d.ts +1 -1
  309. package/dist/server/utils.d.ts.map +1 -1
  310. package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +11 -12
  311. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  312. package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +8 -9
  313. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  314. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs +63 -0
  315. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  316. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js +61 -0
  317. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  318. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs +63 -0
  319. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  320. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js +61 -0
  321. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  322. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  323. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map +1 -0
  324. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  325. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map +1 -0
  326. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  327. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map +1 -0
  328. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  329. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map +1 -0
  330. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  331. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map +1 -0
  332. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  333. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map +1 -0
  334. package/handlers/server/handlers.d.ts +1 -0
  335. package/handlers.d.ts +1 -0
  336. package/package.json +29 -17
  337. package/server-adapter.d.ts +1 -0
  338. package/dist/chunk-2NW6POYK.cjs.map +0 -1
  339. package/dist/chunk-2PLXW4ZX.cjs.map +0 -1
  340. package/dist/chunk-35NT4TMQ.cjs.map +0 -1
  341. package/dist/chunk-3R5EV3HV.js.map +0 -1
  342. package/dist/chunk-4ECGVOJZ.cjs.map +0 -1
  343. package/dist/chunk-5PONYNYP.cjs.map +0 -1
  344. package/dist/chunk-6BISSAIF.js +0 -23494
  345. package/dist/chunk-6BISSAIF.js.map +0 -1
  346. package/dist/chunk-6DTV6NEW.js.map +0 -1
  347. package/dist/chunk-AEO6IHLK.cjs +0 -368
  348. package/dist/chunk-AEO6IHLK.cjs.map +0 -1
  349. package/dist/chunk-ASZUOBKV.js.map +0 -1
  350. package/dist/chunk-ECIVTQ4E.js +0 -354
  351. package/dist/chunk-ECIVTQ4E.js.map +0 -1
  352. package/dist/chunk-FAQICBMH.js.map +0 -1
  353. package/dist/chunk-FXDZLX2Y.js.map +0 -1
  354. package/dist/chunk-G7BPNX2V.js +0 -130
  355. package/dist/chunk-G7BPNX2V.js.map +0 -1
  356. package/dist/chunk-I5VZ5SKG.js.map +0 -1
  357. package/dist/chunk-ICANWSEW.js.map +0 -1
  358. package/dist/chunk-KB5NSROG.cjs.map +0 -1
  359. package/dist/chunk-LPM6BBAX.cjs.map +0 -1
  360. package/dist/chunk-MWQQRVQC.cjs.map +0 -1
  361. package/dist/chunk-NDFAQBQD.cjs.map +0 -1
  362. package/dist/chunk-PKRHEXX7.js.map +0 -1
  363. package/dist/chunk-QGWCNTG6.cjs.map +0 -1
  364. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  365. package/dist/chunk-R4M3BSUG.js.map +0 -1
  366. package/dist/chunk-RQK4FQUD.js.map +0 -1
  367. package/dist/chunk-SHWNNZBL.js.map +0 -1
  368. package/dist/chunk-TBVUN4XN.cjs +0 -23536
  369. package/dist/chunk-TBVUN4XN.cjs.map +0 -1
  370. package/dist/chunk-TOCYBDP2.js +0 -46
  371. package/dist/chunk-TOCYBDP2.js.map +0 -1
  372. package/dist/chunk-UJNHKFBR.cjs.map +0 -1
  373. package/dist/chunk-UOFV2ZCI.js.map +0 -1
  374. package/dist/chunk-UXGQZUYZ.js.map +0 -1
  375. package/dist/chunk-UZ6CYAOG.cjs.map +0 -1
  376. package/dist/chunk-V5WWQN7P.cjs.map +0 -1
  377. package/dist/chunk-VQAT5HX6.js.map +0 -1
  378. package/dist/chunk-X6C7BUWN.cjs +0 -48
  379. package/dist/chunk-X6C7BUWN.cjs.map +0 -1
  380. package/dist/chunk-YJ3VDL3Z.cjs.map +0 -1
  381. package/dist/chunk-Z36N2OQA.cjs.map +0 -1
  382. package/dist/chunk-ZLRTFRL4.js.map +0 -1
  383. package/dist/chunk-ZODCSH2W.cjs.map +0 -1
  384. package/dist/chunk-ZULZ2752.js.map +0 -1
  385. package/dist/dist-4MVGNSRL.cjs.map +0 -1
  386. package/dist/dist-FZYCV3VB.cjs.map +0 -1
  387. package/dist/dist-G2BYZJOC.cjs.map +0 -1
  388. package/dist/dist-P4MXBQ3U.cjs +0 -16
  389. package/dist/dist-PQZUVLPC.js.map +0 -1
  390. package/dist/dist-R7WYX6LC.js.map +0 -1
  391. package/dist/dist-RFMYFILX.cjs.map +0 -1
  392. package/dist/dist-X7XR3M3Z.js.map +0 -1
  393. package/dist/dist-XVBSOGFK.js.map +0 -1
  394. package/dist/dist-YREX2TJT.js +0 -3
  395. package/dist/server/schemas/observability.d.ts +0 -402
  396. package/dist/server/schemas/observability.d.ts.map +0 -1
  397. package/dist/token-375W3LEI.cjs.map +0 -1
  398. package/dist/token-C3IMNCC4.js.map +0 -1
  399. package/dist/token-util-CV3RRG6K.cjs +0 -9
  400. package/dist/token-util-CV3RRG6K.cjs.map +0 -1
  401. package/dist/token-util-E5QO2RCL.js +0 -7
  402. package/dist/token-util-E5QO2RCL.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,117 @@
1
1
  # @mastra/server
2
2
 
3
- ## 0.0.0-span-scorring-test-20251124132129
3
+ ## 0.0.0-standard-schema-20260126101119
4
+
5
+ ### Minor Changes
6
+
7
+ - Added explicit auth control to built-in API routes. All routes now have a requiresAuth property that determines whether authentication is required. This eliminates route matching overhead and makes auth requirements clear in route definitions. Routes default to requiresAuth: true (protected) for security. To make a route public, set requiresAuth: false in the route definition. ([#12153](https://github.com/mastra-ai/mastra/pull/12153))
8
+
9
+ - Added dynamic agent management with CRUD operations and version tracking ([#12038](https://github.com/mastra-ai/mastra/pull/12038))
10
+
11
+ **New Features:**
12
+ - Create, edit, and delete agents directly from the Mastra Studio UI
13
+ - Full version history for agents with compare and restore capabilities
14
+ - Visual diff viewer to compare agent configurations across versions
15
+ - Agent creation modal with comprehensive configuration options (model selection, instructions, tools, workflows, sub-agents, memory)
16
+ - AI-powered instruction enhancement
17
+
18
+ **Storage:**
19
+ - New storage interfaces for stored agents and agent versions
20
+ - PostgreSQL, LibSQL, and MongoDB implementations included
21
+ - In-memory storage for development and testing
22
+
23
+ **API:**
24
+ - RESTful endpoints for agent CRUD operations
25
+ - Version management endpoints (create, list, activate, restore, delete, compare)
26
+ - Automatic versioning on agent updates when enabled
27
+
28
+ **Client SDK:**
29
+ - JavaScript client with full support for stored agents and versions
30
+ - Type-safe methods for all CRUD and version operations
31
+
32
+ **Usage Example:**
33
+
34
+ ```typescript
35
+ // Server-side: Configure storage
36
+ import { Mastra } from '@mastra/core';
37
+ import { PgAgentsStorage } from '@mastra/pg';
38
+
39
+ const mastra = new Mastra({
40
+ agents: { agentOne },
41
+ storage: {
42
+ agents: new PgAgentsStorage({
43
+ connectionString: process.env.DATABASE_URL,
44
+ }),
45
+ },
46
+ });
47
+
48
+ // Client-side: Use the SDK
49
+ import { MastraClient } from '@mastra/client-js';
50
+
51
+ const client = new MastraClient({ baseUrl: 'http://localhost:3000' });
52
+
53
+ // Create a stored agent
54
+ const agent = await client.createStoredAgent({
55
+ name: 'Customer Support Agent',
56
+ description: 'Handles customer inquiries',
57
+ model: { provider: 'ANTHROPIC', name: 'claude-sonnet-4-5' },
58
+ instructions: 'You are a helpful customer support agent...',
59
+ tools: ['search', 'email'],
60
+ });
61
+
62
+ // Create a version snapshot
63
+ await client.storedAgent(agent.id).createVersion({
64
+ name: 'v1.0 - Initial release',
65
+ changeMessage: 'First production version',
66
+ });
67
+
68
+ // Compare versions
69
+ const diff = await client.storedAgent(agent.id).compareVersions('version-1', 'version-2');
70
+ ```
71
+
72
+ **Why:**
73
+ This feature enables teams to manage agents dynamically without code changes, making it easier to iterate on agent configurations and maintain a complete audit trail of changes.
74
+
75
+ ### Patch Changes
76
+
77
+ - Fix path parameter routes not respecting requiresAuth setting ([#12143](https://github.com/mastra-ai/mastra/pull/12143))
78
+
79
+ Fixes issue where custom API routes with path parameters (e.g., `/users/:id`) were incorrectly requiring authentication even when `requiresAuth` was set to `false`. The authentication middleware now uses pattern matching to correctly match dynamic routes against registered patterns.
80
+
81
+ Changes:
82
+ - Inlined path pattern matching utility (based on regexparam) to avoid dependency complexity
83
+ - Updated `isCustomRoutePublic()` to iterate through routes and match path patterns
84
+ - Enhanced `pathMatchesPattern()` to support path parameters (`:id`), optional parameters (`:id?`), and wildcards (`*`)
85
+ - Added comprehensive test coverage for path parameter matching scenarios
86
+
87
+ Fixes #12106
88
+
89
+ - Improves CommonJS support by adding typefiles to the root directory ([#12068](https://github.com/mastra-ai/mastra/pull/12068))
90
+
91
+ - Fixed route prefix behavior to correctly replace the default /api prefix instead of prepending to it. Previously, setting prefix: '/api/v2' resulted in routes at /api/v2/api/agents. Now routes correctly appear at /api/v2/agents as documented. ([#12221](https://github.com/mastra-ai/mastra/pull/12221))
92
+
93
+ - Updated dependencies [[`90fc0e5`](https://github.com/mastra-ai/mastra/commit/90fc0e5717cb280c2d4acf4f0410b510bb4c0a72), [`1cf5d2e`](https://github.com/mastra-ai/mastra/commit/1cf5d2ea1b085be23e34fb506c80c80a4e6d9c2b), [`3efbe5a`](https://github.com/mastra-ai/mastra/commit/3efbe5ae20864c4f3143457f4f3ee7dc2fa5ca76), [`bc9fa00`](https://github.com/mastra-ai/mastra/commit/bc9fa00859c5c4a796d53a0a5cae46ab4a3072e4), [`90fc0e5`](https://github.com/mastra-ai/mastra/commit/90fc0e5717cb280c2d4acf4f0410b510bb4c0a72)]:
94
+ - @mastra/core@0.0.0-standard-schema-20260126101119
95
+
96
+ ## 1.0.4
97
+
98
+ ### Patch Changes
99
+
100
+ - Release stable ([#12102](https://github.com/mastra-ai/mastra/pull/12102))
101
+
102
+ - Updated dependencies:
103
+ - @mastra/core@1.0.4
104
+
105
+ ## 1.0.4-alpha.0
106
+
107
+ ### Patch Changes
108
+
109
+ - Release stable ([#12102](https://github.com/mastra-ai/mastra/pull/12102))
110
+
111
+ - Updated dependencies:
112
+ - @mastra/core@1.0.4-alpha.0
113
+
114
+ ## 1.0.0
4
115
 
5
116
  ### Major Changes
6
117
 
@@ -12,7 +123,7 @@
12
123
 
13
124
  - Update handlers to use `listWorkflowRuns` instead of `getWorkflowRuns`. Fix type names from `StoragelistThreadsByResourceIdInput/Output` to `StorageListThreadsByResourceIdInput/Output`. ([#9507](https://github.com/mastra-ai/mastra/pull/9507))
14
125
 
15
- - **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
126
+ - Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
16
127
 
17
128
  Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
18
129
 
@@ -47,11 +158,7 @@
47
158
  + thread.listMessages({ page: 0, perPage: 20 })
48
159
  ```
49
160
 
50
- - # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
51
-
52
- ## Storage Layer
53
-
54
- ### BREAKING: Removed `storage.getMessages()`
161
+ - **Removed `storage.getMessages()`** ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
55
162
 
56
163
  The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
57
164
 
@@ -72,7 +179,7 @@
72
179
  console.log(result.hasMore); // Whether more pages exist
73
180
  ```
74
181
 
75
- ### Message ordering default
182
+ **Message ordering default**
76
183
 
77
184
  `listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
78
185
 
@@ -85,9 +192,7 @@
85
192
  });
86
193
  ```
87
194
 
88
- ## Client SDK
89
-
90
- ### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
195
+ **Renamed `client.getThreadMessages()` → `client.listThreadMessages()`**
91
196
 
92
197
  **Migration:**
93
198
 
@@ -101,9 +206,7 @@
101
206
 
102
207
  The response format remains the same.
103
208
 
104
- ## Type Changes
105
-
106
- ### BREAKING: Removed `StorageGetMessagesArg` type
209
+ **Removed `StorageGetMessagesArg` type**
107
210
 
108
211
  Use `StorageListMessagesInput` instead:
109
212
 
@@ -144,6 +247,40 @@
144
247
 
145
248
  - Rename `defaultVNextStreamOptions` to `defaultOptions`. Add "Legacy" suffix to v1 option properties and methods (`defaultGenerateOptions` → `defaultGenerateOptionsLegacy`, `defaultStreamOptions` → `defaultStreamOptionsLegacy`). ([#9535](https://github.com/mastra-ai/mastra/pull/9535))
146
249
 
250
+ - **Breaking Change**: Convert OUTPUT generic from `OutputSchema` constraint to plain generic ([#11741](https://github.com/mastra-ai/mastra/pull/11741))
251
+
252
+ This change removes the direct dependency on Zod typings in the public API by converting all `OUTPUT extends OutputSchema` generic constraints to plain `OUTPUT` generics throughout the codebase. This is preparation for moving to a standard schema approach.
253
+ - All generic type parameters previously constrained to `OutputSchema` (e.g., `<OUTPUT extends OutputSchema = undefined>`) are now plain generics with defaults (e.g., `<OUTPUT = undefined>`)
254
+ - Affects all public APIs including `Agent`, `MastraModelOutput`, `AgentExecutionOptions`, and stream/generate methods
255
+ - `InferSchemaOutput<OUTPUT>` replaced with `OUTPUT` throughout
256
+ - `PartialSchemaOutput<OUTPUT>` replaced with `Partial<OUTPUT>`
257
+ - Schema fields now use `NonNullable<OutputSchema<OUTPUT>>` instead of `OUTPUT` directly
258
+ - Added `FullOutput<OUTPUT>` type representing complete output with all fields
259
+ - Added `AgentExecutionOptionsBase<OUTPUT>` type
260
+ - `getFullOutput()` method now returns `Promise<FullOutput<OUTPUT>>`
261
+ - `Agent` class now generic: `Agent<TAgentId, TTools, TOutput>`
262
+ - `agent.generate()` and `agent.stream()` methods have updated signatures
263
+ - `MastraModelOutput<OUTPUT>` no longer requires `OutputSchema` constraint
264
+ - Network route and streaming APIs updated to use plain OUTPUT generic
265
+
266
+ **Before:**
267
+
268
+ ```typescript
269
+ const output = await agent.generate<z.ZodType>([...], {
270
+ structuredOutput: { schema: mySchema }
271
+ });
272
+
273
+ **After:**
274
+ const output = await agent.generate<z.infer<typeof mySchema>>([...], {
275
+ structuredOutput: { schema: mySchema }
276
+ });
277
+ // Or rely on type inference:
278
+ const output = await agent.generate([...], {
279
+ structuredOutput: { schema: mySchema }
280
+ });
281
+
282
+ ```
283
+
147
284
  - Remove `getThreadsByResourceId` and `getThreadsByResourceIdPaginated` methods from storage interfaces in favor of `listThreadsByResourceId`. The new method uses `offset`/`limit` pagination and a nested `orderBy` object structure (`{ field, direction }`). ([#9536](https://github.com/mastra-ai/mastra/pull/9536))
148
285
 
149
286
  - Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
@@ -152,14 +289,14 @@
152
289
 
153
290
  This change simplifies the workflow watching API by removing the legacy v1 event system and promoting v2 as the standard (renamed to just `watch`).
154
291
 
155
- ### What's Changed
292
+ **What's Changed**
156
293
  - Removed legacy v1 watch event handlers and types
157
294
  - Renamed `watch-v2` to `watch` throughout the codebase
158
295
  - Removed `.watch()` method from client-js SDK (`Workflow` and `AgentBuilder` classes)
159
296
  - Removed `/watch` HTTP endpoints from server and deployer
160
297
  - Removed `WorkflowWatchResult` and v1 `WatchEvent` types
161
298
 
162
- - **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
299
+ - Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
163
300
 
164
301
  All storage and memory pagination APIs have been updated to use `page` (0-indexed) and `perPage` instead of `offset` and `limit`, aligning with standard REST API patterns.
165
302
 
@@ -238,9 +375,96 @@
238
375
 
239
376
  ### Minor Changes
240
377
 
378
+ - Add stored agents support ([#10953](https://github.com/mastra-ai/mastra/pull/10953))
379
+
380
+ Agents can now be stored in the database and loaded at runtime. This lets you persist agent configurations and dynamically create executable Agent instances from storage.
381
+
382
+ ```typescript
383
+ import { Mastra } from '@mastra/core';
384
+ import { LibSQLStore } from '@mastra/libsql';
385
+
386
+ const mastra = new Mastra({
387
+ storage: new LibSQLStore({ url: ':memory:' }),
388
+ tools: { myTool },
389
+ scorers: { myScorer },
390
+ });
391
+
392
+ // Create agent in storage via API or directly
393
+ await mastra.getStorage().createAgent({
394
+ agent: {
395
+ id: 'my-agent',
396
+ name: 'My Agent',
397
+ instructions: 'You are helpful',
398
+ model: { provider: 'openai', name: 'gpt-4' },
399
+ tools: { myTool: {} },
400
+ scorers: { myScorer: { sampling: { type: 'ratio', rate: 0.5 } } },
401
+ },
402
+ });
403
+
404
+ // Load and use the agent
405
+ const agent = await mastra.getStoredAgentById('my-agent');
406
+ const response = await agent.generate('Hello!');
407
+
408
+ // List all stored agents with pagination
409
+ const { agents, total, hasMore } = await mastra.listStoredAgents({
410
+ page: 0,
411
+ perPage: 10,
412
+ });
413
+ ```
414
+
415
+ Also adds a memory registry to Mastra so stored agents can reference memory instances by key.
416
+
417
+ - Added human-in-the-loop (HITL) tool approval support for `generate()` method. ([#12056](https://github.com/mastra-ai/mastra/pull/12056))
418
+
419
+ **Why:** This provides parity between `stream()` and `generate()` for tool approval flows, allowing non-streaming use cases to leverage `requireToolApproval` without needing to switch to streaming.
420
+
421
+ Previously, tool approval with `requireToolApproval` only worked with `stream()`. Now you can use the same approval flow with `generate()` for non-streaming use cases.
422
+
423
+ **Using tool approval with generate()**
424
+
425
+ ```typescript
426
+ const output = await agent.generate('Find user John', {
427
+ requireToolApproval: true,
428
+ });
429
+
430
+ // Check if a tool is waiting for approval
431
+ if (output.finishReason === 'suspended') {
432
+ console.log('Tool requires approval:', output.suspendPayload.toolName);
433
+
434
+ // Approve the tool call
435
+ const result = await agent.approveToolCallGenerate({
436
+ runId: output.runId,
437
+ toolCallId: output.suspendPayload.toolCallId,
438
+ });
439
+
440
+ console.log(result.text);
441
+ }
442
+ ```
443
+
444
+ **Declining a tool call**
445
+
446
+ ```typescript
447
+ if (output.finishReason === 'suspended') {
448
+ const result = await agent.declineToolCallGenerate({
449
+ runId: output.runId,
450
+ toolCallId: output.suspendPayload.toolCallId,
451
+ });
452
+ }
453
+ ```
454
+
455
+ **New methods added:**
456
+ - `agent.approveToolCallGenerate({ runId, toolCallId })` - Approves a pending tool call and returns the complete result
457
+ - `agent.declineToolCallGenerate({ runId, toolCallId })` - Declines a pending tool call and returns the complete result
458
+
459
+ **Server routes added:**
460
+ - `POST /api/agents/:agentId/approve-tool-call-generate`
461
+ - `POST /api/agents/:agentId/decline-tool-call-generate`
462
+
463
+ The playground UI now also supports tool approval when using generate mode.
464
+
241
465
  - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
242
466
 
243
- - **BREAKING CHANGE**: Memory scope defaults changed from 'thread' to 'resource' ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
467
+ - Memory scope defaults changed from 'thread' to 'resource' ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
244
468
 
245
469
  Both `workingMemory.scope` and `semanticRecall.scope` now default to `'resource'` instead of `'thread'`. This means:
246
470
  - Working memory persists across all conversations for the same user/resource
@@ -261,8 +485,6 @@
261
485
  }),
262
486
  ```
263
487
 
264
- See the [migration guide](https://mastra.ai/docs/guides/migrations/memory-scope-defaults) for more details.
265
-
266
488
  Also fixed issues where playground semantic recall search could show missing or incorrect results in certain cases.
267
489
 
268
490
  - Update peer dependencies to match core package version bump (1.0.0) ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
@@ -277,10 +499,165 @@
277
499
 
278
500
  - Update peer dependencies to match core package version bump (0.22.0) ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
279
501
 
502
+ - Unified observability schema with entity-based span identification ([#11132](https://github.com/mastra-ai/mastra/pull/11132))
503
+
504
+ ## What changed
505
+
506
+ Spans now use a unified identification model with `entityId`, `entityType`, and `entityName` instead of separate `agentId`, `toolId`, `workflowId` fields.
507
+
508
+ **Before:**
509
+
510
+ ```typescript
511
+ // Old span structure
512
+ span.agentId; // 'my-agent'
513
+ span.toolId; // undefined
514
+ span.workflowId; // undefined
515
+ ```
516
+
517
+ **After:**
518
+
519
+ ```typescript
520
+ // New span structure
521
+ span.entityType; // EntityType.AGENT
522
+ span.entityId; // 'my-agent'
523
+ span.entityName; // 'My Agent'
524
+ ```
525
+
526
+ ## New `listTraces()` API
527
+
528
+ Query traces with filtering, pagination, and sorting:
529
+
530
+ ```typescript
531
+ const { spans, pagination } = await storage.listTraces({
532
+ filters: {
533
+ entityType: EntityType.AGENT,
534
+ entityId: 'my-agent',
535
+ userId: 'user-123',
536
+ environment: 'production',
537
+ status: TraceStatus.SUCCESS,
538
+ startedAt: { start: new Date('2024-01-01'), end: new Date('2024-01-31') },
539
+ },
540
+ pagination: { page: 0, perPage: 50 },
541
+ orderBy: { field: 'startedAt', direction: 'DESC' },
542
+ });
543
+ ```
544
+
545
+ **Available filters:** date ranges (`startedAt`, `endedAt`), entity (`entityType`, `entityId`, `entityName`), identity (`userId`, `organizationId`), correlation IDs (`runId`, `sessionId`, `threadId`), deployment (`environment`, `source`, `serviceName`), `tags`, `metadata`, and `status`.
546
+
547
+ ## New retrieval methods
548
+ - `getSpan({ traceId, spanId })` - Get a single span
549
+ - `getRootSpan({ traceId })` - Get the root span of a trace
550
+ - `getTrace({ traceId })` - Get all spans for a trace
551
+
552
+ ## Backward compatibility
553
+
554
+ The legacy `getTraces()` method continues to work. When you pass `name: "agent run: my-agent"`, it automatically transforms to `entityId: "my-agent", entityType: AGENT`.
555
+
556
+ ## Migration
557
+
558
+ **Automatic:** SQL-based stores (PostgreSQL, LibSQL, MSSQL) automatically add new columns to existing `spans` tables on initialization. Existing data is preserved with new columns set to `NULL`.
559
+
560
+ **No action required:** Your existing code continues to work. Adopt the new fields and `listTraces()` API at your convenience.
561
+
562
+ - Added new `listThreads` method for flexible thread filtering across all storage adapters. ([#11832](https://github.com/mastra-ai/mastra/pull/11832))
563
+
564
+ **New Features**
565
+ - Filter threads by `resourceId`, `metadata`, or both (with AND logic for metadata key-value pairs)
566
+ - All filter parameters are optional, allowing you to list all threads or filter as needed
567
+ - Full pagination and sorting support
568
+
569
+ **Example Usage**
570
+
571
+ ```typescript
572
+ // List all threads
573
+ const allThreads = await memory.listThreads({});
574
+
575
+ // Filter by resourceId only
576
+ const userThreads = await memory.listThreads({
577
+ filter: { resourceId: 'user-123' },
578
+ });
579
+
580
+ // Filter by metadata only
581
+ const supportThreads = await memory.listThreads({
582
+ filter: { metadata: { category: 'support' } },
583
+ });
584
+
585
+ // Filter by both with pagination
586
+ const filteredThreads = await memory.listThreads({
587
+ filter: {
588
+ resourceId: 'user-123',
589
+ metadata: { priority: 'high', status: 'open' },
590
+ },
591
+ orderBy: { field: 'updatedAt', direction: 'DESC' },
592
+ page: 0,
593
+ perPage: 20,
594
+ });
595
+ ```
596
+
597
+ **Security Improvements**
598
+ - Added validation to prevent SQL injection via malicious metadata keys
599
+ - Added pagination parameter validation to prevent integer overflow attacks
600
+
280
601
  - Update peer dependencies to match core package version bump (1.0.0) ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
281
602
 
603
+ - Unified `getWorkflowRunById` and `getWorkflowRunExecutionResult` into a single API that returns `WorkflowState` with both metadata and execution state. ([#11429](https://github.com/mastra-ai/mastra/pull/11429))
604
+
605
+ **What changed:**
606
+ - `getWorkflowRunById` now returns a unified `WorkflowState` object containing metadata (runId, workflowName, resourceId, createdAt, updatedAt) along with processed execution state (status, result, error, payload, steps)
607
+ - Added optional `fields` parameter to request only specific fields for better performance
608
+ - Added optional `withNestedWorkflows` parameter to control nested workflow step inclusion
609
+ - Removed `getWorkflowRunExecutionResult` - use `getWorkflowRunById` instead (breaking change)
610
+ - Removed `/execution-result` API endpoints from server (breaking change)
611
+ - Removed `runExecutionResult()` method from client SDK (breaking change)
612
+ - Removed `GetWorkflowRunExecutionResultResponse` type from client SDK (breaking change)
613
+
614
+ **Before:**
615
+
616
+ ```typescript
617
+ // Had to call two different methods for different data
618
+ const run = await workflow.getWorkflowRunById(runId); // Returns raw WorkflowRun with snapshot
619
+ const result = await workflow.getWorkflowRunExecutionResult(runId); // Returns processed execution state
620
+ ```
621
+
622
+ **After:**
623
+
624
+ ```typescript
625
+ // Single method returns everything
626
+ const run = await workflow.getWorkflowRunById(runId);
627
+ // Returns: { runId, workflowName, resourceId, createdAt, updatedAt, status, result, error, payload, steps }
628
+
629
+ // Request only specific fields for better performance (avoids expensive step fetching)
630
+ const status = await workflow.getWorkflowRunById(runId, { fields: ['status'] });
631
+
632
+ // Skip nested workflow steps for faster response
633
+ const run = await workflow.getWorkflowRunById(runId, { withNestedWorkflows: false });
634
+ ```
635
+
636
+ **Why:** The previous API required calling two separate methods to get complete workflow run information. This unification simplifies the API surface and gives users control over performance - fetching all steps (especially nested workflows) can be expensive, so the `fields` and `withNestedWorkflows` options let users request only what they need.
637
+
282
638
  ### Patch Changes
283
639
 
640
+ - Add embedded documentation support for Mastra packages ([#11472](https://github.com/mastra-ai/mastra/pull/11472))
641
+
642
+ Mastra packages now include embedded documentation in the published npm package under `dist/docs/`. This enables coding agents and AI assistants to understand and use the framework by reading documentation directly from `node_modules`.
643
+
644
+ Each package includes:
645
+ - **SKILL.md** - Entry point explaining the package's purpose and capabilities
646
+ - **SOURCE_MAP.json** - Machine-readable index mapping exports to types and implementation files
647
+ - **Topic folders** - Conceptual documentation organized by feature area
648
+
649
+ Documentation is driven by the `packages` frontmatter field in MDX files, which maps docs to their corresponding packages. CI validation ensures all docs include this field.
650
+
651
+ - Remove `streamVNext`, `resumeStreamVNext`, and `observeStreamVNext` methods, call `stream`, `resumeStream` and `observeStream` directly ([#11499](https://github.com/mastra-ai/mastra/pull/11499))
652
+
653
+ ```diff
654
+ + const run = await workflow.createRun({ runId: '123' });
655
+ - const stream = await run.streamVNext({ inputData: { ... } });
656
+ + const stream = await run.stream({ inputData: { ... } });
657
+ ```
658
+
659
+ - Replace deprecated client.getTraces with a client.listTraces ([#11711](https://github.com/mastra-ai/mastra/pull/11711))
660
+
284
661
  - Make step optional in all resume APIs ([#9454](https://github.com/mastra-ai/mastra/pull/9454))
285
662
 
286
663
  - Fix semantic search endpoint to return results in the correct format. Also fix the delete messages endpoint to properly normalize ids in the expected format. ([#10032](https://github.com/mastra-ai/mastra/pull/10032))
@@ -293,8 +670,26 @@
293
670
  These packages support mastra server routes on express and hono respectively.
294
671
  Better abstractions will be built on top of these packages in the near future, enabling users to easily attach mastra routes to any existing server framework.
295
672
 
673
+ - Fix navigation for processors Studio tab ([#12062](https://github.com/mastra-ai/mastra/pull/12062))
674
+
675
+ - Fix type safety for message ordering - restrict `orderBy` to only accept `'createdAt'` field ([#11069](https://github.com/mastra-ai/mastra/pull/11069))
676
+
677
+ Messages don't have an `updatedAt` field, but the previous type allowed ordering by it, which would return empty results. This change adds compile-time type safety by making `StorageOrderBy` generic and restricting `StorageListMessagesInput.orderBy` to only accept `'createdAt'`. The API validation schemas have also been updated to reject invalid orderBy values at runtime.
678
+
679
+ - Add resourceId to workflow routes ([#11166](https://github.com/mastra-ai/mastra/pull/11166))
680
+
681
+ - Fixed inconsistent query parameter handling across server adapters. ([#11429](https://github.com/mastra-ai/mastra/pull/11429))
682
+
683
+ **What changed:** Query parameters are now processed consistently across all server adapters (Express, Hono, Fastify, Koa). Added internal helper `normalizeQueryParams` and `ParsedRequestParams` type to `@mastra/server` for adapter implementations.
684
+
685
+ **Why:** Different HTTP frameworks handle query parameters differently - some return single strings while others return arrays for repeated params like `?tag=a&tag=b`. This caused type inconsistencies that could lead to validation failures in certain adapters.
686
+
687
+ **User impact:** None for typical usage - HTTP endpoints and client SDK behavior are unchanged. If you extend server adapter classes and override `getParams` or `parseQueryParams`, update your implementation to use `Record<string, string | string[]>` for query parameters.
688
+
296
689
  - Add agent id to the list agent ([#9770](https://github.com/mastra-ai/mastra/pull/9770))
297
690
 
691
+ - Added new /api/processors endpoints to list, get details, and execute processors. Processor workflows are now auto-detected based on their schema. ([#12059](https://github.com/mastra-ai/mastra/pull/12059))
692
+
298
693
  - Update tool execution signature ([#9587](https://github.com/mastra-ai/mastra/pull/9587))
299
694
 
300
695
  Consolidated the 3 different execution contexts to one
@@ -341,34 +736,1418 @@
341
736
  }
342
737
  ```
343
738
 
739
+ - Removes the deprecated `threadId` and `resourceId` options from `AgentExecutionOptions`. These have been deprecated for months in favour of the `memory` option. ([#11897](https://github.com/mastra-ai/mastra/pull/11897))
740
+
741
+ ### Breaking Changes
742
+
743
+ #### `@mastra/core`
744
+
745
+ The `threadId` and `resourceId` options have been removed from `agent.generate()` and `agent.stream()`. Use the `memory` option instead:
746
+
747
+ ```ts
748
+ // Before
749
+ await agent.stream('Hello', {
750
+ threadId: 'thread-123',
751
+ resourceId: 'user-456',
752
+ });
753
+
754
+ // After
755
+ await agent.stream('Hello', {
756
+ memory: {
757
+ thread: 'thread-123',
758
+ resource: 'user-456',
759
+ },
760
+ });
761
+ ```
762
+
763
+ #### `@mastra/server`
764
+
765
+ The `threadId`, `resourceId`, and `resourceid` fields have been removed from the main agent execution body schema. The server now expects the `memory` option format in request bodies. Legacy routes (`/api/agents/:agentId/generate-legacy` and `/api/agents/:agentId/stream-legacy`) continue to support the deprecated fields.
766
+
767
+ #### `@mastra/react`
768
+
769
+ The `useChat` hook now internally converts `threadId` to the `memory` option format when making API calls. No changes needed in component code - the hook handles the conversion automatically.
770
+
771
+ #### `@mastra/client-js`
772
+
773
+ When using the client SDK agent methods, use the `memory` option instead of `threadId`/`resourceId`:
774
+
775
+ ```ts
776
+ const agent = client.getAgent('my-agent');
777
+
778
+ // Before
779
+ await agent.generate([...], {
780
+ threadId: 'thread-123',
781
+ resourceId: 'user-456',
782
+ });
783
+
784
+ // After
785
+ await agent.generate([...], {
786
+ memory: {
787
+ thread: 'thread-123',
788
+ resource: 'user-456',
789
+ },
790
+ });
791
+ ```
792
+
793
+ - Fixed orderBy query parameter parsing for memory endpoints. The listMessages and listThreads endpoints now correctly parse orderBy when passed as a JSON string in URL query parameters, matching the existing behavior for include and filter parameters. ([#11767](https://github.com/mastra-ai/mastra/pull/11767))
794
+
795
+ - Add human-in-the-loop (HITL) support to agent networks ([#11678](https://github.com/mastra-ai/mastra/pull/11678))
796
+ - Add suspend/resume capabilities to agent network
797
+ - Enable auto-resume for suspended network execution via `autoResumeSuspendedTools`
798
+
799
+ `agent.resumeNetwork`, `agent.approveNetworkToolCall`, `agent.declineNetworkToolCall`
800
+
344
801
  - Add the description field to listAgents ([#9672](https://github.com/mastra-ai/mastra/pull/9672))
345
802
 
803
+ - Fix query parameter parsing for complex nested optional types ([#11711](https://github.com/mastra-ai/mastra/pull/11711))
804
+
805
+ Fixes an issue where complex query parameters (like `startedAt` and `endedAt` date range filters) would fail with "Expected object, received string" errors when using the `listTraces` API.
806
+
807
+ The fix addresses two issues:
808
+ - Properly unwraps all layers of nested optional/nullable types (e.g., from `.partial()` on already-optional fields)
809
+ - Ensures compatibility with both zod v3 and v4
810
+
811
+ - Add execution metadata to A2A message/send responses. The A2A protocol now returns detailed execution information including tool calls, tool results, token usage, and finish reason in the task metadata. This allows clients to inspect which tools were invoked during agent execution and access execution statistics without additional queries. ([#11241](https://github.com/mastra-ai/mastra/pull/11241))
812
+
346
813
  - Fix the link issue in observability ([#9764](https://github.com/mastra-ai/mastra/pull/9764))
347
814
 
348
- - Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
815
+ - Fixes issue #11185 where `MastraServer.tools` was rejecting tools created with `createTool({ inputSchema })`. Changed the tools property type from `Record<string, Tool>` to `ToolsInput` to accept tools with any schema types (input, output, or none), as well as Vercel AI SDK tools and provider-defined tools. ([`5118f38`](https://github.com/mastra-ai/mastra/commit/5118f384a70b1166012fde3b901f3227870b1009))
349
816
 
350
- - Fix scorers listing filtring ([#9801](https://github.com/mastra-ai/mastra/pull/9801))
817
+ Tools created with `createTool({ inputSchema: z.object(...) })` now work without TypeScript errors.
351
818
 
352
- - Fixes issue where clicking the reset button in the model picker would fail to restore the original LanguageModelV2 (or any other types) object that was passed during agent construction. ([#9481](https://github.com/mastra-ai/mastra/pull/9481))
819
+ - Fix workflow observability view broken by invalid entityType parameter ([#11427](https://github.com/mastra-ai/mastra/pull/11427))
353
820
 
354
- - Update peer dependencies to match core package version bump (1.0.0) ([#9489](https://github.com/mastra-ai/mastra/pull/9489))
821
+ The UI workflow observability view was failing with a Zod validation error when trying to filter traces by workflow. The UI was sending `entityType=workflow`, but the backend's `EntityType` enum only accepts `workflow_run`.
355
822
 
356
- - Fixed server handler bugs: filter parsing now handles colons in values (timestamps, URLs), dateRange validation now converts JSON strings to Date objects, deleteMessages schema accepts object forms, and added missing responseSchema for legacy stream route ([#10362](https://github.com/mastra-ai/mastra/pull/10362))
823
+ **Root Cause**: The legacy value transformation was happening in the handler (after validation), but Zod validation occurred earlier in the request pipeline, rejecting the request before it could be transformed.
357
824
 
358
- - Fix undefined runtimeContext using memory from playground ([#9328](https://github.com/mastra-ai/mastra/pull/9328))
825
+ **Solution**:
826
+ - Added `z.preprocess()` to the query schema to transform `workflow` → `workflow_run` before validation
827
+ - Kept handler transformation for defense in depth
828
+ - Updated UI to use `EntityType.WORKFLOW_RUN` enum value for type safety
359
829
 
360
- - Make step optional in resumeStreamVNext API ([#9453](https://github.com/mastra-ai/mastra/pull/9453))
830
+ This maintains backward compatibility with legacy clients while fixing the validation error.
361
831
 
362
- - Remove `waitForEvent` from workflows. `waitForEvent` is now removed, please use suspend & resume flow instead. See https://mastra.ai/en/docs/workflows/suspend-and-resume for more details on suspend & resume flow. ([#9214](https://github.com/mastra-ai/mastra/pull/9214))
832
+ Fixes #11412
363
833
 
364
- - Use memory mock in server tests ([#9486](https://github.com/mastra-ai/mastra/pull/9486))
834
+ - Add timeTravel APIs and add timeTravel feature to studio ([#10361](https://github.com/mastra-ai/mastra/pull/10361))
365
835
 
366
- - Network handler now accesses thread and resource parameters from the nested memory object instead of directly from request body. ([#10294](https://github.com/mastra-ai/mastra/pull/10294))
836
+ - Improve type handling with Zod ([#12091](https://github.com/mastra-ai/mastra/pull/12091))
367
837
 
368
- - Remove format from stream/generate ([#9577](https://github.com/mastra-ai/mastra/pull/9577))
838
+ - feat: Add field filtering and nested workflow control to workflow execution result endpoint ([#11246](https://github.com/mastra-ai/mastra/pull/11246))
839
+
840
+ Adds two optional query parameters to `/api/workflows/:workflowId/runs/:runId/execution-result` endpoint:
841
+ - `fields`: Request only specific fields (e.g., `status`, `result`, `error`)
842
+ - `withNestedWorkflows`: Control whether to fetch nested workflow data
843
+
844
+ This significantly reduces response payload size and improves response times for large workflows.
845
+
846
+ ## Server Endpoint Usage
847
+
848
+ ```http
849
+ # Get only status (minimal payload - fastest)
850
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status
851
+
852
+ # Get status and result
853
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,result
854
+
855
+ # Get all fields but without nested workflow data (faster)
856
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?withNestedWorkflows=false
857
+
858
+ # Get only specific fields without nested workflow data
859
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,steps&withNestedWorkflows=false
860
+
861
+ # Get full data (default behavior)
862
+ GET /api/workflows/:workflowId/runs/:runId/execution-result
863
+ ```
864
+
865
+ ## Client SDK Usage
866
+
867
+ ```typescript
868
+ import { MastraClient } from '@mastra/client-js';
869
+
870
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
871
+ const workflow = client.getWorkflow('myWorkflow');
872
+
873
+ // Get only status (minimal payload - fastest)
874
+ const statusOnly = await workflow.runExecutionResult(runId, {
875
+ fields: ['status'],
876
+ });
877
+ console.log(statusOnly.status); // 'success' | 'failed' | 'running' | etc.
878
+
879
+ // Get status and result
880
+ const statusAndResult = await workflow.runExecutionResult(runId, {
881
+ fields: ['status', 'result'],
882
+ });
883
+
884
+ // Get all fields but without nested workflow data (faster)
885
+ const resultWithoutNested = await workflow.runExecutionResult(runId, {
886
+ withNestedWorkflows: false,
887
+ });
888
+
889
+ // Get specific fields without nested workflow data
890
+ const optimized = await workflow.runExecutionResult(runId, {
891
+ fields: ['status', 'steps'],
892
+ withNestedWorkflows: false,
893
+ });
894
+
895
+ // Get full execution result (default behavior)
896
+ const fullResult = await workflow.runExecutionResult(runId);
897
+ ```
898
+
899
+ ## Core API Changes
900
+
901
+ The `Workflow.getWorkflowRunExecutionResult` method now accepts an options object:
902
+
903
+ ```typescript
904
+ await workflow.getWorkflowRunExecutionResult(runId, {
905
+ withNestedWorkflows: false, // default: true, set to false to skip nested workflow data
906
+ fields: ['status', 'result'], // optional field filtering
907
+ });
908
+ ```
909
+
910
+ ## Inngest Compatibility
911
+
912
+ The `@mastra/inngest` package has been updated to use the new options object API. This is a non-breaking internal change - no action required from inngest workflow users.
913
+
914
+ ## Performance Impact
915
+
916
+ For workflows with large step outputs:
917
+ - Requesting only `status`: ~99% reduction in payload size
918
+ - Requesting `status,result,error`: ~95% reduction in payload size
919
+ - Using `withNestedWorkflows=false`: Avoids expensive nested workflow data fetching
920
+ - Combining both: Maximum performance optimization
921
+
922
+ - Refactor storage architecture to use domain-specific stores via `getStore()` pattern ([#11361](https://github.com/mastra-ai/mastra/pull/11361))
923
+
924
+ ### Summary
925
+
926
+ This release introduces a new storage architecture that replaces passthrough methods on `MastraStorage` with domain-specific storage interfaces accessed via `getStore()`. This change reduces code duplication across storage adapters and provides a cleaner, more modular API.
927
+
928
+ ### Migration Guide
929
+
930
+ All direct method calls on storage instances should be updated to use `getStore()`:
931
+
932
+ ```typescript
933
+ // Before
934
+ const thread = await storage.getThreadById({ threadId });
935
+ await storage.persistWorkflowSnapshot({ workflowName, runId, snapshot });
936
+ await storage.createSpan(span);
937
+
938
+ // After
939
+ const memory = await storage.getStore('memory');
940
+ const thread = await memory?.getThreadById({ threadId });
941
+
942
+ const workflows = await storage.getStore('workflows');
943
+ await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
944
+
945
+ const observability = await storage.getStore('observability');
946
+ await observability?.createSpan(span);
947
+ ```
948
+
949
+ ### Available Domains
950
+ - **`memory`**: Thread and message operations (`getThreadById`, `saveThread`, `saveMessages`, etc.)
951
+ - **`workflows`**: Workflow state persistence (`persistWorkflowSnapshot`, `loadWorkflowSnapshot`, `getWorkflowRunById`, etc.)
952
+ - **`scores`**: Evaluation scores (`saveScore`, `listScoresByScorerId`, etc.)
953
+ - **`observability`**: Tracing and spans (`createSpan`, `updateSpan`, `getTrace`, etc.)
954
+ - **`agents`**: Stored agent configurations (`createAgent`, `getAgentById`, `listAgents`, etc.)
955
+
956
+ ### Breaking Changes
957
+ - Passthrough methods have been removed from `MastraStorage` base class
958
+ - All storage adapters now require accessing domains via `getStore()`
959
+ - The `stores` property on storage instances is now the canonical way to access domain storage
960
+
961
+ ### Internal Changes
962
+ - Each storage adapter now initializes domain-specific stores in its constructor
963
+ - Domain stores share database connections and handle their own table initialization
964
+
965
+ - Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
966
+
967
+ - Fix scorers listing filtring ([#9801](https://github.com/mastra-ai/mastra/pull/9801))
968
+
969
+ - **Breaking Changes** ([#11028](https://github.com/mastra-ai/mastra/pull/11028))
970
+ - Renamed `RuntimeContext` type to `ServerContext` to avoid confusion with the user-facing `RequestContext` (previously called `RuntimeContext`)
971
+ - Removed `playground` and `isDev` options from server adapter constructors - these only set context variables without any actual functionality
972
+
973
+ **Changes**
974
+
975
+ **@mastra/server**
976
+ - Renamed `RuntimeContext` type to `ServerContext` in route handler types
977
+ - Renamed `createTestRuntimeContext` to `createTestServerContext` in test utilities
978
+ - Renamed `isPlayground` parameter to `isStudio` in `formatAgent` function
979
+
980
+ **@mastra/hono**
981
+ - Removed `playground` and `isDev` from `HonoVariables` type
982
+ - Removed setting of `playground` and `isDev` context variables in middleware
983
+
984
+ **@mastra/express**
985
+ - Removed `playground` and `isDev` from `Express.Locals` interface
986
+ - Removed setting of `playground` and `isDev` in response locals
987
+
988
+ - Fixes issue where clicking the reset button in the model picker would fail to restore the original LanguageModelV2 (or any other types) object that was passed during agent construction. ([#9481](https://github.com/mastra-ai/mastra/pull/9481))
989
+
990
+ - Unified MastraServer API with MCP transport routes ([#10644](https://github.com/mastra-ai/mastra/pull/10644))
991
+
992
+ **Breaking Changes:**
993
+ - Renamed `HonoServerAdapter` to `MastraServer` in `@mastra/hono`
994
+ - Renamed `ExpressServerAdapter` to `MastraServer` in `@mastra/express`
995
+ - Configuration now passed to constructor instead of separate method calls
996
+ - Renamed base class from `ServerAdapter` to `MastraServerBase` in `@mastra/server`
997
+
998
+ **New Features:**
999
+ - Added MCP transport routes (HTTP and SSE) to server adapters
1000
+ - MCP endpoints available at `/api/mcp/:serverId/mcp` (HTTP) and `/api/mcp/:serverId/sse` (SSE)
1001
+ - Added `express.json()` middleware compatibility for MCP routes
1002
+ - Moved authentication helpers from deployer to `@mastra/server/auth`
1003
+
1004
+ **Testing:**
1005
+ - Added shared MCP route and transport test suites in `@internal/server-adapter-test-utils`
1006
+ - Added comprehensive MCP endpoint tests for both Hono and Express adapters
1007
+ - Added GitHub Actions workflow for server adapter CI testing
1008
+
1009
+ - Add storage composition to MastraStorage ([#11401](https://github.com/mastra-ai/mastra/pull/11401))
1010
+
1011
+ `MastraStorage` can now compose storage domains from different adapters. Use it when you need different databases for different purposes - for example, PostgreSQL for memory and workflows, but a different database for observability.
1012
+
1013
+ ```typescript
1014
+ import { MastraStorage } from '@mastra/core/storage';
1015
+ import { MemoryPG, WorkflowsPG, ScoresPG } from '@mastra/pg';
1016
+ import { MemoryLibSQL } from '@mastra/libsql';
1017
+
1018
+ // Compose domains from different stores
1019
+ const storage = new MastraStorage({
1020
+ id: 'composite',
1021
+ domains: {
1022
+ memory: new MemoryLibSQL({ url: 'file:./local.db' }),
1023
+ workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
1024
+ scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
1025
+ },
1026
+ });
1027
+ ```
1028
+
1029
+ **Breaking changes:**
1030
+ - `storage.supports` property no longer exists
1031
+ - `StorageSupports` type is no longer exported from `@mastra/core/storage`
1032
+
1033
+ All stores now support the same features. For domain availability, use `getStore()`:
1034
+
1035
+ ```typescript
1036
+ const store = await storage.getStore('memory');
1037
+ if (store) {
1038
+ // domain is available
1039
+ }
1040
+ ```
1041
+
1042
+ - Remove deprecated playground-only prompt generation handler (functionality moved to @mastra/server) ([#11074](https://github.com/mastra-ai/mastra/pull/11074))
1043
+
1044
+ Improve prompt enhancement UX: show toast errors when enhancement fails, disable button when no model has a configured API key, and prevent users from disabling all models in the model list
1045
+
1046
+ Add missing `/api/agents/:agentId/instructions/enhance` endpoint that was referenced by `@mastra/client-js` and `@mastra/playground-ui`
1047
+
1048
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9489](https://github.com/mastra-ai/mastra/pull/9489))
1049
+
1050
+ - Add delete workflow run API ([#10991](https://github.com/mastra-ai/mastra/pull/10991))
1051
+
1052
+ ```typescript
1053
+ await workflow.deleteWorkflowRunById(runId);
1054
+ ```
1055
+
1056
+ - Add initial state input to workflow form in studio ([#11560](https://github.com/mastra-ai/mastra/pull/11560))
1057
+
1058
+ - Fix 'Memory is not initialized' error in playground for agents with sub-agents but no memory ([#11780](https://github.com/mastra-ai/mastra/pull/11780))
1059
+
1060
+ When using agents with sub-agents (e.g., agent networks) but no memory configured, the playground UI would log HTTPException errors when fetching messages for sub-agents without memory.
1061
+
1062
+ Changed GET /api/memory/threads/:threadId/messages to return empty messages `{ messages: [], uiMessages: [] }` instead of throwing 400 error when memory is not configured for the requested agent.
1063
+
1064
+ - Allow direct access to server app handle directly from Mastra instance. ([#10598](https://github.com/mastra-ai/mastra/pull/10598))
1065
+
1066
+ ```ts
1067
+ // Before: HTTP request to localhost
1068
+ const response = await fetch(`http://localhost:5000/api/tools`);
1069
+
1070
+ // After: Direct call via app.fetch()
1071
+ const app = mastra.getServerApp<Hono>();
1072
+ const response = await app.fetch(new Request('http://internal/api/tools'));
1073
+ ```
1074
+
1075
+ - Added `mastra.getServerApp<T>()` to access the underlying Hono/Express app
1076
+ - Added `mastra.getMastraServer()` and `mastra.setMastraServer()` for adapter access
1077
+ - Added `MastraServerBase` class in `@mastra/core/server` for adapter implementations
1078
+ - Server adapters now auto-register with Mastra in their constructor
1079
+
1080
+ - Add `/api/system/packages` endpoint that returns installed Mastra packages and versions from the dev environment ([#11211](https://github.com/mastra-ai/mastra/pull/11211))
1081
+
1082
+ - Add `perStep` option to workflow run methods, allowing a workflow to run just a step instead of all the workflow steps ([#11276](https://github.com/mastra-ai/mastra/pull/11276))
1083
+
1084
+ - Standardize pagination params to page/perPage with backwards compatibility for limit/offset ([#10790](https://github.com/mastra-ai/mastra/pull/10790))
1085
+ - Server now accepts both `page`/`perPage` and legacy `limit`/`offset` params for workflow runs and MCP server listing endpoints
1086
+ - Client SDK sends both param formats to support older server versions
1087
+ - Added `createCombinedPaginationSchema` helper for endpoints needing backwards compatibility
1088
+ - Marked `limit` and `offset` as deprecated in client types
1089
+
1090
+ - Fixed server handler bugs: filter parsing now handles colons in values (timestamps, URLs), dateRange validation now converts JSON strings to Date objects, deleteMessages schema accepts object forms, and added missing responseSchema for legacy stream route ([#10362](https://github.com/mastra-ai/mastra/pull/10362))
1091
+
1092
+ - **Client (`@mastra/client-js`):** ([#10653](https://github.com/mastra-ai/mastra/pull/10653))
1093
+ - Fixed `sendStreamingMessage` to properly return a streaming response instead of attempting to parse it as JSON
1094
+
1095
+ **Server (`@mastra/server`):**
1096
+ - Fixed A2A message handler to pass `contextId` as `threadId` for memory persistence across conversations
1097
+ - Added support for user-provided `resourceId` via `params.metadata.resourceId` or `message.metadata.resourceId`, falling back to `agentId`
1098
+
1099
+ - Fix undefined runtimeContext using memory from playground ([#9328](https://github.com/mastra-ai/mastra/pull/9328))
1100
+
1101
+ - Make step optional in resumeStreamVNext API ([#9453](https://github.com/mastra-ai/mastra/pull/9453))
1102
+
1103
+ - Adds thread cloning to create independent copies of conversations that can diverge. ([#11517](https://github.com/mastra-ai/mastra/pull/11517))
1104
+
1105
+ ```typescript
1106
+ // Clone a thread
1107
+ const { thread, clonedMessages } = await memory.cloneThread({
1108
+ sourceThreadId: 'thread-123',
1109
+ title: 'My Clone',
1110
+ options: {
1111
+ messageLimit: 10, // optional: only copy last N messages
1112
+ },
1113
+ });
1114
+
1115
+ // Check if a thread is a clone
1116
+ if (memory.isClone(thread)) {
1117
+ const source = await memory.getSourceThread(thread.id);
1118
+ }
1119
+
1120
+ // List all clones of a thread
1121
+ const clones = await memory.listClones('thread-123');
1122
+ ```
1123
+
1124
+ Includes:
1125
+ - Storage implementations for InMemory, PostgreSQL, LibSQL, Upstash
1126
+ - API endpoint: `POST /api/memory/threads/:threadId/clone`
1127
+ - Embeddings created for cloned messages (semantic recall)
1128
+ - Clone button in playground UI Memory tab
1129
+
1130
+ - The `stream` API endpoint now automatically redacts `request` data from stream chunks (`step-start`, `step-finish`, `finish`) which could contain system prompts, tool definitions, and API keys. Redaction is enabled by default and can be disabled for debugging/internal services via `streamOptions.redact`. ([#10705](https://github.com/mastra-ai/mastra/pull/10705))
1131
+
1132
+ - Remove `waitForEvent` from workflows. `waitForEvent` is now removed, please use suspend & resume flow instead. See https://mastra.ai/en/docs/workflows/suspend-and-resume for more details on suspend & resume flow. ([#9214](https://github.com/mastra-ai/mastra/pull/9214))
1133
+
1134
+ - Add optional `partial` query parameter to `/api/agents` and `/api/workflows` endpoints to return minimal data without schemas, reducing payload size for list views: ([#10886](https://github.com/mastra-ai/mastra/pull/10886))
1135
+ - When `partial=true`: tool schemas (inputSchema, outputSchema) are omitted
1136
+ - When `partial=true`: workflow steps are replaced with stepCount integer
1137
+ - When `partial=true`: workflow root schemas (inputSchema, outputSchema) are omitted
1138
+ - Maintains backward compatibility when partial parameter is not provided
1139
+
1140
+ **Server Endpoint Usage**
1141
+
1142
+ ```bash
1143
+ # Get partial agent data (no tool schemas)
1144
+ GET /api/agents?partial=true
1145
+
1146
+ # Get full agent data (default behavior)
1147
+ GET /api/agents
1148
+
1149
+ # Get partial workflow data (stepCount instead of steps, no schemas)
1150
+ GET /api/workflows?partial=true
1151
+
1152
+ # Get full workflow data (default behavior)
1153
+ GET /api/workflows
1154
+ ```
1155
+
1156
+ **Client SDK Usage**
1157
+
1158
+ ```typescript
1159
+ import { MastraClient } from '@mastra/client-js';
1160
+
1161
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
1162
+
1163
+ // Get partial agent list (smaller payload)
1164
+ const partialAgents = await client.listAgents({ partial: true });
1165
+
1166
+ // Get full agent list with tool schemas
1167
+ const fullAgents = await client.listAgents();
1168
+
1169
+ // Get partial workflow list (smaller payload)
1170
+ const partialWorkflows = await client.listWorkflows({ partial: true });
1171
+
1172
+ // Get full workflow list with steps and schemas
1173
+ const fullWorkflows = await client.listWorkflows();
1174
+ ```
1175
+
1176
+ - Use memory mock in server tests ([#9486](https://github.com/mastra-ai/mastra/pull/9486))
1177
+
1178
+ - Support new Workflow tripwire run status. Tripwires that are thrown from within a workflow will now bubble up and return a graceful state with information about tripwires. ([#10947](https://github.com/mastra-ai/mastra/pull/10947))
1179
+
1180
+ When a workflow contains an agent step that triggers a tripwire, the workflow returns with `status: 'tripwire'` and includes tripwire details:
1181
+
1182
+ ```typescript
1183
+ const run = await workflow.createRun();
1184
+ const result = await run.start({ inputData: { message: 'Hello' } });
1185
+
1186
+ if (result.status === 'tripwire') {
1187
+ console.log('Workflow terminated by tripwire:', result.tripwire?.reason);
1188
+ console.log('Processor ID:', result.tripwire?.processorId);
1189
+ console.log('Retry requested:', result.tripwire?.retry);
1190
+ }
1191
+ ```
1192
+
1193
+ Adds new UI state for tripwire in agent chat and workflow UI.
1194
+
1195
+ This is distinct from `status: 'failed'` which indicates an unexpected error. A tripwire status means a processor intentionally stopped execution (e.g., for content moderation).
1196
+
1197
+ - Network handler now accesses thread and resource parameters from the nested memory object instead of directly from request body. ([#10294](https://github.com/mastra-ai/mastra/pull/10294))
1198
+
1199
+ - Remove format from stream/generate ([#9577](https://github.com/mastra-ai/mastra/pull/9577))
1200
+
1201
+ - Make agentId optional for memory read operations (getThread, listThreads, listMessages) ([#11540](https://github.com/mastra-ai/mastra/pull/11540))
1202
+
1203
+ When workflows use multiple agents sharing the same threadId/resourceId, users can now retrieve threads and messages without specifying an agentId. The server falls back to using storage directly when agentId is not provided.
1204
+
1205
+ - Fixed voice transcription endpoint ([#11348](https://github.com/mastra-ai/mastra/pull/11348))
1206
+
1207
+ The voice transcription endpoint (`/api/agents/:agentId/voice/listen`) now correctly handles multipart/form-data requests for audio uploads rather than only parsing JSON request bodies.
1208
+
1209
+ Both Express and Hono adapters now parse multipart/form-data bodies and handle JSON-encoded form fields.
1210
+
1211
+ **Breaking change:** The server schema field for the transcription endpoint was renamed from `audioData` to `audio` to match the client SDK. If you are making direct API calls to the transcription endpoint (not using the SDK), you will need to update your request body to use `audio` instead of `audioData`.
1212
+
1213
+ - Updated dependencies [[`ac0d2f4`](https://github.com/mastra-ai/mastra/commit/ac0d2f4ff8831f72c1c66c2be809706d17f65789), [`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`d2d3e22`](https://github.com/mastra-ai/mastra/commit/d2d3e22a419ee243f8812a84e3453dd44365ecb0), [`08766f1`](https://github.com/mastra-ai/mastra/commit/08766f15e13ac0692fde2a8bd366c2e16e4321df), [`72df8ae`](https://github.com/mastra-ai/mastra/commit/72df8ae595584cdd7747d5c39ffaca45e4507227), [`ebae12a`](https://github.com/mastra-ai/mastra/commit/ebae12a2dd0212e75478981053b148a2c246962d), [`c8417b4`](https://github.com/mastra-ai/mastra/commit/c8417b41d9f3486854dc7842d977fbe5e2166264), [`bc72b52`](https://github.com/mastra-ai/mastra/commit/bc72b529ee4478fe89ecd85a8be47ce0127b82a0), [`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`1dbd8c7`](https://github.com/mastra-ai/mastra/commit/1dbd8c729fb6536ec52f00064d76b80253d346e9), [`c61a0a5`](https://github.com/mastra-ai/mastra/commit/c61a0a5de4904c88fd8b3718bc26d1be1c2ec6e7), [`05b8bee`](https://github.com/mastra-ai/mastra/commit/05b8bee9e50e6c2a4a2bf210eca25ee212ca24fa), [`3076c67`](https://github.com/mastra-ai/mastra/commit/3076c6778b18988ae7d5c4c5c466366974b2d63f), [`3d93a15`](https://github.com/mastra-ai/mastra/commit/3d93a15796b158c617461c8b98bede476ebb43e2), [`9198899`](https://github.com/mastra-ai/mastra/commit/91988995c427b185c33714b7f3be955367911324), [`ed3e3dd`](https://github.com/mastra-ai/mastra/commit/ed3e3ddec69d564fe2b125e083437f76331f1283), [`c59e13c`](https://github.com/mastra-ai/mastra/commit/c59e13c7688284bd96b2baee3e314335003548de), [`c042bd0`](https://github.com/mastra-ai/mastra/commit/c042bd0b743e0e86199d0cb83344ca7690e34a9c), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`21a15de`](https://github.com/mastra-ai/mastra/commit/21a15de369fe82aac26bb642ed7be73505475e8b), [`e54953e`](https://github.com/mastra-ai/mastra/commit/e54953ed8ce1b28c0d62a19950163039af7834b4), [`ae8baf7`](https://github.com/mastra-ai/mastra/commit/ae8baf7d8adcb0ff9dac11880400452bc49b33ff), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`940a2b2`](https://github.com/mastra-ai/mastra/commit/940a2b27480626ed7e74f55806dcd2181c1dd0c2), [`1a0d3fc`](https://github.com/mastra-ai/mastra/commit/1a0d3fc811482c9c376cdf79ee615c23bae9b2d6), [`85d7ee1`](https://github.com/mastra-ai/mastra/commit/85d7ee18ff4e14d625a8a30ec6656bb49804989b), [`c6c1092`](https://github.com/mastra-ai/mastra/commit/c6c1092f8fbf76109303f69e000e96fd1960c4ce), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`d5ed981`](https://github.com/mastra-ai/mastra/commit/d5ed981c8701c1b8a27a5f35a9a2f7d9244e695f), [`85a628b`](https://github.com/mastra-ai/mastra/commit/85a628b1224a8f64cd82ea7f033774bf22df7a7e), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`33a4d2e`](https://github.com/mastra-ai/mastra/commit/33a4d2e4ed8af51f69256232f00c34d6b6b51d48), [`9650cce`](https://github.com/mastra-ai/mastra/commit/9650cce52a1d917ff9114653398e2a0f5c3ba808), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`4f94ed8`](https://github.com/mastra-ai/mastra/commit/4f94ed8177abfde3ec536e3574883e075423350c), [`feb7ee4`](https://github.com/mastra-ai/mastra/commit/feb7ee4d09a75edb46c6669a3beaceec78811747), [`4aaa844`](https://github.com/mastra-ai/mastra/commit/4aaa844a4f19d054490f43638a990cc57bda8d2f), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`38380b6`](https://github.com/mastra-ai/mastra/commit/38380b60fca905824bdf6b43df307a58efb1aa15), [`6833c69`](https://github.com/mastra-ai/mastra/commit/6833c69607418d257750bbcdd84638993d343539), [`932d63d`](https://github.com/mastra-ai/mastra/commit/932d63dd51be9c8bf1e00e3671fe65606c6fb9cd), [`4a1a6cb`](https://github.com/mastra-ai/mastra/commit/4a1a6cb3facad54b2bb6780b00ce91d6de1edc08), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`919a22b`](https://github.com/mastra-ai/mastra/commit/919a22b25876f9ed5891efe5facbe682c30ff497), [`15f9e21`](https://github.com/mastra-ai/mastra/commit/15f9e216177201ea6e3f6d0bfb063fcc0953444f), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`69136e7`](https://github.com/mastra-ai/mastra/commit/69136e748e32f57297728a4e0f9a75988462f1a7), [`b0e2ea5`](https://github.com/mastra-ai/mastra/commit/b0e2ea5b52c40fae438b9e2f7baee6f0f89c5442), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`ff94dea`](https://github.com/mastra-ai/mastra/commit/ff94dea935f4e34545c63bcb6c29804732698809), [`0d41fe2`](https://github.com/mastra-ai/mastra/commit/0d41fe245355dfc66d61a0d9c85d9400aac351ff), [`b760b73`](https://github.com/mastra-ai/mastra/commit/b760b731aca7c8a3f041f61d57a7f125ae9cb215), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`449aed2`](https://github.com/mastra-ai/mastra/commit/449aed2ba9d507b75bf93d427646ea94f734dfd1), [`eb648a2`](https://github.com/mastra-ai/mastra/commit/eb648a2cc1728f7678768dd70cd77619b448dab9), [`695a621`](https://github.com/mastra-ai/mastra/commit/695a621528bdabeb87f83c2277cf2bb084c7f2b4), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ac3cc23`](https://github.com/mastra-ai/mastra/commit/ac3cc2397d1966bc0fc2736a223abc449d3c7719), [`c456e01`](https://github.com/mastra-ai/mastra/commit/c456e0149e3c176afcefdbd9bb1d2c5917723725), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`a86f4df`](https://github.com/mastra-ai/mastra/commit/a86f4df0407311e0d2ea49b9a541f0938810d6a9), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`5b2ff46`](https://github.com/mastra-ai/mastra/commit/5b2ff4651df70c146523a7fca773f8eb0a2272f8), [`edb07e4`](https://github.com/mastra-ai/mastra/commit/edb07e49283e0c28bd094a60e03439bf6ecf0221), [`e0941c3`](https://github.com/mastra-ai/mastra/commit/e0941c3d7fc75695d5d258e7008fd5d6e650800c), [`db41688`](https://github.com/mastra-ai/mastra/commit/db4168806d007417e2e60b4f68656dca4e5f40c9), [`2b459f4`](https://github.com/mastra-ai/mastra/commit/2b459f466fd91688eeb2a44801dc23f7f8a887ab), [`798d0c7`](https://github.com/mastra-ai/mastra/commit/798d0c740232653b1d754870e6b43a55c364ffe2), [`0c0580a`](https://github.com/mastra-ai/mastra/commit/0c0580a42f697cd2a7d5973f25bfe7da9055038a), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`ab035c2`](https://github.com/mastra-ai/mastra/commit/ab035c2ef6d8cc7bb25f06f1a38508bd9e6f126b), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`0131105`](https://github.com/mastra-ai/mastra/commit/0131105532e83bdcbb73352fc7d0879eebf140dc), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`47b1c16`](https://github.com/mastra-ai/mastra/commit/47b1c16a01c7ffb6765fe1e499b49092f8b7eba3), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`bff1145`](https://github.com/mastra-ai/mastra/commit/bff114556b3cbadad9b2768488708f8ad0e91475), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d5059e`](https://github.com/mastra-ai/mastra/commit/9d5059eae810829935fb08e81a9bb7ecd5b144a7), [`ffe84d5`](https://github.com/mastra-ai/mastra/commit/ffe84d54f3b0f85167fe977efd027dba027eb998), [`5c8ca24`](https://github.com/mastra-ai/mastra/commit/5c8ca247094e0cc2cdbd7137822fb47241f86e77), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`24b76d8`](https://github.com/mastra-ai/mastra/commit/24b76d8e17656269c8ed09a0c038adb9cc2ae95a), [`31d13d5`](https://github.com/mastra-ai/mastra/commit/31d13d5fdc2e2380e2e3ee3ec9fb29d2a00f265d), [`ef756c6`](https://github.com/mastra-ai/mastra/commit/ef756c65f82d16531c43f49a27290a416611e526), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`243a823`](https://github.com/mastra-ai/mastra/commit/243a8239c5906f5c94e4f78b54676793f7510ae3), [`b00ccd3`](https://github.com/mastra-ai/mastra/commit/b00ccd325ebd5d9e37e34dd0a105caae67eb568f), [`28f5f89`](https://github.com/mastra-ai/mastra/commit/28f5f89705f2409921e3c45178796c0e0d0bbb64), [`22553f1`](https://github.com/mastra-ai/mastra/commit/22553f11c63ee5e966a9c034a349822249584691), [`4c62166`](https://github.com/mastra-ai/mastra/commit/4c621669f4a29b1f443eca3ba70b814afa286266), [`e601b27`](https://github.com/mastra-ai/mastra/commit/e601b272c70f3a5ecca610373aa6223012704892), [`7d56d92`](https://github.com/mastra-ai/mastra/commit/7d56d9213886e8353956d7d40df10045fd12b299), [`81dc110`](https://github.com/mastra-ai/mastra/commit/81dc11008d147cf5bdc8996ead1aa61dbdebb6fc), [`7bcbf10`](https://github.com/mastra-ai/mastra/commit/7bcbf10133516e03df964b941f9a34e9e4ab4177), [`029540c`](https://github.com/mastra-ai/mastra/commit/029540ca1e582fc2dd8d288ecd4a9b0f31a954ef), [`7237163`](https://github.com/mastra-ai/mastra/commit/72371635dbf96a87df4b073cc48fc655afbdce3d), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`4353600`](https://github.com/mastra-ai/mastra/commit/43536005a65988a8eede236f69122e7f5a284ba2), [`653e65a`](https://github.com/mastra-ai/mastra/commit/653e65ae1f9502c2958a32f47a5a2df11e612a92), [`873ecbb`](https://github.com/mastra-ai/mastra/commit/873ecbb517586aa17d2f1e99283755b3ebb2863f), [`6986fb0`](https://github.com/mastra-ai/mastra/commit/6986fb064f5db6ecc24aa655e1d26529087b43b3), [`3d3366f`](https://github.com/mastra-ai/mastra/commit/3d3366f31683e7137d126a3a57174a222c5801fb), [`5a4953f`](https://github.com/mastra-ai/mastra/commit/5a4953f7d25bb15ca31ed16038092a39cb3f98b3), [`4f9bbe5`](https://github.com/mastra-ai/mastra/commit/4f9bbe5968f42c86f4930b8193de3c3c17e5bd36), [`efe406a`](https://github.com/mastra-ai/mastra/commit/efe406a1353c24993280ebc2ed61dd9f65b84b26), [`eb9e522`](https://github.com/mastra-ai/mastra/commit/eb9e522ce3070a405e5b949b7bf5609ca51d7fe2), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`20e6f19`](https://github.com/mastra-ai/mastra/commit/20e6f1971d51d3ff6dd7accad8aaaae826d540ed), [`053e979`](https://github.com/mastra-ai/mastra/commit/053e9793b28e970086b0507f7f3b76ea32c1e838), [`02e51fe`](https://github.com/mastra-ai/mastra/commit/02e51feddb3d4155cfbcc42624fd0d0970d032c0), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`7aedb74`](https://github.com/mastra-ai/mastra/commit/7aedb74883adf66af38e270e4068fd42e7a37036), [`3bdfa75`](https://github.com/mastra-ai/mastra/commit/3bdfa7507a91db66f176ba8221aa28dd546e464a), [`119e5c6`](https://github.com/mastra-ai/mastra/commit/119e5c65008f3e5cfca954eefc2eb85e3bf40da4), [`c6fd6fe`](https://github.com/mastra-ai/mastra/commit/c6fd6fedd09e9cf8004b03a80925f5e94826ad7e), [`8f02d80`](https://github.com/mastra-ai/mastra/commit/8f02d800777397e4b45d7f1ad041988a8b0c6630), [`fdac646`](https://github.com/mastra-ai/mastra/commit/fdac646033a0930a1a4e00d13aa64c40bb7f1e02), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`8f3fa3a`](https://github.com/mastra-ai/mastra/commit/8f3fa3a652bb77da092f913ec51ae46e3a7e27dc), [`d07b568`](https://github.com/mastra-ai/mastra/commit/d07b5687819ea8cb1dffa776d0c1765faf4aa1ae), [`e770de9`](https://github.com/mastra-ai/mastra/commit/e770de941a287a49b1964d44db5a5763d19890a6), [`e26dc9c`](https://github.com/mastra-ai/mastra/commit/e26dc9c3ccfec54ae3dc3e2b2589f741f9ae60a6), [`55edf73`](https://github.com/mastra-ai/mastra/commit/55edf7302149d6c964fbb7908b43babfc2b52145), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`1a46a56`](https://github.com/mastra-ai/mastra/commit/1a46a566f45a3fcbadc1cf36bf86d351f264bfa3), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`b5dc973`](https://github.com/mastra-ai/mastra/commit/b5dc9733a5158850298dfb103acb3babdba8a318), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`52e2716`](https://github.com/mastra-ai/mastra/commit/52e2716b42df6eff443de72360ae83e86ec23993), [`d7aad50`](https://github.com/mastra-ai/mastra/commit/d7aad501ce61646b76b4b511e558ac4eea9884d0), [`4f0b3c6`](https://github.com/mastra-ai/mastra/commit/4f0b3c66f196c06448487f680ccbb614d281e2f7), [`27b4040`](https://github.com/mastra-ai/mastra/commit/27b4040bfa1a95d92546f420a02a626b1419a1d6), [`c61fac3`](https://github.com/mastra-ai/mastra/commit/c61fac3add96f0dcce0208c07415279e2537eb62), [`6f14f70`](https://github.com/mastra-ai/mastra/commit/6f14f706ccaaf81b69544b6c1b75ab66a41e5317), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`cd29ad2`](https://github.com/mastra-ai/mastra/commit/cd29ad23a255534e8191f249593849ed29160886), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`854e3da`](https://github.com/mastra-ai/mastra/commit/854e3dad5daac17a91a20986399d3a51f54bf68b), [`ce18d38`](https://github.com/mastra-ai/mastra/commit/ce18d38678c65870350d123955014a8432075fd9), [`3cf540b`](https://github.com/mastra-ai/mastra/commit/3cf540b9fbfea8f4fc8d3a2319a4e6c0b0cbfd52), [`352a5d6`](https://github.com/mastra-ai/mastra/commit/352a5d625cfe09849b21e8f52a24c9f0366759d5), [`1c6ce51`](https://github.com/mastra-ai/mastra/commit/1c6ce51f875915ab57fd36873623013699a2a65d), [`74c4f22`](https://github.com/mastra-ai/mastra/commit/74c4f22ed4c71e72598eacc346ba95cdbc00294f), [`3a76a80`](https://github.com/mastra-ai/mastra/commit/3a76a80284cb71a0faa975abb3d4b2a9631e60cd), [`898a972`](https://github.com/mastra-ai/mastra/commit/898a9727d286c2510d6b702dfd367e6aaf5c6b0f), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`026b848`](https://github.com/mastra-ai/mastra/commit/026b8483fbf5b6d977be8f7e6aac8d15c75558ac), [`2c212e7`](https://github.com/mastra-ai/mastra/commit/2c212e704c90e2db83d4109e62c03f0f6ebd2667), [`a97003a`](https://github.com/mastra-ai/mastra/commit/a97003aa1cf2f4022a41912324a1e77263b326b8), [`f9a2509`](https://github.com/mastra-ai/mastra/commit/f9a25093ea72d210a5e52cfcb3bcc8b5e02dc25c), [`66741d1`](https://github.com/mastra-ai/mastra/commit/66741d1a99c4f42cf23a16109939e8348ac6852e), [`ccc141e`](https://github.com/mastra-ai/mastra/commit/ccc141ed27da0abc3a3fc28e9e5128152e8e37f4), [`27c0009`](https://github.com/mastra-ai/mastra/commit/27c0009777a6073d7631b0eb7b481d94e165b5ca), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`dee388d`](https://github.com/mastra-ai/mastra/commit/dee388dde02f2e63c53385ae69252a47ab6825cc), [`610a70b`](https://github.com/mastra-ai/mastra/commit/610a70bdad282079f0c630e0d7bb284578f20151), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`b7e17d3`](https://github.com/mastra-ai/mastra/commit/b7e17d3f5390bb5a71efc112204413656fcdc18d), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`fe3b897`](https://github.com/mastra-ai/mastra/commit/fe3b897c2ccbcd2b10e81b099438c7337feddf89), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`00123ba`](https://github.com/mastra-ai/mastra/commit/00123ba96dc9e5cd0b110420ebdba56d8f237b25), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`4ca4306`](https://github.com/mastra-ai/mastra/commit/4ca430614daa5fa04730205a302a43bf4accfe9f), [`cccf9c8`](https://github.com/mastra-ai/mastra/commit/cccf9c8b2d2dfc1a5e63919395b83d78c89682a0), [`74e504a`](https://github.com/mastra-ai/mastra/commit/74e504a3b584eafd2f198001c6a113bbec589fd3), [`29c4309`](https://github.com/mastra-ai/mastra/commit/29c4309f818b24304c041bcb4a8f19b5f13f6b62), [`16785ce`](https://github.com/mastra-ai/mastra/commit/16785ced928f6f22638f4488cf8a125d99211799), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`903f67d`](https://github.com/mastra-ai/mastra/commit/903f67d184504a273893818c02b961f5423a79ad), [`3f3fc30`](https://github.com/mastra-ai/mastra/commit/3f3fc3096f24c4a26cffeecfe73085928f72aa63), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`e33fdbd`](https://github.com/mastra-ai/mastra/commit/e33fdbd07b33920d81e823122331b0c0bee0bb59), [`4524734`](https://github.com/mastra-ai/mastra/commit/45247343e384717a7c8404296275c56201d6470f), [`7a010c5`](https://github.com/mastra-ai/mastra/commit/7a010c56b846a313a49ae42fccd3d8de2b9f292d), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`2a53598`](https://github.com/mastra-ai/mastra/commit/2a53598c6d8cfeb904a7fc74e57e526d751c8fa6), [`81b6a8f`](https://github.com/mastra-ai/mastra/commit/81b6a8ff79f49a7549d15d66624ac1a0b8f5f971), [`8538a0d`](https://github.com/mastra-ai/mastra/commit/8538a0d232619bf55dad7ddc2a8b0ca77c679a87), [`d90ea65`](https://github.com/mastra-ai/mastra/commit/d90ea6536f7aa51c6545a4e9215b55858e98e16d), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`261473a`](https://github.com/mastra-ai/mastra/commit/261473ac637e633064a22076671e2e02b002214d), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`de8239b`](https://github.com/mastra-ai/mastra/commit/de8239bdcb1d8c0cfa06da21f1569912a66bbc8a), [`e4d366a`](https://github.com/mastra-ai/mastra/commit/e4d366aeb500371dd4210d6aa8361a4c21d87034), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`b5e6cd7`](https://github.com/mastra-ai/mastra/commit/b5e6cd77fc8c8e64e0494c1d06cee3d84e795d1e), [`d171e55`](https://github.com/mastra-ai/mastra/commit/d171e559ead9f52ec728d424844c8f7b164c4510), [`f0fdc14`](https://github.com/mastra-ai/mastra/commit/f0fdc14ee233d619266b3d2bbdeea7d25cfc6d13), [`a4f010b`](https://github.com/mastra-ai/mastra/commit/a4f010b22e4355a5fdee70a1fe0f6e4a692cc29e), [`c7cd3c7`](https://github.com/mastra-ai/mastra/commit/c7cd3c7a187d7aaf79e2ca139de328bf609a14b4), [`db18bc9`](https://github.com/mastra-ai/mastra/commit/db18bc9c3825e2c1a0ad9a183cc9935f6691bfa1), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`68ec97d`](https://github.com/mastra-ai/mastra/commit/68ec97d4c07c6393fcf95c2481fc5d73da99f8c8), [`8dc7f55`](https://github.com/mastra-ai/mastra/commit/8dc7f55900395771da851dc7d78d53ae84fe34ec), [`cfabdd4`](https://github.com/mastra-ai/mastra/commit/cfabdd4aae7a726b706942d6836eeca110fb6267), [`9b37b56`](https://github.com/mastra-ai/mastra/commit/9b37b565e1f2a76c24f728945cc740c2b09be9da), [`01b20fe`](https://github.com/mastra-ai/mastra/commit/01b20fefb7c67c2b7d79417598ef4e60256d1225), [`dd4f34c`](https://github.com/mastra-ai/mastra/commit/dd4f34c78cbae24063463475b0619575c415f9b8), [`8379099`](https://github.com/mastra-ai/mastra/commit/8379099fc467af6bef54dd7f80c9bd75bf8bbddf), [`0dbf199`](https://github.com/mastra-ai/mastra/commit/0dbf199110f22192ce5c95b1c8148d4872b4d119), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`41a23c3`](https://github.com/mastra-ai/mastra/commit/41a23c32f9877d71810f37e24930515df2ff7a0f), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`a0a5b4b`](https://github.com/mastra-ai/mastra/commit/a0a5b4bbebe6c701ebbadf744873aa0d5ca01371), [`ce0a73a`](https://github.com/mastra-ai/mastra/commit/ce0a73abeaa75b10ca38f9e40a255a645d50ebfb), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`3759cb0`](https://github.com/mastra-ai/mastra/commit/3759cb064935b5f74c65ac2f52a1145f7352899d), [`929f69c`](https://github.com/mastra-ai/mastra/commit/929f69c3436fa20dd0f0e2f7ebe8270bd82a1529), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`10c2735`](https://github.com/mastra-ai/mastra/commit/10c27355edfdad1ee2b826b897df74125eb81fb8), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`8c0ec25`](https://github.com/mastra-ai/mastra/commit/8c0ec25646c8a7df253ed1e5ff4863a0d3f1316c), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`69ea758`](https://github.com/mastra-ai/mastra/commit/69ea758358edd7117f191c2e69c8bb5fc79e7a1a), [`73b0bb3`](https://github.com/mastra-ai/mastra/commit/73b0bb394dba7c9482eb467a97ab283dbc0ef4db), [`651e772`](https://github.com/mastra-ai/mastra/commit/651e772eb1475fb13e126d3fcc01751297a88214), [`a02e542`](https://github.com/mastra-ai/mastra/commit/a02e542d23179bad250b044b17ff023caa61739f), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`6b3ba91`](https://github.com/mastra-ai/mastra/commit/6b3ba91494cc10394df96782f349a4f7b1e152cc), [`a372c64`](https://github.com/mastra-ai/mastra/commit/a372c640ad1fd12e8f0613cebdc682fc156b4d95), [`993ad98`](https://github.com/mastra-ai/mastra/commit/993ad98d7ad3bebda9ecef5fec5c94349a0d04bc), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`3ff2c17`](https://github.com/mastra-ai/mastra/commit/3ff2c17a58e312fad5ea37377262c12d92ca0908), [`a0e437f`](https://github.com/mastra-ai/mastra/commit/a0e437fac561b28ee719e0302d72b2f9b4c138f0), [`d1e74a0`](https://github.com/mastra-ai/mastra/commit/d1e74a0a293866dece31022047f5dbab65a304d0), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`5627a8c`](https://github.com/mastra-ai/mastra/commit/5627a8c6dc11fe3711b3fa7a6ffd6eb34100a306), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`3ff45d1`](https://github.com/mastra-ai/mastra/commit/3ff45d10e0c80c5335a957ab563da72feb623520), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`b61b93f`](https://github.com/mastra-ai/mastra/commit/b61b93f9e058b11dd2eec169853175d31dbdd567), [`bae33d9`](https://github.com/mastra-ai/mastra/commit/bae33d91a63fbb64d1e80519e1fc1acaed1e9013), [`39e7869`](https://github.com/mastra-ai/mastra/commit/39e7869bc7d0ee391077ce291474d8a84eedccff), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`251df45`](https://github.com/mastra-ai/mastra/commit/251df4531407dfa46d805feb40ff3fb49769f455), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`f894d14`](https://github.com/mastra-ai/mastra/commit/f894d148946629af7b1f452d65a9cf864cec3765), [`8846867`](https://github.com/mastra-ai/mastra/commit/8846867ffa9a3746767618e314bebac08eb77d87), [`1924cf0`](https://github.com/mastra-ai/mastra/commit/1924cf06816e5e4d4d5333065ec0f4bb02a97799), [`c0b731f`](https://github.com/mastra-ai/mastra/commit/c0b731fb27d712dc8582e846df5c0332a6a0c5ba), [`5761926`](https://github.com/mastra-ai/mastra/commit/57619260c4a2cdd598763abbacd90de594c6bc76), [`c2b9547`](https://github.com/mastra-ai/mastra/commit/c2b9547bf435f56339f23625a743b2147ab1c7a6), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`c900fdd`](https://github.com/mastra-ai/mastra/commit/c900fdd504c41348efdffb205cfe80d48c38fa33), [`9312dcd`](https://github.com/mastra-ai/mastra/commit/9312dcd1c6f5b321929e7d382e763d95fdc030f5), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`5d7000f`](https://github.com/mastra-ai/mastra/commit/5d7000f757cd65ea9dc5b05e662fd83dfd44e932), [`43ca8f2`](https://github.com/mastra-ai/mastra/commit/43ca8f2c7334851cc7b4d3d2f037d8784bfbdd5f), [`d6d49f7`](https://github.com/mastra-ai/mastra/commit/d6d49f7b8714fa19a52ff9c7cf7fb7e73751901e), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`ad6250d`](https://github.com/mastra-ai/mastra/commit/ad6250dbdaad927e29f74a27b83f6c468b50a705), [`580b592`](https://github.com/mastra-ai/mastra/commit/580b5927afc82fe460dfdf9a38a902511b6b7e7f), [`604a79f`](https://github.com/mastra-ai/mastra/commit/604a79fecf276e26a54a3fe01bb94e65315d2e0e), [`42a42cf`](https://github.com/mastra-ai/mastra/commit/42a42cf3132b9786feecbb8c13c583dce5b0e198), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`ff4d9a6`](https://github.com/mastra-ai/mastra/commit/ff4d9a6704fc87b31a380a76ed22736fdedbba5a), [`50fd320`](https://github.com/mastra-ai/mastra/commit/50fd320003d0d93831c230ef531bef41f5ba7b3a), [`847c212`](https://github.com/mastra-ai/mastra/commit/847c212caba7df0d6f2fc756b494ac3c75c3720d), [`69821ef`](https://github.com/mastra-ai/mastra/commit/69821ef806482e2c44e2197ac0b050c3fe3a5285), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`ffa553a`](https://github.com/mastra-ai/mastra/commit/ffa553a3edc1bd17d73669fba66d6b6f4ac10897), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`58e3931`](https://github.com/mastra-ai/mastra/commit/58e3931af9baa5921688566210f00fb0c10479fa), [`ae08bf0`](https://github.com/mastra-ai/mastra/commit/ae08bf0ebc6a4e4da992b711c4a389c32ba84cf4), [`0bed332`](https://github.com/mastra-ai/mastra/commit/0bed332843f627202c6520eaf671771313cd20f3), [`887f0b4`](https://github.com/mastra-ai/mastra/commit/887f0b4746cdbd7cb7d6b17ac9f82aeb58037ea5), [`2562143`](https://github.com/mastra-ai/mastra/commit/256214336b4faa78646c9c1776612393790d8784), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`a7ce182`](https://github.com/mastra-ai/mastra/commit/a7ce1822a8785ce45d62dd5c911af465e144f7d7), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`bec5efd`](https://github.com/mastra-ai/mastra/commit/bec5efde96653ccae6604e68c696d1bc6c1a0bf5), [`5947fcd`](https://github.com/mastra-ai/mastra/commit/5947fcdd425531f29f9422026d466c2ee3113c93), [`4aa55b3`](https://github.com/mastra-ai/mastra/commit/4aa55b383cf06043943359ea316572fd969861a7), [`21735a7`](https://github.com/mastra-ai/mastra/commit/21735a7ef306963554a69a89b44f06c3bcd85141), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`7907fd1`](https://github.com/mastra-ai/mastra/commit/7907fd1c5059813b7b870b81ca71041dc807331b), [`1ed5716`](https://github.com/mastra-ai/mastra/commit/1ed5716830867b3774c4a1b43cc0d82935f32b96), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`2ca67cc`](https://github.com/mastra-ai/mastra/commit/2ca67cc3bb1f6a617353fdcab197d9efebe60d6f), [`9eedf7d`](https://github.com/mastra-ai/mastra/commit/9eedf7de1d6e0022a2f4e5e9e6fe1ec468f9b43c), [`b339816`](https://github.com/mastra-ai/mastra/commit/b339816df0984d0243d944ac2655d6ba5f809cde), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`6f941c4`](https://github.com/mastra-ai/mastra/commit/6f941c438ca5f578619788acc7608fc2e23bd176), [`4186bdd`](https://github.com/mastra-ai/mastra/commit/4186bdd00731305726fa06adba0b076a1d50b49f), [`08bb631`](https://github.com/mastra-ai/mastra/commit/08bb631ae2b14684b2678e3549d0b399a6f0561e), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`4f0331a`](https://github.com/mastra-ai/mastra/commit/4f0331a79bf6eb5ee598a5086e55de4b5a0ada03), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`1d877b8`](https://github.com/mastra-ai/mastra/commit/1d877b8d7b536a251c1a7a18db7ddcf4f68d6f8b), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`9e67002`](https://github.com/mastra-ai/mastra/commit/9e67002b52c9be19936c420a489dbee9c5fd6a78), [`7aaf973`](https://github.com/mastra-ai/mastra/commit/7aaf973f83fbbe9521f1f9e7a4fd99b8de464617), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`35edc49`](https://github.com/mastra-ai/mastra/commit/35edc49ac0556db609189641d6341e76771b81fc), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`ef11a61`](https://github.com/mastra-ai/mastra/commit/ef11a61920fa0ed08a5b7ceedd192875af119749), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e1bb9c9`](https://github.com/mastra-ai/mastra/commit/e1bb9c94b4eb68b019ae275981be3feb769b5365), [`351a11f`](https://github.com/mastra-ai/mastra/commit/351a11fcaf2ed1008977fa9b9a489fc422e51cd4), [`8a73529`](https://github.com/mastra-ai/mastra/commit/8a73529ca01187f604b1f3019d0a725ac63ae55f), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`4fba91b`](https://github.com/mastra-ai/mastra/commit/4fba91bec7c95911dc28e369437596b152b04cd0), [`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`8a000da`](https://github.com/mastra-ai/mastra/commit/8a000da0c09c679a2312f6b3aa05b2ca78ca7393), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019), [`12b0cc4`](https://github.com/mastra-ai/mastra/commit/12b0cc4077d886b1a552637dedb70a7ade93528c), [`3bf6c5f`](https://github.com/mastra-ai/mastra/commit/3bf6c5f104c25226cd84e0c77f9dec15f2cac2db)]:
1214
+ - @mastra/core@1.0.0
1215
+
1216
+ ## 1.0.0-beta.27
1217
+
1218
+ ### Patch Changes
1219
+
1220
+ - Updated dependencies [[`50fd320`](https://github.com/mastra-ai/mastra/commit/50fd320003d0d93831c230ef531bef41f5ba7b3a)]:
1221
+ - @mastra/core@1.0.0-beta.27
1222
+
1223
+ ## 1.0.0-beta.26
1224
+
1225
+ ### Patch Changes
1226
+
1227
+ - Improve type handling with Zod ([#12091](https://github.com/mastra-ai/mastra/pull/12091))
1228
+
1229
+ - Updated dependencies [[`026b848`](https://github.com/mastra-ai/mastra/commit/026b8483fbf5b6d977be8f7e6aac8d15c75558ac), [`ffa553a`](https://github.com/mastra-ai/mastra/commit/ffa553a3edc1bd17d73669fba66d6b6f4ac10897)]:
1230
+ - @mastra/core@1.0.0-beta.26
1231
+
1232
+ ## 1.0.0-beta.25
1233
+
1234
+ ### Minor Changes
1235
+
1236
+ - Added human-in-the-loop (HITL) tool approval support for `generate()` method. ([#12056](https://github.com/mastra-ai/mastra/pull/12056))
1237
+
1238
+ **Why:** This provides parity between `stream()` and `generate()` for tool approval flows, allowing non-streaming use cases to leverage `requireToolApproval` without needing to switch to streaming.
1239
+
1240
+ Previously, tool approval with `requireToolApproval` only worked with `stream()`. Now you can use the same approval flow with `generate()` for non-streaming use cases.
1241
+
1242
+ **Using tool approval with generate()**
1243
+
1244
+ ```typescript
1245
+ const output = await agent.generate('Find user John', {
1246
+ requireToolApproval: true,
1247
+ });
1248
+
1249
+ // Check if a tool is waiting for approval
1250
+ if (output.finishReason === 'suspended') {
1251
+ console.log('Tool requires approval:', output.suspendPayload.toolName);
1252
+
1253
+ // Approve the tool call
1254
+ const result = await agent.approveToolCallGenerate({
1255
+ runId: output.runId,
1256
+ toolCallId: output.suspendPayload.toolCallId,
1257
+ });
1258
+
1259
+ console.log(result.text);
1260
+ }
1261
+ ```
1262
+
1263
+ **Declining a tool call**
1264
+
1265
+ ```typescript
1266
+ if (output.finishReason === 'suspended') {
1267
+ const result = await agent.declineToolCallGenerate({
1268
+ runId: output.runId,
1269
+ toolCallId: output.suspendPayload.toolCallId,
1270
+ });
1271
+ }
1272
+ ```
1273
+
1274
+ **New methods added:**
1275
+ - `agent.approveToolCallGenerate({ runId, toolCallId })` - Approves a pending tool call and returns the complete result
1276
+ - `agent.declineToolCallGenerate({ runId, toolCallId })` - Declines a pending tool call and returns the complete result
1277
+
1278
+ **Server routes added:**
1279
+ - `POST /api/agents/:agentId/approve-tool-call-generate`
1280
+ - `POST /api/agents/:agentId/decline-tool-call-generate`
1281
+
1282
+ The playground UI now also supports tool approval when using generate mode.
1283
+
1284
+ - Added new `listThreads` method for flexible thread filtering across all storage adapters. ([#11832](https://github.com/mastra-ai/mastra/pull/11832))
1285
+
1286
+ **New Features**
1287
+ - Filter threads by `resourceId`, `metadata`, or both (with AND logic for metadata key-value pairs)
1288
+ - All filter parameters are optional, allowing you to list all threads or filter as needed
1289
+ - Full pagination and sorting support
1290
+
1291
+ **Example Usage**
1292
+
1293
+ ```typescript
1294
+ // List all threads
1295
+ const allThreads = await memory.listThreads({});
1296
+
1297
+ // Filter by resourceId only
1298
+ const userThreads = await memory.listThreads({
1299
+ filter: { resourceId: 'user-123' },
1300
+ });
1301
+
1302
+ // Filter by metadata only
1303
+ const supportThreads = await memory.listThreads({
1304
+ filter: { metadata: { category: 'support' } },
1305
+ });
1306
+
1307
+ // Filter by both with pagination
1308
+ const filteredThreads = await memory.listThreads({
1309
+ filter: {
1310
+ resourceId: 'user-123',
1311
+ metadata: { priority: 'high', status: 'open' },
1312
+ },
1313
+ orderBy: { field: 'updatedAt', direction: 'DESC' },
1314
+ page: 0,
1315
+ perPage: 20,
1316
+ });
1317
+ ```
1318
+
1319
+ **Security Improvements**
1320
+ - Added validation to prevent SQL injection via malicious metadata keys
1321
+ - Added pagination parameter validation to prevent integer overflow attacks
1322
+
1323
+ ### Patch Changes
1324
+
1325
+ - Fix navigation for processors Studio tab ([#12062](https://github.com/mastra-ai/mastra/pull/12062))
1326
+
1327
+ - Added new /api/processors endpoints to list, get details, and execute processors. Processor workflows are now auto-detected based on their schema. ([#12059](https://github.com/mastra-ai/mastra/pull/12059))
1328
+
1329
+ - Updated dependencies [[`ed3e3dd`](https://github.com/mastra-ai/mastra/commit/ed3e3ddec69d564fe2b125e083437f76331f1283), [`6833c69`](https://github.com/mastra-ai/mastra/commit/6833c69607418d257750bbcdd84638993d343539), [`47b1c16`](https://github.com/mastra-ai/mastra/commit/47b1c16a01c7ffb6765fe1e499b49092f8b7eba3), [`3a76a80`](https://github.com/mastra-ai/mastra/commit/3a76a80284cb71a0faa975abb3d4b2a9631e60cd), [`8538a0d`](https://github.com/mastra-ai/mastra/commit/8538a0d232619bf55dad7ddc2a8b0ca77c679a87), [`9312dcd`](https://github.com/mastra-ai/mastra/commit/9312dcd1c6f5b321929e7d382e763d95fdc030f5)]:
1330
+ - @mastra/core@1.0.0-beta.25
1331
+
1332
+ ## 1.0.0-beta.24
1333
+
1334
+ ### Patch Changes
1335
+
1336
+ - Updated dependencies [[`1dbd8c7`](https://github.com/mastra-ai/mastra/commit/1dbd8c729fb6536ec52f00064d76b80253d346e9), [`c59e13c`](https://github.com/mastra-ai/mastra/commit/c59e13c7688284bd96b2baee3e314335003548de), [`f9a2509`](https://github.com/mastra-ai/mastra/commit/f9a25093ea72d210a5e52cfcb3bcc8b5e02dc25c), [`7a010c5`](https://github.com/mastra-ai/mastra/commit/7a010c56b846a313a49ae42fccd3d8de2b9f292d)]:
1337
+ - @mastra/core@1.0.0-beta.24
1338
+
1339
+ ## 1.0.0-beta.23
1340
+
1341
+ ### Patch Changes
1342
+
1343
+ - Updated dependencies [[`c8417b4`](https://github.com/mastra-ai/mastra/commit/c8417b41d9f3486854dc7842d977fbe5e2166264), [`dd4f34c`](https://github.com/mastra-ai/mastra/commit/dd4f34c78cbae24063463475b0619575c415f9b8)]:
1344
+ - @mastra/core@1.0.0-beta.23
1345
+
1346
+ ## 1.0.0-beta.22
1347
+
1348
+ ### Major Changes
1349
+
1350
+ - **Breaking Change**: Convert OUTPUT generic from `OutputSchema` constraint to plain generic ([#11741](https://github.com/mastra-ai/mastra/pull/11741))
1351
+
1352
+ This change removes the direct dependency on Zod typings in the public API by converting all `OUTPUT extends OutputSchema` generic constraints to plain `OUTPUT` generics throughout the codebase. This is preparation for moving to a standard schema approach.
1353
+ - All generic type parameters previously constrained to `OutputSchema` (e.g., `<OUTPUT extends OutputSchema = undefined>`) are now plain generics with defaults (e.g., `<OUTPUT = undefined>`)
1354
+ - Affects all public APIs including `Agent`, `MastraModelOutput`, `AgentExecutionOptions`, and stream/generate methods
1355
+ - `InferSchemaOutput<OUTPUT>` replaced with `OUTPUT` throughout
1356
+ - `PartialSchemaOutput<OUTPUT>` replaced with `Partial<OUTPUT>`
1357
+ - Schema fields now use `NonNullable<OutputSchema<OUTPUT>>` instead of `OUTPUT` directly
1358
+ - Added `FullOutput<OUTPUT>` type representing complete output with all fields
1359
+ - Added `AgentExecutionOptionsBase<OUTPUT>` type
1360
+ - `getFullOutput()` method now returns `Promise<FullOutput<OUTPUT>>`
1361
+ - `Agent` class now generic: `Agent<TAgentId, TTools, TOutput>`
1362
+ - `agent.generate()` and `agent.stream()` methods have updated signatures
1363
+ - `MastraModelOutput<OUTPUT>` no longer requires `OutputSchema` constraint
1364
+ - Network route and streaming APIs updated to use plain OUTPUT generic
1365
+
1366
+ **Before:**
1367
+
1368
+ ```typescript
1369
+ const output = await agent.generate<z.ZodType>({
1370
+ messages: [...],
1371
+ structuredOutput: { schema: mySchema }
1372
+ });
1373
+
1374
+ **After:**
1375
+ const output = await agent.generate<z.infer<typeof mySchema>>({
1376
+ messages: [...],
1377
+ structuredOutput: { schema: mySchema }
1378
+ });
1379
+ // Or rely on type inference:
1380
+ const output = await agent.generate({
1381
+ messages: [...],
1382
+ structuredOutput: { schema: mySchema }
1383
+ });
1384
+
1385
+ ```
1386
+
1387
+ ### Patch Changes
1388
+
1389
+ - Removes the deprecated `threadId` and `resourceId` options from `AgentExecutionOptions`. These have been deprecated for months in favour of the `memory` option. ([#11897](https://github.com/mastra-ai/mastra/pull/11897))
1390
+
1391
+ ### Breaking Changes
1392
+
1393
+ #### `@mastra/core`
1394
+
1395
+ The `threadId` and `resourceId` options have been removed from `agent.generate()` and `agent.stream()`. Use the `memory` option instead:
1396
+
1397
+ ```ts
1398
+ // Before
1399
+ await agent.stream('Hello', {
1400
+ threadId: 'thread-123',
1401
+ resourceId: 'user-456',
1402
+ });
1403
+
1404
+ // After
1405
+ await agent.stream('Hello', {
1406
+ memory: {
1407
+ thread: 'thread-123',
1408
+ resource: 'user-456',
1409
+ },
1410
+ });
1411
+ ```
1412
+
1413
+ #### `@mastra/server`
1414
+
1415
+ The `threadId`, `resourceId`, and `resourceid` fields have been removed from the main agent execution body schema. The server now expects the `memory` option format in request bodies. Legacy routes (`/api/agents/:agentId/generate-legacy` and `/api/agents/:agentId/stream-legacy`) continue to support the deprecated fields.
1416
+
1417
+ #### `@mastra/react`
1418
+
1419
+ The `useChat` hook now internally converts `threadId` to the `memory` option format when making API calls. No changes needed in component code - the hook handles the conversion automatically.
1420
+
1421
+ #### `@mastra/client-js`
1422
+
1423
+ When using the client SDK agent methods, use the `memory` option instead of `threadId`/`resourceId`:
1424
+
1425
+ ```ts
1426
+ const agent = client.getAgent('my-agent');
1427
+
1428
+ // Before
1429
+ await agent.generate({
1430
+ messages: [...],
1431
+ threadId: 'thread-123',
1432
+ resourceId: 'user-456',
1433
+ });
1434
+
1435
+ // After
1436
+ await agent.generate({
1437
+ messages: [...],
1438
+ memory: {
1439
+ thread: 'thread-123',
1440
+ resource: 'user-456',
1441
+ },
1442
+ });
1443
+ ```
1444
+
1445
+ - Fixed orderBy query parameter parsing for memory endpoints. The listMessages and listThreads endpoints now correctly parse orderBy when passed as a JSON string in URL query parameters, matching the existing behavior for include and filter parameters. ([#11767](https://github.com/mastra-ai/mastra/pull/11767))
1446
+
1447
+ - Add human-in-the-loop (HITL) support to agent networks ([#11678](https://github.com/mastra-ai/mastra/pull/11678))
1448
+ - Add suspend/resume capabilities to agent network
1449
+ - Enable auto-resume for suspended network execution via `autoResumeSuspendedTools`
1450
+
1451
+ `agent.resumeNetwork`, `agent.approveNetworkToolCall`, `agent.declineNetworkToolCall`
1452
+
1453
+ - Fix 'Memory is not initialized' error in playground for agents with sub-agents but no memory ([#11780](https://github.com/mastra-ai/mastra/pull/11780))
1454
+
1455
+ When using agents with sub-agents (e.g., agent networks) but no memory configured, the playground UI would log HTTPException errors when fetching messages for sub-agents without memory.
1456
+
1457
+ Changed GET /api/memory/threads/:threadId/messages to return empty messages `{ messages: [], uiMessages: [] }` instead of throwing 400 error when memory is not configured for the requested agent.
1458
+
1459
+ - Updated dependencies [[`ebae12a`](https://github.com/mastra-ai/mastra/commit/ebae12a2dd0212e75478981053b148a2c246962d), [`c61a0a5`](https://github.com/mastra-ai/mastra/commit/c61a0a5de4904c88fd8b3718bc26d1be1c2ec6e7), [`69136e7`](https://github.com/mastra-ai/mastra/commit/69136e748e32f57297728a4e0f9a75988462f1a7), [`449aed2`](https://github.com/mastra-ai/mastra/commit/449aed2ba9d507b75bf93d427646ea94f734dfd1), [`eb648a2`](https://github.com/mastra-ai/mastra/commit/eb648a2cc1728f7678768dd70cd77619b448dab9), [`0131105`](https://github.com/mastra-ai/mastra/commit/0131105532e83bdcbb73352fc7d0879eebf140dc), [`9d5059e`](https://github.com/mastra-ai/mastra/commit/9d5059eae810829935fb08e81a9bb7ecd5b144a7), [`ef756c6`](https://github.com/mastra-ai/mastra/commit/ef756c65f82d16531c43f49a27290a416611e526), [`b00ccd3`](https://github.com/mastra-ai/mastra/commit/b00ccd325ebd5d9e37e34dd0a105caae67eb568f), [`3bdfa75`](https://github.com/mastra-ai/mastra/commit/3bdfa7507a91db66f176ba8221aa28dd546e464a), [`e770de9`](https://github.com/mastra-ai/mastra/commit/e770de941a287a49b1964d44db5a5763d19890a6), [`52e2716`](https://github.com/mastra-ai/mastra/commit/52e2716b42df6eff443de72360ae83e86ec23993), [`27b4040`](https://github.com/mastra-ai/mastra/commit/27b4040bfa1a95d92546f420a02a626b1419a1d6), [`610a70b`](https://github.com/mastra-ai/mastra/commit/610a70bdad282079f0c630e0d7bb284578f20151), [`8dc7f55`](https://github.com/mastra-ai/mastra/commit/8dc7f55900395771da851dc7d78d53ae84fe34ec), [`8379099`](https://github.com/mastra-ai/mastra/commit/8379099fc467af6bef54dd7f80c9bd75bf8bbddf), [`8c0ec25`](https://github.com/mastra-ai/mastra/commit/8c0ec25646c8a7df253ed1e5ff4863a0d3f1316c), [`ff4d9a6`](https://github.com/mastra-ai/mastra/commit/ff4d9a6704fc87b31a380a76ed22736fdedbba5a), [`69821ef`](https://github.com/mastra-ai/mastra/commit/69821ef806482e2c44e2197ac0b050c3fe3a5285), [`1ed5716`](https://github.com/mastra-ai/mastra/commit/1ed5716830867b3774c4a1b43cc0d82935f32b96), [`4186bdd`](https://github.com/mastra-ai/mastra/commit/4186bdd00731305726fa06adba0b076a1d50b49f), [`7aaf973`](https://github.com/mastra-ai/mastra/commit/7aaf973f83fbbe9521f1f9e7a4fd99b8de464617)]:
1460
+ - @mastra/core@1.0.0-beta.22
1461
+
1462
+ ## 1.0.0-beta.21
1463
+
1464
+ ### Patch Changes
1465
+
1466
+ - Replace deprecated client.getTraces with a client.listTraces ([#11711](https://github.com/mastra-ai/mastra/pull/11711))
1467
+
1468
+ - Fix query parameter parsing for complex nested optional types ([#11711](https://github.com/mastra-ai/mastra/pull/11711))
1469
+
1470
+ Fixes an issue where complex query parameters (like `startedAt` and `endedAt` date range filters) would fail with "Expected object, received string" errors when using the `listTraces` API.
1471
+
1472
+ The fix addresses two issues:
1473
+ - Properly unwraps all layers of nested optional/nullable types (e.g., from `.partial()` on already-optional fields)
1474
+ - Ensures compatibility with both zod v3 and v4
1475
+
1476
+ - Updated dependencies [[`08766f1`](https://github.com/mastra-ai/mastra/commit/08766f15e13ac0692fde2a8bd366c2e16e4321df), [`ae8baf7`](https://github.com/mastra-ai/mastra/commit/ae8baf7d8adcb0ff9dac11880400452bc49b33ff), [`cfabdd4`](https://github.com/mastra-ai/mastra/commit/cfabdd4aae7a726b706942d6836eeca110fb6267), [`a0e437f`](https://github.com/mastra-ai/mastra/commit/a0e437fac561b28ee719e0302d72b2f9b4c138f0), [`bec5efd`](https://github.com/mastra-ai/mastra/commit/bec5efde96653ccae6604e68c696d1bc6c1a0bf5), [`9eedf7d`](https://github.com/mastra-ai/mastra/commit/9eedf7de1d6e0022a2f4e5e9e6fe1ec468f9b43c)]:
1477
+ - @mastra/core@1.0.0-beta.21
1478
+
1479
+ ## 1.0.0-beta.20
1480
+
1481
+ ### Minor Changes
1482
+
1483
+ - Unified `getWorkflowRunById` and `getWorkflowRunExecutionResult` into a single API that returns `WorkflowState` with both metadata and execution state. ([#11429](https://github.com/mastra-ai/mastra/pull/11429))
1484
+
1485
+ **What changed:**
1486
+ - `getWorkflowRunById` now returns a unified `WorkflowState` object containing metadata (runId, workflowName, resourceId, createdAt, updatedAt) along with processed execution state (status, result, error, payload, steps)
1487
+ - Added optional `fields` parameter to request only specific fields for better performance
1488
+ - Added optional `withNestedWorkflows` parameter to control nested workflow step inclusion
1489
+ - Removed `getWorkflowRunExecutionResult` - use `getWorkflowRunById` instead (breaking change)
1490
+ - Removed `/execution-result` API endpoints from server (breaking change)
1491
+ - Removed `runExecutionResult()` method from client SDK (breaking change)
1492
+ - Removed `GetWorkflowRunExecutionResultResponse` type from client SDK (breaking change)
1493
+
1494
+ **Before:**
1495
+
1496
+ ```typescript
1497
+ // Had to call two different methods for different data
1498
+ const run = await workflow.getWorkflowRunById(runId); // Returns raw WorkflowRun with snapshot
1499
+ const result = await workflow.getWorkflowRunExecutionResult(runId); // Returns processed execution state
1500
+ ```
1501
+
1502
+ **After:**
1503
+
1504
+ ```typescript
1505
+ // Single method returns everything
1506
+ const run = await workflow.getWorkflowRunById(runId);
1507
+ // Returns: { runId, workflowName, resourceId, createdAt, updatedAt, status, result, error, payload, steps }
1508
+
1509
+ // Request only specific fields for better performance (avoids expensive step fetching)
1510
+ const status = await workflow.getWorkflowRunById(runId, { fields: ['status'] });
1511
+
1512
+ // Skip nested workflow steps for faster response
1513
+ const run = await workflow.getWorkflowRunById(runId, { withNestedWorkflows: false });
1514
+ ```
1515
+
1516
+ **Why:** The previous API required calling two separate methods to get complete workflow run information. This unification simplifies the API surface and gives users control over performance - fetching all steps (especially nested workflows) can be expensive, so the `fields` and `withNestedWorkflows` options let users request only what they need.
1517
+
1518
+ ### Patch Changes
1519
+
1520
+ - Add embedded documentation support for Mastra packages ([#11472](https://github.com/mastra-ai/mastra/pull/11472))
1521
+
1522
+ Mastra packages now include embedded documentation in the published npm package under `dist/docs/`. This enables coding agents and AI assistants to understand and use the framework by reading documentation directly from `node_modules`.
1523
+
1524
+ Each package includes:
1525
+ - **SKILL.md** - Entry point explaining the package's purpose and capabilities
1526
+ - **SOURCE_MAP.json** - Machine-readable index mapping exports to types and implementation files
1527
+ - **Topic folders** - Conceptual documentation organized by feature area
1528
+
1529
+ Documentation is driven by the `packages` frontmatter field in MDX files, which maps docs to their corresponding packages. CI validation ensures all docs include this field.
1530
+
1531
+ - Remove `streamVNext`, `resumeStreamVNext`, and `observeStreamVNext` methods, call `stream`, `resumeStream` and `observeStream` directly ([#11499](https://github.com/mastra-ai/mastra/pull/11499))
1532
+
1533
+ ```diff
1534
+ + const run = await workflow.createRun({ runId: '123' });
1535
+ - const stream = await run.streamVNext({ inputData: { ... } });
1536
+ + const stream = await run.stream({ inputData: { ... } });
1537
+ ```
1538
+
1539
+ - Fixed inconsistent query parameter handling across server adapters. ([#11429](https://github.com/mastra-ai/mastra/pull/11429))
1540
+
1541
+ **What changed:** Query parameters are now processed consistently across all server adapters (Express, Hono, Fastify, Koa). Added internal helper `normalizeQueryParams` and `ParsedRequestParams` type to `@mastra/server` for adapter implementations.
1542
+
1543
+ **Why:** Different HTTP frameworks handle query parameters differently - some return single strings while others return arrays for repeated params like `?tag=a&tag=b`. This caused type inconsistencies that could lead to validation failures in certain adapters.
1544
+
1545
+ **User impact:** None for typical usage - HTTP endpoints and client SDK behavior are unchanged. If you extend server adapter classes and override `getParams` or `parseQueryParams`, update your implementation to use `Record<string, string | string[]>` for query parameters.
1546
+
1547
+ - Add initial state input to workflow form in studio ([#11560](https://github.com/mastra-ai/mastra/pull/11560))
1548
+
1549
+ - Adds thread cloning to create independent copies of conversations that can diverge. ([#11517](https://github.com/mastra-ai/mastra/pull/11517))
1550
+
1551
+ ```typescript
1552
+ // Clone a thread
1553
+ const { thread, clonedMessages } = await memory.cloneThread({
1554
+ sourceThreadId: 'thread-123',
1555
+ title: 'My Clone',
1556
+ options: {
1557
+ messageLimit: 10, // optional: only copy last N messages
1558
+ },
1559
+ });
1560
+
1561
+ // Check if a thread is a clone
1562
+ if (memory.isClone(thread)) {
1563
+ const source = await memory.getSourceThread(thread.id);
1564
+ }
1565
+
1566
+ // List all clones of a thread
1567
+ const clones = await memory.listClones('thread-123');
1568
+ ```
1569
+
1570
+ Includes:
1571
+ - Storage implementations for InMemory, PostgreSQL, LibSQL, Upstash
1572
+ - API endpoint: `POST /api/memory/threads/:threadId/clone`
1573
+ - Embeddings created for cloned messages (semantic recall)
1574
+ - Clone button in playground UI Memory tab
1575
+
1576
+ - Make agentId optional for memory read operations (getThread, listThreads, listMessages) ([#11540](https://github.com/mastra-ai/mastra/pull/11540))
1577
+
1578
+ When workflows use multiple agents sharing the same threadId/resourceId, users can now retrieve threads and messages without specifying an agentId. The server falls back to using storage directly when agentId is not provided.
1579
+
1580
+ - Updated dependencies [[`d2d3e22`](https://github.com/mastra-ai/mastra/commit/d2d3e22a419ee243f8812a84e3453dd44365ecb0), [`bc72b52`](https://github.com/mastra-ai/mastra/commit/bc72b529ee4478fe89ecd85a8be47ce0127b82a0), [`05b8bee`](https://github.com/mastra-ai/mastra/commit/05b8bee9e50e6c2a4a2bf210eca25ee212ca24fa), [`c042bd0`](https://github.com/mastra-ai/mastra/commit/c042bd0b743e0e86199d0cb83344ca7690e34a9c), [`940a2b2`](https://github.com/mastra-ai/mastra/commit/940a2b27480626ed7e74f55806dcd2181c1dd0c2), [`e0941c3`](https://github.com/mastra-ai/mastra/commit/e0941c3d7fc75695d5d258e7008fd5d6e650800c), [`0c0580a`](https://github.com/mastra-ai/mastra/commit/0c0580a42f697cd2a7d5973f25bfe7da9055038a), [`28f5f89`](https://github.com/mastra-ai/mastra/commit/28f5f89705f2409921e3c45178796c0e0d0bbb64), [`e601b27`](https://github.com/mastra-ai/mastra/commit/e601b272c70f3a5ecca610373aa6223012704892), [`3d3366f`](https://github.com/mastra-ai/mastra/commit/3d3366f31683e7137d126a3a57174a222c5801fb), [`5a4953f`](https://github.com/mastra-ai/mastra/commit/5a4953f7d25bb15ca31ed16038092a39cb3f98b3), [`eb9e522`](https://github.com/mastra-ai/mastra/commit/eb9e522ce3070a405e5b949b7bf5609ca51d7fe2), [`20e6f19`](https://github.com/mastra-ai/mastra/commit/20e6f1971d51d3ff6dd7accad8aaaae826d540ed), [`4f0b3c6`](https://github.com/mastra-ai/mastra/commit/4f0b3c66f196c06448487f680ccbb614d281e2f7), [`74c4f22`](https://github.com/mastra-ai/mastra/commit/74c4f22ed4c71e72598eacc346ba95cdbc00294f), [`81b6a8f`](https://github.com/mastra-ai/mastra/commit/81b6a8ff79f49a7549d15d66624ac1a0b8f5f971), [`e4d366a`](https://github.com/mastra-ai/mastra/commit/e4d366aeb500371dd4210d6aa8361a4c21d87034), [`a4f010b`](https://github.com/mastra-ai/mastra/commit/a4f010b22e4355a5fdee70a1fe0f6e4a692cc29e), [`73b0bb3`](https://github.com/mastra-ai/mastra/commit/73b0bb394dba7c9482eb467a97ab283dbc0ef4db), [`5627a8c`](https://github.com/mastra-ai/mastra/commit/5627a8c6dc11fe3711b3fa7a6ffd6eb34100a306), [`3ff45d1`](https://github.com/mastra-ai/mastra/commit/3ff45d10e0c80c5335a957ab563da72feb623520), [`251df45`](https://github.com/mastra-ai/mastra/commit/251df4531407dfa46d805feb40ff3fb49769f455), [`f894d14`](https://github.com/mastra-ai/mastra/commit/f894d148946629af7b1f452d65a9cf864cec3765), [`c2b9547`](https://github.com/mastra-ai/mastra/commit/c2b9547bf435f56339f23625a743b2147ab1c7a6), [`580b592`](https://github.com/mastra-ai/mastra/commit/580b5927afc82fe460dfdf9a38a902511b6b7e7f), [`58e3931`](https://github.com/mastra-ai/mastra/commit/58e3931af9baa5921688566210f00fb0c10479fa), [`08bb631`](https://github.com/mastra-ai/mastra/commit/08bb631ae2b14684b2678e3549d0b399a6f0561e), [`4fba91b`](https://github.com/mastra-ai/mastra/commit/4fba91bec7c95911dc28e369437596b152b04cd0), [`12b0cc4`](https://github.com/mastra-ai/mastra/commit/12b0cc4077d886b1a552637dedb70a7ade93528c)]:
1581
+ - @mastra/core@1.0.0-beta.20
1582
+
1583
+ ## 1.0.0-beta.19
1584
+
1585
+ ### Patch Changes
1586
+
1587
+ - Updated dependencies [[`e54953e`](https://github.com/mastra-ai/mastra/commit/e54953ed8ce1b28c0d62a19950163039af7834b4), [`7d56d92`](https://github.com/mastra-ai/mastra/commit/7d56d9213886e8353956d7d40df10045fd12b299), [`fdac646`](https://github.com/mastra-ai/mastra/commit/fdac646033a0930a1a4e00d13aa64c40bb7f1e02), [`d07b568`](https://github.com/mastra-ai/mastra/commit/d07b5687819ea8cb1dffa776d0c1765faf4aa1ae), [`68ec97d`](https://github.com/mastra-ai/mastra/commit/68ec97d4c07c6393fcf95c2481fc5d73da99f8c8), [`4aa55b3`](https://github.com/mastra-ai/mastra/commit/4aa55b383cf06043943359ea316572fd969861a7)]:
1588
+ - @mastra/core@1.0.0-beta.19
1589
+
1590
+ ## 1.0.0-beta.18
1591
+
1592
+ ### Patch Changes
1593
+
1594
+ - Updated dependencies [[`5947fcd`](https://github.com/mastra-ai/mastra/commit/5947fcdd425531f29f9422026d466c2ee3113c93)]:
1595
+ - @mastra/core@1.0.0-beta.18
1596
+
1597
+ ## 1.0.0-beta.17
1598
+
1599
+ ### Patch Changes
1600
+
1601
+ - Updated dependencies [[`b5dc973`](https://github.com/mastra-ai/mastra/commit/b5dc9733a5158850298dfb103acb3babdba8a318)]:
1602
+ - @mastra/core@1.0.0-beta.17
1603
+
1604
+ ## 1.0.0-beta.16
1605
+
1606
+ ### Patch Changes
1607
+
1608
+ - Fix workflow observability view broken by invalid entityType parameter ([#11427](https://github.com/mastra-ai/mastra/pull/11427))
1609
+
1610
+ The UI workflow observability view was failing with a Zod validation error when trying to filter traces by workflow. The UI was sending `entityType=workflow`, but the backend's `EntityType` enum only accepts `workflow_run`.
1611
+
1612
+ **Root Cause**: The legacy value transformation was happening in the handler (after validation), but Zod validation occurred earlier in the request pipeline, rejecting the request before it could be transformed.
1613
+
1614
+ **Solution**:
1615
+ - Added `z.preprocess()` to the query schema to transform `workflow` → `workflow_run` before validation
1616
+ - Kept handler transformation for defense in depth
1617
+ - Updated UI to use `EntityType.WORKFLOW_RUN` enum value for type safety
1618
+
1619
+ This maintains backward compatibility with legacy clients while fixing the validation error.
1620
+
1621
+ Fixes #11412
1622
+
1623
+ - Add storage composition to MastraStorage ([#11401](https://github.com/mastra-ai/mastra/pull/11401))
1624
+
1625
+ `MastraStorage` can now compose storage domains from different adapters. Use it when you need different databases for different purposes - for example, PostgreSQL for memory and workflows, but a different database for observability.
1626
+
1627
+ ```typescript
1628
+ import { MastraStorage } from '@mastra/core/storage';
1629
+ import { MemoryPG, WorkflowsPG, ScoresPG } from '@mastra/pg';
1630
+ import { MemoryLibSQL } from '@mastra/libsql';
1631
+
1632
+ // Compose domains from different stores
1633
+ const storage = new MastraStorage({
1634
+ id: 'composite',
1635
+ domains: {
1636
+ memory: new MemoryLibSQL({ url: 'file:./local.db' }),
1637
+ workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
1638
+ scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
1639
+ },
1640
+ });
1641
+ ```
1642
+
1643
+ **Breaking changes:**
1644
+ - `storage.supports` property no longer exists
1645
+ - `StorageSupports` type is no longer exported from `@mastra/core/storage`
1646
+
1647
+ All stores now support the same features. For domain availability, use `getStore()`:
1648
+
1649
+ ```typescript
1650
+ const store = await storage.getStore('memory');
1651
+ if (store) {
1652
+ // domain is available
1653
+ }
1654
+ ```
1655
+
1656
+ - Updated dependencies [[`3d93a15`](https://github.com/mastra-ai/mastra/commit/3d93a15796b158c617461c8b98bede476ebb43e2), [`efe406a`](https://github.com/mastra-ai/mastra/commit/efe406a1353c24993280ebc2ed61dd9f65b84b26), [`119e5c6`](https://github.com/mastra-ai/mastra/commit/119e5c65008f3e5cfca954eefc2eb85e3bf40da4), [`74e504a`](https://github.com/mastra-ai/mastra/commit/74e504a3b584eafd2f198001c6a113bbec589fd3), [`e33fdbd`](https://github.com/mastra-ai/mastra/commit/e33fdbd07b33920d81e823122331b0c0bee0bb59), [`929f69c`](https://github.com/mastra-ai/mastra/commit/929f69c3436fa20dd0f0e2f7ebe8270bd82a1529), [`8a73529`](https://github.com/mastra-ai/mastra/commit/8a73529ca01187f604b1f3019d0a725ac63ae55f)]:
1657
+ - @mastra/core@1.0.0-beta.16
1658
+
1659
+ ## 1.0.0-beta.15
1660
+
1661
+ ### Minor Changes
1662
+
1663
+ - Unified observability schema with entity-based span identification ([#11132](https://github.com/mastra-ai/mastra/pull/11132))
1664
+
1665
+ ## What changed
1666
+
1667
+ Spans now use a unified identification model with `entityId`, `entityType`, and `entityName` instead of separate `agentId`, `toolId`, `workflowId` fields.
1668
+
1669
+ **Before:**
1670
+
1671
+ ```typescript
1672
+ // Old span structure
1673
+ span.agentId; // 'my-agent'
1674
+ span.toolId; // undefined
1675
+ span.workflowId; // undefined
1676
+ ```
1677
+
1678
+ **After:**
1679
+
1680
+ ```typescript
1681
+ // New span structure
1682
+ span.entityType; // EntityType.AGENT
1683
+ span.entityId; // 'my-agent'
1684
+ span.entityName; // 'My Agent'
1685
+ ```
1686
+
1687
+ ## New `listTraces()` API
1688
+
1689
+ Query traces with filtering, pagination, and sorting:
1690
+
1691
+ ```typescript
1692
+ const { spans, pagination } = await storage.listTraces({
1693
+ filters: {
1694
+ entityType: EntityType.AGENT,
1695
+ entityId: 'my-agent',
1696
+ userId: 'user-123',
1697
+ environment: 'production',
1698
+ status: TraceStatus.SUCCESS,
1699
+ startedAt: { start: new Date('2024-01-01'), end: new Date('2024-01-31') },
1700
+ },
1701
+ pagination: { page: 0, perPage: 50 },
1702
+ orderBy: { field: 'startedAt', direction: 'DESC' },
1703
+ });
1704
+ ```
1705
+
1706
+ **Available filters:** date ranges (`startedAt`, `endedAt`), entity (`entityType`, `entityId`, `entityName`), identity (`userId`, `organizationId`), correlation IDs (`runId`, `sessionId`, `threadId`), deployment (`environment`, `source`, `serviceName`), `tags`, `metadata`, and `status`.
1707
+
1708
+ ## New retrieval methods
1709
+ - `getSpan({ traceId, spanId })` - Get a single span
1710
+ - `getRootSpan({ traceId })` - Get the root span of a trace
1711
+ - `getTrace({ traceId })` - Get all spans for a trace
1712
+
1713
+ ## Backward compatibility
1714
+
1715
+ The legacy `getTraces()` method continues to work. When you pass `name: "agent run: my-agent"`, it automatically transforms to `entityId: "my-agent", entityType: AGENT`.
1716
+
1717
+ ## Migration
1718
+
1719
+ **Automatic:** SQL-based stores (PostgreSQL, LibSQL, MSSQL) automatically add new columns to existing `spans` tables on initialization. Existing data is preserved with new columns set to `NULL`.
1720
+
1721
+ **No action required:** Your existing code continues to work. Adopt the new fields and `listTraces()` API at your convenience.
1722
+
1723
+ ### Patch Changes
1724
+
1725
+ - Refactor storage architecture to use domain-specific stores via `getStore()` pattern ([#11361](https://github.com/mastra-ai/mastra/pull/11361))
1726
+
1727
+ ### Summary
1728
+
1729
+ This release introduces a new storage architecture that replaces passthrough methods on `MastraStorage` with domain-specific storage interfaces accessed via `getStore()`. This change reduces code duplication across storage adapters and provides a cleaner, more modular API.
1730
+
1731
+ ### Migration Guide
1732
+
1733
+ All direct method calls on storage instances should be updated to use `getStore()`:
1734
+
1735
+ ```typescript
1736
+ // Before
1737
+ const thread = await storage.getThreadById({ threadId });
1738
+ await storage.persistWorkflowSnapshot({ workflowName, runId, snapshot });
1739
+ await storage.createSpan(span);
1740
+
1741
+ // After
1742
+ const memory = await storage.getStore('memory');
1743
+ const thread = await memory?.getThreadById({ threadId });
1744
+
1745
+ const workflows = await storage.getStore('workflows');
1746
+ await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
1747
+
1748
+ const observability = await storage.getStore('observability');
1749
+ await observability?.createSpan(span);
1750
+ ```
1751
+
1752
+ ### Available Domains
1753
+ - **`memory`**: Thread and message operations (`getThreadById`, `saveThread`, `saveMessages`, etc.)
1754
+ - **`workflows`**: Workflow state persistence (`persistWorkflowSnapshot`, `loadWorkflowSnapshot`, `getWorkflowRunById`, etc.)
1755
+ - **`scores`**: Evaluation scores (`saveScore`, `listScoresByScorerId`, etc.)
1756
+ - **`observability`**: Tracing and spans (`createSpan`, `updateSpan`, `getTrace`, etc.)
1757
+ - **`agents`**: Stored agent configurations (`createAgent`, `getAgentById`, `listAgents`, etc.)
1758
+
1759
+ ### Breaking Changes
1760
+ - Passthrough methods have been removed from `MastraStorage` base class
1761
+ - All storage adapters now require accessing domains via `getStore()`
1762
+ - The `stores` property on storage instances is now the canonical way to access domain storage
1763
+
1764
+ ### Internal Changes
1765
+ - Each storage adapter now initializes domain-specific stores in its constructor
1766
+ - Domain stores share database connections and handle their own table initialization
1767
+
1768
+ - Add `/api/system/packages` endpoint that returns installed Mastra packages and versions from the dev environment ([#11211](https://github.com/mastra-ai/mastra/pull/11211))
1769
+
1770
+ - Add `perStep` option to workflow run methods, allowing a workflow to run just a step instead of all the workflow steps ([#11276](https://github.com/mastra-ai/mastra/pull/11276))
1771
+
1772
+ - Fixed voice transcription endpoint ([#11348](https://github.com/mastra-ai/mastra/pull/11348))
1773
+
1774
+ The voice transcription endpoint (`/api/agents/:agentId/voice/listen`) now correctly handles multipart/form-data requests for audio uploads rather than only parsing JSON request bodies.
1775
+
1776
+ Both Express and Hono adapters now parse multipart/form-data bodies and handle JSON-encoded form fields.
1777
+
1778
+ **Breaking change:** The server schema field for the transcription endpoint was renamed from `audioData` to `audio` to match the client SDK. If you are making direct API calls to the transcription endpoint (not using the SDK), you will need to update your request body to use `audio` instead of `audioData`.
1779
+
1780
+ - Updated dependencies [[`33a4d2e`](https://github.com/mastra-ai/mastra/commit/33a4d2e4ed8af51f69256232f00c34d6b6b51d48), [`4aaa844`](https://github.com/mastra-ai/mastra/commit/4aaa844a4f19d054490f43638a990cc57bda8d2f), [`4a1a6cb`](https://github.com/mastra-ai/mastra/commit/4a1a6cb3facad54b2bb6780b00ce91d6de1edc08), [`31d13d5`](https://github.com/mastra-ai/mastra/commit/31d13d5fdc2e2380e2e3ee3ec9fb29d2a00f265d), [`4c62166`](https://github.com/mastra-ai/mastra/commit/4c621669f4a29b1f443eca3ba70b814afa286266), [`7bcbf10`](https://github.com/mastra-ai/mastra/commit/7bcbf10133516e03df964b941f9a34e9e4ab4177), [`4353600`](https://github.com/mastra-ai/mastra/commit/43536005a65988a8eede236f69122e7f5a284ba2), [`6986fb0`](https://github.com/mastra-ai/mastra/commit/6986fb064f5db6ecc24aa655e1d26529087b43b3), [`053e979`](https://github.com/mastra-ai/mastra/commit/053e9793b28e970086b0507f7f3b76ea32c1e838), [`e26dc9c`](https://github.com/mastra-ai/mastra/commit/e26dc9c3ccfec54ae3dc3e2b2589f741f9ae60a6), [`55edf73`](https://github.com/mastra-ai/mastra/commit/55edf7302149d6c964fbb7908b43babfc2b52145), [`27c0009`](https://github.com/mastra-ai/mastra/commit/27c0009777a6073d7631b0eb7b481d94e165b5ca), [`dee388d`](https://github.com/mastra-ai/mastra/commit/dee388dde02f2e63c53385ae69252a47ab6825cc), [`3f3fc30`](https://github.com/mastra-ai/mastra/commit/3f3fc3096f24c4a26cffeecfe73085928f72aa63), [`d90ea65`](https://github.com/mastra-ai/mastra/commit/d90ea6536f7aa51c6545a4e9215b55858e98e16d), [`d171e55`](https://github.com/mastra-ai/mastra/commit/d171e559ead9f52ec728d424844c8f7b164c4510), [`10c2735`](https://github.com/mastra-ai/mastra/commit/10c27355edfdad1ee2b826b897df74125eb81fb8), [`1924cf0`](https://github.com/mastra-ai/mastra/commit/1924cf06816e5e4d4d5333065ec0f4bb02a97799), [`b339816`](https://github.com/mastra-ai/mastra/commit/b339816df0984d0243d944ac2655d6ba5f809cde)]:
1781
+ - @mastra/core@1.0.0-beta.15
1782
+
1783
+ ## 1.0.0-beta.14
1784
+
1785
+ ### Patch Changes
1786
+
1787
+ - Add execution metadata to A2A message/send responses. The A2A protocol now returns detailed execution information including tool calls, tool results, token usage, and finish reason in the task metadata. This allows clients to inspect which tools were invoked during agent execution and access execution statistics without additional queries. ([#11241](https://github.com/mastra-ai/mastra/pull/11241))
1788
+
1789
+ - feat: Add field filtering and nested workflow control to workflow execution result endpoint ([#11246](https://github.com/mastra-ai/mastra/pull/11246))
1790
+
1791
+ Adds two optional query parameters to `/api/workflows/:workflowId/runs/:runId/execution-result` endpoint:
1792
+ - `fields`: Request only specific fields (e.g., `status`, `result`, `error`)
1793
+ - `withNestedWorkflows`: Control whether to fetch nested workflow data
1794
+
1795
+ This significantly reduces response payload size and improves response times for large workflows.
1796
+
1797
+ ## Server Endpoint Usage
1798
+
1799
+ ```http
1800
+ # Get only status (minimal payload - fastest)
1801
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status
1802
+
1803
+ # Get status and result
1804
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,result
1805
+
1806
+ # Get all fields but without nested workflow data (faster)
1807
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?withNestedWorkflows=false
1808
+
1809
+ # Get only specific fields without nested workflow data
1810
+ GET /api/workflows/:workflowId/runs/:runId/execution-result?fields=status,steps&withNestedWorkflows=false
1811
+
1812
+ # Get full data (default behavior)
1813
+ GET /api/workflows/:workflowId/runs/:runId/execution-result
1814
+ ```
1815
+
1816
+ ## Client SDK Usage
1817
+
1818
+ ```typescript
1819
+ import { MastraClient } from '@mastra/client-js';
1820
+
1821
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
1822
+ const workflow = client.getWorkflow('myWorkflow');
1823
+
1824
+ // Get only status (minimal payload - fastest)
1825
+ const statusOnly = await workflow.runExecutionResult(runId, {
1826
+ fields: ['status'],
1827
+ });
1828
+ console.log(statusOnly.status); // 'success' | 'failed' | 'running' | etc.
1829
+
1830
+ // Get status and result
1831
+ const statusAndResult = await workflow.runExecutionResult(runId, {
1832
+ fields: ['status', 'result'],
1833
+ });
1834
+
1835
+ // Get all fields but without nested workflow data (faster)
1836
+ const resultWithoutNested = await workflow.runExecutionResult(runId, {
1837
+ withNestedWorkflows: false,
1838
+ });
1839
+
1840
+ // Get specific fields without nested workflow data
1841
+ const optimized = await workflow.runExecutionResult(runId, {
1842
+ fields: ['status', 'steps'],
1843
+ withNestedWorkflows: false,
1844
+ });
1845
+
1846
+ // Get full execution result (default behavior)
1847
+ const fullResult = await workflow.runExecutionResult(runId);
1848
+ ```
1849
+
1850
+ ## Core API Changes
1851
+
1852
+ The `Workflow.getWorkflowRunExecutionResult` method now accepts an options object:
1853
+
1854
+ ```typescript
1855
+ await workflow.getWorkflowRunExecutionResult(runId, {
1856
+ withNestedWorkflows: false, // default: true, set to false to skip nested workflow data
1857
+ fields: ['status', 'result'], // optional field filtering
1858
+ });
1859
+ ```
1860
+
1861
+ ## Inngest Compatibility
1862
+
1863
+ The `@mastra/inngest` package has been updated to use the new options object API. This is a non-breaking internal change - no action required from inngest workflow users.
1864
+
1865
+ ## Performance Impact
1866
+
1867
+ For workflows with large step outputs:
1868
+ - Requesting only `status`: ~99% reduction in payload size
1869
+ - Requesting `status,result,error`: ~95% reduction in payload size
1870
+ - Using `withNestedWorkflows=false`: Avoids expensive nested workflow data fetching
1871
+ - Combining both: Maximum performance optimization
1872
+
1873
+ - Updated dependencies [[`4f94ed8`](https://github.com/mastra-ai/mastra/commit/4f94ed8177abfde3ec536e3574883e075423350c), [`ac3cc23`](https://github.com/mastra-ai/mastra/commit/ac3cc2397d1966bc0fc2736a223abc449d3c7719), [`a86f4df`](https://github.com/mastra-ai/mastra/commit/a86f4df0407311e0d2ea49b9a541f0938810d6a9), [`029540c`](https://github.com/mastra-ai/mastra/commit/029540ca1e582fc2dd8d288ecd4a9b0f31a954ef), [`66741d1`](https://github.com/mastra-ai/mastra/commit/66741d1a99c4f42cf23a16109939e8348ac6852e), [`01b20fe`](https://github.com/mastra-ai/mastra/commit/01b20fefb7c67c2b7d79417598ef4e60256d1225), [`0dbf199`](https://github.com/mastra-ai/mastra/commit/0dbf199110f22192ce5c95b1c8148d4872b4d119), [`a7ce182`](https://github.com/mastra-ai/mastra/commit/a7ce1822a8785ce45d62dd5c911af465e144f7d7)]:
1874
+ - @mastra/core@1.0.0-beta.14
1875
+
1876
+ ## 1.0.0-beta.13
1877
+
1878
+ ### Patch Changes
1879
+
1880
+ - Updated dependencies [[`919a22b`](https://github.com/mastra-ai/mastra/commit/919a22b25876f9ed5891efe5facbe682c30ff497)]:
1881
+ - @mastra/core@1.0.0-beta.13
1882
+
1883
+ ## 1.0.0-beta.12
1884
+
1885
+ ### Patch Changes
1886
+
1887
+ - Add resourceId to workflow routes ([#11166](https://github.com/mastra-ai/mastra/pull/11166))
1888
+
1889
+ - Fix MastraServer.tools typing to accept tools with input schemas ([`5118f38`](https://github.com/mastra-ai/mastra/commit/5118f384a70b1166012fde3b901f3227870b1009))
1890
+
1891
+ Fixes issue #11185 where `MastraServer.tools` was rejecting tools created with `createTool({ inputSchema })`. Changed the tools property type from `Record<string, Tool>` to `ToolsInput` to accept tools with any schema types (input, output, or none), as well as Vercel AI SDK tools and provider-defined tools.
1892
+
1893
+ Tools created with `createTool({ inputSchema: z.object(...) })` now work without TypeScript errors.
1894
+
1895
+ - Remove deprecated playground-only prompt generation handler (functionality moved to @mastra/server) ([#11074](https://github.com/mastra-ai/mastra/pull/11074))
1896
+
1897
+ Improve prompt enhancement UX: show toast errors when enhancement fails, disable button when no model has a configured API key, and prevent users from disabling all models in the model list
1898
+
1899
+ Add missing `/api/agents/:agentId/instructions/enhance` endpoint that was referenced by `@mastra/client-js` and `@mastra/playground-ui`
1900
+
1901
+ - Updated dependencies [[`d5ed981`](https://github.com/mastra-ai/mastra/commit/d5ed981c8701c1b8a27a5f35a9a2f7d9244e695f), [`9650cce`](https://github.com/mastra-ai/mastra/commit/9650cce52a1d917ff9114653398e2a0f5c3ba808), [`932d63d`](https://github.com/mastra-ai/mastra/commit/932d63dd51be9c8bf1e00e3671fe65606c6fb9cd), [`b760b73`](https://github.com/mastra-ai/mastra/commit/b760b731aca7c8a3f041f61d57a7f125ae9cb215), [`695a621`](https://github.com/mastra-ai/mastra/commit/695a621528bdabeb87f83c2277cf2bb084c7f2b4), [`2b459f4`](https://github.com/mastra-ai/mastra/commit/2b459f466fd91688eeb2a44801dc23f7f8a887ab), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`24b76d8`](https://github.com/mastra-ai/mastra/commit/24b76d8e17656269c8ed09a0c038adb9cc2ae95a), [`243a823`](https://github.com/mastra-ai/mastra/commit/243a8239c5906f5c94e4f78b54676793f7510ae3), [`486352b`](https://github.com/mastra-ai/mastra/commit/486352b66c746602b68a95839f830de14c7fb8c0), [`c61fac3`](https://github.com/mastra-ai/mastra/commit/c61fac3add96f0dcce0208c07415279e2537eb62), [`6f14f70`](https://github.com/mastra-ai/mastra/commit/6f14f706ccaaf81b69544b6c1b75ab66a41e5317), [`09e4bae`](https://github.com/mastra-ai/mastra/commit/09e4bae18dd5357d2ae078a4a95a2af32168ab08), [`4524734`](https://github.com/mastra-ai/mastra/commit/45247343e384717a7c8404296275c56201d6470f), [`2a53598`](https://github.com/mastra-ai/mastra/commit/2a53598c6d8cfeb904a7fc74e57e526d751c8fa6), [`c7cd3c7`](https://github.com/mastra-ai/mastra/commit/c7cd3c7a187d7aaf79e2ca139de328bf609a14b4), [`847c212`](https://github.com/mastra-ai/mastra/commit/847c212caba7df0d6f2fc756b494ac3c75c3720d), [`6f941c4`](https://github.com/mastra-ai/mastra/commit/6f941c438ca5f578619788acc7608fc2e23bd176)]:
1902
+ - @mastra/core@1.0.0-beta.12
1903
+
1904
+ ## 1.0.0-beta.11
1905
+
1906
+ ### Patch Changes
1907
+
1908
+ - Fix type safety for message ordering - restrict `orderBy` to only accept `'createdAt'` field ([#11069](https://github.com/mastra-ai/mastra/pull/11069))
1909
+
1910
+ Messages don't have an `updatedAt` field, but the previous type allowed ordering by it, which would return empty results. This change adds compile-time type safety by making `StorageOrderBy` generic and restricting `StorageListMessagesInput.orderBy` to only accept `'createdAt'`. The API validation schemas have also been updated to reject invalid orderBy values at runtime.
1911
+
1912
+ - Support new Workflow tripwire run status. Tripwires that are thrown from within a workflow will now bubble up and return a graceful state with information about tripwires. ([#10947](https://github.com/mastra-ai/mastra/pull/10947))
1913
+
1914
+ When a workflow contains an agent step that triggers a tripwire, the workflow returns with `status: 'tripwire'` and includes tripwire details:
1915
+
1916
+ ```typescript showLineNumbers copy
1917
+ const run = await workflow.createRun();
1918
+ const result = await run.start({ inputData: { message: 'Hello' } });
1919
+
1920
+ if (result.status === 'tripwire') {
1921
+ console.log('Workflow terminated by tripwire:', result.tripwire?.reason);
1922
+ console.log('Processor ID:', result.tripwire?.processorId);
1923
+ console.log('Retry requested:', result.tripwire?.retry);
1924
+ }
1925
+ ```
1926
+
1927
+ Adds new UI state for tripwire in agent chat and workflow UI.
1928
+
1929
+ This is distinct from `status: 'failed'` which indicates an unexpected error. A tripwire status means a processor intentionally stopped execution (e.g., for content moderation).
1930
+
1931
+ - Updated dependencies [[`38380b6`](https://github.com/mastra-ai/mastra/commit/38380b60fca905824bdf6b43df307a58efb1aa15), [`798d0c7`](https://github.com/mastra-ai/mastra/commit/798d0c740232653b1d754870e6b43a55c364ffe2), [`ffe84d5`](https://github.com/mastra-ai/mastra/commit/ffe84d54f3b0f85167fe977efd027dba027eb998), [`2c212e7`](https://github.com/mastra-ai/mastra/commit/2c212e704c90e2db83d4109e62c03f0f6ebd2667), [`4ca4306`](https://github.com/mastra-ai/mastra/commit/4ca430614daa5fa04730205a302a43bf4accfe9f), [`3bf6c5f`](https://github.com/mastra-ai/mastra/commit/3bf6c5f104c25226cd84e0c77f9dec15f2cac2db)]:
1932
+ - @mastra/core@1.0.0-beta.11
1933
+
1934
+ ## 1.0.0-beta.10
1935
+
1936
+ ### Patch Changes
1937
+
1938
+ - ### Breaking Changes ([#11028](https://github.com/mastra-ai/mastra/pull/11028))
1939
+ - Renamed `RuntimeContext` type to `ServerContext` to avoid confusion with the user-facing `RequestContext` (previously called `RuntimeContext`)
1940
+ - Removed `playground` and `isDev` options from server adapter constructors - these only set context variables without any actual functionality
1941
+
1942
+ ### Changes
1943
+
1944
+ **@mastra/server**
1945
+ - Renamed `RuntimeContext` type to `ServerContext` in route handler types
1946
+ - Renamed `createTestRuntimeContext` to `createTestServerContext` in test utilities
1947
+ - Renamed `isPlayground` parameter to `isStudio` in `formatAgent` function
1948
+
1949
+ **@mastra/hono**
1950
+ - Removed `playground` and `isDev` from `HonoVariables` type
1951
+ - Removed setting of `playground` and `isDev` context variables in middleware
1952
+
1953
+ **@mastra/express**
1954
+ - Removed `playground` and `isDev` from `Express.Locals` interface
1955
+ - Removed setting of `playground` and `isDev` in response locals
1956
+
1957
+ - Add delete workflow run API ([#10991](https://github.com/mastra-ai/mastra/pull/10991))
1958
+
1959
+ ```typescript
1960
+ await workflow.deleteWorkflowRunById(runId);
1961
+ ```
1962
+
1963
+ - Updated dependencies [[`edb07e4`](https://github.com/mastra-ai/mastra/commit/edb07e49283e0c28bd094a60e03439bf6ecf0221), [`b7e17d3`](https://github.com/mastra-ai/mastra/commit/b7e17d3f5390bb5a71efc112204413656fcdc18d), [`261473a`](https://github.com/mastra-ai/mastra/commit/261473ac637e633064a22076671e2e02b002214d), [`5d7000f`](https://github.com/mastra-ai/mastra/commit/5d7000f757cd65ea9dc5b05e662fd83dfd44e932), [`4f0331a`](https://github.com/mastra-ai/mastra/commit/4f0331a79bf6eb5ee598a5086e55de4b5a0ada03), [`8a000da`](https://github.com/mastra-ai/mastra/commit/8a000da0c09c679a2312f6b3aa05b2ca78ca7393)]:
1964
+ - @mastra/core@1.0.0-beta.10
1965
+
1966
+ ## 1.0.0-beta.9
1967
+
1968
+ ### Minor Changes
1969
+
1970
+ - Add stored agents support ([#10953](https://github.com/mastra-ai/mastra/pull/10953))
1971
+
1972
+ Agents can now be stored in the database and loaded at runtime. This lets you persist agent configurations and dynamically create executable Agent instances from storage.
1973
+
1974
+ ```typescript
1975
+ import { Mastra } from '@mastra/core';
1976
+ import { LibSQLStore } from '@mastra/libsql';
1977
+
1978
+ const mastra = new Mastra({
1979
+ storage: new LibSQLStore({ url: ':memory:' }),
1980
+ tools: { myTool },
1981
+ scorers: { myScorer },
1982
+ });
1983
+
1984
+ // Create agent in storage via API or directly
1985
+ await mastra.getStorage().createAgent({
1986
+ agent: {
1987
+ id: 'my-agent',
1988
+ name: 'My Agent',
1989
+ instructions: 'You are helpful',
1990
+ model: { provider: 'openai', name: 'gpt-4' },
1991
+ tools: { myTool: {} },
1992
+ scorers: { myScorer: { sampling: { type: 'ratio', rate: 0.5 } } },
1993
+ },
1994
+ });
1995
+
1996
+ // Load and use the agent
1997
+ const agent = await mastra.getStoredAgentById('my-agent');
1998
+ const response = await agent.generate({ messages: 'Hello!' });
1999
+
2000
+ // List all stored agents with pagination
2001
+ const { agents, total, hasMore } = await mastra.listStoredAgents({
2002
+ page: 0,
2003
+ perPage: 10,
2004
+ });
2005
+ ```
2006
+
2007
+ Also adds a memory registry to Mastra so stored agents can reference memory instances by key.
2008
+
2009
+ ### Patch Changes
2010
+
2011
+ - Updated dependencies [[`72df8ae`](https://github.com/mastra-ai/mastra/commit/72df8ae595584cdd7747d5c39ffaca45e4507227), [`9198899`](https://github.com/mastra-ai/mastra/commit/91988995c427b185c33714b7f3be955367911324), [`653e65a`](https://github.com/mastra-ai/mastra/commit/653e65ae1f9502c2958a32f47a5a2df11e612a92), [`c6fd6fe`](https://github.com/mastra-ai/mastra/commit/c6fd6fedd09e9cf8004b03a80925f5e94826ad7e), [`0bed332`](https://github.com/mastra-ai/mastra/commit/0bed332843f627202c6520eaf671771313cd20f3)]:
2012
+ - @mastra/core@1.0.0-beta.9
2013
+
2014
+ ## 1.0.0-beta.8
2015
+
2016
+ ### Patch Changes
2017
+
2018
+ - Updated dependencies [[`0d41fe2`](https://github.com/mastra-ai/mastra/commit/0d41fe245355dfc66d61a0d9c85d9400aac351ff), [`6b3ba91`](https://github.com/mastra-ai/mastra/commit/6b3ba91494cc10394df96782f349a4f7b1e152cc), [`7907fd1`](https://github.com/mastra-ai/mastra/commit/7907fd1c5059813b7b870b81ca71041dc807331b)]:
2019
+ - @mastra/core@1.0.0-beta.8
2020
+
2021
+ ## 1.0.0-beta.7
2022
+
2023
+ ### Patch Changes
2024
+
2025
+ - fix: standardize pagination params to page/perPage with backwards compatibility for limit/offset ([#10790](https://github.com/mastra-ai/mastra/pull/10790))
2026
+ - Server now accepts both `page`/`perPage` and legacy `limit`/`offset` params for workflow runs and MCP server listing endpoints
2027
+ - Client SDK sends both param formats to support older server versions
2028
+ - Added `createCombinedPaginationSchema` helper for endpoints needing backwards compatibility
2029
+ - Marked `limit` and `offset` as deprecated in client types
2030
+
2031
+ - feat: Add partial response support for agent and workflow list endpoints ([#10886](https://github.com/mastra-ai/mastra/pull/10886))
2032
+
2033
+ Add optional `partial` query parameter to `/api/agents` and `/api/workflows` endpoints to return minimal data without schemas, reducing payload size for list views:
2034
+ - When `partial=true`: tool schemas (inputSchema, outputSchema) are omitted
2035
+ - When `partial=true`: workflow steps are replaced with stepCount integer
2036
+ - When `partial=true`: workflow root schemas (inputSchema, outputSchema) are omitted
2037
+ - Maintains backward compatibility when partial parameter is not provided
2038
+
2039
+ ## Server Endpoint Usage
2040
+
2041
+ ```http
2042
+ # Get partial agent data (no tool schemas)
2043
+ GET /api/agents?partial=true
2044
+
2045
+ # Get full agent data (default behavior)
2046
+ GET /api/agents
2047
+
2048
+ # Get partial workflow data (stepCount instead of steps, no schemas)
2049
+ GET /api/workflows?partial=true
2050
+
2051
+ # Get full workflow data (default behavior)
2052
+ GET /api/workflows
2053
+ ```
2054
+
2055
+ ## Client SDK Usage
2056
+
2057
+ ```typescript
2058
+ import { MastraClient } from '@mastra/client-js';
2059
+
2060
+ const client = new MastraClient({ baseUrl: 'http://localhost:4111' });
2061
+
2062
+ // Get partial agent list (smaller payload)
2063
+ const partialAgents = await client.listAgents({ partial: true });
2064
+
2065
+ // Get full agent list with tool schemas
2066
+ const fullAgents = await client.listAgents();
2067
+
2068
+ // Get partial workflow list (smaller payload)
2069
+ const partialWorkflows = await client.listWorkflows({ partial: true });
2070
+
2071
+ // Get full workflow list with steps and schemas
2072
+ const fullWorkflows = await client.listWorkflows();
2073
+ ```
2074
+
2075
+ - Updated dependencies [[`3076c67`](https://github.com/mastra-ai/mastra/commit/3076c6778b18988ae7d5c4c5c466366974b2d63f), [`85d7ee1`](https://github.com/mastra-ai/mastra/commit/85d7ee18ff4e14d625a8a30ec6656bb49804989b), [`c6c1092`](https://github.com/mastra-ai/mastra/commit/c6c1092f8fbf76109303f69e000e96fd1960c4ce), [`81dc110`](https://github.com/mastra-ai/mastra/commit/81dc11008d147cf5bdc8996ead1aa61dbdebb6fc), [`7aedb74`](https://github.com/mastra-ai/mastra/commit/7aedb74883adf66af38e270e4068fd42e7a37036), [`8f02d80`](https://github.com/mastra-ai/mastra/commit/8f02d800777397e4b45d7f1ad041988a8b0c6630), [`d7aad50`](https://github.com/mastra-ai/mastra/commit/d7aad501ce61646b76b4b511e558ac4eea9884d0), [`ce0a73a`](https://github.com/mastra-ai/mastra/commit/ce0a73abeaa75b10ca38f9e40a255a645d50ebfb), [`a02e542`](https://github.com/mastra-ai/mastra/commit/a02e542d23179bad250b044b17ff023caa61739f), [`a372c64`](https://github.com/mastra-ai/mastra/commit/a372c640ad1fd12e8f0613cebdc682fc156b4d95), [`8846867`](https://github.com/mastra-ai/mastra/commit/8846867ffa9a3746767618e314bebac08eb77d87), [`42a42cf`](https://github.com/mastra-ai/mastra/commit/42a42cf3132b9786feecbb8c13c583dce5b0e198), [`ae08bf0`](https://github.com/mastra-ai/mastra/commit/ae08bf0ebc6a4e4da992b711c4a389c32ba84cf4), [`21735a7`](https://github.com/mastra-ai/mastra/commit/21735a7ef306963554a69a89b44f06c3bcd85141), [`1d877b8`](https://github.com/mastra-ai/mastra/commit/1d877b8d7b536a251c1a7a18db7ddcf4f68d6f8b)]:
2076
+ - @mastra/core@1.0.0-beta.7
2077
+
2078
+ ## 1.0.0-beta.6
2079
+
2080
+ ### Patch Changes
2081
+
2082
+ - Unified MastraServer API with MCP transport routes ([#10644](https://github.com/mastra-ai/mastra/pull/10644))
2083
+
2084
+ **Breaking Changes:**
2085
+ - Renamed `HonoServerAdapter` to `MastraServer` in `@mastra/hono`
2086
+ - Renamed `ExpressServerAdapter` to `MastraServer` in `@mastra/express`
2087
+ - Configuration now passed to constructor instead of separate method calls
2088
+ - Renamed base class from `ServerAdapter` to `MastraServerBase` in `@mastra/server`
2089
+
2090
+ **New Features:**
2091
+ - Added MCP transport routes (HTTP and SSE) to server adapters
2092
+ - MCP endpoints available at `/api/mcp/:serverId/mcp` (HTTP) and `/api/mcp/:serverId/sse` (SSE)
2093
+ - Added `express.json()` middleware compatibility for MCP routes
2094
+ - Moved authentication helpers from deployer to `@mastra/server/auth`
2095
+
2096
+ **Testing:**
2097
+ - Added shared MCP route and transport test suites in `@internal/server-adapter-test-utils`
2098
+ - Added comprehensive MCP endpoint tests for both Hono and Express adapters
2099
+ - Added GitHub Actions workflow for server adapter CI testing
2100
+
2101
+ - Allow direct access to server app handle directly from Mastra instance. ([#10598](https://github.com/mastra-ai/mastra/pull/10598))
2102
+
2103
+ ```ts
2104
+ // Before: HTTP request to localhost
2105
+ const response = await fetch(`http://localhost:5000/api/tools`);
2106
+
2107
+ // After: Direct call via app.fetch()
2108
+ const app = mastra.getServerApp<Hono>();
2109
+ const response = await app.fetch(new Request('http://internal/api/tools'));
2110
+ ```
2111
+
2112
+ - Added `mastra.getServerApp<T>()` to access the underlying Hono/Express app
2113
+ - Added `mastra.getMastraServer()` and `mastra.setMastraServer()` for adapter access
2114
+ - Added `MastraServerBase` class in `@mastra/core/server` for adapter implementations
2115
+ - Server adapters now auto-register with Mastra in their constructor
2116
+
2117
+ - fix(a2a): fix streaming and memory support for A2A protocol ([#10653](https://github.com/mastra-ai/mastra/pull/10653))
2118
+
2119
+ **Client (`@mastra/client-js`):**
2120
+ - Fixed `sendStreamingMessage` to properly return a streaming response instead of attempting to parse it as JSON
2121
+
2122
+ **Server (`@mastra/server`):**
2123
+ - Fixed A2A message handler to pass `contextId` as `threadId` for memory persistence across conversations
2124
+ - Added support for user-provided `resourceId` via `params.metadata.resourceId` or `message.metadata.resourceId`, falling back to `agentId`
2125
+
2126
+ - Add stream data redaction to prevent sensitive information leaks in agent stream API responses. ([#10705](https://github.com/mastra-ai/mastra/pull/10705))
2127
+
2128
+ The `stream` API endpoint now automatically redacts `request` data from stream chunks (`step-start`, `step-finish`, `finish`) which could contain system prompts, tool definitions, and API keys. Redaction is enabled by default and can be disabled for debugging/internal services via `streamOptions.redact`.
2129
+
2130
+ - Updated dependencies [[`ac0d2f4`](https://github.com/mastra-ai/mastra/commit/ac0d2f4ff8831f72c1c66c2be809706d17f65789), [`1a0d3fc`](https://github.com/mastra-ai/mastra/commit/1a0d3fc811482c9c376cdf79ee615c23bae9b2d6), [`85a628b`](https://github.com/mastra-ai/mastra/commit/85a628b1224a8f64cd82ea7f033774bf22df7a7e), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`15f9e21`](https://github.com/mastra-ai/mastra/commit/15f9e216177201ea6e3f6d0bfb063fcc0953444f), [`ff94dea`](https://github.com/mastra-ai/mastra/commit/ff94dea935f4e34545c63bcb6c29804732698809), [`5b2ff46`](https://github.com/mastra-ai/mastra/commit/5b2ff4651df70c146523a7fca773f8eb0a2272f8), [`db41688`](https://github.com/mastra-ai/mastra/commit/db4168806d007417e2e60b4f68656dca4e5f40c9), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`bff1145`](https://github.com/mastra-ai/mastra/commit/bff114556b3cbadad9b2768488708f8ad0e91475), [`5c8ca24`](https://github.com/mastra-ai/mastra/commit/5c8ca247094e0cc2cdbd7137822fb47241f86e77), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`22553f1`](https://github.com/mastra-ai/mastra/commit/22553f11c63ee5e966a9c034a349822249584691), [`7237163`](https://github.com/mastra-ai/mastra/commit/72371635dbf96a87df4b073cc48fc655afbdce3d), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`873ecbb`](https://github.com/mastra-ai/mastra/commit/873ecbb517586aa17d2f1e99283755b3ebb2863f), [`4f9bbe5`](https://github.com/mastra-ai/mastra/commit/4f9bbe5968f42c86f4930b8193de3c3c17e5bd36), [`02e51fe`](https://github.com/mastra-ai/mastra/commit/02e51feddb3d4155cfbcc42624fd0d0970d032c0), [`8f3fa3a`](https://github.com/mastra-ai/mastra/commit/8f3fa3a652bb77da092f913ec51ae46e3a7e27dc), [`cd29ad2`](https://github.com/mastra-ai/mastra/commit/cd29ad23a255534e8191f249593849ed29160886), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`854e3da`](https://github.com/mastra-ai/mastra/commit/854e3dad5daac17a91a20986399d3a51f54bf68b), [`ce18d38`](https://github.com/mastra-ai/mastra/commit/ce18d38678c65870350d123955014a8432075fd9), [`cccf9c8`](https://github.com/mastra-ai/mastra/commit/cccf9c8b2d2dfc1a5e63919395b83d78c89682a0), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`f0fdc14`](https://github.com/mastra-ai/mastra/commit/f0fdc14ee233d619266b3d2bbdeea7d25cfc6d13), [`db18bc9`](https://github.com/mastra-ai/mastra/commit/db18bc9c3825e2c1a0ad9a183cc9935f6691bfa1), [`9b37b56`](https://github.com/mastra-ai/mastra/commit/9b37b565e1f2a76c24f728945cc740c2b09be9da), [`41a23c3`](https://github.com/mastra-ai/mastra/commit/41a23c32f9877d71810f37e24930515df2ff7a0f), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`d1e74a0`](https://github.com/mastra-ai/mastra/commit/d1e74a0a293866dece31022047f5dbab65a304d0), [`39e7869`](https://github.com/mastra-ai/mastra/commit/39e7869bc7d0ee391077ce291474d8a84eedccff), [`5761926`](https://github.com/mastra-ai/mastra/commit/57619260c4a2cdd598763abbacd90de594c6bc76), [`c900fdd`](https://github.com/mastra-ai/mastra/commit/c900fdd504c41348efdffb205cfe80d48c38fa33), [`604a79f`](https://github.com/mastra-ai/mastra/commit/604a79fecf276e26a54a3fe01bb94e65315d2e0e), [`887f0b4`](https://github.com/mastra-ai/mastra/commit/887f0b4746cdbd7cb7d6b17ac9f82aeb58037ea5), [`2562143`](https://github.com/mastra-ai/mastra/commit/256214336b4faa78646c9c1776612393790d8784), [`ef11a61`](https://github.com/mastra-ai/mastra/commit/ef11a61920fa0ed08a5b7ceedd192875af119749)]:
2131
+ - @mastra/core@1.0.0-beta.6
2132
+
2133
+ ## 1.0.0-beta.5
2134
+
2135
+ ### Patch Changes
2136
+
2137
+ - Extract routing from @deployer/server into server adapter packages. ([#10263](https://github.com/mastra-ai/mastra/pull/10263))
2138
+ New packages:
2139
+ - @mastra/express
2140
+ - @mastra/hono
2141
+
2142
+ These packages support mastra server routes on express and hono respectively.
2143
+ Better abstractions will be built on top of these packages in the near future, enabling users to easily attach mastra routes to any existing server framework.
2144
+
2145
+ - Add timeTravel APIs and add timeTravel feature to studio ([#10361](https://github.com/mastra-ai/mastra/pull/10361))
2146
+
2147
+ - Fixed server handler bugs: filter parsing now handles colons in values (timestamps, URLs), dateRange validation now converts JSON strings to Date objects, deleteMessages schema accepts object forms, and added missing responseSchema for legacy stream route ([#10362](https://github.com/mastra-ai/mastra/pull/10362))
369
2148
 
370
- - Updated dependencies [[`2319326`](https://github.com/mastra-ai/mastra/commit/2319326f8c64e503a09bbcf14be2dd65405445e0), [`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`d629361`](https://github.com/mastra-ai/mastra/commit/d629361a60f6565b5bfb11976fdaf7308af858e2), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`c456e01`](https://github.com/mastra-ai/mastra/commit/c456e0149e3c176afcefdbd9bb1d2c5917723725), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`fd3d338`](https://github.com/mastra-ai/mastra/commit/fd3d338a2c362174ed5b383f1f011ad9fb0302aa), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`c30400a`](https://github.com/mastra-ai/mastra/commit/c30400a49b994b1b97256fe785eb6c906fc2b232), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`69e0a87`](https://github.com/mastra-ai/mastra/commit/69e0a878896a2da9494945d86e056a5f8f05b851), [`352a5d6`](https://github.com/mastra-ai/mastra/commit/352a5d625cfe09849b21e8f52a24c9f0366759d5), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`a97003a`](https://github.com/mastra-ai/mastra/commit/a97003aa1cf2f4022a41912324a1e77263b326b8), [`01f8878`](https://github.com/mastra-ai/mastra/commit/01f88783de25e4de048c1c8aace43e26373c6ea5), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`4c77209`](https://github.com/mastra-ai/mastra/commit/4c77209e6c11678808b365d545845918c40045c8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`00123ba`](https://github.com/mastra-ai/mastra/commit/00123ba96dc9e5cd0b110420ebdba56d8f237b25), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`903f67d`](https://github.com/mastra-ai/mastra/commit/903f67d184504a273893818c02b961f5423a79ad), [`d827d08`](https://github.com/mastra-ai/mastra/commit/d827d0808ffe1f3553a84e975806cc989b9735dd), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`23c10a1`](https://github.com/mastra-ai/mastra/commit/23c10a1efdd9a693c405511ab2dc8a1236603162), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`a0a5b4b`](https://github.com/mastra-ai/mastra/commit/a0a5b4bbebe6c701ebbadf744873aa0d5ca01371), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`69ea758`](https://github.com/mastra-ai/mastra/commit/69ea758358edd7117f191c2e69c8bb5fc79e7a1a), [`651e772`](https://github.com/mastra-ai/mastra/commit/651e772eb1475fb13e126d3fcc01751297a88214), [`993ad98`](https://github.com/mastra-ai/mastra/commit/993ad98d7ad3bebda9ecef5fec5c94349a0d04bc), [`676ccc7`](https://github.com/mastra-ai/mastra/commit/676ccc7fe92468d2d45d39c31a87825c89fd1ea0), [`3ff2c17`](https://github.com/mastra-ai/mastra/commit/3ff2c17a58e312fad5ea37377262c12d92ca0908), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`c10398d`](https://github.com/mastra-ai/mastra/commit/c10398d5b88f1d4af556f4267ff06f1d11e89179), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`b61b93f`](https://github.com/mastra-ai/mastra/commit/b61b93f9e058b11dd2eec169853175d31dbdd567), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`d6d49f7`](https://github.com/mastra-ai/mastra/commit/d6d49f7b8714fa19a52ff9c7cf7fb7e73751901e), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`ad6250d`](https://github.com/mastra-ai/mastra/commit/ad6250dbdaad927e29f74a27b83f6c468b50a705), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`3a73998`](https://github.com/mastra-ai/mastra/commit/3a73998fa4ebeb7f3dc9301afe78095fc63e7999), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`e16d553`](https://github.com/mastra-ai/mastra/commit/e16d55338403c7553531cc568125c63d53653dff), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`9e67002`](https://github.com/mastra-ai/mastra/commit/9e67002b52c9be19936c420a489dbee9c5fd6a78), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`35edc49`](https://github.com/mastra-ai/mastra/commit/35edc49ac0556db609189641d6341e76771b81fc), [`4d59f58`](https://github.com/mastra-ai/mastra/commit/4d59f58de2d90d6e2810a19d4518e38ddddb9038), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e1bb9c9`](https://github.com/mastra-ai/mastra/commit/e1bb9c94b4eb68b019ae275981be3feb769b5365), [`351a11f`](https://github.com/mastra-ai/mastra/commit/351a11fcaf2ed1008977fa9b9a489fc422e51cd4), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
371
- - @mastra/core@0.0.0-span-scorring-test-20251124132129
2149
+ - Updated dependencies [[`21a15de`](https://github.com/mastra-ai/mastra/commit/21a15de369fe82aac26bb642ed7be73505475e8b), [`feb7ee4`](https://github.com/mastra-ai/mastra/commit/feb7ee4d09a75edb46c6669a3beaceec78811747), [`b0e2ea5`](https://github.com/mastra-ai/mastra/commit/b0e2ea5b52c40fae438b9e2f7baee6f0f89c5442), [`c456e01`](https://github.com/mastra-ai/mastra/commit/c456e0149e3c176afcefdbd9bb1d2c5917723725), [`ab035c2`](https://github.com/mastra-ai/mastra/commit/ab035c2ef6d8cc7bb25f06f1a38508bd9e6f126b), [`1a46a56`](https://github.com/mastra-ai/mastra/commit/1a46a566f45a3fcbadc1cf36bf86d351f264bfa3), [`3cf540b`](https://github.com/mastra-ai/mastra/commit/3cf540b9fbfea8f4fc8d3a2319a4e6c0b0cbfd52), [`1c6ce51`](https://github.com/mastra-ai/mastra/commit/1c6ce51f875915ab57fd36873623013699a2a65d), [`898a972`](https://github.com/mastra-ai/mastra/commit/898a9727d286c2510d6b702dfd367e6aaf5c6b0f), [`a97003a`](https://github.com/mastra-ai/mastra/commit/a97003aa1cf2f4022a41912324a1e77263b326b8), [`ccc141e`](https://github.com/mastra-ai/mastra/commit/ccc141ed27da0abc3a3fc28e9e5128152e8e37f4), [`fe3b897`](https://github.com/mastra-ai/mastra/commit/fe3b897c2ccbcd2b10e81b099438c7337feddf89), [`00123ba`](https://github.com/mastra-ai/mastra/commit/00123ba96dc9e5cd0b110420ebdba56d8f237b25), [`29c4309`](https://github.com/mastra-ai/mastra/commit/29c4309f818b24304c041bcb4a8f19b5f13f6b62), [`16785ce`](https://github.com/mastra-ai/mastra/commit/16785ced928f6f22638f4488cf8a125d99211799), [`de8239b`](https://github.com/mastra-ai/mastra/commit/de8239bdcb1d8c0cfa06da21f1569912a66bbc8a), [`b5e6cd7`](https://github.com/mastra-ai/mastra/commit/b5e6cd77fc8c8e64e0494c1d06cee3d84e795d1e), [`3759cb0`](https://github.com/mastra-ai/mastra/commit/3759cb064935b5f74c65ac2f52a1145f7352899d), [`651e772`](https://github.com/mastra-ai/mastra/commit/651e772eb1475fb13e126d3fcc01751297a88214), [`b61b93f`](https://github.com/mastra-ai/mastra/commit/b61b93f9e058b11dd2eec169853175d31dbdd567), [`bae33d9`](https://github.com/mastra-ai/mastra/commit/bae33d91a63fbb64d1e80519e1fc1acaed1e9013), [`c0b731f`](https://github.com/mastra-ai/mastra/commit/c0b731fb27d712dc8582e846df5c0332a6a0c5ba), [`43ca8f2`](https://github.com/mastra-ai/mastra/commit/43ca8f2c7334851cc7b4d3d2f037d8784bfbdd5f), [`2ca67cc`](https://github.com/mastra-ai/mastra/commit/2ca67cc3bb1f6a617353fdcab197d9efebe60d6f), [`9e67002`](https://github.com/mastra-ai/mastra/commit/9e67002b52c9be19936c420a489dbee9c5fd6a78), [`35edc49`](https://github.com/mastra-ai/mastra/commit/35edc49ac0556db609189641d6341e76771b81fc)]:
2150
+ - @mastra/core@1.0.0-beta.5
372
2151
 
373
2152
  ## 1.0.0-beta.4
374
2153