@mastra/server 1.51.0-alpha.11 → 1.51.0-alpha.13

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 (339) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{api-schema-manifest-G2SC5CFQ.cjs → api-schema-manifest-4TI7FSNK.cjs} +6 -6
  3. package/dist/{api-schema-manifest-G2SC5CFQ.cjs.map → api-schema-manifest-4TI7FSNK.cjs.map} +1 -1
  4. package/dist/{api-schema-manifest-UXI5JTRL.js → api-schema-manifest-AJIZCNSL.js} +4 -4
  5. package/dist/{api-schema-manifest-UXI5JTRL.js.map → api-schema-manifest-AJIZCNSL.js.map} +1 -1
  6. package/dist/{chunk-MCWL6335.cjs → chunk-27F2AJU2.cjs} +6 -6
  7. package/dist/{chunk-MCWL6335.cjs.map → chunk-27F2AJU2.cjs.map} +1 -1
  8. package/dist/{chunk-BWTM7QBG.js → chunk-2H2SGSP4.js} +3 -3
  9. package/dist/{chunk-BWTM7QBG.js.map → chunk-2H2SGSP4.js.map} +1 -1
  10. package/dist/{chunk-O7HH6SBJ.cjs → chunk-2S4SNS5D.cjs} +10 -10
  11. package/dist/{chunk-O7HH6SBJ.cjs.map → chunk-2S4SNS5D.cjs.map} +1 -1
  12. package/dist/{chunk-CDVWZOPU.js → chunk-3F5MV2ED.js} +3 -3
  13. package/dist/{chunk-CDVWZOPU.js.map → chunk-3F5MV2ED.js.map} +1 -1
  14. package/dist/{chunk-VL23G2YJ.js → chunk-44G63V6E.js} +5 -5
  15. package/dist/{chunk-VL23G2YJ.js.map → chunk-44G63V6E.js.map} +1 -1
  16. package/dist/{chunk-FEUXFWF5.cjs → chunk-4VDJYNCU.cjs} +4 -4
  17. package/dist/{chunk-FEUXFWF5.cjs.map → chunk-4VDJYNCU.cjs.map} +1 -1
  18. package/dist/{chunk-HNOAHMN4.cjs → chunk-52LEKN7E.cjs} +6 -6
  19. package/dist/{chunk-HNOAHMN4.cjs.map → chunk-52LEKN7E.cjs.map} +1 -1
  20. package/dist/{chunk-XYWMMHEC.js → chunk-5535L5CG.js} +3 -3
  21. package/dist/{chunk-XYWMMHEC.js.map → chunk-5535L5CG.js.map} +1 -1
  22. package/dist/{chunk-PJPR5YFS.js → chunk-5VEVLTZC.js} +5 -5
  23. package/dist/{chunk-PJPR5YFS.js.map → chunk-5VEVLTZC.js.map} +1 -1
  24. package/dist/{chunk-MSTNHQU2.cjs → chunk-6LFFIOT4.cjs} +9 -9
  25. package/dist/{chunk-MSTNHQU2.cjs.map → chunk-6LFFIOT4.cjs.map} +1 -1
  26. package/dist/{chunk-PVPXK52S.cjs → chunk-6NNCDLZC.cjs} +29 -29
  27. package/dist/{chunk-PVPXK52S.cjs.map → chunk-6NNCDLZC.cjs.map} +1 -1
  28. package/dist/{chunk-BT4DGQFS.js → chunk-6QIJVEVN.js} +3 -3
  29. package/dist/{chunk-BT4DGQFS.js.map → chunk-6QIJVEVN.js.map} +1 -1
  30. package/dist/{chunk-3R4HNV6B.js → chunk-7NBIALK4.js} +3 -3
  31. package/dist/{chunk-3R4HNV6B.js.map → chunk-7NBIALK4.js.map} +1 -1
  32. package/dist/{chunk-DMFYLU2A.js → chunk-7PXSB34V.js} +39 -7
  33. package/dist/chunk-7PXSB34V.js.map +1 -0
  34. package/dist/{chunk-LQSQWD2F.cjs → chunk-A2NBGGMX.cjs} +8 -8
  35. package/dist/{chunk-LQSQWD2F.cjs.map → chunk-A2NBGGMX.cjs.map} +1 -1
  36. package/dist/{chunk-W2ATM2RI.cjs → chunk-APMXFPSU.cjs} +13 -13
  37. package/dist/{chunk-W2ATM2RI.cjs.map → chunk-APMXFPSU.cjs.map} +1 -1
  38. package/dist/{chunk-3RQNJCTP.cjs → chunk-AX3JNQ27.cjs} +19 -19
  39. package/dist/{chunk-3RQNJCTP.cjs.map → chunk-AX3JNQ27.cjs.map} +1 -1
  40. package/dist/{chunk-TDSDLPLC.js → chunk-BH354CYO.js} +3 -3
  41. package/dist/{chunk-TDSDLPLC.js.map → chunk-BH354CYO.js.map} +1 -1
  42. package/dist/{chunk-536ERKFJ.js → chunk-BMGJWPCE.js} +3 -3
  43. package/dist/{chunk-536ERKFJ.js.map → chunk-BMGJWPCE.js.map} +1 -1
  44. package/dist/{chunk-Q6D6YN36.js → chunk-CH5VUESZ.js} +4 -4
  45. package/dist/{chunk-Q6D6YN36.js.map → chunk-CH5VUESZ.js.map} +1 -1
  46. package/dist/{chunk-BHOFB3CF.cjs → chunk-CTYOUJ2J.cjs} +11 -11
  47. package/dist/{chunk-BHOFB3CF.cjs.map → chunk-CTYOUJ2J.cjs.map} +1 -1
  48. package/dist/{chunk-NE5VRVVK.cjs → chunk-DJGKM4TB.cjs} +4 -4
  49. package/dist/{chunk-NE5VRVVK.cjs.map → chunk-DJGKM4TB.cjs.map} +1 -1
  50. package/dist/{chunk-RRQZAJDZ.js → chunk-E43WB5QM.js} +5 -2
  51. package/dist/chunk-E43WB5QM.js.map +1 -0
  52. package/dist/{chunk-VXZGDPW2.cjs → chunk-EJFYAD2W.cjs} +8 -8
  53. package/dist/{chunk-VXZGDPW2.cjs.map → chunk-EJFYAD2W.cjs.map} +1 -1
  54. package/dist/{chunk-26WG2OUY.cjs → chunk-ELVO5SFM.cjs} +8 -8
  55. package/dist/{chunk-26WG2OUY.cjs.map → chunk-ELVO5SFM.cjs.map} +1 -1
  56. package/dist/{chunk-OI3USMND.cjs → chunk-G7RPSZUK.cjs} +71 -71
  57. package/dist/{chunk-OI3USMND.cjs.map → chunk-G7RPSZUK.cjs.map} +1 -1
  58. package/dist/{chunk-CAHPP34Z.cjs → chunk-GGPRZBVJ.cjs} +11 -11
  59. package/dist/{chunk-CAHPP34Z.cjs.map → chunk-GGPRZBVJ.cjs.map} +1 -1
  60. package/dist/{chunk-JNFYIWNB.cjs → chunk-GO6Y47XC.cjs} +101 -101
  61. package/dist/{chunk-JNFYIWNB.cjs.map → chunk-GO6Y47XC.cjs.map} +1 -1
  62. package/dist/{chunk-CP5LPQIZ.cjs → chunk-GULBOJRY.cjs} +6 -6
  63. package/dist/{chunk-CP5LPQIZ.cjs.map → chunk-GULBOJRY.cjs.map} +1 -1
  64. package/dist/{chunk-UY5FTPBZ.cjs → chunk-H32FN255.cjs} +5 -2
  65. package/dist/chunk-H32FN255.cjs.map +1 -0
  66. package/dist/{chunk-7Z7JQRMK.js → chunk-HI4E75YH.js} +3 -3
  67. package/dist/{chunk-7Z7JQRMK.js.map → chunk-HI4E75YH.js.map} +1 -1
  68. package/dist/{chunk-BJESJLXW.cjs → chunk-I5K3Z37P.cjs} +293 -287
  69. package/dist/chunk-I5K3Z37P.cjs.map +1 -0
  70. package/dist/{chunk-UUMG5HMP.cjs → chunk-IEEP4JWJ.cjs} +12 -12
  71. package/dist/{chunk-UUMG5HMP.cjs.map → chunk-IEEP4JWJ.cjs.map} +1 -1
  72. package/dist/{chunk-Y5DUPEQF.cjs → chunk-IKIMKEA3.cjs} +8 -8
  73. package/dist/{chunk-Y5DUPEQF.cjs.map → chunk-IKIMKEA3.cjs.map} +1 -1
  74. package/dist/{chunk-ZSMQDHMV.cjs → chunk-IRIBLEBI.cjs} +10 -10
  75. package/dist/{chunk-ZSMQDHMV.cjs.map → chunk-IRIBLEBI.cjs.map} +1 -1
  76. package/dist/{chunk-PWW7XZFS.js → chunk-IWIWEX2Y.js} +5 -5
  77. package/dist/{chunk-PWW7XZFS.js.map → chunk-IWIWEX2Y.js.map} +1 -1
  78. package/dist/{chunk-7RAQVA42.cjs → chunk-J6TRVKBB.cjs} +11 -11
  79. package/dist/{chunk-7RAQVA42.cjs.map → chunk-J6TRVKBB.cjs.map} +1 -1
  80. package/dist/{chunk-WRAFGZ43.js → chunk-JGEOOOSP.js} +3 -3
  81. package/dist/{chunk-WRAFGZ43.js.map → chunk-JGEOOOSP.js.map} +1 -1
  82. package/dist/{chunk-KGZYP6YS.js → chunk-JQWULXKN.js} +5 -5
  83. package/dist/{chunk-KGZYP6YS.js.map → chunk-JQWULXKN.js.map} +1 -1
  84. package/dist/{chunk-KLD4KYXH.cjs → chunk-K6WZK5RX.cjs} +21 -21
  85. package/dist/{chunk-KLD4KYXH.cjs.map → chunk-K6WZK5RX.cjs.map} +1 -1
  86. package/dist/{chunk-MRD47GBP.cjs → chunk-K7KLUGGM.cjs} +74 -74
  87. package/dist/{chunk-MRD47GBP.cjs.map → chunk-K7KLUGGM.cjs.map} +1 -1
  88. package/dist/{chunk-6ZXLYXPA.js → chunk-KN6HJVZK.js} +4 -4
  89. package/dist/{chunk-6ZXLYXPA.js.map → chunk-KN6HJVZK.js.map} +1 -1
  90. package/dist/{chunk-OGYVHIJQ.cjs → chunk-KOMWGC24.cjs} +7 -7
  91. package/dist/{chunk-OGYVHIJQ.cjs.map → chunk-KOMWGC24.cjs.map} +1 -1
  92. package/dist/{chunk-RK2FLBQ5.js → chunk-LTKBD2RQ.js} +3 -3
  93. package/dist/{chunk-RK2FLBQ5.js.map → chunk-LTKBD2RQ.js.map} +1 -1
  94. package/dist/{chunk-5QB32PNO.cjs → chunk-LXP7DQAP.cjs} +37 -37
  95. package/dist/{chunk-5QB32PNO.cjs.map → chunk-LXP7DQAP.cjs.map} +1 -1
  96. package/dist/{chunk-GCGJKH4A.cjs → chunk-LYOM6EQP.cjs} +8 -8
  97. package/dist/{chunk-GCGJKH4A.cjs.map → chunk-LYOM6EQP.cjs.map} +1 -1
  98. package/dist/{chunk-F7KRU6ZU.js → chunk-M7OJEIOD.js} +3 -3
  99. package/dist/{chunk-F7KRU6ZU.js.map → chunk-M7OJEIOD.js.map} +1 -1
  100. package/dist/{chunk-MASP4GYH.js → chunk-MCRQRKRI.js} +3 -3
  101. package/dist/{chunk-MASP4GYH.js.map → chunk-MCRQRKRI.js.map} +1 -1
  102. package/dist/{chunk-SS7P2THJ.js → chunk-MG2QPYJD.js} +41 -41
  103. package/dist/{chunk-SS7P2THJ.js.map → chunk-MG2QPYJD.js.map} +1 -1
  104. package/dist/{chunk-FPFSXIHI.js → chunk-NMIBDLQD.js} +4 -4
  105. package/dist/{chunk-FPFSXIHI.js.map → chunk-NMIBDLQD.js.map} +1 -1
  106. package/dist/{chunk-2E3UBZ6Z.js → chunk-OMNQYWK3.js} +2 -2
  107. package/dist/chunk-OMNQYWK3.js.map +1 -0
  108. package/dist/{chunk-TPM6PMWU.js → chunk-ONEOOPSN.js} +3 -3
  109. package/dist/{chunk-TPM6PMWU.js.map → chunk-ONEOOPSN.js.map} +1 -1
  110. package/dist/{chunk-BXMGLJWL.js → chunk-OSTYHNSM.js} +3 -3
  111. package/dist/{chunk-BXMGLJWL.js.map → chunk-OSTYHNSM.js.map} +1 -1
  112. package/dist/{chunk-XEHXAE6M.cjs → chunk-OU7J7PA7.cjs} +4 -4
  113. package/dist/{chunk-XEHXAE6M.cjs.map → chunk-OU7J7PA7.cjs.map} +1 -1
  114. package/dist/{chunk-H3CPBOE4.js → chunk-P6EQTV2Y.js} +3 -3
  115. package/dist/{chunk-H3CPBOE4.js.map → chunk-P6EQTV2Y.js.map} +1 -1
  116. package/dist/{chunk-2NGKAQQE.cjs → chunk-QAKI6K3C.cjs} +5 -5
  117. package/dist/{chunk-2NGKAQQE.cjs.map → chunk-QAKI6K3C.cjs.map} +1 -1
  118. package/dist/{chunk-YN4RDOPA.js → chunk-QDVO3DAW.js} +3 -3
  119. package/dist/{chunk-YN4RDOPA.js.map → chunk-QDVO3DAW.js.map} +1 -1
  120. package/dist/{chunk-ORQHCHAU.js → chunk-QJEXUABN.js} +4 -4
  121. package/dist/{chunk-ORQHCHAU.js.map → chunk-QJEXUABN.js.map} +1 -1
  122. package/dist/{chunk-K3XMNUQT.js → chunk-QJHZIGQG.js} +3 -3
  123. package/dist/{chunk-K3XMNUQT.js.map → chunk-QJHZIGQG.js.map} +1 -1
  124. package/dist/{chunk-ZMMHUTQG.cjs → chunk-QOGEYWQA.cjs} +24 -24
  125. package/dist/{chunk-ZMMHUTQG.cjs.map → chunk-QOGEYWQA.cjs.map} +1 -1
  126. package/dist/{chunk-GG7J3ITE.cjs → chunk-RKGCJXZO.cjs} +6 -6
  127. package/dist/{chunk-GG7J3ITE.cjs.map → chunk-RKGCJXZO.cjs.map} +1 -1
  128. package/dist/{chunk-U3AC2DM6.js → chunk-RKUFUE6P.js} +3 -3
  129. package/dist/{chunk-U3AC2DM6.js.map → chunk-RKUFUE6P.js.map} +1 -1
  130. package/dist/{chunk-FTXUZBZI.cjs → chunk-RSCLEVN3.cjs} +28 -28
  131. package/dist/{chunk-FTXUZBZI.cjs.map → chunk-RSCLEVN3.cjs.map} +1 -1
  132. package/dist/{chunk-CCVV75AI.js → chunk-SB4CG73V.js} +3 -3
  133. package/dist/{chunk-CCVV75AI.js.map → chunk-SB4CG73V.js.map} +1 -1
  134. package/dist/{chunk-2ONW75MN.cjs → chunk-SCCERKQS.cjs} +5 -5
  135. package/dist/{chunk-2ONW75MN.cjs.map → chunk-SCCERKQS.cjs.map} +1 -1
  136. package/dist/{chunk-SMQOFEYY.js → chunk-SEV4GJWB.js} +4 -4
  137. package/dist/{chunk-SMQOFEYY.js.map → chunk-SEV4GJWB.js.map} +1 -1
  138. package/dist/{chunk-NQLS4Z3W.js → chunk-SH7XKBWN.js} +5 -5
  139. package/dist/{chunk-NQLS4Z3W.js.map → chunk-SH7XKBWN.js.map} +1 -1
  140. package/dist/{chunk-3YBCWOF6.js → chunk-SIBCVLYV.js} +3 -3
  141. package/dist/{chunk-3YBCWOF6.js.map → chunk-SIBCVLYV.js.map} +1 -1
  142. package/dist/{chunk-C364W23O.js → chunk-SLHJWJR3.js} +4 -4
  143. package/dist/{chunk-C364W23O.js.map → chunk-SLHJWJR3.js.map} +1 -1
  144. package/dist/{chunk-2TKEZ5UE.js → chunk-SLWYNPH6.js} +3 -3
  145. package/dist/{chunk-2TKEZ5UE.js.map → chunk-SLWYNPH6.js.map} +1 -1
  146. package/dist/{chunk-ZMETLXPM.js → chunk-SU4ZAHUZ.js} +3 -3
  147. package/dist/{chunk-ZMETLXPM.js.map → chunk-SU4ZAHUZ.js.map} +1 -1
  148. package/dist/{chunk-TR2X57M3.cjs → chunk-SX2AJUSP.cjs} +2 -2
  149. package/dist/chunk-SX2AJUSP.cjs.map +1 -0
  150. package/dist/{chunk-AYHL7EEE.cjs → chunk-SXOMGGNC.cjs} +8 -8
  151. package/dist/{chunk-AYHL7EEE.cjs.map → chunk-SXOMGGNC.cjs.map} +1 -1
  152. package/dist/{chunk-OUHXNZBK.cjs → chunk-T7JR2CZV.cjs} +16 -16
  153. package/dist/{chunk-OUHXNZBK.cjs.map → chunk-T7JR2CZV.cjs.map} +1 -1
  154. package/dist/{chunk-GME4WQE6.js → chunk-TEIKCIX2.js} +5 -5
  155. package/dist/{chunk-GME4WQE6.js.map → chunk-TEIKCIX2.js.map} +1 -1
  156. package/dist/{chunk-7BZUW6TQ.cjs → chunk-TLBW3NWJ.cjs} +8 -8
  157. package/dist/{chunk-7BZUW6TQ.cjs.map → chunk-TLBW3NWJ.cjs.map} +1 -1
  158. package/dist/{chunk-MELQ2AU3.cjs → chunk-TPB44HAO.cjs} +10 -10
  159. package/dist/{chunk-MELQ2AU3.cjs.map → chunk-TPB44HAO.cjs.map} +1 -1
  160. package/dist/{chunk-PRDZRNPQ.cjs → chunk-TS2WBQFI.cjs} +13 -13
  161. package/dist/{chunk-PRDZRNPQ.cjs.map → chunk-TS2WBQFI.cjs.map} +1 -1
  162. package/dist/{chunk-6RHPKT2B.js → chunk-U5AYX5QW.js} +4 -4
  163. package/dist/{chunk-6RHPKT2B.js.map → chunk-U5AYX5QW.js.map} +1 -1
  164. package/dist/{chunk-HIGUQ2H3.js → chunk-UO4HGWYR.js} +3 -3
  165. package/dist/{chunk-HIGUQ2H3.js.map → chunk-UO4HGWYR.js.map} +1 -1
  166. package/dist/{chunk-H4LV3HUC.js → chunk-UWJ25WPB.js} +293 -287
  167. package/dist/chunk-UWJ25WPB.js.map +1 -0
  168. package/dist/{chunk-RNDEJYFW.cjs → chunk-W4XN6DDQ.cjs} +10 -10
  169. package/dist/{chunk-RNDEJYFW.cjs.map → chunk-W4XN6DDQ.cjs.map} +1 -1
  170. package/dist/{chunk-2WRJFEJK.js → chunk-WBPOFUFH.js} +3 -3
  171. package/dist/{chunk-2WRJFEJK.js.map → chunk-WBPOFUFH.js.map} +1 -1
  172. package/dist/chunk-WDLTCIDV.cjs +744 -0
  173. package/dist/{chunk-ZIFVFLJK.cjs.map → chunk-WDLTCIDV.cjs.map} +1 -1
  174. package/dist/{chunk-AKJHICI7.js → chunk-WJAV35G4.js} +4 -4
  175. package/dist/{chunk-AKJHICI7.js.map → chunk-WJAV35G4.js.map} +1 -1
  176. package/dist/{chunk-VHW5GZRA.js → chunk-WW37XHKJ.js} +4 -4
  177. package/dist/{chunk-VHW5GZRA.js.map → chunk-WW37XHKJ.js.map} +1 -1
  178. package/dist/{chunk-VMJ6UWBH.js → chunk-XFHXVKUV.js} +3 -3
  179. package/dist/{chunk-VMJ6UWBH.js.map → chunk-XFHXVKUV.js.map} +1 -1
  180. package/dist/{chunk-44HRN3OK.cjs → chunk-XNL6KN4F.cjs} +10 -10
  181. package/dist/{chunk-44HRN3OK.cjs.map → chunk-XNL6KN4F.cjs.map} +1 -1
  182. package/dist/{chunk-YS3A5BZH.cjs → chunk-XUKT5XLE.cjs} +37 -37
  183. package/dist/{chunk-YS3A5BZH.cjs.map → chunk-XUKT5XLE.cjs.map} +1 -1
  184. package/dist/{chunk-RQDW42XU.cjs → chunk-Y6BBB5S7.cjs} +8 -8
  185. package/dist/{chunk-RQDW42XU.cjs.map → chunk-Y6BBB5S7.cjs.map} +1 -1
  186. package/dist/{chunk-AD4P2UCI.cjs → chunk-YH4H2AJO.cjs} +8 -8
  187. package/dist/{chunk-AD4P2UCI.cjs.map → chunk-YH4H2AJO.cjs.map} +1 -1
  188. package/dist/{chunk-UVGAYAEV.js → chunk-Z2QGIB47.js} +4 -4
  189. package/dist/{chunk-UVGAYAEV.js.map → chunk-Z2QGIB47.js.map} +1 -1
  190. package/dist/{chunk-FYQHPT2E.js → chunk-Z5OBB3DJ.js} +3 -3
  191. package/dist/{chunk-FYQHPT2E.js.map → chunk-Z5OBB3DJ.js.map} +1 -1
  192. package/dist/{chunk-JCJIGPVP.cjs → chunk-ZG6ZAG5V.cjs} +41 -41
  193. package/dist/{chunk-JCJIGPVP.cjs.map → chunk-ZG6ZAG5V.cjs.map} +1 -1
  194. package/dist/{chunk-X6ZXQ3MZ.cjs → chunk-ZIBI62YT.cjs} +127 -95
  195. package/dist/chunk-ZIBI62YT.cjs.map +1 -0
  196. package/dist/{chunk-ZQLMTK5J.js → chunk-ZNGJHQKB.js} +3 -3
  197. package/dist/{chunk-ZQLMTK5J.js.map → chunk-ZNGJHQKB.js.map} +1 -1
  198. package/dist/{dist-2YFKAQMY.js → dist-3IOY4UDH.js} +3 -3
  199. package/dist/{dist-2YFKAQMY.js.map → dist-3IOY4UDH.js.map} +1 -1
  200. package/dist/{dist-JWLVQJFQ.js → dist-5PUBSY65.js} +3 -3
  201. package/dist/{dist-JWLVQJFQ.js.map → dist-5PUBSY65.js.map} +1 -1
  202. package/dist/{dist-MR5IMYFM.js → dist-5RUREC34.js} +9 -9
  203. package/dist/{dist-MR5IMYFM.js.map → dist-5RUREC34.js.map} +1 -1
  204. package/dist/{dist-WBYMZPKB.cjs → dist-7ROGUSJI.cjs} +26 -26
  205. package/dist/{dist-WBYMZPKB.cjs.map → dist-7ROGUSJI.cjs.map} +1 -1
  206. package/dist/dist-BJSMOQXN.cjs +16 -0
  207. package/dist/{dist-NYM3IQLY.cjs.map → dist-BJSMOQXN.cjs.map} +1 -1
  208. package/dist/{dist-6VCC76Q3.cjs → dist-I2O6YPDX.cjs} +30 -30
  209. package/dist/{dist-6VCC76Q3.cjs.map → dist-I2O6YPDX.cjs.map} +1 -1
  210. package/dist/{dist-M3P3YMJP.cjs → dist-I5TS34XK.cjs} +28 -28
  211. package/dist/{dist-M3P3YMJP.cjs.map → dist-I5TS34XK.cjs.map} +1 -1
  212. package/dist/{dist-J4UWKVDM.js → dist-IB5HRZQW.js} +3 -3
  213. package/dist/{dist-J4UWKVDM.js.map → dist-IB5HRZQW.js.map} +1 -1
  214. package/dist/{dist-QOH7MNRH.cjs → dist-RW46FX3B.cjs} +13 -13
  215. package/dist/{dist-QOH7MNRH.cjs.map → dist-RW46FX3B.cjs.map} +1 -1
  216. package/dist/dist-SOVT5P5X.js +3 -0
  217. package/dist/{dist-CB67HEFG.js.map → dist-SOVT5P5X.js.map} +1 -1
  218. package/dist/{dist-CIZY7VDE.cjs → dist-YPPUCXOD.cjs} +20 -20
  219. package/dist/{dist-CIZY7VDE.cjs.map → dist-YPPUCXOD.cjs.map} +1 -1
  220. package/dist/{dist-IPZQFQMB.js → dist-Z62354D3.js} +3 -3
  221. package/dist/{dist-IPZQFQMB.js.map → dist-Z62354D3.js.map} +1 -1
  222. package/dist/docs/SKILL.md +1 -1
  223. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  224. package/dist/{observational-memory-SF36C4XR-VIMLDSHT.cjs → observational-memory-OJN26RQ4-DTEVO3PP.cjs} +29 -29
  225. package/dist/{observational-memory-SF36C4XR-VIMLDSHT.cjs.map → observational-memory-OJN26RQ4-DTEVO3PP.cjs.map} +1 -1
  226. package/dist/{observational-memory-SF36C4XR-2DQQF4XZ.js → observational-memory-OJN26RQ4-QC5U3UMA.js} +3 -3
  227. package/dist/{observational-memory-SF36C4XR-2DQQF4XZ.js.map → observational-memory-OJN26RQ4-QC5U3UMA.js.map} +1 -1
  228. package/dist/server/handlers/a2a.cjs +14 -14
  229. package/dist/server/handlers/a2a.js +1 -1
  230. package/dist/server/handlers/agent-builder.cjs +17 -17
  231. package/dist/server/handlers/agent-builder.js +1 -1
  232. package/dist/server/handlers/agent-controller.cjs +35 -35
  233. package/dist/server/handlers/agent-controller.js +1 -1
  234. package/dist/server/handlers/agent-versions.cjs +8 -8
  235. package/dist/server/handlers/agent-versions.js +1 -1
  236. package/dist/server/handlers/agents.cjs +48 -48
  237. package/dist/server/handlers/agents.js +1 -1
  238. package/dist/server/handlers/auth.cjs +13 -13
  239. package/dist/server/handlers/auth.js +1 -1
  240. package/dist/server/handlers/background-tasks.cjs +4 -4
  241. package/dist/server/handlers/background-tasks.js +1 -1
  242. package/dist/server/handlers/builder-registry.cjs +6 -6
  243. package/dist/server/handlers/builder-registry.js +1 -1
  244. package/dist/server/handlers/channels.cjs +5 -5
  245. package/dist/server/handlers/channels.js +1 -1
  246. package/dist/server/handlers/conversations.cjs +5 -5
  247. package/dist/server/handlers/conversations.js +1 -1
  248. package/dist/server/handlers/datasets.cjs +26 -26
  249. package/dist/server/handlers/datasets.d.ts +16 -0
  250. package/dist/server/handlers/datasets.d.ts.map +1 -1
  251. package/dist/server/handlers/datasets.js +1 -1
  252. package/dist/server/handlers/editor-builder.cjs +6 -6
  253. package/dist/server/handlers/editor-builder.js +1 -1
  254. package/dist/server/handlers/favorites-enrichment.cjs +4 -4
  255. package/dist/server/handlers/favorites-enrichment.js +1 -1
  256. package/dist/server/handlers/logs.cjs +4 -4
  257. package/dist/server/handlers/logs.js +1 -1
  258. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  259. package/dist/server/handlers/mcp-client-versions.js +1 -1
  260. package/dist/server/handlers/mcp.cjs +11 -11
  261. package/dist/server/handlers/mcp.js +1 -1
  262. package/dist/server/handlers/memory.cjs +27 -27
  263. package/dist/server/handlers/memory.js +1 -1
  264. package/dist/server/handlers/observability-new-endpoints.cjs +29 -29
  265. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  266. package/dist/server/handlers/observability-shared.cjs +9 -9
  267. package/dist/server/handlers/observability-shared.js +1 -1
  268. package/dist/server/handlers/observability.cjs +40 -40
  269. package/dist/server/handlers/observability.js +2 -2
  270. package/dist/server/handlers/processor-providers.cjs +3 -3
  271. package/dist/server/handlers/processor-providers.js +1 -1
  272. package/dist/server/handlers/processors.cjs +4 -4
  273. package/dist/server/handlers/processors.js +1 -1
  274. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  275. package/dist/server/handlers/prompt-block-versions.js +1 -1
  276. package/dist/server/handlers/responses.cjs +4 -4
  277. package/dist/server/handlers/responses.js +1 -1
  278. package/dist/server/handlers/schedules.cjs +10 -10
  279. package/dist/server/handlers/schedules.js +1 -1
  280. package/dist/server/handlers/scorer-versions.cjs +8 -8
  281. package/dist/server/handlers/scorer-versions.js +1 -1
  282. package/dist/server/handlers/scores.cjs +7 -7
  283. package/dist/server/handlers/scores.js +1 -1
  284. package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
  285. package/dist/server/handlers/stored-agent-favorites.js +1 -1
  286. package/dist/server/handlers/stored-agents.cjs +10 -10
  287. package/dist/server/handlers/stored-agents.js +1 -1
  288. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  289. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  290. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  291. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  292. package/dist/server/handlers/stored-scorers.cjs +6 -6
  293. package/dist/server/handlers/stored-scorers.js +1 -1
  294. package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
  295. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  296. package/dist/server/handlers/stored-skills.cjs +7 -7
  297. package/dist/server/handlers/stored-skills.js +1 -1
  298. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  299. package/dist/server/handlers/stored-workspaces.js +1 -1
  300. package/dist/server/handlers/system.cjs +3 -3
  301. package/dist/server/handlers/system.js +1 -1
  302. package/dist/server/handlers/tool-providers.cjs +14 -14
  303. package/dist/server/handlers/tool-providers.js +1 -1
  304. package/dist/server/handlers/tools.cjs +6 -6
  305. package/dist/server/handlers/tools.js +1 -1
  306. package/dist/server/handlers/vector.cjs +16 -16
  307. package/dist/server/handlers/vector.js +1 -1
  308. package/dist/server/handlers/workflows.cjs +27 -27
  309. package/dist/server/handlers/workflows.js +1 -1
  310. package/dist/server/handlers/workspace.cjs +26 -26
  311. package/dist/server/handlers/workspace.js +1 -1
  312. package/dist/server/handlers.cjs +28 -28
  313. package/dist/server/handlers.js +14 -14
  314. package/dist/server/schemas/datasets.d.ts +5 -0
  315. package/dist/server/schemas/datasets.d.ts.map +1 -1
  316. package/dist/server/schemas/index.cjs +43 -43
  317. package/dist/server/schemas/index.js +1 -1
  318. package/dist/server/server-adapter/index.cjs +21 -21
  319. package/dist/server/server-adapter/index.js +4 -4
  320. package/dist/server/server-adapter/routes/datasets.d.ts +16 -0
  321. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  322. package/dist/working-memory-state-OMSMSYAW-6OXJFZFI.js +3 -0
  323. package/dist/{working-memory-state-OMSMSYAW-NEULPFZX.js.map → working-memory-state-OMSMSYAW-6OXJFZFI.js.map} +1 -1
  324. package/dist/working-memory-state-OMSMSYAW-GCNI4HPX.cjs +24 -0
  325. package/dist/{working-memory-state-OMSMSYAW-4THWAGFK.cjs.map → working-memory-state-OMSMSYAW-GCNI4HPX.cjs.map} +1 -1
  326. package/package.json +6 -6
  327. package/dist/chunk-2E3UBZ6Z.js.map +0 -1
  328. package/dist/chunk-BJESJLXW.cjs.map +0 -1
  329. package/dist/chunk-DMFYLU2A.js.map +0 -1
  330. package/dist/chunk-H4LV3HUC.js.map +0 -1
  331. package/dist/chunk-RRQZAJDZ.js.map +0 -1
  332. package/dist/chunk-TR2X57M3.cjs.map +0 -1
  333. package/dist/chunk-UY5FTPBZ.cjs.map +0 -1
  334. package/dist/chunk-X6ZXQ3MZ.cjs.map +0 -1
  335. package/dist/chunk-ZIFVFLJK.cjs +0 -744
  336. package/dist/dist-CB67HEFG.js +0 -3
  337. package/dist/dist-NYM3IQLY.cjs +0 -16
  338. package/dist/working-memory-state-OMSMSYAW-4THWAGFK.cjs +0 -24
  339. package/dist/working-memory-state-OMSMSYAW-NEULPFZX.js +0 -3
@@ -4,7 +4,7 @@ var chunkC6CCPCEC_cjs = require('./chunk-C6CCPCEC.cjs');
4
4
  var chunk42M6Y2OD_cjs = require('./chunk-42M6Y2OD.cjs');
5
5
  var chunkDIG2K5CV_cjs = require('./chunk-DIG2K5CV.cjs');
6
6
  var chunkZ7LCIYK7_cjs = require('./chunk-Z7LCIYK7.cjs');
7
- var chunkTR2X57M3_cjs = require('./chunk-TR2X57M3.cjs');
7
+ var chunkSX2AJUSP_cjs = require('./chunk-SX2AJUSP.cjs');
8
8
  var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
9
9
 
10
10
  // src/server/handlers/logs.ts
@@ -14,7 +14,7 @@ chunkO7I5CWRX_cjs.__export(logs_exports, {
14
14
  LIST_LOGS_ROUTE: () => LIST_LOGS_ROUTE,
15
15
  LIST_LOG_TRANSPORTS_ROUTE: () => LIST_LOG_TRANSPORTS_ROUTE
16
16
  });
17
- var LIST_LOG_TRANSPORTS_ROUTE = chunkTR2X57M3_cjs.createRoute({
17
+ var LIST_LOG_TRANSPORTS_ROUTE = chunkSX2AJUSP_cjs.createRoute({
18
18
  method: "GET",
19
19
  path: "/logs/transports",
20
20
  responseType: "json",
@@ -35,7 +35,7 @@ var LIST_LOG_TRANSPORTS_ROUTE = chunkTR2X57M3_cjs.createRoute({
35
35
  }
36
36
  }
37
37
  });
38
- var LIST_LOGS_ROUTE = chunkTR2X57M3_cjs.createRoute({
38
+ var LIST_LOGS_ROUTE = chunkSX2AJUSP_cjs.createRoute({
39
39
  method: "GET",
40
40
  path: "/logs",
41
41
  responseType: "json",
@@ -64,7 +64,7 @@ var LIST_LOGS_ROUTE = chunkTR2X57M3_cjs.createRoute({
64
64
  }
65
65
  }
66
66
  });
67
- var LIST_LOGS_BY_RUN_ID_ROUTE = chunkTR2X57M3_cjs.createRoute({
67
+ var LIST_LOGS_BY_RUN_ID_ROUTE = chunkSX2AJUSP_cjs.createRoute({
68
68
  method: "GET",
69
69
  path: "/logs/:runId",
70
70
  responseType: "json",
@@ -101,5 +101,5 @@ exports.LIST_LOGS_BY_RUN_ID_ROUTE = LIST_LOGS_BY_RUN_ID_ROUTE;
101
101
  exports.LIST_LOGS_ROUTE = LIST_LOGS_ROUTE;
102
102
  exports.LIST_LOG_TRANSPORTS_ROUTE = LIST_LOG_TRANSPORTS_ROUTE;
103
103
  exports.logs_exports = logs_exports;
104
- //# sourceMappingURL=chunk-CP5LPQIZ.cjs.map
105
- //# sourceMappingURL=chunk-CP5LPQIZ.cjs.map
104
+ //# sourceMappingURL=chunk-GULBOJRY.cjs.map
105
+ //# sourceMappingURL=chunk-GULBOJRY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/handlers/logs.ts"],"names":["__export","createRoute","listLogTransportsResponseSchema","handleError","listLogsQuerySchema","listLogsResponseSchema","validateBody","parseFilters","runIdSchema"],"mappings":"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","file":"chunk-CP5LPQIZ.cjs","sourcesContent":["import { runIdSchema } from '../schemas/common';\nimport { listLogsQuerySchema, listLogsResponseSchema, listLogTransportsResponseSchema } from '../schemas/logs';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\nimport { parseFilters, validateBody } from './utils';\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_LOG_TRANSPORTS_ROUTE = createRoute({\n method: 'GET',\n path: '/logs/transports',\n responseType: 'json',\n responseSchema: listLogTransportsResponseSchema,\n summary: 'List log transports',\n description: 'Returns a list of all available log transports',\n tags: ['Logs'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const logger = mastra.getLogger();\n const transports = logger.getTransports();\n\n return {\n transports: transports ? [...transports.keys()] : [],\n };\n } catch (error) {\n return handleError(error, 'Error getting log Transports');\n }\n },\n});\n\nexport const LIST_LOGS_ROUTE = createRoute({\n method: 'GET',\n path: '/logs',\n responseType: 'json',\n queryParamSchema: listLogsQuerySchema,\n responseSchema: listLogsResponseSchema,\n summary: 'List logs',\n description:\n 'Returns logs from a specific transport with optional filtering by date range, log level, and custom filters',\n tags: ['Logs'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;\n\n validateBody({ transportId });\n\n // Parse filter query parameter if present\n const filters = parseFilters(_filters);\n\n const logs = await mastra.listLogs(transportId!, {\n fromDate,\n toDate,\n logLevel,\n filters,\n page: page ? Number(page) : undefined,\n perPage: perPage ? Number(perPage) : undefined,\n });\n return logs;\n } catch (error) {\n return handleError(error, 'Error getting logs');\n }\n },\n});\n\nexport const LIST_LOGS_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/logs/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listLogsQuerySchema,\n responseSchema: listLogsResponseSchema,\n summary: 'List logs by run ID',\n description: 'Returns all logs for a specific execution run from a transport',\n tags: ['Logs'],\n requiresAuth: true,\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;\n\n validateBody({ runId, transportId });\n\n // Parse filter query parameter if present\n const filters = parseFilters(_filters);\n\n const logs = await mastra.listLogsByRunId({\n runId: runId!,\n transportId: transportId!,\n fromDate,\n toDate,\n logLevel,\n filters,\n page: page ? Number(page) : undefined,\n perPage: perPage ? Number(perPage) : undefined,\n });\n return logs;\n } catch (error) {\n return handleError(error, 'Error getting logs by run ID');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/handlers/logs.ts"],"names":["__export","createRoute","listLogTransportsResponseSchema","handleError","listLogsQuerySchema","listLogsResponseSchema","validateBody","parseFilters","runIdSchema"],"mappings":"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","file":"chunk-GULBOJRY.cjs","sourcesContent":["import { runIdSchema } from '../schemas/common';\nimport { listLogsQuerySchema, listLogsResponseSchema, listLogTransportsResponseSchema } from '../schemas/logs';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\nimport { parseFilters, validateBody } from './utils';\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_LOG_TRANSPORTS_ROUTE = createRoute({\n method: 'GET',\n path: '/logs/transports',\n responseType: 'json',\n responseSchema: listLogTransportsResponseSchema,\n summary: 'List log transports',\n description: 'Returns a list of all available log transports',\n tags: ['Logs'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const logger = mastra.getLogger();\n const transports = logger.getTransports();\n\n return {\n transports: transports ? [...transports.keys()] : [],\n };\n } catch (error) {\n return handleError(error, 'Error getting log Transports');\n }\n },\n});\n\nexport const LIST_LOGS_ROUTE = createRoute({\n method: 'GET',\n path: '/logs',\n responseType: 'json',\n queryParamSchema: listLogsQuerySchema,\n responseSchema: listLogsResponseSchema,\n summary: 'List logs',\n description:\n 'Returns logs from a specific transport with optional filtering by date range, log level, and custom filters',\n tags: ['Logs'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;\n\n validateBody({ transportId });\n\n // Parse filter query parameter if present\n const filters = parseFilters(_filters);\n\n const logs = await mastra.listLogs(transportId!, {\n fromDate,\n toDate,\n logLevel,\n filters,\n page: page ? Number(page) : undefined,\n perPage: perPage ? Number(perPage) : undefined,\n });\n return logs;\n } catch (error) {\n return handleError(error, 'Error getting logs');\n }\n },\n});\n\nexport const LIST_LOGS_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/logs/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listLogsQuerySchema,\n responseSchema: listLogsResponseSchema,\n summary: 'List logs by run ID',\n description: 'Returns all logs for a specific execution run from a transport',\n tags: ['Logs'],\n requiresAuth: true,\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { transportId, fromDate, toDate, logLevel, filters: _filters, page, perPage } = params;\n\n validateBody({ runId, transportId });\n\n // Parse filter query parameter if present\n const filters = parseFilters(_filters);\n\n const logs = await mastra.listLogsByRunId({\n runId: runId!,\n transportId: transportId!,\n fromDate,\n toDate,\n logLevel,\n filters,\n page: page ? Number(page) : undefined,\n perPage: perPage ? Number(perPage) : undefined,\n });\n return logs;\n } catch (error) {\n return handleError(error, 'Error getting logs by run ID');\n }\n },\n});\n"]}
@@ -206,6 +206,7 @@ var updateDatasetBodySchema = v4.z.object({
206
206
  scorerIds: v4.z.array(v4.z.string()).optional().nullable().describe("IDs of scorers attached to this dataset")
207
207
  });
208
208
  var addItemBodySchema = v4.z.object({
209
+ externalId: v4.z.string().optional().nullable().describe("Caller-defined, dataset-local item identity"),
209
210
  input: v4.z.unknown().describe("Input data for the dataset item"),
210
211
  groundTruth: v4.z.unknown().optional().describe("Expected output for comparison"),
211
212
  expectedTrajectory: trajectoryExpectationSchema,
@@ -263,6 +264,7 @@ var datasetItemResponseSchema = v4.z.object({
263
264
  id: v4.z.string(),
264
265
  datasetId: v4.z.string(),
265
266
  datasetVersion: v4.z.number().int(),
267
+ externalId: v4.z.string().optional().nullable(),
266
268
  input: v4.z.unknown(),
267
269
  groundTruth: v4.z.unknown().optional(),
268
270
  expectedTrajectory: v4.z.unknown().optional(),
@@ -436,6 +438,7 @@ var listDatasetVersionsResponseSchema = v4.z.object({
436
438
  var batchInsertItemsBodySchema = v4.z.object({
437
439
  items: v4.z.array(
438
440
  v4.z.object({
441
+ externalId: v4.z.string().optional().nullable(),
439
442
  input: v4.z.unknown(),
440
443
  groundTruth: v4.z.unknown().optional(),
441
444
  expectedTrajectory: trajectoryExpectationSchema,
@@ -549,5 +552,5 @@ exports.triggerExperimentBodySchema = triggerExperimentBodySchema;
549
552
  exports.updateDatasetBodySchema = updateDatasetBodySchema;
550
553
  exports.updateExperimentResultBodySchema = updateExperimentResultBodySchema;
551
554
  exports.updateItemBodySchema = updateItemBodySchema;
552
- //# sourceMappingURL=chunk-UY5FTPBZ.cjs.map
553
- //# sourceMappingURL=chunk-UY5FTPBZ.cjs.map
555
+ //# sourceMappingURL=chunk-H32FN255.cjs.map
556
+ //# sourceMappingURL=chunk-H32FN255.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/schemas/datasets.ts"],"names":["z","paginationInfoSchema"],"mappings":"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","file":"chunk-H32FN255.cjs","sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema } from './common';\n\n// ============================================================================\n// JSON Schema Types (for inputSchema/groundTruthSchema fields)\n// ============================================================================\n\n// JSON Schema type (simplified for storage - full spec too complex)\nconst jsonSchemaObject: z.ZodType<Record<string, unknown>> = z.lazy(() => z.record(z.string(), z.unknown()));\n\n// JSON Schema field (object or null to disable)\nconst jsonSchemaField = z.union([jsonSchemaObject, z.null()]).optional();\n\n// ============================================================================\n// Trajectory Expectation Schema (2 levels deep, children at level 2 use z.any())\n// ============================================================================\n\n// Shared base fields for expected steps (level 2 — children typed as z.any())\nconst expectedStepBase = {\n name: z.string().describe('Step name to match'),\n durationMs: z.number().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n children: z.any().optional().describe('Nested trajectory expectation (untyped at this depth)'),\n};\n\n// Typed step variants keyed by stepType\nconst expectedToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedMcpToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('mcp_tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n mcpServer: z.string().optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedModelGenerationStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('model_generation'),\n modelId: z.string().optional(),\n promptTokens: z.number().optional(),\n completionTokens: z.number().optional(),\n finishReason: z.string().optional(),\n});\n\nconst expectedAgentRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('agent_run'),\n agentId: z.string().optional(),\n});\n\nconst expectedWorkflowStepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_step'),\n stepId: z.string().optional(),\n status: z.string().optional(),\n output: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst expectedWorkflowRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_run'),\n workflowId: z.string().optional(),\n status: z.string().optional(),\n});\n\nconst expectedWorkflowConditionalStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_conditional'),\n conditionCount: z.number().optional(),\n selectedSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowParallelStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_parallel'),\n branchCount: z.number().optional(),\n parallelSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowLoopStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_loop'),\n loopType: z.string().optional(),\n totalIterations: z.number().optional(),\n});\n\nconst expectedWorkflowSleepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_sleep'),\n sleepDurationMs: z.number().optional(),\n sleepType: z.string().optional(),\n});\n\nconst expectedWorkflowWaitEventStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_wait_event'),\n eventName: z.string().optional(),\n eventReceived: z.boolean().optional(),\n});\n\nconst expectedProcessorRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('processor_run'),\n processorId: z.string().optional(),\n});\n\n// Generic step (no stepType — matches by name only)\nconst expectedGenericStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.undefined().optional(),\n});\n\n// Union of all expected step types\nconst expectedStepSchema = z.union([\n z.discriminatedUnion('stepType', [\n expectedToolCallStepSchema,\n expectedMcpToolCallStepSchema,\n expectedModelGenerationStepSchema,\n expectedAgentRunStepSchema,\n expectedWorkflowStepStepSchema,\n expectedWorkflowRunStepSchema,\n expectedWorkflowConditionalStepSchema,\n expectedWorkflowParallelStepSchema,\n expectedWorkflowLoopStepSchema,\n expectedWorkflowSleepStepSchema,\n expectedWorkflowWaitEventStepSchema,\n expectedProcessorRunStepSchema,\n ]),\n expectedGenericStepSchema,\n]);\n\n// Full TrajectoryExpectation schema\nconst trajectoryExpectationSchema = z\n .object({\n // Accuracy\n steps: z.array(expectedStepSchema).optional().describe('Expected steps for accuracy checking'),\n ordering: z\n .enum(['strict', 'relaxed', 'unordered'])\n .optional()\n .describe('How to compare step ordering (default: relaxed)'),\n allowRepeatedSteps: z.boolean().optional().describe('Whether to allow repeated steps (default: true)'),\n\n // Efficiency\n maxSteps: z.number().int().optional().describe('Maximum number of steps allowed'),\n maxTotalTokens: z.number().int().optional().describe('Maximum total tokens across all model_generation steps'),\n maxTotalDurationMs: z.number().optional().describe('Maximum total duration in milliseconds'),\n noRedundantCalls: z\n .boolean()\n .optional()\n .describe('Whether to penalize redundant calls (same tool + same args consecutively, default: true)'),\n\n // Blacklist\n blacklistedTools: z.array(z.string()).optional().describe('Tool names that should never appear'),\n blacklistedSequences: z\n .array(z.array(z.string()))\n .optional()\n .describe('Tool name sequences that should never appear'),\n\n // Tool failure tolerance\n maxRetriesPerTool: z.number().int().optional().describe('Maximum retries per tool before penalizing (default: 2)'),\n })\n .optional()\n .nullable()\n .describe('Expected trajectory configuration for trajectory scoring');\n\n// Dataset item source tracking\nconst datasetItemSourceSchema = z\n .object({\n type: z\n .enum(['csv', 'json', 'trace', 'llm', 'experiment-result', 'candidate-screener'])\n .describe('How this item was created'),\n referenceId: z.string().optional().describe('Reference identifier (e.g., trace id, csv filename)'),\n })\n .optional()\n .describe('Source/provenance of this dataset item');\n\n// Item-level static tool mocks (agent targets only).\nconst itemToolMockSchema = z.object({\n toolName: z.string().describe('Name of the tool this mock applies to'),\n args: z.record(z.string(), z.unknown()).describe('Arguments to match against the tool call'),\n output: z.unknown().describe('Output served to the agent when matched'),\n matchArgs: z\n .enum(['strict', 'ignore'])\n .optional()\n .describe(\"Argument matching mode. 'strict' (default) deep-equals args; 'ignore' matches on toolName only\"),\n});\n\nconst toolMocksSchema = z\n .array(itemToolMockSchema)\n .optional()\n .describe('Ordered item-level static tool mocks served in place of executing the real tool');\n\n// Diagnostic receipt for item-level tool mocks, persisted on experiment results.\nconst toolMockReportSchema = z\n .object({\n served: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n unconsumed: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n liveCalls: z.array(z.object({ toolName: z.string(), args: z.unknown() })),\n failure: z\n .object({\n code: z.enum(['TOOL_MOCK_MISMATCH', 'TOOL_MOCK_EXHAUSTED']),\n toolName: z.string(),\n args: z.unknown(),\n })\n .optional(),\n })\n .optional()\n .describe('Diagnostic receipt for item-level tool mocks');\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const datasetIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n});\n\nexport const experimentIdPathParams = z.object({\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const itemIdPathParams = z.object({\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndExperimentIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const experimentResultIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n resultId: z.string().describe('Unique identifier for the experiment result'),\n});\n\nexport const datasetAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\nexport const paginationQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n});\n\nexport const tenancyQuerySchema = z.object({\n organizationId: z.string().optional().describe('Restrict lookup to the given organization'),\n projectId: z.string().optional().describe('Restrict lookup to the given project'),\n});\n\nexport const listItemsQuerySchema = z.object({\n page: z.coerce.number().optional().default(0),\n perPage: z.coerce.number().optional().default(10),\n version: z.coerce.number().int().optional(), // Optional version filter for snapshot semantics\n search: z.string().optional(),\n});\n\n// ============================================================================\n// Request Body Schemas\n// ============================================================================\n\nexport const createDatasetBodySchema = z.object({\n name: z.string().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const updateDatasetBodySchema = z.object({\n name: z.string().optional().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n tags: z.array(z.string()).optional().describe('Tag definitions for categorizing experiment results'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const addItemBodySchema = z.object({\n externalId: z.string().optional().nullable().describe('Caller-defined, dataset-local item identity'),\n input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n source: datasetItemSourceSchema,\n});\n\nexport const updateItemBodySchema = z.object({\n input: z.unknown().optional().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n source: datasetItemSourceSchema,\n});\n\nexport const triggerExperimentBodySchema = z.object({\n targetType: z.enum(['agent', 'workflow', 'scorer']).describe('Type of target to run against'),\n targetId: z.string().describe('ID of the target'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers to apply'),\n version: z.coerce.number().int().optional().describe('Pin to specific dataset version'),\n agentVersion: z.string().optional().describe('Agent version ID to use for experiment'),\n maxConcurrency: z.number().optional().describe('Maximum concurrent executions'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Global request context passed to the target'),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional()\n .describe('Version overrides for sub-agent delegation during experiment execution'),\n});\n\nexport const compareExperimentsBodySchema = z.object({\n experimentIdA: z.string().describe('ID of baseline experiment'),\n experimentIdB: z.string().describe('ID of candidate experiment'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n// Dataset entity schema\nexport const datasetResponseSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n inputSchema: z.record(z.string(), z.unknown()).optional(),\n groundTruthSchema: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.record(z.string(), z.unknown()).optional(),\n tags: z.array(z.string()).optional().nullable(),\n targetType: z.string().optional().nullable(),\n targetIds: z.array(z.string()).optional().nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Dataset item entity schema\nexport const datasetItemResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema,\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n source: datasetItemSourceSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Experiment entity schema\nexport const experimentResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string().nullable(),\n datasetVersion: z.number().int().nullable(),\n agentVersion: z.string().nullable().optional(),\n targetType: z.enum(['agent', 'workflow', 'scorer', 'processor']),\n targetId: z.string(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n skippedCount: z.number(),\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Scorer result schema\nexport const scorerResultSchema = z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n});\n\n// Experiment result entity schema\nexport const experimentResultResponseSchema = z.object({\n id: z.string(),\n experimentId: z.string(),\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n expectedTrajectory: z.unknown().optional(),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n traceId: z.string().nullable(),\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).nullable().optional(),\n toolMockReport: toolMockReportSchema.nullable(),\n createdAt: z.coerce.date(),\n});\n\nexport const updateExperimentResultBodySchema = z.object({\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).optional(),\n});\n\n// Comparison item schema (MVP shape)\nconst comparisonItemSchema = z.object({\n itemId: z.string(),\n input: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n results: z.record(\n z.string(),\n z\n .object({\n output: z.unknown().nullable(),\n scores: z.record(z.string(), z.number().nullable()),\n })\n .nullable(),\n ),\n});\n\n// Comparison result schema\nexport const comparisonResponseSchema = z.object({\n baselineId: z.string(),\n items: z.array(comparisonItemSchema),\n});\n\n// Experiment summary schema (returned by trigger experiment)\n// Note: completedAt is nullable for pending/running experiments (async trigger)\nexport const experimentSummaryResponseSchema = z.object({\n experimentId: z.string(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date().nullable(),\n results: z.array(\n z.object({\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n error: z.string().nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n toolMockReport: toolMockReportSchema.nullable(),\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n }),\n ),\n }),\n ),\n});\n\n// ============================================================================\n// List Response Schemas\n// ============================================================================\n\nexport const listDatasetsResponseSchema = z.object({\n datasets: z.array(datasetResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentsResponseSchema = z.object({\n experiments: z.array(experimentResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentResultsResponseSchema = z.object({\n results: z.array(experimentResultResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const experimentReviewCountsSchema = z.object({\n experimentId: z.string(),\n total: z.number().int(),\n needsReview: z.number().int(),\n reviewed: z.number().int(),\n complete: z.number().int(),\n});\n\nexport const reviewSummaryResponseSchema = z.object({\n counts: z.array(experimentReviewCountsSchema),\n});\n\n// ============================================================================\n// Version Schemas\n// ============================================================================\n\n// Path params for item version routes\nexport const datasetItemVersionPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n datasetVersion: z.coerce.number().int().describe('Dataset version number'),\n});\n\n// Item history row response schema (SCD-2 DatasetItemRow shape)\nexport const itemVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema,\n metadata: z.record(z.string(), z.unknown()).optional(),\n validTo: z.number().int().nullable(),\n isDeleted: z.boolean(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const listItemVersionsResponseSchema = z.object({\n history: z.array(itemVersionResponseSchema),\n});\n\n// Dataset version response schema\nexport const datasetVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n});\n\nexport const listDatasetVersionsResponseSchema = z.object({\n versions: z.array(datasetVersionResponseSchema),\n pagination: paginationInfoSchema,\n});\n\n// ============================================================================\n// Batch Operation Schemas\n// ============================================================================\n\nexport const batchInsertItemsBodySchema = z.object({\n items: z.array(\n z.object({\n externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n source: datasetItemSourceSchema,\n }),\n ),\n});\n\nexport const batchInsertItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n count: z.number(),\n});\n\nexport const batchDeleteItemsBodySchema = z.object({\n itemIds: z.array(z.string()),\n});\n\nexport const batchDeleteItemsResponseSchema = z.object({\n success: z.boolean(),\n deletedCount: z.number(),\n});\n\n// ============================================================================\n// AI Generation Schemas\n// ============================================================================\n\nexport const generateItemsBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n prompt: z.string().describe('Description of the kind of test data to generate'),\n count: z.number().int().min(1).max(50).default(5).describe('Number of items to generate'),\n agentContext: z\n .object({\n description: z.string().optional(),\n instructions: z.string().optional(),\n tools: z.array(z.string()).optional(),\n })\n .optional()\n .describe('Context about the agent to generate relevant test data'),\n});\n\nconst generatedItemSchema = z.object({\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n});\n\nexport const generateItemsResponseSchema = z.object({\n items: z.array(generatedItemSchema),\n});\n\n// ============================================================================\n// Cluster Failures\n// ============================================================================\n\nexport const clusterFailuresBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n items: z\n .array(\n z.object({\n id: z.string(),\n input: z.unknown(),\n output: z.unknown().optional(),\n error: z.string().optional(),\n scores: z.record(z.string(), z.number()).optional(),\n existingTags: z.array(z.string()).optional().describe('Tags already applied to this item'),\n }),\n )\n .min(1)\n .max(200)\n .describe('Failure items to cluster'),\n availableTags: z\n .array(z.string())\n .optional()\n .describe('Existing tag vocabulary from the dataset. The LLM should prefer reusing these tags when applicable.'),\n prompt: z\n .string()\n .optional()\n .describe('Optional user instructions to guide the analysis (e.g., \"focus on tool usage failures\")'),\n});\n\nconst failureClusterSchema = z.object({\n id: z.string().describe('A unique cluster identifier'),\n label: z.string().describe('Short label for this failure pattern'),\n description: z.string().describe('Description of the common pattern'),\n itemIds: z.array(z.string()).describe('IDs of items belonging to this cluster'),\n});\n\nexport const clusterFailuresResponseSchema = z.object({\n clusters: z.array(failureClusterSchema),\n /** Per-item proposed tag assignments. Each entry maps an item ID to the tags the LLM suggests adding. */\n proposedTags: z\n .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 to this item'),\n }),\n )\n .optional(),\n});\n"]}
@@ -1,7 +1,7 @@
1
1
  import { assertWriteAccess, getCallerAuthorId, hasAdminBypass, hasScopedPermission } from './chunk-SXZS6VZ3.js';
2
2
  import { MASTRA_USER_KEY } from './chunk-5FOSK5R3.js';
3
3
  import { handleError } from './chunk-7ZWJX3AN.js';
4
- import { createRoute } from './chunk-2E3UBZ6Z.js';
4
+ import { createRoute } from './chunk-OMNQYWK3.js';
5
5
  import { HTTPException } from './chunk-6QWQZI4Q.js';
6
6
  import { coreFeatures } from '@mastra/core/features';
7
7
  import { z } from 'zod/v4';
@@ -208,5 +208,5 @@ var DISCONNECT_CHANNEL_ROUTE = createRoute({
208
208
  });
209
209
 
210
210
  export { CONNECT_CHANNEL_ROUTE, DISCONNECT_CHANNEL_ROUTE, LIST_CHANNEL_INSTALLATIONS_ROUTE, LIST_CHANNEL_PLATFORMS_ROUTE };
211
- //# sourceMappingURL=chunk-7Z7JQRMK.js.map
212
- //# sourceMappingURL=chunk-7Z7JQRMK.js.map
211
+ //# sourceMappingURL=chunk-HI4E75YH.js.map
212
+ //# sourceMappingURL=chunk-HI4E75YH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":[],"mappings":"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","file":"chunk-7Z7JQRMK.js","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import type { Mastra } from '@mastra/core';\nimport type { ChannelProvider } from '@mastra/core/channels';\nimport type { RequestContext } from '@mastra/core/di';\nimport { coreFeatures } from '@mastra/core/features';\n\nimport { MASTRA_USER_KEY } from '../constants';\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { assertWriteAccess, getCallerAuthorId, hasAdminBypass, hasScopedPermission } from './authorship';\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: Mastra, platform: string): ChannelProvider {\n const channels = Object.values(mastra.channels ?? {});\n const channel = channels.find(c => c.id === platform);\n if (!channel) {\n const available = channels.map(c => c.id).join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\n/**\n * Unified connect/disconnect authorization.\n *\n * - Stored agent exists → same write access as editing the agent record.\n * - Code-defined agent (no stored record) → route's `requiresAuth` is the gate.\n * - Agent doesn't exist anywhere:\n * - connect → 404 (can't connect a channel to a non-existent agent)\n * - disconnect → orphan cleanup, gated on `channels:write`\n */\nasync function assertChannelAgentWriteAccess(\n mastra: Mastra,\n requestContext: RequestContext,\n agentId: string,\n action: 'connect' | 'disconnect',\n): Promise<void> {\n const storage = mastra.getStorage();\n const agentsStore = storage ? await storage.getStore('agents') : null;\n const stored = agentsStore ? await agentsStore.getById(agentId) : null;\n\n if (stored) {\n assertWriteAccess({\n requestContext,\n resource: 'agents',\n resourceId: agentId,\n action: 'edit',\n record: stored,\n });\n return;\n }\n\n // Not in stored-agents (or storage doesn't support it). Check the runtime\n // registry for a code-defined agent.\n const codeDefined = mastra.getAgentById(agentId);\n if (codeDefined) {\n // Code-defined agents have no owner/ACL — route's requiresAuth /\n // requiresPermission is the gate. Pass-through.\n return;\n }\n\n if (action === 'connect') {\n throw new HTTPException(404, { message: `Agent \"${agentId}\" not found` });\n }\n\n // Disconnect against an unknown agentId = orphan cleanup (stored agent was\n // deleted but the channel installation row is still around). Allow it, but\n // gate on channels:write so this isn't an \"any authenticated user\" backdoor.\n // Follow the same no-auth-configured pass-through as assertWriteAccess.\n const callerAuthorId = getCallerAuthorId(requestContext);\n if (!callerAuthorId && !requestContext.get(MASTRA_USER_KEY)) return;\n if (hasAdminBypass(requestContext, 'channels')) return;\n if (hasScopedPermission({ requestContext, resource: 'channels', action: 'write' })) return;\n\n throw new HTTPException(404, { message: 'Not found' });\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = Object.values(mastra.channels ?? {});\n return channels.map(channel => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n await assertChannelAgentWriteAccess(mastra, requestContext, agentId, 'connect');\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await assertChannelAgentWriteAccess(mastra, requestContext, agentId, 'disconnect');\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
1
+ {"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":[],"mappings":"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","file":"chunk-HI4E75YH.js","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import type { Mastra } from '@mastra/core';\nimport type { ChannelProvider } from '@mastra/core/channels';\nimport type { RequestContext } from '@mastra/core/di';\nimport { coreFeatures } from '@mastra/core/features';\n\nimport { MASTRA_USER_KEY } from '../constants';\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { assertWriteAccess, getCallerAuthorId, hasAdminBypass, hasScopedPermission } from './authorship';\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: Mastra, platform: string): ChannelProvider {\n const channels = Object.values(mastra.channels ?? {});\n const channel = channels.find(c => c.id === platform);\n if (!channel) {\n const available = channels.map(c => c.id).join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\n/**\n * Unified connect/disconnect authorization.\n *\n * - Stored agent exists → same write access as editing the agent record.\n * - Code-defined agent (no stored record) → route's `requiresAuth` is the gate.\n * - Agent doesn't exist anywhere:\n * - connect → 404 (can't connect a channel to a non-existent agent)\n * - disconnect → orphan cleanup, gated on `channels:write`\n */\nasync function assertChannelAgentWriteAccess(\n mastra: Mastra,\n requestContext: RequestContext,\n agentId: string,\n action: 'connect' | 'disconnect',\n): Promise<void> {\n const storage = mastra.getStorage();\n const agentsStore = storage ? await storage.getStore('agents') : null;\n const stored = agentsStore ? await agentsStore.getById(agentId) : null;\n\n if (stored) {\n assertWriteAccess({\n requestContext,\n resource: 'agents',\n resourceId: agentId,\n action: 'edit',\n record: stored,\n });\n return;\n }\n\n // Not in stored-agents (or storage doesn't support it). Check the runtime\n // registry for a code-defined agent.\n const codeDefined = mastra.getAgentById(agentId);\n if (codeDefined) {\n // Code-defined agents have no owner/ACL — route's requiresAuth /\n // requiresPermission is the gate. Pass-through.\n return;\n }\n\n if (action === 'connect') {\n throw new HTTPException(404, { message: `Agent \"${agentId}\" not found` });\n }\n\n // Disconnect against an unknown agentId = orphan cleanup (stored agent was\n // deleted but the channel installation row is still around). Allow it, but\n // gate on channels:write so this isn't an \"any authenticated user\" backdoor.\n // Follow the same no-auth-configured pass-through as assertWriteAccess.\n const callerAuthorId = getCallerAuthorId(requestContext);\n if (!callerAuthorId && !requestContext.get(MASTRA_USER_KEY)) return;\n if (hasAdminBypass(requestContext, 'channels')) return;\n if (hasScopedPermission({ requestContext, resource: 'channels', action: 'write' })) return;\n\n throw new HTTPException(404, { message: 'Not found' });\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = Object.values(mastra.channels ?? {});\n return channels.map(channel => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n await assertChannelAgentWriteAccess(mastra, requestContext, agentId, 'connect');\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await assertChannelAgentWriteAccess(mastra, requestContext, agentId, 'disconnect');\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}