@mastra/server 1.36.0-alpha.1 → 1.36.0-alpha.10

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 (562) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +506 -28
  3. package/dist/{api-schema-manifest-EMKHNXSD.cjs → api-schema-manifest-4VHMCJM3.cjs} +6 -6
  4. package/dist/{api-schema-manifest-EMKHNXSD.cjs.map → api-schema-manifest-4VHMCJM3.cjs.map} +1 -1
  5. package/dist/{api-schema-manifest-EJXNYOFH.js → api-schema-manifest-DZFKQXHM.js} +4 -4
  6. package/dist/{api-schema-manifest-EJXNYOFH.js.map → api-schema-manifest-DZFKQXHM.js.map} +1 -1
  7. package/dist/{chunk-YARY4I5U.js → chunk-23S37FLK.js} +9 -3
  8. package/dist/chunk-23S37FLK.js.map +1 -0
  9. package/dist/{chunk-NG62OLVA.js → chunk-2JXX4IPC.js} +3 -3
  10. package/dist/{chunk-NG62OLVA.js.map → chunk-2JXX4IPC.js.map} +1 -1
  11. package/dist/{chunk-BYX5LHPW.cjs → chunk-2R76OYDZ.cjs} +22 -5
  12. package/dist/chunk-2R76OYDZ.cjs.map +1 -0
  13. package/dist/{chunk-6IUJAAQ2.js → chunk-2SMGXJZJ.js} +42 -8
  14. package/dist/chunk-2SMGXJZJ.js.map +1 -0
  15. package/dist/chunk-2YUSBWAC.js +101 -0
  16. package/dist/chunk-2YUSBWAC.js.map +1 -0
  17. package/dist/{chunk-Y6CAJLYX.js → chunk-32CLLOUG.js} +6 -6
  18. package/dist/{chunk-Y6CAJLYX.js.map → chunk-32CLLOUG.js.map} +1 -1
  19. package/dist/{chunk-3PQSHLG7.cjs → chunk-35SOHRUB.cjs} +251 -251
  20. package/dist/{chunk-3PQSHLG7.cjs.map → chunk-35SOHRUB.cjs.map} +1 -1
  21. package/dist/{chunk-PQDYNK4J.cjs → chunk-3AKG5KEE.cjs} +45 -37
  22. package/dist/chunk-3AKG5KEE.cjs.map +1 -0
  23. package/dist/{chunk-NPMJ6FRL.cjs → chunk-3AWUH2DT.cjs} +113 -86
  24. package/dist/chunk-3AWUH2DT.cjs.map +1 -0
  25. package/dist/{chunk-XZT7USLH.js → chunk-3HMSFYGA.js} +81 -41
  26. package/dist/chunk-3HMSFYGA.js.map +1 -0
  27. package/dist/{chunk-Y5LNMKEY.cjs → chunk-43KD3CRE.cjs} +21 -7
  28. package/dist/chunk-43KD3CRE.cjs.map +1 -0
  29. package/dist/{chunk-3NA22RQ5.cjs → chunk-4BLUIUHS.cjs} +5 -5
  30. package/dist/{chunk-3NA22RQ5.cjs.map → chunk-4BLUIUHS.cjs.map} +1 -1
  31. package/dist/{chunk-FRFWWBSS.js → chunk-4DUHTOLC.js} +4 -4
  32. package/dist/{chunk-FRFWWBSS.js.map → chunk-4DUHTOLC.js.map} +1 -1
  33. package/dist/chunk-4G7S52U3.cjs +356 -0
  34. package/dist/chunk-4G7S52U3.cjs.map +1 -0
  35. package/dist/{chunk-DYN7KSCZ.js → chunk-4KSV4WWQ.js} +6 -6
  36. package/dist/{chunk-DYN7KSCZ.js.map → chunk-4KSV4WWQ.js.map} +1 -1
  37. package/dist/{chunk-CJFSLVFA.js → chunk-4RLRTJ5M.js} +22 -5
  38. package/dist/chunk-4RLRTJ5M.js.map +1 -0
  39. package/dist/{chunk-XHA6OBT3.cjs → chunk-4UFLVROK.cjs} +13 -13
  40. package/dist/{chunk-XHA6OBT3.cjs.map → chunk-4UFLVROK.cjs.map} +1 -1
  41. package/dist/{chunk-YHRGDSTK.js → chunk-4XSWMZTL.js} +40 -3
  42. package/dist/chunk-4XSWMZTL.js.map +1 -0
  43. package/dist/{chunk-GPLCXP3B.cjs → chunk-5GI232FP.cjs} +8 -8
  44. package/dist/{chunk-GPLCXP3B.cjs.map → chunk-5GI232FP.cjs.map} +1 -1
  45. package/dist/{chunk-IIGNRK55.cjs → chunk-5OGVOPLG.cjs} +4 -4
  46. package/dist/{chunk-IIGNRK55.cjs.map → chunk-5OGVOPLG.cjs.map} +1 -1
  47. package/dist/{chunk-IVFIYTLD.cjs → chunk-5R2TJISH.cjs} +34 -34
  48. package/dist/{chunk-IVFIYTLD.cjs.map → chunk-5R2TJISH.cjs.map} +1 -1
  49. package/dist/{chunk-5XW4MKE6.cjs → chunk-65T6KVYX.cjs} +11 -2
  50. package/dist/chunk-65T6KVYX.cjs.map +1 -0
  51. package/dist/{chunk-N44OOOAL.js → chunk-6GMGCV74.js} +5 -5
  52. package/dist/{chunk-N44OOOAL.js.map → chunk-6GMGCV74.js.map} +1 -1
  53. package/dist/chunk-6HR2SJBP.js +101 -0
  54. package/dist/chunk-6HR2SJBP.js.map +1 -0
  55. package/dist/chunk-6JCLSYOU.js +351 -0
  56. package/dist/chunk-6JCLSYOU.js.map +1 -0
  57. package/dist/{chunk-HT4KV7V5.js → chunk-6NIQROP2.js} +23 -13
  58. package/dist/chunk-6NIQROP2.js.map +1 -0
  59. package/dist/chunk-753JFAF2.js +134 -0
  60. package/dist/chunk-753JFAF2.js.map +1 -0
  61. package/dist/{chunk-LQRPDQCE.js → chunk-7EDTSUCY.js} +4 -4
  62. package/dist/{chunk-LQRPDQCE.js.map → chunk-7EDTSUCY.js.map} +1 -1
  63. package/dist/chunk-7U7OWTR2.js +149 -0
  64. package/dist/chunk-7U7OWTR2.js.map +1 -0
  65. package/dist/{chunk-7YV7MYOP.js → chunk-AAZDGIDJ.js} +22 -12
  66. package/dist/chunk-AAZDGIDJ.js.map +1 -0
  67. package/dist/{chunk-OS2636MU.js → chunk-ADCOCQN6.js} +6 -6
  68. package/dist/{chunk-OS2636MU.js.map → chunk-ADCOCQN6.js.map} +1 -1
  69. package/dist/{chunk-KME4O3RJ.cjs → chunk-ADOALG4G.cjs} +3 -2
  70. package/dist/chunk-ADOALG4G.cjs.map +1 -0
  71. package/dist/chunk-APCBVLVG.js +497 -0
  72. package/dist/chunk-APCBVLVG.js.map +1 -0
  73. package/dist/chunk-AR7VSXHH.cjs +143 -0
  74. package/dist/chunk-AR7VSXHH.cjs.map +1 -0
  75. package/dist/{chunk-JRFHBWKQ.cjs → chunk-AY3ZP465.cjs} +36 -26
  76. package/dist/chunk-AY3ZP465.cjs.map +1 -0
  77. package/dist/{chunk-YLJ5EVO3.js → chunk-BWNJBSXL.js} +3 -3
  78. package/dist/{chunk-YLJ5EVO3.js.map → chunk-BWNJBSXL.js.map} +1 -1
  79. package/dist/{chunk-PM6YRFZW.cjs → chunk-BXXP2OVD.cjs} +8 -8
  80. package/dist/{chunk-PM6YRFZW.cjs.map → chunk-BXXP2OVD.cjs.map} +1 -1
  81. package/dist/{chunk-JW4P6OFG.js → chunk-CCL4C2ZO.js} +4 -4
  82. package/dist/{chunk-JW4P6OFG.js.map → chunk-CCL4C2ZO.js.map} +1 -1
  83. package/dist/{chunk-7LBBDT4S.js → chunk-CGB327L6.js} +3 -3
  84. package/dist/{chunk-7LBBDT4S.js.map → chunk-CGB327L6.js.map} +1 -1
  85. package/dist/{chunk-SR6QNILC.cjs → chunk-CUCQCEE7.cjs} +116 -116
  86. package/dist/{chunk-SR6QNILC.cjs.map → chunk-CUCQCEE7.cjs.map} +1 -1
  87. package/dist/{chunk-73MISLDN.cjs → chunk-D774EZRN.cjs} +16 -16
  88. package/dist/{chunk-73MISLDN.cjs.map → chunk-D774EZRN.cjs.map} +1 -1
  89. package/dist/{chunk-L3WM4IWR.cjs → chunk-DYXX34YU.cjs} +56 -21
  90. package/dist/chunk-DYXX34YU.cjs.map +1 -0
  91. package/dist/{chunk-DZWFQD53.cjs → chunk-EAPGRYRG.cjs} +6 -6
  92. package/dist/{chunk-DZWFQD53.cjs.map → chunk-EAPGRYRG.cjs.map} +1 -1
  93. package/dist/{chunk-RGUKCKGB.cjs → chunk-EQICIFWJ.cjs} +40 -40
  94. package/dist/{chunk-RGUKCKGB.cjs.map → chunk-EQICIFWJ.cjs.map} +1 -1
  95. package/dist/{chunk-R4IYXUNR.cjs → chunk-ESZN7NKS.cjs} +34 -26
  96. package/dist/chunk-ESZN7NKS.cjs.map +1 -0
  97. package/dist/{chunk-E53AJNZB.js → chunk-F2FAL5CZ.js} +2 -2
  98. package/dist/{chunk-E53AJNZB.js.map → chunk-F2FAL5CZ.js.map} +1 -1
  99. package/dist/{chunk-7BM2AIKU.js → chunk-FKQCQSXF.js} +44 -17
  100. package/dist/chunk-FKQCQSXF.js.map +1 -0
  101. package/dist/{chunk-DGJSHUP4.cjs → chunk-FP3SA3LK.cjs} +177 -177
  102. package/dist/{chunk-DGJSHUP4.cjs.map → chunk-FP3SA3LK.cjs.map} +1 -1
  103. package/dist/chunk-G5LQCOFZ.js +292 -0
  104. package/dist/chunk-G5LQCOFZ.js.map +1 -0
  105. package/dist/{chunk-B3UPXBHD.js → chunk-G6W3FFTU.js} +227 -41
  106. package/dist/chunk-G6W3FFTU.js.map +1 -0
  107. package/dist/chunk-GA4BG5JK.js +46 -0
  108. package/dist/chunk-GA4BG5JK.js.map +1 -0
  109. package/dist/{chunk-YPXOTWND.js → chunk-GAGC4WDU.js} +3 -3
  110. package/dist/{chunk-YPXOTWND.js.map → chunk-GAGC4WDU.js.map} +1 -1
  111. package/dist/{chunk-T6QQYYPA.cjs → chunk-GAL7C4Y5.cjs} +36 -26
  112. package/dist/chunk-GAL7C4Y5.cjs.map +1 -0
  113. package/dist/{chunk-GTYVB2TS.js → chunk-GFZR6THV.js} +3 -3
  114. package/dist/{chunk-GTYVB2TS.js.map → chunk-GFZR6THV.js.map} +1 -1
  115. package/dist/{chunk-NDMG7SUN.js → chunk-GYC5P37S.js} +8 -8
  116. package/dist/{chunk-NDMG7SUN.js.map → chunk-GYC5P37S.js.map} +1 -1
  117. package/dist/{chunk-QWPEAC7I.cjs → chunk-GZ4HIOSP.cjs} +99 -99
  118. package/dist/{chunk-QWPEAC7I.cjs.map → chunk-GZ4HIOSP.cjs.map} +1 -1
  119. package/dist/{chunk-OOEYTKTC.js → chunk-HGRG2WVX.js} +35 -18
  120. package/dist/chunk-HGRG2WVX.js.map +1 -0
  121. package/dist/chunk-HMJL3C3H.js +36 -0
  122. package/dist/chunk-HMJL3C3H.js.map +1 -0
  123. package/dist/{chunk-X7ZNZFHV.js → chunk-HNGYUI5N.js} +23 -15
  124. package/dist/chunk-HNGYUI5N.js.map +1 -0
  125. package/dist/{chunk-R3R6VJRM.cjs → chunk-HZNJ4B7D.cjs} +32 -32
  126. package/dist/{chunk-R3R6VJRM.cjs.map → chunk-HZNJ4B7D.cjs.map} +1 -1
  127. package/dist/{chunk-UQ2H32RT.cjs → chunk-I6WBJDRP.cjs} +10 -10
  128. package/dist/{chunk-UQ2H32RT.cjs.map → chunk-I6WBJDRP.cjs.map} +1 -1
  129. package/dist/{chunk-YE3LMHL3.js → chunk-JHFU2P6Z.js} +5 -5
  130. package/dist/{chunk-YE3LMHL3.js.map → chunk-JHFU2P6Z.js.map} +1 -1
  131. package/dist/{chunk-ZRU7KWNW.cjs → chunk-JIB75MHZ.cjs} +7 -3
  132. package/dist/chunk-JIB75MHZ.cjs.map +1 -0
  133. package/dist/chunk-JUYUBEMU.js +28 -0
  134. package/dist/chunk-JUYUBEMU.js.map +1 -0
  135. package/dist/{chunk-WP67ASKV.js → chunk-K2KT5JNX.js} +9 -9
  136. package/dist/{chunk-WP67ASKV.js.map → chunk-K2KT5JNX.js.map} +1 -1
  137. package/dist/{chunk-DM6UW5RD.js → chunk-K5ED24PC.js} +8 -8
  138. package/dist/{chunk-DM6UW5RD.js.map → chunk-K5ED24PC.js.map} +1 -1
  139. package/dist/{chunk-MEYWNCUV.cjs → chunk-KE4V4LJE.cjs} +7 -7
  140. package/dist/{chunk-MEYWNCUV.cjs.map → chunk-KE4V4LJE.cjs.map} +1 -1
  141. package/dist/chunk-KIR4MF3S.cjs +655 -0
  142. package/dist/chunk-KIR4MF3S.cjs.map +1 -0
  143. package/dist/{chunk-ES23WZRF.cjs → chunk-LEIV627E.cjs} +15 -15
  144. package/dist/{chunk-ES23WZRF.cjs.map → chunk-LEIV627E.cjs.map} +1 -1
  145. package/dist/{chunk-AIRSK4QU.js → chunk-LH5Y7AJF.js} +46 -7
  146. package/dist/chunk-LH5Y7AJF.js.map +1 -0
  147. package/dist/{chunk-KWREVMMS.js → chunk-LO3JBCO6.js} +7 -3
  148. package/dist/chunk-LO3JBCO6.js.map +1 -0
  149. package/dist/{chunk-5TTCUSSA.js → chunk-LPFE6YTG.js} +3 -3
  150. package/dist/{chunk-5TTCUSSA.js.map → chunk-LPFE6YTG.js.map} +1 -1
  151. package/dist/{chunk-4YSEVAAS.cjs → chunk-LRIYO7KQ.cjs} +31 -31
  152. package/dist/{chunk-4YSEVAAS.cjs.map → chunk-LRIYO7KQ.cjs.map} +1 -1
  153. package/dist/{chunk-WYLVJSGR.cjs → chunk-LTRLD33R.cjs} +47 -8
  154. package/dist/chunk-LTRLD33R.cjs.map +1 -0
  155. package/dist/{chunk-7R7WT24X.cjs → chunk-M2CPNUSL.cjs} +17 -17
  156. package/dist/{chunk-7R7WT24X.cjs.map → chunk-M2CPNUSL.cjs.map} +1 -1
  157. package/dist/{chunk-UH3MHVDF.cjs → chunk-M4B42JGO.cjs} +6 -3
  158. package/dist/chunk-M4B42JGO.cjs.map +1 -0
  159. package/dist/{chunk-XGNMFTYF.js → chunk-MRG75BLC.js} +9 -9
  160. package/dist/{chunk-XGNMFTYF.js.map → chunk-MRG75BLC.js.map} +1 -1
  161. package/dist/{chunk-CIPZ4VOZ.cjs → chunk-N6RQC4Z3.cjs} +4 -4
  162. package/dist/{chunk-CIPZ4VOZ.cjs.map → chunk-N6RQC4Z3.cjs.map} +1 -1
  163. package/dist/chunk-NHJWT4KF.cjs +104 -0
  164. package/dist/chunk-NHJWT4KF.cjs.map +1 -0
  165. package/dist/{chunk-BBB4NKZZ.cjs → chunk-NVWA33MV.cjs} +89 -89
  166. package/dist/{chunk-BBB4NKZZ.cjs.map → chunk-NVWA33MV.cjs.map} +1 -1
  167. package/dist/chunk-O4O2EJF7.cjs +13 -0
  168. package/dist/chunk-O4O2EJF7.cjs.map +1 -0
  169. package/dist/{chunk-H3RUJBEL.cjs → chunk-O7B3P2AT.cjs} +57 -40
  170. package/dist/chunk-O7B3P2AT.cjs.map +1 -0
  171. package/dist/{chunk-L2RZNUOW.js → chunk-OGYYXNGI.js} +4 -4
  172. package/dist/{chunk-L2RZNUOW.js.map → chunk-OGYYXNGI.js.map} +1 -1
  173. package/dist/{chunk-M7DF3D2M.js → chunk-OJNVSXOF.js} +19 -5
  174. package/dist/chunk-OJNVSXOF.js.map +1 -0
  175. package/dist/{chunk-KGK2LCZ4.js → chunk-OKKJPM5N.js} +21 -14
  176. package/dist/chunk-OKKJPM5N.js.map +1 -0
  177. package/dist/{chunk-Z6C7SDXA.js → chunk-ONCDLJUQ.js} +6 -3
  178. package/dist/chunk-ONCDLJUQ.js.map +1 -0
  179. package/dist/{chunk-HX5WL5ZF.js → chunk-OORAVFI4.js} +3 -3
  180. package/dist/{chunk-HX5WL5ZF.js.map → chunk-OORAVFI4.js.map} +1 -1
  181. package/dist/{chunk-M7CTMLXS.js → chunk-OSN3DL34.js} +4 -4
  182. package/dist/{chunk-M7CTMLXS.js.map → chunk-OSN3DL34.js.map} +1 -1
  183. package/dist/{chunk-ZIR2AE52.js → chunk-P5ZWPVC2.js} +4 -4
  184. package/dist/{chunk-ZIR2AE52.js.map → chunk-P5ZWPVC2.js.map} +1 -1
  185. package/dist/{chunk-ELWN7ZXR.js → chunk-P673H7LK.js} +6 -6
  186. package/dist/{chunk-ELWN7ZXR.js.map → chunk-P673H7LK.js.map} +1 -1
  187. package/dist/{chunk-BBD7VAAR.js → chunk-PQ37PNAE.js} +22 -12
  188. package/dist/chunk-PQ37PNAE.js.map +1 -0
  189. package/dist/{chunk-JBAQMT4Y.cjs → chunk-PQKBBJOP.cjs} +12 -12
  190. package/dist/{chunk-JBAQMT4Y.cjs.map → chunk-PQKBBJOP.cjs.map} +1 -1
  191. package/dist/{chunk-DRNCUSSM.cjs → chunk-PWGPLCL4.cjs} +5 -5
  192. package/dist/{chunk-DRNCUSSM.cjs.map → chunk-PWGPLCL4.cjs.map} +1 -1
  193. package/dist/chunk-QJU62KP2.cjs +298 -0
  194. package/dist/chunk-QJU62KP2.cjs.map +1 -0
  195. package/dist/{chunk-AY5TY4EN.js → chunk-QUVYOHFH.js} +178 -52
  196. package/dist/chunk-QUVYOHFH.js.map +1 -0
  197. package/dist/{chunk-LTYRUL3Q.cjs → chunk-QZ6UFQ7V.cjs} +42 -2
  198. package/dist/chunk-QZ6UFQ7V.cjs.map +1 -0
  199. package/dist/{chunk-MHQFFRA2.cjs → chunk-RDR3XN2X.cjs} +37 -37
  200. package/dist/{chunk-MHQFFRA2.cjs.map → chunk-RDR3XN2X.cjs.map} +1 -1
  201. package/dist/chunk-REJUB2HI.cjs +104 -0
  202. package/dist/chunk-REJUB2HI.cjs.map +1 -0
  203. package/dist/chunk-RJUQQE46.cjs +551 -0
  204. package/dist/chunk-RJUQQE46.cjs.map +1 -0
  205. package/dist/{chunk-M4MNMBQF.cjs → chunk-RYPLQO4Z.cjs} +32 -25
  206. package/dist/chunk-RYPLQO4Z.cjs.map +1 -0
  207. package/dist/chunk-S77FIEDZ.cjs +504 -0
  208. package/dist/chunk-S77FIEDZ.cjs.map +1 -0
  209. package/dist/{chunk-T3PECMPO.js → chunk-SAPM56NU.js} +8 -8
  210. package/dist/{chunk-T3PECMPO.js.map → chunk-SAPM56NU.js.map} +1 -1
  211. package/dist/chunk-SFPN7SHZ.js +11 -0
  212. package/dist/chunk-SFPN7SHZ.js.map +1 -0
  213. package/dist/{chunk-LBEQ4EE4.js → chunk-SPGVPADY.js} +3 -3
  214. package/dist/{chunk-LBEQ4EE4.js.map → chunk-SPGVPADY.js.map} +1 -1
  215. package/dist/{chunk-Q2B7W7GA.cjs → chunk-T3C54LPX.cjs} +57 -5
  216. package/dist/chunk-T3C54LPX.cjs.map +1 -0
  217. package/dist/{chunk-3BL73LS3.cjs → chunk-U72BY62E.cjs} +260 -133
  218. package/dist/chunk-U72BY62E.cjs.map +1 -0
  219. package/dist/{chunk-DZXHO72E.cjs → chunk-UBYGPC2S.cjs} +12 -12
  220. package/dist/{chunk-DZXHO72E.cjs.map → chunk-UBYGPC2S.cjs.map} +1 -1
  221. package/dist/{chunk-IDUFQ5HG.js → chunk-UCKK7LPQ.js} +3 -3
  222. package/dist/{chunk-IDUFQ5HG.js.map → chunk-UCKK7LPQ.js.map} +1 -1
  223. package/dist/{chunk-JX4UGU4A.cjs → chunk-UGJBURIS.cjs} +12 -12
  224. package/dist/{chunk-JX4UGU4A.cjs.map → chunk-UGJBURIS.cjs.map} +1 -1
  225. package/dist/{chunk-PDHGJ7GP.js → chunk-UIRQU4GW.js} +54 -6
  226. package/dist/chunk-UIRQU4GW.js.map +1 -0
  227. package/dist/chunk-V4ATNZXG.cjs +31 -0
  228. package/dist/chunk-V4ATNZXG.cjs.map +1 -0
  229. package/dist/{chunk-IFYVRBFS.js → chunk-VVLD43MX.js} +3 -2
  230. package/dist/chunk-VVLD43MX.js.map +1 -0
  231. package/dist/chunk-VX3MJR4P.cjs +161 -0
  232. package/dist/chunk-VX3MJR4P.cjs.map +1 -0
  233. package/dist/{chunk-QTPAVOG2.cjs → chunk-WLGC3IWY.cjs} +49 -39
  234. package/dist/chunk-WLGC3IWY.cjs.map +1 -0
  235. package/dist/{chunk-IXRARW5C.cjs → chunk-WNPUO7IZ.cjs} +112 -18
  236. package/dist/chunk-WNPUO7IZ.cjs.map +1 -0
  237. package/dist/{chunk-4L2UVFJO.js → chunk-WYP25ZMM.js} +120 -5
  238. package/dist/chunk-WYP25ZMM.js.map +1 -0
  239. package/dist/{chunk-MXGCIYNM.js → chunk-XI3XH4G7.js} +22 -12
  240. package/dist/chunk-XI3XH4G7.js.map +1 -0
  241. package/dist/{chunk-PYZAUXQX.cjs → chunk-XNR667MS.cjs} +27 -27
  242. package/dist/{chunk-PYZAUXQX.cjs.map → chunk-XNR667MS.cjs.map} +1 -1
  243. package/dist/{chunk-Y6MWNLAA.cjs → chunk-XR3CGVKU.cjs} +8 -8
  244. package/dist/{chunk-Y6MWNLAA.cjs.map → chunk-XR3CGVKU.cjs.map} +1 -1
  245. package/dist/{chunk-AZORAK4H.cjs → chunk-XTFWFQZ7.cjs} +2 -2
  246. package/dist/{chunk-AZORAK4H.cjs.map → chunk-XTFWFQZ7.cjs.map} +1 -1
  247. package/dist/{chunk-B34S64RC.cjs → chunk-YNSUYESL.cjs} +23 -3
  248. package/dist/chunk-YNSUYESL.cjs.map +1 -0
  249. package/dist/chunk-YRLCLLKR.js +14 -0
  250. package/dist/chunk-YRLCLLKR.js.map +1 -0
  251. package/dist/{chunk-W32BPAIP.js → chunk-YZPXWF6M.js} +7 -7
  252. package/dist/{chunk-W32BPAIP.js.map → chunk-YZPXWF6M.js.map} +1 -1
  253. package/dist/{chunk-SUT6SU4I.cjs → chunk-Z4PDJRZT.cjs} +124 -5
  254. package/dist/chunk-Z4PDJRZT.cjs.map +1 -0
  255. package/dist/{chunk-JRZZN55Y.cjs → chunk-Z772ZUYH.cjs} +53 -43
  256. package/dist/chunk-Z772ZUYH.cjs.map +1 -0
  257. package/dist/chunk-ZCX2J552.cjs +38 -0
  258. package/dist/chunk-ZCX2J552.cjs.map +1 -0
  259. package/dist/{chunk-OULCMO5R.js → chunk-ZHS2QDGO.js} +23 -15
  260. package/dist/chunk-ZHS2QDGO.js.map +1 -0
  261. package/dist/{chunk-UOKSQHJY.js → chunk-ZJVB5TZ4.js} +112 -18
  262. package/dist/chunk-ZJVB5TZ4.js.map +1 -0
  263. package/dist/chunk-ZNP74O27.cjs +19 -0
  264. package/dist/chunk-ZNP74O27.cjs.map +1 -0
  265. package/dist/{chunk-Q7LA2XMK.js → chunk-ZUWPQVWA.js} +9 -9
  266. package/dist/{chunk-Q7LA2XMK.js.map → chunk-ZUWPQVWA.js.map} +1 -1
  267. package/dist/{dist-5OGIQLEZ.js → dist-7I6EPNH3.js} +5 -5
  268. package/dist/{dist-5OGIQLEZ.js.map → dist-7I6EPNH3.js.map} +1 -1
  269. package/dist/{dist-ON3E5YMU.cjs → dist-HR6TOFJM.cjs} +20 -20
  270. package/dist/{dist-ON3E5YMU.cjs.map → dist-HR6TOFJM.cjs.map} +1 -1
  271. package/dist/docs/SKILL.md +1 -1
  272. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  273. package/dist/{observational-memory-J73GEMRQ-FRFHLHXN.cjs → observational-memory-KFKHBTCB-RMGPISAP.cjs} +26 -26
  274. package/dist/{observational-memory-J73GEMRQ-FRFHLHXN.cjs.map → observational-memory-KFKHBTCB-RMGPISAP.cjs.map} +1 -1
  275. package/dist/{observational-memory-J73GEMRQ-KNLGLGBD.js → observational-memory-KFKHBTCB-RX2CEPSU.js} +3 -3
  276. package/dist/{observational-memory-J73GEMRQ-KNLGLGBD.js.map → observational-memory-KFKHBTCB-RX2CEPSU.js.map} +1 -1
  277. package/dist/server/auth/helpers.d.ts +3 -0
  278. package/dist/server/auth/helpers.d.ts.map +1 -1
  279. package/dist/server/auth/index.cjs +28 -15
  280. package/dist/server/auth/index.js +2 -1
  281. package/dist/server/browser-stream/index.cjs +6 -3
  282. package/dist/server/browser-stream/index.cjs.map +1 -1
  283. package/dist/server/browser-stream/index.js +6 -3
  284. package/dist/server/browser-stream/index.js.map +1 -1
  285. package/dist/server/browser-stream/input-handler.d.ts +2 -2
  286. package/dist/server/browser-stream/input-handler.d.ts.map +1 -1
  287. package/dist/server/browser-stream/types.d.ts +10 -1
  288. package/dist/server/browser-stream/types.d.ts.map +1 -1
  289. package/dist/server/browser-stream/viewer-registry.d.ts.map +1 -1
  290. package/dist/server/constants.d.ts +3 -0
  291. package/dist/server/constants.d.ts.map +1 -1
  292. package/dist/server/handlers/a2a.cjs +14 -14
  293. package/dist/server/handlers/a2a.js +1 -1
  294. package/dist/server/handlers/agent-builder.cjs +16 -16
  295. package/dist/server/handlers/agent-builder.js +1 -1
  296. package/dist/server/handlers/agent-versions.cjs +8 -8
  297. package/dist/server/handlers/agent-versions.d.ts.map +1 -1
  298. package/dist/server/handlers/agent-versions.js +1 -1
  299. package/dist/server/handlers/agents.cjs +41 -41
  300. package/dist/server/handlers/agents.d.ts +193 -0
  301. package/dist/server/handlers/agents.d.ts.map +1 -1
  302. package/dist/server/handlers/agents.js +1 -1
  303. package/dist/server/handlers/auth.cjs +15 -11
  304. package/dist/server/handlers/auth.d.ts +168 -146
  305. package/dist/server/handlers/auth.d.ts.map +1 -1
  306. package/dist/server/handlers/auth.js +1 -1
  307. package/dist/server/handlers/authorship.cjs +52 -0
  308. package/dist/server/handlers/authorship.cjs.map +1 -0
  309. package/dist/server/handlers/authorship.d.ts +176 -0
  310. package/dist/server/handlers/authorship.d.ts.map +1 -0
  311. package/dist/server/handlers/authorship.js +3 -0
  312. package/dist/server/handlers/authorship.js.map +1 -0
  313. package/dist/server/handlers/background-tasks.cjs +4 -4
  314. package/dist/server/handlers/background-tasks.js +1 -1
  315. package/dist/server/handlers/builder-registry.cjs +28 -0
  316. package/dist/server/handlers/builder-registry.cjs.map +1 -0
  317. package/dist/server/handlers/builder-registry.d.ts +170 -0
  318. package/dist/server/handlers/builder-registry.d.ts.map +1 -0
  319. package/dist/server/handlers/builder-registry.js +3 -0
  320. package/dist/server/handlers/builder-registry.js.map +1 -0
  321. package/dist/server/handlers/channels.cjs +5 -5
  322. package/dist/server/handlers/channels.js +1 -1
  323. package/dist/server/handlers/conversations.cjs +5 -5
  324. package/dist/server/handlers/conversations.js +1 -1
  325. package/dist/server/handlers/datasets.cjs +26 -26
  326. package/dist/server/handlers/datasets.d.ts +2 -0
  327. package/dist/server/handlers/datasets.d.ts.map +1 -1
  328. package/dist/server/handlers/datasets.js +1 -1
  329. package/dist/server/handlers/editor-builder.cjs +24 -0
  330. package/dist/server/handlers/editor-builder.cjs.map +1 -0
  331. package/dist/server/handlers/editor-builder.d.ts +259 -0
  332. package/dist/server/handlers/editor-builder.d.ts.map +1 -0
  333. package/dist/server/handlers/editor-builder.js +3 -0
  334. package/dist/server/handlers/editor-builder.js.map +1 -0
  335. package/dist/server/handlers/error.cjs +3 -3
  336. package/dist/server/handlers/error.d.ts.map +1 -1
  337. package/dist/server/handlers/error.js +1 -1
  338. package/dist/server/handlers/favorites-enrichment.cjs +16 -0
  339. package/dist/server/handlers/favorites-enrichment.cjs.map +1 -0
  340. package/dist/server/handlers/favorites-enrichment.d.ts +27 -0
  341. package/dist/server/handlers/favorites-enrichment.d.ts.map +1 -0
  342. package/dist/server/handlers/favorites-enrichment.js +3 -0
  343. package/dist/server/handlers/favorites-enrichment.js.map +1 -0
  344. package/dist/server/handlers/logs.cjs +4 -4
  345. package/dist/server/handlers/logs.js +1 -1
  346. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  347. package/dist/server/handlers/mcp-client-versions.d.ts.map +1 -1
  348. package/dist/server/handlers/mcp-client-versions.js +1 -1
  349. package/dist/server/handlers/mcp.cjs +11 -11
  350. package/dist/server/handlers/mcp.js +1 -1
  351. package/dist/server/handlers/memory.cjs +27 -27
  352. package/dist/server/handlers/memory.d.ts +36 -36
  353. package/dist/server/handlers/memory.js +1 -1
  354. package/dist/server/handlers/observability-list-query-schemas.cjs +24 -0
  355. package/dist/server/handlers/observability-list-query-schemas.cjs.map +1 -0
  356. package/dist/server/handlers/observability-list-query-schemas.d.ts +29 -0
  357. package/dist/server/handlers/observability-list-query-schemas.d.ts.map +1 -0
  358. package/dist/server/handlers/observability-list-query-schemas.js +3 -0
  359. package/dist/server/handlers/observability-list-query-schemas.js.map +1 -0
  360. package/dist/server/handlers/observability-new-endpoints.cjs +32 -28
  361. package/dist/server/handlers/observability-new-endpoints.d.ts +326 -48
  362. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  363. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  364. package/dist/server/handlers/observability-shared.cjs +23 -7
  365. package/dist/server/handlers/observability-shared.d.ts +22 -1
  366. package/dist/server/handlers/observability-shared.d.ts.map +1 -1
  367. package/dist/server/handlers/observability-shared.js +1 -1
  368. package/dist/server/handlers/observability.cjs +43 -39
  369. package/dist/server/handlers/observability.d.ts +18 -8
  370. package/dist/server/handlers/observability.d.ts.map +1 -1
  371. package/dist/server/handlers/observability.js +2 -2
  372. package/dist/server/handlers/processor-providers.cjs +3 -3
  373. package/dist/server/handlers/processor-providers.js +1 -1
  374. package/dist/server/handlers/processors.cjs +4 -4
  375. package/dist/server/handlers/processors.js +1 -1
  376. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  377. package/dist/server/handlers/prompt-block-versions.d.ts.map +1 -1
  378. package/dist/server/handlers/prompt-block-versions.js +1 -1
  379. package/dist/server/handlers/responses.cjs +4 -4
  380. package/dist/server/handlers/responses.js +1 -1
  381. package/dist/server/handlers/responses.storage.cjs +8 -8
  382. package/dist/server/handlers/responses.storage.js +1 -1
  383. package/dist/server/handlers/schedules.cjs +6 -6
  384. package/dist/server/handlers/schedules.js +1 -1
  385. package/dist/server/handlers/scorer-versions.cjs +8 -8
  386. package/dist/server/handlers/scorer-versions.d.ts.map +1 -1
  387. package/dist/server/handlers/scorer-versions.js +1 -1
  388. package/dist/server/handlers/scores.cjs +7 -7
  389. package/dist/server/handlers/scores.js +1 -1
  390. package/dist/server/handlers/skills-sh-shared.cjs +40 -0
  391. package/dist/server/handlers/skills-sh-shared.cjs.map +1 -0
  392. package/dist/server/handlers/skills-sh-shared.d.ts +89 -0
  393. package/dist/server/handlers/skills-sh-shared.d.ts.map +1 -0
  394. package/dist/server/handlers/skills-sh-shared.js +3 -0
  395. package/dist/server/handlers/skills-sh-shared.js.map +1 -0
  396. package/dist/server/handlers/stored-agent-favorites.cjs +16 -0
  397. package/dist/server/handlers/stored-agent-favorites.cjs.map +1 -0
  398. package/dist/server/handlers/stored-agent-favorites.d.ts +29 -0
  399. package/dist/server/handlers/stored-agent-favorites.d.ts.map +1 -0
  400. package/dist/server/handlers/stored-agent-favorites.js +3 -0
  401. package/dist/server/handlers/stored-agent-favorites.js.map +1 -0
  402. package/dist/server/handlers/stored-agents.cjs +7 -7
  403. package/dist/server/handlers/stored-agents.d.ts +390 -0
  404. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  405. package/dist/server/handlers/stored-agents.js +1 -1
  406. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  407. package/dist/server/handlers/stored-mcp-clients.d.ts.map +1 -1
  408. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  409. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  410. package/dist/server/handlers/stored-prompt-blocks.d.ts.map +1 -1
  411. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  412. package/dist/server/handlers/stored-scorers.cjs +6 -6
  413. package/dist/server/handlers/stored-scorers.d.ts.map +1 -1
  414. package/dist/server/handlers/stored-scorers.js +1 -1
  415. package/dist/server/handlers/stored-skill-favorites.cjs +16 -0
  416. package/dist/server/handlers/stored-skill-favorites.cjs.map +1 -0
  417. package/dist/server/handlers/stored-skill-favorites.d.ts +29 -0
  418. package/dist/server/handlers/stored-skill-favorites.d.ts.map +1 -0
  419. package/dist/server/handlers/stored-skill-favorites.js +3 -0
  420. package/dist/server/handlers/stored-skill-favorites.js.map +1 -0
  421. package/dist/server/handlers/stored-skills.cjs +7 -7
  422. package/dist/server/handlers/stored-skills.d.ts +117 -0
  423. package/dist/server/handlers/stored-skills.d.ts.map +1 -1
  424. package/dist/server/handlers/stored-skills.js +1 -1
  425. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  426. package/dist/server/handlers/stored-workspaces.d.ts +2 -0
  427. package/dist/server/handlers/stored-workspaces.d.ts.map +1 -1
  428. package/dist/server/handlers/stored-workspaces.js +1 -1
  429. package/dist/server/handlers/system.cjs +3 -3
  430. package/dist/server/handlers/system.js +1 -1
  431. package/dist/server/handlers/tool-providers.cjs +5 -5
  432. package/dist/server/handlers/tool-providers.js +1 -1
  433. package/dist/server/handlers/tools.cjs +6 -6
  434. package/dist/server/handlers/tools.js +1 -1
  435. package/dist/server/handlers/utils.cjs +10 -10
  436. package/dist/server/handlers/utils.d.ts +1 -1
  437. package/dist/server/handlers/utils.js +1 -1
  438. package/dist/server/handlers/validate-avatar.cjs +12 -0
  439. package/dist/server/handlers/validate-avatar.cjs.map +1 -0
  440. package/dist/server/handlers/validate-avatar.d.ts +7 -0
  441. package/dist/server/handlers/validate-avatar.d.ts.map +1 -0
  442. package/dist/server/handlers/validate-avatar.js +3 -0
  443. package/dist/server/handlers/validate-avatar.js.map +1 -0
  444. package/dist/server/handlers/vector.cjs +16 -16
  445. package/dist/server/handlers/vector.js +1 -1
  446. package/dist/server/handlers/voice.cjs +8 -8
  447. package/dist/server/handlers/voice.js +1 -1
  448. package/dist/server/handlers/workflows.cjs +26 -26
  449. package/dist/server/handlers/workflows.js +1 -1
  450. package/dist/server/handlers/workspace.cjs +26 -26
  451. package/dist/server/handlers/workspace.js +1 -1
  452. package/dist/server/handlers.cjs +35 -35
  453. package/dist/server/handlers.js +16 -16
  454. package/dist/server/schemas/agents.d.ts +8 -0
  455. package/dist/server/schemas/agents.d.ts.map +1 -1
  456. package/dist/server/schemas/builder-registry.d.ts +73 -0
  457. package/dist/server/schemas/builder-registry.d.ts.map +1 -0
  458. package/dist/server/schemas/datasets.d.ts +2 -0
  459. package/dist/server/schemas/datasets.d.ts.map +1 -1
  460. package/dist/server/schemas/editor-builder.d.ts +288 -0
  461. package/dist/server/schemas/editor-builder.d.ts.map +1 -0
  462. package/dist/server/schemas/favorites.d.ts +9 -0
  463. package/dist/server/schemas/favorites.d.ts.map +1 -0
  464. package/dist/server/schemas/index.cjs +471 -455
  465. package/dist/server/schemas/index.js +12 -12
  466. package/dist/server/schemas/memory.d.ts +25 -19
  467. package/dist/server/schemas/memory.d.ts.map +1 -1
  468. package/dist/server/schemas/stored-agents.d.ts +1066 -94
  469. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  470. package/dist/server/schemas/stored-skills.d.ts +111 -0
  471. package/dist/server/schemas/stored-skills.d.ts.map +1 -1
  472. package/dist/server/schemas/stored-workspaces.d.ts +1 -0
  473. package/dist/server/schemas/stored-workspaces.d.ts.map +1 -1
  474. package/dist/server/server-adapter/index.cjs +201 -125
  475. package/dist/server/server-adapter/index.cjs.map +1 -1
  476. package/dist/server/server-adapter/index.d.ts +9 -1
  477. package/dist/server/server-adapter/index.d.ts.map +1 -1
  478. package/dist/server/server-adapter/index.js +175 -99
  479. package/dist/server/server-adapter/index.js.map +1 -1
  480. package/dist/server/server-adapter/routes/datasets.d.ts +2 -0
  481. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  482. package/dist/server/server-adapter/routes/editor-builder.d.ts +353 -0
  483. package/dist/server/server-adapter/routes/editor-builder.d.ts.map +1 -0
  484. package/dist/server/server-adapter/routes/fga-manifest.d.ts +4 -0
  485. package/dist/server/server-adapter/routes/fga-manifest.d.ts.map +1 -0
  486. package/dist/server/server-adapter/routes/index.d.ts +7 -1
  487. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  488. package/dist/server/server-adapter/routes/memory.d.ts +36 -36
  489. package/dist/server/server-adapter/routes/observability.d.ts +176 -28
  490. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  491. package/dist/server/server-adapter/routes/permissions.d.ts +8 -3
  492. package/dist/server/server-adapter/routes/permissions.d.ts.map +1 -1
  493. package/dist/server/server-adapter/routes/route-builder.d.ts +3 -1
  494. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  495. package/dist/server/server-adapter/routes/stored-agents.d.ts +4 -1
  496. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -1
  497. package/dist/server/server-adapter/routes/stored-skills.d.ts +138 -1
  498. package/dist/server/server-adapter/routes/stored-skills.d.ts.map +1 -1
  499. package/dist/server/server-adapter/routes/stored-workspaces.d.ts +2 -0
  500. package/dist/server/server-adapter/routes/stored-workspaces.d.ts.map +1 -1
  501. package/dist/server/utils/resolve-builder-model-policy.d.ts +17 -0
  502. package/dist/server/utils/resolve-builder-model-policy.d.ts.map +1 -0
  503. package/dist/server/utils.d.ts +11 -0
  504. package/dist/server/utils.d.ts.map +1 -1
  505. package/package.json +7 -7
  506. package/dist/chunk-3BL73LS3.cjs.map +0 -1
  507. package/dist/chunk-4L2UVFJO.js.map +0 -1
  508. package/dist/chunk-5XW4MKE6.cjs.map +0 -1
  509. package/dist/chunk-6IUJAAQ2.js.map +0 -1
  510. package/dist/chunk-7BM2AIKU.js.map +0 -1
  511. package/dist/chunk-7YV7MYOP.js.map +0 -1
  512. package/dist/chunk-AIRSK4QU.js.map +0 -1
  513. package/dist/chunk-AY5TY4EN.js.map +0 -1
  514. package/dist/chunk-B34S64RC.cjs.map +0 -1
  515. package/dist/chunk-B3UPXBHD.js.map +0 -1
  516. package/dist/chunk-BBD7VAAR.js.map +0 -1
  517. package/dist/chunk-BYX5LHPW.cjs.map +0 -1
  518. package/dist/chunk-CJFSLVFA.js.map +0 -1
  519. package/dist/chunk-DRTUU5WC.cjs +0 -365
  520. package/dist/chunk-DRTUU5WC.cjs.map +0 -1
  521. package/dist/chunk-H3RUJBEL.cjs.map +0 -1
  522. package/dist/chunk-HT4KV7V5.js.map +0 -1
  523. package/dist/chunk-IFYVRBFS.js.map +0 -1
  524. package/dist/chunk-IXRARW5C.cjs.map +0 -1
  525. package/dist/chunk-JRFHBWKQ.cjs.map +0 -1
  526. package/dist/chunk-JRZZN55Y.cjs.map +0 -1
  527. package/dist/chunk-KGK2LCZ4.js.map +0 -1
  528. package/dist/chunk-KME4O3RJ.cjs.map +0 -1
  529. package/dist/chunk-KWREVMMS.js.map +0 -1
  530. package/dist/chunk-L3WM4IWR.cjs.map +0 -1
  531. package/dist/chunk-LTYRUL3Q.cjs.map +0 -1
  532. package/dist/chunk-M4MNMBQF.cjs.map +0 -1
  533. package/dist/chunk-M7DF3D2M.js.map +0 -1
  534. package/dist/chunk-MXGCIYNM.js.map +0 -1
  535. package/dist/chunk-NPMJ6FRL.cjs.map +0 -1
  536. package/dist/chunk-OMLB6EMJ.cjs +0 -313
  537. package/dist/chunk-OMLB6EMJ.cjs.map +0 -1
  538. package/dist/chunk-OOEYTKTC.js.map +0 -1
  539. package/dist/chunk-OULCMO5R.js.map +0 -1
  540. package/dist/chunk-P23KBWKB.js +0 -26
  541. package/dist/chunk-P23KBWKB.js.map +0 -1
  542. package/dist/chunk-PDHGJ7GP.js.map +0 -1
  543. package/dist/chunk-PQDYNK4J.cjs.map +0 -1
  544. package/dist/chunk-Q2B7W7GA.cjs.map +0 -1
  545. package/dist/chunk-QTPAVOG2.cjs.map +0 -1
  546. package/dist/chunk-R4IYXUNR.cjs.map +0 -1
  547. package/dist/chunk-SUT6SU4I.cjs.map +0 -1
  548. package/dist/chunk-T6QQYYPA.cjs.map +0 -1
  549. package/dist/chunk-UH3MHVDF.cjs.map +0 -1
  550. package/dist/chunk-UOKSQHJY.js.map +0 -1
  551. package/dist/chunk-WNIL6DVE.cjs +0 -615
  552. package/dist/chunk-WNIL6DVE.cjs.map +0 -1
  553. package/dist/chunk-WYLVJSGR.cjs.map +0 -1
  554. package/dist/chunk-X7ZNZFHV.js.map +0 -1
  555. package/dist/chunk-XT5ZVU5J.js +0 -306
  556. package/dist/chunk-XT5ZVU5J.js.map +0 -1
  557. package/dist/chunk-XZT7USLH.js.map +0 -1
  558. package/dist/chunk-Y5LNMKEY.cjs.map +0 -1
  559. package/dist/chunk-YARY4I5U.js.map +0 -1
  560. package/dist/chunk-YHRGDSTK.js.map +0 -1
  561. package/dist/chunk-Z6C7SDXA.js.map +0 -1
  562. package/dist/chunk-ZRU7KWNW.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/authorship.ts"],"names":["MASTRA_RESOURCE_ID_KEY","MASTRA_USER_KEY","MASTRA_USER_PERMISSIONS_KEY","required","matchesPermission","HTTPException"],"mappings":"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","file":"chunk-VX3MJR4P.cjs","sourcesContent":["import { matchesPermission } from '@mastra/core/auth/ee';\nimport type { RequestContext } from '@mastra/core/di';\n\nimport { MASTRA_RESOURCE_ID_KEY, MASTRA_USER_KEY, MASTRA_USER_PERMISSIONS_KEY } from '../constants';\nimport { HTTPException } from '../http-exception';\n\n/**\n * Shape of a stored record that carries ownership + visibility metadata.\n * Used by `matchesAuthorFilter` and the access-assertion helpers.\n */\nexport type OwnedRecord = {\n authorId?: string | null;\n visibility?: 'private' | 'public';\n};\n\n/**\n * Returns the author id associated with the authenticated caller, or `null`\n * if auth is not configured / the caller cannot be resolved.\n *\n * Prefers `MASTRA_RESOURCE_ID_KEY` (set by `authConfig.mapUserToResourceId`)\n * and falls back to `user.id` on the authenticated user object.\n */\nexport function getCallerAuthorId(requestContext: RequestContext): string | null {\n const resourceId = requestContext.get(MASTRA_RESOURCE_ID_KEY);\n if (typeof resourceId === 'string' && resourceId.length > 0) {\n return resourceId;\n }\n\n const user = requestContext.get(MASTRA_USER_KEY);\n if (user && typeof user === 'object' && 'id' in user) {\n const id = (user as { id: unknown }).id;\n if (typeof id === 'string' && id.length > 0) {\n return id;\n }\n }\n\n return null;\n}\n\n/**\n * Returns the list of permission strings currently attached to the caller by\n * the RBAC provider. Returns an empty array when RBAC isn't configured.\n */\nexport function getCallerPermissions(requestContext: RequestContext): string[] {\n const raw = requestContext.get(MASTRA_USER_PERMISSIONS_KEY);\n if (Array.isArray(raw)) {\n return raw.filter((p): p is string => typeof p === 'string');\n }\n return [];\n}\n\n/**\n * True if the caller holds a wildcard permission that lets them manage a\n * resource they don't own (e.g. admins listing agents across tenants).\n *\n * Recognizes `*`, `<resource>:*`, and `<resource>:admin`.\n */\nexport function hasAdminBypass(requestContext: RequestContext, resource: string): boolean {\n const permissions = getCallerPermissions(requestContext);\n if (permissions.length === 0) return false;\n const wildcardAll = '*';\n const resourceWildcard = `${resource}:*`;\n const resourceAdmin = `${resource}:admin`;\n return permissions.some(p => p === wildcardAll || p === resourceWildcard || p === resourceAdmin);\n}\n\n/**\n * True if the caller holds a permission explicitly scoped to a specific\n * resource id — e.g. `agents:read:agent-123` or `agents:*:agent-123`.\n *\n * Broad grants without a resource-id segment (e.g. the role-default\n * `agents:execute`) are intentionally NOT treated as satisfying ownership\n * overrides. Those broad grants already gate route access at the\n * `requiresPermission` layer; giving them a second life as per-record\n * overrides would defeat the owner/visibility model.\n *\n * When called without `resourceId` (the legacy shape), falls back to the\n * original \"any matching permission\" behavior.\n */\nexport function hasScopedPermission(args: {\n requestContext: RequestContext;\n resource: string;\n action: string;\n resourceId?: string;\n}): boolean {\n const { requestContext, resource, action, resourceId } = args;\n const permissions = getCallerPermissions(requestContext);\n if (permissions.length === 0) return false;\n\n if (!resourceId) {\n const required = `${resource}:${action}`;\n return permissions.some(p => matchesPermission(p, required));\n }\n\n const required = `${resource}:${action}:${resourceId}`;\n return permissions.some(p => {\n // Only honor grants that explicitly name a resource id. A granted\n // permission with just `<resource>:<action>` (no id segment) is\n // considered a broad role grant, not a per-record override.\n const parts = p.split(':');\n if (parts.length < 3) return false;\n return matchesPermission(p, required);\n });\n}\n\nexport type AuthorFilter =\n | { kind: 'unrestricted' }\n | { kind: 'exact'; authorId: string }\n | { kind: 'ownedOrPublic'; callerAuthorId: string }\n | { kind: 'publicOnly' }\n | { kind: 'ownedOrPublicOthers'; callerAuthorId: string; queryAuthorId: string };\n\n/**\n * Resolves the filter to apply when listing owner-scoped records.\n *\n * Behavior matrix:\n * - Admin bypass + no query overrides → `unrestricted`.\n * - Admin bypass + `authorId=X` → `exact` (all of X's rows).\n * - `visibility=public` (any caller) → `publicOnly` (aggregate public rows across owners).\n * - `authorId=X`, caller === X → `exact` (all of caller's rows).\n * - `authorId=X`, caller !== X (non-admin) → `ownedOrPublicOthers` (only X's public rows).\n * - No caller (auth off) → `unrestricted` (or `exact` if query supplied).\n * - Default → `ownedOrPublic` (caller's rows + legacy unowned + any public rows).\n */\nexport function resolveAuthorFilter(args: {\n requestContext: RequestContext;\n resource: string;\n queryAuthorId?: string;\n queryVisibility?: 'public';\n}): AuthorFilter {\n const { requestContext, resource, queryAuthorId, queryVisibility } = args;\n const callerAuthorId = getCallerAuthorId(requestContext);\n const bypass = hasAdminBypass(requestContext, resource);\n\n if (queryVisibility === 'public' && !queryAuthorId) {\n return { kind: 'publicOnly' };\n }\n\n if (bypass) {\n return queryAuthorId ? { kind: 'exact', authorId: queryAuthorId } : { kind: 'unrestricted' };\n }\n\n // Auth isn't configured (no caller) → treat as unrestricted. The route's\n // `requiresAuth`/`requiresPermission` is what gates access in that mode.\n if (!callerAuthorId) {\n return queryAuthorId ? { kind: 'exact', authorId: queryAuthorId } : { kind: 'unrestricted' };\n }\n\n if (queryAuthorId) {\n if (queryAuthorId === callerAuthorId) {\n return { kind: 'exact', authorId: callerAuthorId };\n }\n // Non-owner asking about another user: only that user's public rows are visible.\n return { kind: 'ownedOrPublicOthers', callerAuthorId, queryAuthorId };\n }\n\n return { kind: 'ownedOrPublic', callerAuthorId };\n}\n\n/**\n * Returns `true` if the record is visible to the caller given the resolved\n * filter. See `resolveAuthorFilter` for the filter semantics.\n *\n * Legacy rows with `authorId == null` are treated as public (visible to all).\n */\nexport function matchesAuthorFilter(record: OwnedRecord, filter: AuthorFilter): boolean {\n const owner = record.authorId ?? null;\n const isPublic = record.visibility === 'public';\n\n switch (filter.kind) {\n case 'unrestricted':\n return true;\n case 'exact':\n return owner === filter.authorId;\n case 'ownedOrPublic':\n return owner === null || owner === filter.callerAuthorId || isPublic;\n case 'publicOnly':\n return owner === null || isPublic;\n case 'ownedOrPublicOthers':\n // Filtering by another author's rows: only expose their public ones.\n // Legacy unowned rows match if the query is for `null`; here the query\n // is always for a concrete id, so unowned rows don't match.\n return owner === filter.queryAuthorId && isPublic;\n }\n}\n\n/**\n * Asserts the caller has read access to the record. Throws 404 if not.\n *\n * Read access is granted when:\n * - The record has no owner (legacy/public), OR\n * - The record is marked `visibility: 'public'`, OR\n * - The caller owns the record, OR\n * - The caller has admin bypass (`*`, `<resource>:*`, `<resource>:admin`), OR\n * - The caller holds `<resource>:read` or `<resource>:read:<resourceId>`.\n */\nexport function assertReadAccess(args: {\n requestContext: RequestContext;\n resource: string;\n resourceId?: string;\n record: OwnedRecord;\n}): void {\n const { requestContext, resource, resourceId, record } = args;\n const owner = record.authorId ?? null;\n\n if (owner === null) return;\n if (record.visibility === 'public') return;\n if (hasAdminBypass(requestContext, resource)) return;\n\n const callerAuthorId = getCallerAuthorId(requestContext);\n // No authenticated user on the request context means auth is not configured\n // (single-user/dev mode). When auth IS configured, coreAuthMiddleware\n // rejects unauthenticated requests with 401 before they reach handlers,\n // so an absent user here genuinely means no auth provider.\n if (!callerAuthorId && !requestContext.get(MASTRA_USER_KEY)) return;\n if (callerAuthorId === owner) return;\n\n if (hasScopedPermission({ requestContext, resource, action: 'read', resourceId })) {\n return;\n }\n\n throw new HTTPException(404, { message: 'Not found' });\n}\n\n/**\n * Asserts the caller has execute access to the record. Throws 404 if not.\n *\n * Execute access is granted when:\n * - The record has no owner (legacy/public), OR\n * - The record is marked `visibility: 'public'`, OR\n * - The caller owns the record, OR\n * - The caller has admin bypass (`*`, `<resource>:*`, `<resource>:admin`), OR\n * - The caller holds `<resource>:execute` / `<resource>:execute:<resourceId>`, OR\n * - The caller holds `<resource>:read` / `<resource>:read:<resourceId>`\n * (read implies the ability to consume/chat with the resource).\n */\nexport function assertExecuteAccess(args: {\n requestContext: RequestContext;\n resource: string;\n resourceId?: string;\n record: OwnedRecord;\n}): void {\n const { requestContext, resource, resourceId, record } = args;\n const owner = record.authorId ?? null;\n\n if (owner === null) return;\n if (record.visibility === 'public') return;\n if (hasAdminBypass(requestContext, resource)) return;\n\n const callerAuthorId = getCallerAuthorId(requestContext);\n if (!callerAuthorId && !requestContext.get(MASTRA_USER_KEY)) return; // No auth configured (see assertReadAccess)\n if (callerAuthorId === owner) return;\n\n if (hasScopedPermission({ requestContext, resource, action: 'execute', resourceId })) {\n return;\n }\n if (hasScopedPermission({ requestContext, resource, action: 'read', resourceId })) {\n return;\n }\n\n throw new HTTPException(404, { message: 'Not found' });\n}\n\n/**\n * Asserts the caller has write access (edit or delete) to the record.\n * Throws 404 if not.\n *\n * Write access is granted when:\n * - The record has no owner (legacy), OR\n * - The caller owns the record, OR\n * - The caller has admin bypass, OR\n * - The caller holds `<resource>:<action>` or `<resource>:<action>:<resourceId>`.\n *\n * `visibility: 'public'` alone does NOT grant write access.\n */\nexport function assertWriteAccess(args: {\n requestContext: RequestContext;\n resource: string;\n resourceId?: string;\n action: 'edit' | 'delete' | 'write';\n record: OwnedRecord;\n}): void {\n const { requestContext, resource, resourceId, action, record } = args;\n const owner = record.authorId ?? null;\n\n if (owner === null) return;\n if (hasAdminBypass(requestContext, resource)) return;\n\n const callerAuthorId = getCallerAuthorId(requestContext);\n if (!callerAuthorId && !requestContext.get(MASTRA_USER_KEY)) return; // No auth configured (see assertReadAccess)\n if (callerAuthorId === owner) return;\n\n if (hasScopedPermission({ requestContext, resource, action, resourceId })) {\n return;\n }\n\n throw new HTTPException(404, { message: 'Not found' });\n}\n\n/**\n * Asserts the caller has share access to the record. Throws 404 if not.\n *\n * Share access controls who can change a record's audience/visibility\n * (e.g. flipping `private` ↔ `public`). It is intentionally separate from\n * `write`: a caller with only `<resource>:write` MUST NOT be able to flip\n * visibility — that would let any editor expose private records.\n *\n * Share access is granted when:\n * - The record has no owner (legacy), OR\n * - The caller owns the record (creators can share their own records), OR\n * - The caller has admin bypass (`*`, `<resource>:*`, `<resource>:admin`), OR\n * - The caller holds `<resource>:share` / `<resource>:share:<resourceId>`\n * (or any pattern that matches it, e.g. `*:share`).\n *\n * `visibility: 'public'` does NOT grant share access — being readable doesn't\n * imply the right to change who else can read.\n */\nexport function assertShareAccess(args: {\n requestContext: RequestContext;\n resource: string;\n resourceId?: string;\n record: OwnedRecord;\n}): void {\n const { requestContext, resource, resourceId, record } = args;\n const owner = record.authorId ?? null;\n\n if (owner === null) return;\n if (hasAdminBypass(requestContext, resource)) return;\n\n const callerAuthorId = getCallerAuthorId(requestContext);\n if (!callerAuthorId && !requestContext.get(MASTRA_USER_KEY)) return; // No auth configured (see assertReadAccess)\n if (callerAuthorId === owner) return;\n\n if (hasScopedPermission({ requestContext, resource, action: 'share', resourceId })) {\n return;\n }\n\n throw new HTTPException(404, { message: 'Not found' });\n}\n\n/**\n * Alias for `assertWriteAccess` with `action: 'edit'`. Prefer `assertWriteAccess`\n * in new code so the action is explicit.\n */\nexport function assertOwnership(args: {\n requestContext: RequestContext;\n resource: string;\n resourceId?: string;\n record: OwnedRecord;\n}): void {\n assertWriteAccess({ ...args, action: 'edit' });\n}\n"]}
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
4
- var chunk73MISLDN_cjs = require('./chunk-73MISLDN.cjs');
3
+ var chunkD774EZRN_cjs = require('./chunk-D774EZRN.cjs');
5
4
  var chunkGFP7IMFR_cjs = require('./chunk-GFP7IMFR.cjs');
6
- var chunkAZORAK4H_cjs = require('./chunk-AZORAK4H.cjs');
7
- var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
5
+ var chunk2XZ2466F_cjs = require('./chunk-2XZ2466F.cjs');
6
+ var chunkQZ6UFQ7V_cjs = require('./chunk-QZ6UFQ7V.cjs');
7
+ var chunkYNSUYESL_cjs = require('./chunk-YNSUYESL.cjs');
8
+ var chunkXTFWFQZ7_cjs = require('./chunk-XTFWFQZ7.cjs');
8
9
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
9
10
 
10
11
  // src/server/handlers/agent-versions.ts
@@ -25,18 +26,18 @@ var SNAPSHOT_CONFIG_FIELDS = [
25
26
  "requestContextSchema",
26
27
  "mcpClients"
27
28
  ];
28
- var LIST_AGENT_VERSIONS_ROUTE = chunkAZORAK4H_cjs.createRoute({
29
+ var LIST_AGENT_VERSIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
29
30
  method: "GET",
30
31
  path: "/stored/agents/:agentId/versions",
31
32
  requiresAuth: true,
32
33
  responseType: "json",
33
- pathParamSchema: chunk73MISLDN_cjs.agentVersionPathParams,
34
+ pathParamSchema: chunkD774EZRN_cjs.agentVersionPathParams,
34
35
  queryParamSchema: chunkGFP7IMFR_cjs.listVersionsQuerySchema,
35
- responseSchema: chunk73MISLDN_cjs.listVersionsResponseSchema,
36
+ responseSchema: chunkD774EZRN_cjs.listVersionsResponseSchema,
36
37
  summary: "List agent versions",
37
38
  description: "Returns a paginated list of all versions for a stored agent",
38
39
  tags: ["Agent Versions"],
39
- handler: async ({ mastra, agentId, page, perPage, orderBy }) => {
40
+ handler: async ({ mastra, agentId, page, perPage, orderBy, requestContext }) => {
40
41
  try {
41
42
  const storage = mastra.getStorage();
42
43
  if (!storage) {
@@ -56,6 +57,7 @@ var LIST_AGENT_VERSIONS_ROUTE = chunkAZORAK4H_cjs.createRoute({
56
57
  if (!storedAgent && !codeAgentExists) {
57
58
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
58
59
  }
60
+ chunkQZ6UFQ7V_cjs.assertStoredResourceScope(storedAgent, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
59
61
  const result = await agentsStore.listVersions({
60
62
  agentId,
61
63
  page,
@@ -64,22 +66,22 @@ var LIST_AGENT_VERSIONS_ROUTE = chunkAZORAK4H_cjs.createRoute({
64
66
  });
65
67
  return result;
66
68
  } catch (error) {
67
- return chunkB34S64RC_cjs.handleError(error, "Error listing agent versions");
69
+ return chunkYNSUYESL_cjs.handleError(error, "Error listing agent versions");
68
70
  }
69
71
  }
70
72
  });
71
- var CREATE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
73
+ var CREATE_AGENT_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
72
74
  method: "POST",
73
75
  path: "/stored/agents/:agentId/versions",
74
76
  requiresAuth: true,
75
77
  responseType: "json",
76
- pathParamSchema: chunk73MISLDN_cjs.agentVersionPathParams,
78
+ pathParamSchema: chunkD774EZRN_cjs.agentVersionPathParams,
77
79
  bodySchema: chunkGFP7IMFR_cjs.createVersionBodySchema,
78
- responseSchema: chunk73MISLDN_cjs.createVersionResponseSchema,
80
+ responseSchema: chunkD774EZRN_cjs.createVersionResponseSchema,
79
81
  summary: "Create agent version",
80
82
  description: "Creates a new version snapshot of the current agent configuration",
81
83
  tags: ["Agent Versions"],
82
- handler: async ({ mastra, agentId, changeMessage }) => {
84
+ handler: async ({ mastra, agentId, changeMessage, requestContext }) => {
83
85
  try {
84
86
  const storage = mastra.getStorage();
85
87
  if (!storage) {
@@ -93,6 +95,7 @@ var CREATE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
93
95
  if (!agent) {
94
96
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
95
97
  }
98
+ chunkQZ6UFQ7V_cjs.assertStoredResourceScope(agent, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
96
99
  let currentConfig = {};
97
100
  if (agent.activeVersionId) {
98
101
  const activeVersion = await agentsStore.getVersion(agent.activeVersionId);
@@ -132,21 +135,21 @@ var CREATE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
132
135
  );
133
136
  return version;
134
137
  } catch (error) {
135
- return chunkB34S64RC_cjs.handleError(error, "Error creating agent version");
138
+ return chunkYNSUYESL_cjs.handleError(error, "Error creating agent version");
136
139
  }
137
140
  }
138
141
  });
139
- var GET_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
142
+ var GET_AGENT_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
140
143
  method: "GET",
141
144
  path: "/stored/agents/:agentId/versions/:versionId",
142
145
  requiresAuth: true,
143
146
  responseType: "json",
144
- pathParamSchema: chunk73MISLDN_cjs.versionIdPathParams,
145
- responseSchema: chunk73MISLDN_cjs.getVersionResponseSchema,
147
+ pathParamSchema: chunkD774EZRN_cjs.versionIdPathParams,
148
+ responseSchema: chunkD774EZRN_cjs.getVersionResponseSchema,
146
149
  summary: "Get agent version",
147
150
  description: "Returns a specific version of an agent by its version ID",
148
151
  tags: ["Agent Versions"],
149
- handler: async ({ mastra, agentId, versionId }) => {
152
+ handler: async ({ mastra, agentId, versionId, requestContext }) => {
150
153
  try {
151
154
  const storage = mastra.getStorage();
152
155
  if (!storage) {
@@ -163,23 +166,25 @@ var GET_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
163
166
  if (version.agentId !== agentId) {
164
167
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });
165
168
  }
169
+ const agent = await agentsStore.getById(agentId);
170
+ chunkQZ6UFQ7V_cjs.assertStoredResourceScope(agent, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
166
171
  return version;
167
172
  } catch (error) {
168
- return chunkB34S64RC_cjs.handleError(error, "Error getting agent version");
173
+ return chunkYNSUYESL_cjs.handleError(error, "Error getting agent version");
169
174
  }
170
175
  }
171
176
  });
172
- var ACTIVATE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
177
+ var ACTIVATE_AGENT_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
173
178
  method: "POST",
174
179
  path: "/stored/agents/:agentId/versions/:versionId/activate",
175
180
  requiresAuth: true,
176
181
  responseType: "json",
177
- pathParamSchema: chunk73MISLDN_cjs.versionIdPathParams,
182
+ pathParamSchema: chunkD774EZRN_cjs.versionIdPathParams,
178
183
  responseSchema: chunkGFP7IMFR_cjs.activateVersionResponseSchema,
179
184
  summary: "Activate agent version",
180
185
  description: "Sets a specific version as the active version for the agent",
181
186
  tags: ["Agent Versions"],
182
- handler: async ({ mastra, agentId, versionId }) => {
187
+ handler: async ({ mastra, agentId, versionId, requestContext }) => {
183
188
  try {
184
189
  const storage = mastra.getStorage();
185
190
  if (!storage) {
@@ -193,6 +198,7 @@ var ACTIVATE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
193
198
  if (!agent) {
194
199
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
195
200
  }
201
+ chunkQZ6UFQ7V_cjs.assertStoredResourceScope(agent, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
196
202
  const version = await agentsStore.getVersion(versionId);
197
203
  if (!version) {
198
204
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
@@ -212,21 +218,21 @@ var ACTIVATE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
212
218
  activeVersionId: versionId
213
219
  };
214
220
  } catch (error) {
215
- return chunkB34S64RC_cjs.handleError(error, "Error activating agent version");
221
+ return chunkYNSUYESL_cjs.handleError(error, "Error activating agent version");
216
222
  }
217
223
  }
218
224
  });
219
- var RESTORE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
225
+ var RESTORE_AGENT_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
220
226
  method: "POST",
221
227
  path: "/stored/agents/:agentId/versions/:versionId/restore",
222
228
  requiresAuth: true,
223
229
  responseType: "json",
224
- pathParamSchema: chunk73MISLDN_cjs.versionIdPathParams,
225
- responseSchema: chunk73MISLDN_cjs.restoreVersionResponseSchema,
230
+ pathParamSchema: chunkD774EZRN_cjs.versionIdPathParams,
231
+ responseSchema: chunkD774EZRN_cjs.restoreVersionResponseSchema,
226
232
  summary: "Restore agent version",
227
233
  description: "Restores the agent configuration from a version, creating a new version",
228
234
  tags: ["Agent Versions"],
229
- handler: async ({ mastra, agentId, versionId }) => {
235
+ handler: async ({ mastra, agentId, versionId, requestContext }) => {
230
236
  try {
231
237
  const storage = mastra.getStorage();
232
238
  if (!storage) {
@@ -240,6 +246,7 @@ var RESTORE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
240
246
  if (!agent) {
241
247
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
242
248
  }
249
+ chunkQZ6UFQ7V_cjs.assertStoredResourceScope(agent, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
243
250
  const versionToRestore = await agentsStore.getVersion(versionId);
244
251
  if (!versionToRestore) {
245
252
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
@@ -281,21 +288,21 @@ var RESTORE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
281
288
  mastra.getEditor()?.agent.clearCache(agentId);
282
289
  return newVersion;
283
290
  } catch (error) {
284
- return chunkB34S64RC_cjs.handleError(error, "Error restoring agent version");
291
+ return chunkYNSUYESL_cjs.handleError(error, "Error restoring agent version");
285
292
  }
286
293
  }
287
294
  });
288
- var DELETE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
295
+ var DELETE_AGENT_VERSION_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
289
296
  method: "DELETE",
290
297
  path: "/stored/agents/:agentId/versions/:versionId",
291
298
  requiresAuth: true,
292
299
  responseType: "json",
293
- pathParamSchema: chunk73MISLDN_cjs.versionIdPathParams,
300
+ pathParamSchema: chunkD774EZRN_cjs.versionIdPathParams,
294
301
  responseSchema: chunkGFP7IMFR_cjs.deleteVersionResponseSchema,
295
302
  summary: "Delete agent version",
296
303
  description: "Deletes a specific version (cannot delete the active version)",
297
304
  tags: ["Agent Versions"],
298
- handler: async ({ mastra, agentId, versionId }) => {
305
+ handler: async ({ mastra, agentId, versionId, requestContext }) => {
299
306
  try {
300
307
  const storage = mastra.getStorage();
301
308
  if (!storage) {
@@ -309,6 +316,7 @@ var DELETE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
309
316
  if (!agent) {
310
317
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent with id ${agentId} not found` });
311
318
  }
319
+ chunkQZ6UFQ7V_cjs.assertStoredResourceScope(agent, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
312
320
  const version = await agentsStore.getVersion(versionId);
313
321
  if (!version) {
314
322
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${versionId} not found` });
@@ -328,22 +336,22 @@ var DELETE_AGENT_VERSION_ROUTE = chunkAZORAK4H_cjs.createRoute({
328
336
  message: `Version ${version.versionNumber} deleted successfully`
329
337
  };
330
338
  } catch (error) {
331
- return chunkB34S64RC_cjs.handleError(error, "Error deleting agent version");
339
+ return chunkYNSUYESL_cjs.handleError(error, "Error deleting agent version");
332
340
  }
333
341
  }
334
342
  });
335
- var COMPARE_AGENT_VERSIONS_ROUTE = chunkAZORAK4H_cjs.createRoute({
343
+ var COMPARE_AGENT_VERSIONS_ROUTE = chunkXTFWFQZ7_cjs.createRoute({
336
344
  method: "GET",
337
345
  path: "/stored/agents/:agentId/versions/compare",
338
346
  requiresAuth: true,
339
347
  responseType: "json",
340
- pathParamSchema: chunk73MISLDN_cjs.agentVersionPathParams,
348
+ pathParamSchema: chunkD774EZRN_cjs.agentVersionPathParams,
341
349
  queryParamSchema: chunkGFP7IMFR_cjs.compareVersionsQuerySchema,
342
- responseSchema: chunk73MISLDN_cjs.compareVersionsResponseSchema,
350
+ responseSchema: chunkD774EZRN_cjs.compareVersionsResponseSchema,
343
351
  summary: "Compare agent versions",
344
352
  description: "Compares two versions and returns the differences between them",
345
353
  tags: ["Agent Versions"],
346
- handler: async ({ mastra, agentId, from, to }) => {
354
+ handler: async ({ mastra, agentId, from, to, requestContext }) => {
347
355
  try {
348
356
  const storage = mastra.getStorage();
349
357
  if (!storage) {
@@ -353,6 +361,8 @@ var COMPARE_AGENT_VERSIONS_ROUTE = chunkAZORAK4H_cjs.createRoute({
353
361
  if (!agentsStore) {
354
362
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Agents storage domain is not available" });
355
363
  }
364
+ const agent = await agentsStore.getById(agentId);
365
+ chunkQZ6UFQ7V_cjs.assertStoredResourceScope(agent, await chunkQZ6UFQ7V_cjs.getStoredResourceScope(mastra, requestContext));
356
366
  const fromVersion = await agentsStore.getVersion(from);
357
367
  if (!fromVersion) {
358
368
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Version with id ${from} not found` });
@@ -382,7 +392,7 @@ var COMPARE_AGENT_VERSIONS_ROUTE = chunkAZORAK4H_cjs.createRoute({
382
392
  toVersion
383
393
  };
384
394
  } catch (error) {
385
- return chunkB34S64RC_cjs.handleError(error, "Error comparing agent versions");
395
+ return chunkYNSUYESL_cjs.handleError(error, "Error comparing agent versions");
386
396
  }
387
397
  }
388
398
  });
@@ -394,5 +404,5 @@ exports.DELETE_AGENT_VERSION_ROUTE = DELETE_AGENT_VERSION_ROUTE;
394
404
  exports.GET_AGENT_VERSION_ROUTE = GET_AGENT_VERSION_ROUTE;
395
405
  exports.LIST_AGENT_VERSIONS_ROUTE = LIST_AGENT_VERSIONS_ROUTE;
396
406
  exports.RESTORE_AGENT_VERSION_ROUTE = RESTORE_AGENT_VERSION_ROUTE;
397
- //# sourceMappingURL=chunk-QTPAVOG2.cjs.map
398
- //# sourceMappingURL=chunk-QTPAVOG2.cjs.map
407
+ //# sourceMappingURL=chunk-WLGC3IWY.cjs.map
408
+ //# sourceMappingURL=chunk-WLGC3IWY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/agent-versions.ts"],"names":["createRoute","agentVersionPathParams","listVersionsQuerySchema","listVersionsResponseSchema","HTTPException","assertStoredResourceScope","getStoredResourceScope","handleError","createVersionBodySchema","createVersionResponseSchema","extractConfigFromVersion","calculateChangedFields","createVersionWithRetry","enforceRetentionLimit","versionIdPathParams","getVersionResponseSchema","activateVersionResponseSchema","restoreVersionResponseSchema","deleteVersionResponseSchema","compareVersionsQuerySchema","compareVersionsResponseSchema","computeVersionDiffs"],"mappings":"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","file":"chunk-WLGC3IWY.cjs","sourcesContent":["import type { z } from 'zod/v4';\n\nimport { HTTPException } from '../http-exception';\nimport {\n agentVersionPathParams,\n versionIdPathParams,\n listVersionsQuerySchema,\n createVersionBodySchema,\n compareVersionsQuerySchema,\n listVersionsResponseSchema,\n getVersionResponseSchema,\n createVersionResponseSchema,\n activateVersionResponseSchema,\n restoreVersionResponseSchema,\n deleteVersionResponseSchema,\n compareVersionsResponseSchema,\n} from '../schemas/agent-versions';\nimport type { ServerRoute, RouteSchemas, InferParams } from '../server-adapter/routes';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { assertStoredResourceScope, getStoredResourceScope } from '../utils';\n\nimport { handleError } from './error';\nimport {\n extractConfigFromVersion,\n calculateChangedFields,\n computeVersionDiffs,\n createVersionWithRetry,\n enforceRetentionLimit,\n} from './version-helpers';\nimport type { VersionedStoreInterface } from './version-helpers';\n\n/**\n * The config field names that live on version rows (StorageAgentSnapshotType fields).\n * Used to extract config from a version record for comparison and restoration.\n */\nconst SNAPSHOT_CONFIG_FIELDS = [\n 'name',\n 'description',\n 'instructions',\n 'model',\n 'tools',\n 'defaultOptions',\n 'workflows',\n 'agents',\n 'integrationTools',\n 'inputProcessors',\n 'outputProcessors',\n 'memory',\n 'scorers',\n 'requestContextSchema',\n 'mcpClients',\n] as const;\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /stored/agents/:agentId/versions - List all versions for an agent\n */\nexport const LIST_AGENT_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n queryParamSchema: listVersionsQuerySchema,\n responseSchema: listVersionsResponseSchema,\n summary: 'List agent versions',\n description: 'Returns a paginated list of all versions for a stored agent',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, page, perPage, orderBy, requestContext }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists in code or storage\n const storedAgent = await agentsStore.getById(agentId);\n let codeAgentExists = false;\n try {\n mastra.getAgentById(agentId);\n codeAgentExists = true;\n } catch {\n // Agent not registered in code\n }\n\n if (!storedAgent && !codeAgentExists) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(storedAgent, await getStoredResourceScope(mastra, requestContext));\n\n const result = await agentsStore.listVersions({\n agentId,\n page,\n perPage,\n orderBy,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error listing agent versions');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions - Create a new version snapshot\n */\nexport const CREATE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n bodySchema: createVersionBodySchema,\n responseSchema: createVersionResponseSchema,\n summary: 'Create agent version',\n description: 'Creates a new version snapshot of the current agent configuration',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, changeMessage, requestContext }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Get the current agent to find its active version\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get the current active version to snapshot its config\n let currentConfig: Record<string, unknown> = {};\n if (agent.activeVersionId) {\n const activeVersion = await agentsStore.getVersion(agent.activeVersionId);\n if (activeVersion) {\n currentConfig = extractConfigFromVersion(\n activeVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n }\n }\n\n // Get the latest version to calculate changed fields\n const latestVersion = await agentsStore.getLatestVersion(agentId);\n\n // If no activeVersionId, fall back to latest version config\n if (!agent.activeVersionId && latestVersion) {\n currentConfig = extractConfigFromVersion(\n latestVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n }\n const previousConfig = latestVersion\n ? extractConfigFromVersion(latestVersion as unknown as Record<string, unknown>, SNAPSHOT_CONFIG_FIELDS)\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, currentConfig);\n\n // Create the new version with retry logic to handle race conditions\n // Config fields are passed top-level\n const { versionId } = await createVersionWithRetry(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n currentConfig,\n changedFields,\n { changeMessage },\n );\n\n // Get the created version to return\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n // Enforce retention limit - delete oldest versions if we exceed the max\n await enforceRetentionLimit(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n agent.activeVersionId,\n );\n\n return version;\n } catch (error) {\n return handleError(error, 'Error creating agent version');\n }\n },\n});\n\n/**\n * GET /stored/agents/:agentId/versions/:versionId - Get a specific version\n */\nexport const GET_AGENT_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: getVersionResponseSchema,\n summary: 'Get agent version',\n description: 'Returns a specific version of an agent by its version ID',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n const version = await agentsStore.getVersion(versionId);\n\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n\n // Verify the version belongs to the specified agent\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n const agent = await agentsStore.getById(agentId);\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n return version;\n } catch (error) {\n return handleError(error, 'Error getting agent version');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions/:versionId/activate - Set a version as active\n */\nexport const ACTIVATE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions/:versionId/activate',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: activateVersionResponseSchema,\n summary: 'Activate agent version',\n description: 'Sets a specific version as the active version for the agent',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Verify version exists and belongs to this agent\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Update the agent's activeVersionId AND status to 'published'\n await agentsStore.update({\n id: agentId,\n activeVersionId: versionId,\n status: 'published',\n });\n\n // Clear the editor cache so subsequent requests see the new active version\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} is now active`,\n activeVersionId: versionId,\n };\n } catch (error) {\n return handleError(error, 'Error activating agent version');\n }\n },\n});\n\n/**\n * POST /stored/agents/:agentId/versions/:versionId/restore - Restore agent to a version\n */\nexport const RESTORE_AGENT_VERSION_ROUTE = createRoute({\n method: 'POST',\n path: '/stored/agents/:agentId/versions/:versionId/restore',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: restoreVersionResponseSchema,\n summary: 'Restore agent version',\n description: 'Restores the agent configuration from a version, creating a new version',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get the version to restore\n const versionToRestore = await agentsStore.getVersion(versionId);\n if (!versionToRestore) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (versionToRestore.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Extract the config fields from the version to restore (top-level, no .snapshot)\n const restoredConfig = extractConfigFromVersion(\n versionToRestore as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n\n // Update the agent with the config from the version to restore\n await agentsStore.update({\n id: agentId,\n ...restoredConfig,\n });\n\n // Get the latest version to calculate changed fields\n const latestVersion = await agentsStore.getLatestVersion(agentId);\n const previousConfig = latestVersion\n ? extractConfigFromVersion(latestVersion as unknown as Record<string, unknown>, SNAPSHOT_CONFIG_FIELDS)\n : null;\n\n const changedFields = calculateChangedFields(previousConfig, restoredConfig);\n\n // Create a new version with retry logic to handle race conditions\n // Config fields are passed top-level\n const { versionId: newVersionId } = await createVersionWithRetry(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n restoredConfig,\n changedFields,\n {\n changeMessage: `Restored from version ${versionToRestore.versionNumber}`,\n },\n );\n\n // Do NOT auto-activate the restored version - user must explicitly activate it\n\n // Get the created version to return\n const newVersion = await agentsStore.getVersion(newVersionId);\n if (!newVersion) {\n throw new HTTPException(500, { message: 'Failed to retrieve created version' });\n }\n\n // Enforce retention limit - delete oldest versions if we exceed the max\n // Use the agent's existing activeVersionId\n await enforceRetentionLimit(\n agentsStore as unknown as VersionedStoreInterface,\n agentId,\n 'agentId',\n agent.activeVersionId,\n );\n\n // Clear the editor cache so subsequent requests see the restored config\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return newVersion;\n } catch (error) {\n return handleError(error, 'Error restoring agent version');\n }\n },\n});\n\n/**\n * DELETE /stored/agents/:agentId/versions/:versionId - Delete a version\n */\nexport const DELETE_AGENT_VERSION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/stored/agents/:agentId/versions/:versionId',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: versionIdPathParams,\n responseSchema: deleteVersionResponseSchema,\n summary: 'Delete agent version',\n description: 'Deletes a specific version (cannot delete the active version)',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, versionId, requestContext }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n\n // Verify agent exists\n const agent = await agentsStore.getById(agentId);\n if (!agent) {\n throw new HTTPException(404, { message: `Agent with id ${agentId} not found` });\n }\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Verify version exists and belongs to this agent\n const version = await agentsStore.getVersion(versionId);\n if (!version) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found` });\n }\n if (version.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${versionId} not found for agent ${agentId}` });\n }\n\n // Check if this is the active version\n if (agent.activeVersionId === versionId) {\n throw new HTTPException(400, {\n message: 'Cannot delete the active version. Activate a different version first.',\n });\n }\n\n await agentsStore.deleteVersion(versionId);\n\n // Clear the editor cache in case the deleted version affected resolution\n mastra.getEditor()?.agent.clearCache(agentId);\n\n return {\n success: true,\n message: `Version ${version.versionNumber} deleted successfully`,\n };\n } catch (error) {\n return handleError(error, 'Error deleting agent version');\n }\n },\n});\n\n/**\n * GET /stored/agents/:agentId/versions/compare - Compare two versions\n */\nexport const COMPARE_AGENT_VERSIONS_ROUTE: ServerRoute<\n InferParams<typeof agentVersionPathParams, typeof compareVersionsQuerySchema, undefined>,\n z.infer<typeof compareVersionsResponseSchema>,\n 'json',\n RouteSchemas<\n typeof agentVersionPathParams,\n typeof compareVersionsQuerySchema,\n undefined,\n typeof compareVersionsResponseSchema\n >,\n 'GET',\n '/stored/agents/:agentId/versions/compare'\n> = createRoute({\n method: 'GET',\n path: '/stored/agents/:agentId/versions/compare',\n requiresAuth: true,\n responseType: 'json',\n pathParamSchema: agentVersionPathParams,\n queryParamSchema: compareVersionsQuerySchema,\n responseSchema: compareVersionsResponseSchema,\n summary: 'Compare agent versions',\n description: 'Compares two versions and returns the differences between them',\n tags: ['Agent Versions'],\n handler: async ({ mastra, agentId, from, to, requestContext }) => {\n try {\n const storage = mastra.getStorage();\n\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not configured' });\n }\n\n const agentsStore = await storage.getStore('agents');\n if (!agentsStore) {\n throw new HTTPException(500, { message: 'Agents storage domain is not available' });\n }\n const agent = await agentsStore.getById(agentId);\n assertStoredResourceScope(agent, await getStoredResourceScope(mastra, requestContext));\n\n // Get both versions\n const fromVersion = await agentsStore.getVersion(from);\n if (!fromVersion) {\n throw new HTTPException(404, { message: `Version with id ${from} not found` });\n }\n if (fromVersion.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${from} not found for agent ${agentId}` });\n }\n\n const toVersion = await agentsStore.getVersion(to);\n if (!toVersion) {\n throw new HTTPException(404, { message: `Version with id ${to} not found` });\n }\n if (toVersion.agentId !== agentId) {\n throw new HTTPException(404, { message: `Version with id ${to} not found for agent ${agentId}` });\n }\n\n // Extract config fields from both versions (top-level, no .snapshot)\n const fromConfig = extractConfigFromVersion(\n fromVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n const toConfig = extractConfigFromVersion(\n toVersion as unknown as Record<string, unknown>,\n SNAPSHOT_CONFIG_FIELDS,\n );\n\n // Compute diffs on the config fields\n const diffs = computeVersionDiffs(fromConfig, toConfig);\n\n return {\n diffs,\n fromVersion,\n toVersion,\n };\n } catch (error) {\n return handleError(error, 'Error comparing agent versions');\n }\n },\n});\n"]}