@mastra/server 1.33.0-alpha.0 → 1.33.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/CHANGELOG.md +258 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +9 -1
  3. package/dist/api-schema-manifest-CMLTOCGS.js +56 -0
  4. package/dist/api-schema-manifest-CMLTOCGS.js.map +1 -0
  5. package/dist/api-schema-manifest-UHFUTABX.cjs +58 -0
  6. package/dist/api-schema-manifest-UHFUTABX.cjs.map +1 -0
  7. package/dist/{chunk-F35U36E2.cjs → chunk-2N2WHATC.cjs} +603 -378
  8. package/dist/chunk-2N2WHATC.cjs.map +1 -0
  9. package/dist/{chunk-UWBU3GWI.cjs → chunk-2PS73C7N.cjs} +8 -8
  10. package/dist/{chunk-UWBU3GWI.cjs.map → chunk-2PS73C7N.cjs.map} +1 -1
  11. package/dist/{chunk-V4DZUIDM.cjs → chunk-37XCFECT.cjs} +87 -85
  12. package/dist/chunk-37XCFECT.cjs.map +1 -0
  13. package/dist/{chunk-ALVHNIDP.js → chunk-3AKQRYDF.js} +4 -4
  14. package/dist/{chunk-ALVHNIDP.js.map → chunk-3AKQRYDF.js.map} +1 -1
  15. package/dist/{chunk-FE2MMCKW.js → chunk-3YJQ26HK.js} +8 -8
  16. package/dist/{chunk-FE2MMCKW.js.map → chunk-3YJQ26HK.js.map} +1 -1
  17. package/dist/{chunk-SAOJYYFE.cjs → chunk-42WZN6MM.cjs} +10 -6
  18. package/dist/chunk-42WZN6MM.cjs.map +1 -0
  19. package/dist/{chunk-X37VNBBB.cjs → chunk-4NVC7TM6.cjs} +28 -28
  20. package/dist/{chunk-X37VNBBB.cjs.map → chunk-4NVC7TM6.cjs.map} +1 -1
  21. package/dist/chunk-4PB6LUYQ.js +46 -0
  22. package/dist/chunk-4PB6LUYQ.js.map +1 -0
  23. package/dist/{chunk-GUWIV3ZN.cjs → chunk-4QZCXU3A.cjs} +9 -2
  24. package/dist/chunk-4QZCXU3A.cjs.map +1 -0
  25. package/dist/{chunk-EFW6MWXU.cjs → chunk-5XW4MKE6.cjs} +22 -2
  26. package/dist/chunk-5XW4MKE6.cjs.map +1 -0
  27. package/dist/{chunk-D3DCFLTS.js → chunk-6ECVA7WE.js} +3 -3
  28. package/dist/{chunk-D3DCFLTS.js.map → chunk-6ECVA7WE.js.map} +1 -1
  29. package/dist/{chunk-FZSDG2KA.cjs → chunk-6JP6Q64G.cjs} +10 -10
  30. package/dist/{chunk-FZSDG2KA.cjs.map → chunk-6JP6Q64G.cjs.map} +1 -1
  31. package/dist/{chunk-V5AXCSSN.js → chunk-6V2NUA6I.js} +4 -4
  32. package/dist/{chunk-V5AXCSSN.js.map → chunk-6V2NUA6I.js.map} +1 -1
  33. package/dist/{chunk-64YJOWH2.cjs → chunk-72W42JL4.cjs} +5 -5
  34. package/dist/{chunk-64YJOWH2.cjs.map → chunk-72W42JL4.cjs.map} +1 -1
  35. package/dist/{chunk-CJ2LC5EE.cjs → chunk-776ZOYWV.cjs} +164 -19
  36. package/dist/chunk-776ZOYWV.cjs.map +1 -0
  37. package/dist/{chunk-VF2DSR6J.js → chunk-7LGTEZBD.js} +4 -4
  38. package/dist/{chunk-VF2DSR6J.js.map → chunk-7LGTEZBD.js.map} +1 -1
  39. package/dist/{chunk-DSJM7F5A.js → chunk-7PDQ67ZY.js} +109 -7
  40. package/dist/chunk-7PDQ67ZY.js.map +1 -0
  41. package/dist/{chunk-X2LYM3QK.js → chunk-7RLQ6356.js} +3 -3
  42. package/dist/{chunk-X2LYM3QK.js.map → chunk-7RLQ6356.js.map} +1 -1
  43. package/dist/{chunk-P6DRWWFU.cjs → chunk-ALOM42GR.cjs} +24 -24
  44. package/dist/{chunk-P6DRWWFU.cjs.map → chunk-ALOM42GR.cjs.map} +1 -1
  45. package/dist/{chunk-GSURMQA2.js → chunk-ANIIJVPR.js} +4 -4
  46. package/dist/{chunk-GSURMQA2.js.map → chunk-ANIIJVPR.js.map} +1 -1
  47. package/dist/chunk-B3CHYE7C.js +549 -0
  48. package/dist/chunk-B3CHYE7C.js.map +1 -0
  49. package/dist/{chunk-6NY3T42O.js → chunk-BIUL4Y6W.js} +10 -6
  50. package/dist/chunk-BIUL4Y6W.js.map +1 -0
  51. package/dist/{chunk-SOJ2UNB6.js → chunk-BK2PTTTN.js} +4 -4
  52. package/dist/{chunk-SOJ2UNB6.js.map → chunk-BK2PTTTN.js.map} +1 -1
  53. package/dist/{chunk-JHUXQK47.cjs → chunk-BNONPEW6.cjs} +11 -11
  54. package/dist/{chunk-JHUXQK47.cjs.map → chunk-BNONPEW6.cjs.map} +1 -1
  55. package/dist/{chunk-XBT4ZT22.js → chunk-CG3AAC7C.js} +4 -4
  56. package/dist/{chunk-XBT4ZT22.js.map → chunk-CG3AAC7C.js.map} +1 -1
  57. package/dist/{chunk-CNTWPG57.cjs → chunk-CXAJPAJ2.cjs} +9 -2
  58. package/dist/chunk-CXAJPAJ2.cjs.map +1 -0
  59. package/dist/{chunk-WZKXMP2U.cjs → chunk-D4V5AMTF.cjs} +322 -231
  60. package/dist/chunk-D4V5AMTF.cjs.map +1 -0
  61. package/dist/{chunk-YH452QGH.js → chunk-DC7NOATT.js} +3 -3
  62. package/dist/{chunk-YH452QGH.js.map → chunk-DC7NOATT.js.map} +1 -1
  63. package/dist/{chunk-URRUDXO5.cjs → chunk-DDF3ZASL.cjs} +173 -69
  64. package/dist/chunk-DDF3ZASL.cjs.map +1 -0
  65. package/dist/{chunk-ABCXNCRJ.js → chunk-DPGNOE7R.js} +3 -3
  66. package/dist/{chunk-ABCXNCRJ.js.map → chunk-DPGNOE7R.js.map} +1 -1
  67. package/dist/{chunk-F22H7Z7L.cjs → chunk-E7IOQCUP.cjs} +10 -10
  68. package/dist/{chunk-F22H7Z7L.cjs.map → chunk-E7IOQCUP.cjs.map} +1 -1
  69. package/dist/chunk-E7UDPLDF.cjs +53 -0
  70. package/dist/chunk-E7UDPLDF.cjs.map +1 -0
  71. package/dist/{chunk-SXARBGNQ.js → chunk-EFQBRUA4.js} +3 -3
  72. package/dist/{chunk-SXARBGNQ.js.map → chunk-EFQBRUA4.js.map} +1 -1
  73. package/dist/chunk-F3HP5HM6.cjs +998 -0
  74. package/dist/chunk-F3HP5HM6.cjs.map +1 -0
  75. package/dist/{chunk-YWORLTQM.js → chunk-FJZ67HHA.js} +7 -5
  76. package/dist/chunk-FJZ67HHA.js.map +1 -0
  77. package/dist/{chunk-MQVBXOMA.js → chunk-FKRI5D3X.js} +502 -277
  78. package/dist/chunk-FKRI5D3X.js.map +1 -0
  79. package/dist/{chunk-XCIJHMUE.js → chunk-GAC2O7DB.js} +8 -6
  80. package/dist/chunk-GAC2O7DB.js.map +1 -0
  81. package/dist/{chunk-GXSML4LI.js → chunk-GIMDOFRR.js} +4 -4
  82. package/dist/{chunk-GXSML4LI.js.map → chunk-GIMDOFRR.js.map} +1 -1
  83. package/dist/{chunk-MMHEXUTF.cjs → chunk-GNQ5SKPB.cjs} +7 -7
  84. package/dist/{chunk-MMHEXUTF.cjs.map → chunk-GNQ5SKPB.cjs.map} +1 -1
  85. package/dist/{chunk-EUJHJEM6.cjs → chunk-GOXW7A5J.cjs} +10 -10
  86. package/dist/{chunk-EUJHJEM6.cjs.map → chunk-GOXW7A5J.cjs.map} +1 -1
  87. package/dist/{chunk-4HRTLLE6.js → chunk-GP65L3TF.js} +166 -38
  88. package/dist/chunk-GP65L3TF.js.map +1 -0
  89. package/dist/{chunk-MI3PFFAR.js → chunk-GRPUO3NH.js} +137 -47
  90. package/dist/chunk-GRPUO3NH.js.map +1 -0
  91. package/dist/{chunk-RFKNM47Y.js → chunk-GSL72DOW.js} +3 -3
  92. package/dist/{chunk-RFKNM47Y.js.map → chunk-GSL72DOW.js.map} +1 -1
  93. package/dist/{chunk-HERDIEC2.cjs → chunk-HNV2E454.cjs} +3 -3
  94. package/dist/{chunk-HERDIEC2.cjs.map → chunk-HNV2E454.cjs.map} +1 -1
  95. package/dist/{chunk-NVM46NSG.js → chunk-HW3AHWHB.js} +91 -77
  96. package/dist/chunk-HW3AHWHB.js.map +1 -0
  97. package/dist/{chunk-LS5NHYVW.js → chunk-HX5WL5ZF.js} +3 -3
  98. package/dist/{chunk-LS5NHYVW.js.map → chunk-HX5WL5ZF.js.map} +1 -1
  99. package/dist/{chunk-UEACXZ5C.cjs → chunk-IIGNRK55.cjs} +4 -4
  100. package/dist/{chunk-UEACXZ5C.cjs.map → chunk-IIGNRK55.cjs.map} +1 -1
  101. package/dist/{chunk-4QGPES7N.js → chunk-ITIAC2TC.js} +3 -3
  102. package/dist/{chunk-4QGPES7N.js.map → chunk-ITIAC2TC.js.map} +1 -1
  103. package/dist/{chunk-K7IVZQKI.cjs → chunk-J62R54QE.cjs} +6 -6
  104. package/dist/{chunk-K7IVZQKI.cjs.map → chunk-J62R54QE.cjs.map} +1 -1
  105. package/dist/{chunk-QCSBOQGP.cjs → chunk-JLH5BHLT.cjs} +10 -10
  106. package/dist/{chunk-QCSBOQGP.cjs.map → chunk-JLH5BHLT.cjs.map} +1 -1
  107. package/dist/{chunk-HTSSEM5Z.cjs → chunk-JNRQKNVF.cjs} +21 -6
  108. package/dist/chunk-JNRQKNVF.cjs.map +1 -0
  109. package/dist/{chunk-UOC4K3RU.js → chunk-JOUPK2UV.js} +3 -3
  110. package/dist/{chunk-UOC4K3RU.js.map → chunk-JOUPK2UV.js.map} +1 -1
  111. package/dist/{chunk-GQOWV33T.js → chunk-JSHKUN5Y.js} +9 -5
  112. package/dist/chunk-JSHKUN5Y.js.map +1 -0
  113. package/dist/{chunk-3KIFZFY7.js → chunk-JV7LQVQ4.js} +134 -9
  114. package/dist/chunk-JV7LQVQ4.js.map +1 -0
  115. package/dist/{chunk-KUCUFXLD.js → chunk-K3PQS66F.js} +7 -7
  116. package/dist/{chunk-KUCUFXLD.js.map → chunk-K3PQS66F.js.map} +1 -1
  117. package/dist/{chunk-43CWQ4M3.js → chunk-KCVOCZXG.js} +9 -3
  118. package/dist/chunk-KCVOCZXG.js.map +1 -0
  119. package/dist/{chunk-TJNZEYLA.js → chunk-KEE6UMGC.js} +9 -2
  120. package/dist/chunk-KEE6UMGC.js.map +1 -0
  121. package/dist/{chunk-I34RGOPQ.js → chunk-KXZBJDFG.js} +4 -4
  122. package/dist/{chunk-I34RGOPQ.js.map → chunk-KXZBJDFG.js.map} +1 -1
  123. package/dist/{chunk-EXVKDDKD.cjs → chunk-L742HQNI.cjs} +10 -10
  124. package/dist/{chunk-EXVKDDKD.cjs.map → chunk-L742HQNI.cjs.map} +1 -1
  125. package/dist/{chunk-RRS33WBW.cjs → chunk-LKVE4QAW.cjs} +6 -6
  126. package/dist/{chunk-RRS33WBW.cjs.map → chunk-LKVE4QAW.cjs.map} +1 -1
  127. package/dist/{chunk-VIX5OA2V.cjs → chunk-LNV75BVN.cjs} +42 -40
  128. package/dist/chunk-LNV75BVN.cjs.map +1 -0
  129. package/dist/{chunk-OGFJRI4R.js → chunk-LPMWXBIW.js} +19 -5
  130. package/dist/chunk-LPMWXBIW.js.map +1 -0
  131. package/dist/{chunk-H656FJUZ.js → chunk-LRUC4D2Q.js} +3 -3
  132. package/dist/{chunk-H656FJUZ.js.map → chunk-LRUC4D2Q.js.map} +1 -1
  133. package/dist/{chunk-IYEGDP3G.js → chunk-M7DF3D2M.js} +3 -3
  134. package/dist/{chunk-IYEGDP3G.js.map → chunk-M7DF3D2M.js.map} +1 -1
  135. package/dist/chunk-N4EZ5RAX.js +630 -0
  136. package/dist/chunk-N4EZ5RAX.js.map +1 -0
  137. package/dist/{chunk-CFK4R6LE.js → chunk-NKCUF5ZH.js} +3 -3
  138. package/dist/{chunk-CFK4R6LE.js.map → chunk-NKCUF5ZH.js.map} +1 -1
  139. package/dist/{chunk-QXG537D5.cjs → chunk-NOQ45USI.cjs} +13 -13
  140. package/dist/{chunk-QXG537D5.cjs.map → chunk-NOQ45USI.cjs.map} +1 -1
  141. package/dist/{chunk-XI4WY2MX.cjs → chunk-NWCY4EDJ.cjs} +30 -30
  142. package/dist/{chunk-XI4WY2MX.cjs.map → chunk-NWCY4EDJ.cjs.map} +1 -1
  143. package/dist/{chunk-JLRBUMQA.cjs → chunk-OB4NE2YX.cjs} +10 -10
  144. package/dist/{chunk-JLRBUMQA.cjs.map → chunk-OB4NE2YX.cjs.map} +1 -1
  145. package/dist/{chunk-R6JGZX7Q.cjs → chunk-OJFDLVAO.cjs} +13 -13
  146. package/dist/{chunk-R6JGZX7Q.cjs.map → chunk-OJFDLVAO.cjs.map} +1 -1
  147. package/dist/{chunk-SRJJBXTO.cjs → chunk-P3TJ7MI6.cjs} +11 -11
  148. package/dist/{chunk-SRJJBXTO.cjs.map → chunk-P3TJ7MI6.cjs.map} +1 -1
  149. package/dist/{chunk-PALNMAC6.js → chunk-P5H4ILLH.js} +3 -3
  150. package/dist/{chunk-PALNMAC6.js.map → chunk-P5H4ILLH.js.map} +1 -1
  151. package/dist/{chunk-7LAFXMXB.cjs → chunk-PJDFXAOL.cjs} +3 -2
  152. package/dist/{chunk-7LAFXMXB.cjs.map → chunk-PJDFXAOL.cjs.map} +1 -1
  153. package/dist/{chunk-MG4EE3KA.cjs → chunk-PPCGMD6N.cjs} +11 -11
  154. package/dist/{chunk-MG4EE3KA.cjs.map → chunk-PPCGMD6N.cjs.map} +1 -1
  155. package/dist/{chunk-EPYO4OC5.js → chunk-QFGTTQFQ.js} +3 -3
  156. package/dist/{chunk-EPYO4OC5.js.map → chunk-QFGTTQFQ.js.map} +1 -1
  157. package/dist/{chunk-R3DQGOTC.cjs → chunk-QISQJJPS.cjs} +12 -8
  158. package/dist/chunk-QISQJJPS.cjs.map +1 -0
  159. package/dist/{chunk-F6MVX6E6.cjs → chunk-QRBV2NDD.cjs} +11 -11
  160. package/dist/{chunk-F6MVX6E6.cjs.map → chunk-QRBV2NDD.cjs.map} +1 -1
  161. package/dist/{chunk-JU54MAJE.js → chunk-RYOD3GP4.js} +4 -4
  162. package/dist/{chunk-JU54MAJE.js.map → chunk-RYOD3GP4.js.map} +1 -1
  163. package/dist/{chunk-GTERDDNK.js → chunk-SEMTGEAA.js} +3 -3
  164. package/dist/{chunk-GTERDDNK.js.map → chunk-SEMTGEAA.js.map} +1 -1
  165. package/dist/{chunk-BSGOXMAI.js → chunk-SFJOG2BT.js} +3 -3
  166. package/dist/{chunk-BSGOXMAI.js.map → chunk-SFJOG2BT.js.map} +1 -1
  167. package/dist/{chunk-R2ODPDKE.cjs → chunk-SOQKSSPB.cjs} +74 -74
  168. package/dist/{chunk-R2ODPDKE.cjs.map → chunk-SOQKSSPB.cjs.map} +1 -1
  169. package/dist/chunk-TLLV2JP5.js +983 -0
  170. package/dist/chunk-TLLV2JP5.js.map +1 -0
  171. package/dist/chunk-TTJ3DYZH.cjs +557 -0
  172. package/dist/chunk-TTJ3DYZH.cjs.map +1 -0
  173. package/dist/{chunk-MJXZZQ5O.js → chunk-UBOLRYFV.js} +3 -3
  174. package/dist/{chunk-MJXZZQ5O.js.map → chunk-UBOLRYFV.js.map} +1 -1
  175. package/dist/{chunk-QAFWIUAD.cjs → chunk-UVLX3WSX.cjs} +11 -11
  176. package/dist/{chunk-QAFWIUAD.cjs.map → chunk-UVLX3WSX.cjs.map} +1 -1
  177. package/dist/{chunk-YEAIZPBY.js → chunk-VBT7SCTA.js} +4 -4
  178. package/dist/{chunk-YEAIZPBY.js.map → chunk-VBT7SCTA.js.map} +1 -1
  179. package/dist/{chunk-Y32L6Z5V.cjs → chunk-VHH6Z7YN.cjs} +35 -35
  180. package/dist/{chunk-Y32L6Z5V.cjs.map → chunk-VHH6Z7YN.cjs.map} +1 -1
  181. package/dist/{chunk-KDUX3YN3.js → chunk-VMF4AV2C.js} +3 -3
  182. package/dist/{chunk-KDUX3YN3.js.map → chunk-VMF4AV2C.js.map} +1 -1
  183. package/dist/{chunk-ZV7XANBD.cjs → chunk-VOBSGFM5.cjs} +10 -10
  184. package/dist/{chunk-ZV7XANBD.cjs.map → chunk-VOBSGFM5.cjs.map} +1 -1
  185. package/dist/{chunk-DK46ZSF7.js → chunk-VQSY4I4H.js} +3 -3
  186. package/dist/{chunk-DK46ZSF7.js.map → chunk-VQSY4I4H.js.map} +1 -1
  187. package/dist/{chunk-YF6DVWNN.cjs → chunk-VTYCTHUP.cjs} +120 -106
  188. package/dist/chunk-VTYCTHUP.cjs.map +1 -0
  189. package/dist/{chunk-KUEMDK4R.js → chunk-VYXPIZJE.js} +3 -3
  190. package/dist/{chunk-KUEMDK4R.js.map → chunk-VYXPIZJE.js.map} +1 -1
  191. package/dist/{chunk-APVIDF5T.cjs → chunk-W5B34RLN.cjs} +7 -7
  192. package/dist/{chunk-APVIDF5T.cjs.map → chunk-W5B34RLN.cjs.map} +1 -1
  193. package/dist/{chunk-5APP5R3R.cjs → chunk-W6LHLN5M.cjs} +5 -5
  194. package/dist/{chunk-5APP5R3R.cjs.map → chunk-W6LHLN5M.cjs.map} +1 -1
  195. package/dist/{chunk-SMAUVMWQ.cjs → chunk-WWOML5Y4.cjs} +10 -10
  196. package/dist/{chunk-SMAUVMWQ.cjs.map → chunk-WWOML5Y4.cjs.map} +1 -1
  197. package/dist/{chunk-ELU7GCBF.cjs → chunk-XFDVU6GZ.cjs} +52 -52
  198. package/dist/{chunk-ELU7GCBF.cjs.map → chunk-XFDVU6GZ.cjs.map} +1 -1
  199. package/dist/{chunk-LYXVNT6L.cjs → chunk-XXB3DCC2.cjs} +27 -27
  200. package/dist/{chunk-LYXVNT6L.cjs.map → chunk-XXB3DCC2.cjs.map} +1 -1
  201. package/dist/{chunk-BK2PRWVJ.cjs → chunk-Y5LNMKEY.cjs} +5 -5
  202. package/dist/{chunk-BK2PRWVJ.cjs.map → chunk-Y5LNMKEY.cjs.map} +1 -1
  203. package/dist/{chunk-OJRAH5VV.js → chunk-YARY4I5U.js} +18 -3
  204. package/dist/chunk-YARY4I5U.js.map +1 -0
  205. package/dist/{chunk-W5JSRJAK.js → chunk-YTS6XH55.js} +6 -6
  206. package/dist/{chunk-W5JSRJAK.js.map → chunk-YTS6XH55.js.map} +1 -1
  207. package/dist/{chunk-ZW7DMFEG.cjs → chunk-YYTMNPB7.cjs} +166 -38
  208. package/dist/chunk-YYTMNPB7.cjs.map +1 -0
  209. package/dist/chunk-ZJVN52MC.cjs +636 -0
  210. package/dist/chunk-ZJVN52MC.cjs.map +1 -0
  211. package/dist/{dist-6SY6NNDU.cjs → dist-22O7FBGT.cjs} +30 -30
  212. package/dist/{dist-6SY6NNDU.cjs.map → dist-22O7FBGT.cjs.map} +1 -1
  213. package/dist/{dist-RVKG65AN.js → dist-2APID4CW.js} +3 -3
  214. package/dist/{dist-RVKG65AN.js.map → dist-2APID4CW.js.map} +1 -1
  215. package/dist/{dist-GKNLMW5G.js → dist-3GSFJQXK.js} +3 -3
  216. package/dist/{dist-GKNLMW5G.js.map → dist-3GSFJQXK.js.map} +1 -1
  217. package/dist/{dist-47C5ZLC7.js → dist-7Q7BE2C5.js} +3 -3
  218. package/dist/{dist-47C5ZLC7.js.map → dist-7Q7BE2C5.js.map} +1 -1
  219. package/dist/{dist-IAVEFOC6.cjs → dist-7X6EJANH.cjs} +26 -26
  220. package/dist/{dist-IAVEFOC6.cjs.map → dist-7X6EJANH.cjs.map} +1 -1
  221. package/dist/dist-CC743ARY.cjs +16 -0
  222. package/dist/{dist-S6SWOZKE.cjs.map → dist-CC743ARY.cjs.map} +1 -1
  223. package/dist/{dist-VHDOPJW6.cjs → dist-DGCZK6BK.cjs} +20 -20
  224. package/dist/{dist-VHDOPJW6.cjs.map → dist-DGCZK6BK.cjs.map} +1 -1
  225. package/dist/{dist-BSWYTOHE.js → dist-F77PFLNC.js} +3 -3
  226. package/dist/{dist-BSWYTOHE.js.map → dist-F77PFLNC.js.map} +1 -1
  227. package/dist/{dist-LTT5BP7F.cjs → dist-SPP3XCYT.cjs} +28 -28
  228. package/dist/{dist-LTT5BP7F.cjs.map → dist-SPP3XCYT.cjs.map} +1 -1
  229. package/dist/dist-SPTCWKCU.js +3 -0
  230. package/dist/{dist-KEJZY3UJ.js.map → dist-SPTCWKCU.js.map} +1 -1
  231. package/dist/docs/SKILL.md +1 -1
  232. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  233. package/dist/{observational-memory-FBBKXNO5-3V6BP5K3.cjs → observational-memory-2PRVG6BF-3V6S3B2J.cjs} +26 -26
  234. package/dist/{observational-memory-FBBKXNO5-3V6BP5K3.cjs.map → observational-memory-2PRVG6BF-3V6S3B2J.cjs.map} +1 -1
  235. package/dist/{observational-memory-FBBKXNO5-I7J47ELO.js → observational-memory-2PRVG6BF-4MT3GXPA.js} +3 -3
  236. package/dist/{observational-memory-FBBKXNO5-I7J47ELO.js.map → observational-memory-2PRVG6BF-4MT3GXPA.js.map} +1 -1
  237. package/dist/server/a2a/agent-card-signing.d.ts +7 -0
  238. package/dist/server/a2a/agent-card-signing.d.ts.map +1 -0
  239. package/dist/server/auth/index.cjs +15 -15
  240. package/dist/server/auth/index.js +1 -1
  241. package/dist/server/constants.d.ts +5 -0
  242. package/dist/server/constants.d.ts.map +1 -1
  243. package/dist/server/handlers/a2a.cjs +14 -14
  244. package/dist/server/handlers/a2a.d.ts +10 -0
  245. package/dist/server/handlers/a2a.d.ts.map +1 -1
  246. package/dist/server/handlers/a2a.js +1 -1
  247. package/dist/server/handlers/agent-builder.cjs +16 -16
  248. package/dist/server/handlers/agent-builder.js +1 -1
  249. package/dist/server/handlers/agent-versions.cjs +8 -8
  250. package/dist/server/handlers/agent-versions.js +1 -1
  251. package/dist/server/handlers/agents.cjs +42 -38
  252. package/dist/server/handlers/agents.d.ts +158 -1
  253. package/dist/server/handlers/agents.d.ts.map +1 -1
  254. package/dist/server/handlers/agents.js +1 -1
  255. package/dist/server/handlers/auth.cjs +11 -11
  256. package/dist/server/handlers/auth.js +1 -1
  257. package/dist/server/handlers/background-tasks.cjs +4 -4
  258. package/dist/server/handlers/background-tasks.d.ts +18 -5
  259. package/dist/server/handlers/background-tasks.d.ts.map +1 -1
  260. package/dist/server/handlers/background-tasks.js +1 -1
  261. package/dist/server/handlers/channels.cjs +5 -5
  262. package/dist/server/handlers/channels.js +1 -1
  263. package/dist/server/handlers/conversations.cjs +5 -5
  264. package/dist/server/handlers/conversations.js +1 -1
  265. package/dist/server/handlers/datasets.cjs +26 -26
  266. package/dist/server/handlers/datasets.js +1 -1
  267. package/dist/server/handlers/logs.cjs +4 -4
  268. package/dist/server/handlers/logs.js +1 -1
  269. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  270. package/dist/server/handlers/mcp-client-versions.js +1 -1
  271. package/dist/server/handlers/mcp.cjs +11 -11
  272. package/dist/server/handlers/mcp.js +1 -1
  273. package/dist/server/handlers/memory.cjs +27 -27
  274. package/dist/server/handlers/memory.d.ts.map +1 -1
  275. package/dist/server/handlers/memory.js +1 -1
  276. package/dist/server/handlers/observability-new-endpoints.cjs +28 -28
  277. package/dist/server/handlers/observability-new-endpoints.d.ts +18 -6
  278. package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
  279. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  280. package/dist/server/handlers/observability.cjs +38 -38
  281. package/dist/server/handlers/observability.js +2 -2
  282. package/dist/server/handlers/processor-providers.cjs +3 -3
  283. package/dist/server/handlers/processor-providers.js +1 -1
  284. package/dist/server/handlers/processors.cjs +4 -4
  285. package/dist/server/handlers/processors.js +1 -1
  286. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  287. package/dist/server/handlers/prompt-block-versions.js +1 -1
  288. package/dist/server/handlers/responses.adapter.cjs +18 -14
  289. package/dist/server/handlers/responses.adapter.d.ts +96 -2
  290. package/dist/server/handlers/responses.adapter.d.ts.map +1 -1
  291. package/dist/server/handlers/responses.adapter.js +1 -1
  292. package/dist/server/handlers/responses.cjs +4 -4
  293. package/dist/server/handlers/responses.d.ts +8 -2
  294. package/dist/server/handlers/responses.d.ts.map +1 -1
  295. package/dist/server/handlers/responses.js +1 -1
  296. package/dist/server/handlers/responses.storage.cjs +8 -8
  297. package/dist/server/handlers/responses.storage.d.ts +4 -2
  298. package/dist/server/handlers/responses.storage.d.ts.map +1 -1
  299. package/dist/server/handlers/responses.storage.js +1 -1
  300. package/dist/server/handlers/schedules.cjs +6 -6
  301. package/dist/server/handlers/schedules.js +1 -1
  302. package/dist/server/handlers/scorer-versions.cjs +8 -8
  303. package/dist/server/handlers/scorer-versions.js +1 -1
  304. package/dist/server/handlers/scores.cjs +7 -7
  305. package/dist/server/handlers/scores.js +1 -1
  306. package/dist/server/handlers/stored-agents.cjs +7 -7
  307. package/dist/server/handlers/stored-agents.js +1 -1
  308. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  309. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  310. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  311. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  312. package/dist/server/handlers/stored-scorers.cjs +6 -6
  313. package/dist/server/handlers/stored-scorers.js +1 -1
  314. package/dist/server/handlers/stored-skills.cjs +7 -7
  315. package/dist/server/handlers/stored-skills.js +1 -1
  316. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  317. package/dist/server/handlers/stored-workspaces.js +1 -1
  318. package/dist/server/handlers/system.cjs +6 -2
  319. package/dist/server/handlers/system.d.ts +39 -0
  320. package/dist/server/handlers/system.d.ts.map +1 -1
  321. package/dist/server/handlers/system.js +1 -1
  322. package/dist/server/handlers/tool-providers.cjs +5 -5
  323. package/dist/server/handlers/tool-providers.js +1 -1
  324. package/dist/server/handlers/tools.cjs +6 -6
  325. package/dist/server/handlers/tools.js +1 -1
  326. package/dist/server/handlers/utils.cjs +10 -10
  327. package/dist/server/handlers/utils.js +1 -1
  328. package/dist/server/handlers/vector.cjs +16 -16
  329. package/dist/server/handlers/vector.js +1 -1
  330. package/dist/server/handlers/voice.cjs +8 -8
  331. package/dist/server/handlers/voice.js +1 -1
  332. package/dist/server/handlers/workflows.cjs +32 -24
  333. package/dist/server/handlers/workflows.d.ts +83 -0
  334. package/dist/server/handlers/workflows.d.ts.map +1 -1
  335. package/dist/server/handlers/workflows.js +1 -1
  336. package/dist/server/handlers/workspace.cjs +26 -26
  337. package/dist/server/handlers/workspace.js +1 -1
  338. package/dist/server/handlers.cjs +30 -30
  339. package/dist/server/handlers.js +15 -15
  340. package/dist/server/schemas/a2a.d.ts +5 -0
  341. package/dist/server/schemas/a2a.d.ts.map +1 -1
  342. package/dist/server/schemas/agents.d.ts +77 -0
  343. package/dist/server/schemas/agents.d.ts.map +1 -1
  344. package/dist/server/schemas/background-tasks.d.ts +11 -0
  345. package/dist/server/schemas/background-tasks.d.ts.map +1 -1
  346. package/dist/server/schemas/index.cjs +99 -83
  347. package/dist/server/schemas/index.js +5 -5
  348. package/dist/server/schemas/responses.d.ts +3 -1
  349. package/dist/server/schemas/responses.d.ts.map +1 -1
  350. package/dist/server/schemas/system.d.ts +54 -0
  351. package/dist/server/schemas/system.d.ts.map +1 -1
  352. package/dist/server/server-adapter/api-schema-manifest.d.ts +23 -0
  353. package/dist/server/server-adapter/api-schema-manifest.d.ts.map +1 -0
  354. package/dist/server/server-adapter/index.cjs +70 -650
  355. package/dist/server/server-adapter/index.cjs.map +1 -1
  356. package/dist/server/server-adapter/index.d.ts +5 -1
  357. package/dist/server/server-adapter/index.d.ts.map +1 -1
  358. package/dist/server/server-adapter/index.js +20 -633
  359. package/dist/server/server-adapter/index.js.map +1 -1
  360. package/dist/server/server-adapter/openapi-utils.d.ts +5 -0
  361. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  362. package/dist/server/server-adapter/routes/a2a.d.ts +10 -0
  363. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
  364. package/dist/server/server-adapter/routes/agents.d.ts +2 -1
  365. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  366. package/dist/server/server-adapter/routes/observability.d.ts +9 -3
  367. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  368. package/dist/server/server-adapter/routes/responses.d.ts +8 -2
  369. package/dist/server/server-adapter/routes/responses.d.ts.map +1 -1
  370. package/dist/server/server-adapter/routes/system.d.ts +39 -1
  371. package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
  372. package/dist/server/server-adapter/routes/workflows.d.ts +66 -1
  373. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  374. package/package.json +8 -6
  375. package/dist/chunk-3KIFZFY7.js.map +0 -1
  376. package/dist/chunk-43CWQ4M3.js.map +0 -1
  377. package/dist/chunk-4HRTLLE6.js.map +0 -1
  378. package/dist/chunk-4P7D66VB.cjs +0 -30
  379. package/dist/chunk-4P7D66VB.cjs.map +0 -1
  380. package/dist/chunk-6NY3T42O.js.map +0 -1
  381. package/dist/chunk-AJYJ4H7P.js +0 -438
  382. package/dist/chunk-AJYJ4H7P.js.map +0 -1
  383. package/dist/chunk-CJ2LC5EE.cjs.map +0 -1
  384. package/dist/chunk-CNTWPG57.cjs.map +0 -1
  385. package/dist/chunk-DFSUBEGE.js +0 -226
  386. package/dist/chunk-DFSUBEGE.js.map +0 -1
  387. package/dist/chunk-DSJM7F5A.js.map +0 -1
  388. package/dist/chunk-EFW6MWXU.cjs.map +0 -1
  389. package/dist/chunk-F35U36E2.cjs.map +0 -1
  390. package/dist/chunk-GGCDSOHW.js +0 -26
  391. package/dist/chunk-GGCDSOHW.js.map +0 -1
  392. package/dist/chunk-GQOWV33T.js.map +0 -1
  393. package/dist/chunk-GUWIV3ZN.cjs.map +0 -1
  394. package/dist/chunk-HTSSEM5Z.cjs.map +0 -1
  395. package/dist/chunk-MI3PFFAR.js.map +0 -1
  396. package/dist/chunk-MQVBXOMA.js.map +0 -1
  397. package/dist/chunk-NVM46NSG.js.map +0 -1
  398. package/dist/chunk-OGFJRI4R.js.map +0 -1
  399. package/dist/chunk-OJ72T77G.cjs +0 -452
  400. package/dist/chunk-OJ72T77G.cjs.map +0 -1
  401. package/dist/chunk-OJRAH5VV.js.map +0 -1
  402. package/dist/chunk-PJYQMPXT.cjs +0 -234
  403. package/dist/chunk-PJYQMPXT.cjs.map +0 -1
  404. package/dist/chunk-R3DQGOTC.cjs.map +0 -1
  405. package/dist/chunk-SAOJYYFE.cjs.map +0 -1
  406. package/dist/chunk-TJNZEYLA.js.map +0 -1
  407. package/dist/chunk-URRUDXO5.cjs.map +0 -1
  408. package/dist/chunk-V4DZUIDM.cjs.map +0 -1
  409. package/dist/chunk-VIX5OA2V.cjs.map +0 -1
  410. package/dist/chunk-WZKXMP2U.cjs.map +0 -1
  411. package/dist/chunk-XCIJHMUE.js.map +0 -1
  412. package/dist/chunk-YF6DVWNN.cjs.map +0 -1
  413. package/dist/chunk-YWORLTQM.js.map +0 -1
  414. package/dist/chunk-ZW7DMFEG.cjs.map +0 -1
  415. package/dist/dist-KEJZY3UJ.js +0 -3
  416. package/dist/dist-S6SWOZKE.cjs +0 -16
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkSAOJYYFE_cjs = require('./chunk-SAOJYYFE.cjs');
4
- var chunkOJ72T77G_cjs = require('./chunk-OJ72T77G.cjs');
5
- var chunkPJYQMPXT_cjs = require('./chunk-PJYQMPXT.cjs');
6
- var chunkWZKXMP2U_cjs = require('./chunk-WZKXMP2U.cjs');
7
- var chunk64YJOWH2_cjs = require('./chunk-64YJOWH2.cjs');
3
+ var chunk42WZN6MM_cjs = require('./chunk-42WZN6MM.cjs');
4
+ var chunkF3HP5HM6_cjs = require('./chunk-F3HP5HM6.cjs');
5
+ var chunkTTJ3DYZH_cjs = require('./chunk-TTJ3DYZH.cjs');
6
+ var chunkD4V5AMTF_cjs = require('./chunk-D4V5AMTF.cjs');
7
+ var chunk72W42JL4_cjs = require('./chunk-72W42JL4.cjs');
8
8
  var chunkL4M23OMB_cjs = require('./chunk-L4M23OMB.cjs');
9
- var chunk7LAFXMXB_cjs = require('./chunk-7LAFXMXB.cjs');
9
+ var chunkPJDFXAOL_cjs = require('./chunk-PJDFXAOL.cjs');
10
10
  var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
11
11
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
12
12
  var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
@@ -52,8 +52,6 @@ function createStructuredOutput(text) {
52
52
  function getStreamedMessageOutputItem(response, responseId) {
53
53
  return response.output.find(
54
54
  (item) => item.type === "message" && item.id === responseId
55
- ) ?? response.output.find(
56
- (item) => item.type === "message"
57
55
  ) ?? null;
58
56
  }
59
57
  async function resolveThreadExecutionContext({
@@ -74,8 +72,8 @@ async function resolveThreadExecutionContext({
74
72
  resourceId: previousResponseTurnRecord.thread.resourceId
75
73
  };
76
74
  }
77
- const effectiveThreadId = chunk64YJOWH2_cjs.getEffectiveThreadId(requestContext, void 0);
78
- const effectiveResourceId = chunk64YJOWH2_cjs.getEffectiveResourceId(requestContext, void 0);
75
+ const effectiveThreadId = chunk72W42JL4_cjs.getEffectiveThreadId(requestContext, void 0);
76
+ const effectiveResourceId = chunk72W42JL4_cjs.getEffectiveResourceId(requestContext, void 0);
79
77
  if (!store && !conversationId && !effectiveThreadId) {
80
78
  return null;
81
79
  }
@@ -93,7 +91,7 @@ async function resolveThreadExecutionContext({
93
91
  if (!existingThread2) {
94
92
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Conversation ${conversationId} was not found` });
95
93
  }
96
- await chunk64YJOWH2_cjs.enforceThreadAccess({
94
+ await chunk72W42JL4_cjs.enforceThreadAccess({
97
95
  mastra: agent.getMastraInstance(),
98
96
  requestContext,
99
97
  threadId: conversationId,
@@ -122,7 +120,7 @@ async function resolveThreadExecutionContext({
122
120
  const threadId = effectiveThreadId;
123
121
  const existingThread = await memory.getThreadById({ threadId });
124
122
  if (existingThread) {
125
- await chunk64YJOWH2_cjs.enforceThreadAccess({
123
+ await chunk72W42JL4_cjs.enforceThreadAccess({
126
124
  mastra: agent.getMastraInstance(),
127
125
  requestContext,
128
126
  threadId,
@@ -170,14 +168,14 @@ async function resolveResponseAgent({
170
168
  if (!mastra) {
171
169
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance is required for agent-backed responses" });
172
170
  }
173
- return chunkWZKXMP2U_cjs.getAgentFromSystem({ mastra, agentId });
171
+ return chunkD4V5AMTF_cjs.getAgentFromSystem({ mastra, agentId });
174
172
  }
175
173
  async function resolveAgentMemoryStore({
176
174
  agent,
177
175
  requestContext,
178
176
  errorMessage
179
177
  }) {
180
- const agentMemoryStore = await chunkPJYQMPXT_cjs.getAgentMemoryStore({ agent, requestContext });
178
+ const agentMemoryStore = await chunkTTJ3DYZH_cjs.getAgentMemoryStore({ agent, requestContext });
181
179
  if (!agentMemoryStore) {
182
180
  throw new chunk64ITUOXI_cjs.HTTPException(400, { message: errorMessage });
183
181
  }
@@ -295,10 +293,10 @@ async function resolveCompletedResponseState(result, fallbackText) {
295
293
  const usage = await resolveUsage(result);
296
294
  return {
297
295
  completedAt: Math.floor(Date.now() / 1e3),
298
- status: chunkOJ72T77G_cjs.toResponseStatus(await resolveFinishReason(result)),
296
+ status: chunkF3HP5HM6_cjs.toResponseStatus(await resolveFinishReason(result)),
299
297
  text: await resolveText(result) || fallbackText,
300
298
  usage,
301
- usageDetails: chunkOJ72T77G_cjs.toResponseUsage(usage),
299
+ usageDetails: chunkF3HP5HM6_cjs.toResponseUsage(usage),
302
300
  providerOptions: await resolveProviderMetadata(result)
303
301
  };
304
302
  }
@@ -309,12 +307,13 @@ async function storeCompletedResponse({
309
307
  responseId,
310
308
  metadata,
311
309
  completedState,
312
- messages
310
+ messages,
311
+ outputItems
313
312
  }) {
314
313
  if (!didStore || !threadContext) {
315
314
  return;
316
315
  }
317
- await chunkPJYQMPXT_cjs.persistResponseTurnRecord({
316
+ await chunkTTJ3DYZH_cjs.persistResponseTurnRecord({
318
317
  memoryStore: agentMemoryStore,
319
318
  responseId,
320
319
  metadata: {
@@ -323,7 +322,8 @@ async function storeCompletedResponse({
323
322
  status: completedState.status,
324
323
  usage: completedState.usageDetails,
325
324
  providerOptions: completedState.providerOptions,
326
- messageIds: []
325
+ messageIds: [],
326
+ outputItems
327
327
  },
328
328
  threadContext,
329
329
  messages
@@ -342,16 +342,19 @@ async function finalizeResponse({
342
342
  conversationId,
343
343
  configuredTools,
344
344
  responseMetadata,
345
- fallbackText
345
+ fallbackText,
346
+ fallbackOutputItems
346
347
  }) {
347
348
  const completedState = await resolveCompletedResponseState(result, fallbackText);
348
- const responseMessages = await chunkPJYQMPXT_cjs.resolveResponseTurnMessagesForStorage({
349
+ const fallbackItems = fallbackOutputItems?.(completedState);
350
+ const responseMessages = await chunkTTJ3DYZH_cjs.resolveResponseTurnMessagesForStorage({
349
351
  result,
350
352
  responseId,
351
353
  text: completedState.text,
352
- threadContext
354
+ threadContext,
355
+ fallbackOutputItems: threadContext ? fallbackItems : void 0
353
356
  });
354
- const response = chunkOJ72T77G_cjs.buildCompletedResponse({
357
+ const response = chunkF3HP5HM6_cjs.buildCompletedResponse({
355
358
  responseId,
356
359
  outputMessageId: responseId,
357
360
  model,
@@ -367,6 +370,7 @@ async function finalizeResponse({
367
370
  providerOptions: completedState.providerOptions,
368
371
  tools: configuredTools,
369
372
  messages: responseMessages,
373
+ fallbackOutputItems: fallbackItems,
370
374
  store: didStore
371
375
  });
372
376
  await storeCompletedResponse({
@@ -376,7 +380,8 @@ async function finalizeResponse({
376
380
  responseId,
377
381
  metadata: responseMetadata,
378
382
  completedState,
379
- messages: responseMessages
383
+ messages: responseMessages,
384
+ outputItems: response.output
380
385
  });
381
386
  return { completedState, response, responseMessages };
382
387
  }
@@ -385,10 +390,53 @@ async function prepareCreateResponseRequest({
385
390
  mastra,
386
391
  requestContext
387
392
  }) {
388
- const executionInput = chunkOJ72T77G_cjs.mapResponseInputToExecutionMessages(body.input);
389
- const agent = await resolveResponseAgent({
393
+ const executionInput = chunkF3HP5HM6_cjs.mapResponseInputToExecutionMessages(body.input);
394
+ let previousResponseTurnRecord = null;
395
+ let resolvedAgent = null;
396
+ if (body.previous_response_id) {
397
+ if (body.agent_id) {
398
+ resolvedAgent = await resolveResponseAgent({ mastra, agentId: body.agent_id });
399
+ previousResponseTurnRecord = await chunkTTJ3DYZH_cjs.findResponseTurnRecord({
400
+ agent: resolvedAgent,
401
+ responseId: body.previous_response_id,
402
+ requestContext
403
+ });
404
+ if (!previousResponseTurnRecord) {
405
+ const owningResponseTurnRecord = await chunkTTJ3DYZH_cjs.findResponseTurnRecordAcrossAgents({
406
+ mastra,
407
+ responseId: body.previous_response_id,
408
+ requestContext
409
+ });
410
+ if (owningResponseTurnRecord) {
411
+ if (owningResponseTurnRecord.metadata.agentId === body.agent_id) {
412
+ previousResponseTurnRecord = owningResponseTurnRecord;
413
+ } else {
414
+ throw new chunk64ITUOXI_cjs.HTTPException(400, {
415
+ message: `Stored response ${body.previous_response_id} belongs to agent ${owningResponseTurnRecord.metadata.agentId}, not ${body.agent_id}`
416
+ });
417
+ }
418
+ }
419
+ if (!previousResponseTurnRecord) {
420
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored response ${body.previous_response_id} was not found` });
421
+ }
422
+ }
423
+ } else {
424
+ if (!mastra) {
425
+ throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance is required for agent-backed responses" });
426
+ }
427
+ previousResponseTurnRecord = await chunkTTJ3DYZH_cjs.findResponseTurnRecordAcrossAgents({
428
+ mastra,
429
+ responseId: body.previous_response_id,
430
+ requestContext
431
+ });
432
+ if (!previousResponseTurnRecord) {
433
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored response ${body.previous_response_id} was not found` });
434
+ }
435
+ }
436
+ }
437
+ const agent = resolvedAgent ?? await resolveResponseAgent({
390
438
  mastra,
391
- agentId: body.agent_id
439
+ agentId: body.agent_id ?? previousResponseTurnRecord?.metadata.agentId
392
440
  });
393
441
  const resolvedModel = await agent.getModel({
394
442
  requestContext,
@@ -413,14 +461,10 @@ async function prepareCreateResponseRequest({
413
461
  requestContext,
414
462
  errorMessage: body.previous_response_id ? "previous_response_id requires the target agent to have memory storage configured" : shouldStore ? "Stored responses require the target agent to have memory storage configured" : "conversation_id requires the target agent to have memory storage configured"
415
463
  }) : null;
416
- const previousResponseTurnRecord = body.previous_response_id ? await chunkPJYQMPXT_cjs.findResponseTurnRecord({ agent, responseId: body.previous_response_id, requestContext }) : null;
417
- if (body.previous_response_id && !previousResponseTurnRecord) {
418
- throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored response ${body.previous_response_id} was not found` });
419
- }
420
- const configuredTools = chunkOJ72T77G_cjs.mapMastraToolsToResponseTools(
464
+ const configuredTools = chunkF3HP5HM6_cjs.mapMastraToolsToResponseTools(
421
465
  await Promise.resolve(agent.listTools({ requestContext }))
422
466
  );
423
- const responseId = chunkOJ72T77G_cjs.createMessageId();
467
+ const responseId = chunkF3HP5HM6_cjs.createMessageId();
424
468
  const createdAt = Math.floor(Date.now() / 1e3);
425
469
  const threadContext = await resolveThreadExecutionContext({
426
470
  agent,
@@ -472,7 +516,7 @@ function createResponseEventStream({
472
516
  streamResult,
473
517
  threadContext
474
518
  }) {
475
- const createdResponse = chunkOJ72T77G_cjs.buildInProgressResponse({
519
+ const createdResponse = chunkF3HP5HM6_cjs.buildInProgressResponse({
476
520
  responseId,
477
521
  model: responseModel,
478
522
  createdAt,
@@ -488,7 +532,7 @@ function createResponseEventStream({
488
532
  let sequenceNumber = 1;
489
533
  const enqueueEvent = (eventName, payload) => {
490
534
  controller.enqueue(
491
- chunkOJ72T77G_cjs.formatSseEvent(eventName, {
535
+ chunkF3HP5HM6_cjs.formatSseEvent(eventName, {
492
536
  ...payload,
493
537
  sequence_number: sequenceNumber++
494
538
  })
@@ -502,25 +546,7 @@ function createResponseEventStream({
502
546
  type: "response.in_progress",
503
547
  response: createdResponse
504
548
  });
505
- enqueueEvent("response.output_item.added", {
506
- type: "response.output_item.added",
507
- output_index: 0,
508
- item: {
509
- id: responseId,
510
- type: "message",
511
- role: "assistant",
512
- status: "in_progress",
513
- content: []
514
- }
515
- });
516
- enqueueEvent("response.content_part.added", {
517
- type: "response.content_part.added",
518
- output_index: 0,
519
- content_index: 0,
520
- item_id: responseId,
521
- part: chunkOJ72T77G_cjs.createOutputTextPart("")
522
- });
523
- let text = "";
549
+ const streamEvents = chunkF3HP5HM6_cjs.createResponseStreamEventTranslator(responseId);
524
550
  const fullStream = await streamResult.fullStream;
525
551
  const reader = fullStream.getReader();
526
552
  try {
@@ -529,18 +555,13 @@ function createResponseEventStream({
529
555
  if (done) {
530
556
  break;
531
557
  }
532
- const delta = chunkOJ72T77G_cjs.extractTextDelta(value);
533
- if (delta) {
534
- text += delta;
535
- enqueueEvent("response.output_text.delta", {
536
- type: "response.output_text.delta",
537
- output_index: 0,
538
- content_index: 0,
539
- item_id: responseId,
540
- delta
541
- });
558
+ for (const event of streamEvents.consume(value)) {
559
+ enqueueEvent(event.event, event.payload);
542
560
  }
543
561
  }
562
+ for (const event of streamEvents.flushPendingToolResults()) {
563
+ enqueueEvent(event.event, event.payload);
564
+ }
544
565
  const { completedState, response } = await finalizeResponse({
545
566
  agentMemoryStore,
546
567
  didStore,
@@ -554,34 +575,27 @@ function createResponseEventStream({
554
575
  conversationId: threadContext?.threadId ?? body.conversation_id,
555
576
  configuredTools,
556
577
  responseMetadata,
557
- fallbackText: text
558
- });
559
- enqueueEvent("response.output_text.done", {
560
- type: "response.output_text.done",
561
- output_index: 0,
562
- content_index: 0,
563
- item_id: responseId,
564
- text: completedState.text
565
- });
566
- const completedItem = getStreamedMessageOutputItem(response, responseId) ?? {
567
- id: responseId,
568
- type: "message",
569
- role: "assistant",
570
- status: "completed",
571
- content: [chunkOJ72T77G_cjs.createOutputTextPart(completedState.text)]
572
- };
573
- enqueueEvent("response.content_part.done", {
574
- type: "response.content_part.done",
575
- output_index: 0,
576
- content_index: 0,
577
- item_id: responseId,
578
- part: chunkOJ72T77G_cjs.createOutputTextPart(completedState.text)
579
- });
580
- enqueueEvent("response.output_item.done", {
581
- type: "response.output_item.done",
582
- output_index: 0,
583
- item: completedItem
578
+ fallbackText: streamEvents.text,
579
+ fallbackOutputItems: (completedState2) => streamEvents.getOutputItems({
580
+ text: completedState2.text,
581
+ status: completedState2.status
582
+ })
584
583
  });
584
+ const completedItem = getStreamedMessageOutputItem(response, responseId);
585
+ if (completedItem || completedState.text) {
586
+ for (const event of streamEvents.completeText(
587
+ completedState.text,
588
+ completedItem ?? {
589
+ id: responseId,
590
+ type: "message",
591
+ role: "assistant",
592
+ status: "completed",
593
+ content: [chunkF3HP5HM6_cjs.createOutputTextPart(completedState.text)]
594
+ }
595
+ )) {
596
+ enqueueEvent(event.event, event.payload);
597
+ }
598
+ }
585
599
  enqueueEvent("response.completed", {
586
600
  type: "response.completed",
587
601
  response
@@ -595,12 +609,12 @@ function createResponseEventStream({
595
609
  }
596
610
  });
597
611
  }
598
- var CREATE_RESPONSE_ROUTE = chunk7LAFXMXB_cjs.createRoute({
612
+ var CREATE_RESPONSE_ROUTE = chunkPJDFXAOL_cjs.createRoute({
599
613
  method: "POST",
600
614
  path: "/v1/responses",
601
615
  responseType: "datastream-response",
602
- bodySchema: chunkSAOJYYFE_cjs.createResponseBodySchema,
603
- responseSchema: chunkSAOJYYFE_cjs.responseObjectSchema,
616
+ bodySchema: chunk42WZN6MM_cjs.createResponseBodySchema,
617
+ responseSchema: chunk42WZN6MM_cjs.responseObjectSchema,
604
618
  summary: "Create a response",
605
619
  description: "Creates a response through a Mastra-hosted Responses API-compatible route",
606
620
  tags: ["Responses"],
@@ -690,12 +704,12 @@ var CREATE_RESPONSE_ROUTE = chunk7LAFXMXB_cjs.createRoute({
690
704
  }
691
705
  }
692
706
  });
693
- var GET_RESPONSE_ROUTE = chunk7LAFXMXB_cjs.createRoute({
707
+ var GET_RESPONSE_ROUTE = chunkPJDFXAOL_cjs.createRoute({
694
708
  method: "GET",
695
709
  path: "/v1/responses/:responseId",
696
710
  responseType: "json",
697
- pathParamSchema: chunkSAOJYYFE_cjs.responseIdPathParams,
698
- responseSchema: chunkSAOJYYFE_cjs.responseObjectSchema,
711
+ pathParamSchema: chunk42WZN6MM_cjs.responseIdPathParams,
712
+ responseSchema: chunk42WZN6MM_cjs.responseObjectSchema,
699
713
  summary: "Retrieve a stored response",
700
714
  description: "Returns a previously stored response object",
701
715
  tags: ["Responses"],
@@ -703,22 +717,22 @@ var GET_RESPONSE_ROUTE = chunk7LAFXMXB_cjs.createRoute({
703
717
  requiresPermission: chunkL4M23OMB_cjs.MastraFGAPermissions.AGENTS_READ,
704
718
  handler: async ({ mastra, requestContext, responseId }) => {
705
719
  try {
706
- const responseTurnRecord = await chunkPJYQMPXT_cjs.findResponseTurnRecordAcrossAgents({ mastra, responseId, requestContext });
720
+ const responseTurnRecord = await chunkTTJ3DYZH_cjs.findResponseTurnRecordAcrossAgents({ mastra, responseId, requestContext });
707
721
  if (!responseTurnRecord) {
708
722
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored response ${responseId} was not found` });
709
723
  }
710
- return chunkOJ72T77G_cjs.mapResponseTurnRecordToResponse(responseTurnRecord);
724
+ return chunkF3HP5HM6_cjs.mapResponseTurnRecordToResponse(responseTurnRecord);
711
725
  } catch (error) {
712
726
  return chunkB34S64RC_cjs.handleError(error, "Error retrieving response");
713
727
  }
714
728
  }
715
729
  });
716
- var DELETE_RESPONSE_ROUTE = chunk7LAFXMXB_cjs.createRoute({
730
+ var DELETE_RESPONSE_ROUTE = chunkPJDFXAOL_cjs.createRoute({
717
731
  method: "DELETE",
718
732
  path: "/v1/responses/:responseId",
719
733
  responseType: "json",
720
- pathParamSchema: chunkSAOJYYFE_cjs.responseIdPathParams,
721
- responseSchema: chunkSAOJYYFE_cjs.deleteResponseSchema,
734
+ pathParamSchema: chunk42WZN6MM_cjs.responseIdPathParams,
735
+ responseSchema: chunk42WZN6MM_cjs.deleteResponseSchema,
722
736
  summary: "Delete a stored response",
723
737
  description: "Deletes a stored response so it can no longer be retrieved or chained",
724
738
  tags: ["Responses"],
@@ -726,11 +740,11 @@ var DELETE_RESPONSE_ROUTE = chunk7LAFXMXB_cjs.createRoute({
726
740
  requiresPermission: chunkL4M23OMB_cjs.MastraFGAPermissions.AGENTS_DELETE,
727
741
  handler: async ({ mastra, requestContext, responseId }) => {
728
742
  try {
729
- const responseTurnRecord = await chunkPJYQMPXT_cjs.findResponseTurnRecordAcrossAgents({ mastra, responseId, requestContext });
743
+ const responseTurnRecord = await chunkTTJ3DYZH_cjs.findResponseTurnRecordAcrossAgents({ mastra, responseId, requestContext });
730
744
  if (!responseTurnRecord) {
731
745
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored response ${responseId} was not found` });
732
746
  }
733
- await chunkPJYQMPXT_cjs.deleteResponseTurnRecord({ responseTurnRecord });
747
+ await chunkTTJ3DYZH_cjs.deleteResponseTurnRecord({ responseTurnRecord });
734
748
  const response = {
735
749
  id: responseId,
736
750
  object: "response",
@@ -747,5 +761,5 @@ exports.CREATE_RESPONSE_ROUTE = CREATE_RESPONSE_ROUTE;
747
761
  exports.DELETE_RESPONSE_ROUTE = DELETE_RESPONSE_ROUTE;
748
762
  exports.GET_RESPONSE_ROUTE = GET_RESPONSE_ROUTE;
749
763
  exports.responses_exports = responses_exports;
750
- //# sourceMappingURL=chunk-YF6DVWNN.cjs.map
751
- //# sourceMappingURL=chunk-YF6DVWNN.cjs.map
764
+ //# sourceMappingURL=chunk-VTYCTHUP.cjs.map
765
+ //# sourceMappingURL=chunk-VTYCTHUP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/responses.ts"],"names":["__export","HTTPException","getEffectiveThreadId","getEffectiveResourceId","existingThread","enforceThreadAccess","threadId","randomUUID","createdThread","getAgentFromSystem","getAgentMemoryStore","toResponseStatus","toResponseUsage","persistResponseTurnRecord","resolveResponseTurnMessagesForStorage","buildCompletedResponse","mapResponseInputToExecutionMessages","findResponseTurnRecord","findResponseTurnRecordAcrossAgents","mapMastraToolsToResponseTools","createMessageId","buildInProgressResponse","formatSseEvent","createResponseStreamEventTranslator","completedState","createOutputTextPart","createRoute","createResponseBodySchema","responseObjectSchema","MastraFGAPermissions","handleError","responseIdPathParams","mapResponseTurnRecordToResponse","deleteResponseSchema","deleteResponseTurnRecord"],"mappings":"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","file":"chunk-VTYCTHUP.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { Agent, MastraDBMessage } from '@mastra/core/agent';\nimport type { Mastra } from '@mastra/core/mastra';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { MemoryStorage } from '@mastra/core/storage';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n createResponseBodySchema,\n deleteResponseSchema,\n responseIdPathParams,\n responseObjectSchema,\n} from '../schemas/responses';\nimport type { CreateResponseBody, DeleteResponse, ResponseObject } from '../schemas/responses';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport {\n buildCompletedResponse,\n buildInProgressResponse,\n createResponseStreamEventTranslator,\n createMessageId,\n createOutputTextPart,\n formatSseEvent,\n mapMastraToolsToResponseTools,\n mapResponseInputToExecutionMessages,\n mapResponseTurnRecordToResponse,\n toResponseStatus,\n toResponseUsage,\n} from './responses.adapter';\nimport {\n deleteResponseTurnRecord,\n findResponseTurnRecord,\n findResponseTurnRecordAcrossAgents,\n getAgentMemoryStore,\n persistResponseTurnRecord,\n resolveResponseTurnMessagesForStorage,\n} from './responses.storage';\nimport type {\n ProviderMetadataLike,\n ResponseTurnRecord,\n ResponseTurnRecordMetadata,\n ThreadExecutionContext,\n UsageLike,\n} from './responses.storage';\nimport { enforceThreadAccess, getEffectiveResourceId, getEffectiveThreadId } from './utils';\n\ntype AgentExecutionInput = Parameters<Agent['generate']>[0];\ntype ResolvedAgentModel = Awaited<ReturnType<Agent['getModel']>>;\n\ntype ResponseExecutionResult = {\n text?: string;\n finishReason?: string;\n totalUsage?: UsageLike | Promise<UsageLike>;\n usage?: UsageLike | Promise<UsageLike>;\n providerMetadata?: ProviderMetadataLike | Promise<ProviderMetadataLike>;\n response?: {\n id?: string;\n dbMessages?: MastraDBMessage[];\n };\n};\n\ntype ResponseStreamResult = {\n fullStream: ReadableStream<unknown> | Promise<ReadableStream<unknown>>;\n text: Promise<string> | string;\n finishReason: Promise<string | undefined> | string | undefined;\n totalUsage?: Promise<UsageLike> | UsageLike;\n usage?: Promise<UsageLike> | UsageLike;\n providerMetadata?: Promise<ProviderMetadataLike> | ProviderMetadataLike;\n response?:\n | Promise<{\n id?: string;\n dbMessages?: MastraDBMessage[];\n }>\n | {\n id?: string;\n dbMessages?: MastraDBMessage[];\n };\n};\n\ntype CompletedResponseState = {\n completedAt: number;\n status: ResponseObject['status'];\n text: string;\n usage: UsageLike;\n usageDetails: ResponseObject['usage'];\n providerOptions: ProviderMetadataLike;\n};\n\ntype FinalizedResponse = {\n completedState: CompletedResponseState;\n response: ResponseObject;\n responseMessages: MastraDBMessage[];\n};\n\ntype PreparedCreateResponseRequest = {\n agent: Agent<any, any, any, any>;\n agentMemoryStore: MemoryStorage | null;\n configuredTools: ReturnType<typeof mapMastraToolsToResponseTools>;\n createdAt: number;\n didStore: boolean;\n executionInput: AgentExecutionInput;\n previousResponseTurnRecord: ResponseTurnRecord | null;\n resolvedModel: ResolvedAgentModel;\n responseId: string;\n responseModel: string;\n responseMetadata: Omit<\n ResponseTurnRecordMetadata,\n 'completedAt' | 'status' | 'usage' | 'providerOptions' | 'messageIds'\n >;\n threadContext: ThreadExecutionContext | null;\n};\n\nconst JSON_OBJECT_RESPONSE_SCHEMA = {\n type: 'object',\n additionalProperties: true,\n} as const;\n\nfunction jsonResponse(data: ResponseObject, status: number = 200): Response {\n return new Response(JSON.stringify(data), {\n status,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n}\n\nfunction createStructuredOutput(text: CreateResponseBody['text']) {\n if (!text) {\n return undefined;\n }\n\n switch (text.format.type) {\n case 'json_object':\n return {\n schema: JSON_OBJECT_RESPONSE_SCHEMA,\n jsonPromptInjection: true,\n };\n case 'json_schema':\n return {\n schema: text.format.schema,\n };\n default:\n return undefined;\n }\n}\n\nfunction getStreamedMessageOutputItem(response: ResponseObject, responseId: string) {\n return (\n response.output.find(\n (item): item is Extract<ResponseObject['output'][number], { type: 'message' }> =>\n item.type === 'message' && item.id === responseId,\n ) ?? null\n );\n}\n\n/**\n * Resolves the memory thread that should back the current response request.\n *\n * If `previous_response_id` is present, the request continues on that stored thread.\n * Otherwise, the route only creates or reuses a thread when the caller asked to store\n * the response and the resolved agent actually has memory configured.\n */\nasync function resolveThreadExecutionContext({\n agent,\n store,\n conversationId,\n previousResponseTurnRecord,\n requestContext,\n}: {\n agent: Agent<any, any, any, any>;\n store: boolean;\n conversationId?: string;\n previousResponseTurnRecord: ResponseTurnRecord | null;\n requestContext: RequestContext;\n}): Promise<ThreadExecutionContext | null> {\n if (conversationId && previousResponseTurnRecord && previousResponseTurnRecord.thread.id !== conversationId) {\n throw new HTTPException(400, {\n message:\n 'conversation_id and previous_response_id must reference the same conversation thread when both are provided',\n });\n }\n\n if (previousResponseTurnRecord) {\n return {\n threadId: previousResponseTurnRecord.thread.id,\n resourceId: previousResponseTurnRecord.thread.resourceId,\n };\n }\n\n const effectiveThreadId = getEffectiveThreadId(requestContext, undefined);\n const effectiveResourceId = getEffectiveResourceId(requestContext, undefined);\n\n if (!store && !conversationId && !effectiveThreadId) {\n return null;\n }\n\n const memory = await agent.getMemory({ requestContext });\n if (!memory) {\n if (conversationId) {\n throw new HTTPException(400, {\n message: 'conversation_id requires the target agent to have memory configured',\n });\n }\n\n return null;\n }\n\n if (conversationId) {\n const existingThread = await memory.getThreadById({ threadId: conversationId });\n if (!existingThread) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n await enforceThreadAccess({\n mastra: agent.getMastraInstance(),\n requestContext,\n threadId: conversationId,\n thread: existingThread,\n effectiveResourceId,\n });\n return {\n threadId: existingThread.id,\n resourceId: effectiveResourceId ?? existingThread.resourceId,\n };\n }\n\n if (!effectiveThreadId) {\n if (!store) {\n return null;\n }\n\n const threadId = randomUUID();\n const createdThread = await memory.createThread({\n threadId,\n resourceId: effectiveResourceId ?? threadId,\n });\n\n return {\n threadId: createdThread.id,\n resourceId: createdThread.resourceId,\n };\n }\n\n const threadId = effectiveThreadId;\n const existingThread = await memory.getThreadById({ threadId });\n if (existingThread) {\n await enforceThreadAccess({\n mastra: agent.getMastraInstance(),\n requestContext,\n threadId,\n thread: existingThread,\n effectiveResourceId,\n });\n return {\n threadId: existingThread.id,\n resourceId: effectiveResourceId ?? existingThread.resourceId,\n };\n }\n\n if (!store) {\n return null;\n }\n\n const resourceId = effectiveResourceId ?? threadId;\n const createdThread = await memory.createThread({\n threadId,\n resourceId,\n });\n\n return {\n threadId: createdThread.id,\n resourceId: createdThread.resourceId,\n };\n}\n\nfunction createExecutionMemory(threadContext: ThreadExecutionContext | null) {\n if (!threadContext) {\n return undefined;\n }\n\n return {\n memory: {\n thread: threadContext.threadId,\n resource: threadContext.resourceId,\n },\n } as const;\n}\n\n/**\n * Resolves the registered Mastra agent that owns the response request.\n */\nasync function resolveResponseAgent({\n mastra,\n agentId,\n}: {\n mastra: Mastra | undefined;\n agentId?: string;\n}): Promise<Agent<any, any, any, any>> {\n if (!agentId) {\n throw new HTTPException(400, {\n message: 'Responses requests require an agent_id',\n });\n }\n\n if (!mastra) {\n throw new HTTPException(500, { message: 'Mastra instance is required for agent-backed responses' });\n }\n\n return getAgentFromSystem({ mastra, agentId });\n}\n\nasync function resolveAgentMemoryStore({\n agent,\n requestContext,\n errorMessage,\n}: {\n agent: Agent<any, any, any, any>;\n requestContext: RequestContext;\n errorMessage: string;\n}): Promise<MemoryStorage> {\n const agentMemoryStore = await getAgentMemoryStore({ agent, requestContext });\n if (!agentMemoryStore) {\n throw new HTTPException(400, { message: errorMessage });\n }\n\n return agentMemoryStore;\n}\n\n/**\n * Executes a non-streaming Responses API request through the resolved Mastra agent.\n */\nasync function executeGenerate({\n agent,\n resolvedModel,\n modelOverride,\n instructions,\n text,\n providerOptions,\n input,\n requestContext,\n abortSignal,\n threadContext,\n}: {\n agent: Agent;\n resolvedModel: ResolvedAgentModel;\n modelOverride?: string;\n instructions: string | undefined;\n text: CreateResponseBody['text'];\n providerOptions: CreateResponseBody['providerOptions'];\n input: AgentExecutionInput;\n requestContext: RequestContext;\n abortSignal: AbortSignal;\n threadContext: ThreadExecutionContext | null;\n}) {\n const executionMemory = createExecutionMemory(threadContext);\n const structuredOutput = createStructuredOutput(text);\n const modelOption = modelOverride ? { model: modelOverride } : {};\n const commonOptions = {\n instructions,\n requestContext,\n abortSignal,\n ...modelOption,\n structuredOutput,\n providerOptions,\n ...(executionMemory ?? {}),\n };\n\n if (resolvedModel.specificationVersion === 'v1') {\n if (threadContext) {\n return (await agent.generateLegacy(input, {\n instructions,\n requestContext,\n abortSignal,\n ...modelOption,\n output: structuredOutput?.schema,\n providerOptions,\n resourceId: threadContext.resourceId,\n threadId: threadContext.threadId,\n } as never)) as ResponseExecutionResult;\n }\n\n return (await agent.generateLegacy(input, {\n instructions,\n requestContext,\n abortSignal,\n ...modelOption,\n output: structuredOutput?.schema,\n providerOptions,\n } as never)) as ResponseExecutionResult;\n }\n\n return (await agent.generate(input, commonOptions as never)) as ResponseExecutionResult;\n}\n\n/**\n * Executes a streaming Responses API request through the resolved Mastra agent.\n */\nasync function executeStream({\n agent,\n resolvedModel,\n modelOverride,\n instructions,\n text,\n providerOptions,\n input,\n requestContext,\n abortSignal,\n threadContext,\n}: {\n agent: Agent;\n resolvedModel: ResolvedAgentModel;\n modelOverride?: string;\n instructions: string | undefined;\n text: CreateResponseBody['text'];\n providerOptions: CreateResponseBody['providerOptions'];\n input: AgentExecutionInput;\n requestContext: RequestContext;\n abortSignal: AbortSignal;\n threadContext: ThreadExecutionContext | null;\n}) {\n const executionMemory = createExecutionMemory(threadContext);\n const structuredOutput = createStructuredOutput(text);\n const modelOption = modelOverride ? { model: modelOverride } : {};\n const commonOptions = {\n instructions,\n requestContext,\n abortSignal,\n ...modelOption,\n structuredOutput,\n providerOptions,\n ...(executionMemory ?? {}),\n };\n\n if (resolvedModel.specificationVersion === 'v1') {\n if (threadContext) {\n return (await agent.streamLegacy(input, {\n instructions,\n requestContext,\n abortSignal,\n ...modelOption,\n output: structuredOutput?.schema,\n providerOptions,\n resourceId: threadContext.resourceId,\n threadId: threadContext.threadId,\n } as never)) as ResponseStreamResult;\n }\n\n return (await agent.streamLegacy(input, {\n instructions,\n requestContext,\n abortSignal,\n ...modelOption,\n output: structuredOutput?.schema,\n providerOptions,\n } as never)) as ResponseStreamResult;\n }\n\n return (await agent.stream(input, commonOptions as never)) as ResponseStreamResult;\n}\n\nasync function resolveUsage(result: ResponseExecutionResult | ResponseStreamResult): Promise<UsageLike> {\n return (await (result.totalUsage ?? result.usage ?? null)) as UsageLike;\n}\n\nasync function resolveProviderMetadata(\n result: ResponseExecutionResult | ResponseStreamResult,\n): Promise<ProviderMetadataLike> {\n return (await (result.providerMetadata ?? undefined)) as ProviderMetadataLike;\n}\n\nasync function resolveFinishReason(\n result: ResponseExecutionResult | ResponseStreamResult,\n): Promise<string | undefined> {\n return (await result.finishReason) ?? undefined;\n}\n\nasync function resolveText(result: ResponseExecutionResult | ResponseStreamResult): Promise<string> {\n return (await result.text) ?? '';\n}\n\n/**\n * Resolves the final response state shared by streaming and non-streaming flows.\n */\nasync function resolveCompletedResponseState(\n result: ResponseExecutionResult | ResponseStreamResult,\n fallbackText: string,\n): Promise<CompletedResponseState> {\n const usage = await resolveUsage(result);\n\n return {\n completedAt: Math.floor(Date.now() / 1000),\n status: toResponseStatus(await resolveFinishReason(result)),\n text: (await resolveText(result)) || fallbackText,\n usage,\n usageDetails: toResponseUsage(usage),\n providerOptions: await resolveProviderMetadata(result),\n };\n}\n\n/**\n * Stores the completed response when the request opted into memory-backed persistence.\n */\nasync function storeCompletedResponse({\n agentMemoryStore,\n didStore,\n threadContext,\n responseId,\n metadata,\n completedState,\n messages,\n outputItems,\n}: {\n agentMemoryStore: MemoryStorage | null;\n didStore: boolean;\n threadContext: ThreadExecutionContext | null;\n responseId: string;\n metadata: Omit<ResponseTurnRecordMetadata, 'completedAt' | 'status' | 'usage' | 'providerOptions' | 'messageIds'>;\n completedState: CompletedResponseState;\n messages: MastraDBMessage[];\n outputItems: ResponseObject['output'];\n}): Promise<void> {\n if (!didStore || !threadContext) {\n return;\n }\n\n await persistResponseTurnRecord({\n memoryStore: agentMemoryStore,\n responseId,\n metadata: {\n ...metadata,\n completedAt: completedState.completedAt,\n status: completedState.status,\n usage: completedState.usageDetails,\n providerOptions: completedState.providerOptions,\n messageIds: [],\n outputItems,\n },\n threadContext,\n messages,\n });\n}\n\n/**\n * Resolves the final response object and persists the stored response turn when needed.\n */\nasync function finalizeResponse({\n agentMemoryStore,\n didStore,\n threadContext,\n result,\n responseId,\n createdAt,\n model,\n instructions,\n previousResponseId,\n conversationId,\n configuredTools,\n responseMetadata,\n fallbackText,\n fallbackOutputItems,\n}: {\n agentMemoryStore: MemoryStorage | null;\n didStore: boolean;\n threadContext: ThreadExecutionContext | null;\n result: ResponseExecutionResult | ResponseStreamResult;\n responseId: string;\n createdAt: number;\n model: string;\n instructions: string | undefined;\n previousResponseId?: string;\n conversationId?: string;\n configuredTools: ReturnType<typeof mapMastraToolsToResponseTools>;\n responseMetadata: Omit<\n ResponseTurnRecordMetadata,\n 'completedAt' | 'status' | 'usage' | 'providerOptions' | 'messageIds'\n >;\n fallbackText: string;\n fallbackOutputItems?: (completedState: CompletedResponseState) => ResponseObject['output'];\n}): Promise<FinalizedResponse> {\n const completedState = await resolveCompletedResponseState(result, fallbackText);\n const fallbackItems = fallbackOutputItems?.(completedState);\n const responseMessages = await resolveResponseTurnMessagesForStorage({\n result,\n responseId,\n text: completedState.text,\n threadContext,\n fallbackOutputItems: threadContext ? fallbackItems : undefined,\n });\n const response = buildCompletedResponse({\n responseId,\n outputMessageId: responseId,\n model,\n createdAt,\n completedAt: completedState.completedAt,\n status: completedState.status,\n text: completedState.text,\n usage: completedState.usage,\n instructions,\n textConfig: responseMetadata.text,\n previousResponseId,\n conversationId,\n providerOptions: completedState.providerOptions,\n tools: configuredTools,\n messages: responseMessages,\n fallbackOutputItems: fallbackItems,\n store: didStore,\n });\n\n await storeCompletedResponse({\n agentMemoryStore,\n didStore,\n threadContext,\n responseId,\n metadata: responseMetadata,\n completedState,\n messages: responseMessages,\n outputItems: response.output,\n });\n\n return { completedState, response, responseMessages };\n}\n\n/**\n * Resolves all request-scoped Mastra primitives needed to execute a Responses create\n * call: the owning agent, the memory thread context, the normalized execution input,\n * and the response-turn metadata that may be persisted later.\n */\nasync function prepareCreateResponseRequest({\n body,\n mastra,\n requestContext,\n}: {\n body: CreateResponseBody;\n mastra: Mastra | undefined;\n requestContext: RequestContext;\n}): Promise<PreparedCreateResponseRequest> {\n const executionInput = mapResponseInputToExecutionMessages(body.input) as AgentExecutionInput;\n let previousResponseTurnRecord: ResponseTurnRecord | null = null;\n let resolvedAgent: Agent<any, any, any, any> | null = null;\n\n if (body.previous_response_id) {\n if (body.agent_id) {\n resolvedAgent = await resolveResponseAgent({ mastra, agentId: body.agent_id });\n previousResponseTurnRecord = await findResponseTurnRecord({\n agent: resolvedAgent,\n responseId: body.previous_response_id,\n requestContext,\n });\n\n if (!previousResponseTurnRecord) {\n const owningResponseTurnRecord = await findResponseTurnRecordAcrossAgents({\n mastra,\n responseId: body.previous_response_id,\n requestContext,\n });\n\n if (owningResponseTurnRecord) {\n if (owningResponseTurnRecord.metadata.agentId === body.agent_id) {\n previousResponseTurnRecord = owningResponseTurnRecord;\n } else {\n throw new HTTPException(400, {\n message: `Stored response ${body.previous_response_id} belongs to agent ${owningResponseTurnRecord.metadata.agentId}, not ${body.agent_id}`,\n });\n }\n }\n\n if (!previousResponseTurnRecord) {\n throw new HTTPException(404, { message: `Stored response ${body.previous_response_id} was not found` });\n }\n }\n } else {\n if (!mastra) {\n throw new HTTPException(500, { message: 'Mastra instance is required for agent-backed responses' });\n }\n\n previousResponseTurnRecord = await findResponseTurnRecordAcrossAgents({\n mastra,\n responseId: body.previous_response_id,\n requestContext,\n });\n\n if (!previousResponseTurnRecord) {\n throw new HTTPException(404, { message: `Stored response ${body.previous_response_id} was not found` });\n }\n }\n }\n\n const agent =\n resolvedAgent ??\n (await resolveResponseAgent({\n mastra,\n agentId: body.agent_id ?? previousResponseTurnRecord?.metadata.agentId,\n }));\n const resolvedModel = await agent.getModel({\n requestContext,\n modelConfig: body.model,\n });\n const responseModel =\n body.model ??\n (() => {\n if (resolvedModel.provider && resolvedModel.modelId) {\n const publicProviderId = resolvedModel.provider.includes('.')\n ? resolvedModel.provider.split('.')[0]!\n : resolvedModel.provider;\n return `${publicProviderId}/${resolvedModel.modelId}`;\n }\n\n if (resolvedModel.modelId) {\n return resolvedModel.modelId;\n }\n\n throw new HTTPException(500, {\n message: 'Responses route could not determine the effective model for this request',\n });\n })();\n const shouldStore = body.store ?? false;\n const needsMemoryStore = shouldStore || Boolean(body.conversation_id) || Boolean(body.previous_response_id);\n const agentMemoryStore = needsMemoryStore\n ? await resolveAgentMemoryStore({\n agent,\n requestContext,\n errorMessage: body.previous_response_id\n ? 'previous_response_id requires the target agent to have memory storage configured'\n : shouldStore\n ? 'Stored responses require the target agent to have memory storage configured'\n : 'conversation_id requires the target agent to have memory storage configured',\n })\n : null;\n const configuredTools = mapMastraToolsToResponseTools(\n (await Promise.resolve(agent.listTools({ requestContext }))) as Record<string, unknown>,\n );\n\n const responseId = createMessageId();\n const createdAt = Math.floor(Date.now() / 1000);\n const threadContext = await resolveThreadExecutionContext({\n agent,\n store: shouldStore,\n conversationId: body.conversation_id,\n previousResponseTurnRecord,\n requestContext,\n });\n\n if (shouldStore && !threadContext) {\n throw new HTTPException(400, {\n message: 'Stored responses require the target agent to have memory configured',\n });\n }\n\n const didStore = shouldStore && Boolean(threadContext);\n\n return {\n agent,\n agentMemoryStore,\n configuredTools,\n createdAt,\n didStore,\n executionInput,\n previousResponseTurnRecord,\n resolvedModel,\n responseId,\n responseModel,\n responseMetadata: {\n agentId: agent.id,\n model: responseModel,\n createdAt,\n instructions: body.instructions,\n text: body.text,\n previousResponseId: previousResponseTurnRecord?.message.id ?? body.previous_response_id,\n tools: configuredTools,\n store: didStore,\n },\n threadContext,\n };\n}\n\n/**\n * Bridges a Mastra agent stream into OpenAI-style Responses SSE events and completes\n * the stored response-turn record when the stream finishes.\n */\nfunction createResponseEventStream({\n agentMemoryStore,\n body,\n configuredTools,\n createdAt,\n didStore,\n previousResponseTurnRecord,\n responseId,\n responseModel,\n responseMetadata,\n streamResult,\n threadContext,\n}: {\n agentMemoryStore: MemoryStorage | null;\n body: CreateResponseBody;\n configuredTools: ReturnType<typeof mapMastraToolsToResponseTools>;\n createdAt: number;\n didStore: boolean;\n previousResponseTurnRecord: ResponseTurnRecord | null;\n responseId: string;\n responseModel: string;\n responseMetadata: Omit<\n ResponseTurnRecordMetadata,\n 'completedAt' | 'status' | 'usage' | 'providerOptions' | 'messageIds'\n >;\n streamResult: ResponseStreamResult;\n threadContext: ThreadExecutionContext | null;\n}) {\n const createdResponse = buildInProgressResponse({\n responseId,\n model: responseModel,\n createdAt,\n instructions: body.instructions,\n textConfig: body.text,\n previousResponseId: body.previous_response_id,\n conversationId: threadContext?.threadId ?? body.conversation_id,\n tools: configuredTools,\n store: didStore,\n });\n\n return new ReadableStream<Uint8Array>({\n async start(controller) {\n let sequenceNumber = 1;\n const enqueueEvent = (eventName: string, payload: Record<string, unknown>) => {\n controller.enqueue(\n formatSseEvent(eventName, {\n ...payload,\n sequence_number: sequenceNumber++,\n }),\n );\n };\n\n enqueueEvent('response.created', {\n type: 'response.created',\n response: createdResponse,\n });\n enqueueEvent('response.in_progress', {\n type: 'response.in_progress',\n response: createdResponse,\n });\n\n const streamEvents = createResponseStreamEventTranslator(responseId);\n const fullStream = await streamResult.fullStream;\n const reader = fullStream.getReader();\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n\n for (const event of streamEvents.consume(value)) {\n enqueueEvent(event.event, event.payload);\n }\n }\n\n for (const event of streamEvents.flushPendingToolResults()) {\n enqueueEvent(event.event, event.payload);\n }\n\n const { completedState, response } = await finalizeResponse({\n agentMemoryStore,\n didStore,\n threadContext,\n result: streamResult,\n responseId,\n createdAt,\n model: responseModel,\n instructions: body.instructions,\n previousResponseId: previousResponseTurnRecord?.message.id ?? body.previous_response_id,\n conversationId: threadContext?.threadId ?? body.conversation_id,\n configuredTools,\n responseMetadata,\n fallbackText: streamEvents.text,\n fallbackOutputItems: completedState =>\n streamEvents.getOutputItems({\n text: completedState.text,\n status: completedState.status,\n }),\n });\n\n const completedItem = getStreamedMessageOutputItem(response, responseId);\n if (completedItem || completedState.text) {\n for (const event of streamEvents.completeText(\n completedState.text,\n completedItem ?? {\n id: responseId,\n type: 'message' as const,\n role: 'assistant' as const,\n status: 'completed' as const,\n content: [createOutputTextPart(completedState.text)],\n },\n )) {\n enqueueEvent(event.event, event.payload);\n }\n }\n enqueueEvent('response.completed', {\n type: 'response.completed',\n response,\n });\n controller.close();\n } catch (error) {\n controller.error(error);\n } finally {\n reader.releaseLock();\n }\n },\n });\n}\n\nexport const CREATE_RESPONSE_ROUTE = createRoute({\n method: 'POST',\n path: '/v1/responses',\n responseType: 'datastream-response',\n bodySchema: createResponseBodySchema,\n responseSchema: responseObjectSchema,\n summary: 'Create a response',\n description: 'Creates a response through a Mastra-hosted Responses API-compatible route',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_EXECUTE,\n handler: async ({ mastra, requestContext, abortSignal, ...body }) => {\n try {\n const {\n agent,\n agentMemoryStore,\n configuredTools,\n createdAt,\n didStore,\n executionInput,\n previousResponseTurnRecord,\n resolvedModel,\n responseId,\n responseModel,\n responseMetadata,\n threadContext,\n } = await prepareCreateResponseRequest({ body, mastra, requestContext });\n\n if (!body.stream) {\n const result = await executeGenerate({\n agent,\n resolvedModel,\n modelOverride: body.model,\n instructions: body.instructions,\n text: body.text,\n providerOptions: body.providerOptions,\n input: executionInput,\n requestContext,\n abortSignal,\n threadContext,\n });\n\n const { response } = await finalizeResponse({\n agentMemoryStore,\n didStore,\n threadContext,\n result,\n responseId,\n createdAt,\n model: responseModel,\n instructions: body.instructions,\n previousResponseId: previousResponseTurnRecord?.message.id ?? body.previous_response_id,\n conversationId: threadContext?.threadId ?? body.conversation_id,\n configuredTools,\n responseMetadata,\n fallbackText: '',\n });\n\n return jsonResponse(response);\n }\n\n const streamResult = await executeStream({\n agent,\n resolvedModel,\n modelOverride: body.model,\n instructions: body.instructions,\n text: body.text,\n providerOptions: body.providerOptions,\n input: executionInput,\n requestContext,\n abortSignal,\n threadContext,\n });\n\n const stream = createResponseEventStream({\n agentMemoryStore,\n body,\n configuredTools,\n createdAt,\n didStore,\n previousResponseTurnRecord,\n responseId,\n responseModel,\n responseMetadata,\n streamResult,\n threadContext,\n });\n\n return new Response(stream, {\n headers: {\n 'Content-Type': 'text/event-stream; charset=utf-8',\n 'Cache-Control': 'no-cache',\n Connection: 'keep-alive',\n 'X-Accel-Buffering': 'no',\n },\n });\n } catch (error) {\n return handleError(error, 'Error creating response');\n }\n },\n});\n\nexport const GET_RESPONSE_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/responses/:responseId',\n responseType: 'json',\n pathParamSchema: responseIdPathParams,\n responseSchema: responseObjectSchema,\n summary: 'Retrieve a stored response',\n description: 'Returns a previously stored response object',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, responseId }) => {\n try {\n const responseTurnRecord = await findResponseTurnRecordAcrossAgents({ mastra, responseId, requestContext });\n if (!responseTurnRecord) {\n throw new HTTPException(404, { message: `Stored response ${responseId} was not found` });\n }\n\n return mapResponseTurnRecordToResponse(responseTurnRecord);\n } catch (error) {\n return handleError(error, 'Error retrieving response');\n }\n },\n});\n\nexport const DELETE_RESPONSE_ROUTE = createRoute({\n method: 'DELETE',\n path: '/v1/responses/:responseId',\n responseType: 'json',\n pathParamSchema: responseIdPathParams,\n responseSchema: deleteResponseSchema,\n summary: 'Delete a stored response',\n description: 'Deletes a stored response so it can no longer be retrieved or chained',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_DELETE,\n handler: async ({ mastra, requestContext, responseId }) => {\n try {\n const responseTurnRecord = await findResponseTurnRecordAcrossAgents({ mastra, responseId, requestContext });\n if (!responseTurnRecord) {\n throw new HTTPException(404, { message: `Stored response ${responseId} was not found` });\n }\n\n await deleteResponseTurnRecord({ responseTurnRecord });\n\n const response: DeleteResponse = {\n id: responseId,\n object: 'response',\n deleted: true,\n };\n\n return response;\n } catch (error) {\n return handleError(error, 'Error deleting response');\n }\n },\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { createRoute } from './chunk-KDUX3YN3.js';
1
+ import { createRoute } from './chunk-VMF4AV2C.js';
2
2
  import { handleError } from './chunk-P23KBWKB.js';
3
3
  import { HTTPException } from './chunk-6QWQZI4Q.js';
4
4
  import { coreFeatures } from '@mastra/core/features';
@@ -186,5 +186,5 @@ var DISCONNECT_CHANNEL_ROUTE = createRoute({
186
186
  });
187
187
 
188
188
  export { CONNECT_CHANNEL_ROUTE, DISCONNECT_CHANNEL_ROUTE, LIST_CHANNEL_INSTALLATIONS_ROUTE, LIST_CHANNEL_PLATFORMS_ROUTE };
189
- //# sourceMappingURL=chunk-KUEMDK4R.js.map
190
- //# sourceMappingURL=chunk-KUEMDK4R.js.map
189
+ //# sourceMappingURL=chunk-VYXPIZJE.js.map
190
+ //# sourceMappingURL=chunk-VYXPIZJE.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-KUEMDK4R.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 { coreFeatures } from '@mastra/core/features';\n\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 { 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: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\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 = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\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, 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 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, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\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 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-VYXPIZJE.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 { coreFeatures } from '@mastra/core/features';\n\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 { 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: any, platform: string) {\n const channels = mastra.channels ?? {};\n const channel = Object.values(channels).find((c: any) => c.id === platform) as any;\n if (!channel) {\n const available = Object.values(channels)\n .map((c: any) => c.id)\n .join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\nfunction assertAgentExists(mastra: any, agentId: string) {\n const agent = mastra.getAgentById?.(agentId);\n if (!agent) {\n throw new HTTPException(404, {\n message: `Agent \"${agentId}\" not found`,\n });\n }\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 = (mastra as any).channels ?? {};\n return Object.values(channels).map((channel: any) => {\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, 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 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, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n assertAgentExists(mastra, agentId);\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 channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}