@mastra/server 1.16.0-alpha.1 → 1.16.0-alpha.3

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 (543) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +212 -21
  3. package/dist/chunk-22JIX4IH.cjs +66 -0
  4. package/dist/chunk-22JIX4IH.cjs.map +1 -0
  5. package/dist/chunk-24YYB3J7.cjs +40 -0
  6. package/dist/chunk-24YYB3J7.cjs.map +1 -0
  7. package/dist/{chunk-LW2FKUW5.js → chunk-2BRN4DAE.js} +4 -4
  8. package/dist/chunk-2BRN4DAE.js.map +1 -0
  9. package/dist/chunk-2U535WWQ.cjs +57 -0
  10. package/dist/chunk-2U535WWQ.cjs.map +1 -0
  11. package/dist/chunk-37G66LYP.cjs +65 -0
  12. package/dist/chunk-37G66LYP.cjs.map +1 -0
  13. package/dist/{chunk-E4RLL73F.cjs → chunk-37LAVKFO.cjs} +33 -33
  14. package/dist/{chunk-E4RLL73F.cjs.map → chunk-37LAVKFO.cjs.map} +1 -1
  15. package/dist/{chunk-LG2MUCSW.cjs → chunk-3BRCE7JC.cjs} +32 -32
  16. package/dist/{chunk-LG2MUCSW.cjs.map → chunk-3BRCE7JC.cjs.map} +1 -1
  17. package/dist/{chunk-PNJPBMSY.js → chunk-3SVFRICR.js} +3 -3
  18. package/dist/chunk-3SVFRICR.js.map +1 -0
  19. package/dist/{chunk-7KSSSSLW.cjs → chunk-3W54ZNYP.cjs} +133 -133
  20. package/dist/{chunk-7KSSSSLW.cjs.map → chunk-3W54ZNYP.cjs.map} +1 -1
  21. package/dist/{chunk-MJTEQGJT.cjs → chunk-457RSMZH.cjs} +59 -18
  22. package/dist/chunk-457RSMZH.cjs.map +1 -0
  23. package/dist/{chunk-CSSSPADR.js → chunk-4D7KSU4X.js} +7 -7
  24. package/dist/chunk-4D7KSU4X.js.map +1 -0
  25. package/dist/{chunk-4ZHENCAC.cjs → chunk-4G5KVXN6.cjs} +37 -37
  26. package/dist/{chunk-4ZHENCAC.cjs.map → chunk-4G5KVXN6.cjs.map} +1 -1
  27. package/dist/{chunk-X7USLRKI.js → chunk-4NRXB7VI.js} +6 -6
  28. package/dist/{chunk-X7USLRKI.js.map → chunk-4NRXB7VI.js.map} +1 -1
  29. package/dist/chunk-4OM2A5ZZ.cjs +377 -0
  30. package/dist/chunk-4OM2A5ZZ.cjs.map +1 -0
  31. package/dist/chunk-4P237WJB.cjs +77 -0
  32. package/dist/chunk-4P237WJB.cjs.map +1 -0
  33. package/dist/chunk-4Y4RMTIA.cjs +387 -0
  34. package/dist/chunk-4Y4RMTIA.cjs.map +1 -0
  35. package/dist/{chunk-P63CP2ZR.js → chunk-5GXB4IME.js} +5 -5
  36. package/dist/{chunk-P63CP2ZR.js.map → chunk-5GXB4IME.js.map} +1 -1
  37. package/dist/chunk-5JWVKCGZ.cjs +85 -0
  38. package/dist/chunk-5JWVKCGZ.cjs.map +1 -0
  39. package/dist/chunk-5XEAWQRZ.cjs +86 -0
  40. package/dist/chunk-5XEAWQRZ.cjs.map +1 -0
  41. package/dist/chunk-67F5GKI5.cjs +38 -0
  42. package/dist/chunk-67F5GKI5.cjs.map +1 -0
  43. package/dist/chunk-6BHM6ZJR.cjs +28 -0
  44. package/dist/chunk-6BHM6ZJR.cjs.map +1 -0
  45. package/dist/chunk-6N5NDQVM.cjs +130 -0
  46. package/dist/chunk-6N5NDQVM.cjs.map +1 -0
  47. package/dist/{chunk-Y452XTPZ.js → chunk-6QBPL7ME.js} +6 -6
  48. package/dist/chunk-6QBPL7ME.js.map +1 -0
  49. package/dist/chunk-7C2R3QNO.cjs +103 -0
  50. package/dist/chunk-7C2R3QNO.cjs.map +1 -0
  51. package/dist/{chunk-B4YTCF2Y.js → chunk-7DAVYYZ6.js} +5 -5
  52. package/dist/{chunk-B4YTCF2Y.js.map → chunk-7DAVYYZ6.js.map} +1 -1
  53. package/dist/{chunk-W7I2JHCT.js → chunk-7TESOQZ3.js} +5 -5
  54. package/dist/{chunk-W7I2JHCT.js.map → chunk-7TESOQZ3.js.map} +1 -1
  55. package/dist/{chunk-II6TN6MR.js → chunk-7X4P2I6L.js} +4 -4
  56. package/dist/chunk-7X4P2I6L.js.map +1 -0
  57. package/dist/{chunk-7WP6LX5N.js → chunk-7ZHBGYZB.js} +5 -5
  58. package/dist/{chunk-7WP6LX5N.js.map → chunk-7ZHBGYZB.js.map} +1 -1
  59. package/dist/{chunk-5OJTF4BH.cjs → chunk-A5J2TY2W.cjs} +18 -18
  60. package/dist/{chunk-5OJTF4BH.cjs.map → chunk-A5J2TY2W.cjs.map} +1 -1
  61. package/dist/{chunk-OP626LZY.js → chunk-ACC4X5V6.js} +6 -6
  62. package/dist/chunk-ACC4X5V6.js.map +1 -0
  63. package/dist/{chunk-IWH4OW2X.js → chunk-ATZ7V3XS.js} +7 -7
  64. package/dist/chunk-ATZ7V3XS.js.map +1 -0
  65. package/dist/{chunk-Y2BKW5ND.cjs → chunk-B34S64RC.cjs} +2 -2
  66. package/dist/chunk-B34S64RC.cjs.map +1 -0
  67. package/dist/{chunk-CCEVYU3X.js → chunk-B5KNWY2P.js} +5 -5
  68. package/dist/{chunk-CCEVYU3X.js.map → chunk-B5KNWY2P.js.map} +1 -1
  69. package/dist/{chunk-HMUJSYUR.js → chunk-BAD2NWEJ.js} +4 -4
  70. package/dist/chunk-BAD2NWEJ.js.map +1 -0
  71. package/dist/{chunk-BTRFBBRF.js → chunk-BWUKBT7Z.js} +5 -5
  72. package/dist/chunk-BWUKBT7Z.js.map +1 -0
  73. package/dist/{chunk-5A232FX3.js → chunk-CZUJUB46.js} +15 -6
  74. package/dist/chunk-CZUJUB46.js.map +1 -0
  75. package/dist/chunk-DCWP744F.cjs +84 -0
  76. package/dist/chunk-DCWP744F.cjs.map +1 -0
  77. package/dist/chunk-DOHUOYZS.cjs +25 -0
  78. package/dist/chunk-DOHUOYZS.cjs.map +1 -0
  79. package/dist/{chunk-CLXK74N7.js → chunk-E56FRMZY.js} +5 -5
  80. package/dist/{chunk-CLXK74N7.js.map → chunk-E56FRMZY.js.map} +1 -1
  81. package/dist/chunk-E63CFDUE.cjs +113 -0
  82. package/dist/chunk-E63CFDUE.cjs.map +1 -0
  83. package/dist/{chunk-I4THGZHE.js → chunk-ECEYFPVI.js} +4 -4
  84. package/dist/chunk-ECEYFPVI.js.map +1 -0
  85. package/dist/chunk-EES2ZZGL.cjs +91 -0
  86. package/dist/chunk-EES2ZZGL.cjs.map +1 -0
  87. package/dist/{chunk-YJLDMFSE.cjs → chunk-EGSCXVMR.cjs} +15 -69
  88. package/dist/chunk-EGSCXVMR.cjs.map +1 -0
  89. package/dist/{chunk-UQALKED3.js → chunk-FB5NRM2M.js} +5 -5
  90. package/dist/{chunk-UQALKED3.js.map → chunk-FB5NRM2M.js.map} +1 -1
  91. package/dist/{chunk-VO6UDRJS.cjs → chunk-FPEX6KOJ.cjs} +151 -148
  92. package/dist/chunk-FPEX6KOJ.cjs.map +1 -0
  93. package/dist/{chunk-6QUGCOP5.js → chunk-FU5Z5NSF.js} +6 -6
  94. package/dist/{chunk-6QUGCOP5.js.map → chunk-FU5Z5NSF.js.map} +1 -1
  95. package/dist/{chunk-PONEV4T5.js → chunk-G2S6L4IR.js} +5 -5
  96. package/dist/chunk-G2S6L4IR.js.map +1 -0
  97. package/dist/{chunk-OH2TKHUS.js → chunk-G2ZZKKQI.js} +9 -9
  98. package/dist/{chunk-OH2TKHUS.js.map → chunk-G2ZZKKQI.js.map} +1 -1
  99. package/dist/{chunk-WCZPCP3F.cjs → chunk-G5KXPZUB.cjs} +21 -21
  100. package/dist/{chunk-WCZPCP3F.cjs.map → chunk-G5KXPZUB.cjs.map} +1 -1
  101. package/dist/{chunk-UYAZFEAW.js → chunk-GF42M6A3.js} +69 -38
  102. package/dist/chunk-GF42M6A3.js.map +1 -0
  103. package/dist/chunk-GVZ7VB33.cjs +47 -0
  104. package/dist/chunk-GVZ7VB33.cjs.map +1 -0
  105. package/dist/{chunk-6INBDRFJ.js → chunk-GYD5JBBZ.js} +5 -5
  106. package/dist/{chunk-6INBDRFJ.js.map → chunk-GYD5JBBZ.js.map} +1 -1
  107. package/dist/{chunk-4H646L2Z.cjs → chunk-H6ZLN6EU.cjs} +45 -45
  108. package/dist/{chunk-4H646L2Z.cjs.map → chunk-H6ZLN6EU.cjs.map} +1 -1
  109. package/dist/{chunk-3CUUB624.cjs → chunk-HBMIUVV4.cjs} +36 -36
  110. package/dist/{chunk-3CUUB624.cjs.map → chunk-HBMIUVV4.cjs.map} +1 -1
  111. package/dist/{chunk-NLMVQMCR.js → chunk-HDHGRTUS.js} +3 -3
  112. package/dist/chunk-HDHGRTUS.js.map +1 -0
  113. package/dist/chunk-HGEHQKAH.cjs +61 -0
  114. package/dist/chunk-HGEHQKAH.cjs.map +1 -0
  115. package/dist/{chunk-L4VJYJCY.js → chunk-HI5EDX3F.js} +6 -6
  116. package/dist/chunk-HI5EDX3F.js.map +1 -0
  117. package/dist/chunk-HITLRKIU.cjs +191 -0
  118. package/dist/chunk-HITLRKIU.cjs.map +1 -0
  119. package/dist/chunk-HXICAUTW.cjs +390 -0
  120. package/dist/chunk-HXICAUTW.cjs.map +1 -0
  121. package/dist/{chunk-JTAGYRQP.js → chunk-JA4UAHWP.js} +3 -3
  122. package/dist/chunk-JA4UAHWP.js.map +1 -0
  123. package/dist/{chunk-JLIHQAX7.cjs → chunk-JH576GTI.cjs} +37 -37
  124. package/dist/chunk-JH576GTI.cjs.map +1 -0
  125. package/dist/{chunk-R344LGXP.js → chunk-JL6JURL5.js} +7 -7
  126. package/dist/{chunk-R344LGXP.js.map → chunk-JL6JURL5.js.map} +1 -1
  127. package/dist/{chunk-2AUSWWKT.js → chunk-JSED6H32.js} +4 -4
  128. package/dist/chunk-JSED6H32.js.map +1 -0
  129. package/dist/{chunk-KKFLSWNW.js → chunk-K6RNBFGH.js} +7 -7
  130. package/dist/{chunk-KKFLSWNW.js.map → chunk-K6RNBFGH.js.map} +1 -1
  131. package/dist/{chunk-BWTGKLXJ.cjs → chunk-KAWEDYGS.cjs} +27 -27
  132. package/dist/{chunk-BWTGKLXJ.cjs.map → chunk-KAWEDYGS.cjs.map} +1 -1
  133. package/dist/{chunk-TJIN7OPG.js → chunk-KKQMEJOK.js} +4 -4
  134. package/dist/chunk-KKQMEJOK.js.map +1 -0
  135. package/dist/{chunk-H4AABNBB.js → chunk-KO2V7HRR.js} +4 -4
  136. package/dist/chunk-KO2V7HRR.js.map +1 -0
  137. package/dist/{chunk-IB2ZR7T7.js → chunk-M6AQTASN.js} +5 -5
  138. package/dist/{chunk-IB2ZR7T7.js.map → chunk-M6AQTASN.js.map} +1 -1
  139. package/dist/{chunk-HRVCVRIR.js → chunk-MH2WUZWZ.js} +7 -7
  140. package/dist/{chunk-HRVCVRIR.js.map → chunk-MH2WUZWZ.js.map} +1 -1
  141. package/dist/{chunk-YIVUIIWJ.js → chunk-MKW43AJ3.js} +7 -7
  142. package/dist/{chunk-YIVUIIWJ.js.map → chunk-MKW43AJ3.js.map} +1 -1
  143. package/dist/{chunk-IGZADYRV.cjs → chunk-MNEANLCY.cjs} +22 -22
  144. package/dist/{chunk-IGZADYRV.cjs.map → chunk-MNEANLCY.cjs.map} +1 -1
  145. package/dist/{chunk-RFO7PBA6.js → chunk-MROITNSM.js} +4 -4
  146. package/dist/chunk-MROITNSM.js.map +1 -0
  147. package/dist/chunk-MUOB33WV.cjs +107 -0
  148. package/dist/chunk-MUOB33WV.cjs.map +1 -0
  149. package/dist/{chunk-G4FSJJAS.cjs → chunk-NCCK5NVX.cjs} +30 -30
  150. package/dist/{chunk-G4FSJJAS.cjs.map → chunk-NCCK5NVX.cjs.map} +1 -1
  151. package/dist/{chunk-QB3ZGAO4.js → chunk-NIKW5NHG.js} +3 -3
  152. package/dist/chunk-NIKW5NHG.js.map +1 -0
  153. package/dist/{chunk-5BBO2RHV.js → chunk-NMS2SC2B.js} +14 -67
  154. package/dist/chunk-NMS2SC2B.js.map +1 -0
  155. package/dist/{chunk-LPLSDJEE.cjs → chunk-NOBDUHIG.cjs} +28 -28
  156. package/dist/{chunk-LPLSDJEE.cjs.map → chunk-NOBDUHIG.cjs.map} +1 -1
  157. package/dist/{chunk-7NDOPT3W.js → chunk-NWS4QRE6.js} +5 -5
  158. package/dist/chunk-NWS4QRE6.js.map +1 -0
  159. package/dist/{chunk-VD26CDFT.js → chunk-OXE6JN54.js} +6 -6
  160. package/dist/{chunk-VD26CDFT.js.map → chunk-OXE6JN54.js.map} +1 -1
  161. package/dist/{chunk-NA7LKQPZ.js → chunk-P23KBWKB.js} +2 -2
  162. package/dist/chunk-P23KBWKB.js.map +1 -0
  163. package/dist/chunk-PFKYMKIH.cjs +58 -0
  164. package/dist/chunk-PFKYMKIH.cjs.map +1 -0
  165. package/dist/{chunk-FYO3ZHLO.js → chunk-PIORYI6S.js} +4 -4
  166. package/dist/chunk-PIORYI6S.js.map +1 -0
  167. package/dist/chunk-QGYUGVXG.cjs +312 -0
  168. package/dist/chunk-QGYUGVXG.cjs.map +1 -0
  169. package/dist/{chunk-4AUZJETY.js → chunk-QJZOWORS.js} +6 -6
  170. package/dist/{chunk-4AUZJETY.js.map → chunk-QJZOWORS.js.map} +1 -1
  171. package/dist/chunk-QKOLB27L.cjs +79 -0
  172. package/dist/chunk-QKOLB27L.cjs.map +1 -0
  173. package/dist/{chunk-2ERW3HSX.js → chunk-QRCL3KIX.js} +5 -5
  174. package/dist/chunk-QRCL3KIX.js.map +1 -0
  175. package/dist/{chunk-BOIOGPBE.js → chunk-R6LBCSVW.js} +4 -4
  176. package/dist/{chunk-BOIOGPBE.js.map → chunk-R6LBCSVW.js.map} +1 -1
  177. package/dist/{chunk-APJA4LIB.js → chunk-RA52MKCE.js} +4 -4
  178. package/dist/chunk-RA52MKCE.js.map +1 -0
  179. package/dist/{chunk-TZTKWB74.js → chunk-RGI5IQDO.js} +3 -3
  180. package/dist/{chunk-TZTKWB74.js.map → chunk-RGI5IQDO.js.map} +1 -1
  181. package/dist/{chunk-QIP5UCDX.js → chunk-RW62AXQH.js} +6 -4
  182. package/dist/chunk-RW62AXQH.js.map +1 -0
  183. package/dist/{chunk-USZD5AX2.js → chunk-S2QK2XG2.js} +3 -3
  184. package/dist/chunk-S2QK2XG2.js.map +1 -0
  185. package/dist/{chunk-V7DWWIJ6.js → chunk-S7PYDU5I.js} +4 -4
  186. package/dist/chunk-S7PYDU5I.js.map +1 -0
  187. package/dist/{chunk-KLGVHICT.js → chunk-SCHPGBMK.js} +8 -8
  188. package/dist/{chunk-KLGVHICT.js.map → chunk-SCHPGBMK.js.map} +1 -1
  189. package/dist/{chunk-HMJCSYZW.cjs → chunk-SEMV475G.cjs} +12 -12
  190. package/dist/{chunk-HMJCSYZW.cjs.map → chunk-SEMV475G.cjs.map} +1 -1
  191. package/dist/{chunk-AUPN3AM6.js → chunk-SJOVDYRT.js} +3 -3
  192. package/dist/chunk-SJOVDYRT.js.map +1 -0
  193. package/dist/chunk-TKEJJLHK.js +281 -0
  194. package/dist/chunk-TKEJJLHK.js.map +1 -0
  195. package/dist/{chunk-7XBOJMBD.js → chunk-TKP6FJQ3.js} +3 -3
  196. package/dist/chunk-TKP6FJQ3.js.map +1 -0
  197. package/dist/{chunk-DVOXGNVI.js → chunk-TVGJFK3J.js} +12 -12
  198. package/dist/{chunk-DVOXGNVI.js.map → chunk-TVGJFK3J.js.map} +1 -1
  199. package/dist/{chunk-RRQAOK3A.cjs → chunk-TYYGY4H4.cjs} +34 -34
  200. package/dist/chunk-TYYGY4H4.cjs.map +1 -0
  201. package/dist/{chunk-WQCIZSIK.cjs → chunk-UFK5THVP.cjs} +30 -30
  202. package/dist/{chunk-WQCIZSIK.cjs.map → chunk-UFK5THVP.cjs.map} +1 -1
  203. package/dist/{chunk-MN45G3GB.js → chunk-UKYIFRF3.js} +4 -4
  204. package/dist/{chunk-MN45G3GB.js.map → chunk-UKYIFRF3.js.map} +1 -1
  205. package/dist/{chunk-FLTCEG6J.cjs → chunk-ULLR3RN3.cjs} +30 -30
  206. package/dist/{chunk-FLTCEG6J.cjs.map → chunk-ULLR3RN3.cjs.map} +1 -1
  207. package/dist/{chunk-6AXJQ6UB.cjs → chunk-UUQ6I673.cjs} +17 -17
  208. package/dist/{chunk-6AXJQ6UB.cjs.map → chunk-UUQ6I673.cjs.map} +1 -1
  209. package/dist/{chunk-FS7SSMBW.js → chunk-V7EVEI4C.js} +5 -5
  210. package/dist/chunk-V7EVEI4C.js.map +1 -0
  211. package/dist/{chunk-TB3QXBEC.js → chunk-VMDL27ZN.js} +4 -4
  212. package/dist/{chunk-TB3QXBEC.js.map → chunk-VMDL27ZN.js.map} +1 -1
  213. package/dist/chunk-VTPTMQFA.cjs +298 -0
  214. package/dist/chunk-VTPTMQFA.cjs.map +1 -0
  215. package/dist/{chunk-DWJI2VL3.cjs → chunk-WC4OPIB4.cjs} +6 -6
  216. package/dist/{chunk-DWJI2VL3.cjs.map → chunk-WC4OPIB4.cjs.map} +1 -1
  217. package/dist/{chunk-ZXGZ7K6D.cjs → chunk-WIQDQTKG.cjs} +34 -34
  218. package/dist/chunk-WIQDQTKG.cjs.map +1 -0
  219. package/dist/{chunk-DUWAI5L3.cjs → chunk-WUCJRGTK.cjs} +36 -36
  220. package/dist/{chunk-DUWAI5L3.cjs.map → chunk-WUCJRGTK.cjs.map} +1 -1
  221. package/dist/chunk-WV5LJP6Y.cjs +120 -0
  222. package/dist/chunk-WV5LJP6Y.cjs.map +1 -0
  223. package/dist/{chunk-GHPFPYUG.js → chunk-WYAFNFFM.js} +56 -43
  224. package/dist/chunk-WYAFNFFM.js.map +1 -0
  225. package/dist/{chunk-N6ZHI7A3.cjs → chunk-XBMICDYC.cjs} +111 -111
  226. package/dist/{chunk-N6ZHI7A3.cjs.map → chunk-XBMICDYC.cjs.map} +1 -1
  227. package/dist/chunk-XM2YJ3NM.cjs +84 -0
  228. package/dist/chunk-XM2YJ3NM.cjs.map +1 -0
  229. package/dist/{chunk-MPXNKSVP.cjs → chunk-Y2OBOWHZ.cjs} +42 -42
  230. package/dist/chunk-Y2OBOWHZ.cjs.map +1 -0
  231. package/dist/{chunk-KYKIFNJQ.cjs → chunk-YEYWCSMW.cjs} +38 -38
  232. package/dist/{chunk-KYKIFNJQ.cjs.map → chunk-YEYWCSMW.cjs.map} +1 -1
  233. package/dist/chunk-YG3JPRRY.cjs +70 -0
  234. package/dist/chunk-YG3JPRRY.cjs.map +1 -0
  235. package/dist/{chunk-Q2X6FP4W.cjs → chunk-YIVUZPOV.cjs} +117 -117
  236. package/dist/{chunk-Q2X6FP4W.cjs.map → chunk-YIVUZPOV.cjs.map} +1 -1
  237. package/dist/{chunk-EL2DRC3C.js → chunk-YKS5HCGB.js} +16 -13
  238. package/dist/chunk-YKS5HCGB.js.map +1 -0
  239. package/dist/{chunk-FXX6WI5F.cjs → chunk-YTB4DWYU.cjs} +97 -66
  240. package/dist/chunk-YTB4DWYU.cjs.map +1 -0
  241. package/dist/{chunk-JKUQ3PWM.cjs → chunk-YV7FX2SA.cjs} +36 -36
  242. package/dist/{chunk-JKUQ3PWM.cjs.map → chunk-YV7FX2SA.cjs.map} +1 -1
  243. package/dist/{chunk-NHTUBHMO.cjs → chunk-YWPRH3D3.cjs} +140 -127
  244. package/dist/chunk-YWPRH3D3.cjs.map +1 -0
  245. package/dist/chunk-YZFZHEHC.cjs +73 -0
  246. package/dist/chunk-YZFZHEHC.cjs.map +1 -0
  247. package/dist/{chunk-KPMEA5UE.js → chunk-ZEVZ6OJY.js} +3 -3
  248. package/dist/chunk-ZEVZ6OJY.js.map +1 -0
  249. package/dist/chunk-ZFCNTRZ2.cjs +21 -0
  250. package/dist/chunk-ZFCNTRZ2.cjs.map +1 -0
  251. package/dist/{chunk-6LTXNJU5.js → chunk-ZHULRNJG.js} +10 -7
  252. package/dist/chunk-ZHULRNJG.js.map +1 -0
  253. package/dist/{chunk-FO5SVAKR.js → chunk-ZKXIAID6.js} +6 -6
  254. package/dist/{chunk-FO5SVAKR.js.map → chunk-ZKXIAID6.js.map} +1 -1
  255. package/dist/{chunk-26DWGZNJ.cjs → chunk-ZPHHURXX.cjs} +166 -166
  256. package/dist/{chunk-26DWGZNJ.cjs.map → chunk-ZPHHURXX.cjs.map} +1 -1
  257. package/dist/{chunk-OVXPDSMT.js → chunk-ZRUDCNFS.js} +59 -18
  258. package/dist/chunk-ZRUDCNFS.js.map +1 -0
  259. package/dist/docs/SKILL.md +1 -1
  260. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  261. package/dist/{observational-memory-3XFCO6MX-WVUSRO35.cjs → observational-memory-OZ7TG4DZ-COUORCVN.cjs} +28 -28
  262. package/dist/{observational-memory-3XFCO6MX-WVUSRO35.cjs.map → observational-memory-OZ7TG4DZ-COUORCVN.cjs.map} +1 -1
  263. package/dist/{observational-memory-3XFCO6MX-WHVD3JTT.js → observational-memory-OZ7TG4DZ-MYYBYEP6.js} +3 -3
  264. package/dist/{observational-memory-3XFCO6MX-WHVD3JTT.js.map → observational-memory-OZ7TG4DZ-MYYBYEP6.js.map} +1 -1
  265. package/dist/server/handlers/a2a.cjs +9 -9
  266. package/dist/server/handlers/a2a.d.ts +1 -1
  267. package/dist/server/handlers/a2a.d.ts.map +1 -1
  268. package/dist/server/handlers/a2a.js +1 -1
  269. package/dist/server/handlers/agent-builder.cjs +16 -16
  270. package/dist/server/handlers/agent-builder.js +1 -1
  271. package/dist/server/handlers/agent-versions.cjs +8 -8
  272. package/dist/server/handlers/agent-versions.d.ts +1 -1
  273. package/dist/server/handlers/agent-versions.d.ts.map +1 -1
  274. package/dist/server/handlers/agent-versions.js +1 -1
  275. package/dist/server/handlers/agents.cjs +33 -33
  276. package/dist/server/handlers/agents.d.ts +11 -6
  277. package/dist/server/handlers/agents.d.ts.map +1 -1
  278. package/dist/server/handlers/agents.js +1 -1
  279. package/dist/server/handlers/auth.cjs +10 -10
  280. package/dist/server/handlers/auth.js +1 -1
  281. package/dist/server/handlers/datasets.cjs +24 -24
  282. package/dist/server/handlers/datasets.js +1 -1
  283. package/dist/server/handlers/error.cjs +3 -3
  284. package/dist/server/handlers/error.d.ts +2 -3
  285. package/dist/server/handlers/error.d.ts.map +1 -1
  286. package/dist/server/handlers/error.js +1 -1
  287. package/dist/server/handlers/logs.cjs +4 -4
  288. package/dist/server/handlers/logs.js +1 -1
  289. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  290. package/dist/server/handlers/mcp-client-versions.js +1 -1
  291. package/dist/server/handlers/mcp.cjs +9 -9
  292. package/dist/server/handlers/mcp.js +1 -1
  293. package/dist/server/handlers/memory.cjs +27 -27
  294. package/dist/server/handlers/memory.js +1 -1
  295. package/dist/server/handlers/observability-new-endpoints.cjs +19 -19
  296. package/dist/server/handlers/observability-new-endpoints.d.ts +177 -17
  297. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  298. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  299. package/dist/server/handlers/observability.cjs +24 -24
  300. package/dist/server/handlers/observability.d.ts +1 -1
  301. package/dist/server/handlers/observability.d.ts.map +1 -1
  302. package/dist/server/handlers/observability.js +2 -2
  303. package/dist/server/handlers/processor-providers.cjs +3 -3
  304. package/dist/server/handlers/processor-providers.js +1 -1
  305. package/dist/server/handlers/processors.cjs +4 -4
  306. package/dist/server/handlers/processors.js +1 -1
  307. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  308. package/dist/server/handlers/prompt-block-versions.js +1 -1
  309. package/dist/server/handlers/scorer-versions.cjs +8 -8
  310. package/dist/server/handlers/scorer-versions.js +1 -1
  311. package/dist/server/handlers/scores.cjs +7 -7
  312. package/dist/server/handlers/scores.js +1 -1
  313. package/dist/server/handlers/stored-agents.cjs +7 -7
  314. package/dist/server/handlers/stored-agents.d.ts +1 -1
  315. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  316. package/dist/server/handlers/stored-agents.js +1 -1
  317. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  318. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  319. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  320. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  321. package/dist/server/handlers/stored-scorers.cjs +6 -6
  322. package/dist/server/handlers/stored-scorers.js +1 -1
  323. package/dist/server/handlers/stored-skills.cjs +7 -7
  324. package/dist/server/handlers/stored-skills.js +1 -1
  325. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  326. package/dist/server/handlers/stored-workspaces.js +1 -1
  327. package/dist/server/handlers/system.cjs +2 -2
  328. package/dist/server/handlers/system.d.ts +4 -0
  329. package/dist/server/handlers/system.d.ts.map +1 -1
  330. package/dist/server/handlers/system.js +1 -1
  331. package/dist/server/handlers/tool-providers.cjs +5 -5
  332. package/dist/server/handlers/tool-providers.js +1 -1
  333. package/dist/server/handlers/tools.cjs +6 -6
  334. package/dist/server/handlers/tools.js +1 -1
  335. package/dist/server/handlers/vector.cjs +16 -16
  336. package/dist/server/handlers/vector.js +1 -1
  337. package/dist/server/handlers/voice.cjs +8 -8
  338. package/dist/server/handlers/voice.js +1 -1
  339. package/dist/server/handlers/workflows.cjs +24 -24
  340. package/dist/server/handlers/workflows.d.ts +1 -1
  341. package/dist/server/handlers/workflows.d.ts.map +1 -1
  342. package/dist/server/handlers/workflows.js +1 -1
  343. package/dist/server/handlers/workspace.cjs +26 -26
  344. package/dist/server/handlers/workspace.d.ts +60 -32
  345. package/dist/server/handlers/workspace.d.ts.map +1 -1
  346. package/dist/server/handlers/workspace.js +1 -1
  347. package/dist/server/handlers.cjs +28 -28
  348. package/dist/server/handlers.js +14 -14
  349. package/dist/server/schemas/a2a.d.ts +1 -1
  350. package/dist/server/schemas/a2a.d.ts.map +1 -1
  351. package/dist/server/schemas/agent-builder.d.ts +1 -1
  352. package/dist/server/schemas/agent-builder.d.ts.map +1 -1
  353. package/dist/server/schemas/agent-versions.d.ts +1 -1
  354. package/dist/server/schemas/agent-versions.d.ts.map +1 -1
  355. package/dist/server/schemas/agents.d.ts +1 -1
  356. package/dist/server/schemas/agents.d.ts.map +1 -1
  357. package/dist/server/schemas/auth.d.ts +1 -1
  358. package/dist/server/schemas/auth.d.ts.map +1 -1
  359. package/dist/server/schemas/common.d.ts +1 -1
  360. package/dist/server/schemas/common.d.ts.map +1 -1
  361. package/dist/server/schemas/datasets.d.ts +1 -1
  362. package/dist/server/schemas/datasets.d.ts.map +1 -1
  363. package/dist/server/schemas/default-options.d.ts +1 -1
  364. package/dist/server/schemas/default-options.d.ts.map +1 -1
  365. package/dist/server/schemas/index.cjs +461 -457
  366. package/dist/server/schemas/index.js +30 -30
  367. package/dist/server/schemas/logs.d.ts +1 -1
  368. package/dist/server/schemas/logs.d.ts.map +1 -1
  369. package/dist/server/schemas/mcp-client-versions.d.ts +1 -1
  370. package/dist/server/schemas/mcp-client-versions.d.ts.map +1 -1
  371. package/dist/server/schemas/mcp.d.ts +1 -1
  372. package/dist/server/schemas/mcp.d.ts.map +1 -1
  373. package/dist/server/schemas/memory-config.d.ts +1 -1
  374. package/dist/server/schemas/memory-config.d.ts.map +1 -1
  375. package/dist/server/schemas/memory.d.ts +1 -1
  376. package/dist/server/schemas/memory.d.ts.map +1 -1
  377. package/dist/server/schemas/processor-providers.d.ts +1 -1
  378. package/dist/server/schemas/processor-providers.d.ts.map +1 -1
  379. package/dist/server/schemas/processors.d.ts +1 -1
  380. package/dist/server/schemas/processors.d.ts.map +1 -1
  381. package/dist/server/schemas/prompt-block-versions.d.ts +1 -1
  382. package/dist/server/schemas/prompt-block-versions.d.ts.map +1 -1
  383. package/dist/server/schemas/route-contracts.d.ts +1 -1
  384. package/dist/server/schemas/route-contracts.d.ts.map +1 -1
  385. package/dist/server/schemas/rule-group.d.ts +1 -1
  386. package/dist/server/schemas/rule-group.d.ts.map +1 -1
  387. package/dist/server/schemas/scorer-versions.d.ts +1 -1
  388. package/dist/server/schemas/scorer-versions.d.ts.map +1 -1
  389. package/dist/server/schemas/scores.d.ts +1 -1
  390. package/dist/server/schemas/scores.d.ts.map +1 -1
  391. package/dist/server/schemas/stored-agents.d.ts +1 -1
  392. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  393. package/dist/server/schemas/stored-mcp-clients.d.ts +1 -1
  394. package/dist/server/schemas/stored-mcp-clients.d.ts.map +1 -1
  395. package/dist/server/schemas/stored-prompt-blocks.d.ts +1 -1
  396. package/dist/server/schemas/stored-prompt-blocks.d.ts.map +1 -1
  397. package/dist/server/schemas/stored-scorers.d.ts +1 -1
  398. package/dist/server/schemas/stored-scorers.d.ts.map +1 -1
  399. package/dist/server/schemas/stored-skills.d.ts +1 -1
  400. package/dist/server/schemas/stored-skills.d.ts.map +1 -1
  401. package/dist/server/schemas/stored-workspaces.d.ts +1 -1
  402. package/dist/server/schemas/stored-workspaces.d.ts.map +1 -1
  403. package/dist/server/schemas/system.d.ts +3 -1
  404. package/dist/server/schemas/system.d.ts.map +1 -1
  405. package/dist/server/schemas/tool-providers.d.ts +1 -1
  406. package/dist/server/schemas/tool-providers.d.ts.map +1 -1
  407. package/dist/server/schemas/vectors.d.ts +1 -1
  408. package/dist/server/schemas/vectors.d.ts.map +1 -1
  409. package/dist/server/schemas/version-common.d.ts +1 -1
  410. package/dist/server/schemas/version-common.d.ts.map +1 -1
  411. package/dist/server/schemas/workflows.d.ts +1 -1
  412. package/dist/server/schemas/workflows.d.ts.map +1 -1
  413. package/dist/server/schemas/workspace.d.ts +7 -1
  414. package/dist/server/schemas/workspace.d.ts.map +1 -1
  415. package/dist/server/server-adapter/index.cjs +286 -286
  416. package/dist/server/server-adapter/index.cjs.map +1 -1
  417. package/dist/server/server-adapter/index.d.ts +1 -1
  418. package/dist/server/server-adapter/index.d.ts.map +1 -1
  419. package/dist/server/server-adapter/index.js +35 -35
  420. package/dist/server/server-adapter/index.js.map +1 -1
  421. package/dist/server/server-adapter/routes/index.d.ts +1 -1
  422. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  423. package/dist/server/server-adapter/routes/observability.d.ts +88 -8
  424. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  425. package/dist/server/server-adapter/routes/route-builder.d.ts +2 -2
  426. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  427. package/dist/server/server-adapter/routes/system.d.ts +4 -0
  428. package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
  429. package/dist/server/server-adapter/routes/workspace.d.ts +30 -16
  430. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -1
  431. package/package.json +5 -5
  432. package/dist/chunk-2AUSWWKT.js.map +0 -1
  433. package/dist/chunk-2ERW3HSX.js.map +0 -1
  434. package/dist/chunk-43MOXX6D.cjs +0 -74
  435. package/dist/chunk-43MOXX6D.cjs.map +0 -1
  436. package/dist/chunk-574U64WA.cjs +0 -103
  437. package/dist/chunk-574U64WA.cjs.map +0 -1
  438. package/dist/chunk-5A232FX3.js.map +0 -1
  439. package/dist/chunk-5BBO2RHV.js.map +0 -1
  440. package/dist/chunk-5HJQACVQ.cjs +0 -32
  441. package/dist/chunk-5HJQACVQ.cjs.map +0 -1
  442. package/dist/chunk-5WFMCDP6.cjs +0 -42
  443. package/dist/chunk-5WFMCDP6.cjs.map +0 -1
  444. package/dist/chunk-6LTXNJU5.js.map +0 -1
  445. package/dist/chunk-7NDOPT3W.js.map +0 -1
  446. package/dist/chunk-7XBOJMBD.js.map +0 -1
  447. package/dist/chunk-APJA4LIB.js.map +0 -1
  448. package/dist/chunk-AUPN3AM6.js.map +0 -1
  449. package/dist/chunk-BAECEBZY.cjs +0 -117
  450. package/dist/chunk-BAECEBZY.cjs.map +0 -1
  451. package/dist/chunk-BNJI7YMJ.cjs +0 -89
  452. package/dist/chunk-BNJI7YMJ.cjs.map +0 -1
  453. package/dist/chunk-BTRFBBRF.js.map +0 -1
  454. package/dist/chunk-CSSSPADR.js.map +0 -1
  455. package/dist/chunk-CWPZX27X.cjs +0 -88
  456. package/dist/chunk-CWPZX27X.cjs.map +0 -1
  457. package/dist/chunk-CXL3KPGO.cjs +0 -58
  458. package/dist/chunk-CXL3KPGO.cjs.map +0 -1
  459. package/dist/chunk-EL2DRC3C.js.map +0 -1
  460. package/dist/chunk-EU4WZ6EN.cjs +0 -391
  461. package/dist/chunk-EU4WZ6EN.cjs.map +0 -1
  462. package/dist/chunk-FOHX5HVN.cjs +0 -77
  463. package/dist/chunk-FOHX5HVN.cjs.map +0 -1
  464. package/dist/chunk-FS7SSMBW.js.map +0 -1
  465. package/dist/chunk-FU22BXAG.cjs +0 -29
  466. package/dist/chunk-FU22BXAG.cjs.map +0 -1
  467. package/dist/chunk-FXX6WI5F.cjs.map +0 -1
  468. package/dist/chunk-FYO3ZHLO.js.map +0 -1
  469. package/dist/chunk-GHPFPYUG.js.map +0 -1
  470. package/dist/chunk-H4AABNBB.js.map +0 -1
  471. package/dist/chunk-HMUJSYUR.js.map +0 -1
  472. package/dist/chunk-I4THGZHE.js.map +0 -1
  473. package/dist/chunk-I6ZA2R6M.cjs +0 -302
  474. package/dist/chunk-I6ZA2R6M.cjs.map +0 -1
  475. package/dist/chunk-II6TN6MR.js.map +0 -1
  476. package/dist/chunk-IWH4OW2X.js.map +0 -1
  477. package/dist/chunk-J3SEZ24R.cjs +0 -70
  478. package/dist/chunk-J3SEZ24R.cjs.map +0 -1
  479. package/dist/chunk-JLIHQAX7.cjs.map +0 -1
  480. package/dist/chunk-JTAGYRQP.js.map +0 -1
  481. package/dist/chunk-KPMEA5UE.js.map +0 -1
  482. package/dist/chunk-KXXILK3T.cjs +0 -134
  483. package/dist/chunk-KXXILK3T.cjs.map +0 -1
  484. package/dist/chunk-L4VJYJCY.js.map +0 -1
  485. package/dist/chunk-LCP4G5CT.cjs +0 -83
  486. package/dist/chunk-LCP4G5CT.cjs.map +0 -1
  487. package/dist/chunk-LU7HU7KW.cjs +0 -65
  488. package/dist/chunk-LU7HU7KW.cjs.map +0 -1
  489. package/dist/chunk-LW2FKUW5.js.map +0 -1
  490. package/dist/chunk-MJTEQGJT.cjs.map +0 -1
  491. package/dist/chunk-MPXNKSVP.cjs.map +0 -1
  492. package/dist/chunk-NA7LKQPZ.js.map +0 -1
  493. package/dist/chunk-NHTUBHMO.cjs.map +0 -1
  494. package/dist/chunk-NLMVQMCR.js.map +0 -1
  495. package/dist/chunk-O272KKXN.cjs +0 -111
  496. package/dist/chunk-O272KKXN.cjs.map +0 -1
  497. package/dist/chunk-OP626LZY.js.map +0 -1
  498. package/dist/chunk-OVXPDSMT.js.map +0 -1
  499. package/dist/chunk-P2ZMGGHF.cjs +0 -19
  500. package/dist/chunk-P2ZMGGHF.cjs.map +0 -1
  501. package/dist/chunk-PNJPBMSY.js.map +0 -1
  502. package/dist/chunk-PONEV4T5.js.map +0 -1
  503. package/dist/chunk-QB3ZGAO4.js.map +0 -1
  504. package/dist/chunk-QIP5UCDX.js.map +0 -1
  505. package/dist/chunk-QTBCX6KF.cjs +0 -84
  506. package/dist/chunk-QTBCX6KF.cjs.map +0 -1
  507. package/dist/chunk-RCSPGNEZ.cjs +0 -44
  508. package/dist/chunk-RCSPGNEZ.cjs.map +0 -1
  509. package/dist/chunk-RFO7PBA6.js.map +0 -1
  510. package/dist/chunk-RRQAOK3A.cjs.map +0 -1
  511. package/dist/chunk-SE3VUDBK.cjs +0 -390
  512. package/dist/chunk-SE3VUDBK.cjs.map +0 -1
  513. package/dist/chunk-TJIN7OPG.js.map +0 -1
  514. package/dist/chunk-U3PO2SCK.cjs +0 -124
  515. package/dist/chunk-U3PO2SCK.cjs.map +0 -1
  516. package/dist/chunk-U4YUXGDH.cjs +0 -195
  517. package/dist/chunk-U4YUXGDH.cjs.map +0 -1
  518. package/dist/chunk-ULL6VJ5E.cjs +0 -90
  519. package/dist/chunk-ULL6VJ5E.cjs.map +0 -1
  520. package/dist/chunk-USD6C4ZL.cjs +0 -316
  521. package/dist/chunk-USD6C4ZL.cjs.map +0 -1
  522. package/dist/chunk-USZD5AX2.js.map +0 -1
  523. package/dist/chunk-UYAZFEAW.js.map +0 -1
  524. package/dist/chunk-V7DWWIJ6.js.map +0 -1
  525. package/dist/chunk-VKTJMAUK.js +0 -281
  526. package/dist/chunk-VKTJMAUK.js.map +0 -1
  527. package/dist/chunk-VO6UDRJS.cjs.map +0 -1
  528. package/dist/chunk-VTHT3PPM.cjs +0 -61
  529. package/dist/chunk-VTHT3PPM.cjs.map +0 -1
  530. package/dist/chunk-WOMVBFIP.cjs +0 -81
  531. package/dist/chunk-WOMVBFIP.cjs.map +0 -1
  532. package/dist/chunk-Y2BKW5ND.cjs.map +0 -1
  533. package/dist/chunk-Y452XTPZ.js.map +0 -1
  534. package/dist/chunk-YJLDMFSE.cjs.map +0 -1
  535. package/dist/chunk-YUWWXTL2.cjs +0 -69
  536. package/dist/chunk-YUWWXTL2.cjs.map +0 -1
  537. package/dist/chunk-ZHKXVTMQ.cjs +0 -38
  538. package/dist/chunk-ZHKXVTMQ.cjs.map +0 -1
  539. package/dist/chunk-ZHVL7YBO.cjs +0 -381
  540. package/dist/chunk-ZHVL7YBO.cjs.map +0 -1
  541. package/dist/chunk-ZXGZ7K6D.cjs.map +0 -1
  542. package/dist/chunk-ZYXDUS6Q.cjs +0 -95
  543. package/dist/chunk-ZYXDUS6Q.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/datasets.ts"],"names":[],"mappings":"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","file":"chunk-VD26CDFT.js","sourcesContent":["import { Agent } from '@mastra/core/agent';\nimport { MastraError } from '@mastra/core/error';\nimport { coreFeatures } from '@mastra/core/features';\nimport { resolveModelConfig } from '@mastra/core/llm';\nimport { RequestContext } from '@mastra/core/request-context';\nimport type { TargetType } from '@mastra/core/storage';\nimport { z } from 'zod';\nimport { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport { successResponseSchema } from '../schemas/common';\nimport {\n datasetIdPathParams,\n datasetAndExperimentIdPathParams,\n experimentResultIdPathParams,\n datasetAndItemIdPathParams,\n datasetItemVersionPathParams,\n paginationQuerySchema,\n listItemsQuerySchema,\n createDatasetBodySchema,\n updateDatasetBodySchema,\n addItemBodySchema,\n updateItemBodySchema,\n triggerExperimentBodySchema,\n compareExperimentsBodySchema,\n batchInsertItemsBodySchema,\n batchDeleteItemsBodySchema,\n generateItemsBodySchema,\n generateItemsResponseSchema,\n clusterFailuresBodySchema,\n clusterFailuresResponseSchema,\n datasetResponseSchema,\n datasetItemResponseSchema,\n experimentResponseSchema,\n experimentResultResponseSchema,\n experimentSummaryResponseSchema,\n comparisonResponseSchema,\n listDatasetsResponseSchema,\n listItemsResponseSchema,\n listExperimentsResponseSchema,\n listExperimentResultsResponseSchema,\n listDatasetVersionsResponseSchema,\n listItemVersionsResponseSchema,\n batchInsertItemsResponseSchema,\n batchDeleteItemsResponseSchema,\n updateExperimentResultBodySchema,\n} from '../schemas/datasets';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + local type guards\n// ============================================================================\n\nfunction assertDatasetsAvailable(): void {\n if (!coreFeatures.has('datasets')) {\n throw new HTTPException(501, { message: 'Datasets require @mastra/core >= 1.4.0' });\n }\n}\n\ninterface SchemaValidationLike extends Error {\n field: 'input' | 'groundTruth';\n errors: Array<{ path: string; code: string; message: string }>;\n}\n\ninterface SchemaUpdateValidationLike extends Error {\n failingItems: Array<{\n index: number;\n data: unknown;\n field: 'input' | 'groundTruth';\n errors: Array<{ path: string; code: string; message: string }>;\n }>;\n}\n\nfunction isSchemaValidationError(error: unknown): error is SchemaValidationLike {\n return error instanceof Error && error.name === 'SchemaValidationError';\n}\n\nfunction isSchemaUpdateValidationError(error: unknown): error is SchemaUpdateValidationLike {\n return error instanceof Error && error.name === 'SchemaUpdateValidationError';\n}\n\n// ============================================================================\n// Helper: Map MastraError IDs to HTTP status codes\n// ============================================================================\n\nfunction getHttpStatusForMastraError(errorId: string): number {\n switch (errorId) {\n case 'DATASET_NOT_FOUND':\n case 'EXPERIMENT_NOT_FOUND':\n return 404;\n case 'EXPERIMENT_NO_ITEMS':\n return 400;\n default:\n return 500;\n }\n}\n\n// ============================================================================\n// Dataset CRUD Routes\n// ============================================================================\n\nexport const LIST_DATASETS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets',\n responseType: 'json',\n queryParamSchema: paginationQuerySchema,\n responseSchema: listDatasetsResponseSchema,\n summary: 'List all datasets',\n description: 'Returns a paginated list of all datasets',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const result = await mastra.datasets.list({ page: page ?? 0, perPage: perPage ?? 10 });\n return {\n datasets: result.datasets as any,\n pagination: result.pagination,\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing datasets');\n }\n },\n});\n\nexport const CREATE_DATASET_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets',\n responseType: 'json',\n bodySchema: createDatasetBodySchema,\n responseSchema: datasetResponseSchema,\n summary: 'Create a new dataset',\n description: 'Creates a new dataset with the specified name and optional metadata',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n assertDatasetsAvailable();\n try {\n const {\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n targetType,\n targetIds,\n } = params as {\n name: string;\n description?: string;\n metadata?: Record<string, unknown>;\n inputSchema?: Record<string, unknown> | null;\n groundTruthSchema?: Record<string, unknown> | null;\n requestContextSchema?: Record<string, unknown> | null;\n targetType?: TargetType;\n targetIds?: string[];\n };\n const ds = await mastra.datasets.create({\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n targetType,\n targetIds,\n });\n const details = await ds.getDetails();\n return details as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error creating dataset');\n }\n },\n});\n\nexport const GET_DATASET_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n responseSchema: datasetResponseSchema.nullable(),\n summary: 'Get dataset by ID',\n description: 'Returns details for a specific dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n return (await ds.getDetails()) as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting dataset');\n }\n },\n});\n\nexport const UPDATE_DATASET_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: updateDatasetBodySchema,\n responseSchema: datasetResponseSchema,\n summary: 'Update dataset',\n description: 'Updates a dataset with the specified fields',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const {\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n tags,\n targetType,\n targetIds,\n } = params as {\n name?: string;\n description?: string;\n metadata?: Record<string, unknown>;\n inputSchema?: Record<string, unknown> | null;\n groundTruthSchema?: Record<string, unknown> | null;\n requestContextSchema?: Record<string, unknown> | null;\n tags?: string[];\n targetType?: TargetType;\n targetIds?: string[];\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.update({\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n tags,\n targetType,\n targetIds,\n });\n return result as any;\n } catch (error) {\n if (isSchemaUpdateValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { failingItems: error.failingItems },\n });\n }\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating dataset');\n }\n },\n});\n\nexport const DELETE_DATASET_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n responseSchema: successResponseSchema,\n summary: 'Delete dataset',\n description: 'Deletes a dataset and all its items',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId }) => {\n assertDatasetsAvailable();\n try {\n await mastra.datasets.get({ id: datasetId }); // validates existence\n await mastra.datasets.delete({ id: datasetId });\n return { success: true };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error deleting dataset');\n }\n },\n});\n\n// ============================================================================\n// Item CRUD Routes\n// ============================================================================\n\nexport const LIST_ITEMS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: listItemsQuerySchema,\n responseSchema: listItemsResponseSchema,\n summary: 'List dataset items',\n description: 'Returns a paginated list of items in the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage, version, search } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listItems({\n page: page ?? 0,\n perPage: perPage ?? 10,\n version,\n search,\n });\n // When version is specified, result is DatasetItem[] (flat). Otherwise paginated.\n if (Array.isArray(result)) {\n return { items: result, pagination: { total: result.length, page: 0, perPage: result.length, hasMore: false } };\n }\n return { items: result.items, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing dataset items');\n }\n },\n});\n\nexport const ADD_ITEM_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: addItemBodySchema,\n responseSchema: datasetItemResponseSchema,\n summary: 'Add item to dataset',\n description: 'Adds a new item to the dataset (auto-increments dataset version)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { input, groundTruth, requestContext, metadata } = params as {\n input: unknown;\n groundTruth?: unknown;\n requestContext?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n return await ds.addItem({ input, groundTruth, requestContext, metadata });\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error adding item to dataset');\n }\n },\n});\n\nexport const GET_ITEM_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: datasetItemResponseSchema.nullable(),\n summary: 'Get dataset item by ID',\n description: 'Returns details for a specific dataset item',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const item = await ds.getItem({ itemId });\n if (!item || (item as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n return item as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting dataset item');\n }\n },\n});\n\nexport const UPDATE_ITEM_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n bodySchema: updateItemBodySchema,\n responseSchema: datasetItemResponseSchema,\n summary: 'Update dataset item',\n description: 'Updates a dataset item (auto-increments dataset version)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { input, groundTruth, requestContext, metadata } = params as {\n input?: unknown;\n groundTruth?: unknown;\n requestContext?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n // Check if item exists and belongs to dataset\n const existing = await ds.getItem({ itemId });\n if (!existing || (existing as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n return await ds.updateItem({ itemId, input, groundTruth, requestContext, metadata });\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating dataset item');\n }\n },\n});\n\nexport const DELETE_ITEM_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: successResponseSchema,\n summary: 'Delete dataset item',\n description: 'Deletes a dataset item',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const existing = await ds.getItem({ itemId });\n if (!existing || (existing as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n await ds.deleteItem({ itemId });\n return { success: true };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error deleting dataset item');\n }\n },\n});\n\n// ============================================================================\n// Experiment Operations Routes (nested under datasets)\n// ============================================================================\n\nexport const LIST_EXPERIMENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listExperimentsResponseSchema,\n summary: 'List experiments for dataset',\n description: 'Returns a paginated list of experiments for the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listExperiments({ page: page ?? 0, perPage: perPage ?? 10 });\n return { experiments: result.experiments, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing experiments');\n }\n },\n});\n\nexport const TRIGGER_EXPERIMENT_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/experiments',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: triggerExperimentBodySchema,\n responseSchema: experimentSummaryResponseSchema,\n summary: 'Trigger a new experiment',\n description:\n 'Triggers a new experiment on the dataset against the specified target. Returns immediately with pending status; execution happens in background.',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const {\n targetType,\n targetId,\n scorerIds,\n version,\n agentVersion,\n maxConcurrency,\n requestContext: rawRequestContext,\n } = params as {\n targetType: 'agent' | 'workflow' | 'scorer';\n targetId: string;\n scorerIds?: string[];\n version?: number;\n agentVersion?: string;\n maxConcurrency?: number;\n requestContext?: Record<string, unknown> | RequestContext;\n };\n // The adapter middleware merges body + query requestContext into a RequestContext instance.\n // startExperimentAsync expects a plain Record, so convert it.\n const requestContext = rawRequestContext instanceof RequestContext ? rawRequestContext.all : rawRequestContext;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.startExperimentAsync({\n targetType,\n targetId,\n scorers: scorerIds,\n version,\n agentVersion,\n maxConcurrency,\n requestContext,\n });\n // Return shape matching experimentSummaryResponseSchema\n return {\n experimentId: result.experimentId,\n status: result.status,\n totalItems: result.totalItems ?? 0,\n succeededCount: 0,\n failedCount: 0,\n startedAt: new Date(),\n completedAt: null,\n results: [],\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error triggering experiment');\n }\n },\n});\n\nexport const GET_EXPERIMENT_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments/:experimentId',\n responseType: 'json',\n pathParamSchema: datasetAndExperimentIdPathParams,\n responseSchema: experimentResponseSchema.nullable(),\n summary: 'Get experiment by ID',\n description: 'Returns details for a specific experiment',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, experimentId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const run = await ds.getExperiment({ experimentId });\n if (!run || run.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Experiment not found: ${experimentId}` });\n }\n return run;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting experiment');\n }\n },\n});\n\nexport const LIST_EXPERIMENT_RESULTS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments/:experimentId/results',\n responseType: 'json',\n pathParamSchema: datasetAndExperimentIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listExperimentResultsResponseSchema,\n summary: 'List experiment results',\n description: 'Returns a paginated list of results for the experiment',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, experimentId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n // Validate experiment belongs to dataset\n const run = await ds.getExperiment({ experimentId });\n if (!run || run.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Experiment not found: ${experimentId}` });\n }\n const result = await ds.listExperimentResults({ experimentId, page: page ?? 0, perPage: perPage ?? 10 });\n return {\n results: result.results.map(({ experimentId: _eid, ...rest }) => ({ experimentId, ...rest })),\n pagination: result.pagination,\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing experiment results');\n }\n },\n});\n\nexport const UPDATE_EXPERIMENT_RESULT_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId/experiments/:experimentId/results/:resultId',\n responseType: 'json',\n pathParamSchema: experimentResultIdPathParams,\n bodySchema: updateExperimentResultBodySchema,\n responseSchema: experimentResultResponseSchema,\n summary: 'Update an experiment result',\n description: 'Updates the status and/or tags on an experiment result',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, resultId, experimentId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage not configured' });\n }\n const experimentsStore = await storage.getStore('experiments');\n if (!experimentsStore) {\n throw new HTTPException(500, { message: 'Experiments storage not available' });\n }\n\n const result = await experimentsStore.updateExperimentResult({\n id: resultId,\n experimentId,\n status: params.status,\n tags: params.tags,\n });\n\n return result;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating experiment result');\n }\n },\n});\n\n// ============================================================================\n// Analytics Routes (nested under datasets)\n// ============================================================================\n\nexport const COMPARE_EXPERIMENTS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/compare',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: compareExperimentsBodySchema,\n responseSchema: comparisonResponseSchema,\n summary: 'Compare two experiments',\n description: 'Compares two experiments to detect score regressions',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { experimentIdA, experimentIdB } = params as {\n experimentIdA: string;\n experimentIdB: string;\n };\n // Validate dataset exists\n await mastra.datasets.get({ id: datasetId });\n const result = await mastra.datasets.compareExperiments({\n experimentIds: [experimentIdA, experimentIdB],\n baselineId: experimentIdA,\n });\n return result;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error comparing experiments');\n }\n },\n});\n\n// ============================================================================\n// Version Routes\n// ============================================================================\n\nexport const LIST_DATASET_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/versions',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listDatasetVersionsResponseSchema,\n summary: 'List dataset versions',\n description: 'Returns a paginated list of all versions for the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listVersions({ page: page ?? 0, perPage: perPage ?? 10 });\n return { versions: result.versions, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing dataset versions');\n }\n },\n});\n\nexport const LIST_ITEM_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId/history',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: listItemVersionsResponseSchema,\n summary: 'Get item history',\n description: 'Returns the full SCD-2 history of the item across all dataset versions',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const rows = await ds.getItemHistory({ itemId });\n // Check rows belong to this dataset\n if (rows.length > 0 && rows[0]?.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found in dataset: ${itemId}` });\n }\n return { history: rows };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing item history');\n }\n },\n});\n\nexport const GET_ITEM_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId/versions/:datasetVersion',\n responseType: 'json',\n pathParamSchema: datasetItemVersionPathParams,\n responseSchema: datasetItemResponseSchema.nullable(),\n summary: 'Get item at specific dataset version',\n description: 'Returns the item as it existed at a specific dataset version',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId, datasetVersion }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const item = await ds.getItem({ itemId, version: datasetVersion });\n if (!item) {\n throw new HTTPException(404, { message: `Item ${itemId} not found at version ${datasetVersion}` });\n }\n if ((item as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found in dataset: ${itemId}` });\n }\n return item as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting item version');\n }\n },\n});\n\n// ============================================================================\n// Batch Operations Routes\n// ============================================================================\n\nexport const BATCH_INSERT_ITEMS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/items/batch',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: batchInsertItemsBodySchema,\n responseSchema: batchInsertItemsResponseSchema,\n summary: 'Batch insert items to dataset',\n description: 'Adds multiple items to the dataset in a single operation (single version entry)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { items } = params as {\n items: Array<{ input: unknown; groundTruth?: unknown; metadata?: Record<string, unknown> }>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const addedItems = await ds.addItems({ items });\n return { items: addedItems, count: addedItems.length };\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error batch inserting items');\n }\n },\n});\n\nexport const BATCH_DELETE_ITEMS_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId/items/batch',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: batchDeleteItemsBodySchema,\n responseSchema: batchDeleteItemsResponseSchema,\n summary: 'Batch delete items from dataset',\n description: 'Deletes multiple items from the dataset in a single operation (single version entry)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { itemIds } = params as { itemIds: string[] };\n const ds = await mastra.datasets.get({ id: datasetId });\n await ds.deleteItems({ itemIds });\n return { success: true, deletedCount: itemIds.length };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error bulk deleting items');\n }\n },\n});\n\n// ============================================================================\n// AI Generation\n// ============================================================================\n\nconst GENERATE_ITEMS_SYSTEM_PROMPT = `You are a test data generation expert. Your job is to generate realistic, diverse test data items for an AI agent evaluation dataset.\n\nYou will be given context about the agent being tested — its purpose, system prompt, and available tools. Use this to generate inputs that thoroughly exercise the agent's capabilities.\n\nGenerate test items that:\n1. Are realistic and diverse — cover edge cases, different complexities, and various scenarios\n2. Match the provided schemas exactly\n3. Include ground truth values when a ground truth schema is provided\n4. Vary in difficulty (easy, medium, hard cases)\n5. Include potential edge cases and tricky inputs\n6. Test different aspects of the agent's capabilities based on its tools and instructions\n\nReturn the items as a JSON array.`;\n\nexport const GENERATE_ITEMS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/generate-items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: generateItemsBodySchema,\n responseSchema: generateItemsResponseSchema,\n summary: 'Generate dataset items using AI',\n description:\n 'Uses an LLM to generate synthetic dataset items based on the dataset schema and a user prompt. Returns generated items for review — they are NOT automatically added to the dataset.',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, modelId, prompt, count, agentContext }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const dataset = await ds.getDetails();\n\n // Resolve the model from the \"provider/model\" string\n const model = await resolveModelConfig(modelId, undefined, mastra);\n\n // Build context about the dataset schema for the generator\n const schemaContext = [\n dataset.inputSchema ? `Input schema:\\n${JSON.stringify(dataset.inputSchema, null, 2)}` : null,\n dataset.groundTruthSchema\n ? `Ground truth schema:\\n${JSON.stringify(dataset.groundTruthSchema, null, 2)}`\n : null,\n ]\n .filter(Boolean)\n .join('\\n\\n');\n\n const generatorAgent = new Agent({\n id: 'dataset-item-generator',\n name: 'dataset-item-generator',\n instructions: GENERATE_ITEMS_SYSTEM_PROMPT,\n model,\n });\n\n // Build the structured output schema dynamically based on count\n // Use z.string() for input/groundTruth since OpenAI structured output requires concrete types.\n // The generator will produce JSON strings that we parse back into objects if needed.\n const itemSchema = z.object({\n input: z\n .string()\n .describe('The input data as a JSON string matching the input schema, or a plain text string if no schema'),\n groundTruth: z\n .string()\n .optional()\n .describe('The expected output as a JSON string matching the ground truth schema'),\n });\n const outputSchema = z.object({\n items: z.array(itemSchema).min(1).max(count),\n });\n\n // Build agent context section\n const agentContextParts = [];\n if (agentContext?.description) {\n agentContextParts.push(`Agent description: ${agentContext.description}`);\n }\n if (agentContext?.instructions) {\n agentContextParts.push(`Agent system prompt:\\n${agentContext.instructions}`);\n }\n if (agentContext?.tools?.length) {\n agentContextParts.push(`Agent tools: ${agentContext.tools.join(', ')}`);\n }\n const agentContextSection = agentContextParts.length > 0 ? agentContextParts.join('\\n\\n') : null;\n\n const userMessage = [\n `Generate exactly ${count} test items for a dataset named \"${dataset.name}\".`,\n dataset.description ? `Dataset description: ${dataset.description}` : null,\n agentContextSection ? `--- AGENT CONTEXT ---\\n${agentContextSection}` : null,\n schemaContext || null,\n `User's request: ${prompt}`,\n `Return exactly ${count} items.`,\n ]\n .filter(Boolean)\n .join('\\n\\n');\n\n const result = await generatorAgent.generate(userMessage, {\n structuredOutput: { schema: outputSchema },\n });\n\n const generated = await result.object;\n\n // Parse JSON strings back to objects where possible\n const items = generated.items.map(item => {\n let input: unknown = item.input;\n try {\n input = JSON.parse(item.input);\n } catch {\n // Keep as string if not valid JSON\n }\n let groundTruth: unknown = item.groundTruth;\n if (item.groundTruth) {\n try {\n groundTruth = JSON.parse(item.groundTruth);\n } catch {\n // Keep as string if not valid JSON\n }\n }\n return { input, groundTruth };\n });\n\n return { items };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error generating dataset items');\n }\n },\n});\n\n// ============================================================================\n// Failure Clustering\n// ============================================================================\n\nconst CLUSTER_FAILURES_SYSTEM_PROMPT = `You are an AI evaluation expert specializing in failure analysis. Given a set of failure items from an AI agent experiment, identify common failure patterns and assign descriptive tags to each item.\n\nFor each cluster you identify, provide:\n- A short, descriptive tag label (2-5 words, lowercase, hyphenated, e.g., \"no-tool-usage\", \"hallucination\")\n- A description explaining the common failure pattern\n- The IDs of items that belong to this cluster\n\nAlso return a \"proposedTags\" array mapping each item ID to the tags you recommend, along with a brief \"reason\" explaining WHY those tags apply to that specific item. The reason should reference concrete evidence from the item's input/output/error.\n\nGuidelines:\n- Create between 1 and 8 clusters depending on the diversity of failures\n- Every item must be assigned to at least one cluster unless there is no clear pattern of failure\n- Focus on the root cause of failures, not surface-level symptoms\n- If items have scores, use low scores as signals for the failure type\n- Be specific about what went wrong\n- IMPORTANT: If existing tags are provided, PREFER reusing them over creating new ones. Only create new tags when no existing tag fits.\n- Items may already have tags — consider those when assigning new ones and avoid duplicating existing tags on an item.\n- The \"reason\" field should be 1-2 sentences explaining the specific evidence for each tag assignment.`;\n\nexport const CLUSTER_FAILURES_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/cluster-failures',\n responseType: 'json',\n bodySchema: clusterFailuresBodySchema,\n responseSchema: clusterFailuresResponseSchema,\n summary: 'Cluster experiment failures using AI',\n description:\n 'Uses an LLM to analyze failure items from an experiment and group them into meaningful failure pattern clusters.',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, modelId, items, availableTags, prompt }) => {\n assertDatasetsAvailable();\n try {\n const model = await resolveModelConfig(modelId, undefined, mastra);\n\n const clusterAgent = new Agent({\n id: 'failure-cluster-analyzer',\n name: 'failure-cluster-analyzer',\n instructions: CLUSTER_FAILURES_SYSTEM_PROMPT,\n model,\n });\n\n const outputSchema = z.object({\n clusters: z.array(\n z.object({\n id: z.string(),\n label: z.string(),\n description: z.string(),\n itemIds: z.array(z.string()),\n }),\n ),\n proposedTags: z.array(\n z.object({\n itemId: z.string(),\n tags: z.array(z.string()),\n reason: z.string().describe('Brief explanation of why these tags were assigned'),\n }),\n ),\n });\n\n const itemSummaries = items.map((item, i) => {\n const parts = [`Item ${i + 1} (id: ${item.id}):`];\n if (item.input !== undefined && item.input !== null) parts.push(` Input: ${JSON.stringify(item.input)}`);\n if (item.output !== undefined && item.output !== null) parts.push(` Output: ${JSON.stringify(item.output)}`);\n if (item.error !== undefined && item.error !== null) {\n parts.push(` Error: ${typeof item.error === 'string' ? item.error : JSON.stringify(item.error)}`);\n }\n if (item.scores !== undefined && item.scores !== null) {\n parts.push(` Scores: ${JSON.stringify(item.scores)}`);\n }\n if (item.existingTags && item.existingTags.length > 0) {\n parts.push(` Existing tags: ${item.existingTags.join(', ')}`);\n }\n return parts.join('\\n');\n });\n\n let userMessage = `Analyze these ${items.length} failure items and group them into clusters of common failure patterns:\\n\\n${itemSummaries.join('\\n\\n')}`;\n\n if (availableTags && availableTags.length > 0) {\n userMessage += `\\n\\nExisting tag vocabulary (prefer reusing these): ${availableTags.join(', ')}`;\n }\n\n if (prompt) {\n userMessage += `\\n\\nAdditional instructions from the reviewer: ${prompt}`;\n }\n\n userMessage += `\\n\\nReturn both \"clusters\" (grouping items by pattern) and \"proposedTags\" (a list mapping each item ID to the tag labels you recommend, with a \"reason\" explaining why). For proposedTags, only include NEW tags to add — do not repeat tags the item already has.`;\n\n const result = await clusterAgent.generate(userMessage, {\n structuredOutput: { schema: outputSchema },\n });\n\n const generated = await result.object;\n return { clusters: generated.clusters, proposedTags: generated.proposedTags ?? [] };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error clustering failures');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/datasets.ts"],"names":[],"mappings":"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","file":"chunk-OXE6JN54.js","sourcesContent":["import { Agent } from '@mastra/core/agent';\nimport { MastraError } from '@mastra/core/error';\nimport { coreFeatures } from '@mastra/core/features';\nimport { resolveModelConfig } from '@mastra/core/llm';\nimport { RequestContext } from '@mastra/core/request-context';\nimport type { TargetType } from '@mastra/core/storage';\nimport { z } from 'zod';\nimport { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport { successResponseSchema } from '../schemas/common';\nimport {\n datasetIdPathParams,\n datasetAndExperimentIdPathParams,\n experimentResultIdPathParams,\n datasetAndItemIdPathParams,\n datasetItemVersionPathParams,\n paginationQuerySchema,\n listItemsQuerySchema,\n createDatasetBodySchema,\n updateDatasetBodySchema,\n addItemBodySchema,\n updateItemBodySchema,\n triggerExperimentBodySchema,\n compareExperimentsBodySchema,\n batchInsertItemsBodySchema,\n batchDeleteItemsBodySchema,\n generateItemsBodySchema,\n generateItemsResponseSchema,\n clusterFailuresBodySchema,\n clusterFailuresResponseSchema,\n datasetResponseSchema,\n datasetItemResponseSchema,\n experimentResponseSchema,\n experimentResultResponseSchema,\n experimentSummaryResponseSchema,\n comparisonResponseSchema,\n listDatasetsResponseSchema,\n listItemsResponseSchema,\n listExperimentsResponseSchema,\n listExperimentResultsResponseSchema,\n listDatasetVersionsResponseSchema,\n listItemVersionsResponseSchema,\n batchInsertItemsResponseSchema,\n batchDeleteItemsResponseSchema,\n updateExperimentResultBodySchema,\n} from '../schemas/datasets';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + local type guards\n// ============================================================================\n\nfunction assertDatasetsAvailable(): void {\n if (!coreFeatures.has('datasets')) {\n throw new HTTPException(501, { message: 'Datasets require @mastra/core >= 1.4.0' });\n }\n}\n\ninterface SchemaValidationLike extends Error {\n field: 'input' | 'groundTruth';\n errors: Array<{ path: string; code: string; message: string }>;\n}\n\ninterface SchemaUpdateValidationLike extends Error {\n failingItems: Array<{\n index: number;\n data: unknown;\n field: 'input' | 'groundTruth';\n errors: Array<{ path: string; code: string; message: string }>;\n }>;\n}\n\nfunction isSchemaValidationError(error: unknown): error is SchemaValidationLike {\n return error instanceof Error && error.name === 'SchemaValidationError';\n}\n\nfunction isSchemaUpdateValidationError(error: unknown): error is SchemaUpdateValidationLike {\n return error instanceof Error && error.name === 'SchemaUpdateValidationError';\n}\n\n// ============================================================================\n// Helper: Map MastraError IDs to HTTP status codes\n// ============================================================================\n\nfunction getHttpStatusForMastraError(errorId: string): number {\n switch (errorId) {\n case 'DATASET_NOT_FOUND':\n case 'EXPERIMENT_NOT_FOUND':\n return 404;\n case 'EXPERIMENT_NO_ITEMS':\n return 400;\n default:\n return 500;\n }\n}\n\n// ============================================================================\n// Dataset CRUD Routes\n// ============================================================================\n\nexport const LIST_DATASETS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets',\n responseType: 'json',\n queryParamSchema: paginationQuerySchema,\n responseSchema: listDatasetsResponseSchema,\n summary: 'List all datasets',\n description: 'Returns a paginated list of all datasets',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const result = await mastra.datasets.list({ page: page ?? 0, perPage: perPage ?? 10 });\n return {\n datasets: result.datasets as any,\n pagination: result.pagination,\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing datasets');\n }\n },\n});\n\nexport const CREATE_DATASET_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets',\n responseType: 'json',\n bodySchema: createDatasetBodySchema,\n responseSchema: datasetResponseSchema,\n summary: 'Create a new dataset',\n description: 'Creates a new dataset with the specified name and optional metadata',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n assertDatasetsAvailable();\n try {\n const {\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n targetType,\n targetIds,\n } = params as {\n name: string;\n description?: string;\n metadata?: Record<string, unknown>;\n inputSchema?: Record<string, unknown> | null;\n groundTruthSchema?: Record<string, unknown> | null;\n requestContextSchema?: Record<string, unknown> | null;\n targetType?: TargetType;\n targetIds?: string[];\n };\n const ds = await mastra.datasets.create({\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n targetType,\n targetIds,\n });\n const details = await ds.getDetails();\n return details as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error creating dataset');\n }\n },\n});\n\nexport const GET_DATASET_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n responseSchema: datasetResponseSchema.nullable(),\n summary: 'Get dataset by ID',\n description: 'Returns details for a specific dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n return (await ds.getDetails()) as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting dataset');\n }\n },\n});\n\nexport const UPDATE_DATASET_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: updateDatasetBodySchema,\n responseSchema: datasetResponseSchema,\n summary: 'Update dataset',\n description: 'Updates a dataset with the specified fields',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const {\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n tags,\n targetType,\n targetIds,\n } = params as {\n name?: string;\n description?: string;\n metadata?: Record<string, unknown>;\n inputSchema?: Record<string, unknown> | null;\n groundTruthSchema?: Record<string, unknown> | null;\n requestContextSchema?: Record<string, unknown> | null;\n tags?: string[];\n targetType?: TargetType;\n targetIds?: string[];\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.update({\n name,\n description,\n metadata,\n inputSchema,\n groundTruthSchema,\n requestContextSchema,\n tags,\n targetType,\n targetIds,\n });\n return result as any;\n } catch (error) {\n if (isSchemaUpdateValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { failingItems: error.failingItems },\n });\n }\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating dataset');\n }\n },\n});\n\nexport const DELETE_DATASET_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n responseSchema: successResponseSchema,\n summary: 'Delete dataset',\n description: 'Deletes a dataset and all its items',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId }) => {\n assertDatasetsAvailable();\n try {\n await mastra.datasets.get({ id: datasetId }); // validates existence\n await mastra.datasets.delete({ id: datasetId });\n return { success: true };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error deleting dataset');\n }\n },\n});\n\n// ============================================================================\n// Item CRUD Routes\n// ============================================================================\n\nexport const LIST_ITEMS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: listItemsQuerySchema,\n responseSchema: listItemsResponseSchema,\n summary: 'List dataset items',\n description: 'Returns a paginated list of items in the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage, version, search } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listItems({\n page: page ?? 0,\n perPage: perPage ?? 10,\n version,\n search,\n });\n // When version is specified, result is DatasetItem[] (flat). Otherwise paginated.\n if (Array.isArray(result)) {\n return { items: result, pagination: { total: result.length, page: 0, perPage: result.length, hasMore: false } };\n }\n return { items: result.items, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing dataset items');\n }\n },\n});\n\nexport const ADD_ITEM_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: addItemBodySchema,\n responseSchema: datasetItemResponseSchema,\n summary: 'Add item to dataset',\n description: 'Adds a new item to the dataset (auto-increments dataset version)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { input, groundTruth, requestContext, metadata } = params as {\n input: unknown;\n groundTruth?: unknown;\n requestContext?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n return await ds.addItem({ input, groundTruth, requestContext, metadata });\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error adding item to dataset');\n }\n },\n});\n\nexport const GET_ITEM_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: datasetItemResponseSchema.nullable(),\n summary: 'Get dataset item by ID',\n description: 'Returns details for a specific dataset item',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const item = await ds.getItem({ itemId });\n if (!item || (item as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n return item as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting dataset item');\n }\n },\n});\n\nexport const UPDATE_ITEM_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n bodySchema: updateItemBodySchema,\n responseSchema: datasetItemResponseSchema,\n summary: 'Update dataset item',\n description: 'Updates a dataset item (auto-increments dataset version)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { input, groundTruth, requestContext, metadata } = params as {\n input?: unknown;\n groundTruth?: unknown;\n requestContext?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n // Check if item exists and belongs to dataset\n const existing = await ds.getItem({ itemId });\n if (!existing || (existing as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n return await ds.updateItem({ itemId, input, groundTruth, requestContext, metadata });\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating dataset item');\n }\n },\n});\n\nexport const DELETE_ITEM_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId/items/:itemId',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: successResponseSchema,\n summary: 'Delete dataset item',\n description: 'Deletes a dataset item',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const existing = await ds.getItem({ itemId });\n if (!existing || (existing as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found: ${itemId}` });\n }\n await ds.deleteItem({ itemId });\n return { success: true };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error deleting dataset item');\n }\n },\n});\n\n// ============================================================================\n// Experiment Operations Routes (nested under datasets)\n// ============================================================================\n\nexport const LIST_EXPERIMENTS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listExperimentsResponseSchema,\n summary: 'List experiments for dataset',\n description: 'Returns a paginated list of experiments for the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listExperiments({ page: page ?? 0, perPage: perPage ?? 10 });\n return { experiments: result.experiments, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing experiments');\n }\n },\n});\n\nexport const TRIGGER_EXPERIMENT_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/experiments',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: triggerExperimentBodySchema,\n responseSchema: experimentSummaryResponseSchema,\n summary: 'Trigger a new experiment',\n description:\n 'Triggers a new experiment on the dataset against the specified target. Returns immediately with pending status; execution happens in background.',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const {\n targetType,\n targetId,\n scorerIds,\n version,\n agentVersion,\n maxConcurrency,\n requestContext: rawRequestContext,\n } = params as {\n targetType: 'agent' | 'workflow' | 'scorer';\n targetId: string;\n scorerIds?: string[];\n version?: number;\n agentVersion?: string;\n maxConcurrency?: number;\n requestContext?: Record<string, unknown> | RequestContext;\n };\n // The adapter middleware merges body + query requestContext into a RequestContext instance.\n // startExperimentAsync expects a plain Record, so convert it.\n const requestContext = rawRequestContext instanceof RequestContext ? rawRequestContext.all : rawRequestContext;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.startExperimentAsync({\n targetType,\n targetId,\n scorers: scorerIds,\n version,\n agentVersion,\n maxConcurrency,\n requestContext,\n });\n // Return shape matching experimentSummaryResponseSchema\n return {\n experimentId: result.experimentId,\n status: result.status,\n totalItems: result.totalItems ?? 0,\n succeededCount: 0,\n failedCount: 0,\n startedAt: new Date(),\n completedAt: null,\n results: [],\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error triggering experiment');\n }\n },\n});\n\nexport const GET_EXPERIMENT_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments/:experimentId',\n responseType: 'json',\n pathParamSchema: datasetAndExperimentIdPathParams,\n responseSchema: experimentResponseSchema.nullable(),\n summary: 'Get experiment by ID',\n description: 'Returns details for a specific experiment',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, experimentId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const run = await ds.getExperiment({ experimentId });\n if (!run || run.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Experiment not found: ${experimentId}` });\n }\n return run;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting experiment');\n }\n },\n});\n\nexport const LIST_EXPERIMENT_RESULTS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/experiments/:experimentId/results',\n responseType: 'json',\n pathParamSchema: datasetAndExperimentIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listExperimentResultsResponseSchema,\n summary: 'List experiment results',\n description: 'Returns a paginated list of results for the experiment',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, experimentId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n // Validate experiment belongs to dataset\n const run = await ds.getExperiment({ experimentId });\n if (!run || run.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Experiment not found: ${experimentId}` });\n }\n const result = await ds.listExperimentResults({ experimentId, page: page ?? 0, perPage: perPage ?? 10 });\n return {\n results: result.results.map(({ experimentId: _eid, ...rest }) => ({ experimentId, ...rest })),\n pagination: result.pagination,\n };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing experiment results');\n }\n },\n});\n\nexport const UPDATE_EXPERIMENT_RESULT_ROUTE = createRoute({\n method: 'PATCH',\n path: '/datasets/:datasetId/experiments/:experimentId/results/:resultId',\n responseType: 'json',\n pathParamSchema: experimentResultIdPathParams,\n bodySchema: updateExperimentResultBodySchema,\n responseSchema: experimentResultResponseSchema,\n summary: 'Update an experiment result',\n description: 'Updates the status and/or tags on an experiment result',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, resultId, experimentId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage not configured' });\n }\n const experimentsStore = await storage.getStore('experiments');\n if (!experimentsStore) {\n throw new HTTPException(500, { message: 'Experiments storage not available' });\n }\n\n const result = await experimentsStore.updateExperimentResult({\n id: resultId,\n experimentId,\n status: params.status,\n tags: params.tags,\n });\n\n return result;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error updating experiment result');\n }\n },\n});\n\n// ============================================================================\n// Analytics Routes (nested under datasets)\n// ============================================================================\n\nexport const COMPARE_EXPERIMENTS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/compare',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: compareExperimentsBodySchema,\n responseSchema: comparisonResponseSchema,\n summary: 'Compare two experiments',\n description: 'Compares two experiments to detect score regressions',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { experimentIdA, experimentIdB } = params as {\n experimentIdA: string;\n experimentIdB: string;\n };\n // Validate dataset exists\n await mastra.datasets.get({ id: datasetId });\n const result = await mastra.datasets.compareExperiments({\n experimentIds: [experimentIdA, experimentIdB],\n baselineId: experimentIdA,\n });\n return result;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error comparing experiments');\n }\n },\n});\n\n// ============================================================================\n// Version Routes\n// ============================================================================\n\nexport const LIST_DATASET_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/versions',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n queryParamSchema: paginationQuerySchema,\n responseSchema: listDatasetVersionsResponseSchema,\n summary: 'List dataset versions',\n description: 'Returns a paginated list of all versions for the dataset',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { page, perPage } = params;\n const ds = await mastra.datasets.get({ id: datasetId });\n const result = await ds.listVersions({ page: page ?? 0, perPage: perPage ?? 10 });\n return { versions: result.versions, pagination: result.pagination };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing dataset versions');\n }\n },\n});\n\nexport const LIST_ITEM_VERSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId/history',\n responseType: 'json',\n pathParamSchema: datasetAndItemIdPathParams,\n responseSchema: listItemVersionsResponseSchema,\n summary: 'Get item history',\n description: 'Returns the full SCD-2 history of the item across all dataset versions',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const rows = await ds.getItemHistory({ itemId });\n // Check rows belong to this dataset\n if (rows.length > 0 && rows[0]?.datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found in dataset: ${itemId}` });\n }\n return { history: rows };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error listing item history');\n }\n },\n});\n\nexport const GET_ITEM_VERSION_ROUTE = createRoute({\n method: 'GET',\n path: '/datasets/:datasetId/items/:itemId/versions/:datasetVersion',\n responseType: 'json',\n pathParamSchema: datasetItemVersionPathParams,\n responseSchema: datasetItemResponseSchema.nullable(),\n summary: 'Get item at specific dataset version',\n description: 'Returns the item as it existed at a specific dataset version',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, itemId, datasetVersion }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const item = await ds.getItem({ itemId, version: datasetVersion });\n if (!item) {\n throw new HTTPException(404, { message: `Item ${itemId} not found at version ${datasetVersion}` });\n }\n if ((item as any).datasetId !== datasetId) {\n throw new HTTPException(404, { message: `Item not found in dataset: ${itemId}` });\n }\n return item as any;\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error getting item version');\n }\n },\n});\n\n// ============================================================================\n// Batch Operations Routes\n// ============================================================================\n\nexport const BATCH_INSERT_ITEMS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/items/batch',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: batchInsertItemsBodySchema,\n responseSchema: batchInsertItemsResponseSchema,\n summary: 'Batch insert items to dataset',\n description: 'Adds multiple items to the dataset in a single operation (single version entry)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { items } = params as {\n items: Array<{ input: unknown; groundTruth?: unknown; metadata?: Record<string, unknown> }>;\n };\n const ds = await mastra.datasets.get({ id: datasetId });\n const addedItems = await ds.addItems({ items });\n return { items: addedItems, count: addedItems.length };\n } catch (error) {\n if (isSchemaValidationError(error)) {\n throw new HTTPException(400, {\n message: error.message,\n cause: { field: error.field, errors: error.errors },\n });\n }\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error batch inserting items');\n }\n },\n});\n\nexport const BATCH_DELETE_ITEMS_ROUTE = createRoute({\n method: 'DELETE',\n path: '/datasets/:datasetId/items/batch',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: batchDeleteItemsBodySchema,\n responseSchema: batchDeleteItemsResponseSchema,\n summary: 'Batch delete items from dataset',\n description: 'Deletes multiple items from the dataset in a single operation (single version entry)',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, ...params }) => {\n assertDatasetsAvailable();\n try {\n const { itemIds } = params as { itemIds: string[] };\n const ds = await mastra.datasets.get({ id: datasetId });\n await ds.deleteItems({ itemIds });\n return { success: true, deletedCount: itemIds.length };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error bulk deleting items');\n }\n },\n});\n\n// ============================================================================\n// AI Generation\n// ============================================================================\n\nconst GENERATE_ITEMS_SYSTEM_PROMPT = `You are a test data generation expert. Your job is to generate realistic, diverse test data items for an AI agent evaluation dataset.\n\nYou will be given context about the agent being tested — its purpose, system prompt, and available tools. Use this to generate inputs that thoroughly exercise the agent's capabilities.\n\nGenerate test items that:\n1. Are realistic and diverse — cover edge cases, different complexities, and various scenarios\n2. Match the provided schemas exactly\n3. Include ground truth values when a ground truth schema is provided\n4. Vary in difficulty (easy, medium, hard cases)\n5. Include potential edge cases and tricky inputs\n6. Test different aspects of the agent's capabilities based on its tools and instructions\n\nReturn the items as a JSON array.`;\n\nexport const GENERATE_ITEMS_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/:datasetId/generate-items',\n responseType: 'json',\n pathParamSchema: datasetIdPathParams,\n bodySchema: generateItemsBodySchema,\n responseSchema: generateItemsResponseSchema,\n summary: 'Generate dataset items using AI',\n description:\n 'Uses an LLM to generate synthetic dataset items based on the dataset schema and a user prompt. Returns generated items for review — they are NOT automatically added to the dataset.',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, datasetId, modelId, prompt, count, agentContext }) => {\n assertDatasetsAvailable();\n try {\n const ds = await mastra.datasets.get({ id: datasetId });\n const dataset = await ds.getDetails();\n\n // Resolve the model from the \"provider/model\" string\n const model = await resolveModelConfig(modelId, undefined, mastra);\n\n // Build context about the dataset schema for the generator\n const schemaContext = [\n dataset.inputSchema ? `Input schema:\\n${JSON.stringify(dataset.inputSchema, null, 2)}` : null,\n dataset.groundTruthSchema\n ? `Ground truth schema:\\n${JSON.stringify(dataset.groundTruthSchema, null, 2)}`\n : null,\n ]\n .filter(Boolean)\n .join('\\n\\n');\n\n const generatorAgent = new Agent({\n id: 'dataset-item-generator',\n name: 'dataset-item-generator',\n instructions: GENERATE_ITEMS_SYSTEM_PROMPT,\n model,\n });\n\n // Build the structured output schema dynamically based on count\n // Use z.string() for input/groundTruth since OpenAI structured output requires concrete types.\n // The generator will produce JSON strings that we parse back into objects if needed.\n const itemSchema = z.object({\n input: z\n .string()\n .describe('The input data as a JSON string matching the input schema, or a plain text string if no schema'),\n groundTruth: z\n .string()\n .optional()\n .describe('The expected output as a JSON string matching the ground truth schema'),\n });\n const outputSchema = z.object({\n items: z.array(itemSchema).min(1).max(count),\n });\n\n // Build agent context section\n const agentContextParts = [];\n if (agentContext?.description) {\n agentContextParts.push(`Agent description: ${agentContext.description}`);\n }\n if (agentContext?.instructions) {\n agentContextParts.push(`Agent system prompt:\\n${agentContext.instructions}`);\n }\n if (agentContext?.tools?.length) {\n agentContextParts.push(`Agent tools: ${agentContext.tools.join(', ')}`);\n }\n const agentContextSection = agentContextParts.length > 0 ? agentContextParts.join('\\n\\n') : null;\n\n const userMessage = [\n `Generate exactly ${count} test items for a dataset named \"${dataset.name}\".`,\n dataset.description ? `Dataset description: ${dataset.description}` : null,\n agentContextSection ? `--- AGENT CONTEXT ---\\n${agentContextSection}` : null,\n schemaContext || null,\n `User's request: ${prompt}`,\n `Return exactly ${count} items.`,\n ]\n .filter(Boolean)\n .join('\\n\\n');\n\n const result = await generatorAgent.generate(userMessage, {\n structuredOutput: { schema: outputSchema },\n });\n\n const generated = await result.object;\n\n // Parse JSON strings back to objects where possible\n const items = generated.items.map(item => {\n let input: unknown = item.input;\n try {\n input = JSON.parse(item.input);\n } catch {\n // Keep as string if not valid JSON\n }\n let groundTruth: unknown = item.groundTruth;\n if (item.groundTruth) {\n try {\n groundTruth = JSON.parse(item.groundTruth);\n } catch {\n // Keep as string if not valid JSON\n }\n }\n return { input, groundTruth };\n });\n\n return { items };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error generating dataset items');\n }\n },\n});\n\n// ============================================================================\n// Failure Clustering\n// ============================================================================\n\nconst CLUSTER_FAILURES_SYSTEM_PROMPT = `You are an AI evaluation expert specializing in failure analysis. Given a set of failure items from an AI agent experiment, identify common failure patterns and assign descriptive tags to each item.\n\nFor each cluster you identify, provide:\n- A short, descriptive tag label (2-5 words, lowercase, hyphenated, e.g., \"no-tool-usage\", \"hallucination\")\n- A description explaining the common failure pattern\n- The IDs of items that belong to this cluster\n\nAlso return a \"proposedTags\" array mapping each item ID to the tags you recommend, along with a brief \"reason\" explaining WHY those tags apply to that specific item. The reason should reference concrete evidence from the item's input/output/error.\n\nGuidelines:\n- Create between 1 and 8 clusters depending on the diversity of failures\n- Every item must be assigned to at least one cluster unless there is no clear pattern of failure\n- Focus on the root cause of failures, not surface-level symptoms\n- If items have scores, use low scores as signals for the failure type\n- Be specific about what went wrong\n- IMPORTANT: If existing tags are provided, PREFER reusing them over creating new ones. Only create new tags when no existing tag fits.\n- Items may already have tags — consider those when assigning new ones and avoid duplicating existing tags on an item.\n- The \"reason\" field should be 1-2 sentences explaining the specific evidence for each tag assignment.`;\n\nexport const CLUSTER_FAILURES_ROUTE = createRoute({\n method: 'POST',\n path: '/datasets/cluster-failures',\n responseType: 'json',\n bodySchema: clusterFailuresBodySchema,\n responseSchema: clusterFailuresResponseSchema,\n summary: 'Cluster experiment failures using AI',\n description:\n 'Uses an LLM to analyze failure items from an experiment and group them into meaningful failure pattern clusters.',\n tags: ['Datasets'],\n requiresAuth: true,\n handler: async ({ mastra, modelId, items, availableTags, prompt }) => {\n assertDatasetsAvailable();\n try {\n const model = await resolveModelConfig(modelId, undefined, mastra);\n\n const clusterAgent = new Agent({\n id: 'failure-cluster-analyzer',\n name: 'failure-cluster-analyzer',\n instructions: CLUSTER_FAILURES_SYSTEM_PROMPT,\n model,\n });\n\n const outputSchema = z.object({\n clusters: z.array(\n z.object({\n id: z.string(),\n label: z.string(),\n description: z.string(),\n itemIds: z.array(z.string()),\n }),\n ),\n proposedTags: z.array(\n z.object({\n itemId: z.string(),\n tags: z.array(z.string()),\n reason: z.string().describe('Brief explanation of why these tags were assigned'),\n }),\n ),\n });\n\n const itemSummaries = items.map((item, i) => {\n const parts = [`Item ${i + 1} (id: ${item.id}):`];\n if (item.input !== undefined && item.input !== null) parts.push(` Input: ${JSON.stringify(item.input)}`);\n if (item.output !== undefined && item.output !== null) parts.push(` Output: ${JSON.stringify(item.output)}`);\n if (item.error !== undefined && item.error !== null) {\n parts.push(` Error: ${typeof item.error === 'string' ? item.error : JSON.stringify(item.error)}`);\n }\n if (item.scores !== undefined && item.scores !== null) {\n parts.push(` Scores: ${JSON.stringify(item.scores)}`);\n }\n if (item.existingTags && item.existingTags.length > 0) {\n parts.push(` Existing tags: ${item.existingTags.join(', ')}`);\n }\n return parts.join('\\n');\n });\n\n let userMessage = `Analyze these ${items.length} failure items and group them into clusters of common failure patterns:\\n\\n${itemSummaries.join('\\n\\n')}`;\n\n if (availableTags && availableTags.length > 0) {\n userMessage += `\\n\\nExisting tag vocabulary (prefer reusing these): ${availableTags.join(', ')}`;\n }\n\n if (prompt) {\n userMessage += `\\n\\nAdditional instructions from the reviewer: ${prompt}`;\n }\n\n userMessage += `\\n\\nReturn both \"clusters\" (grouping items by pattern) and \"proposedTags\" (a list mapping each item ID to the tag labels you recommend, with a \"reason\" explaining why). For proposedTags, only include NEW tags to add — do not repeat tags the item already has.`;\n\n const result = await clusterAgent.generate(userMessage, {\n structuredOutput: { schema: outputSchema },\n });\n\n const generated = await result.object;\n return { clusters: generated.clusters, proposedTags: generated.proposedTags ?? [] };\n } catch (error) {\n if (error instanceof MastraError) {\n throw new HTTPException(getHttpStatusForMastraError(error.id) as StatusCode, { message: error.message });\n }\n return handleError(error, 'Error clustering failures');\n }\n },\n});\n"]}
@@ -22,5 +22,5 @@ function handleError(error, defaultMessage) {
22
22
  }
23
23
 
24
24
  export { formatZodError, handleError };
25
- //# sourceMappingURL=chunk-NA7LKQPZ.js.map
26
- //# sourceMappingURL=chunk-NA7LKQPZ.js.map
25
+ //# sourceMappingURL=chunk-P23KBWKB.js.map
26
+ //# sourceMappingURL=chunk-P23KBWKB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/error.ts"],"names":[],"mappings":";;;AAmBO,SAAS,cAAA,CACd,OACA,OAAA,EACsE;AACtE,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,MAAA,CAAO,GAAA,CAAI,CAAA,CAAA,MAAM;AAAA,IACpC,KAAA,EAAO,CAAA,CAAE,IAAA,CAAK,MAAA,GAAS,IAAI,CAAA,CAAE,IAAA,CAAK,GAAA,CAAI,CAAA,CAAA,KAAK,OAAO,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,GAAI,MAAA;AAAA,IAClE,SAAS,CAAA,CAAE;AAAA,GACb,CAAE,CAAA;AAEF,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,WAAW,OAAO,CAAA,CAAA;AAAA,IACzB;AAAA,GACF;AACF;AAGO,SAAS,WAAA,CAAY,OAAgB,cAAA,EAA+B;AACzE,EAAA,MAAM,QAAA,GAAW,KAAA;AAEjB,EAAA,MAAM,cAAA,GAAiB,QAAA,CAAS,MAAA,IAAU,QAAA,CAAS,SAAS,MAAA,IAAU,GAAA;AAEtE,EAAA,MAAM,IAAI,cAAc,cAAA,EAA8B;AAAA,IACpD,OAAA,EAAS,SAAS,OAAA,IAAW,cAAA;AAAA,IAC7B,OAAO,QAAA,CAAS,KAAA;AAAA,IAChB,OAAO,QAAA,CAAS;AAAA,GACjB,CAAA;AACH","file":"chunk-P23KBWKB.js","sourcesContent":["import { HTTPException } from '../http-exception';\nimport type { StatusCode } from '../http-exception';\nimport type { ApiError } from '../types';\n\n/**\n * Duck-typed interface for ZodError-like objects.\n * Note: Zod v4 uses PropertyKey[] (string | number | symbol) for path.\n */\ninterface ZodErrorLike {\n issues: Array<{\n path: PropertyKey[];\n message: string;\n }>;\n}\n\n/**\n * Formats a ZodError into a structured validation error response.\n * Returns an object with an error message and an array of field-specific issues.\n */\nexport function formatZodError(\n error: ZodErrorLike,\n context: string,\n): { error: string; issues: Array<{ field: string; message: string }> } {\n const issues = error.issues.map(e => ({\n field: e.path.length > 0 ? e.path.map(p => String(p)).join('.') : 'root',\n message: e.message,\n }));\n\n return {\n error: `Invalid ${context}`,\n issues,\n };\n}\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string): never {\n const apiError = error as ApiError;\n\n const apiErrorStatus = apiError.status || apiError.details?.status || 500;\n\n throw new HTTPException(apiErrorStatus as StatusCode, {\n message: apiError.message || defaultMessage,\n stack: apiError.stack,\n cause: apiError.cause,\n });\n}\n"]}
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ var v4 = require('zod/v4');
4
+
5
+ // src/server/schemas/default-options.ts
6
+ var defaultOptionsSchema = v4.z.object({
7
+ /** Unique identifier for this execution run */
8
+ runId: v4.z.string().optional(),
9
+ /** Save messages incrementally after each stream step completes (default: false) */
10
+ savePerStep: v4.z.boolean().optional(),
11
+ /** Maximum number of steps to run */
12
+ maxSteps: v4.z.number().optional(),
13
+ /** Provider-specific options passed to the language model */
14
+ /** Tools that are active for this execution (stored as tool IDs) */
15
+ activeTools: v4.z.array(v4.z.string()).optional(),
16
+ /** Maximum number of times processors can trigger a retry */
17
+ maxProcessorRetries: v4.z.number().optional(),
18
+ /** Tool selection strategy: 'auto', 'none', 'required', or specific tools */
19
+ toolChoice: v4.z.union([
20
+ v4.z.literal("auto"),
21
+ v4.z.literal("none"),
22
+ v4.z.literal("required"),
23
+ v4.z.object({ type: v4.z.literal("tool"), toolName: v4.z.string() })
24
+ ]).optional(),
25
+ /** Model-specific settings like temperature, maxTokens, topP, etc. */
26
+ modelSettings: v4.z.object({
27
+ temperature: v4.z.number().optional(),
28
+ maxTokens: v4.z.number().optional(),
29
+ topP: v4.z.number().optional(),
30
+ topK: v4.z.number().optional(),
31
+ frequencyPenalty: v4.z.number().optional(),
32
+ presencePenalty: v4.z.number().optional(),
33
+ stopSequences: v4.z.array(v4.z.string()).optional(),
34
+ seed: v4.z.number().optional(),
35
+ maxRetries: v4.z.number().optional()
36
+ }).optional(),
37
+ /** Whether to return detailed scoring data in the response */
38
+ returnScorerData: v4.z.boolean().optional(),
39
+ /** Tracing options for starting new traces */
40
+ tracingOptions: v4.z.object({
41
+ traceName: v4.z.string().optional(),
42
+ attributes: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
43
+ spanId: v4.z.string().optional(),
44
+ traceId: v4.z.string().optional()
45
+ }).optional(),
46
+ /** Require approval for all tool calls */
47
+ requireToolApproval: v4.z.boolean().optional(),
48
+ /** Automatically resume suspended tools */
49
+ autoResumeSuspendedTools: v4.z.boolean().optional(),
50
+ /** Maximum number of tool calls to execute concurrently */
51
+ toolCallConcurrency: v4.z.number().optional(),
52
+ /** Whether to include raw chunks in the stream output */
53
+ includeRawChunks: v4.z.boolean().optional()
54
+ }).passthrough().describe("Default options for agent execution");
55
+
56
+ exports.defaultOptionsSchema = defaultOptionsSchema;
57
+ //# sourceMappingURL=chunk-PFKYMKIH.cjs.map
58
+ //# sourceMappingURL=chunk-PFKYMKIH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/schemas/default-options.ts"],"names":["z"],"mappings":";;;;;AASO,IAAM,oBAAA,GAAuBA,KACjC,MAAA,CAAO;AAAA;AAAA,EAEN,KAAA,EAAOA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAG3B,WAAA,EAAaA,IAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA,EAGlC,QAAA,EAAUA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA;AAAA,EAK9B,aAAaA,IAAA,CAAE,KAAA,CAAMA,KAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA;AAAA,EAG1C,mBAAA,EAAqBA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAGzC,UAAA,EAAYA,KACT,KAAA,CAAM;AAAA,IACLA,IAAA,CAAE,QAAQ,MAAM,CAAA;AAAA,IAChBA,IAAA,CAAE,QAAQ,MAAM,CAAA;AAAA,IAChBA,IAAA,CAAE,QAAQ,UAAU,CAAA;AAAA,IACpBA,IAAA,CAAE,MAAA,CAAO,EAAE,IAAA,EAAMA,IAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,EAAG,QAAA,EAAUA,IAAA,CAAE,MAAA,EAAO,EAAG;AAAA,GAC3D,EACA,QAAA,EAAS;AAAA;AAAA,EAGZ,aAAA,EAAeA,KACZ,MAAA,CAAO;AAAA,IACN,WAAA,EAAaA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,SAAA,EAAWA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC/B,IAAA,EAAMA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,IAAA,EAAMA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,gBAAA,EAAkBA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACtC,eAAA,EAAiBA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACrC,eAAeA,IAAA,CAAE,KAAA,CAAMA,KAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,IAC5C,IAAA,EAAMA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,UAAA,EAAYA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GACjC,EACA,QAAA,EAAS;AAAA;AAAA,EAGZ,gBAAA,EAAkBA,IAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA,EAGvC,cAAA,EAAgBA,KACb,MAAA,CAAO;AAAA,IACN,SAAA,EAAWA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC/B,UAAA,EAAYA,IAAA,CAAE,MAAA,CAAOA,IAAA,CAAE,MAAA,IAAUA,IAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS;AAAA,IACvD,MAAA,EAAQA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC5B,OAAA,EAASA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC9B,EACA,QAAA,EAAS;AAAA;AAAA,EAGZ,mBAAA,EAAqBA,IAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA,EAG1C,wBAAA,EAA0BA,IAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA,EAG/C,mBAAA,EAAqBA,IAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAGzC,gBAAA,EAAkBA,IAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAChC,CAAC,CAAA,CACA,WAAA,EAAY,CACZ,QAAA,CAAS,qCAAqC","file":"chunk-PFKYMKIH.cjs","sourcesContent":["import { z } from 'zod/v4';\n\n/**\n * Schema for agent default options.\n * Based on StorageDefaultOptions type from @mastra/core.\n *\n * This schema represents the serializable subset of AgentExecutionOptionsBase,\n * excluding callbacks, runtime objects, and function references.\n */\nexport const defaultOptionsSchema = z\n .object({\n /** Unique identifier for this execution run */\n runId: z.string().optional(),\n\n /** Save messages incrementally after each stream step completes (default: false) */\n savePerStep: z.boolean().optional(),\n\n /** Maximum number of steps to run */\n maxSteps: z.number().optional(),\n\n /** Provider-specific options passed to the language model */\n\n /** Tools that are active for this execution (stored as tool IDs) */\n activeTools: z.array(z.string()).optional(),\n\n /** Maximum number of times processors can trigger a retry */\n maxProcessorRetries: z.number().optional(),\n\n /** Tool selection strategy: 'auto', 'none', 'required', or specific tools */\n toolChoice: z\n .union([\n z.literal('auto'),\n z.literal('none'),\n z.literal('required'),\n z.object({ type: z.literal('tool'), toolName: z.string() }),\n ])\n .optional(),\n\n /** Model-specific settings like temperature, maxTokens, topP, etc. */\n modelSettings: z\n .object({\n temperature: z.number().optional(),\n maxTokens: z.number().optional(),\n topP: z.number().optional(),\n topK: z.number().optional(),\n frequencyPenalty: z.number().optional(),\n presencePenalty: z.number().optional(),\n stopSequences: z.array(z.string()).optional(),\n seed: z.number().optional(),\n maxRetries: z.number().optional(),\n })\n .optional(),\n\n /** Whether to return detailed scoring data in the response */\n returnScorerData: z.boolean().optional(),\n\n /** Tracing options for starting new traces */\n tracingOptions: z\n .object({\n traceName: z.string().optional(),\n attributes: z.record(z.string(), z.unknown()).optional(),\n spanId: z.string().optional(),\n traceId: z.string().optional(),\n })\n .optional(),\n\n /** Require approval for all tool calls */\n requireToolApproval: z.boolean().optional(),\n\n /** Automatically resume suspended tools */\n autoResumeSuspendedTools: z.boolean().optional(),\n\n /** Maximum number of tool calls to execute concurrently */\n toolCallConcurrency: z.number().optional(),\n\n /** Whether to include raw chunks in the stream output */\n includeRawChunks: z.boolean().optional(),\n })\n .passthrough() // Allow additional provider-specific options\n .describe('Default options for agent execution');\n"]}
@@ -1,5 +1,5 @@
1
- import { createPagePaginationSchema, paginationInfoSchema, successResponseSchema } from './chunk-USZD5AX2.js';
2
- import z from 'zod';
1
+ import { createPagePaginationSchema, paginationInfoSchema, successResponseSchema } from './chunk-S2QK2XG2.js';
2
+ import { z } from 'zod/v4';
3
3
 
4
4
  var threadIdPathParams = z.object({
5
5
  threadId: z.string().describe("Unique identifier for the conversation thread")
@@ -339,5 +339,5 @@ var awaitBufferStatusResponseSchema = z.object({
339
339
  });
340
340
 
341
341
  export { agentIdQuerySchema, awaitBufferStatusBodySchema, awaitBufferStatusResponseSchema, cloneThreadBodySchema, cloneThreadResponseSchema, createThreadBodySchema, createThreadNetworkQuerySchema, deleteMessagesBodySchema, deleteMessagesNetworkQuerySchema, deleteMessagesQuerySchema, deleteMessagesResponseSchema, deleteThreadNetworkQuerySchema, deleteThreadQuerySchema, deleteThreadResponseSchema, getMemoryConfigQuerySchema, getMemoryStatusNetworkQuerySchema, getMemoryStatusQuerySchema, getObservationalMemoryQuerySchema, getObservationalMemoryResponseSchema, getThreadByIdNetworkQuerySchema, getThreadByIdQuerySchema, getThreadByIdResponseSchema, getWorkingMemoryQuerySchema, getWorkingMemoryResponseSchema, listMessagesNetworkQuerySchema, listMessagesQuerySchema, listMessagesResponseSchema, listThreadsNetworkQuerySchema, listThreadsQuerySchema, listThreadsResponseSchema, memoryConfigResponseSchema, memoryStatusResponseSchema, optionalAgentIdQuerySchema, saveMessagesBodySchema, saveMessagesNetworkQuerySchema, saveMessagesResponseSchema, searchMemoryQuerySchema, searchMemoryResponseSchema, threadIdPathParams, updateThreadBodySchema, updateThreadNetworkQuerySchema, updateWorkingMemoryBodySchema, updateWorkingMemoryResponseSchema };
342
- //# sourceMappingURL=chunk-FYO3ZHLO.js.map
343
- //# sourceMappingURL=chunk-FYO3ZHLO.js.map
342
+ //# sourceMappingURL=chunk-PIORYI6S.js.map
343
+ //# sourceMappingURL=chunk-PIORYI6S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/schemas/memory.ts"],"names":[],"mappings":"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","file":"chunk-PIORYI6S.js","sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema, createPagePaginationSchema, successResponseSchema } from './common';\n\n// Path parameter schemas\nexport const threadIdPathParams = z.object({\n threadId: z.string().describe('Unique identifier for the conversation thread'),\n});\n\n/**\n * Common query parameter: required agent ID\n */\nexport const agentIdQuerySchema = z.object({\n agentId: z.string(),\n});\n\n/**\n * Common query parameter: optional agent ID\n * Used for read operations that can fall back to storage when agentId is not provided\n */\nexport const optionalAgentIdQuerySchema = z.object({\n agentId: z.string().optional(),\n});\n\n/**\n * Storage order by configuration for threads and agents (have both createdAt and updatedAt)\n * Handles JSON parsing from query strings\n */\nconst storageOrderBySchema = z.preprocess(\n val => {\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n return undefined;\n }\n }\n return val;\n },\n z\n .object({\n field: z.enum(['createdAt', 'updatedAt']).optional(),\n direction: z.enum(['ASC', 'DESC']).optional(),\n })\n .optional(),\n);\n\n/**\n * Storage order by configuration for messages (only have createdAt)\n * Handles JSON parsing from query strings\n */\nconst messageOrderBySchema = z.preprocess(\n val => {\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n return undefined;\n }\n }\n return val;\n },\n z\n .object({\n field: z.enum(['createdAt']).optional(),\n direction: z.enum(['ASC', 'DESC']).optional(),\n })\n .optional(),\n);\n\n/**\n * Include schema for message listing - handles JSON parsing from query strings\n */\nconst includeSchema = z.preprocess(\n val => {\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.array will reject string type)\n return val;\n }\n }\n return val;\n },\n z\n .array(\n z.object({\n id: z.string(),\n threadId: z.string().optional(),\n withPreviousMessages: z.number().optional(),\n withNextMessages: z.number().optional(),\n }),\n )\n .optional(),\n);\n\n/**\n * Filter schema for message listing - handles JSON parsing from query strings\n */\nconst filterSchema = z.preprocess(\n val => {\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.object will reject string type)\n return val;\n }\n }\n return val;\n },\n z\n .object({\n dateRange: z\n .object({\n start: z.coerce.date().optional(),\n end: z.coerce.date().optional(),\n })\n .optional(),\n roles: z.array(z.string()).optional(),\n })\n .optional(),\n);\n\n/**\n * Memory config schema - handles JSON parsing from query strings\n */\nconst memoryConfigSchema = z.preprocess(val => {\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n}, z.record(z.string(), z.unknown()).optional());\n\n/**\n * Thread object structure\n */\nconst threadSchema = z.object({\n id: z.string(),\n title: z.string().optional(),\n resourceId: z.string(),\n createdAt: z.date(),\n updatedAt: z.date(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Message structure for storage\n * Extends coreMessageSchema with storage-specific fields\n */\nconst messageSchema = z.any();\n// const messageSchema = coreMessageSchema.extend({\n// id: z.string(),\n// createdAt: z.coerce.date(),\n// threadId: z.string().optional(),\n// resourceId: z.string().optional(),\n// });\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\n/**\n * GET /api/memory/status\n * Includes optional resourceId and threadId for OM status lookup\n */\nexport const getMemoryStatusQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * GET /memory/config\n */\nexport const getMemoryConfigQuerySchema = agentIdQuerySchema;\n\n/**\n * GET /memory/threads\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - when omitted, returns all threads\n * metadata is optional - filters threads by metadata key-value pairs (AND logic)\n */\nexport const listThreadsQuerySchema = createPagePaginationSchema(100).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n metadata: z.preprocess(\n val => {\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n },\n z.optional(z.record(z.string(), z.any())),\n ),\n orderBy: storageOrderBySchema,\n});\n\n/**\n * GET /memory/threads/:threadId\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const getThreadByIdQuerySchema = optionalAgentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * GET /memory/threads/:threadId/messages\n * agentId is optional - can use storage fallback when not provided\n */\nexport const listMessagesQuerySchema = createPagePaginationSchema(40).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n orderBy: messageOrderBySchema,\n include: includeSchema,\n filter: filterSchema,\n});\n\n/**\n * GET /memory/threads/:threadId/working-memory\n */\nexport const getWorkingMemoryQuerySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n memoryConfig: memoryConfigSchema,\n});\n\n/**\n * DELETE /memory/threads/:threadId\n * agentId is required\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteThreadQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * POST /memory/messages/delete\n * agentId is required\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteMessagesQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n// ============================================================================\n// Legacy /network Query Parameter Schemas (backward compatibility)\n// ============================================================================\n\n/**\n * GET /memory/network/status\n */\nexport const getMemoryStatusNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * GET /memory/network/threads\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - when omitted, returns all threads\n * metadata is optional - filters threads by metadata key-value pairs (AND logic)\n */\nexport const listThreadsNetworkQuerySchema = createPagePaginationSchema(100).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n metadata: z.preprocess(\n val => {\n if (typeof val === 'string') {\n try {\n return JSON.parse(val);\n } catch {\n // Return invalid string to fail validation (z.record will reject string type)\n return val;\n }\n }\n return val;\n },\n z.optional(z.record(z.string(), z.any())),\n ),\n orderBy: storageOrderBySchema,\n});\n\n/**\n * GET /memory/network/threads/:threadId\n * agentId is optional - can use storage fallback when not provided\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const getThreadByIdNetworkQuerySchema = optionalAgentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * GET /memory/network/threads/:threadId/messages\n * agentId is optional - can use storage fallback when not provided\n */\nexport const listMessagesNetworkQuerySchema = createPagePaginationSchema(40).extend({\n agentId: z.string().optional(),\n resourceId: z.string().optional(),\n orderBy: messageOrderBySchema,\n include: includeSchema,\n filter: filterSchema,\n});\n\n/**\n * POST /memory/network/save-messages\n */\nexport const saveMessagesNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * POST /memory/network/threads\n */\nexport const createThreadNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * PATCH /memory/network/threads/:threadId\n */\nexport const updateThreadNetworkQuerySchema = agentIdQuerySchema;\n\n/**\n * DELETE /memory/network/threads/:threadId\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteThreadNetworkQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n/**\n * POST /memory/network/messages/delete\n * resourceId is optional - used for ownership validation fallback when not set via middleware\n */\nexport const deleteMessagesNetworkQuerySchema = agentIdQuerySchema.extend({\n resourceId: z.string().optional(),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/**\n * Response for GET /memory/status\n */\nexport const memoryStatusResponseSchema = z.object({\n result: z.boolean(),\n observationalMemory: z\n .object({\n enabled: z.boolean(),\n hasRecord: z.boolean().optional(),\n originType: z.string().optional(),\n lastObservedAt: z.date().optional(),\n tokenCount: z.number().optional(),\n observationTokenCount: z.number().optional(),\n isObserving: z.boolean().optional(),\n isReflecting: z.boolean().optional(),\n })\n .optional(),\n});\n\n/**\n * Observational Memory config schema for API responses\n */\nconst observationalMemoryConfigSchema = z.object({\n enabled: z.boolean(),\n scope: z.enum(['thread', 'resource']).optional(),\n shareTokenBudget: z.boolean().optional(),\n messageTokens: z.union([z.number(), z.object({ min: z.number(), max: z.number() })]).optional(),\n observationTokens: z.union([z.number(), z.object({ min: z.number(), max: z.number() })]).optional(),\n observationModel: z.string().optional(),\n reflectionModel: z.string().optional(),\n});\n\n/**\n * Response for GET /memory/config\n * MemoryConfig is complex with many optional fields - using passthrough\n */\nexport const memoryConfigResponseSchema = z.object({\n config: z\n .object({\n lastMessages: z.union([z.number(), z.literal(false)]).optional(),\n semanticRecall: z.union([z.boolean(), z.any()]).optional(),\n workingMemory: z.any().optional(),\n observationalMemory: observationalMemoryConfigSchema.optional(),\n })\n .nullable(),\n});\n\n/**\n * Response for GET /memory/threads\n */\nexport const listThreadsResponseSchema = paginationInfoSchema.extend({\n threads: z.array(threadSchema),\n});\n\n/**\n * Response for GET /memory/threads/:threadId\n */\nexport const getThreadByIdResponseSchema = threadSchema;\n\n/**\n * Response for GET /memory/threads/:threadId/messages\n */\nexport const listMessagesResponseSchema = z.object({\n messages: z.array(messageSchema),\n uiMessages: z.unknown(), // Converted messages in UI format\n});\n\n/**\n * Response for GET /memory/threads/:threadId/working-memory\n */\nexport const getWorkingMemoryResponseSchema = z.object({\n workingMemory: z.unknown(), // Can be string or structured object depending on template\n source: z.enum(['thread', 'resource']),\n workingMemoryTemplate: z.unknown(), // Template structure varies\n threadExists: z.boolean(),\n});\n\n// ============================================================================\n// Body Parameter Schemas for POST/PUT/DELETE\n// ============================================================================\n\n/**\n * Body schema for POST /memory/messages\n */\nexport const saveMessagesBodySchema = z.object({\n messages: z.array(messageSchema),\n});\n\n/**\n * Body schema for POST /memory/threads\n */\nexport const createThreadBodySchema = z.object({\n resourceId: z.string(),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * Body schema for PUT /memory/threads/:threadId\n */\nexport const updateThreadBodySchema = z.object({\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n resourceId: z.string().optional(),\n});\n\n/**\n * Body schema for PUT /memory/threads/:threadId/working-memory\n */\nexport const updateWorkingMemoryBodySchema = z.object({\n workingMemory: z.string(),\n resourceId: z.string().optional(),\n memoryConfig: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Body schema for POST /memory/messages/delete\n * Accepts: string | string[] | { id: string } | { id: string }[]\n */\nexport const deleteMessagesBodySchema = z.object({\n messageIds: z.union([\n z.string(),\n z.array(z.string()),\n z.object({ id: z.string() }),\n z.array(z.object({ id: z.string() })),\n ]),\n});\n\n/**\n * Query schema for GET /memory/search\n */\nexport const searchMemoryQuerySchema = z.object({\n agentId: z.string(),\n searchQuery: z.string(),\n resourceId: z.string(),\n threadId: z.string().optional(),\n limit: z.coerce.number().optional().default(20),\n memoryConfig: memoryConfigSchema,\n});\n\n/**\n * Response schemas\n */\nexport const saveMessagesResponseSchema = z.object({\n messages: z.array(messageSchema),\n});\n\nexport const deleteThreadResponseSchema = z.object({\n result: z.string(),\n});\n\nexport const updateWorkingMemoryResponseSchema = successResponseSchema;\n\nexport const deleteMessagesResponseSchema = successResponseSchema.extend({\n message: z.string(),\n});\n\nexport const searchMemoryResponseSchema = z.object({\n results: z.array(z.unknown()),\n count: z.number(),\n query: z.string(),\n searchScope: z.string().optional(),\n searchType: z.string().optional(),\n});\n\n/**\n * Body schema for POST /memory/threads/:threadId/clone\n */\nexport const cloneThreadBodySchema = z.object({\n newThreadId: z.string().optional(),\n resourceId: z.string().optional(),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n options: z\n .object({\n messageLimit: z.number().optional(),\n messageFilter: z\n .object({\n startDate: z.coerce.date().optional(),\n endDate: z.coerce.date().optional(),\n messageIds: z.array(z.string()).optional(),\n })\n .optional(),\n })\n .optional(),\n});\n\n/**\n * Response schema for POST /memory/threads/:threadId/clone\n */\nexport const cloneThreadResponseSchema = z.object({\n thread: threadSchema,\n clonedMessages: z.array(messageSchema),\n});\n\n// ============================================================================\n// Observational Memory Schemas\n// ============================================================================\n\n/**\n * Query schema for GET /api/memory/observational-memory\n */\nexport const getObservationalMemoryQuerySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * Observational Memory record schema for API responses\n * Matches the ObservationalMemoryRecord type from @mastra/core/storage\n */\nconst observationalMemoryRecordSchema = z.object({\n id: z.string(),\n scope: z.enum(['thread', 'resource']),\n resourceId: z.string(),\n threadId: z.string().nullable(),\n activeObservations: z.string(),\n bufferedObservations: z.string().optional(),\n bufferedReflection: z.string().optional(),\n originType: z.enum(['initial', 'observation', 'reflection']),\n generationCount: z.number(),\n lastObservedAt: z.date().optional(),\n totalTokensObserved: z.number(),\n observationTokenCount: z.number(),\n pendingMessageTokens: z.number(),\n isObserving: z.boolean(),\n isReflecting: z.boolean(),\n config: z.record(z.string(), z.unknown()),\n metadata: z.record(z.string(), z.unknown()).optional(),\n createdAt: z.date(),\n updatedAt: z.date(),\n});\n\n/**\n * Response schema for GET /api/memory/observational-memory\n */\nexport const getObservationalMemoryResponseSchema = z.object({\n record: observationalMemoryRecordSchema.nullable(),\n history: z.array(observationalMemoryRecordSchema).optional(),\n});\n\n/**\n * Body schema for POST /api/memory/observational-memory/buffer-status\n */\nexport const awaitBufferStatusBodySchema = z.object({\n agentId: z.string(),\n resourceId: z.string().optional(),\n threadId: z.string().optional(),\n});\n\n/**\n * Response schema for POST /api/memory/observational-memory/buffer-status\n */\nexport const awaitBufferStatusResponseSchema = z.object({\n record: observationalMemoryRecordSchema.nullable(),\n});\n"]}