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

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 (399) 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-G7BPNX2V.js → chunk-2JNW2CLE.js} +64 -14
  8. package/dist/chunk-2JNW2CLE.js.map +1 -0
  9. package/dist/chunk-2UHOWYFV.js +184 -0
  10. package/dist/chunk-2UHOWYFV.js.map +1 -0
  11. package/dist/chunk-3W67K7YE.js +13 -0
  12. package/dist/chunk-3W67K7YE.js.map +1 -0
  13. package/dist/chunk-4HFYR562.cjs +82 -0
  14. package/dist/chunk-4HFYR562.cjs.map +1 -0
  15. package/dist/chunk-55TH4ME5.js +170 -0
  16. package/dist/chunk-55TH4ME5.js.map +1 -0
  17. package/dist/{chunk-Z36N2OQA.cjs → chunk-55XIQCGI.cjs} +358 -137
  18. package/dist/chunk-55XIQCGI.cjs.map +1 -0
  19. package/dist/{chunk-QGWCNTG6.cjs → chunk-5NQ3GWUJ.cjs} +493 -172
  20. package/dist/chunk-5NQ3GWUJ.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-KB5NSROG.cjs → chunk-6NLJ5YC3.cjs} +47 -42
  24. package/dist/chunk-6NLJ5YC3.cjs.map +1 -0
  25. package/dist/chunk-6OFKRQQL.js +45 -0
  26. package/dist/chunk-6OFKRQQL.js.map +1 -0
  27. package/dist/{chunk-UXGQZUYZ.js → chunk-7AINN3FK.js} +13 -3
  28. package/dist/chunk-7AINN3FK.js.map +1 -0
  29. package/dist/chunk-7D3UAMQM.cjs +82 -0
  30. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  31. package/dist/{chunk-I5VZ5SKG.js → chunk-7ERB6H6K.js} +17 -11
  32. package/dist/chunk-7ERB6H6K.js.map +1 -0
  33. package/dist/{chunk-NDFAQBQD.cjs → chunk-AEMLCRS5.cjs} +514 -166
  34. package/dist/chunk-AEMLCRS5.cjs.map +1 -0
  35. package/dist/chunk-BLCHLNBT.js +442 -0
  36. package/dist/chunk-BLCHLNBT.js.map +1 -0
  37. package/dist/{chunk-ZLRTFRL4.js → chunk-BSOLG32W.js} +407 -91
  38. package/dist/chunk-BSOLG32W.js.map +1 -0
  39. package/dist/{chunk-ASZUOBKV.js → chunk-CQUWREB2.js} +42 -20
  40. package/dist/chunk-CQUWREB2.js.map +1 -0
  41. package/dist/chunk-CRCXQW5R.cjs +47 -0
  42. package/dist/chunk-CRCXQW5R.cjs.map +1 -0
  43. package/dist/{chunk-3R5EV3HV.js → chunk-CT7S7VRG.js} +36 -29
  44. package/dist/chunk-CT7S7VRG.js.map +1 -0
  45. package/dist/{chunk-FAQICBMH.js → chunk-D23WBCJ6.js} +70 -7
  46. package/dist/chunk-D23WBCJ6.js.map +1 -0
  47. package/dist/{chunk-R4M3BSUG.js → chunk-DOU5IGJB.js} +26 -10
  48. package/dist/chunk-DOU5IGJB.js.map +1 -0
  49. package/dist/chunk-DUTGH2DM.js +31748 -0
  50. package/dist/chunk-DUTGH2DM.js.map +1 -0
  51. package/dist/{chunk-5PONYNYP.cjs → chunk-E2SZSFGZ.cjs} +20 -17
  52. package/dist/chunk-E2SZSFGZ.cjs.map +1 -0
  53. package/dist/chunk-EH45MGLR.cjs +322 -0
  54. package/dist/chunk-EH45MGLR.cjs.map +1 -0
  55. package/dist/chunk-FRRHYZR6.cjs +88 -0
  56. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  57. package/dist/{chunk-ZULZ2752.js → chunk-FXW7MD4U.js} +3 -3
  58. package/dist/chunk-FXW7MD4U.js.map +1 -0
  59. package/dist/{chunk-YJ3VDL3Z.cjs → chunk-GGAV65A7.cjs} +37 -31
  60. package/dist/chunk-GGAV65A7.cjs.map +1 -0
  61. package/dist/{chunk-PKRHEXX7.js → chunk-HT4LP3BO.js} +19 -18
  62. package/dist/chunk-HT4LP3BO.js.map +1 -0
  63. package/dist/chunk-HZINLMHL.cjs +252 -0
  64. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  65. package/dist/{chunk-RQK4FQUD.js → chunk-IGXRQWNN.js} +6 -48
  66. package/dist/chunk-IGXRQWNN.js.map +1 -0
  67. package/dist/chunk-IROUDQSO.js +246 -0
  68. package/dist/chunk-IROUDQSO.js.map +1 -0
  69. package/dist/chunk-IS3HHGL4.js +250 -0
  70. package/dist/chunk-IS3HHGL4.js.map +1 -0
  71. package/dist/chunk-JJLEVKG7.js +576 -0
  72. package/dist/chunk-JJLEVKG7.js.map +1 -0
  73. package/dist/{chunk-UJNHKFBR.cjs → chunk-K34R4R2T.cjs} +72 -6
  74. package/dist/chunk-K34R4R2T.cjs.map +1 -0
  75. package/dist/chunk-K4HSW5ZF.js +77 -0
  76. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  77. package/dist/{chunk-ZODCSH2W.cjs → chunk-L2U75ERO.cjs} +54 -32
  78. package/dist/chunk-L2U75ERO.cjs.map +1 -0
  79. package/dist/chunk-L2VZFGWH.cjs +31787 -0
  80. package/dist/chunk-L2VZFGWH.cjs.map +1 -0
  81. package/dist/chunk-L7LB66KK.cjs +450 -0
  82. package/dist/chunk-L7LB66KK.cjs.map +1 -0
  83. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  84. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  85. package/dist/{chunk-2NW6POYK.cjs → chunk-MCYD5LW7.cjs} +19 -18
  86. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  87. package/dist/{chunk-6DTV6NEW.js → chunk-MF4PZE2D.js} +11 -8
  88. package/dist/chunk-MF4PZE2D.js.map +1 -0
  89. package/dist/{chunk-35NT4TMQ.cjs → chunk-MP6TNZXA.cjs} +66 -55
  90. package/dist/chunk-MP6TNZXA.cjs.map +1 -0
  91. package/dist/chunk-MPM2W4IS.js +312 -0
  92. package/dist/chunk-MPM2W4IS.js.map +1 -0
  93. package/dist/chunk-NE4CLM6P.cjs +190 -0
  94. package/dist/chunk-NE4CLM6P.cjs.map +1 -0
  95. package/dist/chunk-NL6ELCFS.cjs +603 -0
  96. package/dist/chunk-NL6ELCFS.cjs.map +1 -0
  97. package/dist/{chunk-MWQQRVQC.cjs → chunk-OD6Y7FEM.cjs} +34 -13
  98. package/dist/chunk-OD6Y7FEM.cjs.map +1 -0
  99. package/dist/chunk-OS7SAIRA.js +250 -0
  100. package/dist/chunk-OS7SAIRA.js.map +1 -0
  101. package/dist/chunk-PWXUI3OG.cjs +252 -0
  102. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  103. package/dist/{chunk-UOFV2ZCI.js → chunk-QAXO2LQT.js} +316 -96
  104. package/dist/chunk-QAXO2LQT.js.map +1 -0
  105. package/dist/chunk-RIX6WEJ2.js +83 -0
  106. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  107. package/dist/{chunk-FXDZLX2Y.js → chunk-RRVA4RVW.js} +37 -26
  108. package/dist/chunk-RRVA4RVW.js.map +1 -0
  109. package/dist/{chunk-LPM6BBAX.cjs → chunk-SLDAFSKJ.cjs} +5 -56
  110. package/dist/chunk-SLDAFSKJ.cjs.map +1 -0
  111. package/dist/{chunk-2PLXW4ZX.cjs → chunk-T6YYVQHJ.cjs} +74 -74
  112. package/dist/chunk-T6YYVQHJ.cjs.map +1 -0
  113. package/dist/chunk-TF4LSD27.cjs +180 -0
  114. package/dist/chunk-TF4LSD27.cjs.map +1 -0
  115. package/dist/chunk-TM6IOINJ.cjs +252 -0
  116. package/dist/chunk-TM6IOINJ.cjs.map +1 -0
  117. package/dist/{chunk-ICANWSEW.js → chunk-UVE6SV6I.js} +25 -20
  118. package/dist/chunk-UVE6SV6I.js.map +1 -0
  119. package/dist/{chunk-V5WWQN7P.cjs → chunk-UWYAL2Z3.cjs} +13 -2
  120. package/dist/chunk-UWYAL2Z3.cjs.map +1 -0
  121. package/dist/{chunk-UZ6CYAOG.cjs → chunk-VES6QKOW.cjs} +64 -14
  122. package/dist/chunk-VES6QKOW.cjs.map +1 -0
  123. package/dist/{chunk-VQAT5HX6.js → chunk-W7HAZD2A.js} +458 -116
  124. package/dist/chunk-W7HAZD2A.js.map +1 -0
  125. package/dist/{chunk-4ECGVOJZ.cjs → chunk-WNQUNLRT.cjs} +40 -33
  126. package/dist/chunk-WNQUNLRT.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/redact.d.ts +26 -0
  289. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  290. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
  291. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  292. package/dist/server/server-adapter/routes/index.d.ts +18 -7
  293. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  294. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  295. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  296. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  297. package/dist/server/server-adapter/routes/processors.d.ts +3 -0
  298. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
  299. package/dist/server/server-adapter/routes/route-builder.d.ts +66 -6
  300. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  301. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  302. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  303. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  304. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  305. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  306. package/dist/server/utils.d.ts +1 -1
  307. package/dist/server/utils.d.ts.map +1 -1
  308. package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +11 -12
  309. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  310. package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +8 -9
  311. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  312. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs +63 -0
  313. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  314. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js +61 -0
  315. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  316. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs +63 -0
  317. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  318. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js +61 -0
  319. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  320. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  321. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map +1 -0
  322. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  323. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map +1 -0
  324. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  325. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map +1 -0
  326. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  327. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map +1 -0
  328. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  329. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map +1 -0
  330. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  331. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map +1 -0
  332. package/handlers/server/handlers.d.ts +1 -0
  333. package/handlers.d.ts +1 -0
  334. package/package.json +29 -17
  335. package/server-adapter.d.ts +1 -0
  336. package/dist/chunk-2NW6POYK.cjs.map +0 -1
  337. package/dist/chunk-2PLXW4ZX.cjs.map +0 -1
  338. package/dist/chunk-35NT4TMQ.cjs.map +0 -1
  339. package/dist/chunk-3R5EV3HV.js.map +0 -1
  340. package/dist/chunk-4ECGVOJZ.cjs.map +0 -1
  341. package/dist/chunk-5PONYNYP.cjs.map +0 -1
  342. package/dist/chunk-6BISSAIF.js +0 -23494
  343. package/dist/chunk-6BISSAIF.js.map +0 -1
  344. package/dist/chunk-6DTV6NEW.js.map +0 -1
  345. package/dist/chunk-AEO6IHLK.cjs +0 -368
  346. package/dist/chunk-AEO6IHLK.cjs.map +0 -1
  347. package/dist/chunk-ASZUOBKV.js.map +0 -1
  348. package/dist/chunk-ECIVTQ4E.js +0 -354
  349. package/dist/chunk-ECIVTQ4E.js.map +0 -1
  350. package/dist/chunk-FAQICBMH.js.map +0 -1
  351. package/dist/chunk-FXDZLX2Y.js.map +0 -1
  352. package/dist/chunk-G7BPNX2V.js.map +0 -1
  353. package/dist/chunk-I5VZ5SKG.js.map +0 -1
  354. package/dist/chunk-ICANWSEW.js.map +0 -1
  355. package/dist/chunk-KB5NSROG.cjs.map +0 -1
  356. package/dist/chunk-LPM6BBAX.cjs.map +0 -1
  357. package/dist/chunk-MWQQRVQC.cjs.map +0 -1
  358. package/dist/chunk-NDFAQBQD.cjs.map +0 -1
  359. package/dist/chunk-PKRHEXX7.js.map +0 -1
  360. package/dist/chunk-QGWCNTG6.cjs.map +0 -1
  361. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  362. package/dist/chunk-R4M3BSUG.js.map +0 -1
  363. package/dist/chunk-RQK4FQUD.js.map +0 -1
  364. package/dist/chunk-SHWNNZBL.js.map +0 -1
  365. package/dist/chunk-TBVUN4XN.cjs +0 -23536
  366. package/dist/chunk-TBVUN4XN.cjs.map +0 -1
  367. package/dist/chunk-TOCYBDP2.js +0 -46
  368. package/dist/chunk-TOCYBDP2.js.map +0 -1
  369. package/dist/chunk-UJNHKFBR.cjs.map +0 -1
  370. package/dist/chunk-UOFV2ZCI.js.map +0 -1
  371. package/dist/chunk-UXGQZUYZ.js.map +0 -1
  372. package/dist/chunk-UZ6CYAOG.cjs.map +0 -1
  373. package/dist/chunk-V5WWQN7P.cjs.map +0 -1
  374. package/dist/chunk-VQAT5HX6.js.map +0 -1
  375. package/dist/chunk-X6C7BUWN.cjs +0 -48
  376. package/dist/chunk-X6C7BUWN.cjs.map +0 -1
  377. package/dist/chunk-YJ3VDL3Z.cjs.map +0 -1
  378. package/dist/chunk-Z36N2OQA.cjs.map +0 -1
  379. package/dist/chunk-ZLRTFRL4.js.map +0 -1
  380. package/dist/chunk-ZODCSH2W.cjs.map +0 -1
  381. package/dist/chunk-ZULZ2752.js.map +0 -1
  382. package/dist/dist-4MVGNSRL.cjs.map +0 -1
  383. package/dist/dist-FZYCV3VB.cjs.map +0 -1
  384. package/dist/dist-G2BYZJOC.cjs.map +0 -1
  385. package/dist/dist-P4MXBQ3U.cjs +0 -16
  386. package/dist/dist-PQZUVLPC.js.map +0 -1
  387. package/dist/dist-R7WYX6LC.js.map +0 -1
  388. package/dist/dist-RFMYFILX.cjs.map +0 -1
  389. package/dist/dist-X7XR3M3Z.js.map +0 -1
  390. package/dist/dist-XVBSOGFK.js.map +0 -1
  391. package/dist/dist-YREX2TJT.js +0 -3
  392. package/dist/server/schemas/observability.d.ts +0 -402
  393. package/dist/server/schemas/observability.d.ts.map +0 -1
  394. package/dist/token-375W3LEI.cjs.map +0 -1
  395. package/dist/token-C3IMNCC4.js.map +0 -1
  396. package/dist/token-util-CV3RRG6K.cjs +0 -9
  397. package/dist/token-util-CV3RRG6K.cjs.map +0 -1
  398. package/dist/token-util-E5QO2RCL.js +0 -7
  399. package/dist/token-util-E5QO2RCL.js.map +0 -1
@@ -0,0 +1,576 @@
1
+ import { createPagePaginationSchema, paginationInfoSchema } from './chunk-HT4LP3BO.js';
2
+ import { handleError } from './chunk-7AINN3FK.js';
3
+ import { HTTPException } from './chunk-6QWQZI4Q.js';
4
+ import { createRoute } from './chunk-D23WBCJ6.js';
5
+ import { deepEqual } from '@mastra/core/utils';
6
+ import z from 'zod';
7
+
8
+ var storedAgentIdPathParams = z.object({
9
+ storedAgentId: z.string().describe("Unique identifier for the stored agent")
10
+ });
11
+ var storageOrderBySchema = z.object({
12
+ field: z.enum(["createdAt", "updatedAt"]).optional(),
13
+ direction: z.enum(["ASC", "DESC"]).optional()
14
+ });
15
+ var listStoredAgentsQuerySchema = createPagePaginationSchema(100).extend({
16
+ orderBy: storageOrderBySchema.optional(),
17
+ ownerId: z.string().optional().describe("Filter agents by owner identifier"),
18
+ metadata: z.record(z.string(), z.unknown()).optional().describe("Filter agents by metadata key-value pairs")
19
+ });
20
+ var scorerConfigSchema = z.object({
21
+ sampling: z.object({
22
+ type: z.enum(["ratio", "count"]),
23
+ rate: z.number().optional(),
24
+ count: z.number().optional()
25
+ }).optional()
26
+ });
27
+ var storedAgentBaseSchema = z.object({
28
+ name: z.string().describe("Name of the agent"),
29
+ description: z.string().optional().describe("Description of the agent"),
30
+ instructions: z.string().describe("System instructions for the agent"),
31
+ model: z.record(z.string(), z.unknown()).describe("Model configuration (provider, name, etc.)"),
32
+ tools: z.array(z.string()).optional().describe("Array of tool keys to resolve from Mastra registry"),
33
+ defaultOptions: z.record(z.string(), z.unknown()).optional().describe("Default options for generate/stream calls"),
34
+ workflows: z.array(z.string()).optional().describe("Array of workflow keys to resolve from Mastra registry"),
35
+ agents: z.array(z.string()).optional().describe("Array of agent keys to resolve from Mastra registry"),
36
+ integrationTools: z.array(z.string()).optional().describe("Array of specific integration tool IDs (format: provider_toolkitSlug_toolSlug)"),
37
+ inputProcessors: z.array(z.record(z.string(), z.unknown())).optional().describe("Input processor configurations"),
38
+ outputProcessors: z.array(z.record(z.string(), z.unknown())).optional().describe("Output processor configurations"),
39
+ memory: z.string().optional().describe("Memory key to resolve from Mastra registry"),
40
+ scorers: z.record(z.string(), scorerConfigSchema).optional().describe("Scorer keys with optional sampling config"),
41
+ metadata: z.record(z.string(), z.unknown()).optional().describe("Additional metadata for the agent"),
42
+ ownerId: z.string().optional().describe("Owner identifier for multi-tenant filtering")
43
+ });
44
+ var createStoredAgentBodySchema = storedAgentBaseSchema.extend({
45
+ id: z.string().describe("Unique identifier for the agent")
46
+ });
47
+ var updateStoredAgentBodySchema = storedAgentBaseSchema.partial();
48
+ var storedAgentSchema = storedAgentBaseSchema.extend({
49
+ id: z.string(),
50
+ ownerId: z.string().optional(),
51
+ createdAt: z.date(),
52
+ updatedAt: z.date()
53
+ });
54
+ var listStoredAgentsResponseSchema = paginationInfoSchema.extend({
55
+ agents: z.array(storedAgentSchema)
56
+ });
57
+ var getStoredAgentResponseSchema = storedAgentSchema;
58
+ var createStoredAgentResponseSchema = storedAgentSchema;
59
+ var updateStoredAgentResponseSchema = storedAgentSchema;
60
+ var deleteStoredAgentResponseSchema = z.object({
61
+ success: z.boolean(),
62
+ message: z.string()
63
+ });
64
+
65
+ // src/server/schemas/agent-versions.ts
66
+ var agentVersionPathParams = z.object({
67
+ agentId: z.string().describe("Unique identifier for the stored agent")
68
+ });
69
+ var versionIdPathParams = z.object({
70
+ agentId: z.string().describe("Unique identifier for the stored agent"),
71
+ versionId: z.string().describe("Unique identifier for the version (UUID)")
72
+ });
73
+ var versionOrderBySchema = z.object({
74
+ field: z.enum(["versionNumber", "createdAt"]).optional(),
75
+ direction: z.enum(["ASC", "DESC"]).optional()
76
+ });
77
+ var listVersionsQuerySchema = createPagePaginationSchema(20).extend({
78
+ orderBy: versionOrderBySchema.optional()
79
+ });
80
+ var compareVersionsQuerySchema = z.object({
81
+ from: z.string().describe("Version ID (UUID) to compare from"),
82
+ to: z.string().describe("Version ID (UUID) to compare to")
83
+ });
84
+ var createVersionBodySchema = z.object({
85
+ name: z.string().max(100).optional().describe("Optional vanity name for this version"),
86
+ changeMessage: z.string().max(500).optional().describe("Optional message describing the changes")
87
+ });
88
+ var agentVersionSchema = z.object({
89
+ id: z.string().describe("Unique identifier for the version (UUID)"),
90
+ agentId: z.string().describe("ID of the agent this version belongs to"),
91
+ versionNumber: z.number().describe("Sequential version number (1, 2, 3, ...)"),
92
+ name: z.string().optional().describe("Optional vanity name for this version"),
93
+ snapshot: storedAgentSchema.describe("Full agent configuration snapshot"),
94
+ changedFields: z.array(z.string()).optional().describe("Array of field names that changed from the previous version"),
95
+ changeMessage: z.string().optional().describe("Optional message describing the changes"),
96
+ createdAt: z.date().describe("When this version was created")
97
+ });
98
+ var listVersionsResponseSchema = paginationInfoSchema.extend({
99
+ versions: z.array(agentVersionSchema)
100
+ });
101
+ var getVersionResponseSchema = agentVersionSchema;
102
+ var createVersionResponseSchema = agentVersionSchema;
103
+ var activateVersionResponseSchema = z.object({
104
+ success: z.boolean(),
105
+ message: z.string(),
106
+ activeVersionId: z.string()
107
+ });
108
+ var restoreVersionResponseSchema = agentVersionSchema.describe(
109
+ "The newly created version from the restored snapshot"
110
+ );
111
+ var deleteVersionResponseSchema = z.object({
112
+ success: z.boolean(),
113
+ message: z.string()
114
+ });
115
+ var versionDiffEntrySchema = z.object({
116
+ field: z.string().describe("The field path that changed"),
117
+ previousValue: z.unknown().describe('The value in the "from" version'),
118
+ currentValue: z.unknown().describe('The value in the "to" version')
119
+ });
120
+ var compareVersionsResponseSchema = z.object({
121
+ diffs: z.array(versionDiffEntrySchema).describe("List of differences between versions"),
122
+ fromVersion: agentVersionSchema.describe("The source version"),
123
+ toVersion: agentVersionSchema.describe("The target version")
124
+ });
125
+
126
+ // src/server/handlers/agent-versions.ts
127
+ var DEFAULT_MAX_VERSIONS_PER_AGENT = 50;
128
+ function generateVersionId() {
129
+ return crypto.randomUUID();
130
+ }
131
+ function calculateChangedFields(previous, current) {
132
+ if (!previous) {
133
+ return Object.keys(current);
134
+ }
135
+ const changedFields = [];
136
+ const allKeys = /* @__PURE__ */ new Set([...Object.keys(previous), ...Object.keys(current)]);
137
+ for (const key of allKeys) {
138
+ if (key === "updatedAt" || key === "createdAt") {
139
+ continue;
140
+ }
141
+ const prevValue = previous[key];
142
+ const currValue = current[key];
143
+ if (!deepEqual(prevValue, currValue)) {
144
+ changedFields.push(key);
145
+ }
146
+ }
147
+ return changedFields;
148
+ }
149
+ function computeVersionDiffs(fromSnapshot, toSnapshot) {
150
+ const diffs = [];
151
+ const allKeys = /* @__PURE__ */ new Set([...Object.keys(fromSnapshot), ...Object.keys(toSnapshot)]);
152
+ for (const key of allKeys) {
153
+ if (key === "updatedAt" || key === "createdAt") {
154
+ continue;
155
+ }
156
+ const prevValue = fromSnapshot[key];
157
+ const currValue = toSnapshot[key];
158
+ if (!deepEqual(prevValue, currValue)) {
159
+ diffs.push({
160
+ field: key,
161
+ previousValue: prevValue,
162
+ currentValue: currValue
163
+ });
164
+ }
165
+ }
166
+ return diffs;
167
+ }
168
+ async function enforceRetentionLimit(agentsStore, agentId, activeVersionId, maxVersions = DEFAULT_MAX_VERSIONS_PER_AGENT) {
169
+ const { total } = await agentsStore.listVersions({ agentId, perPage: 1 });
170
+ if (total <= maxVersions) {
171
+ return { deletedCount: 0 };
172
+ }
173
+ const versionsToDelete = total - maxVersions;
174
+ const { versions: oldestVersions } = await agentsStore.listVersions({
175
+ agentId,
176
+ perPage: versionsToDelete + 1,
177
+ // Get one extra in case we need to skip the active version
178
+ orderBy: { field: "versionNumber", direction: "ASC" }
179
+ });
180
+ let deletedCount = 0;
181
+ for (const version of oldestVersions) {
182
+ if (deletedCount >= versionsToDelete) {
183
+ break;
184
+ }
185
+ if (version.id === activeVersionId) {
186
+ continue;
187
+ }
188
+ await agentsStore.deleteVersion(version.id);
189
+ deletedCount++;
190
+ }
191
+ return { deletedCount };
192
+ }
193
+ function isVersionNumberConflictError(error) {
194
+ if (error instanceof Error) {
195
+ const message = error.message.toLowerCase();
196
+ return message.includes("unique") && message.includes("constraint") || message.includes("duplicate key") || message.includes("unique_violation") || message.includes("sqlite_constraint_unique") || message.includes("versionnumber");
197
+ }
198
+ return false;
199
+ }
200
+ async function createVersionWithRetry(agentsStore, agentId, snapshot, changedFields, options = {}) {
201
+ const { name, changeMessage, maxRetries = 3 } = options;
202
+ let lastError;
203
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
204
+ try {
205
+ const latestVersion = await agentsStore.getLatestVersion(agentId);
206
+ const versionNumber = latestVersion ? latestVersion.versionNumber + 1 : 1;
207
+ const versionId = generateVersionId();
208
+ await agentsStore.createVersion({
209
+ id: versionId,
210
+ agentId,
211
+ versionNumber,
212
+ name,
213
+ snapshot,
214
+ changedFields,
215
+ changeMessage
216
+ });
217
+ return { versionId, versionNumber };
218
+ } catch (error) {
219
+ lastError = error;
220
+ if (isVersionNumberConflictError(error) && attempt < maxRetries - 1) {
221
+ await new Promise((resolve) => setTimeout(resolve, 10 * (attempt + 1)));
222
+ continue;
223
+ }
224
+ throw error;
225
+ }
226
+ }
227
+ throw lastError;
228
+ }
229
+ async function handleAutoVersioning(agentsStore, agentId, existingAgent, updatedAgent) {
230
+ const changedFields = calculateChangedFields(
231
+ existingAgent,
232
+ updatedAgent
233
+ );
234
+ if (changedFields.length === 0) {
235
+ return { agent: updatedAgent, versionCreated: false };
236
+ }
237
+ const { versionId } = await createVersionWithRetry(agentsStore, agentId, updatedAgent, changedFields, {
238
+ changeMessage: "Auto-saved after edit"
239
+ });
240
+ const finalAgent = await agentsStore.updateAgent({
241
+ id: agentId,
242
+ activeVersionId: versionId
243
+ });
244
+ await enforceRetentionLimit(agentsStore, agentId, versionId);
245
+ return { agent: finalAgent, versionCreated: true };
246
+ }
247
+ var LIST_AGENT_VERSIONS_ROUTE = createRoute({
248
+ method: "GET",
249
+ path: "/stored/agents/:agentId/versions",
250
+ responseType: "json",
251
+ pathParamSchema: agentVersionPathParams,
252
+ queryParamSchema: listVersionsQuerySchema,
253
+ responseSchema: listVersionsResponseSchema,
254
+ summary: "List agent versions",
255
+ description: "Returns a paginated list of all versions for a stored agent",
256
+ tags: ["Agent Versions"],
257
+ handler: async ({ mastra, agentId, page, perPage, orderBy }) => {
258
+ try {
259
+ const storage = mastra.getStorage();
260
+ if (!storage) {
261
+ throw new HTTPException(500, { message: "Storage is not configured" });
262
+ }
263
+ const agentsStore = await storage.getStore("agents");
264
+ if (!agentsStore) {
265
+ throw new HTTPException(500, { message: "Agents storage domain is not available" });
266
+ }
267
+ const agent = await agentsStore.getAgentById({ id: agentId });
268
+ if (!agent) {
269
+ throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });
270
+ }
271
+ const result = await agentsStore.listVersions({
272
+ agentId,
273
+ page,
274
+ perPage,
275
+ orderBy
276
+ });
277
+ return result;
278
+ } catch (error) {
279
+ return handleError(error, "Error listing agent versions");
280
+ }
281
+ }
282
+ });
283
+ var CREATE_AGENT_VERSION_ROUTE = createRoute({
284
+ method: "POST",
285
+ path: "/stored/agents/:agentId/versions",
286
+ responseType: "json",
287
+ pathParamSchema: agentVersionPathParams,
288
+ bodySchema: createVersionBodySchema,
289
+ responseSchema: createVersionResponseSchema,
290
+ summary: "Create agent version",
291
+ description: "Creates a new version snapshot of the current agent configuration",
292
+ tags: ["Agent Versions"],
293
+ handler: async ({ mastra, agentId, name, changeMessage }) => {
294
+ try {
295
+ const storage = mastra.getStorage();
296
+ if (!storage) {
297
+ throw new HTTPException(500, { message: "Storage is not configured" });
298
+ }
299
+ const agentsStore = await storage.getStore("agents");
300
+ if (!agentsStore) {
301
+ throw new HTTPException(500, { message: "Agents storage domain is not available" });
302
+ }
303
+ const agent = await agentsStore.getAgentById({ id: agentId });
304
+ if (!agent) {
305
+ throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });
306
+ }
307
+ const latestVersion = await agentsStore.getLatestVersion(agentId);
308
+ const changedFields = calculateChangedFields(
309
+ latestVersion?.snapshot,
310
+ agent
311
+ );
312
+ const { versionId } = await createVersionWithRetry(
313
+ agentsStore,
314
+ agentId,
315
+ agent,
316
+ changedFields.length > 0 ? changedFields : [],
317
+ { name, changeMessage }
318
+ );
319
+ const version = await agentsStore.getVersion(versionId);
320
+ if (!version) {
321
+ throw new HTTPException(500, { message: "Failed to retrieve created version" });
322
+ }
323
+ await enforceRetentionLimit(agentsStore, agentId, agent.activeVersionId);
324
+ return version;
325
+ } catch (error) {
326
+ return handleError(error, "Error creating agent version");
327
+ }
328
+ }
329
+ });
330
+ var GET_AGENT_VERSION_ROUTE = createRoute({
331
+ method: "GET",
332
+ path: "/stored/agents/:agentId/versions/:versionId",
333
+ responseType: "json",
334
+ pathParamSchema: versionIdPathParams,
335
+ responseSchema: getVersionResponseSchema,
336
+ summary: "Get agent version",
337
+ description: "Returns a specific version of an agent by its version ID",
338
+ tags: ["Agent Versions"],
339
+ handler: async ({ mastra, agentId, versionId }) => {
340
+ try {
341
+ const storage = mastra.getStorage();
342
+ if (!storage) {
343
+ throw new HTTPException(500, { message: "Storage is not configured" });
344
+ }
345
+ const agentsStore = await storage.getStore("agents");
346
+ if (!agentsStore) {
347
+ throw new HTTPException(500, { message: "Agents storage domain is not available" });
348
+ }
349
+ const version = await agentsStore.getVersion(versionId);
350
+ if (!version) {
351
+ throw new HTTPException(404, { message: `Version with id ${versionId} not found` });
352
+ }
353
+ if (version.agentId !== agentId) {
354
+ throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
355
+ }
356
+ return version;
357
+ } catch (error) {
358
+ return handleError(error, "Error getting agent version");
359
+ }
360
+ }
361
+ });
362
+ var ACTIVATE_AGENT_VERSION_ROUTE = createRoute({
363
+ method: "POST",
364
+ path: "/stored/agents/:agentId/versions/:versionId/activate",
365
+ responseType: "json",
366
+ pathParamSchema: versionIdPathParams,
367
+ responseSchema: activateVersionResponseSchema,
368
+ summary: "Activate agent version",
369
+ description: "Sets a specific version as the active version for the agent",
370
+ tags: ["Agent Versions"],
371
+ handler: async ({ mastra, agentId, versionId }) => {
372
+ try {
373
+ const storage = mastra.getStorage();
374
+ if (!storage) {
375
+ throw new HTTPException(500, { message: "Storage is not configured" });
376
+ }
377
+ const agentsStore = await storage.getStore("agents");
378
+ if (!agentsStore) {
379
+ throw new HTTPException(500, { message: "Agents storage domain is not available" });
380
+ }
381
+ const agent = await agentsStore.getAgentById({ id: agentId });
382
+ if (!agent) {
383
+ throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });
384
+ }
385
+ const version = await agentsStore.getVersion(versionId);
386
+ if (!version) {
387
+ throw new HTTPException(404, { message: `Version with id ${versionId} not found` });
388
+ }
389
+ if (version.agentId !== agentId) {
390
+ throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
391
+ }
392
+ await agentsStore.updateAgent({
393
+ id: agentId,
394
+ activeVersionId: versionId
395
+ });
396
+ return {
397
+ success: true,
398
+ message: `Version ${version.versionNumber} is now active`,
399
+ activeVersionId: versionId
400
+ };
401
+ } catch (error) {
402
+ return handleError(error, "Error activating agent version");
403
+ }
404
+ }
405
+ });
406
+ var RESTORE_AGENT_VERSION_ROUTE = createRoute({
407
+ method: "POST",
408
+ path: "/stored/agents/:agentId/versions/:versionId/restore",
409
+ responseType: "json",
410
+ pathParamSchema: versionIdPathParams,
411
+ responseSchema: restoreVersionResponseSchema,
412
+ summary: "Restore agent version",
413
+ description: "Restores the agent configuration from a version snapshot, creating a new version",
414
+ tags: ["Agent Versions"],
415
+ handler: async ({ mastra, agentId, versionId }) => {
416
+ try {
417
+ const storage = mastra.getStorage();
418
+ if (!storage) {
419
+ throw new HTTPException(500, { message: "Storage is not configured" });
420
+ }
421
+ const agentsStore = await storage.getStore("agents");
422
+ if (!agentsStore) {
423
+ throw new HTTPException(500, { message: "Agents storage domain is not available" });
424
+ }
425
+ const agent = await agentsStore.getAgentById({ id: agentId });
426
+ if (!agent) {
427
+ throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });
428
+ }
429
+ const versionToRestore = await agentsStore.getVersion(versionId);
430
+ if (!versionToRestore) {
431
+ throw new HTTPException(404, { message: `Version with id ${versionId} not found` });
432
+ }
433
+ if (versionToRestore.agentId !== agentId) {
434
+ throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
435
+ }
436
+ const {
437
+ id: _id,
438
+ createdAt: _createdAt,
439
+ updatedAt: _updatedAt,
440
+ activeVersionId: _activeVersionId,
441
+ ...snapshotData
442
+ } = versionToRestore.snapshot;
443
+ await agentsStore.updateAgent({
444
+ id: agentId,
445
+ ...snapshotData
446
+ });
447
+ const updatedAgent = await agentsStore.getAgentById({ id: agentId });
448
+ if (!updatedAgent) {
449
+ throw new HTTPException(500, { message: "Failed to retrieve updated agent" });
450
+ }
451
+ const latestVersion = await agentsStore.getLatestVersion(agentId);
452
+ const changedFields = calculateChangedFields(
453
+ latestVersion?.snapshot,
454
+ updatedAgent
455
+ );
456
+ const { versionId: newVersionId } = await createVersionWithRetry(
457
+ agentsStore,
458
+ agentId,
459
+ updatedAgent,
460
+ changedFields,
461
+ {
462
+ changeMessage: `Restored from version ${versionToRestore.versionNumber}${versionToRestore.name ? ` (${versionToRestore.name})` : ""}`
463
+ }
464
+ );
465
+ await agentsStore.updateAgent({
466
+ id: agentId,
467
+ activeVersionId: newVersionId
468
+ });
469
+ const newVersion = await agentsStore.getVersion(newVersionId);
470
+ if (!newVersion) {
471
+ throw new HTTPException(500, { message: "Failed to retrieve created version" });
472
+ }
473
+ await enforceRetentionLimit(agentsStore, agentId, newVersionId);
474
+ return newVersion;
475
+ } catch (error) {
476
+ return handleError(error, "Error restoring agent version");
477
+ }
478
+ }
479
+ });
480
+ var DELETE_AGENT_VERSION_ROUTE = createRoute({
481
+ method: "DELETE",
482
+ path: "/stored/agents/:agentId/versions/:versionId",
483
+ responseType: "json",
484
+ pathParamSchema: versionIdPathParams,
485
+ responseSchema: deleteVersionResponseSchema,
486
+ summary: "Delete agent version",
487
+ description: "Deletes a specific version (cannot delete the active version)",
488
+ tags: ["Agent Versions"],
489
+ handler: async ({ mastra, agentId, versionId }) => {
490
+ try {
491
+ const storage = mastra.getStorage();
492
+ if (!storage) {
493
+ throw new HTTPException(500, { message: "Storage is not configured" });
494
+ }
495
+ const agentsStore = await storage.getStore("agents");
496
+ if (!agentsStore) {
497
+ throw new HTTPException(500, { message: "Agents storage domain is not available" });
498
+ }
499
+ const agent = await agentsStore.getAgentById({ id: agentId });
500
+ if (!agent) {
501
+ throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });
502
+ }
503
+ const version = await agentsStore.getVersion(versionId);
504
+ if (!version) {
505
+ throw new HTTPException(404, { message: `Version with id ${versionId} not found` });
506
+ }
507
+ if (version.agentId !== agentId) {
508
+ throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
509
+ }
510
+ if (agent.activeVersionId === versionId) {
511
+ throw new HTTPException(400, {
512
+ message: "Cannot delete the active version. Activate a different version first."
513
+ });
514
+ }
515
+ await agentsStore.deleteVersion(versionId);
516
+ return {
517
+ success: true,
518
+ message: `Version ${version.versionNumber} deleted successfully`
519
+ };
520
+ } catch (error) {
521
+ return handleError(error, "Error deleting agent version");
522
+ }
523
+ }
524
+ });
525
+ var COMPARE_AGENT_VERSIONS_ROUTE = createRoute({
526
+ method: "GET",
527
+ path: "/stored/agents/:agentId/versions/compare",
528
+ responseType: "json",
529
+ pathParamSchema: agentVersionPathParams,
530
+ queryParamSchema: compareVersionsQuerySchema,
531
+ responseSchema: compareVersionsResponseSchema,
532
+ summary: "Compare agent versions",
533
+ description: "Compares two versions and returns the differences between them",
534
+ tags: ["Agent Versions"],
535
+ handler: async ({ mastra, agentId, from, to }) => {
536
+ try {
537
+ const storage = mastra.getStorage();
538
+ if (!storage) {
539
+ throw new HTTPException(500, { message: "Storage is not configured" });
540
+ }
541
+ const agentsStore = await storage.getStore("agents");
542
+ if (!agentsStore) {
543
+ throw new HTTPException(500, { message: "Agents storage domain is not available" });
544
+ }
545
+ const fromVersion = await agentsStore.getVersion(from);
546
+ if (!fromVersion) {
547
+ throw new HTTPException(404, { message: `Version with id ${from} not found` });
548
+ }
549
+ if (fromVersion.agentId !== agentId) {
550
+ throw new HTTPException(404, { message: `Version with id ${from} not found for agent ${agentId}` });
551
+ }
552
+ const toVersion = await agentsStore.getVersion(to);
553
+ if (!toVersion) {
554
+ throw new HTTPException(404, { message: `Version with id ${to} not found` });
555
+ }
556
+ if (toVersion.agentId !== agentId) {
557
+ throw new HTTPException(404, { message: `Version with id ${to} not found for agent ${agentId}` });
558
+ }
559
+ const diffs = computeVersionDiffs(
560
+ fromVersion.snapshot,
561
+ toVersion.snapshot
562
+ );
563
+ return {
564
+ diffs,
565
+ fromVersion,
566
+ toVersion
567
+ };
568
+ } catch (error) {
569
+ return handleError(error, "Error comparing agent versions");
570
+ }
571
+ }
572
+ });
573
+
574
+ export { ACTIVATE_AGENT_VERSION_ROUTE, COMPARE_AGENT_VERSIONS_ROUTE, CREATE_AGENT_VERSION_ROUTE, DEFAULT_MAX_VERSIONS_PER_AGENT, DELETE_AGENT_VERSION_ROUTE, GET_AGENT_VERSION_ROUTE, LIST_AGENT_VERSIONS_ROUTE, RESTORE_AGENT_VERSION_ROUTE, calculateChangedFields, createStoredAgentBodySchema, createStoredAgentResponseSchema, createVersionWithRetry, deleteStoredAgentResponseSchema, enforceRetentionLimit, generateVersionId, getStoredAgentResponseSchema, handleAutoVersioning, listStoredAgentsQuerySchema, listStoredAgentsResponseSchema, storedAgentIdPathParams, updateStoredAgentBodySchema, updateStoredAgentResponseSchema };
575
+ //# sourceMappingURL=chunk-JJLEVKG7.js.map
576
+ //# sourceMappingURL=chunk-JJLEVKG7.js.map