@mastra/server 1.0.4 → 1.1.0-alpha.1

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 (333) hide show
  1. package/CHANGELOG.md +194 -0
  2. package/a2a/store.d.ts +1 -0
  3. package/auth.d.ts +1 -0
  4. package/dist/{chunk-3REGEJEN.js → chunk-24SISJRB.js} +6 -6
  5. package/dist/chunk-24SISJRB.js.map +1 -0
  6. package/dist/{chunk-MPUVSOEU.cjs → chunk-2HOMKKY4.cjs} +21 -15
  7. package/dist/chunk-2HOMKKY4.cjs.map +1 -0
  8. package/dist/{chunk-HCVDHEDD.cjs → chunk-37DO73XV.cjs} +217 -167
  9. package/dist/chunk-37DO73XV.cjs.map +1 -0
  10. package/dist/{chunk-T4SPG2GP.cjs → chunk-4HFYR562.cjs} +4 -4
  11. package/dist/chunk-4HFYR562.cjs.map +1 -0
  12. package/dist/{chunk-2CYGIE3E.js → chunk-4JAEBN6N.js} +212 -86
  13. package/dist/chunk-4JAEBN6N.js.map +1 -0
  14. package/dist/{chunk-AVRO3FIN.cjs → chunk-4LVJBXI2.cjs} +97 -4
  15. package/dist/chunk-4LVJBXI2.cjs.map +1 -0
  16. package/dist/chunk-4UNYZYBB.cjs +253 -0
  17. package/dist/chunk-4UNYZYBB.cjs.map +1 -0
  18. package/dist/{chunk-CGIGPJRU.js → chunk-5P2VGES5.js} +72 -79
  19. package/dist/chunk-5P2VGES5.js.map +1 -0
  20. package/dist/{chunk-YK63KHHB.cjs → chunk-6DHJKQLP.cjs} +513 -168
  21. package/dist/chunk-6DHJKQLP.cjs.map +1 -0
  22. package/dist/{chunk-PNZQCQY4.cjs → chunk-6G2RQWKA.cjs} +15 -15
  23. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  24. package/dist/{chunk-4EYONQIW.cjs → chunk-7D3UAMQM.cjs} +4 -4
  25. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  26. package/dist/{chunk-I27H7BEB.js → chunk-7XIMPDJV.js} +9 -6
  27. package/dist/chunk-7XIMPDJV.js.map +1 -0
  28. package/dist/{chunk-2CLS2PYJ.js → chunk-7YCFHDWX.js} +398 -56
  29. package/dist/chunk-7YCFHDWX.js.map +1 -0
  30. package/dist/{chunk-33CKPQS4.cjs → chunk-A2K5ZL47.cjs} +36 -16
  31. package/dist/chunk-A2K5ZL47.cjs.map +1 -0
  32. package/dist/chunk-AAHPYUEC.cjs +211 -0
  33. package/dist/chunk-AAHPYUEC.cjs.map +1 -0
  34. package/dist/{chunk-NUO7HPOV.cjs → chunk-AN42MFD5.cjs} +235 -109
  35. package/dist/chunk-AN42MFD5.cjs.map +1 -0
  36. package/dist/{chunk-XCEQ4GQW.cjs → chunk-AO7LIZRK.cjs} +88 -99
  37. package/dist/chunk-AO7LIZRK.cjs.map +1 -0
  38. package/dist/{chunk-4DJ7EJRB.cjs → chunk-AV3VZ6S3.cjs} +25 -21
  39. package/dist/chunk-AV3VZ6S3.cjs.map +1 -0
  40. package/dist/{chunk-KKY4MSZO.js → chunk-BWINB344.js} +30 -11
  41. package/dist/chunk-BWINB344.js.map +1 -0
  42. package/dist/{chunk-GHQZIEPS.js → chunk-C4NZAUUW.js} +104 -54
  43. package/dist/chunk-C4NZAUUW.js.map +1 -0
  44. package/dist/{chunk-7S7ALPCY.js → chunk-D5VCL56B.js} +97 -5
  45. package/dist/chunk-D5VCL56B.js.map +1 -0
  46. package/dist/{chunk-XB27LCKO.js → chunk-DHDVJ5II.js} +15 -9
  47. package/dist/chunk-DHDVJ5II.js.map +1 -0
  48. package/dist/{chunk-GNCALVLC.js → chunk-ED6NQBHF.js} +23 -4
  49. package/dist/chunk-ED6NQBHF.js.map +1 -0
  50. package/dist/{chunk-5VDI75UV.js → chunk-EV5H2JQU.js} +5 -4
  51. package/dist/chunk-EV5H2JQU.js.map +1 -0
  52. package/dist/{chunk-4R2Z655M.js → chunk-F2WTCJ5C.js} +145 -67
  53. package/dist/chunk-F2WTCJ5C.js.map +1 -0
  54. package/dist/{chunk-FWSKVWS7.cjs → chunk-FRRHYZR6.cjs} +4 -4
  55. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  56. package/dist/chunk-GDWZ2R7I.js +220 -0
  57. package/dist/chunk-GDWZ2R7I.js.map +1 -0
  58. package/dist/{chunk-N4EIZSG2.js → chunk-GXUBQJ74.js} +15 -11
  59. package/dist/chunk-GXUBQJ74.js.map +1 -0
  60. package/dist/{chunk-UK4FZWNW.cjs → chunk-H4VFL22H.cjs} +52 -53
  61. package/dist/chunk-H4VFL22H.cjs.map +1 -0
  62. package/dist/chunk-H66LLFDL.js +1 -1
  63. package/dist/chunk-H66LLFDL.js.map +1 -1
  64. package/dist/{chunk-QPFYN6B5.cjs → chunk-HDGF45K7.cjs} +17 -14
  65. package/dist/chunk-HDGF45K7.cjs.map +1 -0
  66. package/dist/{chunk-P3H4AZKI.cjs → chunk-HZINLMHL.cjs} +15 -15
  67. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  68. package/dist/{chunk-AV3CN5ZR.cjs → chunk-I3CJUT6J.cjs} +36 -17
  69. package/dist/chunk-I3CJUT6J.cjs.map +1 -0
  70. package/dist/{chunk-DVSCJECS.js → chunk-IS3HHGL4.js} +6 -6
  71. package/dist/chunk-IS3HHGL4.js.map +1 -0
  72. package/dist/{chunk-WJ6DNHLW.cjs → chunk-JRM3DWRM.cjs} +34 -24
  73. package/dist/chunk-JRM3DWRM.cjs.map +1 -0
  74. package/dist/{chunk-YN3FWKVQ.js → chunk-JUGGEWCR.js} +10 -13
  75. package/dist/chunk-JUGGEWCR.js.map +1 -0
  76. package/dist/{chunk-LF2ZLOFP.js → chunk-K2SXZLA3.cjs} +285 -3
  77. package/dist/chunk-K2SXZLA3.cjs.map +1 -0
  78. package/dist/{chunk-XOUK3IYU.js → chunk-K4HSW5ZF.js} +4 -4
  79. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  80. package/dist/chunk-KPHPNRVH.js +651 -0
  81. package/dist/chunk-KPHPNRVH.js.map +1 -0
  82. package/dist/chunk-L6AKFVEX.cjs +678 -0
  83. package/dist/chunk-L6AKFVEX.cjs.map +1 -0
  84. package/dist/{chunk-GU4EWMZB.cjs → chunk-LFNP3ACE.js} +244 -4
  85. package/dist/chunk-LFNP3ACE.js.map +1 -0
  86. package/dist/chunk-LFTVDHOD.js +200 -0
  87. package/dist/chunk-LFTVDHOD.js.map +1 -0
  88. package/dist/{chunk-ZQ2G6QKS.cjs → chunk-MZRJNOYJ.cjs} +175 -97
  89. package/dist/chunk-MZRJNOYJ.cjs.map +1 -0
  90. package/dist/{chunk-G2AMUTU4.js → chunk-OS7SAIRA.js} +6 -6
  91. package/dist/chunk-OS7SAIRA.js.map +1 -0
  92. package/dist/{chunk-L2E5RUVT.cjs → chunk-PWXUI3OG.cjs} +15 -15
  93. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  94. package/dist/chunk-QRPQWZZU.cjs +708 -0
  95. package/dist/chunk-QRPQWZZU.cjs.map +1 -0
  96. package/dist/chunk-QWOQET2T.js +689 -0
  97. package/dist/chunk-QWOQET2T.js.map +1 -0
  98. package/dist/{chunk-EUBTCHQC.js → chunk-RIX6WEJ2.js} +4 -4
  99. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  100. package/dist/{chunk-7XPMKW4Y.cjs → chunk-SONAXR2M.cjs} +12 -9
  101. package/dist/chunk-SONAXR2M.cjs.map +1 -0
  102. package/dist/{chunk-FLLJIPD4.cjs → chunk-T5KH32UA.cjs} +6 -5
  103. package/dist/chunk-T5KH32UA.cjs.map +1 -0
  104. package/dist/{chunk-3FEYUHHJ.js → chunk-TCWPL26W.js} +10 -7
  105. package/dist/chunk-TCWPL26W.js.map +1 -0
  106. package/dist/chunk-USR6JK77.js +62 -0
  107. package/dist/chunk-USR6JK77.js.map +1 -0
  108. package/dist/chunk-VX3VN7FN.cjs +1 -1
  109. package/dist/chunk-VX3VN7FN.cjs.map +1 -1
  110. package/dist/{chunk-6MP2S6VI.cjs → chunk-VXPVROQJ.cjs} +56 -48
  111. package/dist/chunk-VXPVROQJ.cjs.map +1 -0
  112. package/dist/{chunk-CLAEGIP5.cjs → chunk-WWVDNKEF.cjs} +14 -17
  113. package/dist/chunk-WWVDNKEF.cjs.map +1 -0
  114. package/dist/{chunk-5NFRDYFN.js → chunk-XKLJYRAA.js} +4 -4
  115. package/dist/chunk-XKLJYRAA.js.map +1 -0
  116. package/dist/{chunk-TMS4LS2J.js → chunk-XUSAKRLX.js} +26 -16
  117. package/dist/chunk-XUSAKRLX.js.map +1 -0
  118. package/dist/{chunk-IVGQTL3T.js → chunk-XXBURIYX.js} +36 -28
  119. package/dist/chunk-XXBURIYX.js.map +1 -0
  120. package/dist/{chunk-H34VRYSF.js → chunk-ZFHZRI6C.js} +26 -27
  121. package/dist/chunk-ZFHZRI6C.js.map +1 -0
  122. package/dist/chunk-ZKMVCV4G.cjs +71 -0
  123. package/dist/chunk-ZKMVCV4G.cjs.map +1 -0
  124. package/dist/docs/README.md +1 -1
  125. package/dist/docs/SKILL.md +1 -1
  126. package/dist/docs/SOURCE_MAP.json +1 -1
  127. package/dist/docs/server/01-custom-adapters.md +10 -10
  128. package/dist/docs/server/02-reference.md +22 -8
  129. package/dist/server/auth/helpers.d.ts +8 -1
  130. package/dist/server/auth/helpers.d.ts.map +1 -1
  131. package/dist/server/auth/index.cjs +42 -131
  132. package/dist/server/auth/index.cjs.map +1 -1
  133. package/dist/server/auth/index.js +1 -125
  134. package/dist/server/auth/index.js.map +1 -1
  135. package/dist/server/auth/path-pattern.d.ts +43 -0
  136. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  137. package/dist/server/constants.d.ts +51 -0
  138. package/dist/server/constants.d.ts.map +1 -0
  139. package/dist/server/handlers/a2a.cjs +9 -9
  140. package/dist/server/handlers/a2a.d.ts.map +1 -1
  141. package/dist/server/handlers/a2a.js +1 -1
  142. package/dist/server/handlers/agent-builder.cjs +16 -16
  143. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  144. package/dist/server/handlers/agent-builder.js +1 -1
  145. package/dist/server/handlers/agent-versions.cjs +60 -0
  146. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  147. package/dist/server/handlers/agent-versions.d.ts +457 -0
  148. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  149. package/dist/server/handlers/agent-versions.js +3 -0
  150. package/dist/server/handlers/agent-versions.js.map +1 -0
  151. package/dist/server/handlers/agents.cjs +40 -28
  152. package/dist/server/handlers/agents.d.ts +58 -5
  153. package/dist/server/handlers/agents.d.ts.map +1 -1
  154. package/dist/server/handlers/agents.js +1 -1
  155. package/dist/server/handlers/logs.cjs +4 -4
  156. package/dist/server/handlers/logs.d.ts.map +1 -1
  157. package/dist/server/handlers/logs.js +1 -1
  158. package/dist/server/handlers/mcp.cjs +9 -9
  159. package/dist/server/handlers/mcp.d.ts +22 -0
  160. package/dist/server/handlers/mcp.d.ts.map +1 -1
  161. package/dist/server/handlers/mcp.js +1 -1
  162. package/dist/server/handlers/memory.cjs +25 -25
  163. package/dist/server/handlers/memory.d.ts +25 -1
  164. package/dist/server/handlers/memory.d.ts.map +1 -1
  165. package/dist/server/handlers/memory.js +1 -1
  166. package/dist/server/handlers/observability.cjs +5 -5
  167. package/dist/server/handlers/observability.d.ts +1 -0
  168. package/dist/server/handlers/observability.d.ts.map +1 -1
  169. package/dist/server/handlers/observability.js +1 -1
  170. package/dist/server/handlers/processors.cjs +4 -4
  171. package/dist/server/handlers/processors.d.ts.map +1 -1
  172. package/dist/server/handlers/processors.js +1 -1
  173. package/dist/server/handlers/scores.cjs +7 -7
  174. package/dist/server/handlers/scores.d.ts.map +1 -1
  175. package/dist/server/handlers/scores.js +1 -1
  176. package/dist/server/handlers/stored-agents.cjs +6 -6
  177. package/dist/server/handlers/stored-agents.d.ts +51 -14
  178. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  179. package/dist/server/handlers/stored-agents.js +1 -1
  180. package/dist/server/handlers/system.cjs +2 -2
  181. package/dist/server/handlers/system.d.ts.map +1 -1
  182. package/dist/server/handlers/system.js +1 -1
  183. package/dist/server/handlers/tools.cjs +6 -6
  184. package/dist/server/handlers/tools.d.ts +3 -3
  185. package/dist/server/handlers/tools.d.ts.map +1 -1
  186. package/dist/server/handlers/tools.js +1 -1
  187. package/dist/server/handlers/utils.cjs +21 -5
  188. package/dist/server/handlers/utils.d.ts +26 -0
  189. package/dist/server/handlers/utils.d.ts.map +1 -1
  190. package/dist/server/handlers/utils.js +1 -1
  191. package/dist/server/handlers/vector.cjs +13 -13
  192. package/dist/server/handlers/vector.d.ts.map +1 -1
  193. package/dist/server/handlers/vector.js +1 -1
  194. package/dist/server/handlers/voice.cjs +8 -8
  195. package/dist/server/handlers/voice.d.ts.map +1 -1
  196. package/dist/server/handlers/voice.js +1 -1
  197. package/dist/server/handlers/workflows.cjs +24 -24
  198. package/dist/server/handlers/workflows.d.ts +2 -0
  199. package/dist/server/handlers/workflows.d.ts.map +1 -1
  200. package/dist/server/handlers/workflows.js +1 -1
  201. package/dist/server/handlers/workspace.cjs +80 -0
  202. package/dist/server/handlers/workspace.cjs.map +1 -0
  203. package/dist/server/handlers/workspace.d.ts +591 -0
  204. package/dist/server/handlers/workspace.d.ts.map +1 -0
  205. package/dist/server/handlers/workspace.js +3 -0
  206. package/dist/server/handlers/workspace.js.map +1 -0
  207. package/dist/server/handlers.cjs +24 -24
  208. package/dist/server/handlers.js +12 -12
  209. package/dist/server/schemas/agent-versions.d.ts +1073 -0
  210. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  211. package/dist/server/schemas/agents.d.ts +30 -19
  212. package/dist/server/schemas/agents.d.ts.map +1 -1
  213. package/dist/server/schemas/memory.d.ts +83 -31
  214. package/dist/server/schemas/memory.d.ts.map +1 -1
  215. package/dist/server/schemas/stored-agents.d.ts +270 -60
  216. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  217. package/dist/server/schemas/workspace.d.ts +1107 -0
  218. package/dist/server/schemas/workspace.d.ts.map +1 -0
  219. package/dist/server/server-adapter/index.cjs +298 -160
  220. package/dist/server/server-adapter/index.cjs.map +1 -1
  221. package/dist/server/server-adapter/index.d.ts +56 -2
  222. package/dist/server/server-adapter/index.d.ts.map +1 -1
  223. package/dist/server/server-adapter/index.js +158 -23
  224. package/dist/server/server-adapter/index.js.map +1 -1
  225. package/dist/server/server-adapter/openapi-utils.d.ts +10 -0
  226. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  227. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  228. package/dist/server/server-adapter/routes/index.d.ts +3 -1
  229. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  230. package/dist/server/server-adapter/routes/route-builder.d.ts +2 -1
  231. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  232. package/dist/server/server-adapter/routes/stored-agents.d.ts +1 -1
  233. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -1
  234. package/dist/server/server-adapter/routes/workspace.d.ts +8 -0
  235. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -0
  236. package/dist/server/utils.d.ts +13 -0
  237. package/dist/server/utils.d.ts.map +1 -1
  238. package/dist/{token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +9 -9
  239. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  240. package/dist/{token-6GSAFR2W-VLY2XUPA-NCSASMWN.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +6 -6
  241. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  242. package/dist/{token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs → token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs} +9 -9
  243. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  244. package/dist/{token-6GSAFR2W-KVDFAJ2M-VW443KIA.js → token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js} +6 -6
  245. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  246. package/dist/{token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs → token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs} +9 -9
  247. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  248. package/dist/{token-6GSAFR2W-K2BTU23I-NW33N3NU.js → token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js} +6 -6
  249. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  250. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  251. package/dist/{token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map → token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map} +1 -1
  252. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  253. package/dist/{token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map → token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map} +1 -1
  254. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  255. package/dist/{token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map → token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map} +1 -1
  256. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  257. package/dist/{token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map → token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map} +1 -1
  258. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  259. package/dist/{token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map → token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map} +1 -1
  260. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  261. package/dist/{token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map → token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map} +1 -1
  262. package/handlers/server/handlers.d.ts +1 -0
  263. package/handlers.d.ts +1 -0
  264. package/package.json +10 -8
  265. package/server-adapter.d.ts +1 -0
  266. package/dist/chunk-2CLS2PYJ.js.map +0 -1
  267. package/dist/chunk-2CYGIE3E.js.map +0 -1
  268. package/dist/chunk-33CKPQS4.cjs.map +0 -1
  269. package/dist/chunk-3FEYUHHJ.js.map +0 -1
  270. package/dist/chunk-3REGEJEN.js.map +0 -1
  271. package/dist/chunk-4DJ7EJRB.cjs.map +0 -1
  272. package/dist/chunk-4EYONQIW.cjs.map +0 -1
  273. package/dist/chunk-4R2Z655M.js.map +0 -1
  274. package/dist/chunk-5NFRDYFN.js.map +0 -1
  275. package/dist/chunk-5VDI75UV.js.map +0 -1
  276. package/dist/chunk-5W4RPVTK.cjs +0 -49
  277. package/dist/chunk-5W4RPVTK.cjs.map +0 -1
  278. package/dist/chunk-6MP2S6VI.cjs.map +0 -1
  279. package/dist/chunk-7S7ALPCY.js.map +0 -1
  280. package/dist/chunk-7XPMKW4Y.cjs.map +0 -1
  281. package/dist/chunk-AV3CN5ZR.cjs.map +0 -1
  282. package/dist/chunk-AVRO3FIN.cjs.map +0 -1
  283. package/dist/chunk-BRI4GUZ2.cjs +0 -280
  284. package/dist/chunk-BRI4GUZ2.cjs.map +0 -1
  285. package/dist/chunk-CGIGPJRU.js.map +0 -1
  286. package/dist/chunk-CLAEGIP5.cjs.map +0 -1
  287. package/dist/chunk-DVSCJECS.js.map +0 -1
  288. package/dist/chunk-EUBTCHQC.js.map +0 -1
  289. package/dist/chunk-FLLJIPD4.cjs.map +0 -1
  290. package/dist/chunk-FWSKVWS7.cjs.map +0 -1
  291. package/dist/chunk-G2AMUTU4.js.map +0 -1
  292. package/dist/chunk-GHQZIEPS.js.map +0 -1
  293. package/dist/chunk-GNCALVLC.js.map +0 -1
  294. package/dist/chunk-GU4EWMZB.cjs.map +0 -1
  295. package/dist/chunk-H34VRYSF.js.map +0 -1
  296. package/dist/chunk-HCVDHEDD.cjs.map +0 -1
  297. package/dist/chunk-I27H7BEB.js.map +0 -1
  298. package/dist/chunk-IVGQTL3T.js.map +0 -1
  299. package/dist/chunk-KKY4MSZO.js.map +0 -1
  300. package/dist/chunk-L2E5RUVT.cjs.map +0 -1
  301. package/dist/chunk-LF2ZLOFP.js.map +0 -1
  302. package/dist/chunk-MPUVSOEU.cjs.map +0 -1
  303. package/dist/chunk-N4EIZSG2.js.map +0 -1
  304. package/dist/chunk-NUO7HPOV.cjs.map +0 -1
  305. package/dist/chunk-P3H4AZKI.cjs.map +0 -1
  306. package/dist/chunk-PNZQCQY4.cjs.map +0 -1
  307. package/dist/chunk-QPFYN6B5.cjs.map +0 -1
  308. package/dist/chunk-T4SPG2GP.cjs.map +0 -1
  309. package/dist/chunk-TMS4LS2J.js.map +0 -1
  310. package/dist/chunk-UK4FZWNW.cjs.map +0 -1
  311. package/dist/chunk-WJ6DNHLW.cjs.map +0 -1
  312. package/dist/chunk-WLGJVDH4.js +0 -242
  313. package/dist/chunk-WLGJVDH4.js.map +0 -1
  314. package/dist/chunk-XB27LCKO.js.map +0 -1
  315. package/dist/chunk-XCEQ4GQW.cjs.map +0 -1
  316. package/dist/chunk-XOUK3IYU.js.map +0 -1
  317. package/dist/chunk-XWGAT2DA.js +0 -44
  318. package/dist/chunk-XWGAT2DA.js.map +0 -1
  319. package/dist/chunk-YK63KHHB.cjs.map +0 -1
  320. package/dist/chunk-YN3FWKVQ.js.map +0 -1
  321. package/dist/chunk-ZQ2G6QKS.cjs.map +0 -1
  322. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +0 -1
  323. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +0 -1
  324. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +0 -1
  325. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +0 -1
  326. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +0 -1
  327. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +0 -1
  328. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +0 -10
  329. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +0 -8
  330. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +0 -10
  331. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +0 -8
  332. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +0 -10
  333. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +0 -8
@@ -0,0 +1,678 @@
1
+ 'use strict';
2
+
3
+ var chunkMCYD5LW7_cjs = require('./chunk-MCYD5LW7.cjs');
4
+ var chunkSUKFO7UM_cjs = require('./chunk-SUKFO7UM.cjs');
5
+ var chunk4LVJBXI2_cjs = require('./chunk-4LVJBXI2.cjs');
6
+ var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
7
+ var z = require('zod');
8
+
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var z__default = /*#__PURE__*/_interopDefault(z);
12
+
13
+ var storedAgentIdPathParams = z__default.default.object({
14
+ storedAgentId: z__default.default.string().describe("Unique identifier for the stored agent")
15
+ });
16
+ var storageOrderBySchema = z__default.default.object({
17
+ field: z__default.default.enum(["createdAt", "updatedAt"]).optional(),
18
+ direction: z__default.default.enum(["ASC", "DESC"]).optional()
19
+ });
20
+ var listStoredAgentsQuerySchema = chunkMCYD5LW7_cjs.createPagePaginationSchema(100).extend({
21
+ orderBy: storageOrderBySchema.optional(),
22
+ authorId: z__default.default.string().optional().describe("Filter agents by author identifier"),
23
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Filter agents by metadata key-value pairs")
24
+ });
25
+ var scorerConfigSchema = z__default.default.object({
26
+ sampling: z__default.default.object({
27
+ type: z__default.default.enum(["ratio", "count"]),
28
+ rate: z__default.default.number().optional(),
29
+ count: z__default.default.number().optional()
30
+ }).optional()
31
+ });
32
+ var snapshotConfigSchema = z__default.default.object({
33
+ name: z__default.default.string().describe("Name of the agent"),
34
+ description: z__default.default.string().optional().describe("Description of the agent"),
35
+ instructions: z__default.default.string().describe("System instructions for the agent"),
36
+ model: z__default.default.record(z__default.default.string(), z__default.default.unknown()).describe("Model configuration (provider, name, etc.)"),
37
+ tools: z__default.default.array(z__default.default.string()).optional().describe("Array of tool keys to resolve from Mastra registry"),
38
+ defaultOptions: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Default options for generate/stream calls"),
39
+ workflows: z__default.default.array(z__default.default.string()).optional().describe("Array of workflow keys to resolve from Mastra registry"),
40
+ agents: z__default.default.array(z__default.default.string()).optional().describe("Array of agent keys to resolve from Mastra registry"),
41
+ integrationTools: z__default.default.array(z__default.default.string()).optional().describe("Array of specific integration tool IDs (format: provider_toolkitSlug_toolSlug)"),
42
+ inputProcessors: z__default.default.array(z__default.default.record(z__default.default.string(), z__default.default.unknown())).optional().describe("Input processor configurations"),
43
+ outputProcessors: z__default.default.array(z__default.default.record(z__default.default.string(), z__default.default.unknown())).optional().describe("Output processor configurations"),
44
+ memory: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Memory configuration object"),
45
+ scorers: z__default.default.record(z__default.default.string(), scorerConfigSchema).optional().describe("Scorer keys with optional sampling config")
46
+ });
47
+ var agentMetadataSchema = z__default.default.object({
48
+ authorId: z__default.default.string().optional().describe("Author identifier for multi-tenant filtering"),
49
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Additional metadata for the agent")
50
+ });
51
+ var createStoredAgentBodySchema = z__default.default.object({
52
+ id: z__default.default.string().describe("Unique identifier for the agent"),
53
+ authorId: z__default.default.string().optional().describe("Author identifier for multi-tenant filtering"),
54
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Additional metadata for the agent")
55
+ }).merge(snapshotConfigSchema);
56
+ var updateStoredAgentBodySchema = agentMetadataSchema.partial().merge(snapshotConfigSchema.partial());
57
+ var storedAgentSchema = z__default.default.object({
58
+ // Thin agent record fields
59
+ id: z__default.default.string(),
60
+ status: z__default.default.string().describe("Agent status: draft or published"),
61
+ activeVersionId: z__default.default.string().optional(),
62
+ authorId: z__default.default.string().optional(),
63
+ metadata: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional(),
64
+ createdAt: z__default.default.date(),
65
+ updatedAt: z__default.default.date(),
66
+ // Version snapshot config fields (resolved from active version)
67
+ name: z__default.default.string().describe("Name of the agent"),
68
+ description: z__default.default.string().optional().describe("Description of the agent"),
69
+ instructions: z__default.default.string().describe("System instructions for the agent"),
70
+ model: z__default.default.record(z__default.default.string(), z__default.default.unknown()).describe("Model configuration (provider, name, etc.)"),
71
+ tools: z__default.default.array(z__default.default.string()).optional().describe("Array of tool keys to resolve from Mastra registry"),
72
+ defaultOptions: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Default options for generate/stream calls"),
73
+ workflows: z__default.default.array(z__default.default.string()).optional().describe("Array of workflow keys to resolve from Mastra registry"),
74
+ agents: z__default.default.array(z__default.default.string()).optional().describe("Array of agent keys to resolve from Mastra registry"),
75
+ integrationTools: z__default.default.array(z__default.default.string()).optional().describe("Array of specific integration tool IDs (format: provider_toolkitSlug_toolSlug)"),
76
+ inputProcessors: z__default.default.array(z__default.default.record(z__default.default.string(), z__default.default.unknown())).optional().describe("Input processor configurations"),
77
+ outputProcessors: z__default.default.array(z__default.default.record(z__default.default.string(), z__default.default.unknown())).optional().describe("Output processor configurations"),
78
+ memory: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Memory configuration object"),
79
+ scorers: z__default.default.record(z__default.default.string(), scorerConfigSchema).optional().describe("Scorer keys with optional sampling config")
80
+ });
81
+ var listStoredAgentsResponseSchema = chunkMCYD5LW7_cjs.paginationInfoSchema.extend({
82
+ agents: z__default.default.array(storedAgentSchema)
83
+ });
84
+ var getStoredAgentResponseSchema = storedAgentSchema;
85
+ var createStoredAgentResponseSchema = storedAgentSchema;
86
+ var updateStoredAgentResponseSchema = storedAgentSchema;
87
+ var deleteStoredAgentResponseSchema = z__default.default.object({
88
+ success: z__default.default.boolean(),
89
+ message: z__default.default.string()
90
+ });
91
+
92
+ // src/server/schemas/agent-versions.ts
93
+ var agentVersionPathParams = z__default.default.object({
94
+ agentId: z__default.default.string().describe("Unique identifier for the stored agent")
95
+ });
96
+ var versionIdPathParams = z__default.default.object({
97
+ agentId: z__default.default.string().describe("Unique identifier for the stored agent"),
98
+ versionId: z__default.default.string().describe("Unique identifier for the version (UUID)")
99
+ });
100
+ var versionOrderBySchema = z__default.default.object({
101
+ field: z__default.default.enum(["versionNumber", "createdAt"]).optional(),
102
+ direction: z__default.default.enum(["ASC", "DESC"]).optional()
103
+ });
104
+ var listVersionsQuerySchema = chunkMCYD5LW7_cjs.createPagePaginationSchema(20).extend({
105
+ orderBy: versionOrderBySchema.optional()
106
+ });
107
+ var compareVersionsQuerySchema = z__default.default.object({
108
+ from: z__default.default.string().describe("Version ID (UUID) to compare from"),
109
+ to: z__default.default.string().describe("Version ID (UUID) to compare to")
110
+ });
111
+ var createVersionBodySchema = z__default.default.object({
112
+ changeMessage: z__default.default.string().max(500).optional().describe("Optional message describing the changes")
113
+ });
114
+ var agentVersionSchema = z__default.default.object({
115
+ id: z__default.default.string().describe("Unique identifier for the version (UUID)"),
116
+ agentId: z__default.default.string().describe("ID of the agent this version belongs to"),
117
+ versionNumber: z__default.default.number().describe("Sequential version number (1, 2, 3, ...)"),
118
+ // Top-level config fields (from StorageAgentSnapshotType)
119
+ name: z__default.default.string().describe("Name of the agent"),
120
+ description: z__default.default.string().optional().describe("Description of the agent"),
121
+ instructions: z__default.default.string().describe("System instructions for the agent"),
122
+ model: z__default.default.record(z__default.default.string(), z__default.default.unknown()).describe("Model configuration (provider, name, etc.)"),
123
+ tools: z__default.default.array(z__default.default.string()).optional().describe("Array of tool keys to resolve from Mastra registry"),
124
+ defaultOptions: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Default options for generate/stream calls"),
125
+ workflows: z__default.default.array(z__default.default.string()).optional().describe("Array of workflow keys to resolve from Mastra registry"),
126
+ agents: z__default.default.array(z__default.default.string()).optional().describe("Array of agent keys to resolve from Mastra registry"),
127
+ integrationTools: z__default.default.array(z__default.default.string()).optional().describe("Array of specific integration tool IDs (format: provider_toolkitSlug_toolSlug)"),
128
+ inputProcessors: z__default.default.array(z__default.default.record(z__default.default.string(), z__default.default.unknown())).optional().describe("Input processor configurations"),
129
+ outputProcessors: z__default.default.array(z__default.default.record(z__default.default.string(), z__default.default.unknown())).optional().describe("Output processor configurations"),
130
+ memory: z__default.default.record(z__default.default.string(), z__default.default.unknown()).optional().describe("Memory configuration object"),
131
+ scorers: z__default.default.record(z__default.default.string(), scorerConfigSchema).optional().describe("Scorer keys with optional sampling config"),
132
+ // Version metadata fields
133
+ changedFields: z__default.default.array(z__default.default.string()).optional().describe("Array of field names that changed from the previous version"),
134
+ changeMessage: z__default.default.string().optional().describe("Optional message describing the changes"),
135
+ createdAt: z__default.default.date().describe("When this version was created")
136
+ });
137
+ var listVersionsResponseSchema = chunkMCYD5LW7_cjs.paginationInfoSchema.extend({
138
+ versions: z__default.default.array(agentVersionSchema)
139
+ });
140
+ var getVersionResponseSchema = agentVersionSchema;
141
+ var createVersionResponseSchema = agentVersionSchema;
142
+ var activateVersionResponseSchema = z__default.default.object({
143
+ success: z__default.default.boolean(),
144
+ message: z__default.default.string(),
145
+ activeVersionId: z__default.default.string()
146
+ });
147
+ var restoreVersionResponseSchema = agentVersionSchema.describe(
148
+ "The newly created version from the restored configuration"
149
+ );
150
+ var deleteVersionResponseSchema = z__default.default.object({
151
+ success: z__default.default.boolean(),
152
+ message: z__default.default.string()
153
+ });
154
+ var versionDiffEntrySchema = z__default.default.object({
155
+ field: z__default.default.string().describe("The field path that changed"),
156
+ previousValue: z__default.default.unknown().describe('The value in the "from" version'),
157
+ currentValue: z__default.default.unknown().describe('The value in the "to" version')
158
+ });
159
+ var compareVersionsResponseSchema = z__default.default.object({
160
+ diffs: z__default.default.array(versionDiffEntrySchema).describe("List of differences between versions"),
161
+ fromVersion: agentVersionSchema.describe("The source version"),
162
+ toVersion: agentVersionSchema.describe("The target version")
163
+ });
164
+
165
+ // src/server/handlers/agent-versions.ts
166
+ var DEFAULT_MAX_VERSIONS_PER_AGENT = 50;
167
+ var SNAPSHOT_CONFIG_FIELDS = [
168
+ "name",
169
+ "description",
170
+ "instructions",
171
+ "model",
172
+ "tools",
173
+ "defaultOptions",
174
+ "workflows",
175
+ "agents",
176
+ "integrationTools",
177
+ "inputProcessors",
178
+ "outputProcessors",
179
+ "memory",
180
+ "scorers"
181
+ ];
182
+ function deepEqual(a, b) {
183
+ if (a === b) return true;
184
+ if (a == null || b == null) return a === b;
185
+ if (typeof a !== typeof b) return false;
186
+ if (Array.isArray(a) && Array.isArray(b)) {
187
+ if (a.length !== b.length) return false;
188
+ return a.every((item, index) => deepEqual(item, b[index]));
189
+ }
190
+ if (a instanceof Date && b instanceof Date) {
191
+ return a.getTime() === b.getTime();
192
+ }
193
+ if (typeof a === "object" && typeof b === "object") {
194
+ const aObj = a;
195
+ const bObj = b;
196
+ const aKeys = Object.keys(aObj);
197
+ const bKeys = Object.keys(bObj);
198
+ if (aKeys.length !== bKeys.length) return false;
199
+ return aKeys.every((key) => Object.prototype.hasOwnProperty.call(bObj, key) && deepEqual(aObj[key], bObj[key]));
200
+ }
201
+ return false;
202
+ }
203
+ function generateVersionId() {
204
+ return crypto.randomUUID();
205
+ }
206
+ function extractConfigFromVersion(version) {
207
+ const config = {};
208
+ for (const field of SNAPSHOT_CONFIG_FIELDS) {
209
+ if (field in version) {
210
+ config[field] = version[field];
211
+ }
212
+ }
213
+ return config;
214
+ }
215
+ function calculateChangedFields(previous, current) {
216
+ if (!previous) {
217
+ return Object.keys(current);
218
+ }
219
+ const changedFields = [];
220
+ const allKeys = /* @__PURE__ */ new Set([...Object.keys(previous), ...Object.keys(current)]);
221
+ for (const key of allKeys) {
222
+ if (key === "updatedAt" || key === "createdAt") {
223
+ continue;
224
+ }
225
+ const prevValue = previous[key];
226
+ const currValue = current[key];
227
+ if (!deepEqual(prevValue, currValue)) {
228
+ changedFields.push(key);
229
+ }
230
+ }
231
+ return changedFields;
232
+ }
233
+ function computeVersionDiffs(fromConfig, toConfig) {
234
+ const diffs = [];
235
+ const allKeys = /* @__PURE__ */ new Set([...Object.keys(fromConfig), ...Object.keys(toConfig)]);
236
+ for (const key of allKeys) {
237
+ if (key === "updatedAt" || key === "createdAt") {
238
+ continue;
239
+ }
240
+ const prevValue = fromConfig[key];
241
+ const currValue = toConfig[key];
242
+ if (!deepEqual(prevValue, currValue)) {
243
+ diffs.push({
244
+ field: key,
245
+ previousValue: prevValue,
246
+ currentValue: currValue
247
+ });
248
+ }
249
+ }
250
+ return diffs;
251
+ }
252
+ async function enforceRetentionLimit(agentsStore, agentId, activeVersionId, maxVersions = DEFAULT_MAX_VERSIONS_PER_AGENT) {
253
+ const { total } = await agentsStore.listVersions({ agentId, perPage: 1 });
254
+ if (total <= maxVersions) {
255
+ return { deletedCount: 0 };
256
+ }
257
+ const versionsToDelete = total - maxVersions;
258
+ const { versions: oldestVersions } = await agentsStore.listVersions({
259
+ agentId,
260
+ perPage: versionsToDelete + 1,
261
+ // Get one extra in case we need to skip the active version
262
+ orderBy: { field: "versionNumber", direction: "ASC" }
263
+ });
264
+ let deletedCount = 0;
265
+ for (const version of oldestVersions) {
266
+ if (deletedCount >= versionsToDelete) {
267
+ break;
268
+ }
269
+ if (version.id === activeVersionId) {
270
+ continue;
271
+ }
272
+ await agentsStore.deleteVersion(version.id);
273
+ deletedCount++;
274
+ }
275
+ return { deletedCount };
276
+ }
277
+ function isVersionNumberConflictError(error) {
278
+ if (error instanceof Error) {
279
+ const message = error.message.toLowerCase();
280
+ return message.includes("unique") && message.includes("constraint") || message.includes("duplicate key") || message.includes("unique_violation") || message.includes("sqlite_constraint_unique") || message.includes("versionnumber");
281
+ }
282
+ return false;
283
+ }
284
+ async function createVersionWithRetry(agentsStore, agentId, snapshotConfig, changedFields, options = {}) {
285
+ const { changeMessage, maxRetries = 3 } = options;
286
+ let lastError;
287
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
288
+ try {
289
+ const latestVersion = await agentsStore.getLatestVersion(agentId);
290
+ const versionNumber = latestVersion ? latestVersion.versionNumber + 1 : 1;
291
+ const versionId = generateVersionId();
292
+ await agentsStore.createVersion({
293
+ ...snapshotConfig,
294
+ id: versionId,
295
+ agentId,
296
+ versionNumber,
297
+ changedFields,
298
+ changeMessage
299
+ });
300
+ return { versionId, versionNumber };
301
+ } catch (error) {
302
+ lastError = error;
303
+ if (isVersionNumberConflictError(error) && attempt < maxRetries - 1) {
304
+ await new Promise((resolve) => setTimeout(resolve, 10 * (attempt + 1)));
305
+ continue;
306
+ }
307
+ throw error;
308
+ }
309
+ }
310
+ throw lastError;
311
+ }
312
+ async function handleAutoVersioning(agentsStore, agentId, existingAgent, updatedAgent, configFields) {
313
+ if (!configFields || Object.keys(configFields).length === 0) {
314
+ return { agent: updatedAgent, versionCreated: false };
315
+ }
316
+ const latestVersion = await agentsStore.getLatestVersion(agentId);
317
+ const previousConfig = latestVersion ? extractConfigFromVersion(latestVersion) : null;
318
+ const changedFields = calculateChangedFields(previousConfig, configFields);
319
+ if (changedFields.length === 0) {
320
+ return { agent: updatedAgent, versionCreated: false };
321
+ }
322
+ const fullConfig = previousConfig ? { ...previousConfig } : {};
323
+ for (const [key, value] of Object.entries(configFields)) {
324
+ fullConfig[key] = value;
325
+ }
326
+ const { versionId } = await createVersionWithRetry(agentsStore, agentId, fullConfig, changedFields, {
327
+ changeMessage: "Auto-saved after edit"
328
+ });
329
+ const finalAgent = await agentsStore.updateAgent({
330
+ id: agentId,
331
+ activeVersionId: versionId
332
+ });
333
+ await enforceRetentionLimit(agentsStore, agentId, versionId);
334
+ return { agent: finalAgent, versionCreated: true };
335
+ }
336
+ var LIST_AGENT_VERSIONS_ROUTE = chunk4LVJBXI2_cjs.createRoute({
337
+ method: "GET",
338
+ path: "/stored/agents/:agentId/versions",
339
+ responseType: "json",
340
+ pathParamSchema: agentVersionPathParams,
341
+ queryParamSchema: listVersionsQuerySchema,
342
+ responseSchema: listVersionsResponseSchema,
343
+ summary: "List agent versions",
344
+ description: "Returns a paginated list of all versions for a stored agent",
345
+ tags: ["Agent Versions"],
346
+ handler: async ({ mastra, agentId, page, perPage, orderBy }) => {
347
+ try {
348
+ const storage = mastra.getStorage();
349
+ if (!storage) {
350
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
351
+ }
352
+ const agentsStore = await storage.getStore("agents");
353
+ if (!agentsStore) {
354
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
355
+ }
356
+ const agent = await agentsStore.getAgentById({ id: agentId });
357
+ if (!agent) {
358
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
359
+ }
360
+ const result = await agentsStore.listVersions({
361
+ agentId,
362
+ page,
363
+ perPage,
364
+ orderBy
365
+ });
366
+ return result;
367
+ } catch (error) {
368
+ return chunkSUKFO7UM_cjs.handleError(error, "Error listing agent versions");
369
+ }
370
+ }
371
+ });
372
+ var CREATE_AGENT_VERSION_ROUTE = chunk4LVJBXI2_cjs.createRoute({
373
+ method: "POST",
374
+ path: "/stored/agents/:agentId/versions",
375
+ responseType: "json",
376
+ pathParamSchema: agentVersionPathParams,
377
+ bodySchema: createVersionBodySchema,
378
+ responseSchema: createVersionResponseSchema,
379
+ summary: "Create agent version",
380
+ description: "Creates a new version snapshot of the current agent configuration",
381
+ tags: ["Agent Versions"],
382
+ handler: async ({ mastra, agentId, changeMessage }) => {
383
+ try {
384
+ const storage = mastra.getStorage();
385
+ if (!storage) {
386
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
387
+ }
388
+ const agentsStore = await storage.getStore("agents");
389
+ if (!agentsStore) {
390
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
391
+ }
392
+ const agent = await agentsStore.getAgentById({ id: agentId });
393
+ if (!agent) {
394
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
395
+ }
396
+ let currentConfig = {};
397
+ if (agent.activeVersionId) {
398
+ const activeVersion = await agentsStore.getVersion(agent.activeVersionId);
399
+ if (activeVersion) {
400
+ currentConfig = extractConfigFromVersion(activeVersion);
401
+ }
402
+ }
403
+ const latestVersion = await agentsStore.getLatestVersion(agentId);
404
+ const previousConfig = latestVersion ? extractConfigFromVersion(latestVersion) : null;
405
+ const changedFields = calculateChangedFields(previousConfig, currentConfig);
406
+ const { versionId } = await createVersionWithRetry(
407
+ agentsStore,
408
+ agentId,
409
+ currentConfig,
410
+ changedFields.length > 0 ? changedFields : [],
411
+ { changeMessage }
412
+ );
413
+ const version = await agentsStore.getVersion(versionId);
414
+ if (!version) {
415
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to retrieve created version" });
416
+ }
417
+ await enforceRetentionLimit(agentsStore, agentId, agent.activeVersionId);
418
+ return version;
419
+ } catch (error) {
420
+ return chunkSUKFO7UM_cjs.handleError(error, "Error creating agent version");
421
+ }
422
+ }
423
+ });
424
+ var GET_AGENT_VERSION_ROUTE = chunk4LVJBXI2_cjs.createRoute({
425
+ method: "GET",
426
+ path: "/stored/agents/:agentId/versions/:versionId",
427
+ responseType: "json",
428
+ pathParamSchema: versionIdPathParams,
429
+ responseSchema: getVersionResponseSchema,
430
+ summary: "Get agent version",
431
+ description: "Returns a specific version of an agent by its version ID",
432
+ tags: ["Agent Versions"],
433
+ handler: async ({ mastra, agentId, versionId }) => {
434
+ try {
435
+ const storage = mastra.getStorage();
436
+ if (!storage) {
437
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
438
+ }
439
+ const agentsStore = await storage.getStore("agents");
440
+ if (!agentsStore) {
441
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
442
+ }
443
+ const version = await agentsStore.getVersion(versionId);
444
+ if (!version) {
445
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
446
+ }
447
+ if (version.agentId !== agentId) {
448
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
449
+ }
450
+ return version;
451
+ } catch (error) {
452
+ return chunkSUKFO7UM_cjs.handleError(error, "Error getting agent version");
453
+ }
454
+ }
455
+ });
456
+ var ACTIVATE_AGENT_VERSION_ROUTE = chunk4LVJBXI2_cjs.createRoute({
457
+ method: "POST",
458
+ path: "/stored/agents/:agentId/versions/:versionId/activate",
459
+ responseType: "json",
460
+ pathParamSchema: versionIdPathParams,
461
+ responseSchema: activateVersionResponseSchema,
462
+ summary: "Activate agent version",
463
+ description: "Sets a specific version as the active version for the agent",
464
+ tags: ["Agent Versions"],
465
+ handler: async ({ mastra, agentId, versionId }) => {
466
+ try {
467
+ const storage = mastra.getStorage();
468
+ if (!storage) {
469
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
470
+ }
471
+ const agentsStore = await storage.getStore("agents");
472
+ if (!agentsStore) {
473
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
474
+ }
475
+ const agent = await agentsStore.getAgentById({ id: agentId });
476
+ if (!agent) {
477
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
478
+ }
479
+ const version = await agentsStore.getVersion(versionId);
480
+ if (!version) {
481
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
482
+ }
483
+ if (version.agentId !== agentId) {
484
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
485
+ }
486
+ await agentsStore.updateAgent({
487
+ id: agentId,
488
+ activeVersionId: versionId
489
+ });
490
+ return {
491
+ success: true,
492
+ message: `Version ${version.versionNumber} is now active`,
493
+ activeVersionId: versionId
494
+ };
495
+ } catch (error) {
496
+ return chunkSUKFO7UM_cjs.handleError(error, "Error activating agent version");
497
+ }
498
+ }
499
+ });
500
+ var RESTORE_AGENT_VERSION_ROUTE = chunk4LVJBXI2_cjs.createRoute({
501
+ method: "POST",
502
+ path: "/stored/agents/:agentId/versions/:versionId/restore",
503
+ responseType: "json",
504
+ pathParamSchema: versionIdPathParams,
505
+ responseSchema: restoreVersionResponseSchema,
506
+ summary: "Restore agent version",
507
+ description: "Restores the agent configuration from a version, creating a new version",
508
+ tags: ["Agent Versions"],
509
+ handler: async ({ mastra, agentId, versionId }) => {
510
+ try {
511
+ const storage = mastra.getStorage();
512
+ if (!storage) {
513
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
514
+ }
515
+ const agentsStore = await storage.getStore("agents");
516
+ if (!agentsStore) {
517
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
518
+ }
519
+ const agent = await agentsStore.getAgentById({ id: agentId });
520
+ if (!agent) {
521
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
522
+ }
523
+ const versionToRestore = await agentsStore.getVersion(versionId);
524
+ if (!versionToRestore) {
525
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
526
+ }
527
+ if (versionToRestore.agentId !== agentId) {
528
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
529
+ }
530
+ const restoredConfig = extractConfigFromVersion(versionToRestore);
531
+ await agentsStore.updateAgent({
532
+ id: agentId,
533
+ ...restoredConfig
534
+ });
535
+ const latestVersion = await agentsStore.getLatestVersion(agentId);
536
+ const previousConfig = latestVersion ? extractConfigFromVersion(latestVersion) : null;
537
+ const changedFields = calculateChangedFields(previousConfig, restoredConfig);
538
+ const { versionId: newVersionId } = await createVersionWithRetry(
539
+ agentsStore,
540
+ agentId,
541
+ restoredConfig,
542
+ changedFields,
543
+ {
544
+ changeMessage: `Restored from version ${versionToRestore.versionNumber}`
545
+ }
546
+ );
547
+ await agentsStore.updateAgent({
548
+ id: agentId,
549
+ activeVersionId: newVersionId
550
+ });
551
+ const newVersion = await agentsStore.getVersion(newVersionId);
552
+ if (!newVersion) {
553
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to retrieve created version" });
554
+ }
555
+ await enforceRetentionLimit(agentsStore, agentId, newVersionId);
556
+ return newVersion;
557
+ } catch (error) {
558
+ return chunkSUKFO7UM_cjs.handleError(error, "Error restoring agent version");
559
+ }
560
+ }
561
+ });
562
+ var DELETE_AGENT_VERSION_ROUTE = chunk4LVJBXI2_cjs.createRoute({
563
+ method: "DELETE",
564
+ path: "/stored/agents/:agentId/versions/:versionId",
565
+ responseType: "json",
566
+ pathParamSchema: versionIdPathParams,
567
+ responseSchema: deleteVersionResponseSchema,
568
+ summary: "Delete agent version",
569
+ description: "Deletes a specific version (cannot delete the active version)",
570
+ tags: ["Agent Versions"],
571
+ handler: async ({ mastra, agentId, versionId }) => {
572
+ try {
573
+ const storage = mastra.getStorage();
574
+ if (!storage) {
575
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
576
+ }
577
+ const agentsStore = await storage.getStore("agents");
578
+ if (!agentsStore) {
579
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
580
+ }
581
+ const agent = await agentsStore.getAgentById({ id: agentId });
582
+ if (!agent) {
583
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
584
+ }
585
+ const version = await agentsStore.getVersion(versionId);
586
+ if (!version) {
587
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
588
+ }
589
+ if (version.agentId !== agentId) {
590
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
591
+ }
592
+ if (agent.activeVersionId === versionId) {
593
+ throw new chunk64ITUOXI_cjs.HTTPException(400, {
594
+ message: "Cannot delete the active version. Activate a different version first."
595
+ });
596
+ }
597
+ await agentsStore.deleteVersion(versionId);
598
+ return {
599
+ success: true,
600
+ message: `Version ${version.versionNumber} deleted successfully`
601
+ };
602
+ } catch (error) {
603
+ return chunkSUKFO7UM_cjs.handleError(error, "Error deleting agent version");
604
+ }
605
+ }
606
+ });
607
+ var COMPARE_AGENT_VERSIONS_ROUTE = chunk4LVJBXI2_cjs.createRoute({
608
+ method: "GET",
609
+ path: "/stored/agents/:agentId/versions/compare",
610
+ responseType: "json",
611
+ pathParamSchema: agentVersionPathParams,
612
+ queryParamSchema: compareVersionsQuerySchema,
613
+ responseSchema: compareVersionsResponseSchema,
614
+ summary: "Compare agent versions",
615
+ description: "Compares two versions and returns the differences between them",
616
+ tags: ["Agent Versions"],
617
+ handler: async ({ mastra, agentId, from, to }) => {
618
+ try {
619
+ const storage = mastra.getStorage();
620
+ if (!storage) {
621
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Storage is not configured" });
622
+ }
623
+ const agentsStore = await storage.getStore("agents");
624
+ if (!agentsStore) {
625
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
626
+ }
627
+ const fromVersion = await agentsStore.getVersion(from);
628
+ if (!fromVersion) {
629
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${from} not found` });
630
+ }
631
+ if (fromVersion.agentId !== agentId) {
632
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${from} not found for agent ${agentId}` });
633
+ }
634
+ const toVersion = await agentsStore.getVersion(to);
635
+ if (!toVersion) {
636
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${to} not found` });
637
+ }
638
+ if (toVersion.agentId !== agentId) {
639
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${to} not found for agent ${agentId}` });
640
+ }
641
+ const fromConfig = extractConfigFromVersion(fromVersion);
642
+ const toConfig = extractConfigFromVersion(toVersion);
643
+ const diffs = computeVersionDiffs(fromConfig, toConfig);
644
+ return {
645
+ diffs,
646
+ fromVersion,
647
+ toVersion
648
+ };
649
+ } catch (error) {
650
+ return chunkSUKFO7UM_cjs.handleError(error, "Error comparing agent versions");
651
+ }
652
+ }
653
+ });
654
+
655
+ exports.ACTIVATE_AGENT_VERSION_ROUTE = ACTIVATE_AGENT_VERSION_ROUTE;
656
+ exports.COMPARE_AGENT_VERSIONS_ROUTE = COMPARE_AGENT_VERSIONS_ROUTE;
657
+ exports.CREATE_AGENT_VERSION_ROUTE = CREATE_AGENT_VERSION_ROUTE;
658
+ exports.DEFAULT_MAX_VERSIONS_PER_AGENT = DEFAULT_MAX_VERSIONS_PER_AGENT;
659
+ exports.DELETE_AGENT_VERSION_ROUTE = DELETE_AGENT_VERSION_ROUTE;
660
+ exports.GET_AGENT_VERSION_ROUTE = GET_AGENT_VERSION_ROUTE;
661
+ exports.LIST_AGENT_VERSIONS_ROUTE = LIST_AGENT_VERSIONS_ROUTE;
662
+ exports.RESTORE_AGENT_VERSION_ROUTE = RESTORE_AGENT_VERSION_ROUTE;
663
+ exports.calculateChangedFields = calculateChangedFields;
664
+ exports.createStoredAgentBodySchema = createStoredAgentBodySchema;
665
+ exports.createStoredAgentResponseSchema = createStoredAgentResponseSchema;
666
+ exports.createVersionWithRetry = createVersionWithRetry;
667
+ exports.deleteStoredAgentResponseSchema = deleteStoredAgentResponseSchema;
668
+ exports.enforceRetentionLimit = enforceRetentionLimit;
669
+ exports.generateVersionId = generateVersionId;
670
+ exports.getStoredAgentResponseSchema = getStoredAgentResponseSchema;
671
+ exports.handleAutoVersioning = handleAutoVersioning;
672
+ exports.listStoredAgentsQuerySchema = listStoredAgentsQuerySchema;
673
+ exports.listStoredAgentsResponseSchema = listStoredAgentsResponseSchema;
674
+ exports.storedAgentIdPathParams = storedAgentIdPathParams;
675
+ exports.updateStoredAgentBodySchema = updateStoredAgentBodySchema;
676
+ exports.updateStoredAgentResponseSchema = updateStoredAgentResponseSchema;
677
+ //# sourceMappingURL=chunk-L6AKFVEX.cjs.map
678
+ //# sourceMappingURL=chunk-L6AKFVEX.cjs.map