@mastra/server 1.80.0-alpha.3 → 1.80.0-alpha.4

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 (475) hide show
  1. package/dist/_types/@internal_core/dist/storage/index.d.ts +0 -12
  2. package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/request-context/index.d.ts +0 -2
  3. package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/routes/index.d.ts +0 -2
  4. package/dist/_types/@internal_voice/dist/_types/@internal_core/dist/types/index.d.ts +0 -2
  5. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +65 -13
  6. package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-v6/dist/index.d.ts +110 -35
  7. package/dist/{a2a-DKGBctKT.js → a2a-B2K45wEY.js} +13 -21
  8. package/dist/{a2a-DKGBctKT.js.map → a2a-B2K45wEY.js.map} +1 -1
  9. package/dist/{a2a-BKtK_s5o.cjs → a2a-BUOtgjP-.cjs} +14 -22
  10. package/dist/{a2a-BKtK_s5o.cjs.map → a2a-BUOtgjP-.cjs.map} +1 -1
  11. package/dist/{a2a-CBl-c-lm.cjs → a2a-BsBYrosr.cjs} +2 -3
  12. package/dist/{a2a-CBl-c-lm.cjs.map → a2a-BsBYrosr.cjs.map} +1 -1
  13. package/dist/{a2a-BS0gTQk3.js → a2a-C3ClP3C2.js} +2 -3
  14. package/dist/{a2a-BS0gTQk3.js.map → a2a-C3ClP3C2.js.map} +1 -1
  15. package/dist/{agent-builder-DDYdQvlQ.cjs → agent-builder-9-GSvpgR.cjs} +3 -4
  16. package/dist/{agent-builder-DDYdQvlQ.cjs.map → agent-builder-9-GSvpgR.cjs.map} +1 -1
  17. package/dist/{agent-builder-C-U5USc5.js → agent-builder-BEhoRLS_.js} +12 -13
  18. package/dist/{agent-builder-C-U5USc5.js.map → agent-builder-BEhoRLS_.js.map} +1 -1
  19. package/dist/{agent-builder-us2nwcWc.cjs → agent-builder-CTHPsm8d.cjs} +12 -13
  20. package/dist/{agent-builder-us2nwcWc.cjs.map → agent-builder-CTHPsm8d.cjs.map} +1 -1
  21. package/dist/{agent-builder-B8kc4OBs.js → agent-builder-Cr-52Ulb.js} +3 -4
  22. package/dist/{agent-builder-B8kc4OBs.js.map → agent-builder-Cr-52Ulb.js.map} +1 -1
  23. package/dist/{agent-versions-CzXJWn1T.cjs → agent-versions-De5bRBaa.cjs} +5 -6
  24. package/dist/{agent-versions-CzXJWn1T.cjs.map → agent-versions-De5bRBaa.cjs.map} +1 -1
  25. package/dist/{agent-versions-W600H1ME.js → agent-versions-Pa-ABszp.js} +5 -6
  26. package/dist/{agent-versions-W600H1ME.js.map → agent-versions-Pa-ABszp.js.map} +1 -1
  27. package/dist/{agents-D1-fgNeb.js → agents-A-ahR0eQ.js} +5 -6
  28. package/dist/{agents-D1-fgNeb.js.map → agents-A-ahR0eQ.js.map} +1 -1
  29. package/dist/{agents-BYE5Dmfk.js → agents-DSZgApzs.js} +12 -13
  30. package/dist/{agents-BYE5Dmfk.js.map → agents-DSZgApzs.js.map} +1 -1
  31. package/dist/{agents-AyHEkc2F.cjs → agents-I0TVb_TM.cjs} +13 -14
  32. package/dist/{agents-AyHEkc2F.cjs.map → agents-I0TVb_TM.cjs.map} +1 -1
  33. package/dist/{agents-B1EiIdRs.cjs → agents-vFpMvK3w.cjs} +5 -6
  34. package/dist/{agents-B1EiIdRs.cjs.map → agents-vFpMvK3w.cjs.map} +1 -1
  35. package/dist/{api-schema-manifest-BaF6TE9d.cjs → api-schema-manifest-DCuGBEO0.cjs} +5 -6
  36. package/dist/{api-schema-manifest-BaF6TE9d.cjs.map → api-schema-manifest-DCuGBEO0.cjs.map} +1 -1
  37. package/dist/{api-schema-manifest-A066IsPX.js → api-schema-manifest-j2xurBb0.js} +4 -5
  38. package/dist/{api-schema-manifest-A066IsPX.js.map → api-schema-manifest-j2xurBb0.js.map} +1 -1
  39. package/dist/{auth-B8fQdEg-.cjs → auth-CM5AgF9l.cjs} +2 -3
  40. package/dist/{auth-B8fQdEg-.cjs.map → auth-CM5AgF9l.cjs.map} +1 -1
  41. package/dist/{auth-CZFXpwba.js → auth-CjT_a76k.js} +2 -3
  42. package/dist/{auth-CZFXpwba.js.map → auth-CjT_a76k.js.map} +1 -1
  43. package/dist/{background-tasks-B3VAKTJh.cjs → background-tasks-BMVUFtVh.cjs} +7 -9
  44. package/dist/{background-tasks-B3VAKTJh.cjs.map → background-tasks-BMVUFtVh.cjs.map} +1 -1
  45. package/dist/{background-tasks-Du2zYOPl.js → background-tasks-CFkXHgyQ.js} +7 -9
  46. package/dist/{background-tasks-Du2zYOPl.js.map → background-tasks-CFkXHgyQ.js.map} +1 -1
  47. package/dist/{builder-registry-DLdu9bWH.js → builder-registry-CtGv0Gj6.js} +7 -9
  48. package/dist/{builder-registry-DLdu9bWH.js.map → builder-registry-CtGv0Gj6.js.map} +1 -1
  49. package/dist/{builder-registry-DaFAaMTf.cjs → builder-registry-DWusXgse.cjs} +7 -9
  50. package/dist/{builder-registry-DaFAaMTf.cjs.map → builder-registry-DWusXgse.cjs.map} +1 -1
  51. package/dist/{channels-BnVRmnzK.cjs → channels-EqvuQQbv.cjs} +6 -8
  52. package/dist/{channels-BnVRmnzK.cjs.map → channels-EqvuQQbv.cjs.map} +1 -1
  53. package/dist/{channels-Db-4pXVZ.js → channels-LNR2QIkc.js} +6 -8
  54. package/dist/{channels-Db-4pXVZ.js.map → channels-LNR2QIkc.js.map} +1 -1
  55. package/dist/{common-DhKNoXGp.cjs → common-DVZqSEhZ.cjs} +2 -3
  56. package/dist/{common-DhKNoXGp.cjs.map → common-DVZqSEhZ.cjs.map} +1 -1
  57. package/dist/{common-Y30XtCyr.js → common-xUmaFUop.js} +2 -3
  58. package/dist/{common-Y30XtCyr.js.map → common-xUmaFUop.js.map} +1 -1
  59. package/dist/{constants-e7aaPCLj.cjs → constants-Co1XjPjd.cjs} +2 -3
  60. package/dist/{constants-e7aaPCLj.cjs.map → constants-Co1XjPjd.cjs.map} +1 -1
  61. package/dist/{constants-DazK_RZj.js → constants-ohUUT3Vg.js} +2 -3
  62. package/dist/{constants-DazK_RZj.js.map → constants-ohUUT3Vg.js.map} +1 -1
  63. package/dist/{conversations-DasqEDCF.cjs → conversations-BPQNrv5g.cjs} +5 -6
  64. package/dist/{conversations-DasqEDCF.cjs.map → conversations-BPQNrv5g.cjs.map} +1 -1
  65. package/dist/{conversations-DzuWI3w-.cjs → conversations-BSYZlASE.cjs} +8 -9
  66. package/dist/{conversations-DzuWI3w-.cjs.map → conversations-BSYZlASE.cjs.map} +1 -1
  67. package/dist/{conversations-D-ew5IXn.js → conversations-BfBS1UwQ.js} +8 -9
  68. package/dist/{conversations-D-ew5IXn.js.map → conversations-BfBS1UwQ.js.map} +1 -1
  69. package/dist/{conversations-BzBHVFYe.js → conversations-nNko6-H4.js} +4 -5
  70. package/dist/{conversations-BzBHVFYe.js.map → conversations-nNko6-H4.js.map} +1 -1
  71. package/dist/{datasets-Cgtczd13.cjs → datasets-BP2O5CSR.cjs} +3 -4
  72. package/dist/{datasets-Cgtczd13.cjs.map → datasets-BP2O5CSR.cjs.map} +1 -1
  73. package/dist/{datasets-FRp69Mwv.js → datasets-hLmYapTk.js} +3 -4
  74. package/dist/{datasets-FRp69Mwv.js.map → datasets-hLmYapTk.js.map} +1 -1
  75. package/dist/{default-options-C7tykjLq.cjs → default-options-DRN81WEQ.cjs} +2 -3
  76. package/dist/{default-options-C7tykjLq.cjs.map → default-options-DRN81WEQ.cjs.map} +1 -1
  77. package/dist/{default-options-oSlrqpuP.js → default-options-Dir6CKnE.js} +2 -3
  78. package/dist/{default-options-oSlrqpuP.js.map → default-options-Dir6CKnE.js.map} +1 -1
  79. package/dist/{dist-lT2rqyY9.cjs → dist-36GZrEvk.cjs} +4 -5
  80. package/dist/{dist-lT2rqyY9.cjs.map → dist-36GZrEvk.cjs.map} +1 -1
  81. package/dist/{dist-CeTLA-e5.cjs → dist-BZGewCGq.cjs} +6 -10
  82. package/dist/{dist-CeTLA-e5.cjs.map → dist-BZGewCGq.cjs.map} +1 -1
  83. package/dist/{dist-Bo3GdQwf.cjs → dist-Bal15xNO.cjs} +5 -7
  84. package/dist/{dist-Bo3GdQwf.cjs.map → dist-Bal15xNO.cjs.map} +1 -1
  85. package/dist/{dist-DjkPkAzV.js → dist-CNjm6d2Q.js} +5 -8
  86. package/dist/{dist-DjkPkAzV.js.map → dist-CNjm6d2Q.js.map} +1 -1
  87. package/dist/{dist-DLld1qjf.js → dist-CVoi_Dov.js} +3 -4
  88. package/dist/{dist-DLld1qjf.js.map → dist-CVoi_Dov.js.map} +1 -1
  89. package/dist/{dist-CukR8zi9.cjs → dist-Cci9RRWj.cjs} +1518 -667
  90. package/dist/dist-Cci9RRWj.cjs.map +1 -0
  91. package/dist/{dist-DsrJXwic.cjs → dist-D02J6PZG.cjs} +4 -5
  92. package/dist/{dist-DsrJXwic.cjs.map → dist-D02J6PZG.cjs.map} +1 -1
  93. package/dist/{dist-CREG82cy.js → dist-DC9qnRcv.js} +3 -4
  94. package/dist/{dist-CREG82cy.js.map → dist-DC9qnRcv.js.map} +1 -1
  95. package/dist/dist-DJ3281Ve.cjs +3 -0
  96. package/dist/{dist-BIrQLUV9.js → dist-Dc0g0QSi.js} +4 -6
  97. package/dist/{dist-BIrQLUV9.js.map → dist-Dc0g0QSi.js.map} +1 -1
  98. package/dist/{dist-BBOnrL_A.js → dist-Dwfkbwzg.js} +3 -4
  99. package/dist/{dist-BBOnrL_A.js.map → dist-Dwfkbwzg.js.map} +1 -1
  100. package/dist/{dist-5TAg2f91.js → dist-bAoX6ick.js} +1512 -660
  101. package/dist/dist-bAoX6ick.js.map +1 -0
  102. package/dist/{dist-B9ery9Zw.cjs → dist-lG-fYW7-.cjs} +4 -5
  103. package/dist/{dist-B9ery9Zw.cjs.map → dist-lG-fYW7-.cjs.map} +1 -1
  104. package/dist/dist-t_05BTrR.js +1 -0
  105. package/dist/docs/SKILL.md +1 -1
  106. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  107. package/dist/docs/references/docs-server-custom-adapters.md +53 -1
  108. package/dist/docs/references/docs-server-custom-api-routes.md +2 -0
  109. package/dist/{dynamic-workflows-HwPX3mcf.cjs → dynamic-workflows-CpCkqM1g.cjs} +6 -8
  110. package/dist/{dynamic-workflows-HwPX3mcf.cjs.map → dynamic-workflows-CpCkqM1g.cjs.map} +1 -1
  111. package/dist/{dynamic-workflows-CTUO0SFu.js → dynamic-workflows-DDauBnDt.js} +6 -8
  112. package/dist/{dynamic-workflows-CTUO0SFu.js.map → dynamic-workflows-DDauBnDt.js.map} +1 -1
  113. package/dist/{editor-builder-BSBHrTzY.cjs → editor-builder-8li-nXor.cjs} +3 -4
  114. package/dist/{editor-builder-BSBHrTzY.cjs.map → editor-builder-8li-nXor.cjs.map} +1 -1
  115. package/dist/{editor-builder-DCrTMwA4.js → editor-builder-BCZy1ZH1.js} +3 -4
  116. package/dist/{editor-builder-DCrTMwA4.js.map → editor-builder-BCZy1ZH1.js.map} +1 -1
  117. package/dist/{editor-builder-Bibw1X4q.cjs → editor-builder-BXT6F3Hl.cjs} +7 -9
  118. package/dist/{editor-builder-Bibw1X4q.cjs.map → editor-builder-BXT6F3Hl.cjs.map} +1 -1
  119. package/dist/{editor-builder-Dq03QZzH.js → editor-builder-Bywazgj1.js} +7 -9
  120. package/dist/{editor-builder-Dq03QZzH.js.map → editor-builder-Bywazgj1.js.map} +1 -1
  121. package/dist/{favorites-DWDyKxts.js → favorites-8aieznq3.js} +2 -3
  122. package/dist/{favorites-DWDyKxts.js.map → favorites-8aieznq3.js.map} +1 -1
  123. package/dist/{favorites-D1-AzGsK.cjs → favorites-D0CoxxQn.cjs} +2 -3
  124. package/dist/{favorites-D1-AzGsK.cjs.map → favorites-D0CoxxQn.cjs.map} +1 -1
  125. package/dist/{helpers-CewFtCva.cjs → helpers-CE1fJdLM.cjs} +6 -9
  126. package/dist/{helpers-CewFtCva.cjs.map → helpers-CE1fJdLM.cjs.map} +1 -1
  127. package/dist/{helpers-CxSa9O3X.js → helpers-CMCXsowL.js} +6 -9
  128. package/dist/{helpers-CxSa9O3X.js.map → helpers-CMCXsowL.js.map} +1 -1
  129. package/dist/{http-exception-CKDHupKw.cjs → http-exception-Co3MbFUf.cjs} +2 -3
  130. package/dist/{http-exception-CKDHupKw.cjs.map → http-exception-Co3MbFUf.cjs.map} +1 -1
  131. package/dist/{http-exception-CyfxZB6W.js → http-exception-CzaWkxMl.js} +2 -3
  132. package/dist/{http-exception-CyfxZB6W.js.map → http-exception-CzaWkxMl.js.map} +1 -1
  133. package/dist/index.cjs +2 -3
  134. package/dist/index.js +1 -2
  135. package/dist/{logs-CiSw7r0s.cjs → logs-BqHVVZBm.cjs} +7 -8
  136. package/dist/{logs-CiSw7r0s.cjs.map → logs-BqHVVZBm.cjs.map} +1 -1
  137. package/dist/{logs-CY8AGOCO.cjs → logs-CC6IycDY.cjs} +3 -4
  138. package/dist/{logs-CY8AGOCO.cjs.map → logs-CC6IycDY.cjs.map} +1 -1
  139. package/dist/{logs-CxfPk-iL.js → logs-Cbq2PiQG.js} +7 -8
  140. package/dist/{logs-CxfPk-iL.js.map → logs-Cbq2PiQG.js.map} +1 -1
  141. package/dist/{logs-Bd_xpsYw.js → logs-DpyTCDyt.js} +3 -4
  142. package/dist/{logs-Bd_xpsYw.js.map → logs-DpyTCDyt.js.map} +1 -1
  143. package/dist/{mcp-ziWVk7Ol.cjs → mcp-4iUBgZ7s.cjs} +3 -4
  144. package/dist/{mcp-ziWVk7Ol.cjs.map → mcp-4iUBgZ7s.cjs.map} +1 -1
  145. package/dist/{mcp-CWDfSu7w.js → mcp-CnV25lv0.js} +6 -7
  146. package/dist/{mcp-CWDfSu7w.js.map → mcp-CnV25lv0.js.map} +1 -1
  147. package/dist/{mcp-CWGJRqkC.cjs → mcp-DegWUDeB.cjs} +6 -7
  148. package/dist/{mcp-CWGJRqkC.cjs.map → mcp-DegWUDeB.cjs.map} +1 -1
  149. package/dist/{mcp-Drqt0GqD.js → mcp-DgdKiptb.js} +3 -4
  150. package/dist/{mcp-Drqt0GqD.js.map → mcp-DgdKiptb.js.map} +1 -1
  151. package/dist/{mcp-client-versions-DxBkzcYH.js → mcp-client-versions-B471u-DI.js} +3 -4
  152. package/dist/{mcp-client-versions-DxBkzcYH.js.map → mcp-client-versions-B471u-DI.js.map} +1 -1
  153. package/dist/{mcp-client-versions-Cq97zXiK.cjs → mcp-client-versions-HRTe5cRT.cjs} +3 -4
  154. package/dist/{mcp-client-versions-Cq97zXiK.cjs.map → mcp-client-versions-HRTe5cRT.cjs.map} +1 -1
  155. package/dist/{memory-CizEIbl1.cjs → memory-BnPGDrdg.cjs} +4 -5
  156. package/dist/{memory-CizEIbl1.cjs.map → memory-BnPGDrdg.cjs.map} +1 -1
  157. package/dist/{memory-B58Q2LgU.js → memory-CZ2ELVP0.js} +4 -5
  158. package/dist/{memory-B58Q2LgU.js.map → memory-CZ2ELVP0.js.map} +1 -1
  159. package/dist/{memory-BHtTSzvJ.js → memory-CtSwODLV.js} +7 -8
  160. package/dist/{memory-BHtTSzvJ.js.map → memory-CtSwODLV.js.map} +1 -1
  161. package/dist/{memory-CwwkVDh1.cjs → memory-dujCippo.cjs} +7 -8
  162. package/dist/{memory-CwwkVDh1.cjs.map → memory-dujCippo.cjs.map} +1 -1
  163. package/dist/{message-history-_kbQlA4r.js → message-history-BBVH-ORZ.js} +2 -3
  164. package/dist/{message-history-_kbQlA4r.js.map → message-history-BBVH-ORZ.js.map} +1 -1
  165. package/dist/{message-history-CkUYxSaS.cjs → message-history-CtELj716.cjs} +2 -3
  166. package/dist/{message-history-CkUYxSaS.cjs.map → message-history-CtELj716.cjs.map} +1 -1
  167. package/dist/{observability-Dz9jvMJ3.js → observability-65rZOqJk.js} +6 -7
  168. package/dist/{observability-Dz9jvMJ3.js.map → observability-65rZOqJk.js.map} +1 -1
  169. package/dist/{observability-C2BZQ2jU.cjs → observability-CFKSxaff.cjs} +6 -7
  170. package/dist/{observability-C2BZQ2jU.cjs.map → observability-CFKSxaff.cjs.map} +1 -1
  171. package/dist/{observability-new-endpoints-3DlTYf34.js → observability-new-endpoints-B6MRJ5Rb.js} +8 -11
  172. package/dist/observability-new-endpoints-B6MRJ5Rb.js.map +1 -0
  173. package/dist/{observability-new-endpoints-Drr7q2Dj.cjs → observability-new-endpoints-CDeHfFNP.cjs} +9 -12
  174. package/dist/observability-new-endpoints-CDeHfFNP.cjs.map +1 -0
  175. package/dist/{plans-DZAJG1Et.cjs → plans-CSLB_JKn.cjs} +8 -9
  176. package/dist/{plans-DZAJG1Et.cjs.map → plans-CSLB_JKn.cjs.map} +1 -1
  177. package/dist/{plans-CKbStbWl.js → plans-DToC_H5z.js} +8 -9
  178. package/dist/{plans-CKbStbWl.js.map → plans-DToC_H5z.js.map} +1 -1
  179. package/dist/{probe-image-size-l1uuhbob.cjs → probe-image-size-CTKFNI9H.cjs} +69 -120
  180. package/dist/probe-image-size-CTKFNI9H.cjs.map +1 -0
  181. package/dist/{probe-image-size-DBmo2MAe.js → probe-image-size-DnRk0ecb.js} +69 -120
  182. package/dist/probe-image-size-DnRk0ecb.js.map +1 -0
  183. package/dist/{processor-providers-DHvTA9AL.cjs → processor-providers-CRrcV9ra.cjs} +2 -3
  184. package/dist/{processor-providers-DHvTA9AL.cjs.map → processor-providers-CRrcV9ra.cjs.map} +1 -1
  185. package/dist/{processor-providers-DBhZC6-4.js → processor-providers-WHdDe4aA.js} +2 -3
  186. package/dist/{processor-providers-DBhZC6-4.js.map → processor-providers-WHdDe4aA.js.map} +1 -1
  187. package/dist/{processors-80HWq8nr.cjs → processors-BEut-2a-.cjs} +2 -3
  188. package/dist/{processors-80HWq8nr.cjs.map → processors-BEut-2a-.cjs.map} +1 -1
  189. package/dist/{processors-33IULT8X.js → processors-IhyRC0xH.js} +2 -3
  190. package/dist/{processors-33IULT8X.js.map → processors-IhyRC0xH.js.map} +1 -1
  191. package/dist/{prompt-block-versions-Cl3Lh4H-.cjs → prompt-block-versions-BUPyaY8g.cjs} +4 -5
  192. package/dist/{prompt-block-versions-Cl3Lh4H-.cjs.map → prompt-block-versions-BUPyaY8g.cjs.map} +1 -1
  193. package/dist/{prompt-block-versions-cfq_e1Zi.js → prompt-block-versions-D1gjBkQx.js} +4 -5
  194. package/dist/{prompt-block-versions-cfq_e1Zi.js.map → prompt-block-versions-D1gjBkQx.js.map} +1 -1
  195. package/dist/{responses-CfcIc53b.cjs → responses-CTiwnWeF.cjs} +3 -4
  196. package/dist/{responses-CfcIc53b.cjs.map → responses-CTiwnWeF.cjs.map} +1 -1
  197. package/dist/{responses-DJNJgCTg.js → responses-D-fsDRLd.js} +2 -3
  198. package/dist/{responses-DJNJgCTg.js.map → responses-D-fsDRLd.js.map} +1 -1
  199. package/dist/{responses-BubMB79l.cjs → responses-OoIIZ1g6.cjs} +8 -9
  200. package/dist/{responses-BubMB79l.cjs.map → responses-OoIIZ1g6.cjs.map} +1 -1
  201. package/dist/{responses-jiVC-1lx.js → responses-w6B0iv_t.js} +8 -9
  202. package/dist/{responses-jiVC-1lx.js.map → responses-w6B0iv_t.js.map} +1 -1
  203. package/dist/{rolldown-runtime-BwC_XMyb.cjs → rolldown-runtime-10nMEhjP.cjs} +1 -2
  204. package/dist/{rolldown-runtime-D3Hj5m0v.js → rolldown-runtime-CQI-hT2b.js} +1 -2
  205. package/dist/{route-builder-CjkWxv4E.js → route-builder-BxPrwNog.js} +6 -10
  206. package/dist/route-builder-BxPrwNog.js.map +1 -0
  207. package/dist/{route-builder-B2Qhhd7C.cjs → route-builder-CvARmqnA.cjs} +8 -12
  208. package/dist/route-builder-CvARmqnA.cjs.map +1 -0
  209. package/dist/{routes-DKV9oxFW.js → routes-CIjXlRu7.js} +59 -92
  210. package/dist/{routes-DKV9oxFW.js.map → routes-CIjXlRu7.js.map} +1 -1
  211. package/dist/{routes-jXksmX9G.cjs → routes-CtGp_lBn.cjs} +4 -7
  212. package/dist/routes-CtGp_lBn.cjs.map +1 -0
  213. package/dist/{routes-D6bDACPd.cjs → routes-KTxoRutQ.cjs} +59 -92
  214. package/dist/{routes-D6bDACPd.cjs.map → routes-KTxoRutQ.cjs.map} +1 -1
  215. package/dist/{routes-CKfXiwRc.js → routes-MRZFTKei.js} +4 -7
  216. package/dist/routes-MRZFTKei.js.map +1 -0
  217. package/dist/{rule-group-C5eydl98.js → rule-group-4pWeG61q.js} +2 -3
  218. package/dist/{rule-group-C5eydl98.js.map → rule-group-4pWeG61q.js.map} +1 -1
  219. package/dist/{rule-group-Hyn4rN52.cjs → rule-group-CIacr-Zz.cjs} +2 -3
  220. package/dist/{rule-group-Hyn4rN52.cjs.map → rule-group-CIacr-Zz.cjs.map} +1 -1
  221. package/dist/{schedules-GokZKBYg.cjs → schedules-CSkQFQwy.cjs} +6 -8
  222. package/dist/{schedules-GokZKBYg.cjs.map → schedules-CSkQFQwy.cjs.map} +1 -1
  223. package/dist/{schedules-_3zPKyqm.js → schedules-DfelziYe.js} +6 -8
  224. package/dist/{schedules-_3zPKyqm.js.map → schedules-DfelziYe.js.map} +1 -1
  225. package/dist/{schema-CzbEIyhE-BsMcj9Ws.js → schema-Bf12g7KC-DBc4NSds.js} +104 -35
  226. package/dist/schema-Bf12g7KC-DBc4NSds.js.map +1 -0
  227. package/dist/{schema-CzbEIyhE-20gGIWkz.cjs → schema-Bf12g7KC-plP4Ir6h.cjs} +105 -36
  228. package/dist/schema-Bf12g7KC-plP4Ir6h.cjs.map +1 -0
  229. package/dist/{scorer-versions-CX8RM9a6.js → scorer-versions-DIqKt2kn.js} +4 -5
  230. package/dist/{scorer-versions-CX8RM9a6.js.map → scorer-versions-DIqKt2kn.js.map} +1 -1
  231. package/dist/{scorer-versions-DeCS12ym.cjs → scorer-versions-r7C61gWf.cjs} +4 -5
  232. package/dist/{scorer-versions-DeCS12ym.cjs.map → scorer-versions-r7C61gWf.cjs.map} +1 -1
  233. package/dist/{scores-CetVKM4g.cjs → scores-Bu70OP1U.cjs} +3 -4
  234. package/dist/{scores-CetVKM4g.cjs.map → scores-Bu70OP1U.cjs.map} +1 -1
  235. package/dist/{scores-BbqFfKcy.js → scores-DZ1hftoG.js} +3 -4
  236. package/dist/{scores-BbqFfKcy.js.map → scores-DZ1hftoG.js.map} +1 -1
  237. package/dist/{scores-C8XPZcwt.cjs → scores-FzL-bpCC.cjs} +8 -9
  238. package/dist/{scores-C8XPZcwt.cjs.map → scores-FzL-bpCC.cjs.map} +1 -1
  239. package/dist/{scores-BWTo-_L5.js → scores-PdRDQNaC.js} +8 -9
  240. package/dist/{scores-BWTo-_L5.js.map → scores-PdRDQNaC.js.map} +1 -1
  241. package/dist/server/a2a/store.cjs +2 -3
  242. package/dist/server/a2a/store.js +1 -2
  243. package/dist/server/auth/index.cjs +3 -3
  244. package/dist/server/auth/index.js +2 -2
  245. package/dist/server/browser-stream/index.cjs +3 -5
  246. package/dist/server/browser-stream/index.cjs.map +1 -1
  247. package/dist/server/browser-stream/index.js +2 -4
  248. package/dist/server/browser-stream/index.js.map +1 -1
  249. package/dist/server/handlers/a2a.cjs +2 -2
  250. package/dist/server/handlers/a2a.js +1 -1
  251. package/dist/server/handlers/agent-builder.cjs +2 -2
  252. package/dist/server/handlers/agent-builder.js +1 -1
  253. package/dist/server/handlers/agent-controller.cjs +7 -8
  254. package/dist/server/handlers/agent-controller.js +6 -7
  255. package/dist/server/handlers/agent-versions.cjs +7 -8
  256. package/dist/server/handlers/agent-versions.js +6 -7
  257. package/dist/server/handlers/agents.cjs +2 -2
  258. package/dist/server/handlers/agents.js +1 -1
  259. package/dist/server/handlers/auth.cjs +7 -8
  260. package/dist/server/handlers/auth.js +6 -7
  261. package/dist/server/handlers/author-enrichment.cjs +2 -3
  262. package/dist/server/handlers/author-enrichment.js +1 -2
  263. package/dist/server/handlers/authorship.cjs +4 -5
  264. package/dist/server/handlers/authorship.js +3 -4
  265. package/dist/server/handlers/background-tasks.cjs +2 -2
  266. package/dist/server/handlers/background-tasks.js +1 -1
  267. package/dist/server/handlers/builder-registry.cjs +2 -2
  268. package/dist/server/handlers/builder-registry.js +1 -1
  269. package/dist/server/handlers/channels.cjs +2 -2
  270. package/dist/server/handlers/channels.js +1 -1
  271. package/dist/server/handlers/conversations.cjs +2 -2
  272. package/dist/server/handlers/conversations.js +1 -1
  273. package/dist/server/handlers/datasets.cjs +7 -8
  274. package/dist/server/handlers/datasets.js +6 -7
  275. package/dist/server/handlers/dynamic-workflows.cjs +2 -2
  276. package/dist/server/handlers/dynamic-workflows.js +1 -1
  277. package/dist/server/handlers/editor-builder.cjs +2 -2
  278. package/dist/server/handlers/editor-builder.js +1 -1
  279. package/dist/server/handlers/error.cjs +3 -4
  280. package/dist/server/handlers/error.js +2 -3
  281. package/dist/server/handlers/favorites-enrichment.cjs +3 -4
  282. package/dist/server/handlers/favorites-enrichment.js +2 -3
  283. package/dist/server/handlers/gateway-memory-client.cjs +2 -3
  284. package/dist/server/handlers/gateway-memory-client.js +1 -2
  285. package/dist/server/handlers/logs.cjs +2 -2
  286. package/dist/server/handlers/logs.js +1 -1
  287. package/dist/server/handlers/mcp-client-versions.cjs +6 -7
  288. package/dist/server/handlers/mcp-client-versions.js +5 -6
  289. package/dist/server/handlers/mcp.cjs +2 -2
  290. package/dist/server/handlers/mcp.js +1 -1
  291. package/dist/server/handlers/memory.cjs +2 -2
  292. package/dist/server/handlers/memory.js +1 -1
  293. package/dist/server/handlers/observability-list-query-schemas.cjs +2 -3
  294. package/dist/server/handlers/observability-list-query-schemas.js +1 -2
  295. package/dist/server/handlers/observability-new-endpoints.cjs +2 -2
  296. package/dist/server/handlers/observability-new-endpoints.js +1 -1
  297. package/dist/server/handlers/observability-shared.cjs +4 -5
  298. package/dist/server/handlers/observability-shared.js +3 -4
  299. package/dist/server/handlers/observability-storage-schemas.cjs +2 -3
  300. package/dist/server/handlers/observability-storage-schemas.js +1 -2
  301. package/dist/server/handlers/observability.cjs +3 -3
  302. package/dist/server/handlers/observability.js +2 -2
  303. package/dist/server/handlers/plans.cjs +2 -2
  304. package/dist/server/handlers/plans.js +1 -1
  305. package/dist/server/handlers/processor-providers.cjs +5 -6
  306. package/dist/server/handlers/processor-providers.js +4 -5
  307. package/dist/server/handlers/processors.cjs +5 -6
  308. package/dist/server/handlers/processors.js +4 -5
  309. package/dist/server/handlers/prompt-block-versions.cjs +6 -7
  310. package/dist/server/handlers/prompt-block-versions.js +5 -6
  311. package/dist/server/handlers/responses.adapter.cjs +2 -3
  312. package/dist/server/handlers/responses.adapter.js +1 -2
  313. package/dist/server/handlers/responses.cjs +2 -2
  314. package/dist/server/handlers/responses.js +1 -1
  315. package/dist/server/handlers/responses.storage.cjs +4 -5
  316. package/dist/server/handlers/responses.storage.js +3 -4
  317. package/dist/server/handlers/schedules-workflows-shim.cjs +2 -3
  318. package/dist/server/handlers/schedules-workflows-shim.js +1 -2
  319. package/dist/server/handlers/schedules.cjs +2 -2
  320. package/dist/server/handlers/schedules.js +1 -1
  321. package/dist/server/handlers/scorer-versions.cjs +6 -7
  322. package/dist/server/handlers/scorer-versions.js +5 -6
  323. package/dist/server/handlers/scores.cjs +2 -2
  324. package/dist/server/handlers/scores.js +1 -1
  325. package/dist/server/handlers/skills-sh-shared.cjs +3 -4
  326. package/dist/server/handlers/skills-sh-shared.js +2 -3
  327. package/dist/server/handlers/stored-agent-favorites.cjs +8 -9
  328. package/dist/server/handlers/stored-agent-favorites.js +7 -8
  329. package/dist/server/handlers/stored-agents.cjs +8 -9
  330. package/dist/server/handlers/stored-agents.js +7 -8
  331. package/dist/server/handlers/stored-mcp-clients.cjs +7 -8
  332. package/dist/server/handlers/stored-mcp-clients.js +6 -7
  333. package/dist/server/handlers/stored-prompt-blocks.cjs +7 -8
  334. package/dist/server/handlers/stored-prompt-blocks.js +6 -7
  335. package/dist/server/handlers/stored-scorers.cjs +7 -8
  336. package/dist/server/handlers/stored-scorers.js +6 -7
  337. package/dist/server/handlers/stored-skill-favorites.cjs +8 -9
  338. package/dist/server/handlers/stored-skill-favorites.js +7 -8
  339. package/dist/server/handlers/stored-skills.cjs +7 -8
  340. package/dist/server/handlers/stored-skills.js +6 -7
  341. package/dist/server/handlers/stored-workspaces.cjs +6 -7
  342. package/dist/server/handlers/stored-workspaces.js +5 -6
  343. package/dist/server/handlers/system.cjs +5 -6
  344. package/dist/server/handlers/system.js +4 -5
  345. package/dist/server/handlers/test-utils.cjs +2 -3
  346. package/dist/server/handlers/test-utils.js +1 -2
  347. package/dist/server/handlers/tool-providers.cjs +6 -7
  348. package/dist/server/handlers/tool-providers.js +5 -6
  349. package/dist/server/handlers/tool-schema-overrides.cjs +2 -3
  350. package/dist/server/handlers/tool-schema-overrides.js +1 -2
  351. package/dist/server/handlers/tools.cjs +2 -2
  352. package/dist/server/handlers/tools.js +1 -1
  353. package/dist/server/handlers/utils.cjs +2 -2
  354. package/dist/server/handlers/utils.js +1 -1
  355. package/dist/server/handlers/validate-agent-instructions.cjs +4 -5
  356. package/dist/server/handlers/validate-agent-instructions.js +3 -4
  357. package/dist/server/handlers/validate-avatar.cjs +3 -4
  358. package/dist/server/handlers/validate-avatar.js +2 -3
  359. package/dist/server/handlers/vector.cjs +2 -2
  360. package/dist/server/handlers/vector.js +1 -1
  361. package/dist/server/handlers/version-helpers.cjs +2 -3
  362. package/dist/server/handlers/version-helpers.js +1 -2
  363. package/dist/server/handlers/voice.cjs +2 -2
  364. package/dist/server/handlers/voice.js +1 -1
  365. package/dist/server/handlers/workflow-builder.cjs +2 -2
  366. package/dist/server/handlers/workflow-builder.js +1 -1
  367. package/dist/server/handlers/workflows.cjs +2 -2
  368. package/dist/server/handlers/workflows.js +1 -1
  369. package/dist/server/handlers/workspace.cjs +2 -2
  370. package/dist/server/handlers/workspace.js +1 -1
  371. package/dist/server/handlers.cjs +18 -18
  372. package/dist/server/handlers.js +17 -17
  373. package/dist/server/schemas/index.cjs +35 -35
  374. package/dist/server/schemas/index.js +34 -34
  375. package/dist/server/server-adapter/index.cjs +14 -21
  376. package/dist/server/server-adapter/index.cjs.map +1 -1
  377. package/dist/server/server-adapter/index.js +13 -20
  378. package/dist/server/server-adapter/index.js.map +1 -1
  379. package/dist/{stored-agents-BtaEzKfr.js → stored-agents-BpxMmhtz.js} +9 -11
  380. package/dist/{stored-agents-BtaEzKfr.js.map → stored-agents-BpxMmhtz.js.map} +1 -1
  381. package/dist/{stored-agents-BTL-o6aM.cjs → stored-agents-CDlh3CQQ.cjs} +9 -11
  382. package/dist/{stored-agents-BTL-o6aM.cjs.map → stored-agents-CDlh3CQQ.cjs.map} +1 -1
  383. package/dist/{stored-mcp-clients-D7bNkmTM.cjs → stored-mcp-clients-BA7OSGZ_.cjs} +3 -4
  384. package/dist/{stored-mcp-clients-D7bNkmTM.cjs.map → stored-mcp-clients-BA7OSGZ_.cjs.map} +1 -1
  385. package/dist/{stored-mcp-clients-DMR6NvCp.js → stored-mcp-clients-DtLv0Tly.js} +3 -4
  386. package/dist/{stored-mcp-clients-DMR6NvCp.js.map → stored-mcp-clients-DtLv0Tly.js.map} +1 -1
  387. package/dist/{stored-prompt-blocks-BjHxMCuC.cjs → stored-prompt-blocks-Cqi0vnTE.cjs} +4 -5
  388. package/dist/{stored-prompt-blocks-BjHxMCuC.cjs.map → stored-prompt-blocks-Cqi0vnTE.cjs.map} +1 -1
  389. package/dist/{stored-prompt-blocks-C7qmiWSB.js → stored-prompt-blocks-Z_BuhsUq.js} +4 -5
  390. package/dist/{stored-prompt-blocks-C7qmiWSB.js.map → stored-prompt-blocks-Z_BuhsUq.js.map} +1 -1
  391. package/dist/{stored-scorers-BSxh7JZX.js → stored-scorers-BdJadnUS.js} +4 -5
  392. package/dist/{stored-scorers-BSxh7JZX.js.map → stored-scorers-BdJadnUS.js.map} +1 -1
  393. package/dist/{stored-scorers-I8L1-bAI.cjs → stored-scorers-D1zYUEXg.cjs} +4 -5
  394. package/dist/{stored-scorers-I8L1-bAI.cjs.map → stored-scorers-D1zYUEXg.cjs.map} +1 -1
  395. package/dist/{stored-skills-DzW8hLnI.js → stored-skills-D8Q1NmsH.js} +3 -4
  396. package/dist/{stored-skills-DzW8hLnI.js.map → stored-skills-D8Q1NmsH.js.map} +1 -1
  397. package/dist/{stored-skills-C1e8kf2k.cjs → stored-skills-DppdzQY0.cjs} +3 -4
  398. package/dist/{stored-skills-C1e8kf2k.cjs.map → stored-skills-DppdzQY0.cjs.map} +1 -1
  399. package/dist/{stored-workspaces-DSfChCJ0.cjs → stored-workspaces-BOwJwkec.cjs} +3 -4
  400. package/dist/{stored-workspaces-DSfChCJ0.cjs.map → stored-workspaces-BOwJwkec.cjs.map} +1 -1
  401. package/dist/{stored-workspaces-AkC68rSw.js → stored-workspaces-CYXLBJy5.js} +3 -4
  402. package/dist/{stored-workspaces-AkC68rSw.js.map → stored-workspaces-CYXLBJy5.js.map} +1 -1
  403. package/dist/{system-sSSmmt7I.js → system-B8L_G4oo.js} +2 -3
  404. package/dist/{system-sSSmmt7I.js.map → system-B8L_G4oo.js.map} +1 -1
  405. package/dist/{system-B_Sod-Le.cjs → system-DGfJlOxK.cjs} +2 -3
  406. package/dist/{system-B_Sod-Le.cjs.map → system-DGfJlOxK.cjs.map} +1 -1
  407. package/dist/{tool-providers-DFQkhO4R.cjs → tool-providers-BVwRJTtB.cjs} +2 -3
  408. package/dist/{tool-providers-DFQkhO4R.cjs.map → tool-providers-BVwRJTtB.cjs.map} +1 -1
  409. package/dist/{tool-providers-CIESXi7M.js → tool-providers-Cq3vFqgE.js} +2 -3
  410. package/dist/{tool-providers-CIESXi7M.js.map → tool-providers-Cq3vFqgE.js.map} +1 -1
  411. package/dist/{tools-Ci71xxGP.cjs → tools-CottqeCZ.cjs} +12 -13
  412. package/dist/{tools-Ci71xxGP.cjs.map → tools-CottqeCZ.cjs.map} +1 -1
  413. package/dist/{tools--oMljfqq.js → tools-tMPXGAUO.js} +11 -12
  414. package/dist/{tools--oMljfqq.js.map → tools-tMPXGAUO.js.map} +1 -1
  415. package/dist/{utils-dDLIDg8O.cjs → utils-1UlUJRyC.cjs} +6 -8
  416. package/dist/{utils-dDLIDg8O.cjs.map → utils-1UlUJRyC.cjs.map} +1 -1
  417. package/dist/{utils-CF76qzZR.cjs → utils-BnH77wPf.cjs} +107 -81
  418. package/dist/utils-BnH77wPf.cjs.map +1 -0
  419. package/dist/{utils-BBJlS81s.js → utils-DEwjGOpJ.js} +5 -7
  420. package/dist/{utils-BBJlS81s.js.map → utils-DEwjGOpJ.js.map} +1 -1
  421. package/dist/{utils-aoLN3Wfi.js → utils-YEuwVEc2.js} +104 -78
  422. package/dist/utils-YEuwVEc2.js.map +1 -0
  423. package/dist/{vector-TWv4t-4g.js → vector-Deod39jt.js} +6 -7
  424. package/dist/{vector-TWv4t-4g.js.map → vector-Deod39jt.js.map} +1 -1
  425. package/dist/{vector-BKDD1kwc.cjs → vector-IxK1t4Cb.cjs} +6 -7
  426. package/dist/{vector-BKDD1kwc.cjs.map → vector-IxK1t4Cb.cjs.map} +1 -1
  427. package/dist/{vectors-LFI1jch0.cjs → vectors-CqV387sY.cjs} +3 -4
  428. package/dist/{vectors-LFI1jch0.cjs.map → vectors-CqV387sY.cjs.map} +1 -1
  429. package/dist/{vectors-CJtupgIF.js → vectors-CvHLWqjC.js} +3 -4
  430. package/dist/{vectors-CJtupgIF.js.map → vectors-CvHLWqjC.js.map} +1 -1
  431. package/dist/{version-common-DrzXq7Ct.cjs → version-common-B2n_ML_w.cjs} +3 -4
  432. package/dist/{version-common-DrzXq7Ct.cjs.map → version-common-B2n_ML_w.cjs.map} +1 -1
  433. package/dist/{version-common-4xFzvCS5.js → version-common-Di2U8VWH.js} +3 -4
  434. package/dist/{version-common-4xFzvCS5.js.map → version-common-Di2U8VWH.js.map} +1 -1
  435. package/dist/{voice-BnGwlZ75.cjs → voice-CBbxcsCM.cjs} +4 -5
  436. package/dist/{voice-BnGwlZ75.cjs.map → voice-CBbxcsCM.cjs.map} +1 -1
  437. package/dist/{voice-DjG8tBAD.js → voice-CzFWhWPJ.js} +4 -5
  438. package/dist/{voice-DjG8tBAD.js.map → voice-CzFWhWPJ.js.map} +1 -1
  439. package/dist/{workflow-builder-BoI-XXsT.js → workflow-builder-BcVfkods.js} +8 -10
  440. package/dist/{workflow-builder-BoI-XXsT.js.map → workflow-builder-BcVfkods.js.map} +1 -1
  441. package/dist/{workflow-builder-Dguv4rc0.cjs → workflow-builder-CJEajbkw.cjs} +8 -10
  442. package/dist/{workflow-builder-Dguv4rc0.cjs.map → workflow-builder-CJEajbkw.cjs.map} +1 -1
  443. package/dist/{workflows-D7Oq5On9.js → workflows-BjLruwQB.js} +10 -11
  444. package/dist/{workflows-D7Oq5On9.js.map → workflows-BjLruwQB.js.map} +1 -1
  445. package/dist/{workflows-Dcx4Ib0t.js → workflows-C9BMJV_C.js} +3 -4
  446. package/dist/{workflows-Dcx4Ib0t.js.map → workflows-C9BMJV_C.js.map} +1 -1
  447. package/dist/{workflows-5AytZqK_.cjs → workflows-CxPsDCnW.cjs} +10 -11
  448. package/dist/{workflows-5AytZqK_.cjs.map → workflows-CxPsDCnW.cjs.map} +1 -1
  449. package/dist/{workflows-C8rDpHyY.cjs → workflows-SYBpQupF.cjs} +3 -4
  450. package/dist/{workflows-C8rDpHyY.cjs.map → workflows-SYBpQupF.cjs.map} +1 -1
  451. package/dist/{workspace-BVHXoKmP.js → workspace-C9dE6D1U.js} +6 -7
  452. package/dist/{workspace-BVHXoKmP.js.map → workspace-C9dE6D1U.js.map} +1 -1
  453. package/dist/{workspace-d25MZ9dj.cjs → workspace-CyH_iu8w.cjs} +6 -7
  454. package/dist/{workspace-d25MZ9dj.cjs.map → workspace-CyH_iu8w.cjs.map} +1 -1
  455. package/dist/{workspace-BJYV2lkt.cjs → workspace-KeHGZvNV.cjs} +2 -3
  456. package/dist/{workspace-BJYV2lkt.cjs.map → workspace-KeHGZvNV.cjs.map} +1 -1
  457. package/dist/{workspace-4dBGFdV2.js → workspace-muaSMxVS.js} +2 -3
  458. package/dist/{workspace-4dBGFdV2.js.map → workspace-muaSMxVS.js.map} +1 -1
  459. package/package.json +10 -10
  460. package/dist/dist-5TAg2f91.js.map +0 -1
  461. package/dist/dist-C9Jwt1f0.cjs +0 -3
  462. package/dist/dist-CukR8zi9.cjs.map +0 -1
  463. package/dist/dist-Dgae8Imb.js +0 -1
  464. package/dist/observability-new-endpoints-3DlTYf34.js.map +0 -1
  465. package/dist/observability-new-endpoints-Drr7q2Dj.cjs.map +0 -1
  466. package/dist/probe-image-size-DBmo2MAe.js.map +0 -1
  467. package/dist/probe-image-size-l1uuhbob.cjs.map +0 -1
  468. package/dist/route-builder-B2Qhhd7C.cjs.map +0 -1
  469. package/dist/route-builder-CjkWxv4E.js.map +0 -1
  470. package/dist/routes-CKfXiwRc.js.map +0 -1
  471. package/dist/routes-jXksmX9G.cjs.map +0 -1
  472. package/dist/schema-CzbEIyhE-20gGIWkz.cjs.map +0 -1
  473. package/dist/schema-CzbEIyhE-BsMcj9Ws.js.map +0 -1
  474. package/dist/utils-CF76qzZR.cjs.map +0 -1
  475. package/dist/utils-aoLN3Wfi.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"responses-BubMB79l.cjs","names":["HTTPException","getEffectiveThreadId","getEffectiveResourceId","enforceThreadAccess","getAgentFromSystem","getAgentMemoryStore","toResponseStatus","toResponseUsage","persistResponseTurnRecord","resolveResponseTurnMessagesForStorage","buildCompletedResponse","mapResponseInputToExecutionMessages","findResponseTurnRecord","findResponseTurnRecordAcrossAgents","mapMastraToolsToResponseTools","createMessageId","buildInProgressResponse","formatSseEvent","createResponseStreamEventTranslator","createOutputTextPart","createRoute","createResponseBodySchema","responseObjectSchema","MastraFGAPermissions","handleError","responseIdPathParams","mapResponseTurnRecordToResponse","deleteResponseSchema","deleteResponseTurnRecord"],"sources":["../src/server/handlers/responses.ts"],"sourcesContent":["import 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 = globalThis.crypto.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"],"mappings":"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"}
1
+ {"version":3,"file":"responses-OoIIZ1g6.cjs","names":["HTTPException","getEffectiveThreadId","getEffectiveResourceId","enforceThreadAccess","getAgentFromSystem","getAgentMemoryStore","toResponseStatus","toResponseUsage","persistResponseTurnRecord","resolveResponseTurnMessagesForStorage","buildCompletedResponse","mapResponseInputToExecutionMessages","findResponseTurnRecord","findResponseTurnRecordAcrossAgents","mapMastraToolsToResponseTools","createMessageId","buildInProgressResponse","formatSseEvent","createResponseStreamEventTranslator","createOutputTextPart","createRoute","createResponseBodySchema","responseObjectSchema","MastraFGAPermissions","handleError","responseIdPathParams","mapResponseTurnRecordToResponse","deleteResponseSchema","deleteResponseTurnRecord"],"sources":["../src/server/handlers/responses.ts"],"sourcesContent":["import 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 = globalThis.crypto.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"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { r as __exportAll } from "./rolldown-runtime-D3Hj5m0v.js";
2
- import { t as HTTPException } from "./http-exception-CyfxZB6W.js";
3
- import { n as createRoute } from "./route-builder-CjkWxv4E.js";
1
+ import { r as __exportAll } from "./rolldown-runtime-CQI-hT2b.js";
2
+ import { t as HTTPException } from "./http-exception-CzaWkxMl.js";
3
+ import { n as createRoute } from "./route-builder-BxPrwNog.js";
4
4
  import { handleError } from "./server/handlers/error.js";
5
- import { a as getEffectiveThreadId, g as MastraFGAPermissions, i as getEffectiveResourceId, n as enforceThreadAccess } from "./utils-BBJlS81s.js";
6
- import { G as getAgentFromSystem } from "./agents-BYE5Dmfk.js";
7
- import { a as deleteResponseSchema, i as createResponseBodySchema, o as responseIdPathParams, u as responseObjectSchema } from "./responses-DJNJgCTg.js";
5
+ import { a as getEffectiveThreadId, g as MastraFGAPermissions, i as getEffectiveResourceId, n as enforceThreadAccess } from "./utils-DEwjGOpJ.js";
6
+ import { G as getAgentFromSystem } from "./agents-DSZgApzs.js";
7
+ import { a as deleteResponseSchema, i as createResponseBodySchema, o as responseIdPathParams, u as responseObjectSchema } from "./responses-D-fsDRLd.js";
8
8
  import { buildCompletedResponse, buildInProgressResponse, createMessageId, createOutputTextPart, createResponseStreamEventTranslator, formatSseEvent, mapMastraToolsToResponseTools, mapResponseInputToExecutionMessages, mapResponseTurnRecordToResponse, toResponseStatus, toResponseUsage } from "./server/handlers/responses.adapter.js";
9
9
  import { deleteResponseTurnRecord, findResponseTurnRecord, findResponseTurnRecordAcrossAgents, getAgentMemoryStore, persistResponseTurnRecord, resolveResponseTurnMessagesForStorage } from "./server/handlers/responses.storage.js";
10
- //#region src/server/handlers/responses.ts
10
+ // src/server/handlers/responses.ts
11
11
  var responses_exports = /* @__PURE__ */ __exportAll({
12
12
  CREATE_RESPONSE_ROUTE: () => CREATE_RESPONSE_ROUTE,
13
13
  DELETE_RESPONSE_ROUTE: () => DELETE_RESPONSE_ROUTE,
@@ -622,7 +622,6 @@ const DELETE_RESPONSE_ROUTE = createRoute({
622
622
  }
623
623
  }
624
624
  });
625
- //#endregion
626
625
  export { responses_exports as i, DELETE_RESPONSE_ROUTE as n, GET_RESPONSE_ROUTE as r, CREATE_RESPONSE_ROUTE as t };
627
626
 
628
- //# sourceMappingURL=responses-jiVC-1lx.js.map
627
+ //# sourceMappingURL=responses-w6B0iv_t.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responses-jiVC-1lx.js","names":[],"sources":["../src/server/handlers/responses.ts"],"sourcesContent":["import 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 = globalThis.crypto.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"],"mappings":"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"}
1
+ {"version":3,"file":"responses-w6B0iv_t.js","names":[],"sources":["../src/server/handlers/responses.ts"],"sourcesContent":["import 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 = globalThis.crypto.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"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- //#region \0rolldown/runtime.js
1
+ // \0rolldown/runtime.js
2
2
  var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -38,7 +38,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
38
38
  enumerable: true
39
39
  }) : target, mod));
40
40
  var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
41
- //#endregion
42
41
  Object.defineProperty(exports, "__commonJSMin", {
43
42
  enumerable: true,
44
43
  get: function() {
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from "module";
2
- //#region \0rolldown/runtime.js
2
+ // \0rolldown/runtime.js
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -40,5 +40,4 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
40
40
  }) : target, mod));
41
41
  var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
42
42
  var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
43
- //#endregion
44
43
  export { __toCommonJS as a, __require as i, __esmMin as n, __toESM as o, __exportAll as r, __commonJSMin as t };
@@ -1,10 +1,10 @@
1
- import { a as require_json_schema_traverse, n as standardSchemaToJSONSchema } from "./schema-CzbEIyhE-BsMcj9Ws.js";
1
+ import { a as require_json_schema_traverse, n as standardSchemaToJSONSchema } from "./schema-Bf12g7KC-DBc4NSds.js";
2
2
  import { ZodArray, ZodNullable, ZodObject, ZodOptional, ZodRecord, z } from "zod/v4";
3
3
  import { toStandardSchema } from "@mastra/core/schema";
4
4
  import { zodToJsonSchema } from "@mastra/core/utils/zod-to-json";
5
5
  import { ZodFirstPartyTypeKind } from "zod/v3";
6
6
  import { z as z$2 } from "zod";
7
- //#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/zod-from-json-schema/0.5.2/938b1a90632b5c19aade6e212477c764befeb6d6e1cdb7cfde7de2557cd03f99/node_modules/zod-from-json-schema/dist/index.mjs
7
+ // ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/zod-from-json-schema/0.5.2/938b1a90632b5c19aade6e212477c764befeb6d6e1cdb7cfde7de2557cd03f99/node_modules/zod-from-json-schema/dist/index.mjs
8
8
  var TypeHandler = class {
9
9
  apply(types, schema) {
10
10
  if (!schema.type) return;
@@ -560,8 +560,7 @@ function convertJsonSchemaToZod(schema) {
560
560
  for (const handler of refinementHandlers) zodSchema = handler.apply(zodSchema, schema);
561
561
  return zodSchema;
562
562
  }
563
- //#endregion
564
- //#region ../schema-compat/dist/index.js
563
+ // ../schema-compat/dist/index.js
565
564
  var marker$1 = "vercel.ai.error";
566
565
  var symbol$1 = Symbol.for(marker$1);
567
566
  var _a$1;
@@ -3785,8 +3784,7 @@ function trimStartOfStream() {
3785
3784
  };
3786
3785
  }
3787
3786
  require_json_schema_traverse();
3788
- //#endregion
3789
- //#region src/server/server-adapter/openapi-utils.ts
3787
+ // src/server/server-adapter/openapi-utils.ts
3790
3788
  function isSchemaApiRoute(route) {
3791
3789
  return "_mastraSchemaRoute" in route && route._mastraSchemaRoute === true;
3792
3790
  }
@@ -4075,8 +4073,7 @@ function convertCustomRoutesToOpenAPIPaths(routes, componentSchemas) {
4075
4073
  }
4076
4074
  return paths;
4077
4075
  }
4078
- //#endregion
4079
- //#region src/server/server-adapter/routes/route-builder.ts
4076
+ // src/server/server-adapter/routes/route-builder.ts
4080
4077
  /**
4081
4078
  * Extracts parameters matching a Zod schema's shape from a params object.
4082
4079
  * Useful for separating schema-defined params from ServerContext in handlers.
@@ -4303,7 +4300,6 @@ function createPublicRoute(config) {
4303
4300
  requiresAuth: false
4304
4301
  });
4305
4302
  }
4306
- //#endregion
4307
4303
  export { wrapSchemaForQueryParams as a, schemaToJsonSchema as c, pickParams as i, createRoute as n, convertCustomRoutesToOpenAPIPaths as o, jsonQueryParam as r, generateOpenAPIDocument as s, createPublicRoute as t };
4308
4304
 
4309
- //# sourceMappingURL=route-builder-CjkWxv4E.js.map
4305
+ //# sourceMappingURL=route-builder-BxPrwNog.js.map