@mastra/server 1.33.0-alpha.1 → 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 +251 -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-44K6EWHN.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-DTCRA7JS.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-S65AMBAF.js → chunk-GP65L3TF.js} +90 -37
  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-BBX7Q7UG.cjs → chunk-YYTMNPB7.cjs} +90 -37
  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-KH7G7Y6B-Y3XQXW3K.cjs → observational-memory-2PRVG6BF-3V6S3B2J.cjs} +26 -26
  234. package/dist/{observational-memory-KH7G7Y6B-Y3XQXW3K.cjs.map → observational-memory-2PRVG6BF-3V6S3B2J.cjs.map} +1 -1
  235. package/dist/{observational-memory-KH7G7Y6B-QKEOJZME.js → observational-memory-2PRVG6BF-4MT3GXPA.js} +3 -3
  236. package/dist/{observational-memory-KH7G7Y6B-QKEOJZME.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 +10 -8
  375. package/dist/chunk-3KIFZFY7.js.map +0 -1
  376. package/dist/chunk-43CWQ4M3.js.map +0 -1
  377. package/dist/chunk-44K6EWHN.cjs.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-BBX7Q7UG.cjs.map +0 -1
  384. package/dist/chunk-CJ2LC5EE.cjs.map +0 -1
  385. package/dist/chunk-CNTWPG57.cjs.map +0 -1
  386. package/dist/chunk-DFSUBEGE.js +0 -226
  387. package/dist/chunk-DFSUBEGE.js.map +0 -1
  388. package/dist/chunk-DSJM7F5A.js.map +0 -1
  389. package/dist/chunk-DTCRA7JS.js.map +0 -1
  390. package/dist/chunk-EFW6MWXU.cjs.map +0 -1
  391. package/dist/chunk-GGCDSOHW.js +0 -26
  392. package/dist/chunk-GGCDSOHW.js.map +0 -1
  393. package/dist/chunk-GQOWV33T.js.map +0 -1
  394. package/dist/chunk-GUWIV3ZN.cjs.map +0 -1
  395. package/dist/chunk-HTSSEM5Z.cjs.map +0 -1
  396. package/dist/chunk-MI3PFFAR.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-S65AMBAF.js.map +0 -1
  406. package/dist/chunk-SAOJYYFE.cjs.map +0 -1
  407. package/dist/chunk-TJNZEYLA.js.map +0 -1
  408. package/dist/chunk-URRUDXO5.cjs.map +0 -1
  409. package/dist/chunk-V4DZUIDM.cjs.map +0 -1
  410. package/dist/chunk-VIX5OA2V.cjs.map +0 -1
  411. package/dist/chunk-WZKXMP2U.cjs.map +0 -1
  412. package/dist/chunk-XCIJHMUE.js.map +0 -1
  413. package/dist/chunk-YF6DVWNN.cjs.map +0 -1
  414. package/dist/chunk-YWORLTQM.js.map +0 -1
  415. package/dist/dist-KEJZY3UJ.js +0 -3
  416. package/dist/dist-S6SWOZKE.cjs +0 -16
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/responses.ts"],"names":["existingThread","threadId","createdThread"],"mappings":"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","file":"chunk-NVM46NSG.js","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 createMessageId,\n createOutputTextPart,\n extractTextDelta,\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 ) ??\n response.output.find(\n (item): item is Extract<ResponseObject['output'][number], { type: 'message' }> => item.type === 'message',\n ) ??\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}: {\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}): 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 },\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}: {\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}): Promise<FinalizedResponse> {\n const completedState = await resolveCompletedResponseState(result, fallbackText);\n const responseMessages = await resolveResponseTurnMessagesForStorage({\n result,\n responseId,\n text: completedState.text,\n threadContext,\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 store: didStore,\n });\n\n await storeCompletedResponse({\n agentMemoryStore,\n didStore,\n threadContext,\n responseId,\n metadata: responseMetadata,\n completedState,\n messages: responseMessages,\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 const agent = await resolveResponseAgent({\n mastra,\n agentId: body.agent_id,\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 previousResponseTurnRecord = body.previous_response_id\n ? await findResponseTurnRecord({ agent, responseId: body.previous_response_id, requestContext })\n : null;\n\n if (body.previous_response_id && !previousResponseTurnRecord) {\n throw new HTTPException(404, { message: `Stored response ${body.previous_response_id} was not found` });\n }\n\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 enqueueEvent('response.output_item.added', {\n type: 'response.output_item.added',\n output_index: 0,\n item: {\n id: responseId,\n type: 'message',\n role: 'assistant',\n status: 'in_progress',\n content: [],\n },\n });\n enqueueEvent('response.content_part.added', {\n type: 'response.content_part.added',\n output_index: 0,\n content_index: 0,\n item_id: responseId,\n part: createOutputTextPart(''),\n });\n\n let text = '';\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 const delta = extractTextDelta(value);\n if (delta) {\n text += delta;\n enqueueEvent('response.output_text.delta', {\n type: 'response.output_text.delta',\n output_index: 0,\n content_index: 0,\n item_id: responseId,\n delta,\n });\n }\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: text,\n });\n enqueueEvent('response.output_text.done', {\n type: 'response.output_text.done',\n output_index: 0,\n content_index: 0,\n item_id: responseId,\n text: completedState.text,\n });\n\n const completedItem = getStreamedMessageOutputItem(response, responseId) ?? {\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('response.content_part.done', {\n type: 'response.content_part.done',\n output_index: 0,\n content_index: 0,\n item_id: responseId,\n part: createOutputTextPart(completedState.text),\n });\n enqueueEvent('response.output_item.done', {\n type: 'response.output_item.done',\n output_index: 0,\n item: completedItem,\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 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/system.ts"],"names":[],"mappings":";;;;;AAOO,IAAM,4BAA4B,WAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,kBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,cAAA,EAAgB,4BAAA;AAAA,EAChB,OAAA,EAAS,+BAAA;AAAA,EACT,WAAA,EAAa,qFAAA;AAAA,EACb,IAAA,EAAM,CAAC,QAAQ,CAAA;AAAA,EACf,YAAA,EAAc,IAAA;AAAA,EACd,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,IAAA,IAAI;AACF,MAAA,MAAM,gBAAA,GAAmB,QAAQ,GAAA,CAAI,oBAAA;AAErC,MAAA,IAAI,WAA4B,EAAC;AAEjC,MAAA,IAAI,gBAAA,EAAkB;AACpB,QAAA,IAAI;AACF,UAAA,MAAM,WAAA,GAAc,YAAA,CAAa,gBAAA,EAAkB,OAAO,CAAA;AAC1D,UAAA,QAAA,GAAW,IAAA,CAAK,MAAM,WAAW,CAAA;AAAA,QACnC,CAAA,CAAA,MAAQ;AACN,UAAA,QAAA,GAAW,EAAC;AAAA,QACd;AAAA,MACF;AAEA,MAAA,MAAM,OAAA,GAAU,OAAO,UAAA,EAAW;AAClC,MAAA,MAAM,cAAc,OAAA,EAAS,IAAA;AAC7B,MAAA,MAAM,oBAAA,GAAuB,SAAS,MAAA,EAAQ,aAAA;AAC9C,MAAA,MAAM,wBAAA,GAA2B,sBAAsB,WAAA,CAAY,IAAA;AACnE,MAAA,MAAM,+BAA+B,oBAAA,EAAsB,sBAAA;AAC3D,MAAA,MAAM,oBAAA,GAAuB,CAAC,CAAC,MAAA,CAAO,cAAc,kBAAA,EAAmB;AAEvE,MAAA,OAAO;AAAA,QACL,QAAA;AAAA,QACA,KAAA,EAAO,OAAA,CAAQ,GAAA,CAAI,UAAA,KAAe,MAAA;AAAA,QAClC,UAAA,EAAY,CAAC,CAAC,MAAA,CAAO,SAAA,EAAU;AAAA,QAC/B,oBAAA;AAAA,QACA,WAAA;AAAA,QACA,wBAAA;AAAA,QACA;AAAA,OACF;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,OAAO,WAAA,CAAY,OAAO,+BAA+B,CAAA;AAAA,IAC3D;AAAA,EACF;AACF,CAAC","file":"chunk-OGFJRI4R.js","sourcesContent":["import { readFileSync } from 'node:fs';\n\nimport type { MastraPackage } from '../schemas/system';\nimport { systemPackagesResponseSchema } from '../schemas/system';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\nexport const GET_SYSTEM_PACKAGES_ROUTE = createRoute({\n method: 'GET',\n path: '/system/packages',\n responseType: 'json',\n responseSchema: systemPackagesResponseSchema,\n summary: 'Get installed Mastra packages',\n description: 'Returns a list of all installed Mastra packages and their versions from the project',\n tags: ['System'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n try {\n const packagesFilePath = process.env.MASTRA_PACKAGES_FILE;\n\n let packages: MastraPackage[] = [];\n\n if (packagesFilePath) {\n try {\n const fileContent = readFileSync(packagesFilePath, 'utf-8');\n packages = JSON.parse(fileContent);\n } catch {\n packages = [];\n }\n }\n\n const storage = mastra.getStorage();\n const storageType = storage?.name;\n const observabilityStorage = storage?.stores?.observability;\n const observabilityStorageType = observabilityStorage?.constructor.name;\n const observabilityRuntimeStrategy = observabilityStorage?.runtimeTracingStrategy;\n const observabilityEnabled = !!mastra.observability.getDefaultInstance();\n\n return {\n packages,\n isDev: process.env.MASTRA_DEV === 'true',\n cmsEnabled: !!mastra.getEditor(),\n observabilityEnabled,\n storageType,\n observabilityStorageType,\n observabilityRuntimeStrategy,\n };\n } catch (error) {\n return handleError(error, 'Error getting system packages');\n }\n },\n});\n"]}
@@ -1,452 +0,0 @@
1
- 'use strict';
2
-
3
- var crypto = require('crypto');
4
- var tools = require('@mastra/core/tools');
5
- var zodToJson = require('@mastra/core/utils/zod-to-json');
6
-
7
- // src/server/handlers/responses.adapter.ts
8
- function normalizeMessageContent(content) {
9
- if (typeof content === "string") {
10
- return content;
11
- }
12
- return content.map((part) => part.text).join("");
13
- }
14
- function getMessageText(message) {
15
- const parts = Array.isArray(message.content?.parts) ? message.content.parts : [];
16
- return parts.flatMap((part) => part.type === "text" ? [part.text] : []).filter((text) => typeof text === "string").join("");
17
- }
18
- function isRecord(value) {
19
- return typeof value === "object" && value !== null && !Array.isArray(value);
20
- }
21
- function getMessageRole(message) {
22
- return message.role ?? "";
23
- }
24
- function getToolKey(toolCallId, messageId, partIndex) {
25
- return `${messageId}:${partIndex}`;
26
- }
27
- function normalizeToolParameters(schema) {
28
- if (!isRecord(schema)) {
29
- return schema;
30
- }
31
- if (isRecord(schema.json) && Object.keys(schema).length === 1) {
32
- return schema.json;
33
- }
34
- return schema;
35
- }
36
- function mapMastraToolsToResponseTools(tools$1) {
37
- if (!tools$1) {
38
- return [];
39
- }
40
- return Object.values(tools$1).flatMap((tool) => {
41
- if (!isRecord(tool)) {
42
- return [];
43
- }
44
- const name = typeof tool.id === "string" ? tool.id : typeof tool.name === "string" ? tool.name : null;
45
- if (!name) {
46
- return [];
47
- }
48
- const description = typeof tool.description === "string" ? tool.description : void 0;
49
- let parameters;
50
- if (tools.isProviderDefinedTool(tool)) {
51
- const resolvedSchema = typeof tool.inputSchema === "function" ? tool.inputSchema() : tool.inputSchema;
52
- parameters = isRecord(resolvedSchema) && "jsonSchema" in resolvedSchema ? normalizeToolParameters(resolvedSchema.jsonSchema) : void 0;
53
- } else if ("inputSchema" in tool && tool.inputSchema) {
54
- parameters = normalizeToolParameters(zodToJson.zodToJsonSchema(tool.inputSchema));
55
- }
56
- return [
57
- {
58
- type: "function",
59
- name,
60
- ...description ? { description } : {},
61
- ...parameters !== void 0 ? { parameters: JSON.parse(JSON.stringify(parameters)) } : {}
62
- }
63
- ];
64
- });
65
- }
66
- function stringifyToolPayload(value) {
67
- if (typeof value === "string") {
68
- return value;
69
- }
70
- return JSON.stringify(value ?? {});
71
- }
72
- function createOutputMessage({
73
- messageId,
74
- status,
75
- text
76
- }) {
77
- const responseStatus = status === "completed" ? "completed" : "incomplete";
78
- return {
79
- id: messageId,
80
- type: "message",
81
- role: "assistant",
82
- status: responseStatus,
83
- content: [createOutputTextPart(text)]
84
- };
85
- }
86
- function createConversationMessage({
87
- messageId,
88
- role,
89
- text
90
- }) {
91
- return {
92
- id: messageId,
93
- type: "message",
94
- role,
95
- status: "completed",
96
- content: [
97
- role === "assistant" ? createOutputTextPart(text) : {
98
- type: "input_text",
99
- text
100
- }
101
- ]
102
- };
103
- }
104
- function createFunctionCallItem({
105
- itemId,
106
- callId,
107
- name,
108
- args
109
- }) {
110
- return {
111
- id: itemId,
112
- type: "function_call",
113
- call_id: callId,
114
- name,
115
- arguments: stringifyToolPayload(args),
116
- status: "completed"
117
- };
118
- }
119
- function createFunctionCallOutputItem({ itemId, callId, output }) {
120
- return {
121
- id: itemId,
122
- type: "function_call_output",
123
- call_id: callId,
124
- output: stringifyToolPayload(output)
125
- };
126
- }
127
- function collectToolResultCallIds(messages) {
128
- const toolResultCallIds = /* @__PURE__ */ new Set();
129
- for (const message of messages) {
130
- const parts = Array.isArray(message.content?.parts) ? message.content.parts : [];
131
- for (const [partIndex, part] of parts.entries()) {
132
- if (!isRecord(part) || part.type !== "tool-invocation" || !isRecord(part.toolInvocation)) {
133
- continue;
134
- }
135
- const toolInvocation = part.toolInvocation;
136
- const toolCallId = typeof toolInvocation.toolCallId === "string" ? toolInvocation.toolCallId : getToolKey(null, message.id, partIndex);
137
- if (getMessageRole(message) === "tool" && toolInvocation.result !== void 0) {
138
- toolResultCallIds.add(toolCallId);
139
- }
140
- }
141
- }
142
- return toolResultCallIds;
143
- }
144
- function mapMastraMessageToResponseToolItems({
145
- message,
146
- toolResultCallIds,
147
- emittedCallIds,
148
- emittedResultCallIds
149
- }) {
150
- const items = [];
151
- const parts = Array.isArray(message.content?.parts) ? message.content.parts : [];
152
- for (const [partIndex, part] of parts.entries()) {
153
- if (!isRecord(part) || part.type !== "tool-invocation" || !isRecord(part.toolInvocation)) {
154
- continue;
155
- }
156
- const toolInvocation = part.toolInvocation;
157
- const toolName = typeof toolInvocation.toolName === "string" ? toolInvocation.toolName : null;
158
- const toolCallId = typeof toolInvocation.toolCallId === "string" ? toolInvocation.toolCallId : getToolKey(null, message.id, partIndex);
159
- if (getMessageRole(message) === "assistant" && toolName && !emittedCallIds.has(toolCallId)) {
160
- items.push(
161
- createFunctionCallItem({
162
- itemId: `${message.id}:${partIndex}:call`,
163
- callId: toolCallId,
164
- name: toolName,
165
- args: toolInvocation.args
166
- })
167
- );
168
- emittedCallIds.add(toolCallId);
169
- }
170
- if (toolInvocation.result !== void 0 && !emittedResultCallIds.has(toolCallId) && (getMessageRole(message) === "tool" || !toolResultCallIds.has(toolCallId))) {
171
- items.push(
172
- createFunctionCallOutputItem({
173
- itemId: `${message.id}:${partIndex}:output`,
174
- callId: toolCallId,
175
- output: toolInvocation.result
176
- })
177
- );
178
- emittedResultCallIds.add(toolCallId);
179
- }
180
- }
181
- return items;
182
- }
183
- function mapMastraMessagesToConversationItems(messages) {
184
- if (!messages.length) {
185
- return [];
186
- }
187
- const items = [];
188
- const toolResultCallIds = collectToolResultCallIds(messages);
189
- const emittedCallIds = /* @__PURE__ */ new Set();
190
- const emittedResultCallIds = /* @__PURE__ */ new Set();
191
- for (const message of messages) {
192
- items.push(
193
- ...mapMastraMessageToResponseToolItems({
194
- message,
195
- toolResultCallIds,
196
- emittedCallIds,
197
- emittedResultCallIds
198
- })
199
- );
200
- const role = getMessageRole(message);
201
- const text = getMessageText(message);
202
- if ((role === "user" || role === "system" || role === "assistant") && text) {
203
- items.push(
204
- createConversationMessage({
205
- messageId: message.id,
206
- role,
207
- text
208
- })
209
- );
210
- continue;
211
- }
212
- if (role === "assistant" && !text) {
213
- const parts = Array.isArray(message.content?.parts) ? message.content.parts : [];
214
- const hasOnlyToolInvocations = parts.every(
215
- (part) => isRecord(part) && part.type === "tool-invocation" && isRecord(part.toolInvocation)
216
- );
217
- if (hasOnlyToolInvocations) {
218
- continue;
219
- }
220
- }
221
- if (role === "tool") {
222
- continue;
223
- }
224
- }
225
- return items;
226
- }
227
- function mapMastraMessagesToResponseOutputItems({
228
- messages,
229
- outputMessageId,
230
- status,
231
- fallbackText
232
- }) {
233
- if (!messages?.length) {
234
- return [createOutputMessage({ messageId: outputMessageId, status, text: fallbackText })];
235
- }
236
- const output = [];
237
- const lastAssistantIndex = [...messages].map((message) => message.role).lastIndexOf("assistant");
238
- const toolResultCallIds = collectToolResultCallIds(messages);
239
- const emittedCallIds = /* @__PURE__ */ new Set();
240
- const emittedResultCallIds = /* @__PURE__ */ new Set();
241
- for (const [messageIndex, message] of messages.entries()) {
242
- output.push(
243
- ...mapMastraMessageToResponseToolItems({
244
- message,
245
- toolResultCallIds,
246
- emittedCallIds,
247
- emittedResultCallIds
248
- })
249
- );
250
- const text = getMessageText(message);
251
- if (getMessageRole(message) === "assistant" && text) {
252
- output.push(
253
- createOutputMessage({
254
- messageId: messageIndex === lastAssistantIndex ? outputMessageId : message.id,
255
- status,
256
- text
257
- })
258
- );
259
- }
260
- }
261
- if (!output.some((item) => item.type === "message") && fallbackText) {
262
- output.push(createOutputMessage({ messageId: outputMessageId, status, text: fallbackText }));
263
- }
264
- return output;
265
- }
266
- function createMessageId() {
267
- return `msg_${crypto.randomUUID()}`;
268
- }
269
- function mapResponseInputToExecutionMessages(input) {
270
- if (typeof input === "string") {
271
- return [{ role: "user", content: input }];
272
- }
273
- return input.map((message) => ({
274
- role: message.role === "developer" ? "system" : message.role,
275
- content: normalizeMessageContent(message.content)
276
- }));
277
- }
278
- function toResponseUsage(usage) {
279
- if (!usage) {
280
- return null;
281
- }
282
- const inputTokens = usage.inputTokens ?? usage.promptTokens ?? 0;
283
- const outputTokens = usage.outputTokens ?? usage.completionTokens ?? 0;
284
- const totalTokens = usage.totalTokens ?? inputTokens + outputTokens;
285
- return {
286
- input_tokens: inputTokens,
287
- output_tokens: outputTokens,
288
- total_tokens: totalTokens,
289
- input_tokens_details: {
290
- cached_tokens: 0
291
- },
292
- output_tokens_details: {
293
- reasoning_tokens: 0
294
- }
295
- };
296
- }
297
- function toResponseStatus(finishReason) {
298
- if (finishReason === "suspended" || finishReason === "error") {
299
- return "incomplete";
300
- }
301
- return "completed";
302
- }
303
- function createOutputTextPart(text) {
304
- return {
305
- type: "output_text",
306
- text,
307
- annotations: [],
308
- logprobs: []
309
- };
310
- }
311
- function buildCompletedResponse({
312
- responseId,
313
- outputMessageId,
314
- model,
315
- createdAt,
316
- completedAt,
317
- status,
318
- text,
319
- usage,
320
- instructions,
321
- textConfig,
322
- previousResponseId,
323
- conversationId,
324
- providerOptions,
325
- tools,
326
- store,
327
- messages
328
- }) {
329
- return {
330
- id: responseId,
331
- object: "response",
332
- created_at: createdAt,
333
- completed_at: completedAt,
334
- model,
335
- status,
336
- output: mapMastraMessagesToResponseOutputItems({
337
- messages,
338
- outputMessageId,
339
- status,
340
- fallbackText: text
341
- }),
342
- usage: toResponseUsage(usage),
343
- error: null,
344
- incomplete_details: null,
345
- instructions: instructions ?? null,
346
- text: textConfig ?? null,
347
- previous_response_id: previousResponseId ?? null,
348
- conversation_id: conversationId ?? null,
349
- providerOptions,
350
- tools,
351
- store
352
- };
353
- }
354
- function buildInProgressResponse({
355
- responseId,
356
- model,
357
- createdAt,
358
- instructions,
359
- textConfig,
360
- previousResponseId,
361
- conversationId,
362
- tools,
363
- store
364
- }) {
365
- return {
366
- id: responseId,
367
- object: "response",
368
- created_at: createdAt,
369
- completed_at: null,
370
- model,
371
- status: "in_progress",
372
- output: [],
373
- usage: null,
374
- error: null,
375
- incomplete_details: null,
376
- instructions: instructions ?? null,
377
- text: textConfig ?? null,
378
- previous_response_id: previousResponseId ?? null,
379
- conversation_id: conversationId ?? null,
380
- tools: tools ?? [],
381
- store
382
- };
383
- }
384
- function mapResponseTurnRecordToResponse(match) {
385
- return {
386
- id: match.message.id,
387
- object: "response",
388
- created_at: match.metadata.createdAt,
389
- completed_at: match.metadata.completedAt,
390
- model: match.metadata.model,
391
- status: match.metadata.status,
392
- output: mapMastraMessagesToResponseOutputItems({
393
- messages: match.messages,
394
- outputMessageId: match.message.id,
395
- status: match.metadata.status,
396
- fallbackText: getMessageText(match.message)
397
- }),
398
- usage: match.metadata.usage,
399
- error: null,
400
- incomplete_details: null,
401
- instructions: match.metadata.instructions ?? null,
402
- text: match.metadata.text ?? null,
403
- previous_response_id: match.metadata.previousResponseId ?? null,
404
- conversation_id: match.thread.id,
405
- providerOptions: match.metadata.providerOptions,
406
- tools: match.metadata.tools,
407
- store: match.metadata.store
408
- };
409
- }
410
- function formatSseEvent(event, data) {
411
- return new TextEncoder().encode(`event: ${event}
412
- data: ${JSON.stringify(data)}
413
-
414
- `);
415
- }
416
- function extractTextDelta(value) {
417
- if (typeof value !== "object" || value === null || !("type" in value)) {
418
- return null;
419
- }
420
- const chunk = value;
421
- switch (chunk.type) {
422
- case "text-delta":
423
- if (typeof chunk.payload?.text === "string") {
424
- return chunk.payload.text;
425
- }
426
- if (typeof chunk.textDelta === "string") {
427
- return chunk.textDelta;
428
- }
429
- if (typeof chunk.text === "string") {
430
- return chunk.text;
431
- }
432
- return null;
433
- default:
434
- return null;
435
- }
436
- }
437
-
438
- exports.buildCompletedResponse = buildCompletedResponse;
439
- exports.buildInProgressResponse = buildInProgressResponse;
440
- exports.createMessageId = createMessageId;
441
- exports.createOutputTextPart = createOutputTextPart;
442
- exports.extractTextDelta = extractTextDelta;
443
- exports.formatSseEvent = formatSseEvent;
444
- exports.mapMastraMessagesToConversationItems = mapMastraMessagesToConversationItems;
445
- exports.mapMastraMessagesToResponseOutputItems = mapMastraMessagesToResponseOutputItems;
446
- exports.mapMastraToolsToResponseTools = mapMastraToolsToResponseTools;
447
- exports.mapResponseInputToExecutionMessages = mapResponseInputToExecutionMessages;
448
- exports.mapResponseTurnRecordToResponse = mapResponseTurnRecordToResponse;
449
- exports.toResponseStatus = toResponseStatus;
450
- exports.toResponseUsage = toResponseUsage;
451
- //# sourceMappingURL=chunk-OJ72T77G.cjs.map
452
- //# sourceMappingURL=chunk-OJ72T77G.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/server/handlers/responses.adapter.ts"],"names":["tools","isProviderDefinedTool","zodToJsonSchema","randomUUID"],"mappings":"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","file":"chunk-OJ72T77G.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { MastraDBMessage } from '@mastra/core/agent';\nimport { isProviderDefinedTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type {\n ConversationItem,\n ResponseInputMessage,\n ResponseObject,\n ResponseOutputItem,\n ResponseTextConfig,\n ResponseTool,\n} from '../schemas/responses';\nimport type { ProviderMetadataLike, ResponseTurnRecord, UsageLike } from './responses.storage';\n\nexport type ResponseExecutionMessage = {\n role: 'system' | 'user' | 'assistant';\n content: string;\n};\n\n/**\n * Flattens Responses API message content into the plain-text shape Mastra agent\n * execution expects today.\n */\nfunction normalizeMessageContent(content: ResponseInputMessage['content']): string {\n if (typeof content === 'string') {\n return content;\n }\n\n return content.map(part => part.text).join('');\n}\n\n/**\n * Extracts the human-readable text represented by a persisted Mastra message.\n */\nfunction getMessageText(message: MastraDBMessage): string {\n const parts = Array.isArray(message.content?.parts) ? message.content.parts : [];\n return parts\n .flatMap(part => (part.type === 'text' ? [part.text] : []))\n .filter((text): text is string => typeof text === 'string')\n .join('');\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction getMessageRole(message: MastraDBMessage): string {\n return (message as { role?: string }).role ?? '';\n}\n\n/**\n * Creates a stable fallback key for tool items when a tool call id is missing\n * from the stored message payload.\n */\nfunction getToolKey(toolCallId: string | null, messageId: string, partIndex: number) {\n return toolCallId ?? `${messageId}:${partIndex}`;\n}\n\n/**\n * Normalizes tool parameter schemas so the Responses API always exposes the\n * plain JSON Schema object regardless of whether the source tool came from a\n * provider-defined tool or a Mastra/Zod tool definition.\n */\nfunction normalizeToolParameters(schema: unknown): unknown {\n if (!isRecord(schema)) {\n return schema;\n }\n\n if (isRecord(schema.json) && Object.keys(schema).length === 1) {\n return schema.json;\n }\n\n return schema;\n}\n\n/**\n * Maps configured Mastra tools into Responses API tool definitions.\n */\nexport function mapMastraToolsToResponseTools(tools: Record<string, unknown> | undefined): ResponseTool[] {\n if (!tools) {\n return [];\n }\n\n return Object.values(tools).flatMap(tool => {\n if (!isRecord(tool)) {\n return [];\n }\n\n const name = typeof tool.id === 'string' ? tool.id : typeof tool.name === 'string' ? tool.name : null;\n if (!name) {\n return [];\n }\n\n const description = typeof tool.description === 'string' ? tool.description : undefined;\n\n let parameters: unknown;\n if (isProviderDefinedTool(tool)) {\n const resolvedSchema = typeof tool.inputSchema === 'function' ? tool.inputSchema() : tool.inputSchema;\n parameters =\n isRecord(resolvedSchema) && 'jsonSchema' in resolvedSchema\n ? normalizeToolParameters(resolvedSchema.jsonSchema)\n : undefined;\n } else if ('inputSchema' in tool && tool.inputSchema) {\n parameters = normalizeToolParameters(zodToJsonSchema(tool.inputSchema as never));\n }\n\n return [\n {\n type: 'function',\n name,\n ...(description ? { description } : {}),\n ...(parameters !== undefined ? { parameters: JSON.parse(JSON.stringify(parameters)) } : {}),\n } satisfies ResponseTool,\n ];\n });\n}\n\nfunction stringifyToolPayload(value: unknown) {\n if (typeof value === 'string') {\n return value;\n }\n\n return JSON.stringify(value ?? {});\n}\n\nfunction createOutputMessage({\n messageId,\n status,\n text,\n}: {\n messageId: string;\n status: ResponseObject['status'];\n text: string;\n}) {\n const responseStatus: Extract<ResponseObject['output'][number], { type: 'message' }>['status'] =\n status === 'completed' ? 'completed' : 'incomplete';\n\n return {\n id: messageId,\n type: 'message' as const,\n role: 'assistant' as const,\n status: responseStatus,\n content: [createOutputTextPart(text)],\n };\n}\n\nfunction createConversationMessage({\n messageId,\n role,\n text,\n}: {\n messageId: string;\n role: 'system' | 'user' | 'assistant';\n text: string;\n}) {\n return {\n id: messageId,\n type: 'message' as const,\n role,\n status: 'completed' as const,\n content: [\n role === 'assistant'\n ? createOutputTextPart(text)\n : {\n type: 'input_text' as const,\n text,\n },\n ],\n };\n}\n\nfunction createFunctionCallItem({\n itemId,\n callId,\n name,\n args,\n}: {\n itemId: string;\n callId: string;\n name: string;\n args: unknown;\n}) {\n return {\n id: itemId,\n type: 'function_call' as const,\n call_id: callId,\n name,\n arguments: stringifyToolPayload(args),\n status: 'completed' as const,\n };\n}\n\nfunction createFunctionCallOutputItem({ itemId, callId, output }: { itemId: string; callId: string; output: unknown }) {\n return {\n id: itemId,\n type: 'function_call_output' as const,\n call_id: callId,\n output: stringifyToolPayload(output),\n };\n}\n\ntype ResponseToolItem = Extract<ConversationItem, { type: 'function_call' | 'function_call_output' }>;\n\n/**\n * Records which tool call ids already have dedicated tool-result messages so we can\n * avoid duplicating `function_call_output` items when assistant messages echo the\n * result inline.\n */\nfunction collectToolResultCallIds(messages: MastraDBMessage[]) {\n const toolResultCallIds = new Set<string>();\n\n for (const message of messages) {\n const parts = Array.isArray(message.content?.parts) ? message.content.parts : [];\n for (const [partIndex, part] of parts.entries()) {\n if (!isRecord(part) || part.type !== 'tool-invocation' || !isRecord(part.toolInvocation)) {\n continue;\n }\n\n const toolInvocation = part.toolInvocation;\n const toolCallId =\n typeof toolInvocation.toolCallId === 'string'\n ? toolInvocation.toolCallId\n : getToolKey(null, message.id, partIndex);\n\n if (getMessageRole(message) === 'tool' && toolInvocation.result !== undefined) {\n toolResultCallIds.add(toolCallId);\n }\n }\n }\n\n return toolResultCallIds;\n}\n\n/**\n * Maps one persisted Mastra message into the tool-related Responses items that\n * it contributes to the conversation timeline.\n */\nfunction mapMastraMessageToResponseToolItems({\n message,\n toolResultCallIds,\n emittedCallIds,\n emittedResultCallIds,\n}: {\n message: MastraDBMessage;\n toolResultCallIds: Set<string>;\n emittedCallIds: Set<string>;\n emittedResultCallIds: Set<string>;\n}): ResponseToolItem[] {\n const items: ResponseToolItem[] = [];\n const parts = Array.isArray(message.content?.parts) ? message.content.parts : [];\n\n for (const [partIndex, part] of parts.entries()) {\n if (!isRecord(part) || part.type !== 'tool-invocation' || !isRecord(part.toolInvocation)) {\n continue;\n }\n\n const toolInvocation = part.toolInvocation;\n const toolName = typeof toolInvocation.toolName === 'string' ? toolInvocation.toolName : null;\n const toolCallId =\n typeof toolInvocation.toolCallId === 'string'\n ? toolInvocation.toolCallId\n : getToolKey(null, message.id, partIndex);\n\n if (getMessageRole(message) === 'assistant' && toolName && !emittedCallIds.has(toolCallId)) {\n items.push(\n createFunctionCallItem({\n itemId: `${message.id}:${partIndex}:call`,\n callId: toolCallId,\n name: toolName,\n args: toolInvocation.args,\n }),\n );\n emittedCallIds.add(toolCallId);\n }\n\n if (\n toolInvocation.result !== undefined &&\n !emittedResultCallIds.has(toolCallId) &&\n (getMessageRole(message) === 'tool' || !toolResultCallIds.has(toolCallId))\n ) {\n items.push(\n createFunctionCallOutputItem({\n itemId: `${message.id}:${partIndex}:output`,\n callId: toolCallId,\n output: toolInvocation.result,\n }),\n );\n emittedResultCallIds.add(toolCallId);\n }\n }\n\n return items;\n}\n\n/**\n * Maps Mastra thread messages into OpenAI-style conversation items.\n */\nexport function mapMastraMessagesToConversationItems(messages: MastraDBMessage[]): ConversationItem[] {\n if (!messages.length) {\n return [];\n }\n\n const items: ConversationItem[] = [];\n const toolResultCallIds = collectToolResultCallIds(messages);\n const emittedCallIds = new Set<string>();\n const emittedResultCallIds = new Set<string>();\n\n for (const message of messages) {\n items.push(\n ...mapMastraMessageToResponseToolItems({\n message,\n toolResultCallIds,\n emittedCallIds,\n emittedResultCallIds,\n }),\n );\n\n const role = getMessageRole(message);\n const text = getMessageText(message);\n\n if ((role === 'user' || role === 'system' || role === 'assistant') && text) {\n items.push(\n createConversationMessage({\n messageId: message.id,\n role,\n text,\n }),\n );\n continue;\n }\n\n if (role === 'assistant' && !text) {\n const parts = Array.isArray(message.content?.parts) ? message.content.parts : [];\n const hasOnlyToolInvocations = parts.every(\n part => isRecord(part) && part.type === 'tool-invocation' && isRecord(part.toolInvocation),\n );\n\n if (hasOnlyToolInvocations) {\n continue;\n }\n }\n\n if (role === 'tool') {\n continue;\n }\n }\n\n return items;\n}\n\n/**\n * Maps the stored Mastra messages for one response turn back into OpenAI-style\n * `response.output` items, preserving tool/message ordering from the thread.\n */\nexport function mapMastraMessagesToResponseOutputItems({\n messages,\n outputMessageId,\n status,\n fallbackText,\n}: {\n messages: MastraDBMessage[] | undefined;\n outputMessageId: string;\n status: ResponseObject['status'];\n fallbackText: string;\n}): ResponseOutputItem[] {\n if (!messages?.length) {\n return [createOutputMessage({ messageId: outputMessageId, status, text: fallbackText })];\n }\n\n const output: ResponseOutputItem[] = [];\n const lastAssistantIndex = [...messages].map(message => message.role).lastIndexOf('assistant');\n const toolResultCallIds = collectToolResultCallIds(messages);\n const emittedCallIds = new Set<string>();\n const emittedResultCallIds = new Set<string>();\n\n for (const [messageIndex, message] of messages.entries()) {\n output.push(\n ...mapMastraMessageToResponseToolItems({\n message,\n toolResultCallIds,\n emittedCallIds,\n emittedResultCallIds,\n }),\n );\n\n const text = getMessageText(message);\n if (getMessageRole(message) === 'assistant' && text) {\n output.push(\n createOutputMessage({\n messageId: messageIndex === lastAssistantIndex ? outputMessageId : message.id,\n status,\n text,\n }),\n );\n }\n }\n\n if (!output.some(item => item.type === 'message') && fallbackText) {\n output.push(createOutputMessage({ messageId: outputMessageId, status, text: fallbackText }));\n }\n\n return output;\n}\n\n/**\n * Creates a stable assistant-message-backed response identifier.\n */\nexport function createMessageId() {\n return `msg_${randomUUID()}`;\n}\n\n/**\n * Maps Responses API input into the plain execution messages Mastra agents expect.\n */\nexport function mapResponseInputToExecutionMessages(\n input: ResponseInputMessage[] | string,\n): ResponseExecutionMessage[] {\n if (typeof input === 'string') {\n return [{ role: 'user', content: input }];\n }\n\n return input.map(message => ({\n role: message.role === 'developer' ? 'system' : message.role,\n content: normalizeMessageContent(message.content),\n }));\n}\n\n/**\n * Converts usage details to the Responses API usage shape.\n */\nexport function toResponseUsage(usage: UsageLike): ResponseObject['usage'] {\n if (!usage) {\n return null;\n }\n\n const inputTokens = usage.inputTokens ?? usage.promptTokens ?? 0;\n const outputTokens = usage.outputTokens ?? usage.completionTokens ?? 0;\n const totalTokens = usage.totalTokens ?? inputTokens + outputTokens;\n\n return {\n input_tokens: inputTokens,\n output_tokens: outputTokens,\n total_tokens: totalTokens,\n input_tokens_details: {\n cached_tokens: 0,\n },\n output_tokens_details: {\n reasoning_tokens: 0,\n },\n };\n}\n\n/**\n * Maps model finish reasons onto the Responses API status field.\n */\nexport function toResponseStatus(finishReason: string | undefined): ResponseObject['status'] {\n if (finishReason === 'suspended' || finishReason === 'error') {\n return 'incomplete';\n }\n\n return 'completed';\n}\n\n/**\n * Formats a text response part using the OpenAI-compatible Responses shape.\n */\nexport function createOutputTextPart(text: string) {\n return {\n type: 'output_text' as const,\n text,\n annotations: [] as unknown[],\n logprobs: [] as unknown[],\n };\n}\n\n/**\n * Builds a completed Responses API object from Mastra execution state.\n */\nexport function buildCompletedResponse({\n responseId,\n outputMessageId,\n model,\n createdAt,\n completedAt,\n status,\n text,\n usage,\n instructions,\n textConfig,\n previousResponseId,\n conversationId,\n providerOptions,\n tools,\n store,\n messages,\n}: {\n responseId: string;\n outputMessageId: string;\n model: string;\n createdAt: number;\n completedAt: number | null;\n status: ResponseObject['status'];\n text: string;\n usage: UsageLike;\n instructions?: string;\n textConfig?: ResponseTextConfig;\n previousResponseId?: string;\n conversationId?: string;\n providerOptions?: ProviderMetadataLike;\n tools: ResponseTool[];\n store: boolean;\n messages?: MastraDBMessage[];\n}): ResponseObject {\n return {\n id: responseId,\n object: 'response',\n created_at: createdAt,\n completed_at: completedAt,\n model,\n status,\n output: mapMastraMessagesToResponseOutputItems({\n messages,\n outputMessageId,\n status,\n fallbackText: text,\n }),\n usage: toResponseUsage(usage),\n error: null,\n incomplete_details: null,\n instructions: instructions ?? null,\n text: textConfig ?? null,\n previous_response_id: previousResponseId ?? null,\n conversation_id: conversationId ?? null,\n providerOptions,\n tools,\n store,\n };\n}\n\n/**\n * Builds the initial in-progress Responses API object emitted at stream start.\n */\nexport function buildInProgressResponse({\n responseId,\n model,\n createdAt,\n instructions,\n textConfig,\n previousResponseId,\n conversationId,\n tools,\n store,\n}: {\n responseId: string;\n model: string;\n createdAt: number;\n instructions?: string;\n textConfig?: ResponseTextConfig;\n previousResponseId?: string;\n conversationId?: string;\n store: boolean;\n tools?: ResponseTool[];\n}): ResponseObject {\n return {\n id: responseId,\n object: 'response',\n created_at: createdAt,\n completed_at: null,\n model,\n status: 'in_progress',\n output: [],\n usage: null,\n error: null,\n incomplete_details: null,\n instructions: instructions ?? null,\n text: textConfig ?? null,\n previous_response_id: previousResponseId ?? null,\n conversation_id: conversationId ?? null,\n tools: tools ?? [],\n store,\n };\n}\n\n/**\n * Reconstructs a Responses API object from a stored response-turn record.\n */\nexport function mapResponseTurnRecordToResponse(match: ResponseTurnRecord): ResponseObject {\n return {\n id: match.message.id,\n object: 'response',\n created_at: match.metadata.createdAt,\n completed_at: match.metadata.completedAt,\n model: match.metadata.model,\n status: match.metadata.status,\n output: mapMastraMessagesToResponseOutputItems({\n messages: match.messages,\n outputMessageId: match.message.id,\n status: match.metadata.status,\n fallbackText: getMessageText(match.message),\n }),\n usage: match.metadata.usage,\n error: null,\n incomplete_details: null,\n instructions: match.metadata.instructions ?? null,\n text: match.metadata.text ?? null,\n previous_response_id: match.metadata.previousResponseId ?? null,\n conversation_id: match.thread.id,\n providerOptions: match.metadata.providerOptions,\n tools: match.metadata.tools,\n store: match.metadata.store,\n };\n}\n\n/**\n * Formats an SSE event line for the streaming Responses route.\n */\nexport function formatSseEvent(event: string, data: unknown): Uint8Array {\n return new TextEncoder().encode(`event: ${event}\\ndata: ${JSON.stringify(data)}\\n\\n`);\n}\n\n/**\n * Extracts text deltas from the Mastra stream chunk variants used by the route.\n */\nexport function extractTextDelta(value: unknown): string | null {\n if (typeof value !== 'object' || value === null || !('type' in value)) {\n return null;\n }\n\n const chunk = value as { type: string; payload?: { text?: string }; textDelta?: string; text?: string };\n\n switch (chunk.type) {\n case 'text-delta':\n if (typeof chunk.payload?.text === 'string') {\n return chunk.payload.text;\n }\n\n if (typeof chunk.textDelta === 'string') {\n return chunk.textDelta;\n }\n\n if (typeof chunk.text === 'string') {\n return chunk.text;\n }\n\n return null;\n default:\n return null;\n }\n}\n"]}